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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59e769
sub esp, 0x68
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x1b4], 0
mov ebx, dword [0x816df0]
test ebx, ebx
jne 0x59e4ad
mov dword [ecx + 0x1b0], 0
jmp 0x59e4ba
lea edi, [ecx + 0x1b0]
xor eax, eax
call fcn.0045e5d0
mov ebx, dword [esp + 0x74]
mov dword [ecx + 0x1bc], ebx
mov ebp, dword [esp + 0x78]
mov dword [ecx + 0x1c0], ebp
mov eax, ebp
mov ebp, dword [0x816df0]
test ebp, ebp
jne 0x59e4e6
mov ebp, dword [esp + 0x70]
mov dword [ecx + 0x1b8], ebp
jmp 0x59e4fd
lea edi, [ecx + 0x1b8]
mov edx, eax
mov eax, dword [esp + 0x70]
call fcn.0045e5d0
mov eax, edx
mov ebp, dword [esp + 0x70]
lea esi, [ecx + 0x1b0]
mov dword [esp + 0x48], esi
xor edx, edx
jmp 0x59e52f
lea ebx, [eax + esi*8]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [ebx], ebp
mov dword [ebx + 4], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x48]
cmp ebx, edx
jle 0x59e6d7
mov dword [esp + 0x20], edx
lea edi, [esp + 0x54]
call fcn.0045ed5e
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x190]
mov dword [esp + 0x50], ecx
mov ebx, dword [ecx]
lea edi, [esp]
lea esi, [esp + 0x54]
call fcn.0045ed5e
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x50]
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
movzx eax, byte [esp + 0x32]
test al, al
jne 0x59e5b0
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
movzx ebx, byte [esp + 0x2d]
test bl, 8
sete bl
jmp 0x59e5b2
xor ebx, ebx
test bl, bl
je 0x59e5df
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x184]
test ebp, ebp
jle 0x59e5e3
mov dword [esp], ebx
call fcn.0059dfc0
movzx eax, byte [esp + 4]
test al, al
je 0x59e6cb
mov ebx, dword [esp + 0x6c]
jmp 0x59e5e3
mov ebx, dword [esp + 0x6c]
movzx eax, byte [ebx + 0x180]
cmp eax, 0x80
ja 0x59e75e
lea ebp, [eax - 0x80]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
lea ebp, [ebx + eax + 0x100]
mov eax, ebx
movzx ebx, byte [esp + 0x39]
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebx
add ebx, ebp
mov edi, ebp
mov ebp, dword [esp + 0x78]
cmp ebp, ebx
jb 0x59e755
cmp edi, ebx
ja 0x59e74c
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov ebx, dword [esp + 0x70]
add ebp, ebx
cmp esi, ecx
jl 0x59e652
mov esi, ecx
cmp edx, ebp
je 0x59e67a
mov dword [esp + 0x24], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045ef80
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x38]
mov ecx, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
lea ebx, [esi + edi]
mov ebp, dword [eax + 0x184]
mov edx, ebx
movzx ebx, byte [esp + 0x42]
test bl, bl
ja 0x59e709
inc dword [eax + 0x184]
movzx ebx, byte [eax + 0x180]
mov esi, ebp
lea ebp, [ebx + 4]
xchg ebp, ebx
mov byte [eax + 0x180], bl
xchg ebp, ebx
mov byte [esp + 0x40], bl
cmp esi, 0x20
jb 0x59e50b
jmp 0x59e6e3
mov dword [esp + 0x7c], 0xffffffff
add esp, 0x68
ret
mov dword [esp + 0x7c], 0
add esp, 0x68
ret
mov eax, esi
mov ecx, 0x20
call fcn.0045e650
lea ebx, [eax + ebp*8]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [ebx], ecx
mov dword [ebx + 4], ebp
mov ecx, dword [esp + 0x70]
mov ebx, esi
mov ebp, edi
test ebp, ebp
jle 0x59e6a0
mov esi, ebx
lea ebx, [ebp - 1]
cmp ebx, 0x20
jae 0x59e740
mov edi, ebx
lea ebx, [eax + ebp*8 - 8]
mov dword [esp + 0x4c], ebx
lea ebx, [eax + ebp*8 - 6]
xchg esi, eax
cmp byte [ebx], al
xchg esi, eax
jbe 0x59e6a0
cmp ebp, 0x20
jb 0x59e6ef
mov eax, ebp
mov ecx, 0x20
call fcn.0045e650
mov eax, ebx
mov ecx, 0x20
call fcn.0045e650
mov eax, edi
mov ecx, ebx
call fcn.0045e6b0
mov ecx, ebx
mov edx, ebp
call fcn.0045e690
mov ecx, pe_nt_image_headers32
call fcn.0045e6b0
nop
call fcn.0045d190
jmp fcn.0059e470