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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x64c87d
sub esp, 0xa4
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
setbe dl
mov ebx, dword [eax + 0x30]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setl bl
xchg esi, ebx
and edx, ebp
or esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x64c4b6
mov ebx, 2
mov ecx, 0x540be400
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ecx
xor edx, edx
xor ebp, ebp
jmp 0x64c4e0
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00454dc0
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x4c], edx
call fcn.00495780
lea edi, [esp + 0x68]
lea esi, [esp]
call fcn.0045723e
mov eax, dword [esp + 0xa8]
lea ecx, [eax + 0x70]
mov dword [esp + 0x64], ecx
mov dword [esp], ecx
call fcn.0045bff0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 0x80]
mov dword [esp + 0x38], edx
mov ebx, dword [eax + 0x84]
mov dword [esp + 0x3c], ebx
xor ebp, ebp
jmp 0x64c6ea
cmp ebp, edx
jge 0x64c5a8
jae 0x64c86a
mov eax, dword [ecx + ebp*4]
test byte [eax], al
lea esi, [eax + 0x1c]
lea edi, [esp + 0x7c]
call fcn.0045723e
lea edi, [esp]
lea esi, [esp + 0x68]
call fcn.0045723e
lea edi, [esp + 0x14]
lea esi, [esp + 0x7c]
call fcn.0045723e
call fcn.00494e30
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
sub edx, eax
mov eax, dword [esp + 0x54]
sbb eax, ecx
add edx, 1
adc eax, 0
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x38]
jmp 0x64c5b0
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
cmp ebp, ebx
ja 0x64c861
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x4c]
cmp edi, ebp
jae 0x64c602
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
lea eax, [0x726ec0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x60], ebp
mov ebp, eax
mov edi, edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
lea eax, [0x726ec0]
mov dword [esp], eax
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x10], ebx
call fcn.0040fdc0
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x64c694
mov ecx, dword [esp + 0x38]
cmp eax, ecx
ja 0x64c85c
lea edx, [0x726ec0]
mov dword [esp], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0x3c]
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov edi, eax
shl eax, 2
sar ebp, 0x1f
and ebp, eax
lea eax, [ebx + ebp]
mov dword [esp + 0xc], eax
sub ecx, edi
mov dword [esp + 0x10], ecx
call fcn.0040fdc0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x38]
mov ebx, ecx
jmp 0x64c7e9
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0045c370
xor eax, eax
jmp 0x64c77d
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0045bff0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x58], ecx
test ecx, ecx
jne 0x64c6cc
mov byte [eax + 0xe8], 0
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0045c370
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x64c4c4
jmp 0x64c7da
inc ebp
mov dword [esp + 0x34], ebp
cmp ebp, edx
jl 0x64c6f6
xor esi, esi
jmp 0x64c76d
jae 0x64c873
mov eax, dword [ecx + ebp*4]
test byte [eax], al
lea esi, [eax + 0x1c]
lea edi, [esp + 0x90]
call fcn.0045723e
lea edi, [esp]
lea esi, [esp + 0x68]
call fcn.0045723e
lea edi, [esp + 0x14]
lea esi, [esp + 0x90]
call fcn.0045723e
call fcn.00494e30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x54]
cmp ecx, eax
setl al
sete dl
mov ebx, dword [esp + 0x50]
cmp dword [esp + 0x28], ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, edx
or eax, ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0xa8]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x64c6e9
jmp 0x64c538
inc eax
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jge 0x64c6a7
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + eax*4]
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0064c890
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x60]
lea edi, [ecx + eax*4]
mov edx, dword [esp + 0x48]
cmp eax, edx
jae 0x64c7e1
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x64c7cd
mov dword [ecx + eax*4], 0
jmp 0x64c77c
mov ebx, eax
xor eax, eax
call fcn.00456ac0
mov eax, ebx
jmp 0x64c77c
add esp, 0xa4
ret
mov ecx, edx
call fcn.00456b40
inc ecx
cmp ecx, edx
jge 0x64c812
jae 0x64c853
lea edi, [eax + ecx*4]
mov ebp, dword [0x900e70]
test ebp, ebp
jne 0x64c805
mov dword [eax + ecx*4], 0
jmp 0x64c7e8
mov ebp, eax
xor eax, eax
call fcn.00456ac0
mov eax, ebp
jmp 0x64c7e8
mov edx, dword [esp + 0x3c]
cmp ebx, edx
ja 0x64c84c
mov ecx, dword [esp + 0xa8]
mov dword [ecx + 0x80], ebx
mov dword [ecx + 0x84], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x64c83f
mov dword [ecx + 0x7c], eax
jmp 0x64c694
lea edi, [ecx + 0x7c]
call fcn.00456ac0
jmp 0x64c694
mov ecx, ebx
call fcn.00456b80
mov eax, ecx
mov ecx, edx
call fcn.00456b40
call fcn.00456ba0
mov ecx, ebp
mov edx, ebx
call fcn.00456b80
mov eax, ebp
mov ecx, edx
call fcn.00456b40
mov eax, ebp
mov ecx, edx
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.0064c460