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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov esi, dword [ebp + 0x24]
lea eax, [ebp + 0x18]
lea ebx, [ebp + 0xc]
mov ecx, dword [0x557008]
xor ecx, ebp
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 4]
mov dword [esp], ecx
mov edx, dword [eax + 8]
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 4], ecx
cmp ecx, 0xffffffff
mov dword [esp + 8], edx
je 0x418e16
cmp edx, 0xffffffff
je 0x418e16
mov ebx, dword [ebx]
mov ecx, edx
mov edx, dword [eax]
cmp ecx, 4
mov ecx, dword [esp]
jne 0x418da4
mov eax, edx
or eax, ecx
jne 0x418da4
mov eax, edi
shld eax, ebx, 0x18
mov esi, edi
shr esi, 8
mov ecx, 0x225c17c
cmp ecx, eax
mov ecx, dword [esp]
mov eax, 0
sbb eax, esi
mov esi, dword [ebp + 0x24]
jb 0x418e06
mov ecx, 0x3b9aca00
mov eax, ebx
mul ecx
imul edi, edi, 0x3b9aca00
mov ecx, dword [esp + 4]
mov ebx, ecx
shr ebx, 2
add ebx, eax
adc edi, edx
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
and ecx, 3
mov dword [esi + 8], ecx
jmp 0x418e7f
cmp dword [esp + 8], 0x190
jne 0x418e96
mov eax, edx
or eax, ecx
jne 0x418e96
mov eax, 0xbf94d454
cmp eax, ebx
mov eax, 0xd6
sbb eax, edi
jb 0x418e06
mov ecx, 0x989680
mov eax, ebx
mul ecx
mov dword [esp], edx
mov edx, 0x51eb851f
mov ebx, eax
mov ecx, dword [esp + 4]
mov eax, ecx
mul edx
imul edi, edi, 0x989680
shr edx, 7
add ebx, edx
adc edi, dword [esp]
imul eax, edx, 0x190
sub ecx, eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
jmp 0x418d9c
mov ebx, edi
shr ebx, 0x1f
mov eax, edx
mov edx, ecx
xor ecx, edi
shr ecx, 0x1f
jmp 0x418e2f
mov ebx, edi
shr ebx, 0x1f
mov ecx, dword [esp]
xor ecx, edi
shr ecx, 0x1f
cmp dword [esp + 4], 0xffffffff
je 0x418e47
mov eax, dword [eax]
mov edx, dword [esp]
mov dword [esp + 0xc], eax
or eax, edx
mov edx, dword [esp + 8]
jne 0x418f10
test edx, edx
jne 0x418f10
mov edi, ecx
movzx eax, bl
lea ecx, [eax - 1]
add eax, 0x7fffffff
mov dword [esi], ecx
xor ecx, ecx
xor edx, edx
dec edx
mov ebx, edx
add ebx, 1
adc ecx, 0x7fffffff
mov dword [esi + 4], eax
mov eax, edi
test al, al
cmove ebx, edx
mov dword [esi + 8], 0xffffffff
mov edi, 0x7fffffff
cmovne edi, ecx
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.004a927c
mov eax, ebx
mov edx, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 8], 0xfa0
jne 0x41925a
mov eax, edx
or eax, ecx
jne 0x41925a
mov eax, 0x7bd04b55
cmp eax, ebx
mov eax, 0x863
sbb eax, edi
jb 0x418e06
mov ecx, 0xf4240
mov eax, ebx
mul ecx
mov dword [esp], edx
mov edx, 0x10624dd3
mov ebx, eax
mov ecx, dword [esp + 4]
mov eax, ecx
mul edx
imul edi, edi, 0xf4240
shr edx, 8
add ebx, edx
adc edi, dword [esp]
imul eax, edx, 0xfa0
jmp 0x418dfb
lea ecx, [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
movq xmm0, qword [ecx]
movq qword [esi], xmm0
xor ebx, ebx
xor edi, edi
jmp 0x418e7f
cmp edx, 0xffffffff
je 0x418ef6
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov eax, edi
sar eax, 0x1f
mov ecx, edi
xor ecx, eax
lea esi, [ebp + 0xc]
xor eax, dword [esi]
mov esi, 0xee6b2800
mov edx, dword [esp + 4]
sub esi, edx
test edi, edi
cmovns esi, edx
mov edx, 0xee6b2800
mul edx
mov ebx, edx
mov edi, eax
mov eax, ecx
mov ecx, 0xee6b2800
mul ecx
add edi, esi
mov dword [esp + 4], edi
adc eax, ebx
mov dword [esp + 0x10], eax
adc edx, 0
mov dword [esp + 0x24], edx
setb byte [esp + 0x14]
mov edx, dword [esp]
mov esi, edx
sar esi, 0x1f
mov ecx, edx
xor ecx, esi
mov eax, dword [esp + 0xc]
xor eax, esi
mov esi, 0xee6b2800
mov edi, dword [esp + 8]
sub esi, edi
test edx, edx
cmovns esi, edi
mov edx, 0xee6b2800
mul edx
mov ebx, 0xee6b2800
mov dword [esp], edx
mov edi, eax
mov eax, ecx
mul ebx
mov ebx, eax
add edi, esi
adc ebx, dword [esp]
adc edx, 0
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x50]
movdqa xmmword [esi], xmm0
movzx ecx, byte [esp + 0x14]
setb al
movzx eax, al
mov dword [esp + 0x44], eax
push eax
mov dword [esp + 0x4c], edx
push edx
mov dword [esp + 8], ebx
push ebx
mov dword [esp + 0x14], edi
push edi
mov dword [esp + 0x5c], ecx
push ecx
push dword [esp + 0x38]
push dword [esp + 0x28]
push dword [esp + 0x20]
mov ebx, esi
push esi
call fcn.00416ee0
add esp, 0x24
mov edi, dword [esi]
mov ecx, dword [esi + 4]
mov esi, dword [esi + 0xc]
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp byte [ebp + 8], 0
je 0x41906e
xor eax, eax
test ecx, ecx
sets al
xor edx, edx
mov dword [esp + 0xc], edi
mov ebx, dword [esp + 0x14]
or ebx, esi
mov edi, dword [esp + 0xc]
setne dl
cmovne eax, edx
cmp al, 1
mov edx, dword [esp + 8]
jne 0x419072
xor esi, esi
xor eax, eax
dec eax
mov ebx, eax
add ebx, 1
mov ecx, 0x7fffffff
adc ecx, esi
cmp byte [esp + 0x1c], 0
mov esi, edx
mov edx, 0x7fffffff
cmove ecx, edx
mov edx, esi
cmove ebx, eax
mov edi, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ecx
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x58], eax
xor esi, esi
jmp 0x419072
mov edx, dword [esp + 8]
mov ebx, edi
mov dword [esp + 0xc], edi
mov eax, edi
mov edi, edx
mul edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], eax
mov eax, ecx
mul edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
mov eax, ebx
mov edi, dword [esp + 0x14]
mov ebx, dword [esp]
mul ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], eax
mov eax, ecx
mul ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x44]
imul ebx, eax
mov edx, dword [esp + 0x48]
imul ecx, edx
mul edx
mov dword [esp + 0xc], eax
add ecx, edx
add ecx, ebx
mov eax, edi
imul edi, dword [esp]
mov ebx, dword [esp + 8]
mul ebx
imul esi, ebx
add esi, edx
add esi, edi
add eax, dword [esp + 0xc]
adc esi, ecx
add eax, dword [esp + 0x28]
adc esi, dword [esp + 0x2c]
mov dword [esp], esi
xor edx, edx
mov esi, dword [esp + 0x30]
add esi, dword [esp + 0x34]
setb dl
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
sbb edi, 0
mov ebx, dword [esp + 0x4c]
sbb ebx, 0
add esi, eax
adc edx, dword [esp]
mov eax, ecx
mov ecx, dword [esp + 0x40]
add ecx, eax
sub edi, esi
sbb ebx, edx
cmp ecx, eax
sbb edi, 0
sbb ebx, 0
mov esi, dword [esp + 4]
sub esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov dword [esp], ecx
sbb eax, ecx
sbb edi, 0
sbb ebx, 0
mov edx, edi
or edx, ebx
je 0x4191b5
cmp edi, 0x77359400
mov edx, ebx
sbb edx, 0
jb 0x419188
mov eax, dword [esp + 0x10]
xor eax, dword [esp]
mov ecx, dword [esp + 4]
xor ecx, dword [esp + 0x20]
xor edi, 0x77359400
or ecx, edi
or eax, ebx
or eax, ecx
sete al
mov ecx, dword [esp + 0x18]
test cl, al
je 0x4191f1
mov edi, 0x80000000
xor esi, esi
xor ebx, ebx
jmp 0x419206
pcmpeqd xmm0, xmm0
mov edx, edi
lea edi, [esp + 0x60]
movdqa xmmword [edi], xmm0
xor ecx, ecx
push ecx
push ecx
push ecx
mov ecx, 0xee6b2800
push ecx
push ebx
push edx
push eax
push esi
push edi
call fcn.00416ee0
add esp, 0x24
mov eax, dword [edi]
mov edx, dword [edi + 4]
jmp 0x4191c3
push 0
push 0xee6b2800
push eax
push esi
call fcn.004c6b60
imul ecx, eax, 0x1194d800
add ecx, esi
mov ebx, dword [esp + 0x18]
test bl, bl
je 0x419200
xor esi, esi
mov ebx, eax
neg ebx
mov edi, 0
sbb edi, edx
test ecx, ecx
je 0x419206
not eax
not edx
mov esi, 0xee6b2800
sub esi, ecx
jmp 0x419202
movzx ebx, cl
lea edi, [ebx + 0x7fffffff]
dec ebx
xor esi, esi
dec esi
jmp 0x419206
mov esi, ecx
mov edi, edx
mov ebx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
cmp byte [esp + 0x1c], 0
je 0x419230
mov eax, dword [esp + 0x58]
or eax, ebx
mov ecx, dword [esp + 0x5c]
or ecx, edi
or ecx, eax
jne 0x419241
xor eax, eax
dec eax
and ebx, eax
mov eax, 0x7fffffff
and edi, eax
jmp 0x418e7f
xor eax, eax
dec eax
add ebx, eax
mov ecx, 0x7fffffff
adc edi, ecx
and edi, ecx
and ebx, eax
not ebx
not edi
jmp 0x418e7f
cmp dword [esp + 8], 0x3d0900
jne 0x4192b2
mov eax, edx
or eax, ecx
jne 0x4192b2
mov eax, 0xa5a64af6
cmp eax, ebx
mov eax, 0x20c49b
sbb eax, edi
jb 0x418e06
mov ecx, 0x3e8
mov eax, ebx
mul ecx
mov dword [esp], edx
mov edx, 0x431bde83
mov ebx, eax
mov ecx, dword [esp + 4]
mov eax, ecx
mul edx
imul edi, edi, 0x3e8
shr edx, 0x14
add ebx, edx
adc edi, dword [esp]
imul eax, edx, 0x3d0900
jmp 0x418dfb
cmp dword [esp + 8], 0
jne 0x418e06
cmp edx, 1
mov eax, ecx
sbb eax, 0
jl 0x418e06
test edi, edi
js 0x419327
mov eax, edx
xor eax, 1
or eax, ecx
jne 0x4192eb
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov eax, dword [esp + 4]
mov dword [esi + 8], eax
jmp 0x418e7f
push ecx
push edx
push edi
push ebx
mov dword [esp + 0x1c], edx
call fcn.004c6b60
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
push dword [esp]
push dword [esp + 0x10]
push edi
push ebx
call fcn.004c6bd0
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [esp + 4]
mov dword [esi + 8], eax
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x10]
jmp 0x418e7f
mov eax, dword [esp + 4]
neg eax
mov esi, 0
sbb esi, esi
mov eax, esi
sub eax, ebx
mov dword [esp + 8], eax
mov ebx, esi
sbb ebx, edi
mov dword [esp + 0x10], ebx
push ecx
push edx
push ebx
push eax
mov dword [esp + 0x1c], edx
call fcn.004c6b60
mov ebx, eax
neg ebx
mov edi, 0
sbb edi, edx
push dword [esp]
push dword [esp + 0x10]
push dword [esp + 0x18]
push dword [esp + 0x14]
call fcn.004c6bd0
mov ecx, esi
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp + 0x24]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 4]
mov dword [edx + 8], eax
jmp 0x418e7f