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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x5c8ce2
sub esp, 0x98
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
movzx ebp, byte [esp + 0xa0]
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.005c8f40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x10]
test esi, esi
jne 0x5c8cc5
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], ecx
mov esi, edi
lea edi, [esp + 0x70]
xor eax, eax
call fcn.0045f63b
mov ecx, dword [esp + 0x9c]
mov edi, esi
movzx esi, byte [ecx + 0x2c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c8a21
mov esi, 1
jmp 0x5c8a31
mov esi, dword [esp + 0xa4]
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x32], al
xchg esi, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x40], ebp
test edx, edx
seta dl
mov esi, dword [esp + 0x38]
test esi, esi
xchg esi, ebx
seta bl
xchg esi, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c8b4f
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], edi
lea edi, [esp + 0x84]
call fcn.0045f63b
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 4], edx
call fcn.005c8170
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0x33], cl
lea edi, [esp + 0x84]
lea esi, [esp + 0xc]
call fcn.0045fb1e
lea edi, [esp + 0x5c]
lea esi, [esp + 0x84]
call fcn.0045fb1e
movzx ecx, byte [esp + 0x33]
test cl, cl
je 0x5c8aec
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x4c]
jmp 0x5c8ba8
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00408d20
mov eax, dword [esp + 4]
lea ecx, [0x6cfc10]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
lea eax, [0x643880]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call fcn.00408be0
mov eax, dword [esp + 8]
lea ecx, [0x6cfbfc]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x98
ret
mov dword [esp], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x32]
mov byte [esp + 0x10], al
call fcn.005c92b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
test edx, edx
jne 0x5c8cac
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
movzx ecx, byte [esp + 0x32]
mov byte [esp + 0x10], cl
call fcn.005c92b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
test edx, edx
jne 0x5c8c93
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 0x38], ebp
mov dword [ecx + 0x3c], edi
mov edx, dword [0x84e4b0]
test edx, edx
jne 0x5c8c1c
mov dword [ecx + 0x34], esi
jmp 0x5c8c26
lea edi, [ecx + 0x34]
mov eax, esi
call fcn.0045f3a0
mov eax, dword [esp + 0xa4]
test eax, eax
jne 0x5c8c54
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x70]
call fcn.0045fb1e
call fcn.005c7f10
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
cmp eax, 2
sete al
mov byte [esp + 0x80], al
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x70]
call fcn.0045fb1e
call fcn.005c8cf0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0x98
ret
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xac], eax
add esp, 0x98
ret
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xac], eax
add esp, 0x98
ret
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xac], eax
add esp, 0x98
ret
call fcn.0045df90
jmp fcn.005c8970