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

Disassembly:
mov ecx, dword [0x8c8600]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x64d6b1
sub esp, 0xbc
mov eax, 0
mov dword [esp + 0xb8], eax
mov byte [esp + 0x2b], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov eax, dword [esp + 0xc0]
movzx ecx, byte [eax + 0x88]
test cl, cl
jne 0x64cef1
mov ecx, dword [eax + 0x90]
test ecx, ecx
jge 0x64cf12
mov eax, dword [0x8a7140]
mov ecx, dword [0x8a7144]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xbc
ret
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.00651fa0
movzx eax, byte [esp + 4]
test al, al
jne 0x64d07a
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.006550e0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.0048dcd0
lea eax, [0x64d6c0]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x8c]
mov dword [esp + 0xb8], ecx
mov byte [esp + 0x2b], 1
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx]
test edx, edx
jne 0x64cf8b
xor edx, edx
jmp 0x64cfbf
mov edx, dword [eax + 0x18]
lea ebp, [0x6c2a20]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040fc50
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
setne al
mov ecx, dword [esp + 0xc4]
mov edx, eax
mov eax, dword [esp + 0xc0]
test dl, dl
jne 0x64d04d
lea esi, [ecx + 0xc]
lea edi, [esp + 0x5c]
call fcn.004778aa
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.004773d9
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx + 0x10]
lea ebx, [0x6c29e0]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0x5c]
mov dword [esp + 8], edx
call fcn.0046c600
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x29], cl
mov esi, dword [esp + 0xc]
lea edi, [esp + 0x9c]
call fcn.004778aa
lea edi, [esp + 0x3c]
lea esi, [esp + 0x9c]
call fcn.004778aa
movzx ecx, byte [esp + 0x29]
test cl, cl
je 0x64d09b
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
test ecx, ecx
jne 0x64d68a
jmp 0x64d50d
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xb8]
mov eax, dword [edx]
call eax
add esp, 0xbc
ret
mov eax, dword [0x8a7148]
mov ecx, dword [0x8a714c]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xbc
ret
mov eax, dword [esp + 0xc0]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x64d175
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x64d0e7
call fcn.0046c450
mov eax, dword [0x8c88d8]
mov ecx, dword [esp]
test eax, eax
jne 0x64d0d0
mov eax, dword [esp + 0xc0]
jmp 0x64d0e4
call fcn.004772f0
mov dword [edi], ecx
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0xc]
mov dword [edi + 4], edx
mov dword [eax + 0xc], ecx
mov ecx, dword [eax + 0xc]
lea edx, [0x6c29a0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.0040ec00
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax]
mov dword [esp + 0x78], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
call fcn.0064ce50
mov eax, dword [esp + 0x2c]
cmp dword [esp + 4], eax
jle 0x64d144
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x78]
xor ebx, ebx
jmp 0x64d1a7
mov eax, dword [0x8a7160]
mov ecx, dword [0x8a7164]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xb8]
mov eax, dword [edx]
call eax
add esp, 0xbc
ret
mov eax, dword [0x8a7150]
mov ecx, dword [0x8a7154]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xb8]
mov eax, dword [edx]
call eax
add esp, 0xbc
ret
inc ebx
cmp ebx, eax
jge 0x64d211
lea ebp, [edx + ebx*4]
cmp dword [ebp], ecx
jne 0x64d1a6
mov dword [esp + 0x38], ebx
lea eax, [0x6f7500]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
lea edx, [0x70da14]
mov dword [esp], edx
mov dword [esp + 4], 0x1d
lea ebx, [esp + 0x94]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0052a830
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x38]
jmp 0x64d1a6
inc eax
mov ebx, dword [esp + 0x30]
cmp ebx, eax
jae 0x64d251
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6f7500]
mov dword [esp + 0x10], eax
call fcn.00472770
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x38], ebx
mov ebp, dword [0x8c88d8]
test ebp, ebp
je 0x64d26d
call fcn.004772f0
mov dword [edi], ecx
mov ebp, dword [edx + eax*4 - 4]
mov dword [edi + 4], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0x34], eax
mov dword [edx + eax*4 - 4], ecx
mov ebx, dword [esp + 0xc0]
mov ebp, dword [ebx + 0xc]
lea esi, [0x6c29a0]
mov dword [esp], esi
mov dword [esp + 4], ebp
lea ebp, [esp + 0x5c]
mov dword [esp + 8], ebp
call fcn.0046c8c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov ecx, dword [0x8c88d8]
test ecx, ecx
jne 0x64d2c5
mov ecx, dword [esp + 0x88]
jmp 0x64d2d8
call fcn.004772f0
mov ecx, dword [esp + 0x88]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
mov eax, dword [esp + 0xc0]
lea ecx, [eax + 0x14]
mov dword [esp + 0x84], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
call fcn.00655b00
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x8c]
test ecx, ecx
je 0x64d386
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.00655d70
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc0]
cmp dword [ecx + 0x8c], eax
jl 0x64d335
mov eax, ecx
jmp 0x64d386
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.00655c40
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [0x8a7158]
mov edx, dword [0x8a715c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00655130
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
call fcn.0064ddd0
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x98]
mov edx, dword [eax + 0x9c]
test edx, edx
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
test ecx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, esi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x64d47a
mov ebx, dword [esp + 0xc4]
mov ebp, dword [ebx]
test ebp, ebp
jne 0x64d481
mov ebp, dword [ebx + 0x78]
test ebp, ebp
je 0x64d3e9
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b5600
mov eax, dword [esp + 0xc4]
jmp 0x64d481
lea eax, [0x6caa60]
mov dword [esp], eax
call fcn.0040dea0
mov eax, dword [esp + 4]
lea ecx, [0x65bd70]
mov dword [eax], ecx
mov ecx, dword [0x8c88d8]
test ecx, ecx
jne 0x64d416
mov ecx, dword [esp + 0xc4]
jmp 0x64d424
call fcn.004772e0
mov ecx, dword [esp + 0xc4]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx + 0x98]
mov edx, dword [edx + 0x9c]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b5740
mov eax, dword [0x8c88d8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x64d461
mov eax, dword [esp + 0xc4]
jmp 0x64d475
call fcn.004772f0
mov dword [edi], ecx
mov eax, dword [esp + 0xc4]
mov edx, dword [eax + 0x78]
mov dword [edi + 4], edx
mov dword [eax + 0x78], ecx
jmp 0x64d481
mov ebx, dword [esp + 0xc4]
call fcn.004bc310
lea edi, [esp + 0x9c]
lea esi, [esp]
call fcn.004778be
mov eax, dword [0x8c88d8]
mov ecx, dword [esp + 0xc4]
lea edi, [ecx + 0x64]
test eax, eax
je 0x64d4d4
mov dword [esp + 0x80], edi
lea eax, [0x6ff700]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.004120e0
mov edi, dword [esp + 0x80]
lea esi, [esp + 0x9c]
call fcn.004778be
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xb8]
mov eax, dword [edx]
call eax
add esp, 0xbc
ret
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.0064e590
mov eax, dword [esp + 4]
test eax, eax
jle 0x64d572
mov dword [esp + 0x38], eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.0064e680
mov eax, dword [esp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
lea edi, [esp + 0x10]
xor eax, eax
call fcn.004773db
call fcn.0064e2f0
movzx eax, byte [esp + 0x24]
test al, al
je 0x64d50d
mov eax, dword [esp + 0x38]
test eax, eax
setg al
mov byte [esp + 0x2a], al
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
call fcn.0064e590
mov eax, dword [esp + 4]
test eax, eax
jne 0x64d5b3
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x10]
lea edx, [0x6c29e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.0046ce90
jmp 0x64d612
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x10]
lea edx, [0x6c29e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.0046c8c0
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x8c88d8]
test eax, eax
je 0x64d609
mov dword [esp + 0x7c], edi
lea eax, [0x6d8e40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
call fcn.004120e0
mov edi, dword [esp + 0x7c]
lea esi, [esp + 0x3c]
call fcn.004778aa
movzx eax, byte [esp + 0x2a]
test al, al
je 0x64d09b
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xb8]
mov eax, dword [edx]
call eax
add esp, 0xbc
ret
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.0064e680
mov eax, dword [esp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
lea edi, [esp + 0x10]
xor eax, eax
call fcn.004773db
call fcn.0064e2f0
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.0064e590
mov eax, dword [esp + 4]
test eax, eax
jg 0x64d64c
xor eax, eax
jmp 0x64d575
call fcn.00475ee0
jmp fcn.0064ce90