Function at 0x1800d6460
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 0x1800d6473
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 0x1800d6496
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 0x1800d64eb
movss xmm0, dword [0x1801170f0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0x10], 0x7f800000
jg 0x1800d64ff
cmp dword [rsp + 0x44], 0x7f800000
jle 0x1800d651c
movss xmm0, dword [rsp + 0x1d0]
addss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
mov dword [rsp + 0x70], 0
cmp dword [rsp + 0x7c], 0
jge 0x1800d6599
cmp dword [rsp + 0x44], 0x4b800000
jl 0x1800d653f
mov dword [rsp + 0x70], 2
jmp 0x1800d6599
cmp dword [rsp + 0x44], 0x3f800000
jl 0x1800d6599
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 0x1800d6599
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 0x1800d665c
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800d65d3
movss xmm0, dword [rsp + 0x1d8]
subss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0x10], 0x3f800000
jle 0x1800d661a
cmp dword [rsp + 0x4c], 0
jl 0x1800d65f8
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0xb0], xmm0
jmp 0x1800d6604
xorps xmm0, xmm0
movss dword [rsp + 0xb0], xmm0
movss xmm0, dword [rsp + 0xb0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0x4c], 0
jge 0x1800d663c
movss xmm0, dword [rsp + 0x1d8]
xorps xmm0, xmmword [0x180117ce0]
movss dword [rsp + 0xb4], xmm0
jmp 0x1800d6648
xorps xmm0, xmm0
movss dword [rsp + 0xb4], xmm0
movss xmm0, dword [rsp + 0xb4]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0x44], 0x3f800000
jne 0x1800d669f
cmp dword [rsp + 0x4c], 0
jge 0x1800d668b
movss xmm0, dword [0x1801170f0]
divss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
movss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0x4c], 0x40000000
jne 0x1800d66c6
movss xmm0, dword [rsp + 0x1d0]
mulss xmm0, dword [rsp + 0x1d0]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0x4c], 0x3f000000
jne 0x1800d68eb
cmp dword [rsp + 0x7c], 0
jl 0x1800d68eb
cvtss2sd xmm0, dword [rsp + 0x1d0]
movsd qword [rsp + 0xa8], xmm0
movsd xmm0, qword [0x180118380]
movsd qword [rsp + 0x1b8], xmm0
movsd xmm0, qword [rsp + 0xa8]
mulsd xmm0, qword [0x180118368]
movsd qword [rsp + 0x1a8], xmm0
movsd xmm0, qword [rsp + 0xa8]
ucomisd xmm0, qword [0x180117bd8]
jp 0x1800d674a
jne 0x1800d674a
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800d68d7
xorps xmm0, xmm0
comisd xmm0, xmmword [rsp + 0xa8]
jbe 0x1800d676e
movsd xmm0, qword [0x1801184c0]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800d68d7
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 0x1800d67bc
movsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0xe0], xmm0
jmp 0x1800d68d7
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 [0x180118380]
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 [0x180118380]
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 [0x180118380]
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 [0x180117c48]
divsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [rsp + 0xa8]
mulsd xmm1, qword [rsp + 0x68]
addsd xmm0, xmm1
mulsd xmm0, qword [0x180118368]
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 0x1800d7a84
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 0x1800d693d
cmp dword [rsp + 0x10], 0
je 0x1800d693d
cmp dword [rsp + 0x10], 0x3f800000
jne 0x1800d69cf
movss xmm0, dword [rsp + 0x50]
movss dword [rsp], xmm0
cmp dword [rsp + 0x4c], 0
jge 0x1800d6968
movss xmm0, dword [rsp]
movss xmm1, dword [0x1801170f0]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp], xmm0
cmp dword [rsp + 0x7c], 0
jge 0x1800d69bf
mov eax, dword [rsp + 0x10]
sub eax, 0x3f800000
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800d69a7
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 0x1800d69bf
cmp dword [rsp + 0x70], 1
jne 0x1800d69bf
movss xmm0, dword [rsp]
xorps xmm0, xmmword [0x180117ce0]
movss dword [rsp], xmm0
movss xmm0, dword [rsp]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
mov eax, dword [rsp + 0x7c]
shr eax, 0x1f
dec eax
or eax, dword [rsp + 0x70]
test eax, eax
jne 0x1800d6a13
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 0x1800d7a84
cmp dword [rsp + 0x44], 0x4d000000
jle 0x1800d6bcd
cmp dword [rsp + 0x10], 0x3f7ffff8
jge 0x1800d6a65
cmp dword [rsp + 0x4c], 0
jge 0x1800d6a45
movss xmm0, dword [0x18011a950]
movss dword [rsp + 0xb8], xmm0
jmp 0x1800d6a51
xorps xmm0, xmm0
movss dword [rsp + 0xb8], xmm0
movss xmm0, dword [rsp + 0xb8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0x10], 0x3f800007
jle 0x1800d6aa9
cmp dword [rsp + 0x4c], 0
jle 0x1800d6a89
movss xmm0, dword [0x18011a950]
movss dword [rsp + 0xbc], xmm0
jmp 0x1800d6a95
xorps xmm0, xmm0
movss dword [rsp + 0xbc], xmm0
movss xmm0, dword [rsp + 0xbc]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
movss xmm0, dword [rsp + 0x1d0]
subss xmm0, dword [0x1801170f0]
movss dword [rsp + 4], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [rsp + 4]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x1801182d4]
movss xmm2, dword [0x18011a818]
subss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 4]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x180117c0c]
subss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm0, xmm1
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [0x18011a844]
mulss xmm0, dword [rsp + 4]
movss dword [rsp + 0x3c], xmm0
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x18011a7d0]
movss xmm1, dword [rsp + 0x80]
mulss xmm1, dword [0x18011a848]
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 0x1800d6b61
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 0x1800d6b81
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 0x1800d7140
mov dword [rsp + 8], 0
cmp dword [rsp + 0x10], 0x800000
jge 0x1800d6c1e
movss xmm0, dword [rsp + 0x50]
mulss xmm0, dword [0x180117cb0]
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 0x1800d6bfe
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 0x1800d6c5f
mov dword [rsp + 0x18], 0
jmp 0x1800d6c92
cmp dword [rsp + 0xc], 0x5db3d7
jge 0x1800d6c73
mov dword [rsp + 0x18], 1
jmp 0x1800d6c92
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 0x1800d6c92
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18011a458]
movss xmm0, dword [rsp + 0x50]
subss xmm0, dword [rcx + rax*4]
movss dword [rsp + 0x3c], xmm0
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18011a458]
movss xmm0, dword [rsp + 0x50]
addss xmm0, dword [rcx + rax*4]
movss xmm1, dword [0x1801170f0]
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 0x1800d6d19
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 0x1800d6d39
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 0x1800d6d5e
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18011a458]
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 [0x18011a7f8]
movss xmm2, dword [0x18011a810]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18011a814]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18011a818]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x18011a81c]
addss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [rsp + 0x48]
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm2, dword [0x180117c10]
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 [0x180117c54]
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 0x1800d6f11
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 0x1800d6f31
movss xmm0, dword [rsp + 0x58]
subss xmm0, dword [0x180117c54]
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 0x1800d6fcc
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 0x1800d6fec
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 [0x18011a838]
mulss xmm0, dword [rsp + 0x2c]
movss dword [rsp + 0xc4], xmm0
movss xmm0, dword [0x18011a7cc]
mulss xmm0, dword [rsp + 0x2c]
movss xmm1, dword [rsp + 0x60]
mulss xmm1, dword [0x18011a83c]
addss xmm0, xmm1
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18011a718]
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, [0x18011a5a8]
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 0x1800d70bc
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 0x1800d70dc
movss xmm0, dword [rsp + 0x30]
subss xmm0, dword [rsp + 4]
movsxd rax, dword [rsp + 0x18]
lea rcx, [0x18011a5a8]
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 [0x1801170f0]
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 0x1800d7171
movss xmm0, dword [0x180117cbc]
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 0x1800d7171
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 0x1800d7194
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 0x1800d7216
cmp dword [rsp + 0xc], 0x43000000
jle 0x1800d7265
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18011a94c]
mulss xmm0, dword [0x18011a94c]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0xc], 0x43000000
jne 0x1800d72b0
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x18011a7c4]
movss xmm1, dword [rsp]
subss xmm1, dword [rsp + 0x2c]
comiss xmm0, xmm1
jbe 0x1800d72ae
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18011a94c]
mulss xmm0, dword [0x18011a94c]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
jmp 0x1800d731f
mov eax, dword [rsp + 0xc]
btr eax, 0x1f
cmp eax, 0x43160000
jle 0x1800d72e2
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18011a7b8]
mulss xmm0, dword [0x18011a7b8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
cmp dword [rsp + 0xc], 0xc3160000
jne 0x1800d731f
movss xmm0, dword [rsp]
subss xmm0, dword [rsp + 0x2c]
comiss xmm0, dword [rsp + 0x60]
jb 0x1800d731f
movss xmm0, dword [rsp + 0x38]
mulss xmm0, dword [0x18011a7b8]
mulss xmm0, dword [0x18011a7b8]
movss dword [rsp + 0x14], xmm0
jmp 0x1800d7a84
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 0x1800d7415
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 0x1800d7394
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 0x1800d7403
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 0x1800d7427
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 0x1800d7447
movss xmm0, dword [rsp + 4]
mulss xmm0, dword [0x18011a828]
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 [0x18011a82c]
movss xmm1, dword [rsp + 4]
mulss xmm1, dword [0x18011a7c8]
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 [0x18011a7c0]
movss xmm1, dword [0x18011a954]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18011a7d4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x18011a958]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 4]
mulss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x180117c00]
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 [0x180117174]
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 [0x1801170f0]
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 0x1800d75fa
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 0x1800d7a4d
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 0x1800d7646
mov eax, dword [rsp + 0x78]
and eax, 0x7f800000
sar eax, 0x17
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
jne 0x1800d7708
mov eax, dword [rsp + 0x78]
btr eax, 0x1f
test eax, eax
jne 0x1800d769e
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800d7a40
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x18011a948]
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 0x1800d76b2
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 0x1800d7708
movss xmm0, dword [0x18011a7b8]
mulss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800d7a40
cmp dword [rsp + 0x34], 0xff
jne 0x1800d7729
movss xmm0, dword [rsp + 0x20]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800d7a40
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 0x1800d7815
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 0x1800d777f
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 0x1800d77a5
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 0x1800d77c8
movss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800d7a40
cmp dword [rsp + 0x34], 0
jle 0x1800d785b
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 0x1800d781c
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800d7a40
cmp dword [rsp + 0x34], 0xffffffe7
jg 0x1800d79f3
cmp dword [rsp + 8], 0xc350
jle 0x1800d7947
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 0x1800d78ac
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 0x1800d78d2
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 0x1800d78f5
movss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800d7a40
movss xmm0, dword [0x18011a7b8]
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 0x1800d7958
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 0x1800d797e
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 0x1800d79a1
movss xmm0, dword [0x18011a7b8]
mulss xmm0, dword [rsp + 0xa0]
movss dword [rsp + 0x5c], xmm0
jmp 0x1800d7a40
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 0x1800d79fe
movss xmm0, dword [rsp + 0x20]
mulss xmm0, dword [0x18011a7bc]
movss dword [rsp + 0x5c], xmm0
movss xmm0, dword [rsp + 0x5c]
movss dword [rsp], xmm0
jmp 0x1800d7a6c
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 0x1800d7a4d
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