Function at 0x64c420
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 0x64c83d
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 0x64c476
mov ebx, 2
mov ecx, 0x540be400
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ecx
xor edx, edx
xor ebp, ebp
jmp 0x64c4a0
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 + 0x3c]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x3c], edx
call fcn.00495760
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 + 0x30], edx
mov ebx, dword [eax + 0x84]
mov dword [esp + 0x34], ebx
xor ebp, ebp
jmp 0x64c6aa
cmp ebp, edx
jge 0x64c568
jae 0x64c82a
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.00494e10
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
sub edx, eax
mov eax, dword [esp + 0x4c]
sbb eax, ecx
add edx, 1
adc eax, 0
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x54]
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x30]
jmp 0x64c570
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
cmp ebp, ebx
ja 0x64c821
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x3c]
cmp edi, ebp
jae 0x64c5c2
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, [0x726b20]
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 + 0x3c], edi
mov dword [esp + 0x38], ebp
lea eax, [0x726b20]
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 + 0x54]
mov dword [esp + 0x10], ebx
call fcn.0040fdc0
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x64c654
mov ecx, dword [esp + 0x30]
cmp eax, ecx
ja 0x64c81c
lea edx, [0x726b20]
mov dword [esp], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0x34]
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 + 0x30]
mov ebx, ecx
jmp 0x64c7a9
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0045c370
xor eax, eax
jmp 0x64c73d
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 0x64c68c
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 0x64c484
jmp 0x64c79a
inc ebp
mov dword [esp + 0x54], ebp
cmp ebp, edx
jl 0x64c6b6
xor esi, esi
jmp 0x64c72d
jae 0x64c833
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.00494e10
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
setl al
sete dl
mov ebx, dword [esp + 0x48]
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 + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x54]
mov esi, eax
mov eax, dword [esp + 0xa8]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x64c6a9
jmp 0x64c4f8
inc eax
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x64c667
mov dword [esp + 0x50], 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.0064c850
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
lea edi, [ecx + eax*4]
mov edx, dword [esp + 0x38]
cmp eax, edx
jae 0x64c7a1
mov ebx, dword [0x901e80]
test ebx, ebx
jne 0x64c78d
mov dword [ecx + eax*4], 0
jmp 0x64c73c
mov ebx, eax
xor eax, eax
call fcn.00456ac0
mov eax, ebx
jmp 0x64c73c
add esp, 0xa4
ret
mov ecx, edx
call fcn.00456b40
inc ecx
cmp ecx, edx
jge 0x64c7d2
jae 0x64c813
lea edi, [eax + ecx*4]
mov ebp, dword [0x901e80]
test ebp, ebp
jne 0x64c7c5
mov dword [eax + ecx*4], 0
jmp 0x64c7a8
mov ebp, eax
xor eax, eax
call fcn.00456ac0
mov eax, ebp
jmp 0x64c7a8
mov edx, dword [esp + 0x34]
cmp ebx, edx
ja 0x64c80c
mov ecx, dword [esp + 0xa8]
mov dword [ecx + 0x80], ebx
mov dword [ecx + 0x84], edx
mov edx, dword [0x901e80]
test edx, edx
jne 0x64c7ff
mov dword [ecx + 0x7c], eax
jmp 0x64c654
lea edi, [ecx + 0x7c]
call fcn.00456ac0
jmp 0x64c654
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.0064c420