Code
PUSH EBX
MOV EBX,DWORD PTR SS:[ESP+C]
PUSH ESI
MOV ESI,DWORD PTR SS:[ESP+C]
MOV EAX,DWORD PTR DS:[ESI+18]
CMP EAX,EBX
JGE 011310DB
MOV CL,AL
MOV EAX,DWORD PTR DS:[ESI+1C]
SAR DWORD PTR DS:[ESI+14],CL
CMP EAX,DWORD PTR DS:[ESI+20]
JNZ SHORT 011310AA
PUSH EBP
PUSH EDI
MOV EDI,DWORD PTR DS:[ESI+24]
MOV ECX,DWORD PTR DS:[EDI+4]
MOV EAX,DWORD PTR DS:[EDI+10]
MOV EBP,800
SUB EAX,ECX
CMP EAX,EBP
JGE SHORT 0113107A
MOV EBP,EAX
MOV EDX,DWORD PTR DS:[EDI]
PUSH EBP
ADD EDX,ECX
PUSH EDX
LEA EAX,DWORD PTR DS:[ESI+2234]
PUSH EAX
CALL 011371D0
ADD DWORD PTR DS:[EDI+4],EBP
ADD ESP,0C
POP EDI
MOV DWORD PTR DS:[ESI+20],EBP
TEST EBP,EBP
POP EBP
JNZ SHORT 011310A3
POP ESI
MOV EAX,1
POP EBX
RETN
MOV DWORD PTR DS:[ESI+1C],0
MOV ECX,DWORD PTR DS:[ESI+1C]
MOVZX EAX,BYTE PTR DS:[ECX+ESI+2234]
MOVZX EDX,BYTE PTR DS:[ESI+18]
INC ECX
SHL EAX,8
OR EAX,DWORD PTR DS:[ESI+14]
MOV DWORD PTR DS:[ESI+1C],ECX
MOV ECX,EBX
SUB ECX,EDX
SAR EAX,CL
MOV DWORD PTR DS:[ESI+14],EAX
MOV EAX,8
SUB EAX,EBX
ADD DWORD PTR DS:[ESI+18],EAX
POP ESI
XOR EAX,EAX
POP EBX
RETN
SUB EAX,EBX
MOV CL,BL
SAR DWORD PTR DS:[ESI+14],CL
MOV DWORD PTR DS:[ESI+18],EAX
POP ESI
XOR EAX,EAX
POP EBX
RETN