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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x650b86
sub esp, 0x60
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov eax, 0xffffffff
xor ecx, ecx
xor esi, esi
jmp 0x6508b0
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
lea edi, [eax + 1]
cmp ebp, edi
jle 0x650ad0
jb 0x650b7c
mov dword [esp + 0x54], esi
mov dword [esp + 0x3c], ecx
sub ebx, eax
lea ecx, [ebx - 1]
mov dword [esp + 0x38], ecx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
add ecx, edx
mov dword [esp + 0x50], ecx
nop
mov dword [esp], ecx
sub ebp, eax
lea eax, [ebp - 1]
mov dword [esp + 0x34], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 0x2c
call fcn.00403350
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x65090c
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
cmp eax, edx
ja 0x650b75
mov ecx, dword [esp + 0x50]
mov ebx, ecx
mov ebp, eax
mov esi, edx
jmp 0x650aec
mov dword [esp + 0x4c], ebp
jmp 0x650aff
mov dword [esp + 0x40], eax
mov dword [esp + 0x58], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00659a30
movzx eax, byte [esp + 0xc]
test al, al
je 0x650962
mov ecx, dword [0x706e98]
mov esi, dword [0x706e9c]
jmp 0x6508a0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x90]
mov edx, dword [eax + 0x88]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
ja 0x65097e
mov ebp, ebx
jmp 0x6509ae
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
mov ebx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x44], ebx
mov dword [esp], edx
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00457450
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x64]
mov dword [eax + 0x8c], ecx
mov edx, dword [esp + 0x48]
mov dword [eax + 0x90], edx
mov edx, dword [0x901e80]
test edx, edx
jne 0x6509fc
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x88], edx
jmp 0x650a11
lea edi, [eax + 0x88]
mov eax, dword [esp + 0x5c]
call fcn.00456ac0
mov edx, eax
mov eax, dword [esp + 0x64]
movzx ebx, byte [eax]
test bl, bl
jne 0x650a36
test ecx, ecx
je 0x650a36
movzx ebx, byte [edx]
lea ebp, [0x77d17e]
movzx ebx, byte [ebp + ebx]
mov byte [edx], bl
mov ebx, 1
jmp 0x650b18
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x80]
mov ebx, dword [eax + 0x84]
mov ebp, dword [eax + 0x88]
mov esi, dword [eax + 0x8c]
mov edi, dword [eax + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x24], 1
call fcn.00649080
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x64]
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], edx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x650abb
mov dword [ebx + 0x7c], eax
jmp 0x650ac3
lea edi, [ebx + 0x7c]
call fcn.00456ac0
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x54]
jmp 0x6508a0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
add esp, 0x60
ret
dec edx
mov edi, edx
neg edx
sar edx, 0x1f
and edx, 1
add ecx, edx
dec eax
mov edx, edi
test eax, eax
je 0x650927
cmp byte [ecx], 0x20
je 0x650adc
jmp 0x650927
dec eax
test eax, eax
je 0x650930
lea edi, [eax + ecx - 1]
cmp byte [edi], 0x20
je 0x650afe
jmp 0x650930
lea ebx, [esi + 1]
cmp ebx, ecx
jge 0x650a36
jae 0x650b6e
movzx esi, byte [edx + ebx]
xchg esi, eax
cmp al, 0x2d
xchg esi, eax
jne 0x650b48
lea esi, [ebx + 1]
cmp ecx, esi
jle 0x650b15
jbe 0x650b67
movzx edi, byte [ebx + edx + 1]
movzx edi, byte [ebp + edi]
xchg edi, eax
mov byte [ebx + edx + 1], al
xchg edi, eax
jmp 0x650b15
xchg esi, eax
movzx edi, al
xchg esi, eax
lea ebp, [0x77cc7e]
movzx ebp, byte [ebp + edi]
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
lea ebp, [0x77d17e]
mov esi, ebx
jmp 0x650b15
mov eax, esi
call fcn.00456b40
mov eax, ebx
call fcn.00456b40
mov ecx, eax
call fcn.00456b80
mov eax, edi
mov ecx, ebp
call fcn.00456ba0
nop
call fcn.00455690
jmp fcn.00650870