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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x5e89f4
sub esp, 0xb4
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
movzx ebp, byte [esp + 0xbc]
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.005e8c50
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x5e89db
mov dword [esp + 0x64], edi
xor eax, eax
lea edi, [esp + 0x8c]
call fcn.0045f76b
mov ecx, dword [esp + 0xb8]
mov edi, edx
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x5e85ec
mov edx, 1
jmp 0x5e85f8
mov edx, dword [esp + 0xc0]
test edx, edx
sete dl
mov byte [esp + 0x34], dl
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
test ebp, ebp
sete dl
mov byte [esp + 0x37], dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
test ebx, ebx
seta bl
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e871e
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], edi
lea edi, [esp + 0xa0]
call fcn.0045f76b
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
call fcn.005e7db0
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0x36], cl
lea edi, [esp + 0xa0]
lea esi, [esp + 0xc]
call fcn.0045fc4e
lea edi, [esp + 0x78]
lea esi, [esp + 0xa0]
call fcn.0045fc4e
movzx ecx, byte [esp + 0x36]
test cl, cl
je 0x5e86bb
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x64]
xor ecx, ecx
xor eax, eax
xor edi, edi
xor edx, edx
jmp 0x5e8777
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00408890
mov eax, dword [esp + 4]
lea ecx, [0x895ae4]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x690d40]
mov dword [esp], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
lea ecx, [0x895ad0]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov dword [esp], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.005e8fd0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
movzx edi, byte [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x5e89be
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], eax
xchg edi, eax
mov byte [esp + 0x35], al
xchg edi, eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.005e8fd0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
test ebp, ebp
jne 0x5e89a1
movzx ebp, byte [esp + 0x34]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e8906
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x64], edi
mov ebp, dword [esp + 0x44]
test ebp, ebp
xchg ebp, ebx
setbe bl
xchg ebp, ebx
movzx edi, byte [esp + 0x37]
and ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e8885
mov byte [esp + 0x37], al
mov dword [esp + 0x68], ecx
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
movzx ecx, byte [esp + 0x35]
mov byte [esp + 4], cl
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.005e9230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
test edx, edx
jne 0x5e88f1
movzx eax, byte [esp + 0x37]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov byte [esp + 4], al
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
call fcn.005e9230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
test edx, edx
jne 0x5e88dc
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
jmp 0x5e8906
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
add esp, 0xb4
ret
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
add esp, 0xb4
ret
mov ecx, dword [esp + 0xb8]
mov dword [ecx + 0x38], esi
mov dword [ecx + 0x3c], ebx
mov edx, dword [0xa43e50]
test edx, edx
jne 0x5e8922
mov dword [ecx + 0x34], edi
jmp 0x5e892e
lea edx, [ecx + 0x34]
mov eax, edi
mov edi, edx
call fcn.0045f670
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x5e895f
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x8c]
call fcn.0045fc4e
call fcn.005e7b60
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb8]
cmp eax, 2
sete al
mov byte [esp + 0x9c], al
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x8c]
call fcn.0045fc4e
call fcn.005e8a00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xb4
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
call fcn.0045e260
jmp fcn.005e8540