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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov edi, dword [ebp + 0x24]
mov eax, dword [0x1f07010]
xor eax, ebp
mov dword [esp + 0xa8], eax
mov ebx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x14], ecx
cmp ecx, 0xffffffff
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
je 0x1ce5f27
cmp ebx, 0xffffffff
je 0x1ce5f27
cmp ebx, 4
jne 0x1ce5f43
mov eax, edx
or eax, dword [esp + 0xc]
jne 0x1ce5f43
mov eax, esi
mov edi, dword [esp + 8]
shld eax, edi, 0x18
mov ecx, esi
shr ecx, 8
mov edx, 0x225c17c
cmp edx, eax
mov eax, 0
sbb eax, ecx
jb 0x1ce6091
mov ecx, 0x3b9aca00
mov eax, edi
mul ecx
imul esi, esi, 0x3b9aca00
mov edi, dword [esp + 0x14]
mov ebx, edi
shr ebx, 2
add ebx, eax
adc esi, edx
and edi, 3
xor ecx, ecx
mov eax, dword [ebp + 0x24]
xor edx, edx
jmp 0x1ce6048
mov ecx, esi
shr ecx, 0x1f
mov edx, esi
xor edx, eax
shr edx, 0x1f
cmp dword [esp + 0x14], 0xffffffff
jne 0x1ce60a4
jmp 0x1ce60b6
cmp ebx, 0x190
jne 0x1ce5f9b
mov eax, edx
or eax, dword [esp + 0xc]
jne 0x1ce5f9b
mov ecx, 0xbf94d454
mov eax, dword [esp + 8]
cmp ecx, eax
mov ecx, 0xd6
sbb ecx, esi
jb 0x1ce6091
mov ecx, 0x989680
mul ecx
mov ecx, edx
mov edx, 0x51eb851f
mov ebx, eax
mov edi, dword [esp + 0x14]
mov eax, edi
mul edx
imul esi, esi, 0x989680
shr edx, 7
add ebx, edx
adc esi, ecx
imul eax, edx, 0x190
jmp 0x1ce603f
cmp ebx, 0xfa0
jne 0x1ce5ff0
mov eax, edx
or eax, dword [esp + 0xc]
jne 0x1ce5ff0
mov ecx, 0x7bd04b55
mov eax, dword [esp + 8]
cmp ecx, eax
mov ecx, 0x863
sbb ecx, esi
jb 0x1ce6091
mov ecx, 0xf4240
mul ecx
mov ecx, edx
mov edx, 0x10624dd3
mov ebx, eax
mov edi, dword [esp + 0x14]
mov eax, edi
mul edx
imul esi, esi, 0xf4240
shr edx, 8
add ebx, edx
adc esi, ecx
imul eax, edx, 0xfa0
jmp 0x1ce603f
cmp ebx, 0x3d0900
jne 0x1ce6055
mov eax, edx
or eax, dword [esp + 0xc]
jne 0x1ce6055
mov ecx, 0xa5a64af6
mov eax, dword [esp + 8]
cmp ecx, eax
mov ecx, 0x20c49b
sbb ecx, esi
jb 0x1ce6091
mov ecx, 0x3e8
mul ecx
mov ecx, edx
mov edx, 0x431bde83
mov ebx, eax
mov edi, dword [esp + 0x14]
mov eax, edi
mul edx
imul esi, esi, 0x3e8
shr edx, 0x14
add ebx, edx
adc esi, ecx
imul eax, edx, 0x3d0900
sub edi, eax
xor edx, edx
xor ecx, ecx
mov eax, dword [ebp + 0x24]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
jmp 0x1ce6535
test ebx, ebx
jne 0x1ce6091
cmp dword [esp + 0x10], 1
mov eax, dword [esp + 0xc]
sbb eax, 0
jl 0x1ce6091
test esi, esi
js 0x1ce65b9
mov ecx, dword [esp + 0x10]
mov eax, ecx
xor eax, 1
xor edx, edx
mov ebx, dword [esp + 0xc]
or eax, ebx
jne 0x1ce6631
xor ecx, ecx
mov ebx, dword [esp + 8]
jmp 0x1ce665e
mov ecx, esi
shr ecx, 0x1f
mov edx, esi
mov eax, dword [esp + 0xc]
xor edx, eax
shr edx, 0x1f
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x18], esi
mov esi, eax
mov eax, dword [esp + 0x10]
or eax, esi
jne 0x1ce610b
test ebx, ebx
jne 0x1ce610b
test cl, cl
je 0x1ce63a0
mov dword [esp + 0x88], SysReAllocString
xor eax, eax
dec eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], eax
sub esp, 0x10
mov dword [esp + 0xc], eax
movsd xmm0, qword [esp + 0x94]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0xa0]
mov dword [esp], eax
mov esi, edx
call fcn.01ce666a
mov edx, esi
add esp, 0x10
jmp 0x1ce63bc
cmp ebx, 0xffffffff
je 0x1ce63f4
mov dword [esp + 0x20], edx
mov edx, ecx
mov esi, dword [esp + 0x18]
mov ecx, esi
sar ecx, 0x1f
xor esi, ecx
mov eax, dword [esp + 8]
xor eax, ecx
mov ecx, 0xee6b2800
mov edi, dword [esp + 0x14]
sub ecx, edi
mov dword [esp + 0x28], edx
test dl, dl
cmove ecx, edi
mov edx, 0xee6b2800
mul edx
mov edi, edx
mov dword [esp + 0x18], ebx
mov ebx, eax
mov eax, esi
mov edx, 0xee6b2800
mul edx
mov esi, edx
add eax, edi
adc esi, 0
xor edx, edx
cmp eax, eax
setb dl
add ebx, ecx
mov dword [esp + 0x14], ebx
adc eax, 0
mov dword [esp + 0x1c], eax
adc edx, esi
mov dword [esp + 0x3c], edx
setb byte [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, ecx
sar edx, 0x1f
mov esi, ecx
xor esi, edx
mov eax, dword [esp + 0x10]
xor eax, edx
mov edi, 0xee6b2800
mov edx, dword [esp + 0x18]
sub edi, edx
test ecx, ecx
cmovns edi, edx
mov ecx, 0xee6b2800
mul ecx
mov ecx, edx
mov ebx, eax
mov eax, esi
mov edx, 0xee6b2800
mul edx
add eax, ecx
adc edx, 0
xor ecx, ecx
cmp eax, eax
setb cl
add ebx, edi
mov dword [esp + 0xc], ebx
adc eax, 0
adc ecx, edx
pcmpeqd xmm0, xmm0
lea edi, [esp + 0x70]
movdqa xmmword [edi], xmm0
movzx edx, byte [esp + 8]
setb bl
movzx esi, bl
mov dword [esp + 0x58], esi
push esi
mov dword [esp + 0x60], ecx
push ecx
mov dword [esp + 0x18], eax
push eax
push dword [esp + 0x18]
mov dword [esp + 0x70], edx
push edx
push dword [esp + 0x50]
push dword [esp + 0x34]
push dword [esp + 0x30]
push edi
call fcn.01ce3738
add esp, 0x24
mov eax, dword [edi]
mov dword [esp + 8], eax
mov esi, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], eax
mov ebx, dword [edi + 8]
cmp byte [ebp + 8], 0
je 0x1ce627e
xor eax, eax
test esi, esi
sets al
xor edx, edx
mov edi, ebx
or edi, dword [esp + 0x24]
setne dl
cmovne eax, edx
cmp al, 1
jne 0x1ce627e
xor ebx, ebx
xor ecx, ecx
dec ecx
mov eax, ecx
add eax, 1
mov esi, SysReAllocString
adc esi, ebx
cmp byte [esp + 0x20], 0
mov edx, SysReAllocString
cmove esi, edx
cmove eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 8]
mov eax, ebx
mov ecx, dword [esp + 0xc]
mul ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], eax
mov eax, esi
mul ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x34], eax
mov eax, ebx
mov edi, dword [esp + 0x10]
mul edi
mov dword [esp + 0x50], edx
mov ecx, eax
mov eax, esi
mul edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add eax, edx
add ecx, eax
mov dword [esp + 0x30], ecx
mov eax, ebx
mov ecx, dword [esp + 0x24]
mov edi, esi
mov esi, dword [esp + 0x5c]
mul esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], edi
imul esi, edi
add esi, edx
mov eax, dword [esp + 0x58]
imul eax, ebx
add esi, eax
mov edx, dword [esp + 0x4c]
mov eax, edx
imul edx, dword [esp + 0x10]
mov edi, edx
mov edx, dword [esp + 0xc]
imul ecx, edx
mul edx
add ecx, edx
add ecx, edi
add eax, dword [esp + 0x40]
adc ecx, esi
add eax, dword [esp + 0x44]
adc ecx, dword [esp + 0x48]
xor ebx, ebx
mov edx, dword [esp + 0x50]
add edx, dword [esp + 0x54]
setb bl
mov edi, dword [esp + 0x3c]
sub edi, edx
mov edx, dword [esp + 0x60]
sbb edx, ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x2c]
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
sbb ebx, esi
mov dword [esp + 0x10], ebx
sbb edi, 0
sbb edx, 0
mov ebx, dword [esp + 0x38]
add ebx, dword [esp + 0x34]
sbb edi, 0
sbb edx, 0
cmp esi, ebx
sbb edi, 0
sbb edx, 0
mov ebx, edi
sub ebx, eax
mov esi, edx
sbb esi, ecx
xor edx, ecx
xor edi, eax
or edi, edx
mov edi, dword [ebp + 0x24]
jne 0x1ce640e
push 0
push 0xee6b2800
push dword [esp + 0x18]
mov esi, dword [esp + 0x18]
push esi
call fcn.01e7f2e0
imul ecx, eax, 0x1194d800
add ecx, esi
jmp 0x1ce645f
mov dword [esp + 0x94], SysReAllocString
xor eax, eax
dec eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov dword [edi + 8], eax
xor eax, eax
xor ecx, ecx
dec ecx
mov ebx, ecx
add ebx, 1
adc eax, 0x7fffffff
test dl, dl
movsd xmm0, qword [esp + 0x90]
cmove ebx, ecx
movsd qword [edi], xmm0
mov esi, SysReAllocString
cmovne esi, eax
jmp 0x1ce6535
lea eax, [ebp + 0xc]
mov ecx, dword [eax + 8]
mov dword [edi + 8], ecx
movsd xmm0, qword [eax]
movsd qword [edi], xmm0
xor ebx, ebx
xor esi, esi
jmp 0x1ce6535
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp ebx, 0x77359400
mov eax, esi
sbb eax, 0
jae 0x1ce64d8
pcmpeqd xmm0, xmm0
mov edi, esi
lea esi, [esp + 0x90]
movdqa xmmword [esi], xmm0
xor eax, eax
push eax
push eax
push eax
mov eax, 0xee6b2800
push eax
push edi
push ebx
push edx
mov edi, ecx
push ecx
push esi
call fcn.01ce3738
add esp, 0x24
mov eax, dword [esi]
mov edx, dword [esi + 4]
imul ecx, eax, 0x1194d800
add ecx, edi
cmp byte [esp + 0x28], 0
je 0x1ce6484
xor esi, esi
mov edi, eax
neg edi
mov ebx, 0
sbb ebx, edx
test ecx, ecx
je 0x1ce648a
not eax
not edx
mov esi, 0xee6b2800
sub esi, ecx
jmp 0x1ce6486
mov esi, ecx
mov edi, eax
mov ebx, edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], esi
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov edi, dword [ebp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
mov dword [edi + 8], eax
movsd xmm0, qword [esp + 0x64]
movsd qword [edi], xmm0
test cl, cl
je 0x1ce64ca
mov eax, dword [esp + 0x78]
or eax, ebx
mov ecx, dword [esp + 0x7c]
or ecx, esi
or ecx, eax
jne 0x1ce6521
xor eax, eax
dec eax
and ebx, eax
mov eax, SysReAllocString
and esi, eax
jmp 0x1ce6535
mov ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x2c]
xor ebx, 0x77359400
or eax, ebx
or ecx, esi
or ecx, eax
sete al
mov ecx, dword [esp + 0x28]
and al, cl
cmp al, 1
jne 0x1ce654f
mov dword [esp + 0x68], SysReAllocString
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
jmp 0x1ce64a5
xor eax, eax
dec eax
add ebx, eax
mov ecx, SysReAllocString
adc esi, ecx
and esi, ecx
and ebx, eax
not ebx
not esi
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.01e60425
mov eax, ebx
mov edx, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test cl, cl
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x18]
je 0x1ce65a1
mov dword [esp + 0x94], SysReAllocString
xor eax, eax
dec eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
sub esp, 0x10
mov dword [esp + 0xc], eax
movq xmm0, qword [esp + 0xa0]
movq qword [esp + 4], xmm0
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.01ce666a
add esp, 0x10
jmp 0x1ce64a1
mov dword [esp + 0x68], SysReAllocString
xor eax, eax
dec eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
jmp 0x1ce64a1
xor ebx, ebx
mov edi, dword [esp + 0x14]
test edi, edi
setne bl
neg ebx
mov eax, ebx
sub eax, dword [esp + 8]
mov dword [esp + 0x18], eax
sbb ebx, esi
push dword [esp + 0xc]
push dword [esp + 0x14]
push ebx
push eax
call fcn.01e7f350
mov dword [esp + 8], edx
xor esi, esi
mov edx, eax
neg eax
mov ecx, 0
sbb ecx, dword [esp + 8]
test edi, edi
not edx
cmove edx, eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 8]
not eax
cmove eax, ecx
mov dword [esp + 8], eax
push dword [esp + 0xc]
push dword [esp + 0x14]
push ebx
push dword [esp + 0x24]
call fcn.01e7f2e0
mov ecx, dword [esp + 8]
mov ebx, eax
neg ebx
sbb esi, edx
mov edx, dword [esp + 0x1c]
jmp 0x1ce6045
push ebx
push ecx
push esi
mov edi, dword [esp + 0x14]
push edi
call fcn.01e7f2e0
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
push ebx
push dword [esp + 0x14]
push esi
push edi
call fcn.01e7f350
mov ecx, edx
mov edx, eax
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x24]
mov edi, dword [esp + 0x14]
jmp 0x1ce6048