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

Disassembly:
mov ecx, dword [0x8602c0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x5cd40d
sub esp, 0xc0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.005cb230
lea edi, [esp + 0xac]
lea esi, [esp + 8]
call fcn.004683ce
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x18], edx
call fcn.005cd420
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xc8]
sub eax, ecx
mov ecx, dword [esp + 0xcc]
sbb ecx, edx
sub esi, ebx
sbb edi, ebp
sub eax, esi
sbb ecx, edi
test ecx, ecx
jge 0x5ccf03
xor ecx, ecx
xor eax, eax
mov edx, eax
mov eax, ecx
mov ebx, 0x3b9aca00
mov ecx, edx
mul ebx
mov ebp, eax
mov eax, ecx
mov ecx, edx
mul ebx
cmp eax, 0x80000000
jb 0x5ccf2c
add edx, 1
mov eax, 0
adc eax, 0
jmp 0x5ccf2e
xor eax, eax
mov esi, dword [esp + 0xc4]
movzx edi, byte [esi + 3]
add edx, ebp
mov dword [esp + 0x3c], edx
adc eax, ecx
mov dword [esp + 0x50], eax
xchg edi, eax
test al, al
xchg edi, eax
jle 0x5ccf84
xchg edi, eax
movsx ecx, al
xchg edi, eax
shl ebx, cl
lea ebp, [ecx - 0x20]
mov edi, ecx
mov ecx, ebp
mov eax, 0x3b9aca00
shl eax, cl
neg ecx
mov edx, 0x3b9aca00
shr edx, cl
cmp ebp, 0x20
sbb ebp, ebp
and eax, ebp
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
or eax, edx
cmp edi, 0x20
sbb edx, edx
and ebx, edx
mov ecx, eax
jmp 0x5ccfa5
jge 0x5ccf9e
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
movsx ecx, al
xchg edi, eax
shr ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
xor ecx, ecx
jmp 0x5ccfa5
xor ecx, ecx
mov ebx, 0x3b9aca00
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], ecx
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
nop
movzx ebp, byte [esi]
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.005cb230
lea edi, [esp + 0x98]
lea esi, [esp + 8]
call fcn.004683ce
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 4]
mov edx, ecx
shr ecx, 0x10
mov ebx, eax
mov eax, ecx
mov ebp, 0x3b9aca00
mov ecx, edx
mul ebp
and ecx, 0xffff
mov esi, eax
mov eax, ecx
mov ecx, edx
mul ebp
mov dword [esp + 0x84], edx
mov edi, eax
shr eax, 0x10
shl edx, 0x10
or edx, eax
mov eax, dword [esp + 0x84]
shr eax, 0x10
cmp di, 0x8000
jb 0x5cd02b
add edx, 1
adc eax, 0
mov dword [esp + 0x68], eax
mov edi, dword [ebx + 8]
mov dword [esp + 0x54], edi
shr edi, 0x10
mov eax, edi
mov edi, edx
mul ebp
mov dword [esp + 0x84], edx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x54]
and edx, 0xffff
mov eax, edx
mul ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x5c], eax
shr eax, 0x10
shl edx, 0x10
or edx, eax
mov ebp, dword [esp + 0x80]
shr ebp, 0x10
add edi, esi
mov dword [esp + 0x34], edi
mov esi, dword [esp + 0x68]
adc esi, ecx
mov dword [esp + 0x48], esi
mov ecx, dword [esp + 0x5c]
cmp cx, 0x8000
jb 0x5cd096
add edx, 1
adc ebp, 0
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], edx
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
nop
movzx ebx, byte [ebx]
mov byte [esp + 0x2a], bl
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x18], eax
call fcn.005cd510
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax + 2]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x80], ebx
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
add ebp, esi
mov dword [esp + 0x30], ebp
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x84]
adc esi, edi
mov dword [esp + 0x44], esi
test cl, cl
jle 0x5cd16d
movsx ecx, cl
mov dword [esp + 0x78], ecx
mov edi, 0x3b9aca00
shl edi, cl
lea ebx, [ecx - 0x20]
mov ecx, ebx
mov edx, 0x3b9aca00
shl edx, cl
neg ecx
mov esi, 0x3b9aca00
shr esi, cl
mov ebp, dword [esp + 0x78]
cmp ebp, 0x20
sbb ebp, ebp
and edi, ebp
cmp ecx, 0x20
sbb ebp, ebp
and esi, ebp
cmp ebx, 0x20
sbb ebx, ebx
and ebx, edx
or ebx, esi
mov ecx, ebx
jmp 0x5cd18d
jge 0x5cd186
neg ecx
movsx ecx, cl
mov edi, 0x3b9aca00
shr edi, cl
cmp ecx, 0x20
sbb ecx, ecx
and edi, ecx
xor ecx, ecx
jmp 0x5cd18d
xor ecx, ecx
mov edi, 0x3b9aca00
mov dword [esp + 0x2c], edi
mov dword [esp + 0x40], ecx
lea eax, [0x62ed00]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [0x860560]
mov edi, dword [esp + 4]
mov dword [esp + 0x90], edi
test eax, eax
je 0x5cd1dc
lea eax, [0x636960]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esp + 0xac]
mov dword [esp + 8], ecx
call fcn.00411510
mov edi, dword [esp + 0x90]
lea esi, [esp + 0xac]
call fcn.004683ce
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x88]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x50]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x28], eax
movzx eax, byte [esp + 0x2b]
shr al, 3
and eax, 7
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0xc4]
movzx edx, byte [eax + 1]
mov byte [ecx + 0x30], dl
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x34], eax
mov eax, dword [0x860560]
lea edi, [ecx + 0x38]
test eax, eax
je 0x5cd280
mov dword [esp + 0x94], edi
lea eax, [0x636960]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
call fcn.00411510
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
lea esi, [esp + 0x98]
call fcn.004683ce
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x58], eax
movzx eax, byte [esp + 0x2a]
shr al, 6
and eax, 3
mov byte [ecx + 0x64], al
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x6c], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x68], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x78], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x7c], eax
mov eax, dword [esp + 0xd0]
mov dword [ecx + 0x80], eax
mov eax, dword [0x860560]
test eax, eax
jne 0x5cd2fc
mov eax, dword [esp + 0xd4]
jmp 0x5cd313
call fcn.00467c50
mov eax, dword [esp + 0xd4]
mov dword [edi], eax
mov edx, dword [ecx + 0x84]
mov dword [edi + 4], edx
mov dword [ecx + 0x84], eax
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x50]
mov esi, dword [ecx + 0x54]
mov edi, dword [ecx + 0x58]
add ebx, eax
adc ebp, edx
mov eax, ebp
shr ebp, 0x1f
add ebp, ebx
adc eax, 0
mov edx, eax
sar eax, 1
shr ebp, 1
shl edx, 0x1f
or edx, ebp
add esi, edx
mov dword [ecx + 0x5c], esi
adc eax, edi
mov dword [ecx + 0x60], eax
movzx eax, byte [ecx + 0x30]
test al, al
jne 0x5cd398
mov eax, dword [ecx + 0x34]
mov edx, eax
bswap eax
mov ebx, edx
shr edx, 0x18
mov ebp, ebx
shr ebx, 0x10
mov esi, ebp
shr ebp, 8
mov dword [esp + 0x70], 0
mov byte [esp + 0x70], dl
mov byte [esp + 0x71], bl
xchg ebp, eax
mov byte [esp + 0x72], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x73], al
xchg esi, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
xor eax, eax
jmp 0x5cd3a7
mov dword [esp + 0xd8], ecx
add esp, 0xc0
ret
inc eax
cmp eax, 4
jge 0x5cd3bf
movzx edx, byte [esp + eax + 0x74]
add edx, 0xffffffe0
cmp dl, 0x5e
jbe 0x5cd3a6
xor eax, eax
xor edx, edx
jmp 0x5cd3ee
mov dword [esp], 0
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.00451850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x74], eax
mov eax, dword [0x860560]
test eax, eax
je 0x5cd408
call fcn.00467c50
mov dword [edi], edx
mov eax, dword [ecx + 0x70]
mov dword [edi + 4], eax
mov dword [ecx + 0x70], edx
jmp 0x5cd398
call fcn.00466840
jmp fcn.005cce20