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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5c09dc
sub esp, 0x74
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
call fcn.005c09f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test ebp, ebp
jne 0x5c0999
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov dword [esp], ecx
call fcn.0058f0e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax]
mov ebx, dword [esp + 4]
lea ebp, [ebx + 7]
sar ebp, 0x1f
shr ebp, 0x1d
lea ebx, [ebp + ebx + 7]
sar ebx, 3
lea ebp, [ecx + eax + 0xb]
cmp ebx, ebp
jl 0x5c097b
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea eax, [esp + 0x64]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
call fcn.0058ef80
mov eax, dword [esp + 0x10]
mov byte [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x54]
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005c2760
mov eax, dword [esp + 0xc]
mov dword [esp], eax
call fcn.0058f020
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x30]
cmp eax, edx
jle 0x5c0972
mov ebx, edx
mov dword [esp + 0x44], edx
lea eax, [0x7d0160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00439eb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x44]
mov ebp, edx
sub edx, ebx
cmp edx, ebp
ja 0x5c09d5
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], ebp
sub ebp, edx
sub ecx, edx
neg ecx
sar ecx, 0x1f
and edx, ecx
lea ecx, [edx + eax]
mov edx, dword [esp + 0x34]
cmp ebp, edx
jle 0x5c096b
mov dword [esp], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0044e470
mov eax, dword [esp + 0x44]
test eax, eax
jbe 0x5c09ce
mov ecx, dword [esp + 0x50]
movzx edx, byte [ecx]
cmp eax, 1
jbe 0x5c09c7
movzx ebx, byte [ecx + 1]
dec edx
shr edx, 0x1f
xor ebx, 1
movzx ebx, bl
dec ebx
shr ebx, 0x1f
and edx, ebx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x38]
mov esi, ebx
sub ebx, ebp
cmp ebx, esi
ja 0x5c09c0
mov ebp, dword [esp + 0x3c]
cmp esi, ebp
ja 0x5c09c0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], ebx
sub ebp, ebx
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
add ebp, ecx
mov dword [esp], ebp
sub esi, ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x14], edx
call fcn.005b1590
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
and eax, ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
sub ecx, edx
mov edx, dword [esp + 0x40]
cmp ecx, edx
ja 0x5c09b9
mov ebx, dword [esp + 0x3c]
cmp edx, ebx
ja 0x5c09b9
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], ecx
sub ebx, ecx
mov eax, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov ebp, dword [esp + 0x50]
add ebx, ebp
mov dword [esp], ebx
sub edx, ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
call fcn.005b1590
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
and eax, ecx
mov ecx, dword [esp + 0x40]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x44]
cmp edx, ebx
jae 0x5c09b2
mov ebp, dword [esp + 0x50]
movzx ecx, byte [ecx + ebp - 1]
dec ecx
shr ecx, 0x1f
and eax, ecx
mov ecx, 2
jmp 0x5c0924
lea esi, [ecx + 1]
movzx edi, byte [ebp + ecx]
xor edi, 0xffffffff
xchg edi, eax
movzx eax, al
xchg edi, eax
dec edi
shr edi, 0x1f
and eax, edi
mov ecx, esi
cmp ecx, edx
jge 0x5c092e
cmp ecx, ebx
jb 0x5c090c
jmp 0x5c09ab
cmp eax, 1
je 0x5c0951
mov eax, dword [0xcad33c]
mov ecx, dword [0xcad338]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x74
ret
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x74
ret
mov edx, ebp
jmp 0x5c07ba
mov ebx, edx
mov edx, eax
jmp 0x5c075e
mov eax, dword [0xcad338]
mov ecx, dword [0xcad33c]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x74
ret
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], esi
add esp, 0x74
ret
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.0044c200
jmp fcn.005c0610