Function at 0x1800ca410
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 0x1800ca423
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 0x1800ca446
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 0x1800ca49b
movss xmm0, dword [0x18017ee58]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0x10], 0x7f800000
jg 0x1800ca4af
cmp dword [rsp + 0x44], 0x7f800000
jle 0x1800ca4cc
movss xmm0, dword [rsp + 0x1d0]
addss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
mov dword [rsp + 0x70], 0
cmp dword [rsp + 0x7c], 0
jge 0x1800ca549
cmp dword [rsp + 0x44], 0x4b800000
jl 0x1800ca4ef
mov dword [rsp + 0x70], 2
jmp 0x1800ca549
cmp dword [rsp + 0x44], 0x3f800000
jl 0x1800ca549
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 0x1800ca549
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 0x1800ca60c
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800ca583
movss xmm0, dword [rsp + 0x1d8]
subss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0x10], 0x3f800000
jle 0x1800ca5ca
cmp dword [rsp + 0x4c], 0
jl 0x1800ca5a8
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0xb0], xmm0
jmp 0x1800ca5b4
xorps xmm0, xmm0
movss dword [rsp + 0xb0], xmm0
movss xmm0, dword [rsp + 0xb0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0x4c], 0
jge 0x1800ca5ec
movss xmm0, dword [rsp + 0x1d8]
xorps xmm0, xmmword [0x180180ca0]
movss dword [rsp + 0xb4], xmm0
jmp 0x1800ca5f8
xorps xmm0, xmm0
movss dword [rsp + 0xb4], xmm0
movss xmm0, dword [rsp + 0xb4]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0x44], 0x3f800000
jne 0x1800ca64f
cmp dword [rsp + 0x4c], 0
jge 0x1800ca63b
movss xmm0, dword [0x18017ee58]
divss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
movss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0x4c], 0x40000000
jne 0x1800ca676
movss xmm0, dword [rsp + 0x1d0]
mulss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0x4c], 0x3f000000
jne 0x1800ca89b
cmp dword [rsp + 0x7c], 0
jl 0x1800ca89b
cvtss2sd xmm0, dword [rsp + 0x1d0]
movsd qword [rsp + 0xa8], xmm0
movsd xmm0, qword [0x180181438]
movsd qword [rsp + 0x1b8], xmm0
movsd xmm0, qword [rsp + 0xa8]
mulsd xmm0, qword [0x180181420]
movsd qword [rsp + 0x1a8], xmm0
movsd xmm0, qword [rsp + 0xa8]
ucomisd xmm0, qword [0x18015ccb0]
jp 0x1800ca6fa
jne 0x1800ca6fa
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800ca887
xorps xmm0, xmm0
comisd xmm0, xmmword [rsp + 0xa8]
jbe 0x1800ca71e
movsd xmm0, qword [0x180181570]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800ca887
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 0x1800ca76c
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800ca887
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 [0x180181438]
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 [0x180181438]
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 [0x180181438]
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 [0x180180c40]
divsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [rsp + 0xa8]
mulsd xmm1, qword [rsp + 0x68]
addsd xmm0, xmm1
mulsd xmm0, qword [0x180181420]
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 0x1800cba34
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 0x1800ca8ed
cmp dword [rsp + 0x10], 0
je 0x1800ca8ed
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800ca97f
movss xmm0, dword [rsp + 0x50]
movss dword [rsp], xmm0
cmp dword [rsp + 0x4c], 0
jge 0x1800ca918
movss xmm0, dword [rsp]
movss xmm1, dword [0x18017ee58]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp], xmm0
cmp dword [rsp + 0x7c], 0
jge 0x1800ca96f
mov eax, dword [rsp + 0x10]
sub eax, 0x3f800000
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800ca957
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 0x1800ca96f
cmp dword [rsp + 0x70], 1
jne 0x1800ca96f
movss xmm0, dword [rsp]
xorps xmm0, xmmword [0x180180ca0]
movss dword [rsp], xmm0
movss xmm0, dword [rsp]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
mov eax, dword [rsp + 0x7c]
shr eax, 0x1f
dec eax
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800ca9c3
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 0x1800cba34
cmp dword [rsp + 0x44], 0x4d000000
jle 0x1800cab7d
cmp dword [rsp + 0x10], 0x3f7ffff8
jge 0x1800caa15
cmp dword [rsp + 0x4c], 0
jge 0x1800ca9f5
movss xmm0, dword [0x180183914]
movss dword [rsp + 0xb8], xmm0
jmp 0x1800caa01
xorps xmm0, xmm0
movss dword [rsp + 0xb8], xmm0
movss xmm0, dword [rsp + 0xb8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0x10], 0x3f800007
jle 0x1800caa59
cmp dword [rsp + 0x4c], 0
jle 0x1800caa39
movss xmm0, dword [0x180183914]
movss dword [rsp + 0xbc], xmm0
jmp 0x1800caa45
xorps xmm0, xmm0
movss dword [rsp + 0xbc], xmm0
movss xmm0, dword [rsp + 0xbc]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
movss xmm0, dword [rsp + 0x1d0]
subss xmm0, dword [0x18017ee58]
movss dword [rsp + 4], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [rsp + 4]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x180181394]
movss xmm2, dword [0x1801837d8]
subss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 4]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18017ee48]
subss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm0, xmm1
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [0x180183800]
mulss xmm0, dword [rsp + 4]
movss dword [rsp + 0x3c], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x1801837a0]
movss xmm1, dword [rsp + 0x80]
mulss xmm1, dword [0x180183804]
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 0x1800cab11
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 0x1800cab31
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 0x1800cb0f0
mov dword [rsp + 8], 0
cmp dword [rsp + 0x10], 0x800000
jge 0x1800cabce
movss xmm0, dword [rsp + 0x50]
mulss xmm0, dword [0x180180c84]
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 0x1800cabae
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 0x1800cac0f
mov dword [rsp + 0x18], 0
jmp 0x1800cac42
cmp dword [rsp + 0xc], 0x5db3d7
jge 0x1800cac23
mov dword [rsp + 0x18], 1
jmp 0x1800cac42
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 0x1800cac42
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x180183308]
movss xmm0, dword [rsp + 0x50]
subss xmm0, dword [rcx + rax*4]
movss dword [rsp + 0x3c], xmm0
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x180183308]
movss xmm0, dword [rsp + 0x50]
addss xmm0, dword [rcx + rax*4]
movss xmm1, dword [0x18017ee58]
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 0x1800cacc9
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 0x1800cace9
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 0x1800cad0e
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x180183308]
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 [0x1801837b8]
movss xmm2, dword [0x1801837d0]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x1801837d4]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x1801837d8]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x1801837dc]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18017ee4c]
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 [0x18017ee80]
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 0x1800caec1
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 0x1800caee1
movss xmm0, dword [rsp + 0x58]
subss xmm0, dword [0x18017ee80]
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 0x1800caf7c
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 0x1800caf9c
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 [0x1801837f4]
mulss xmm0, dword [rsp + 0x2c]
movss dword [rsp + 0xc4], xmm0
movss xmm0, dword [0x18018379c]
mulss xmm0, dword [rsp + 0x2c]
movss xmm1, dword [rsp + 0x60]
mulss xmm1, dword [0x1801837f8]
addss xmm0, xmm1
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x180183578]
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, [0x180183428]
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 0x1800cb06c
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 0x1800cb08c
movss xmm0, dword [rsp + 0x30]
subss xmm0, dword [rsp + 4]
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x180183428]
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 [0x18017ee58]
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 0x1800cb121
movss xmm0, dword [0x18017ef04]
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 0x1800cb121
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 0x1800cb144
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 0x1800cb1c6
cmp dword [rsp + 0xc], 0x43000000
jle 0x1800cb215
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x180183910]
mulss xmm0, dword [0x180183910]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0xc], 0x43000000
jne 0x1800cb260
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x180183794]
movss xmm1, dword [rsp]
subss xmm1, dword [rsp + 0x2c]
comiss xmm0, xmm1
jbe 0x1800cb25e
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x180183910]
mulss xmm0, dword [0x180183910]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
jmp 0x1800cb2cf
mov eax, dword [rsp + 0xc]
btr eax, 0x1f
cmp eax, 0x43160000
jle 0x1800cb292
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x180183788]
mulss xmm0, dword [0x180183788]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
cmp dword [rsp + 0xc], 0xc3160000
jne 0x1800cb2cf
movss xmm0, dword [rsp]
subss xmm0, dword [rsp + 0x2c]
comiss xmm0, dword [rsp + 0x60]
jb 0x1800cb2cf
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x180183788]
mulss xmm0, dword [0x180183788]
movss dword [rsp + 0x14], xmm0
jmp 0x1800cba34
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 0x1800cb3c5
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 0x1800cb344
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 0x1800cb3b3
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 0x1800cb3d7
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 0x1800cb3f7
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x1801837e8]
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 [0x1801837ec]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x180183798]
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 [0x180183790]
movss xmm1, dword [0x180183918]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x1801837a4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18018391c]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x180180c00]
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 [0x18017ee68]
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 [0x18017ee58]
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 0x1800cb5aa
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 0x1800cb9fd
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 0x1800cb5f6
mov eax, dword [rsp + 0x78]
and eax, 0x7f800000
sar eax, 0x17
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
jne 0x1800cb6b8
mov eax, dword [rsp + 0x78]
btr eax, 0x1f
test eax, eax
jne 0x1800cb64e
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800cb9f0
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x180183908]
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 0x1800cb662
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 0x1800cb6b8
movss xmm0, dword [0x180183788]
mulss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800cb9f0
cmp dword [rsp + 0x34], 0xff
jne 0x1800cb6d9
movss xmm0, dword [rsp + 0x20]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800cb9f0
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 0x1800cb7c5
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 0x1800cb72f
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 0x1800cb755
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 0x1800cb778
movss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800cb9f0
cmp dword [rsp + 0x34], 0
jle 0x1800cb80b
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 0x1800cb7cc
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800cb9f0
cmp dword [rsp + 0x34], 0xffffffe7
jg 0x1800cb9a3
cmp dword [rsp + 8], 0xc350
jle 0x1800cb8f7
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 0x1800cb85c
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 0x1800cb882
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 0x1800cb8a5
movss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800cb9f0
movss xmm0, dword [0x180183788]
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 0x1800cb908
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 0x1800cb92e
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 0x1800cb951
movss xmm0, dword [0x180183788]
mulss xmm0, dword [rsp + 0xa0]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800cb9f0
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 0x1800cb9ae
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x18018378c]
movss dword [rsp + 0x5c], xmm0
movss xmm0, dword [rsp + 0x5c]
movss dword [rsp], xmm0
jmp 0x1800cba1c
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 0x1800cb9fd
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