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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x595aa1
sub esp, 0x90
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
movzx ebp, byte [esp + 0x98]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00595d10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
test edx, edx
jne 0x595a8c
mov dword [esp + 0x34], ecx
lea edi, [esp + 0x68]
mov edx, eax
xor eax, eax
call fcn.0045cbbb
mov ecx, dword [esp + 0x94]
mov edi, esi
movzx esi, byte [ecx + 0x2c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x595a77
mov esi, 1
xchg esi, eax
mov byte [esp + 0x32], al
xchg esi, eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x34]
test esi, esi
xchg ebp, ebx
seta bl
xchg ebp, ebx
test edx, edx
seta dl
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x595a0e
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], ebx
lea edi, [esp + 0x7c]
call fcn.0045cbbb
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 8], ebx
call fcn.00594f80
lea esi, [esp + 0xc]
lea edi, [esp + 0x7c]
call fcn.0045d09e
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0x33], cl
lea edi, [esp + 0x54]
lea esi, [esp + 0x7c]
call fcn.0045d09e
movzx ecx, byte [esp + 0x33]
test cl, cl
je 0x5959ad
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x94]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x32]
mov byte [esp + 0x10], al
call fcn.00596080
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
test eax, eax
jne 0x595998
mov edx, dword [esp + 0x94]
mov dword [edx + 0x38], ebp
mov dword [edx + 0x3c], esi
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x59598c
mov dword [edx + 0x34], ecx
lea edi, [esp + 4]
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x595963
cmp eax, 2
sete al
mov byte [esp + 0x78], al
mov dword [esp], edx
lea esi, [esp + 0x68]
call fcn.0045d09e
call fcn.00595ab0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
add esp, 0x90
ret
mov dword [esp + 0x48], edi
mov dword [esp], edx
lea esi, [esp + 0x68]
call fcn.0045d09e
call fcn.00594d30
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x48]
jmp 0x59592b
lea edi, [edx + 0x34]
mov eax, ecx
call fcn.0045c920
jmp 0x59591c
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edi
add esp, 0x90
ret
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00409e70
mov eax, dword [esp + 4]
lea ecx, [0x6cb9d0]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [0x6cb9b0]
mov dword [esp], eax
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
add esp, 0x90
ret
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
movzx eax, byte [esp + 0x32]
mov byte [esp + 0x10], al
call fcn.00596080
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
test eax, eax
jne 0x595a62
mov eax, ebp
mov ecx, esi
mov edx, ebx
jmp 0x5958b2
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edi
add esp, 0x90
ret
mov esi, dword [esp + 0x9c]
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
jmp 0x5957ff
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], edi
add esp, 0x90
ret
call fcn.0045b380
jmp fcn.00595760