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

Disassembly:
movss dword [rsp + 0x10], xmm1
movss dword [rsp + 8], xmm0
sub rsp, 0x1c8
movss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x198], xmm0
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0x7c], eax
xor eax, eax
test eax, eax
jne 0x1800e3ec3
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x19c], xmm0
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x4c], eax
xor eax, eax
test eax, eax
jne 0x1800e3ee6
mov eax, dword [rsp + 0x7c]
btr eax, 0x1f
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x4c]
btr eax, 0x1f
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jne 0x1800e3f3b
movss xmm0, dword [0x18012a148]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x10], 0x7f800000
jg 0x1800e3f4f
cmp dword [rsp + 0x44], 0x7f800000
jle 0x1800e3f6c
movss xmm0, dword [rsp + 0x1d0]
addss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
mov dword [rsp + 0x70], 0
cmp dword [rsp + 0x7c], 0
jge 0x1800e3fe9
cmp dword [rsp + 0x44], 0x4b800000
jl 0x1800e3f8f
mov dword [rsp + 0x70], 2
jmp 0x1800e3fe9
cmp dword [rsp + 0x44], 0x3f800000
jl 0x1800e3fe9
mov eax, dword [rsp + 0x44]
sar eax, 0x17
sub eax, 0x7f
mov dword [rsp + 0x18], eax
mov eax, 0x17
sub eax, dword [rsp + 0x18]
movzx ecx, al
mov eax, dword [rsp + 0x44]
sar eax, cl
mov dword [rsp + 0xc], eax
mov eax, 0x17
sub eax, dword [rsp + 0x18]
movzx ecx, al
mov eax, dword [rsp + 0xc]
shl eax, cl
cmp eax, dword [rsp + 0x44]
jne 0x1800e3fe9
mov eax, dword [rsp + 0xc]
and eax, 1
mov ecx, 2
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x44], 0x7f800000
jne 0x1800e40ac
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800e4023
movss xmm0, dword [rsp + 0x1d8]
subss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x10], 0x3f800000
jle 0x1800e406a
cmp dword [rsp + 0x4c], 0
jl 0x1800e4048
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0xb0], xmm0
jmp 0x1800e4054
xorps xmm0, xmm0
movss dword [rsp + 0xb0], xmm0
movss xmm0, dword [rsp + 0xb0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x4c], 0
jge 0x1800e408c
movss xmm0, dword [rsp + 0x1d8]
xorps xmm0, xmmword [0x18012adf0]
movss dword [rsp + 0xb4], xmm0
jmp 0x1800e4098
xorps xmm0, xmm0
movss dword [rsp + 0xb4], xmm0
movss xmm0, dword [rsp + 0xb4]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x44], 0x3f800000
jne 0x1800e40ef
cmp dword [rsp + 0x4c], 0
jge 0x1800e40db
movss xmm0, dword [0x18012a148]
divss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
movss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x4c], 0x40000000
jne 0x1800e4116
movss xmm0, dword [rsp + 0x1d0]
mulss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x4c], 0x3f000000
jne 0x1800e433b
cmp dword [rsp + 0x7c], 0
jl 0x1800e433b
cvtss2sd xmm0, dword [rsp + 0x1d0]
movsd qword [rsp + 0xa8], xmm0
movsd xmm0, qword [0x18012b470]
movsd qword [rsp + 0x1b8], xmm0
movsd xmm0, qword [rsp + 0xa8]
mulsd xmm0, qword [0x18012a250]
movsd qword [rsp + 0x1a8], xmm0
movsd xmm0, qword [rsp + 0xa8]
ucomisd xmm0, qword [0x18012ad18]
jp 0x1800e419a
jne 0x1800e419a
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800e4327
xorps xmm0, xmm0
comisd xmm0, xmmword [rsp + 0xa8]
jbe 0x1800e41be
movsd xmm0, qword [0x18012b5b0]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800e4327
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xd8], rax
movabs rax, 0x7ff7ffffffffffff
mov rcx, qword [rsp + 0xd8]
and rcx, rax
mov rax, rcx
movabs rcx, 0x7ff0000000000000
cmp rax, rcx
jne 0x1800e420c
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800e4327
mov rax, qword [rsp + 0xd8]
sar rax, 1
movabs rcx, 0x5fe6eb50c7b537a9
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xd8], rax
movsd xmm0, qword [rsp + 0xd8]
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [rsp + 0x1a8]
mulsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [0x18012b470]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x68]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [rsp + 0x1a8]
mulsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [0x18012b470]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x68]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [rsp + 0x1a8]
mulsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [0x18012b470]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x68]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [0x18012ad78]
divsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [rsp + 0xa8]
mulsd xmm1, qword [rsp + 0x68]
addsd xmm0, xmm1
mulsd xmm0, qword [0x18012a250]
movsd qword [rsp + 0x1b0], xmm0
movsd xmm0, qword [rsp + 0x1b0]
movsd qword [rsp + 0xe0], xmm0
cvtsd2ss xmm0, qword [rsp + 0xe0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
movss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x84], xmm0
mov eax, dword [rsp + 0x84]
btr eax, 0x1f
mov dword [rsp + 0x84], eax
movss xmm0, dword [rsp + 0x84]
movss dword [rsp + 0x50], xmm0
cmp dword [rsp + 0x10], 0x7f800000
je 0x1800e438d
cmp dword [rsp + 0x10], 0
je 0x1800e438d
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800e441f
movss xmm0, dword [rsp + 0x50]
movss dword [rsp], xmm0
cmp dword [rsp + 0x4c], 0
jge 0x1800e43b8
movss xmm0, dword [rsp]
movss xmm1, dword [0x18012a148]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp], xmm0
cmp dword [rsp + 0x7c], 0
jge 0x1800e440f
mov eax, dword [rsp + 0x10]
sub eax, 0x3f800000
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800e43f7
movss xmm0, dword [rsp]
movss xmm1, dword [rsp]
subss xmm0, xmm1
movss xmm1, dword [rsp]
movss xmm2, dword [rsp]
subss xmm1, xmm2
divss xmm0, xmm1
movss dword [rsp], xmm0
jmp 0x1800e440f
cmp dword [rsp + 0x70], 1
jne 0x1800e440f
movss xmm0, dword [rsp]
xorps xmm0, xmmword [0x18012adf0]
movss dword [rsp], xmm0
movss xmm0, dword [rsp]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
mov eax, dword [rsp + 0x7c]
shr eax, 0x1f
dec eax
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800e4463
movss xmm0, dword [rsp + 0x1d0]
subss xmm0, dword [rsp + 0x1d0]
movss xmm1, dword [rsp + 0x1d0]
subss xmm1, dword [rsp + 0x1d0]
divss xmm0, xmm1
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x44], 0x4d000000
jle 0x1800e461d
cmp dword [rsp + 0x10], 0x3f7ffff8
jge 0x1800e44b5
cmp dword [rsp + 0x4c], 0
jge 0x1800e4495
movss xmm0, dword [0x18012da20]
movss dword [rsp + 0xb8], xmm0
jmp 0x1800e44a1
xorps xmm0, xmm0
movss dword [rsp + 0xb8], xmm0
movss xmm0, dword [rsp + 0xb8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0x10], 0x3f800007
jle 0x1800e44f9
cmp dword [rsp + 0x4c], 0
jle 0x1800e44d9
movss xmm0, dword [0x18012da20]
movss dword [rsp + 0xbc], xmm0
jmp 0x1800e44e5
xorps xmm0, xmm0
movss dword [rsp + 0xbc], xmm0
movss xmm0, dword [rsp + 0xbc]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
movss xmm0, dword [rsp + 0x1d0]
subss xmm0, dword [0x18012a148]
movss dword [rsp + 4], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [rsp + 4]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x18012b3e4]
movss xmm2, dword [0x18012d8f8]
subss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 4]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18012a168]
subss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm0, xmm1
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [0x18012d91c]
mulss xmm0, dword [rsp + 4]
movss dword [rsp + 0x3c], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x18012d8c0]
movss xmm1, dword [rsp + 0x80]
mulss xmm1, dword [0x18012d920]
subss xmm0, xmm1
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rsp + 0x30]
movss dword [rsp + 0x1a0], xmm0
mov eax, dword [rsp + 0x1a0]
mov dword [rsp + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1800e45b1
mov eax, dword [rsp + 0x28]
and eax, 0xfffff000
mov dword [rsp + 0x1a4], eax
movss xmm0, dword [rsp + 0x1a4]
movss dword [rsp + 0x30], xmm0
xor eax, eax
test eax, eax
jne 0x1800e45d1
movss xmm0, dword [rsp + 0x30]
subss xmm0, dword [rsp + 0x3c]
movss xmm1, dword [rsp + 0x40]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xcc], xmm0
jmp 0x1800e4b90
mov dword [rsp + 8], 0
cmp dword [rsp + 0x10], 0x800000
jge 0x1800e466e
movss xmm0, dword [rsp + 0x50]
mulss xmm0, dword [0x18012add0]
movss dword [rsp + 0x50], xmm0
mov eax, dword [rsp + 8]
sub eax, 0x18
mov dword [rsp + 8], eax
movss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0xe8], xmm0
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x10], eax
xor eax, eax
test eax, eax
jne 0x1800e464e
mov eax, dword [rsp + 0x10]
sar eax, 0x17
mov ecx, dword [rsp + 8]
lea eax, [rcx + rax - 0x7f]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
and eax, 0x7fffff
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
or eax, 0x3f800000
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0xc], 0x1cc471
jg 0x1800e46af
mov dword [rsp + 0x18], 0
jmp 0x1800e46e2
cmp dword [rsp + 0xc], 0x5db3d7
jge 0x1800e46c3
mov dword [rsp + 0x18], 1
jmp 0x1800e46e2
mov dword [rsp + 0x18], 0
mov eax, dword [rsp + 8]
inc eax
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
sub eax, 0x800000
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0xec], eax
movss xmm0, dword [rsp + 0xec]
movss dword [rsp + 0x50], xmm0
xor eax, eax
test eax, eax
jne 0x1800e46e2
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18012d548]
movss xmm0, dword [rsp + 0x50]
subss xmm0, dword [rcx + rax*4]
movss dword [rsp + 0x3c], xmm0
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18012d548]
movss xmm0, dword [rsp + 0x50]
addss xmm0, dword [rcx + rax*4]
movss xmm1, dword [0x18012a148]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x3c]
mulss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x38], xmm0
movss xmm0, dword [rsp + 0x38]
movss dword [rsp + 0x54], xmm0
movss xmm0, dword [rsp + 0x54]
movss dword [rsp + 0xf0], xmm0
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1800e4769
mov eax, dword [rsp + 0x28]
and eax, 0xfffff000
mov dword [rsp + 0xf4], eax
movss xmm0, dword [rsp + 0xf4]
movss dword [rsp + 0x54], xmm0
xor eax, eax
test eax, eax
jne 0x1800e4789
mov eax, dword [rsp + 0x10]
sar eax, 1
bts eax, 0x1d
mov ecx, dword [rsp + 0x18]
shl ecx, 0x15
lea eax, [rax + rcx + 0x40000]
mov dword [rsp + 0xf8], eax
movss xmm0, dword [rsp + 0xf8]
movss dword [rsp + 0x58], xmm0
xor eax, eax
test eax, eax
jne 0x1800e47ae
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18012d548]
movss xmm0, dword [rsp + 0x58]
subss xmm0, dword [rcx + rax*4]
movss xmm1, dword [rsp + 0x50]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x88], xmm0
movss xmm0, dword [rsp + 0x54]
mulss xmm0, dword [rsp + 0x58]
movss xmm1, dword [rsp + 0x3c]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x54]
mulss xmm1, dword [rsp + 0x88]
subss xmm0, xmm1
movss xmm1, dword [rsp + 0x40]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xc0], xmm0
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [rsp + 0x38]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rsp + 0x48]
mulss xmm0, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x48]
mulss xmm1, dword [0x18012d8d8]
movss xmm2, dword [0x18012d8f0]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18012d8f4]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18012d8f8]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18012d8fc]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18012ad40]
addss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm0, xmm1
movss dword [rsp + 0x74], xmm0
movss xmm0, dword [rsp + 0x54]
addss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0xc0]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x74]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x74], xmm0
movss xmm0, dword [rsp + 0x54]
mulss xmm0, dword [rsp + 0x54]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x18012ad80]
addss xmm0, dword [rsp + 0x48]
addss xmm0, dword [rsp + 0x74]
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [rsp + 0x58]
movss dword [rsp + 0xfc], xmm0
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1800e4961
mov eax, dword [rsp + 0x28]
and eax, 0xfffff000
mov dword [rsp + 0x100], eax
movss xmm0, dword [rsp + 0x100]
movss dword [rsp + 0x58], xmm0
xor eax, eax
test eax, eax
jne 0x1800e4981
movss xmm0, dword [rsp + 0x58]
subss xmm0, dword [0x18012ad80]
subss xmm0, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x74]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x88], xmm0
movss xmm0, dword [rsp + 0x54]
mulss xmm0, dword [rsp + 0x58]
movss dword [rsp + 0x3c], xmm0
movss xmm0, dword [rsp + 0xc0]
mulss xmm0, dword [rsp + 0x58]
movss xmm1, dword [rsp + 0x88]
mulss xmm1, dword [rsp + 0x38]
addss xmm0, xmm1
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x2c], xmm0
movss xmm0, dword [rsp + 0x2c]
movss dword [rsp + 0x104], xmm0
mov eax, dword [rsp + 0x104]
mov dword [rsp + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1800e4a1c
mov eax, dword [rsp + 0x28]
and eax, 0xfffff000
mov dword [rsp + 0x108], eax
movss xmm0, dword [rsp + 0x108]
movss dword [rsp + 0x2c], xmm0
xor eax, eax
test eax, eax
jne 0x1800e4a3c
movss xmm0, dword [rsp + 0x2c]
subss xmm0, dword [rsp + 0x3c]
movss xmm1, dword [rsp + 0x40]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [0x18012d914]
mulss xmm0, dword [rsp + 0x2c]
movss dword [rsp + 0xc4], xmm0
movss xmm0, dword [0x18012d8bc]
mulss xmm0, dword [rsp + 0x2c]
movss xmm1, dword [rsp + 0x60]
mulss xmm1, dword [0x18012d918]
addss xmm0, xmm1
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18012d808]
addss xmm0, dword [rcx + rax*4]
movss dword [rsp + 0xc8], xmm0
cvtsi2ss xmm0, dword [rsp + 8]
movss dword [rsp + 4], xmm0
movss xmm0, dword [rsp + 0xc4]
addss xmm0, dword [rsp + 0xc8]
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18012d698]
addss xmm0, dword [rcx + rax*4]
addss xmm0, dword [rsp + 4]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rsp + 0x30]
movss dword [rsp + 0x10c], xmm0
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1800e4b0c
mov eax, dword [rsp + 0x28]
and eax, 0xfffff000
mov dword [rsp + 0x110], eax
movss xmm0, dword [rsp + 0x110]
movss dword [rsp + 0x30], xmm0
xor eax, eax
test eax, eax
jne 0x1800e4b2c
movss xmm0, dword [rsp + 0x30]
subss xmm0, dword [rsp + 4]
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18012d698]
subss xmm0, dword [rcx + rax*4]
subss xmm0, dword [rsp + 0xc4]
movss xmm1, dword [rsp + 0xc8]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xcc], xmm0
movss xmm0, dword [0x18012a148]
movss dword [rsp + 0x38], xmm0
mov eax, dword [rsp + 0x7c]
shr eax, 0x1f
dec eax
mov ecx, dword [rsp + 0x70]
dec ecx
or eax, ecx
test eax, eax
jne 0x1800e4bc1
movss xmm0, dword [0x18012a2d4]
movss dword [rsp + 0x38], xmm0
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x114], xmm0
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1800e4bc1
mov eax, dword [rsp + 0x28]
and eax, 0xfffff000
mov dword [rsp + 0x118], eax
movss xmm0, dword [rsp + 0x118]
movss dword [rsp + 0xd0], xmm0
xor eax, eax
test eax, eax
jne 0x1800e4be4
movss xmm0, dword [rsp + 0x1d8]
subss xmm0, dword [rsp + 0xd0]
mulss xmm0, dword [rsp + 0x30]
movss xmm1, dword [rsp + 0x1d8]
mulss xmm1, dword [rsp + 0xcc]
addss xmm0, xmm1
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [rsp + 0xd0]
mulss xmm0, dword [rsp + 0x30]
movss dword [rsp + 0x2c], xmm0
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [rsp + 0x2c]
movss dword [rsp], xmm0
movss xmm0, dword [rsp]
movss dword [rsp + 0x11c], xmm0
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0xc], eax
xor eax, eax
test eax, eax
jne 0x1800e4c66
cmp dword [rsp + 0xc], 0x43000000
jle 0x1800e4cb5
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18012da1c]
mulss xmm0, dword [0x18012da1c]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0xc], 0x43000000
jne 0x1800e4d00
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x18012d8b4]
movss xmm1, dword [rsp]
subss xmm1, dword [rsp + 0x2c]
comiss xmm0, xmm1
jbe 0x1800e4cfe
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18012da1c]
mulss xmm0, dword [0x18012da1c]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
jmp 0x1800e4d6f
mov eax, dword [rsp + 0xc]
btr eax, 0x1f
cmp eax, 0x43160000
jle 0x1800e4d32
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18012d8a8]
mulss xmm0, dword [0x18012d8a8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
cmp dword [rsp + 0xc], 0xc3160000
jne 0x1800e4d6f
movss xmm0, dword [rsp]
subss xmm0, dword [rsp + 0x2c]
comiss xmm0, dword [rsp + 0x60]
jb 0x1800e4d6f
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18012d8a8]
mulss xmm0, dword [0x18012d8a8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800e54d4
mov eax, dword [rsp + 0xc]
btr eax, 0x1f
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xd4]
sar eax, 0x17
sub eax, 0x7f
mov dword [rsp + 0x18], eax
mov dword [rsp + 8], 0
cmp dword [rsp + 0xd4], 0x3f000000
jle 0x1800e4e65
mov eax, dword [rsp + 0x18]
inc eax
mov ecx, 0x800000
mov dword [rsp + 0x120], ecx
movzx ecx, al
mov eax, dword [rsp + 0x120]
sar eax, cl
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
btr eax, 0x1f
sar eax, 0x17
sub eax, 0x7f
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x18]
mov ecx, 0x7fffff
mov dword [rsp + 0x124], ecx
movzx ecx, al
mov eax, dword [rsp + 0x124]
sar eax, cl
not eax
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x128], eax
movss xmm0, dword [rsp + 0x128]
movss dword [rsp + 4], xmm0
xor eax, eax
test eax, eax
jne 0x1800e4de4
mov eax, dword [rsp + 8]
and eax, 0x7fffff
bts eax, 0x17
mov ecx, 0x17
sub ecx, dword [rsp + 0x18]
sar eax, cl
mov dword [rsp + 8], eax
cmp dword [rsp + 0xc], 0
jge 0x1800e4e53
mov eax, dword [rsp + 8]
neg eax
mov dword [rsp + 8], eax
movss xmm0, dword [rsp + 0x2c]
subss xmm0, dword [rsp + 4]
movss dword [rsp + 0x2c], xmm0
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [rsp + 0x2c]
movss dword [rsp + 4], xmm0
movss xmm0, dword [rsp + 4]
movss dword [rsp + 0x12c], xmm0
mov eax, dword [rsp + 0x12c]
mov dword [rsp + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1800e4e77
mov eax, dword [rsp + 0x28]
and eax, 0xfffff000
mov dword [rsp + 0x130], eax
movss xmm0, dword [rsp + 0x130]
movss dword [rsp + 4], xmm0
xor eax, eax
test eax, eax
jne 0x1800e4e97
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x18012d908]
movss dword [rsp + 0x3c], xmm0
movss xmm0, dword [rsp + 4]
subss xmm0, dword [rsp + 0x2c]
movss xmm1, dword [rsp + 0x60]
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x18012d90c]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x18012d8b8]
addss xmm0, xmm1
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [rsp + 0x40]
movss dword [rsp], xmm0
movss xmm0, dword [rsp]
subss xmm0, dword [rsp + 0x3c]
movss xmm1, dword [rsp + 0x40]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [rsp]
movss xmm1, dword [rsp]
mulss xmm0, xmm1
movss dword [rsp + 4], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x18012d8b0]
movss xmm1, dword [0x18012da24]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18012d8c4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18012da28]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18012ad34]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rsp]
mulss xmm0, dword [rsp + 0x30]
movss xmm1, dword [rsp + 0x30]
subss xmm1, dword [0x18012a180]
divss xmm0, xmm1
movss xmm1, dword [rsp]
mulss xmm1, dword [rsp + 0x80]
movss xmm2, dword [rsp + 0x80]
addss xmm2, xmm1
movaps xmm1, xmm2
subss xmm0, xmm1
movss dword [rsp + 0x74], xmm0
movss xmm0, dword [rsp]
movss xmm1, dword [rsp + 0x74]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18012a148]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp], xmm0
movss xmm0, dword [rsp]
movss dword [rsp + 0x134], xmm0
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0xc], eax
xor eax, eax
test eax, eax
jne 0x1800e504a
mov eax, dword [rsp + 8]
shl eax, 0x17
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
sar eax, 0x17
test eax, eax
jg 0x1800e549d
movss xmm0, dword [rsp]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x138], xmm0
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x78], eax
xor eax, eax
test eax, eax
jne 0x1800e5096
mov eax, dword [rsp + 0x78]
and eax, 0x7f800000
sar eax, 0x17
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
jne 0x1800e5158
mov eax, dword [rsp + 0x78]
btr eax, 0x1f
test eax, eax
jne 0x1800e50ee
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800e5490
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x18012da18]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x13c], xmm0
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0x78], eax
xor eax, eax
test eax, eax
jne 0x1800e5102
mov eax, dword [rsp + 0x78]
and eax, 0x7f800000
sar eax, 0x17
sub eax, 0x19
mov dword [rsp + 0x34], eax
cmp dword [rsp + 8], 0xffff3cb0
jge 0x1800e5158
movss xmm0, dword [0x18012d8a8]
mulss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800e5490
cmp dword [rsp + 0x34], 0xff
jne 0x1800e5179
movss xmm0, dword [rsp + 0x20]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800e5490
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0xfe
jle 0x1800e5265
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x140], 0x7f800000
movss xmm0, dword [rsp + 0x140]
movss dword [rsp + 0x144], xmm0
movss xmm0, dword [rsp + 0x144]
movss dword [rsp + 0x90], xmm0
movss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x148], xmm0
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x150], eax
xor eax, eax
test eax, eax
jne 0x1800e51cf
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x14c], xmm0
mov eax, dword [rsp + 0x14c]
mov dword [rsp + 0x154], eax
xor eax, eax
test eax, eax
jne 0x1800e51f5
mov eax, dword [rsp + 0x150]
btr eax, 0x1f
mov ecx, dword [rsp + 0x154]
and ecx, 0x80000000
or eax, ecx
mov dword [rsp + 0x158], eax
movss xmm0, dword [rsp + 0x158]
movss dword [rsp + 0x90], xmm0
xor eax, eax
test eax, eax
jne 0x1800e5218
movss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800e5490
cmp dword [rsp + 0x34], 0
jle 0x1800e52ab
mov eax, dword [rsp + 0x78]
and eax, 0x807fffff
mov ecx, dword [rsp + 0x34]
shl ecx, 0x17
or eax, ecx
mov dword [rsp + 0x15c], eax
movss xmm0, dword [rsp + 0x15c]
movss dword [rsp + 0x20], xmm0
xor eax, eax
test eax, eax
jne 0x1800e526c
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800e5490
cmp dword [rsp + 0x34], 0xffffffe7
jg 0x1800e5443
cmp dword [rsp + 8], 0xc350
jle 0x1800e5397
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x160], 0x7f800000
movss xmm0, dword [rsp + 0x160]
movss dword [rsp + 0x164], xmm0
movss xmm0, dword [rsp + 0x164]
movss dword [rsp + 0x98], xmm0
movss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x168], xmm0
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x170], eax
xor eax, eax
test eax, eax
jne 0x1800e52fc
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x16c], xmm0
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x174], eax
xor eax, eax
test eax, eax
jne 0x1800e5322
mov eax, dword [rsp + 0x170]
btr eax, 0x1f
mov ecx, dword [rsp + 0x174]
and ecx, 0x80000000
or eax, ecx
mov dword [rsp + 0x178], eax
movss xmm0, dword [rsp + 0x178]
movss dword [rsp + 0x98], xmm0
xor eax, eax
test eax, eax
jne 0x1800e5345
movss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800e5490
movss xmm0, dword [0x18012d8a8]
movss dword [rsp + 0xa0], xmm0
movss xmm0, dword [rsp + 0xa0]
movss dword [rsp + 0x17c], xmm0
mov eax, dword [rsp + 0x17c]
mov dword [rsp + 0x184], eax
xor eax, eax
test eax, eax
jne 0x1800e53a8
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x180], xmm0
mov eax, dword [rsp + 0x180]
mov dword [rsp + 0x188], eax
xor eax, eax
test eax, eax
jne 0x1800e53ce
mov eax, dword [rsp + 0x184]
btr eax, 0x1f
mov ecx, dword [rsp + 0x188]
and ecx, 0x80000000
or eax, ecx
mov dword [rsp + 0x18c], eax
movss xmm0, dword [rsp + 0x18c]
movss dword [rsp + 0xa0], xmm0
xor eax, eax
test eax, eax
jne 0x1800e53f1
movss xmm0, dword [0x18012d8a8]
mulss xmm0, dword [rsp + 0xa0]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800e5490
mov eax, dword [rsp + 0x34]
add eax, 0x19
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x78]
and eax, 0x807fffff
mov ecx, dword [rsp + 0x34]
shl ecx, 0x17
or eax, ecx
mov dword [rsp + 0x190], eax
movss xmm0, dword [rsp + 0x190]
movss dword [rsp + 0x20], xmm0
xor eax, eax
test eax, eax
jne 0x1800e544e
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x18012d8ac]
movss dword [rsp + 0x5c], xmm0
movss xmm0, dword [rsp + 0x5c]
movss dword [rsp], xmm0
jmp 0x1800e54bc
mov eax, dword [rsp + 0xc]
mov dword [rsp + 0x194], eax
movss xmm0, dword [rsp + 0x194]
movss dword [rsp], xmm0
xor eax, eax
test eax, eax
jne 0x1800e549d
movss xmm0, dword [rsp]
movss xmm1, dword [rsp + 0x38]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x14], xmm0
movss xmm0, dword [rsp + 0x14]
add rsp, 0x1c8
ret