Function at 0x1800c8f70
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 0x1800c8f83
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 0x1800c8fa6
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 0x1800c8ffb
movss xmm0, dword [0x18017aa38]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0x10], 0x7f800000
jg 0x1800c900f
cmp dword [rsp + 0x44], 0x7f800000
jle 0x1800c902c
movss xmm0, dword [rsp + 0x1d0]
addss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
mov dword [rsp + 0x70], 0
cmp dword [rsp + 0x7c], 0
jge 0x1800c90a9
cmp dword [rsp + 0x44], 0x4b800000
jl 0x1800c904f
mov dword [rsp + 0x70], 2
jmp 0x1800c90a9
cmp dword [rsp + 0x44], 0x3f800000
jl 0x1800c90a9
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 0x1800c90a9
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 0x1800c916c
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800c90e3
movss xmm0, dword [rsp + 0x1d8]
subss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0x10], 0x3f800000
jle 0x1800c912a
cmp dword [rsp + 0x4c], 0
jl 0x1800c9108
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0xb0], xmm0
jmp 0x1800c9114
xorps xmm0, xmm0
movss dword [rsp + 0xb0], xmm0
movss xmm0, dword [rsp + 0xb0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0x4c], 0
jge 0x1800c914c
movss xmm0, dword [rsp + 0x1d8]
xorps xmm0, xmmword [0x18017c860]
movss dword [rsp + 0xb4], xmm0
jmp 0x1800c9158
xorps xmm0, xmm0
movss dword [rsp + 0xb4], xmm0
movss xmm0, dword [rsp + 0xb4]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0x44], 0x3f800000
jne 0x1800c91af
cmp dword [rsp + 0x4c], 0
jge 0x1800c919b
movss xmm0, dword [0x18017aa38]
divss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
movss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0x4c], 0x40000000
jne 0x1800c91d6
movss xmm0, dword [rsp + 0x1d0]
mulss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0x4c], 0x3f000000
jne 0x1800c93fb
cmp dword [rsp + 0x7c], 0
jl 0x1800c93fb
cvtss2sd xmm0, dword [rsp + 0x1d0]
movsd qword [rsp + 0xa8], xmm0
movsd xmm0, qword [0x18017cff0]
movsd qword [rsp + 0x1b8], xmm0
movsd xmm0, qword [rsp + 0xa8]
mulsd xmm0, qword [0x18017cfd8]
movsd qword [rsp + 0x1a8], xmm0
movsd xmm0, qword [rsp + 0xa8]
ucomisd xmm0, qword [0x180158cc0]
jp 0x1800c925a
jne 0x1800c925a
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800c93e7
xorps xmm0, xmm0
comisd xmm0, xmmword [rsp + 0xa8]
jbe 0x1800c927e
movsd xmm0, qword [0x18017d130]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800c93e7
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 0x1800c92cc
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800c93e7
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 [0x18017cff0]
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 [0x18017cff0]
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 [0x18017cff0]
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 [0x18017c800]
divsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [rsp + 0xa8]
mulsd xmm1, qword [rsp + 0x68]
addsd xmm0, xmm1
mulsd xmm0, qword [0x18017cfd8]
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 0x1800ca594
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 0x1800c944d
cmp dword [rsp + 0x10], 0
je 0x1800c944d
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800c94df
movss xmm0, dword [rsp + 0x50]
movss dword [rsp], xmm0
cmp dword [rsp + 0x4c], 0
jge 0x1800c9478
movss xmm0, dword [rsp]
movss xmm1, dword [0x18017aa38]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp], xmm0
cmp dword [rsp + 0x7c], 0
jge 0x1800c94cf
mov eax, dword [rsp + 0x10]
sub eax, 0x3f800000
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800c94b7
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 0x1800c94cf
cmp dword [rsp + 0x70], 1
jne 0x1800c94cf
movss xmm0, dword [rsp]
xorps xmm0, xmmword [0x18017c860]
movss dword [rsp], xmm0
movss xmm0, dword [rsp]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
mov eax, dword [rsp + 0x7c]
shr eax, 0x1f
dec eax
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800c9523
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 0x1800ca594
cmp dword [rsp + 0x44], 0x4d000000
jle 0x1800c96dd
cmp dword [rsp + 0x10], 0x3f7ffff8
jge 0x1800c9575
cmp dword [rsp + 0x4c], 0
jge 0x1800c9555
movss xmm0, dword [0x18017f4d4]
movss dword [rsp + 0xb8], xmm0
jmp 0x1800c9561
xorps xmm0, xmm0
movss dword [rsp + 0xb8], xmm0
movss xmm0, dword [rsp + 0xb8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0x10], 0x3f800007
jle 0x1800c95b9
cmp dword [rsp + 0x4c], 0
jle 0x1800c9599
movss xmm0, dword [0x18017f4d4]
movss dword [rsp + 0xbc], xmm0
jmp 0x1800c95a5
xorps xmm0, xmm0
movss dword [rsp + 0xbc], xmm0
movss xmm0, dword [rsp + 0xbc]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
movss xmm0, dword [rsp + 0x1d0]
subss xmm0, dword [0x18017aa38]
movss dword [rsp + 4], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [rsp + 4]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x18017cf54]
movss xmm2, dword [0x18017f398]
subss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 4]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18017aa28]
subss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm0, xmm1
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [0x18017f3c0]
mulss xmm0, dword [rsp + 4]
movss dword [rsp + 0x3c], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x18017f360]
movss xmm1, dword [rsp + 0x80]
mulss xmm1, dword [0x18017f3c4]
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 0x1800c9671
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 0x1800c9691
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 0x1800c9c50
mov dword [rsp + 8], 0
cmp dword [rsp + 0x10], 0x800000
jge 0x1800c972e
movss xmm0, dword [rsp + 0x50]
mulss xmm0, dword [0x18017c848]
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 0x1800c970e
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 0x1800c976f
mov dword [rsp + 0x18], 0
jmp 0x1800c97a2
cmp dword [rsp + 0xc], 0x5db3d7
jge 0x1800c9783
mov dword [rsp + 0x18], 1
jmp 0x1800c97a2
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 0x1800c97a2
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18017eec8]
movss xmm0, dword [rsp + 0x50]
subss xmm0, dword [rcx + rax*4]
movss dword [rsp + 0x3c], xmm0
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18017eec8]
movss xmm0, dword [rsp + 0x50]
addss xmm0, dword [rcx + rax*4]
movss xmm1, dword [0x18017aa38]
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 0x1800c9829
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 0x1800c9849
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 0x1800c986e
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18017eec8]
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 [0x18017f378]
movss xmm2, dword [0x18017f390]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18017f394]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18017f398]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18017f39c]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18017aa2c]
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 [0x18017aa4c]
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 0x1800c9a21
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 0x1800c9a41
movss xmm0, dword [rsp + 0x58]
subss xmm0, dword [0x18017aa4c]
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 0x1800c9adc
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 0x1800c9afc
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 [0x18017f3b4]
mulss xmm0, dword [rsp + 0x2c]
movss dword [rsp + 0xc4], xmm0
movss xmm0, dword [0x18017f35c]
mulss xmm0, dword [rsp + 0x2c]
movss xmm1, dword [rsp + 0x60]
mulss xmm1, dword [0x18017f3b8]
addss xmm0, xmm1
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18017f138]
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, [0x18017efe8]
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 0x1800c9bcc
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 0x1800c9bec
movss xmm0, dword [rsp + 0x30]
subss xmm0, dword [rsp + 4]
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18017efe8]
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 [0x18017aa38]
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 0x1800c9c81
movss xmm0, dword [0x18017aacc]
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 0x1800c9c81
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 0x1800c9ca4
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 0x1800c9d26
cmp dword [rsp + 0xc], 0x43000000
jle 0x1800c9d75
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18017f4d0]
mulss xmm0, dword [0x18017f4d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0xc], 0x43000000
jne 0x1800c9dc0
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x18017f354]
movss xmm1, dword [rsp]
subss xmm1, dword [rsp + 0x2c]
comiss xmm0, xmm1
jbe 0x1800c9dbe
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18017f4d0]
mulss xmm0, dword [0x18017f4d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
jmp 0x1800c9e2f
mov eax, dword [rsp + 0xc]
btr eax, 0x1f
cmp eax, 0x43160000
jle 0x1800c9df2
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18017f348]
mulss xmm0, dword [0x18017f348]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
cmp dword [rsp + 0xc], 0xc3160000
jne 0x1800c9e2f
movss xmm0, dword [rsp]
subss xmm0, dword [rsp + 0x2c]
comiss xmm0, dword [rsp + 0x60]
jb 0x1800c9e2f
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18017f348]
mulss xmm0, dword [0x18017f348]
movss dword [rsp + 0x14], xmm0
jmp 0x1800ca594
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 0x1800c9f25
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 0x1800c9ea4
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 0x1800c9f13
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 0x1800c9f37
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 0x1800c9f57
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x18017f3a8]
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 [0x18017f3ac]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x18017f358]
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 [0x18017f350]
movss xmm1, dword [0x18017f4d8]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18017f364]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18017f4dc]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18017c7c0]
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 [0x18017aa48]
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 [0x18017aa38]
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 0x1800ca10a
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 0x1800ca55d
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 0x1800ca156
mov eax, dword [rsp + 0x78]
and eax, 0x7f800000
sar eax, 0x17
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
jne 0x1800ca218
mov eax, dword [rsp + 0x78]
btr eax, 0x1f
test eax, eax
jne 0x1800ca1ae
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800ca550
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x18017f4c8]
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 0x1800ca1c2
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 0x1800ca218
movss xmm0, dword [0x18017f348]
mulss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800ca550
cmp dword [rsp + 0x34], 0xff
jne 0x1800ca239
movss xmm0, dword [rsp + 0x20]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800ca550
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 0x1800ca325
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 0x1800ca28f
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 0x1800ca2b5
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 0x1800ca2d8
movss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800ca550
cmp dword [rsp + 0x34], 0
jle 0x1800ca36b
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 0x1800ca32c
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800ca550
cmp dword [rsp + 0x34], 0xffffffe7
jg 0x1800ca503
cmp dword [rsp + 8], 0xc350
jle 0x1800ca457
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 0x1800ca3bc
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 0x1800ca3e2
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 0x1800ca405
movss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800ca550
movss xmm0, dword [0x18017f348]
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 0x1800ca468
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 0x1800ca48e
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 0x1800ca4b1
movss xmm0, dword [0x18017f348]
mulss xmm0, dword [rsp + 0xa0]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800ca550
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 0x1800ca50e
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x18017f34c]
movss dword [rsp + 0x5c], xmm0
movss xmm0, dword [rsp + 0x5c]
movss dword [rsp], xmm0
jmp 0x1800ca57c
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 0x1800ca55d
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