Function at 0x65f740
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x98cddc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x65fafd
add esp, 0xffffff80
mov edx, dword [esp + 0x84]
mov ebx, dword [edx + 4]
mov eax, dword [esp + 0x88]
cmp eax, ebx
jg 0x65fa48
xor ecx, ecx
jmp 0x65f789
mov ebx, dword [esp + 0x28]
lea ecx, [ebx + 1]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp eax, ecx
jle 0x65f916
mov ebx, dword [edx + 4]
cmp ecx, ebx
jae 0x65fa3f
mov dword [esp + 0x28], ecx
mov eax, dword [edx]
lea ebx, [ecx + ecx*4]
lea esi, [eax + ebx*4]
lea edi, [esp + 0x48]
call fcn.0047222e
mov eax, dword [edx + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x28]
sar ebx, 0x1f
mov dword [esp + 0x34], ebx
mov esi, dword [edx + 0x14]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
lea ecx, [0x6e3b20]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.0040e1c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
add edx, ecx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
adc ebx, ebp
add edx, 1
mov dword [esp + 0x2c], edx
adc ebx, 0
mov dword [esp + 0x34], ebx
cmp dword [eax], edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp dword [eax + 4], ebx
sete al
and ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x65f858
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
lea ebp, [0x6e3b20]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0040e4f0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0x84]
mov esi, dword [ebp + 0x18]
lea edi, [0x6e4480]
mov dword [esp], edi
mov dword [esp + 4], esi
lea esi, [esp + 0x60]
mov dword [esp + 8], esi
call fcn.0040c7c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
cmp dword [eax], ecx
sete cl
mov edx, dword [esp + 0x34]
cmp dword [eax + 4], edx
sete al
and eax, ecx
test al, al
je 0x65f774
mov eax, dword [esp + 0x44]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x18]
lea edx, [0x6e4480]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 8], ecx
call fcn.00467a20
jmp 0x65f774
mov ecx, dword [edx + 4]
cmp eax, ecx
ja 0x65fa3a
mov ebx, dword [edx]
mov ebp, dword [edx + 8]
lea esi, [0x70d200]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
sub ecx, eax
sub ebp, eax
lea esi, [eax + eax*4]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl esi, 2
sar ebp, 0x1f
and esi, ebp
add ebx, esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00469900
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x88]
sub ecx, edx
jmp 0x65f980
mov ebx, eax
xor eax, eax
call fcn.00471d4b
mov ecx, dword [esp + 0x24]
inc ecx
mov eax, ebx
mov ebx, dword [eax + 4]
cmp ecx, ebx
jge 0x65f9d2
jae 0x65fa31
mov dword [esp + 0x24], ecx
lea ebx, [ecx + ecx*4]
mov ebp, dword [eax]
mov esi, dword [0x98d0b8]
lea edi, [ebp + ebx*4]
test esi, esi
je 0x65f970
mov dword [esp + 0x5c], edi
lea eax, [0x70d200]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0040eb70
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x5c]
jmp 0x65f970
sub ebx, edx
mov ebp, dword [eax + 8]
cmp ebp, ebx
jb 0x65fa28
mov dword [eax + 4], ebx
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov ebp, edx
sar edx, 0x1f
add ebp, ecx
adc edx, ebx
cmp ebx, edx
seta bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebp, ecx
setb cl
and ecx, esi
or ebx, ecx
test bl, bl
jne 0x65fa10
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], edx
sub esp, 0xffffff80
ret
lea eax, [0x6e0660]
mov dword [esp], eax
lea eax, [0x7a3f28]
mov dword [esp + 4], eax
call fcn.0046ae10
mov ecx, ebx
mov edx, ebp
call fcn.00471b70
mov eax, ecx
mov ecx, ebx
call fcn.00471b30
call fcn.00471b90
mov eax, ecx
mov ecx, ebx
call fcn.00471b30
mov dword [esp + 0x30], ebx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp], eax
call fcn.00409f20
mov eax, dword [esp + 4]
lea ecx, [0x6e08a0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00409f20
mov eax, dword [esp + 4]
lea ecx, [0x6e08a0]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea eax, [0x73dd5f]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d54a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00466330
mov eax, dword [esp + 8]
lea ecx, [0x6e0660]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046ae10
nop
call fcn.004706b0
jmp fcn.0065f740