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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x659675
sub esp, 0x8c
mov ecx, dword [esp + 0x98]
test ecx, ecx
jbe 0x65966b
mov edx, dword [esp + 0x94]
cmp byte [edx], 0x30
jne 0x659368
mov ebx, dword [0x70787c]
lea eax, [ebx + 1]
cmp ecx, eax
jl 0x65933c
jb 0x659666
mov ebp, dword [esp + 0x9c]
sub ebp, ebx
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
sub ecx, ebx
add edx, eax
dec ecx
jmp 0x65936f
mov eax, dword [0x707040]
mov ecx, dword [0x707044]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
add esp, 0x8c
ret
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x4c]
xor eax, eax
call fcn.00456d50
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], esi
mov ecx, dword [esp + 0x90]
movzx edx, byte [ecx]
mov byte [esp + 0x7c], dl
xor eax, eax
xor edx, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x4c]
mov dword [esp], ecx
call fcn.0065bb50
movzx eax, byte [esp + 4]
test al, al
je 0x6595e6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
test eax, eax
jne 0x6593dd
mov ebx, dword [esp + 0x90]
jmp 0x6595d9
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0x20
call fcn.00403350
cmp dword [esp + 0x10], 0xffffffff
je 0x659400
mov eax, 1
jmp 0x659429
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 9
call fcn.00403350
cmp dword [esp + 0x10], 0xffffffff
setne al
test al, al
je 0x6594a6
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409120
mov eax, dword [esp + 0xc]
lea ecx, [0x72d140]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [0x76f6cc]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x44]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a4ab0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x6593a0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00659a30
movzx eax, byte [esp + 0xc]
test al, al
je 0x659544
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409120
mov eax, dword [esp + 0xc]
lea ecx, [0x72d140]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [0x7707a8]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea edx, [esp + 0x44]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a4ab0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x6593a0
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x68]
mov edx, dword [eax + 0x6c]
mov ebx, dword [eax + 0x70]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x6c]
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 ecx, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], 0
call fcn.00649080
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x90]
mov dword [ebx + 0x6c], ecx
mov dword [ebx + 0x70], edx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x6595d1
mov dword [ebx + 0x68], eax
jmp 0x6595d9
lea edi, [ebx + 0x68]
call fcn.00456ac0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
jmp 0x6593a0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
test eax, eax
jne 0x659646
mov eax, dword [esp + 0x34]
test eax, eax
je 0x65961e
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xa8], eax
add esp, 0x8c
ret
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x8c
ret
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
add esp, 0x8c
ret
call fcn.00456ba0
xor eax, eax
mov ecx, eax
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.006592d0