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

Disassembly:
mov ecx, dword [0x93d128]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5c2cb3
sub esp, 0x68
mov ecx, dword [esp + 0x94]
lea eax, [ecx - 1]
mov edx, dword [esp + 0x88]
mov ebx, edx
sub edx, ecx
cmp ecx, eax
jbe 0x5c2cad
mov ebp, dword [esp + 0x90]
mov esi, dword [ebp + ecx*4 - 4]
nop
nop
nop
cmp esi, 0x10000
jb 0x5c28e4
shr esi, 0x10
mov eax, 0x10
jmp 0x5c28e6
xor eax, eax
cmp esi, 0x100
jb 0x5c28f4
shr esi, 8
add eax, 8
cmp esi, 0x100
jae 0x5c2ca1
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], eax
lea eax, [ebx + 1]
mov dword [esp + 0x50], eax
lea edx, [0x795d07]
movzx edx, byte [edx + esi]
mov dword [esp + 0x54], edx
mov dword [esp], ecx
call fcn.005bc2d0
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x40], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x90]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x98]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x54]
lea esi, [edi + esi - 0x20]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], esi
call fcn.005c5df0
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jl 0x5c29a7
jb 0x5c2c9c
mov eax, dword [esp + 0x78]
jmp 0x5c2a09
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x5c29e0
lea eax, [0x74b960]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00448800
mov eax, dword [esp + 0xc]
mov edx, 1
mov ecx, 1
jmp 0x5c2a09
lea edx, [0x74b960]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ebx, [eax + 5]
mov dword [esp + 0x30], ebx
mov dword [esp + 8], ebx
call fcn.00448800
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x88]
cmp ebx, edx
ja 0x5c2c95
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], ecx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
call fcn.005c5df0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jae 0x5c2c90
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x5c]
mov dword [ebp + eax*4], ebx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c2a97
mov ebx, dword [esp + 0x6c]
lea esi, [ebx + eax*4 - 4]
mov edi, dword [esp + 0x30]
lea edx, [ebp + edi*4 - 4]
cmp edx, esi
jne 0x5c2a9f
xor eax, eax
xor ebx, ebx
jmp 0x5c2a9f
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x38]
lea edx, [esi + 1]
cmp eax, edx
jl 0x5c2ab1
jae 0x5c2b28
jmp 0x5c2c87
test esi, esi
jne 0x5c2aef
lea eax, [0x74b960]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00448800
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov eax, 1
mov edx, 1
jmp 0x5c2b28
mov dword [esp + 0x4c], edx
lea eax, [0x74b960]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [esi + 5]
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
call fcn.00448800
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x58], ebx
mov esi, dword [esp + 0x94]
cmp esi, 0x64
jge 0x5c2b76
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x20], esi
call fcn.005c2cc0
jmp 0x5c2baa
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x20], esi
call fcn.005c3150
nop
lea eax, [0x8fdee0]
mov dword [esp], eax
lea eax, [0x7859c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00464b60
nop
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x24]
jmp 0x5c2bd7
dec ecx
test ecx, ecx
jle 0x5c2be3
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x5c2bd6
mov edx, dword [esp + 0x2c]
cmp ecx, edx
ja 0x5c2c82
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], ebx
call fcn.005c5e40
nop
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
jmp 0x5c2c2f
dec ecx
test ecx, ecx
jle 0x5c2c3b
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x5c2c2e
mov edx, dword [esp + 0x30]
cmp ecx, edx
ja 0x5c2c7d
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
add esp, 0x68
ret
call fcn.0045f190
call fcn.0045f190
mov ecx, edx
mov edx, eax
call fcn.0045f190
call fcn.0045f150
mov ecx, ebx
call fcn.0045f190
call fcn.0045f190
mov eax, esi
mov ecx, 0x100
call fcn.0045f160
call fcn.0045f150
nop
call fcn.0045dcb0
jmp fcn.005c2890