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

Disassembly:
mov ecx, dword [0x8602c0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x5c24d6
sub esp, 0x94
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
call fcn.005c3c00
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5c2299
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x30], edx
mov eax, 0x88888889
mov ebx, dword [esp + 0xa4]
mul ebx
mov eax, 0x88888889
mov esi, dword [esp + 0xa8]
mov edi, edx
mul esi
shr edi, 4
shr edx, 4
imul eax, edx, 0x1e
sub esi, eax
mov eax, esi
shl esi, 4
imul ebp, edi, 0x1e
sub ebx, ebp
add ebx, esi
mov ebp, eax
mov eax, 0x88888889
mov esi, edx
mul ebx
shr edx, 4
mov eax, ebp
mov ebx, 0x8888888
mov ebp, edx
mul ebx
add edi, 0
adc esi, 0
add edi, eax
adc edx, esi
add ebp, edi
adc edx, 0
cmp dword [ecx + 0x10], ebp
seta bl
mov ebp, dword [esp + 0x30]
cmp ebp, edx
seta dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c21de
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov dword [edx], eax
mov ebx, dword [0x860560]
mov ebp, 0xffffffff
mov esi, dword [esp + 0xa4]
sub ebp, esi
mov ebp, 0x7fffffff
mov edi, dword [esp + 0xa8]
sbb ebp, edi
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg edi, ebx
setg bl
xchg edi, ebx
and ebp, 1
or ebp, edi
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
test ebx, ebx
je 0x5c1fab
call fcn.00467c50
mov ebx, dword [esp + 0xa0]
mov dword [edi], ebx
mov eax, dword [edx + 4]
mov dword [edi + 4], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0xa0]
mov dword [edx + 4], eax
mov ebx, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x14]
lea esi, [0x62fd80]
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ebx
call fcn.0044db20
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x98]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], ecx
mov ecx, dword [0x860560]
test ecx, ecx
je 0x5c2018
call fcn.00467c50
mov dword [edi], edx
mov ecx, dword [ebx + 8]
mov dword [edi + 4], ecx
mov dword [ebx + 8], edx
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x2c]
mov dword [ebx + 0x18], ecx
mov ecx, dword [0x860560]
test ecx, ecx
je 0x5c203b
call fcn.00467c50
mov dword [edi], edx
mov ecx, dword [ebx + 0x14]
mov dword [edi + 4], ecx
mov dword [ebx + 0x14], edx
nop
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x5c2058
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
jmp 0x5c2062
mov ecx, 0x7fffffff
mov edx, 0xffffffff
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
lea eax, [0x622460]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
mov edx, dword [0x860560]
test edx, edx
jne 0x5c2098
mov edx, dword [esp + 0xa0]
jmp 0x5c20a6
call fcn.00467c40
mov edx, dword [esp + 0xa0]
mov dword [edi], edx
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov ebx, dword [esp + 0x28]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0x24]
test ebp, ebp
jge 0x5c20ec
mov ebp, dword [0x82f630]
mov esi, dword [0x82f634]
jmp 0x5c20f9
mov edi, dword [ebx + 0x20]
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], ebp
xor ebp, ebp
xor esi, esi
test ebp, ebp
jne 0x5c21c9
mov dword [esp + 0x34], eax
nop
nop
lea eax, [0x628880]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
lea ecx, [0x60dc80]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.0044da60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
nop
lea edi, [esp + 0x68]
xor eax, eax
call fcn.00467ee5
mov eax, dword [esp + 0x54]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x1000
mov dword [esp + 0x70], 0x1000
lea eax, [0x689f10]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], eax
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x90], 0xffffffff
mov eax, dword [0x860560]
test eax, eax
je 0x5c21b7
lea eax, [0x628880]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
lea ecx, [esp + 0x68]
mov dword [esp + 8], ecx
call fcn.00411510
mov edi, dword [esp + 0x48]
lea esi, [esp + 0x68]
call fcn.00468392
jmp 0x5c22ba
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb0], esi
add esp, 0x94
ret
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00409a60
mov eax, dword [esp + 8]
lea ecx, [0x60dd40]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00409a60
mov eax, dword [esp + 8]
lea ecx, [0x60db80]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea eax, [0x64ab2d]
mov dword [esp], eax
mov dword [esp + 4], 0x3c
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
add esp, 0x94
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
add esp, 0x94
ret
mov dword [ebx + edx*4 - 4], ecx
lea eax, [0x621fe0]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x54], ecx
mov edx, dword [0x860560]
test edx, edx
jne 0x5c22e9
mov edx, dword [esp + 0xa0]
jmp 0x5c22f7
call fcn.00467c40
mov edx, dword [esp + 0xa0]
mov dword [edi], edx
mov dword [esp + 0x38], eax
mov dword [eax + 0x58], edx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0x60], ecx
mov ebx, dword [esp + 0xa4]
mov dword [eax + 0x5c], ebx
mov dword [esp], eax
lea ebp, [0x689e0c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x48]
mov dword [esp + 8], esi
call fcn.005c2e20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x24], ebp
cmp dword [0x82f4a8], eax
je 0x5c2358
xor esi, esi
jmp 0x5c2391
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ebx
mov ecx, dword [0x82f4ac]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004040e0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0x4c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c239e
mov eax, 1
jmp 0x5c23d1
cmp dword [0x82f620], eax
je 0x5c23aa
xor eax, eax
jmp 0x5c23d1
mov ecx, dword [0x82f624]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004040e0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x24]
test al, al
jne 0x5c248e
test ebp, ebp
jne 0x5c2479
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
inc edx
mov ebx, dword [eax + 8]
cmp ecx, edx
jae 0x5c244c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x62fd80]
mov dword [esp + 0x10], eax
call fcn.0044dbe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x98]
mov dword [ebx + 0x10], eax
mov eax, dword [0x860560]
test eax, eax
je 0x5c2445
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [ebx + 8]
mov dword [edi + 4], eax
mov dword [ebx + 8], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 0xc], edx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x5c2462
mov ecx, dword [esp + 0x38]
jmp 0x5c22b6
call fcn.00467c50
mov ecx, dword [esp + 0x38]
mov dword [edi], ecx
mov ebp, dword [ebx + edx*4 - 4]
mov dword [edi + 4], ebp
jmp 0x5c22b6
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
add esp, 0x94
ret
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
mov ebx, dword [esp + 0x98]
mov ebx, dword [ebx + 0xc]
cmp bx, ax
je 0x5c24b9
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
add esp, 0x94
ret
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
add esp, 0x94
ret
call fcn.00466840
jmp fcn.005c1e60