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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x64a5da
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0064a5f0
mov eax, dword [esp + 4]
test eax, eax
jg 0x64a589
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x28], edx
lea ebx, [0x9873a0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0040bad0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00470f10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x64a4d1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x68]
jmp 0x64a16e
mov eax, esi
test eax, eax
jle 0x64a130
lea esi, [eax - 1]
cmp esi, ebx
jae 0x64a5c7
movzx edi, byte [eax + ebp - 1]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x64a113
mov edx, dword [esp + 0x40]
cmp eax, edx
ja 0x64a5c0
mov dword [esp + 0x48], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0064a880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x64a1e3
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x2c]
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.00648d70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
test edx, edx
je 0x64a4bd
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x38], ebp
nop
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 0x3a
call fcn.00402470
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x64a45d
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
mov ecx, eax
jmp 0x64a115
mov edx, dword [esp + 0x48]
inc edx
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x3c]
jmp 0x64a1f3
inc edx
cmp edx, ebp
jge 0x64a219
jae 0x64a5b7
movzx esi, byte [ebx + edx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jne 0x64a44c
mov esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x64a1f2
cmp edx, ebp
ja 0x64a5ae
mov dword [esp + 0x30], eax
mov dword [esp + 0x58], ecx
mov dword [esp], 0
mov eax, dword [esp + 0x40]
sub eax, edx
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, edx
add eax, ebx
mov dword [esp + 4], eax
sub ebp, edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call fcn.004436f0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
lea edx, [0x9873a0]
mov dword [esp], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc], esi
call fcn.0040ff20
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
test eax, eax
je 0x64a3a5
lea ebx, [edx + 1]
cmp ebx, ecx
ja 0x64a369
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ecx
lea ebp, [eax + edx*8 + 4]
mov esi, dword [esp + 0x24]
mov dword [ebp], esi
mov ebp, dword [0xe8ff30]
lea edi, [eax + edx*8]
test ebp, ebp
jne 0x64a35b
mov edx, dword [esp + 0x4c]
mov dword [edi], edx
lea eax, [0x9873a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
call fcn.00410630
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 8], eax
mov eax, dword [0xe8ff30]
test eax, eax
jne 0x64a350
mov eax, dword [esp + 0x64]
mov dword [edi], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x64a338
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x64a168
mov eax, dword [esp + 0x54]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
mov eax, dword [esp + 0x64]
call fcn.00456ab0
jmp 0x64a31d
mov eax, dword [esp + 0x4c]
call fcn.00456ab0
jmp 0x64a2d5
mov dword [esp + 0x20], edx
lea ebp, [0x92c840]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004402d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, edx
mov edx, dword [esp + 0x20]
jmp 0x64a2a7
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jle 0x64a29c
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x68]
mov dword [edi + 4], ecx
lea ecx, [ebx - 1]
mov dword [esp + 0x28], ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
add ecx, edi
mov dword [esp + 0x50], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x64a441
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
lea eax, [0x9873a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
call fcn.00410630
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0xe8ff30]
test eax, eax
jne 0x64a436
mov eax, dword [esp + 0x68]
mov dword [edi], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
jmp 0x64a325
mov eax, dword [esp + 0x68]
call fcn.00456ab0
jmp 0x64a429
mov eax, dword [esp + 0x4c]
call fcn.00456ab0
jmp 0x64a3e1
xchg esi, eax
cmp al, 9
xchg esi, eax
xchg esi, ebx
sete bl
xchg esi, ebx
jmp 0x64a211
mov dword [esp], 0
lea eax, [0x9e05a0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
call fcn.00443570
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408790
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x74], ecx
lea ecx, [0xaa6630]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
mov eax, dword [esp + 0x54]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebx
add esp, 0x6c
ret
test edx, edx
jbe 0x64a5d0
movzx eax, byte [ecx]
cmp al, 0x20
jne 0x64a57e
mov eax, 1
test al, al
je 0x64a109
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.006489e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
je 0x64a526
mov edx, dword [esp + 0x54]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
mov dword [esp], 0
lea eax, [0x9e65db]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x24
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00443570
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408790
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x74], ecx
lea ecx, [0xaa6630]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
cmp al, 9
sete al
jmp 0x64a4ea
mov dword [esp + 0x34], eax
lea ecx, [0x92c840]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00440170
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov edx, eax
jmp 0x64a0b5
mov eax, edx
mov ecx, ebp
call fcn.00456b90
mov eax, edx
mov ecx, ebp
call fcn.00456b30
mov ecx, eax
call fcn.00456b70
mov eax, esi
mov ecx, ebx
call fcn.00456b30
xor eax, eax
mov ecx, edx
call fcn.00456b30
nop
call fcn.00455270
jmp fcn.0064a080