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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5c8f14
sub esp, 0x68
mov eax, dword [esp + 0x78]
test eax, eax
jl 0x5c8b0c
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x74]
cmp ecx, edx
setne bl
sar ecx, 0x1f
cmp eax, ecx
setne cl
or ecx, ebx
test cl, cl
je 0x5c8b4b
mov eax, dword [0x1e84be0]
mov ecx, dword [0x1e84be4]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
add esp, 0x68
ret
test eax, eax
sete cl
cmp edx, 0xa00000
setb bl
and ebx, ecx
test bl, bl
je 0x5c8caa
mov byte [esp + 0x27], cl
lea eax, [0x69be80]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.0044bda0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x10], ebx
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test eax, eax
je 0x5c8c73
mov eax, dword [0x1e84bbc]
cmp dword [0x1e84bb8], ecx
je 0x5c8bf5
mov eax, 1
jmp 0x5c8c1d
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00403940
movzx eax, byte [esp + 0xc]
xor eax, 1
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
test al, al
jne 0x5c8c40
mov eax, dword [esp + 0x74]
test eax, eax
seta al
mov ecx, dword [esp + 0x78]
test ecx, ecx
seta cl
movzx edx, byte [esp + 0x27]
and eax, edx
or ecx, eax
test cl, cl
je 0x5c8c73
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebp
add esp, 0x68
ret
mov eax, dword [esp + 0x64]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
add esp, 0x68
ret
lea eax, [0x69be80]
mov dword [esp], eax
mov dword [esp + 4], 0xa00000
mov dword [esp + 8], 0xa00000
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x50]
jmp 0x5c8d8e
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x5c], ebp
mov esi, dword [esp + 0x44]
sub esi, eax
mov dword [esp + 0x3c], esi
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
sbb edi, edx
mov dword [esp + 0x38], edi
mov ebx, dword [esp + 0x48]
add ebx, eax
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x4c]
adc ebx, edx
mov dword [esp + 0x4c], ebx
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004666e0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x48]
mov eax, edx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebx
test esi, esi
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
test edi, edi
seta al
and eax, ebx
or eax, ebp
test al, al
je 0x5c8ebe
cmp edi, 0xa00000
seta al
and eax, ebx
or eax, ebp
test al, al
je 0x5c8dcd
mov eax, 0xa00000
xor ebx, ebx
jmp 0x5c8dd1
mov eax, edi
mov ebx, esi
test ebx, ebx
jne 0x5c8f05
cmp eax, 0xa00000
ja 0x5c8ef9
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], ebx
mov ebx, dword [edx + 0x10]
mov dword [esp], ecx
mov ebp, dword [esp + 0x64]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xa00000
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x10], edi
call ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x5c8e8b
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x34]
cmp ebx, edx
jb 0x5c8e4c
mov ebp, dword [esp + 0x5c]
jmp 0x5c8d0a
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x69be80]
mov dword [esp + 0x10], ecx
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
jmp 0x5c8d0a
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
add esp, 0x68
ret
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
add esp, 0x68
ret
mov ecx, eax
mov edx, 0xa00000
call fcn.00465e50
mov esi, ebx
mov ecx, eax
mov edx, 0xa00000
call fcn.00465f30
nop
call fcn.004649b0
jmp fcn.005c8ad0