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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5c371b
sub esp, 0x50
mov eax, 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov byte [esp + 0x2f], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x5c367b
mov ecx, dword [esp + 0x58]
movzx edx, byte [ecx]
mov byte [esp + 0x2e], dl
mov byte [esp], 7
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
call fcn.005c2e80
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], edi
test ebp, ebp
jne 0x5c365b
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x54]
mov edi, dword [ebp + 0x30]
test edi, edi
je 0x5c32f2
cmp edi, eax
xchg ebp, ebx
setb bl
xchg ebp, ebx
sar edi, 0x1f
cmp edi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
setb bl
and ebp, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c3618
mov ebx, ecx
sar ecx, 0x1f
cmp ecx, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg edi, ebx
setb bl
xchg edi, ebx
cmp ebx, eax
mov ecx, ebx
setb bl
and ebx, ebp
or ebx, edi
test bl, bl
jne 0x5c35dd
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], esi
movzx ebx, byte [esp + 0x2e]
test bl, 0x80
je 0x5c3546
movzx ebx, byte [esp + 0x64]
test bl, bl
jne 0x5c33b3
xor ebx, ebx
test esi, esi
jne 0x5c36bf
cmp ecx, eax
jb 0x5c36ba
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, eax
mov esi, dword [esp + 0x58]
add edx, esi
mov dword [esp + 0x70], edx
sub ecx, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
test bl, 1
jne 0x5c338e
add esp, 0x50
ret
and ebx, 0xfffffffe
mov byte [esp + 0x2f], bl
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0046e960
jmp 0x5c338a
lea eax, [0x8164a0]
mov dword [esp], eax
call fcn.0046ea00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea edx, [0x6671c0]
cmp edx, ecx
jne 0x5c36db
nop
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
mov byte [eax + 0x10], 0
lea ebx, [0x6898c0]
mov dword [esp + 0x44], ebx
lea ebx, [0x8164a0]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov byte [esp + 0x2f], 1
mov esi, dword [esp + 0x34]
test esi, esi
jne 0x5c36ce
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
cmp edx, ecx
jb 0x5c36c9
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x54]
mov ebx, dword [ebx + 0x30]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.005c3730
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x5c34d7
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
mov ebp, dword [edx + 8]
mov eax, dword [edx + 0xc]
cmp eax, ecx
ja 0x5c36c4
mov dword [esp], 0
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
lea edx, [ebx + ebp]
mov dword [esp + 4], edx
sub ecx, eax
mov dword [esp + 8], ecx
call fcn.00445ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x3c]
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
mov byte [eax + 0x10], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x34]
mov ebx, 1
jmp 0x5c3343
nop
mov edx, dword [esp + 0x3c]
mov dword [edx + 4], 0
mov dword [edx + 0xc], 0
mov byte [edx + 0x10], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov byte [esp + 0x2f], 0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0046e960
add esp, 0x50
ret
movzx ebx, byte [esp + 0x64]
test bl, bl
je 0x5c3587
test esi, esi
jne 0x5c370a
cmp edx, eax
jb 0x5c3703
mov dword [esp], 0
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00445ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov esi, dword [esp + 0x34]
test esi, esi
jne 0x5c36f6
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
cmp ecx, eax
jb 0x5c36f1
mov edx, dword [esp + 0x60]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x58]
add edx, ebp
mov dword [esp + 0x70], edx
sub ecx, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x50
ret
mov eax, dword [0x81bfa8]
mov ebx, dword [0x81bfac]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
add esp, 0x50
ret
mov eax, dword [0x81bfa0]
mov ecx, dword [0x81bfa4]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
add esp, 0x50
ret
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
add esp, 0x50
ret
mov ecx, dword [0x81bfa8]
mov edx, dword [0x81bfac]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
add esp, 0x50
ret
call fcn.0045add0
call fcn.0045aef0
call fcn.0045adc0
call fcn.0045adb0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x60]
call fcn.0045aeb0
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x633380]
mov dword [esp + 8], eax
call fcn.004088c0
call fcn.0045add0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
call fcn.0045aef0
mov ecx, eax
call fcn.0045adb0
mov ecx, eax
call fcn.0045aeb0
nop
call fcn.0042fd30
add esp, 0x50
ret
call fcn.00459790
jmp fcn.005c31f0