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

Disassembly:
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub esp, 0x88
and eax, 0x80000003
jns 0x5c0078
dec eax
or eax, 0xfffffffc
inc eax
jne 0x5c0080
mov dword [esp + 0x10], ecx
jmp 0x5c008b
mov edx, ecx
sub edx, eax
add edx, 4
mov dword [esp + 0x10], edx
push ebx
push ebp
mov eax, ecx
push esi
cdq
mov esi, 0xc
idiv esi
push edi
mov eax, ecx
test edx, edx
je 0x5c00a3
sub eax, edx
add eax, esi
and eax, 0x8000000f
jns 0x5c00af
dec eax
or eax, 0xfffffff0
inc eax
jne 0x5c00c6
test edx, edx
jne 0x5c00bb
mov dword [esp + 0x10], ecx
jmp 0x5c00f0
sub ecx, edx
add ecx, 0xc
mov dword [esp + 0x10], ecx
jmp 0x5c00f0
test edx, edx
mov eax, ecx
je 0x5c00da
sub eax, edx
add eax, 0xc
test edx, edx
je 0x5c00da
sub ecx, edx
add ecx, 0xc
and ecx, 0x8000000f
jns 0x5c00e7
dec ecx
or ecx, 0xfffffff0
inc ecx
sub eax, ecx
add eax, 0x10
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0xa0]
xor edi, edi
xor ebx, ebx
xor esi, esi
test ebp, ebp
je 0x5c0158
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + esi*4]
mov eax, ecx
cdq
mov ebp, 0xc
idiv ebp
mov eax, ecx
test edx, edx
je 0x5c011f
sub eax, edx
add eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
add edi, eax
mov eax, ecx
and eax, 0x80000003
jns 0x5c0138
dec eax
or eax, 0xfffffffc
inc eax
je 0x5c013f
sub ecx, eax
add ecx, 4
mov ebp, dword [esp + 0xa0]
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
add ebx, eax
inc esi
cmp esi, ebp
jne 0x5c0101
mov eax, edi
and eax, 0x8000000f
jns 0x5c0166
dec eax
or eax, 0xfffffff0
inc eax
mov esi, edi
je 0x5c016f
sub esi, eax
add esi, 0x10
mov eax, ebx
and eax, 0x8000000f
jns 0x5c017d
dec eax
or eax, 0xfffffff0
inc eax
jne 0x5c0185
mov dword [esp + 0x18], ebx
jmp 0x5c0190
mov ecx, ebx
sub ecx, eax
add ecx, 0x10
mov dword [esp + 0x18], ecx
lea ecx, [ebx*4]
mov eax, ecx
and eax, 0x8000000f
jns 0x5c01a5
dec eax
or eax, 0xfffffff0
inc eax
je 0x5c01b0
lea ecx, [ebx*4 + 0x10]
sub ecx, eax
mov eax, edi
and eax, 0x80000001
mov dword [esp + 0x14], ecx
jns 0x5c01c2
dec eax
or eax, 0xfffffffe
inc eax
je 0x5c01c9
sub edi, eax
add edi, 2
mov eax, ebx
and eax, 0x80000001
mov dword [esp + 0x1c], edi
jns 0x5c01db
dec eax
or eax, 0xfffffffe
inc eax
mov edi, ebx
je 0x5c01e4
sub edi, eax
add edi, 2
lea eax, [ebx + ebx*4]
shl eax, 1
cdq
sub eax, edx
mov ecx, ebp
sar eax, 1
and ecx, 0x8000000f
jns 0x5c01fd
dec ecx
or ecx, 0xfffffff0
inc ecx
je 0x5c0204
sub ebp, ecx
add ebp, 0x10
mov ebx, dword [esp + 0x14]
lea ecx, [eax + eax*2]
shl ecx, 6
add ecx, 0x40
mov dword [esp + 0x94], ecx
lea eax, [ebx*4]
mov ecx, eax
and ecx, 0x3f
je 0x5c022f
lea eax, [ebx*4 + 0x40]
sub eax, ecx
add eax, 0x40
mov dword [esp + 0x8c], eax
lea eax, [esi*4]
mov ecx, eax
and ecx, 0x3f
je 0x5c0250
lea eax, [esi*4 + 0x40]
sub eax, ecx
mov edx, dword [esp + 0x18]
add eax, 0x40
mov dword [esp + 0x84], eax
lea eax, [edx*4]
mov ecx, eax
and ecx, 0x3f
je 0x5c0275
lea eax, [edx*4 + 0x40]
sub eax, ecx
add eax, 0x40
mov dword [esp + 0x7c], eax
mov eax, edi
neg eax
shl eax, 5
and eax, 0x3f
jne 0x5c028f
mov ecx, edi
shl ecx, 5
jmp 0x5c0297
lea ecx, [edi + 2]
shl ecx, 5
sub ecx, eax
mov edx, dword [esp + 0x1c]
add ecx, 0x40
mov dword [esp + 0x74], ecx
mov ecx, edx
neg ecx
shl ecx, 5
and ecx, 0x3f
jne 0x5c02b3
shl edx, 5
jmp 0x5c02bb
add edx, 2
shl edx, 5
sub edx, ecx
add edx, 0x40
test eax, eax
mov dword [esp + 0x6c], edx
jne 0x5c02cd
shl edi, 5
mov ecx, edi
jmp 0x5c02d5
lea ecx, [edi + 2]
shl ecx, 5
sub ecx, eax
add ecx, 0x40
mov dword [esp + 0x64], ecx
lea eax, [ebp*4]
mov ecx, eax
and ecx, 0x3f
je 0x5c02f3
lea eax, [ebp*4 + 0x40]
sub eax, ecx
add eax, 0x40
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x5c], eax
mov eax, ecx
and eax, 0x3f
jne 0x5c030a
mov edx, ecx
jmp 0x5c0312
lea edx, [ebx + 4]
shl edx, 4
sub edx, eax
add edx, 0x40
test eax, eax
mov dword [esp + 0x54], edx
jne 0x5c0321
mov edx, ecx
jmp 0x5c0329
lea edx, [ebx + 4]
shl edx, 4
sub edx, eax
add edx, 0x40
test eax, eax
mov dword [esp + 0x4c], edx
jne 0x5c0338
mov edx, ecx
jmp 0x5c0340
lea edx, [ebx + 4]
shl edx, 4
sub edx, eax
add edx, 0x40
test eax, eax
mov dword [esp + 0x44], edx
jne 0x5c034f
mov edx, ecx
jmp 0x5c0357
lea edx, [ebx + 4]
shl edx, 4
sub edx, eax
add edx, 0x40
test eax, eax
mov dword [esp + 0x3c], edx
jne 0x5c0366
mov edx, ecx
jmp 0x5c036e
lea edx, [ebx + 4]
shl edx, 4
sub edx, eax
add edx, 0x40
test eax, eax
mov dword [esp + 0x34], edx
je 0x5c0381
lea ecx, [ebx + 4]
shl ecx, 4
sub ecx, eax
mov esi, dword [esp + 0x20]
add ecx, 0x40
lea eax, [esi*4]
mov dword [esp + 0x2c], ecx
mov ecx, eax
and ecx, 0xf
mov dword [esp + 0x60], eax
mov dword [esp + 0x90], ecx
je 0x5c03ae
lea eax, [esi*4 + 0x10]
sub eax, ecx
add eax, 0x10
mov dword [esp + 0x28], eax
mov eax, esi
imul eax, esi
lea edx, [esi*4 + 0x10]
mov dword [esp + 0x18], edx
lea ecx, [eax*4 + 0x10]
cdq
and edx, 0xf
add eax, edx
mov ebp, eax
sar ebp, 4
mov edx, ebp
and edx, 0x8000000f
jns 0x5c03e6
dec edx
or edx, 0xfffffff0
inc edx
mov dword [esp + 0x20], edx
mov eax, ebp
je 0x5c03f3
sub eax, edx
add eax, 0x10
shl eax, 2
test edx, edx
mov dword [esp + 0x78], eax
mov eax, ebp
je 0x5c0405
sub eax, edx
add eax, 0x10
lea edx, [eax*4]
mov eax, esi
mov dword [esp + 0x58], edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov esi, eax
and esi, 0x8000000f
mov dword [esp + 0x1c], eax
jns 0x5c042e
dec esi
or esi, 0xfffffff0
inc esi
mov dword [esp + 0x30], esi
mov edx, eax
je 0x5c043b
sub edx, esi
add edx, 0x10
shl edx, 2
test esi, esi
mov dword [esp + 0x24], edx
mov edx, eax
je 0x5c044d
sub edx, esi
add edx, 0x10
lea eax, [edx*4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
lea edi, [eax*4]
mov edx, edi
and edx, 0x3f
mov dword [esp + 0x14], edi
jne 0x5c0472
mov esi, edi
jmp 0x5c047b
lea esi, [eax*4 + 0x40]
sub esi, edx
add esi, 0x40
test edx, edx
mov dword [esp + 0x70], esi
jne 0x5c048a
mov esi, edi
jmp 0x5c0493
lea esi, [eax*4 + 0x40]
sub esi, edx
add esi, 0x40
test edx, edx
mov dword [esp + 0x48], esi
jne 0x5c04a2
mov esi, edi
jmp 0x5c04ab
lea esi, [eax*4 + 0x40]
sub esi, edx
add esi, 0x40
test edx, edx
mov dword [esp + 0x80], esi
jne 0x5c04bd
mov esi, edi
jmp 0x5c04c6
lea esi, [eax*4 + 0x40]
sub esi, edx
add esi, 0x40
test edx, edx
mov dword [esp + 0x40], esi
jne 0x5c04d5
mov esi, edi
jmp 0x5c04de
lea esi, [eax*4 + 0x40]
sub esi, edx
add esi, 0x40
test edx, edx
mov dword [esp + 0x68], esi
jne 0x5c04ed
mov esi, edi
jmp 0x5c04f6
lea esi, [eax*4 + 0x40]
sub esi, edx
add esi, 0x40
test edx, edx
mov dword [esp + 0x38], esi
jne 0x5c0505
mov esi, edi
jmp 0x5c050e
lea esi, [eax*4 + 0x40]
sub esi, edx
mov eax, dword [esp + 0x10]
add esi, 0x40
mov dword [esp + 0x88], esi
mov esi, eax
imul esi, eax
lea ebx, [esi*4]
mov edi, ebx
and edi, 0x3f
je 0x5c0538
lea ebx, [esi*4 + 0x40]
sub ebx, edi
add ebx, 0x40
test edx, edx
mov dword [esp + 0x10], ebx
jne 0x5c0549
mov esi, dword [esp + 0x14]
jmp 0x5c0552
lea esi, [eax*4 + 0x40]
sub esi, edx
mov eax, dword [esp + 0x90]
add esi, 0x40
test eax, eax
mov dword [esp + 0x14], esi
jne 0x5c056a
mov ebx, dword [esp + 0x60]
jmp 0x5c0570
mov ebx, dword [esp + 0x18]
sub ebx, eax
mov eax, dword [esp + 0x20]
add ebx, 0x10
test eax, eax
mov edx, ebp
je 0x5c0582
sub edx, eax
add edx, 0x10
mov eax, dword [esp + 0x20]
test eax, eax
lea edi, [edx*4]
je 0x5c0596
sub ebp, eax
add ebp, 0x10
mov eax, ebp
mov ebp, dword [esp + 0x30]
test ebp, ebp
lea esi, [eax*4]
mov eax, dword [esp + 0x1c]
mov edx, eax
je 0x5c05b2
sub edx, ebp
add edx, 0x10
shl edx, 2
test ebp, ebp
je 0x5c05be
sub eax, ebp
add eax, 0x10
lea eax, [edx + eax*4]
add eax, esi
add eax, edi
add eax, ecx
add eax, ecx
add eax, ebx
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x10]
add eax, dword [esp + 0x88]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x68]
add eax, esi
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x80]
add eax, edx
mov edi, dword [esp + 0x48]
add eax, ebp
mov esi, dword [esp + 0x70]
add eax, ebx
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x24]
add eax, edi
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x78]
add eax, esi
add eax, edx
add eax, ebp
mov ebp, dword [esp + 0x18]
add eax, ebx
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x34]
add eax, edi
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
add eax, ecx
add eax, ecx
mov ecx, dword [esp + 0x44]
add eax, ebp
mov ebp, dword [esp + 0x4c]
add eax, ebx
mov ebx, dword [esp + 0x54]
add eax, edi
mov edi, dword [esp + 0x5c]
add eax, esi
mov esi, dword [esp + 0x64]
add eax, edx
mov edx, dword [esp + 0x6c]
add eax, ecx
mov ecx, dword [esp + 0x74]
add eax, ebp
mov ebp, dword [esp + 0x7c]
add eax, ebx
mov ebx, dword [esp + 0x84]
add eax, edi
mov edi, dword [esp + 0x8c]
add eax, esi
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0x94]
add eax, ebp
add eax, ebx
add eax, edi
pop edi
pop esi
add eax, ecx
pop ebp
add eax, ecx
pop ebx
add esp, 0x88
ret 0x14