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

Disassembly:
movss dword [rsp + 0x20], xmm3
movss dword [rsp + 0x18], xmm2
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x7e8
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x800]
jb 0x1801b2258
mov rax, qword [rsp + 0x7f0]
add rax, 0x78
mov qword [rsp + 0x410], rax
mov rdx, qword [rsp + 0x7f8]
mov rcx, qword [rsp + 0x410]
call fcn.180183900
jmp 0x1801b5617
mov rax, qword [rsp + 0x7f0]
add rax, 0x78
mov qword [rsp + 0x418], rax
mov rax, qword [rsp + 0x7f0]
mov eax, dword [rax + 0x78]
mov ecx, dword [rsp + 0x818]
lea eax, [rcx + rax + 1]
mov edx, eax
mov rcx, qword [rsp + 0x418]
call fcn.180184200
mov dword [rsp + 0xd8], 0
jmp 0x1801b22ae
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0x818]
cmp dword [rsp + 0xd8], eax
jg 0x1801b5617
cvtsi2ss xmm0, dword [rsp + 0xd8]
cvtsi2ss xmm1, dword [rsp + 0x818]
divss xmm0, xmm1
movss xmm1, dword [rsp + 0x810]
subss xmm1, dword [rsp + 0x808]
mulss xmm0, xmm1
movss xmm1, dword [rsp + 0x808]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x3c], xmm0
mov rax, qword [rsp + 0x7f0]
add rax, 0x78
mov qword [rsp + 0x588], rax
cvtss2sd xmm0, dword [rsp + 0x3c]
cvtsd2ss xmm0, xmm0
call fcn.18025fa00
movss dword [rsp + 0x300], xmm0
movss xmm0, dword [rsp + 0x300]
mulss xmm0, dword [rsp + 0x800]
mov rax, qword [rsp + 0x7f8]
movss xmm1, dword [rax + 4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x2ec], xmm0
movss xmm0, dword [rsp + 0x3c]
movss dword [rsp + 0x304], xmm0
mov eax, dword [rsp + 0x304]
mov dword [rsp + 0x60], eax
xor eax, eax
test eax, eax
jne 0x1801b235f
mov eax, dword [rsp + 0x60]
shr eax, 0x1f
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0x60]
btr eax, 0x1f
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x3f490fda
ja 0x1801b24ff
cmp dword [rsp + 0x60], 0x39800000
jae 0x1801b2428
xor eax, eax
cmp eax, 1
je 0x1801b23d1
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [0x1802b21a4]
movss dword [rsp + 0x408], xmm0
jmp 0x1801b240f
xor eax, eax
test eax, eax
je 0x1801b23f4
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [0x1802b21a4]
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x698], xmm0
jmp 0x1801b240f
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [0x1802b21a4]
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x680], xmm0
xor eax, eax
test eax, eax
jne 0x1801b23b1
movss xmm0, dword [0x1802ae230]
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cvtss2sd xmm0, dword [rsp + 0x3c]
movsd qword [rsp + 0x368], xmm0
movsd xmm0, qword [rsp + 0x368]
mulsd xmm0, qword [rsp + 0x368]
movsd qword [rsp + 0x158], xmm0
movsd xmm0, qword [rsp + 0x158]
mulsd xmm0, qword [rsp + 0x158]
movsd qword [rsp + 0x370], xmm0
movsd xmm0, qword [rsp + 0x158]
mulsd xmm0, qword [0x1802b2028]
movsd xmm1, qword [0x1802b21e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x420], xmm0
movsd xmm0, qword [rsp + 0x370]
mulsd xmm0, qword [rsp + 0x158]
mulsd xmm0, qword [rsp + 0x420]
movsd xmm1, qword [rsp + 0x370]
mulsd xmm1, qword [0x1802b20c0]
movsd xmm2, qword [rsp + 0x158]
mulsd xmm2, qword [0x1802b21f8]
movsd xmm3, qword [0x1802aeda0]
addsd xmm3, xmm2
movaps xmm2, xmm3
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cmp dword [rsp + 0x60], 0x407b53d1
ja 0x1801b2847
cmp dword [rsp + 0x60], 0x4016cbe3
jbe 0x1801b2629
cmp dword [rsp + 0xcc], 0
je 0x1801b253e
cvtss2sd xmm0, dword [rsp + 0x3c]
addsd xmm0, qword [0x1802b2110]
movsd qword [rsp + 0x348], xmm0
jmp 0x1801b2555
cvtss2sd xmm0, dword [rsp + 0x3c]
subsd xmm0, qword [0x1802b2110]
movsd qword [rsp + 0x348], xmm0
movsd xmm0, qword [rsp + 0x348]
mulsd xmm0, qword [rsp + 0x348]
movsd qword [rsp + 0x160], xmm0
movsd xmm0, qword [rsp + 0x160]
mulsd xmm0, qword [rsp + 0x160]
movsd qword [rsp + 0x378], xmm0
movsd xmm0, qword [rsp + 0x160]
mulsd xmm0, qword [0x1802b2028]
movsd xmm1, qword [0x1802b21e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x428], xmm0
movsd xmm0, qword [rsp + 0x378]
mulsd xmm0, qword [rsp + 0x160]
mulsd xmm0, qword [rsp + 0x428]
movsd xmm1, qword [rsp + 0x378]
mulsd xmm1, qword [0x1802b20c0]
movsd xmm2, qword [rsp + 0x160]
mulsd xmm2, qword [0x1802b21f8]
movsd xmm3, qword [0x1802aeda0]
addsd xmm3, xmm2
movaps xmm2, xmm3
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x1802aee40]
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cmp dword [rsp + 0xcc], 0
je 0x1801b273e
cvtss2sd xmm0, dword [rsp + 0x3c]
addsd xmm0, qword [0x1802b20f8]
movsd qword [rsp + 0x220], xmm0
movsd xmm0, qword [rsp + 0x220]
mulsd xmm0, qword [rsp + 0x220]
movsd qword [rsp + 0x168], xmm0
movsd xmm0, qword [rsp + 0x168]
mulsd xmm0, qword [rsp + 0x168]
movsd qword [rsp + 0x430], xmm0
movsd xmm0, qword [rsp + 0x168]
mulsd xmm0, qword [0x1802b1ff8]
movsd xmm1, qword [0x1802b21d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x438], xmm0
movsd xmm0, qword [rsp + 0x168]
mulsd xmm0, qword [rsp + 0x220]
movsd qword [rsp + 0x380], xmm0
movsd xmm0, qword [rsp + 0x380]
mulsd xmm0, qword [rsp + 0x430]
mulsd xmm0, qword [rsp + 0x438]
movsd xmm1, qword [rsp + 0x168]
mulsd xmm1, qword [0x1802b20b8]
movsd xmm2, qword [0x1802b21f0]
addsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x380]
mulsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x220]
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cvtss2sd xmm0, dword [rsp + 0x3c]
movsd xmm1, qword [0x1802b20f8]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x228], xmm0
movsd xmm0, qword [rsp + 0x228]
mulsd xmm0, qword [rsp + 0x228]
movsd qword [rsp + 0x170], xmm0
movsd xmm0, qword [rsp + 0x170]
mulsd xmm0, qword [rsp + 0x170]
movsd qword [rsp + 0x440], xmm0
movsd xmm0, qword [rsp + 0x170]
mulsd xmm0, qword [0x1802b1ff8]
movsd xmm1, qword [0x1802b21d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x448], xmm0
movsd xmm0, qword [rsp + 0x170]
mulsd xmm0, qword [rsp + 0x228]
movsd qword [rsp + 0x388], xmm0
movsd xmm0, qword [rsp + 0x388]
mulsd xmm0, qword [rsp + 0x440]
mulsd xmm0, qword [rsp + 0x448]
movsd xmm1, qword [rsp + 0x170]
mulsd xmm1, qword [0x1802b20b8]
movsd xmm2, qword [0x1802b21f0]
addsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x388]
mulsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x228]
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cmp dword [rsp + 0x60], 0x40e231d5
ja 0x1801b2b8c
cmp dword [rsp + 0x60], 0x40afeddf
jbe 0x1801b296a
cmp dword [rsp + 0xcc], 0
je 0x1801b2886
cvtss2sd xmm0, dword [rsp + 0x3c]
addsd xmm0, qword [0x1802b2120]
movsd qword [rsp + 0x350], xmm0
jmp 0x1801b289d
cvtss2sd xmm0, dword [rsp + 0x3c]
subsd xmm0, qword [0x1802b2120]
movsd qword [rsp + 0x350], xmm0
movsd xmm0, qword [rsp + 0x350]
mulsd xmm0, qword [rsp + 0x350]
movsd qword [rsp + 0x178], xmm0
movsd xmm0, qword [rsp + 0x178]
mulsd xmm0, qword [rsp + 0x178]
movsd qword [rsp + 0x390], xmm0
movsd xmm0, qword [rsp + 0x178]
mulsd xmm0, qword [0x1802b2028]
movsd xmm1, qword [0x1802b21e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x450], xmm0
movsd xmm0, qword [rsp + 0x390]
mulsd xmm0, qword [rsp + 0x178]
mulsd xmm0, qword [rsp + 0x450]
movsd xmm1, qword [rsp + 0x390]
mulsd xmm1, qword [0x1802b20c0]
movsd xmm2, qword [rsp + 0x178]
mulsd xmm2, qword [0x1802b21f8]
movsd xmm3, qword [0x1802aeda0]
addsd xmm3, xmm2
movaps xmm2, xmm3
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cmp dword [rsp + 0xcc], 0
je 0x1801b2a8a
movss xmm0, dword [rsp + 0x3c]
xorps xmm0, xmmword [0x1802aee40]
cvtss2sd xmm0, xmm0
subsd xmm0, qword [0x1802b2118]
movsd qword [rsp + 0x230], xmm0
movsd xmm0, qword [rsp + 0x230]
mulsd xmm0, qword [rsp + 0x230]
movsd qword [rsp + 0x180], xmm0
movsd xmm0, qword [rsp + 0x180]
mulsd xmm0, qword [rsp + 0x180]
movsd qword [rsp + 0x458], xmm0
movsd xmm0, qword [rsp + 0x180]
mulsd xmm0, qword [0x1802b1ff8]
movsd xmm1, qword [0x1802b21d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x460], xmm0
movsd xmm0, qword [rsp + 0x180]
mulsd xmm0, qword [rsp + 0x230]
movsd qword [rsp + 0x398], xmm0
movsd xmm0, qword [rsp + 0x398]
mulsd xmm0, qword [rsp + 0x458]
mulsd xmm0, qword [rsp + 0x460]
movsd xmm1, qword [rsp + 0x180]
mulsd xmm1, qword [0x1802b20b8]
movsd xmm2, qword [0x1802b21f0]
addsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x398]
mulsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x230]
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cvtss2sd xmm0, dword [rsp + 0x3c]
subsd xmm0, qword [0x1802b2118]
movsd qword [rsp + 0x238], xmm0
movsd xmm0, qword [rsp + 0x238]
mulsd xmm0, qword [rsp + 0x238]
movsd qword [rsp + 0x188], xmm0
movsd xmm0, qword [rsp + 0x188]
mulsd xmm0, qword [rsp + 0x188]
movsd qword [rsp + 0x468], xmm0
movsd xmm0, qword [rsp + 0x188]
mulsd xmm0, qword [0x1802b1ff8]
movsd xmm1, qword [0x1802b21d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x470], xmm0
movsd xmm0, qword [rsp + 0x188]
mulsd xmm0, qword [rsp + 0x238]
movsd qword [rsp + 0x3a0], xmm0
movsd xmm0, qword [rsp + 0x3a0]
mulsd xmm0, qword [rsp + 0x468]
mulsd xmm0, qword [rsp + 0x470]
movsd xmm1, qword [rsp + 0x188]
mulsd xmm1, qword [0x1802b20b8]
movsd xmm2, qword [0x1802b21f0]
addsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x3a0]
mulsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x238]
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
cmp dword [rsp + 0x60], 0x7f800000
jb 0x1801b2bad
movss xmm0, dword [rsp + 0x3c]
subss xmm0, dword [rsp + 0x3c]
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
movss xmm0, dword [rsp + 0x3c]
movss dword [rsp + 0xd4], xmm0
mov eax, dword [rsp + 0xd4]
btr eax, 0x1f
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0x4dc90fdb
jae 0x1801b2c62
cvtss2sd xmm0, dword [rsp + 0x3c]
mulsd xmm0, qword [0x1802b20d8]
addsd xmm0, qword [0x1802b2180]
subsd xmm0, qword [0x1802b2180]
movsd qword [rsp + 0x2f0], xmm0
cvttsd2si eax, qword [rsp + 0x2f0]
mov dword [rsp + 0xc4], eax
cvtss2sd xmm0, dword [rsp + 0x3c]
movsd xmm1, qword [rsp + 0x2f0]
mulsd xmm1, qword [0x1802b20f0]
subsd xmm0, xmm1
movsd xmm1, qword [rsp + 0x2f0]
mulsd xmm1, qword [0x1802b1fb8]
subsd xmm0, xmm1
movsd qword [rsp + 0xa8], xmm0
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0xc8], eax
jmp 0x1801b51e3
cmp dword [rsp + 0xd0], 0x7f800000
jb 0x1801b2c98
movss xmm0, dword [rsp + 0x3c]
subss xmm0, dword [rsp + 0x3c]
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0xa8], xmm0
mov dword [rsp + 0xc8], 0
jmp 0x1801b51e3
mov eax, dword [rsp + 0xd4]
shr eax, 0x1f
mov dword [rsp + 0x2e0], eax
mov eax, dword [rsp + 0xd0]
shr eax, 0x17
sub eax, 0x96
mov dword [rsp + 0xf0], eax
mov eax, dword [rsp + 0xf0]
shl eax, 0x17
mov ecx, dword [rsp + 0xd0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xd4], eax
cvtss2sd xmm0, dword [rsp + 0xd4]
mov eax, 8
imul rax, rax, 0
movsd qword [rsp + rax + 0x3c0], xmm0
xor eax, eax
lea rcx, [0x1802aef48]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x2dc], eax
mov eax, 1
dec eax
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0xf0]
sub eax, 3
cdq
mov ecx, 0x18
idiv ecx
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0
jge 0x1801b2d53
mov dword [rsp + 0xb0], 0
mov eax, dword [rsp + 0xb0]
inc eax
imul eax, eax, 0x18
mov ecx, dword [rsp + 0xf0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x88]
mov ecx, dword [rsp + 0xb0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x88]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x308], eax
mov dword [rsp + 0x20], 0
jmp 0x1801b2dbb
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x308]
cmp dword [rsp + 0x20], eax
jg 0x1801b2e10
cmp dword [rsp + 0x28], 0
jge 0x1801b2ddd
xorps xmm0, xmm0
movsd qword [rsp + 0x3a8], xmm0
jmp 0x1801b2df7
movsxd rax, dword [rsp + 0x28]
lea rcx, [0x1802aef60]
cvtsi2sd xmm0, dword [rcx + rax*4]
movsd qword [rsp + 0x3a8], xmm0
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x3a8]
movsd qword [rsp + rax*8 + 0x740], xmm0
jmp 0x1801b2da7
mov dword [rsp + 0x20], 0
jmp 0x1801b2e24
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x94]
cmp dword [rsp + 0x20], eax
jg 0x1801b2eba
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b2e52
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0x28], eax
jg 0x1801b2ea1
movsxd rax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x88]
add edx, ecx
mov ecx, edx
sub ecx, dword [rsp + 0x28]
movsxd rcx, ecx
movsd xmm0, qword [rsp + rax*8 + 0x3c0]
mulsd xmm0, qword [rsp + rcx*8 + 0x740]
movsd xmm1, qword [rsp + 0x30]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b2e48
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax*8 + 0x6a0], xmm0
jmp 0x1801b2e1a
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x24]
movsd xmm0, qword [rsp + rax*8 + 0x6a0]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b2eff
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x28]
dec eax
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0
jle 0x1801b2f6f
movsd xmm0, qword [0x1802b1fc8]
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si eax, xmm0
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1802b2148]
mulsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
movsxd rcx, dword [rsp + 0x20]
mov dword [rsp + rcx*4 + 0x590], eax
mov eax, dword [rsp + 0x28]
dec eax
cdqe
movsd xmm0, qword [rsp + rax*8 + 0x6a0]
addsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b2eeb
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x78], xmm0
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x3b0], xmm0
mov rax, qword [rsp + 0x3b0]
shr rax, 0x20
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x3b0]
mov dword [rsp + 0x30c], eax
xor eax, eax
test eax, eax
jne 0x1801b2f7b
mov eax, dword [rsp + 0x8c]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
jne 0x1801b306f
mov eax, dword [rsp + 0x8c]
btr eax, 0x1f
mov ecx, dword [rsp + 0x30c]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1801b2ffa
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b34c8
movsd xmm0, qword [rsp + 0x78]
mulsd xmm0, qword [0x1802b2188]
movsd qword [rsp + 0x78], xmm0
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x478], xmm0
mov rax, qword [rsp + 0x478]
shr rax, 0x20
mov dword [rsp + 0x8c], eax
xor eax, eax
test eax, eax
jne 0x1801b300e
mov eax, dword [rsp + 0x8c]
and eax, 0x7ff00000
sar eax, 0x14
sub eax, 0x36
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x38], 0xffff3cb0
jge 0x1801b306f
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b34c8
cmp dword [rsp + 0x4c], 0x7ff
jne 0x1801b3090
movsd xmm0, qword [rsp + 0x78]
addsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b34c8
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0x7fe
jle 0x1801b31a1
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x240], xmm0
movsd xmm0, qword [rsp + 0x240]
movsd qword [rsp + 0x480], xmm0
mov rax, qword [rsp + 0x480]
shr rax, 0x20
mov dword [rsp + 0x310], eax
xor eax, eax
test eax, eax
jne 0x1801b30bf
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x488], xmm0
mov rax, qword [rsp + 0x488]
shr rax, 0x20
mov dword [rsp + 0x314], eax
xor eax, eax
test eax, eax
jne 0x1801b30ea
movsd xmm0, qword [rsp + 0x240]
movsd qword [rsp + 0x190], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x190]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x190], rax
mov eax, dword [rsp + 0x310]
btr eax, 0x1f
mov ecx, dword [rsp + 0x314]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x190]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x190], rax
movsd xmm0, qword [rsp + 0x190]
movsd qword [rsp + 0x240], xmm0
xor eax, eax
test eax, eax
jne 0x1801b3112
movsd xmm0, qword [rsp + 0x240]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b34c8
cmp dword [rsp + 0x4c], 0
jle 0x1801b322d
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x198], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x198]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x198], rax
mov eax, dword [rsp + 0x8c]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x4c]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x198]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x198], rax
movsd xmm0, qword [rsp + 0x198]
movsd qword [rsp + 0x78], xmm0
xor eax, eax
test eax, eax
jne 0x1801b31ac
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b34c8
cmp dword [rsp + 0x4c], 0xffffffca
jg 0x1801b3439
cmp dword [rsp + 0x38], 0xc350
jle 0x1801b333e
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x248], xmm0
movsd xmm0, qword [rsp + 0x248]
movsd qword [rsp + 0x490], xmm0
mov rax, qword [rsp + 0x490]
shr rax, 0x20
mov dword [rsp + 0x318], eax
xor eax, eax
test eax, eax
jne 0x1801b3257
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x498], xmm0
mov rax, qword [rsp + 0x498]
shr rax, 0x20
mov dword [rsp + 0x2d4], eax
xor eax, eax
test eax, eax
jne 0x1801b3282
movsd xmm0, qword [rsp + 0x248]
movsd qword [rsp + 0x1a0], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1a0]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov eax, dword [rsp + 0x318]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2d4]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1a0]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
movsd xmm0, qword [rsp + 0x1a0]
movsd qword [rsp + 0x248], xmm0
xor eax, eax
test eax, eax
jne 0x1801b32aa
movsd xmm0, qword [rsp + 0x248]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b34c8
movsd xmm0, qword [0x1802b1f70]
movsd qword [rsp + 0x250], xmm0
movsd xmm0, qword [rsp + 0x250]
movsd qword [rsp + 0x4a0], xmm0
mov rax, qword [rsp + 0x4a0]
shr rax, 0x20
mov dword [rsp + 0x31c], eax
xor eax, eax
test eax, eax
jne 0x1801b334f
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x4a8], xmm0
mov rax, qword [rsp + 0x4a8]
shr rax, 0x20
mov dword [rsp + 0x320], eax
xor eax, eax
test eax, eax
jne 0x1801b337a
movsd xmm0, qword [rsp + 0x250]
movsd qword [rsp + 0x1a8], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1a8]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov eax, dword [rsp + 0x31c]
btr eax, 0x1f
mov ecx, dword [rsp + 0x320]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1a8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
movsd xmm0, qword [rsp + 0x1a8]
movsd qword [rsp + 0x250], xmm0
xor eax, eax
test eax, eax
jne 0x1801b33a2
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x250]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b34c8
mov eax, dword [rsp + 0x4c]
add eax, 0x36
mov dword [rsp + 0x4c], eax
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x1b0], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1b0]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b0], rax
mov eax, dword [rsp + 0x8c]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x4c]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1b0]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b0], rax
movsd xmm0, qword [rsp + 0x1b0]
movsd qword [rsp + 0x78], xmm0
xor eax, eax
test eax, eax
jne 0x1801b3444
movsd xmm0, qword [rsp + 0x78]
mulsd xmm0, qword [0x1802b1f80]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x40]
mulsd xmm0, qword [0x1802b20c8]
movsd qword [rsp + 0xe0], xmm0
movsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0x2f8], xmm0
mov rax, qword [rsp + 0x2f8]
shr rax, 0x34
and rax, 0x7ff
mov dword [rsp + 0x110], eax
cmp dword [rsp + 0x110], 0x433
jge 0x1801b352c
movsd xmm0, qword [rsp + 0xe0]
ucomisd xmm0, qword [0x1802aed28]
jp 0x1801b3543
jne 0x1801b3543
movsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0x258], xmm0
jmp 0x1801b369a
mov rax, qword [rsp + 0x2f8]
shr rax, 0x3f
test rax, rax
je 0x1801b3581
movsd xmm0, qword [rsp + 0xe0]
subsd xmm0, qword [0x1802b2178]
addsd xmm0, qword [0x1802b2178]
subsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0x108], xmm0
jmp 0x1801b35ac
movsd xmm0, qword [rsp + 0xe0]
addsd xmm0, qword [0x1802b2178]
subsd xmm0, qword [0x1802b2178]
subsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0x108], xmm0
cmp dword [rsp + 0x110], 0x3fe
jg 0x1801b3647
xor eax, eax
test eax, eax
je 0x1801b35d7
cvtsd2ss xmm0, qword [rsp + 0x108]
movss dword [rsp + 0x40c], xmm0
jmp 0x1801b3604
xor eax, eax
cmp eax, 1
je 0x1801b35f2
movsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x688], xmm0
jmp 0x1801b3604
movsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x690], xmm0
xor eax, eax
test eax, eax
jne 0x1801b35bd
mov rax, qword [rsp + 0x2f8]
shr rax, 0x3f
test rax, rax
je 0x1801b3628
mov dword [rsp + 0x114], 0xffffffff
jmp 0x1801b3633
mov dword [rsp + 0x114], 0
cvtsi2sd xmm0, dword [rsp + 0x114]
movsd qword [rsp + 0x258], xmm0
jmp 0x1801b369a
movsd xmm0, qword [rsp + 0x108]
comisd xmm0, xmmword [0x1802aed28]
jbe 0x1801b367f
movsd xmm0, qword [rsp + 0xe0]
addsd xmm0, qword [rsp + 0x108]
subsd xmm0, qword [0x1802aeda0]
movsd qword [rsp + 0x258], xmm0
jmp 0x1801b369a
movsd xmm0, qword [rsp + 0xe0]
addsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x258], xmm0
movsd xmm0, qword [0x1802b2128]
mulsd xmm0, qword [rsp + 0x258]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
cvttsd2si eax, qword [rsp + 0x40]
mov dword [rsp + 0xa0], eax
cvtsi2sd xmm0, dword [rsp + 0xa0]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x64], 0
cmp dword [rsp + 0x38], 0
jle 0x1801b3784
mov eax, dword [rsp + 0x24]
dec eax
cdqe
mov ecx, 0x18
sub ecx, dword [rsp + 0x38]
mov eax, dword [rsp + rax*4 + 0x590]
sar eax, cl
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa0], eax
mov eax, 0x18
sub eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x24]
dec ecx
movsxd rcx, ecx
mov ecx, dword [rsp + rcx*4 + 0x590]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x24]
dec ecx
movsxd rcx, ecx
mov dword [rsp + rcx*4 + 0x590], eax
mov eax, dword [rsp + 0x24]
dec eax
cdqe
mov ecx, 0x17
sub ecx, dword [rsp + 0x38]
mov eax, dword [rsp + rax*4 + 0x590]
sar eax, cl
mov dword [rsp + 0x64], eax
jmp 0x1801b37bb
cmp dword [rsp + 0x38], 0
jne 0x1801b37a3
mov eax, dword [rsp + 0x24]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x590]
sar eax, 0x17
mov dword [rsp + 0x64], eax
jmp 0x1801b37bb
movsd xmm0, qword [rsp + 0x40]
comisd xmm0, xmmword [0x1802b20d0]
jb 0x1801b37bb
mov dword [rsp + 0x64], 2
cmp dword [rsp + 0x64], 0
jle 0x1801b3eb6
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x20], 0
jmp 0x1801b37f5
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x20], eax
jge 0x1801b3859
movsxd rax, dword [rsp + 0x20]
mov eax, dword [rsp + rax*4 + 0x590]
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0xf4], 0
jne 0x1801b3842
cmp dword [rsp + 0x28], 0
je 0x1801b3840
mov dword [rsp + 0xf4], 1
mov eax, 0x1000000
sub eax, dword [rsp + 0x28]
movsxd rcx, dword [rsp + 0x20]
mov dword [rsp + rcx*4 + 0x590], eax
jmp 0x1801b3857
mov eax, 0xffffff
sub eax, dword [rsp + 0x28]
movsxd rcx, dword [rsp + 0x20]
mov dword [rsp + rcx*4 + 0x590], eax
jmp 0x1801b37eb
cmp dword [rsp + 0x38], 0
jle 0x1801b38cb
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x118], eax
cmp dword [rsp + 0x118], 1
je 0x1801b3881
cmp dword [rsp + 0x118], 2
je 0x1801b38a7
jmp 0x1801b38cb
mov eax, dword [rsp + 0x24]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x590]
and eax, 0x7fffff
mov ecx, dword [rsp + 0x24]
dec ecx
movsxd rcx, ecx
mov dword [rsp + rcx*4 + 0x590], eax
jmp 0x1801b38cb
mov eax, dword [rsp + 0x24]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x590]
and eax, 0x3fffff
mov ecx, dword [rsp + 0x24]
dec ecx
movsxd rcx, ecx
mov dword [rsp + rcx*4 + 0x590], eax
cmp dword [rsp + 0x64], 2
jne 0x1801b3eb6
movsd xmm0, qword [0x1802aeda0]
subsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
cmp dword [rsp + 0xf4], 0
je 0x1801b3eb6
movsd xmm0, qword [0x1802aeda0]
movsd qword [rsp + 0x80], xmm0
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0x3b8], xmm0
mov rax, qword [rsp + 0x3b8]
shr rax, 0x20
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x3b8]
mov dword [rsp + 0x324], eax
xor eax, eax
test eax, eax
jne 0x1801b3909
mov eax, dword [rsp + 0x90]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jne 0x1801b3a15
mov eax, dword [rsp + 0x90]
btr eax, 0x1f
mov ecx, dword [rsp + 0x324]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1801b3991
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x1801b3ea1
movsd xmm0, qword [rsp + 0x80]
mulsd xmm0, qword [0x1802b2188]
movsd qword [rsp + 0x80], xmm0
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0x4b0], xmm0
mov rax, qword [rsp + 0x4b0]
shr rax, 0x20
mov dword [rsp + 0x90], eax
xor eax, eax
test eax, eax
jne 0x1801b39ab
mov eax, dword [rsp + 0x90]
and eax, 0x7ff00000
sar eax, 0x14
sub eax, 0x36
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x38], 0xffff3cb0
jge 0x1801b3a15
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x1801b3ea1
cmp dword [rsp + 0x50], 0x7ff
jne 0x1801b3a3f
movsd xmm0, qword [rsp + 0x80]
addsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x1801b3ea1
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0x7fe
jle 0x1801b3b56
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x260], xmm0
movsd xmm0, qword [rsp + 0x260]
movsd qword [rsp + 0x4b8], xmm0
mov rax, qword [rsp + 0x4b8]
shr rax, 0x20
mov dword [rsp + 0x328], eax
xor eax, eax
test eax, eax
jne 0x1801b3a6e
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0x4c0], xmm0
mov rax, qword [rsp + 0x4c0]
shr rax, 0x20
mov dword [rsp + 0x32c], eax
xor eax, eax
test eax, eax
jne 0x1801b3a99
movsd xmm0, qword [rsp + 0x260]
movsd qword [rsp + 0x1b8], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1b8]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b8], rax
mov eax, dword [rsp + 0x328]
btr eax, 0x1f
mov ecx, dword [rsp + 0x32c]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1b8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b8], rax
movsd xmm0, qword [rsp + 0x1b8]
movsd qword [rsp + 0x260], xmm0
xor eax, eax
test eax, eax
jne 0x1801b3ac4
movsd xmm0, qword [rsp + 0x260]
movsd qword [rsp + 0xe8], xmm0
jmp 0x1801b3ea1
cmp dword [rsp + 0x50], 0
jle 0x1801b3bee
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0x1c0], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1c0]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c0], rax
mov eax, dword [rsp + 0x90]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x50]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1c0]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c0], rax
movsd xmm0, qword [rsp + 0x1c0]
movsd qword [rsp + 0x80], xmm0
xor eax, eax
test eax, eax
jne 0x1801b3b61
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x1801b3ea1
cmp dword [rsp + 0x50], 0xffffffca
jg 0x1801b3e06
cmp dword [rsp + 0x38], 0xc350
jle 0x1801b3d05
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x268], xmm0
movsd xmm0, qword [rsp + 0x268]
movsd qword [rsp + 0x4c8], xmm0
mov rax, qword [rsp + 0x4c8]
shr rax, 0x20
mov dword [rsp + 0x334], eax
xor eax, eax
test eax, eax
jne 0x1801b3c18
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0x4d0], xmm0
mov rax, qword [rsp + 0x4d0]
shr rax, 0x20
mov dword [rsp + 0x338], eax
xor eax, eax
test eax, eax
jne 0x1801b3c43
movsd xmm0, qword [rsp + 0x268]
movsd qword [rsp + 0x1c8], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1c8]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c8], rax
mov eax, dword [rsp + 0x334]
btr eax, 0x1f
mov ecx, dword [rsp + 0x338]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1c8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c8], rax
movsd xmm0, qword [rsp + 0x1c8]
movsd qword [rsp + 0x268], xmm0
xor eax, eax
test eax, eax
jne 0x1801b3c6e
movsd xmm0, qword [rsp + 0x268]
movsd qword [rsp + 0xe8], xmm0
jmp 0x1801b3ea1
movsd xmm0, qword [0x1802b1f70]
movsd qword [rsp + 0x270], xmm0
movsd xmm0, qword [rsp + 0x270]
movsd qword [rsp + 0x4d8], xmm0
mov rax, qword [rsp + 0x4d8]
shr rax, 0x20
mov dword [rsp + 0x33c], eax
xor eax, eax
test eax, eax
jne 0x1801b3d16
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0x4e0], xmm0
mov rax, qword [rsp + 0x4e0]
shr rax, 0x20
mov dword [rsp + 0x340], eax
xor eax, eax
test eax, eax
jne 0x1801b3d41
movsd xmm0, qword [rsp + 0x270]
movsd qword [rsp + 0x1d0], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1d0]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1d0], rax
mov eax, dword [rsp + 0x33c]
btr eax, 0x1f
mov ecx, dword [rsp + 0x340]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1d0]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1d0], rax
movsd xmm0, qword [rsp + 0x1d0]
movsd qword [rsp + 0x270], xmm0
xor eax, eax
test eax, eax
jne 0x1801b3d6c
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x270]
movsd qword [rsp + 0xe8], xmm0
jmp 0x1801b3ea1
mov eax, dword [rsp + 0x50]
add eax, 0x36
mov dword [rsp + 0x50], eax
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0x1d8], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1d8]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1d8], rax
mov eax, dword [rsp + 0x90]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x50]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1d8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1d8], rax
movsd xmm0, qword [rsp + 0x1d8]
movsd qword [rsp + 0x80], xmm0
xor eax, eax
test eax, eax
jne 0x1801b3e11
movsd xmm0, qword [rsp + 0x80]
mulsd xmm0, qword [0x1802b1f80]
movsd qword [rsp + 0xe8], xmm0
movsd xmm0, qword [rsp + 0x40]
subsd xmm0, qword [rsp + 0xe8]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x40]
ucomisd xmm0, qword [0x1802aed28]
jp 0x1801b404e
jne 0x1801b404e
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x24]
dec eax
mov dword [rsp + 0x20], eax
jmp 0x1801b3eee
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x94]
cmp dword [rsp + 0x20], eax
jl 0x1801b3f15
movsxd rax, dword [rsp + 0x20]
mov eax, dword [rsp + rax*4 + 0x590]
mov ecx, dword [rsp + 0x28]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
jmp 0x1801b3ee4
cmp dword [rsp + 0x28], 0
jne 0x1801b404e
mov dword [rsp + 0x5c], 1
jmp 0x1801b3f34
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x94]
sub ecx, eax
mov eax, ecx
cdqe
cmp dword [rsp + rax*4 + 0x590], 0
jne 0x1801b3f51
jmp 0x1801b3f2a
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x1801b3f67
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
cmp dword [rsp + 0x20], eax
jg 0x1801b4039
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0xb0]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1802aef60]
cvtsi2sd xmm0, dword [rcx + rax*4]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x88]
add ecx, eax
mov eax, ecx
cdqe
movsd qword [rsp + rax*8 + 0x740], xmm0
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b3fd1
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0x28], eax
jg 0x1801b4020
movsxd rax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x88]
add edx, ecx
mov ecx, edx
sub ecx, dword [rsp + 0x28]
movsxd rcx, ecx
movsd xmm0, qword [rsp + rax*8 + 0x3c0]
mulsd xmm0, qword [rsp + rcx*8 + 0x740]
movsd xmm1, qword [rsp + 0x30]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b3fc7
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax*8 + 0x6a0], xmm0
jmp 0x1801b3f5d
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1801b2ec5
movsd xmm0, qword [rsp + 0x40]
ucomisd xmm0, qword [0x1802aed28]
jp 0x1801b40a0
jne 0x1801b40a0
mov eax, dword [rsp + 0x24]
dec eax
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x38]
sub eax, 0x18
mov dword [rsp + 0x38], eax
movsxd rax, dword [rsp + 0x24]
cmp dword [rsp + rax*4 + 0x590], 0
jne 0x1801b409b
mov eax, dword [rsp + 0x24]
dec eax
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x38]
sub eax, 0x18
mov dword [rsp + 0x38], eax
jmp 0x1801b4075
jmp 0x1801b46a1
mov eax, dword [rsp + 0x38]
neg eax
mov dword [rsp + 0xf8], eax
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x3c8], xmm0
mov rax, qword [rsp + 0x3c8]
shr rax, 0x20
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x3c8]
mov dword [rsp + 0x344], eax
xor eax, eax
test eax, eax
jne 0x1801b40b9
mov eax, dword [rsp + 0x98]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0
jne 0x1801b41b0
mov eax, dword [rsp + 0x98]
btr eax, 0x1f
mov ecx, dword [rsp + 0x344]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1801b4138
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b460f
movsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [0x1802b2188]
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x4e8], xmm0
mov rax, qword [rsp + 0x4e8]
shr rax, 0x20
mov dword [rsp + 0x98], eax
xor eax, eax
test eax, eax
jne 0x1801b414c
mov eax, dword [rsp + 0x98]
and eax, 0x7ff00000
sar eax, 0x14
sub eax, 0x36
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0xf8], 0xffff3cb0
jge 0x1801b41b0
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b460f
cmp dword [rsp + 0x54], 0x7ff
jne 0x1801b41d1
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b460f
mov eax, dword [rsp + 0xf8]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0x7fe
jle 0x1801b42e5
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x278], xmm0
movsd xmm0, qword [rsp + 0x278]
movsd qword [rsp + 0x4f0], xmm0
mov rax, qword [rsp + 0x4f0]
shr rax, 0x20
mov dword [rsp + 0x2a8], eax
xor eax, eax
test eax, eax
jne 0x1801b4203
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x4f8], xmm0
mov rax, qword [rsp + 0x4f8]
shr rax, 0x20
mov dword [rsp + 0x2ac], eax
xor eax, eax
test eax, eax
jne 0x1801b422e
movsd xmm0, qword [rsp + 0x278]
movsd qword [rsp + 0x1e0], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1e0]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e0], rax
mov eax, dword [rsp + 0x2a8]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2ac]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1e0]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e0], rax
movsd xmm0, qword [rsp + 0x1e0]
movsd qword [rsp + 0x278], xmm0
xor eax, eax
test eax, eax
jne 0x1801b4256
movsd xmm0, qword [rsp + 0x278]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b460f
cmp dword [rsp + 0x54], 0
jle 0x1801b4371
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x1e8], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1e8]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e8], rax
mov eax, dword [rsp + 0x98]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x54]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1e8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e8], rax
movsd xmm0, qword [rsp + 0x1e8]
movsd qword [rsp + 0x68], xmm0
xor eax, eax
test eax, eax
jne 0x1801b42f0
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b460f
cmp dword [rsp + 0x54], 0xffffffca
jg 0x1801b4580
cmp dword [rsp + 0xf8], 0xc350
jle 0x1801b4485
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x218], xmm0
movsd xmm0, qword [rsp + 0x218]
movsd qword [rsp + 0x500], xmm0
mov rax, qword [rsp + 0x500]
shr rax, 0x20
mov dword [rsp + 0x2b0], eax
xor eax, eax
test eax, eax
jne 0x1801b439e
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x508], xmm0
mov rax, qword [rsp + 0x508]
shr rax, 0x20
mov dword [rsp + 0x2b4], eax
xor eax, eax
test eax, eax
jne 0x1801b43c9
movsd xmm0, qword [rsp + 0x218]
movsd qword [rsp + 0x1f0], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1f0]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f0], rax
mov eax, dword [rsp + 0x2b0]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2b4]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1f0]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f0], rax
movsd xmm0, qword [rsp + 0x1f0]
movsd qword [rsp + 0x218], xmm0
xor eax, eax
test eax, eax
jne 0x1801b43f1
movsd xmm0, qword [rsp + 0x218]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b460f
movsd xmm0, qword [0x1802b1f70]
movsd qword [rsp + 0x280], xmm0
movsd xmm0, qword [rsp + 0x280]
movsd qword [rsp + 0x510], xmm0
mov rax, qword [rsp + 0x510]
shr rax, 0x20
mov dword [rsp + 0x2b8], eax
xor eax, eax
test eax, eax
jne 0x1801b4496
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x518], xmm0
mov rax, qword [rsp + 0x518]
shr rax, 0x20
mov dword [rsp + 0x2bc], eax
xor eax, eax
test eax, eax
jne 0x1801b44c1
movsd xmm0, qword [rsp + 0x280]
movsd qword [rsp + 0x1f8], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1f8]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f8], rax
mov eax, dword [rsp + 0x2b8]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2bc]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x1f8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f8], rax
movsd xmm0, qword [rsp + 0x1f8]
movsd qword [rsp + 0x280], xmm0
xor eax, eax
test eax, eax
jne 0x1801b44e9
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x280]
movsd qword [rsp + 0x40], xmm0
jmp 0x1801b460f
mov eax, dword [rsp + 0x54]
add eax, 0x36
mov dword [rsp + 0x54], eax
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x200], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x200]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x200], rax
mov eax, dword [rsp + 0x98]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x54]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x200]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x200], rax
movsd xmm0, qword [rsp + 0x200]
movsd qword [rsp + 0x68], xmm0
xor eax, eax
test eax, eax
jne 0x1801b458b
movsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [0x1802b1f80]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x40]
comisd xmm0, xmmword [0x1802b2148]
jb 0x1801b468f
movsd xmm0, qword [0x1802b1fc8]
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si eax, xmm0
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1802b2148]
mulsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
movsxd rcx, dword [rsp + 0x24]
mov dword [rsp + rcx*4 + 0x590], eax
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x38]
add eax, 0x18
mov dword [rsp + 0x38], eax
cvttsd2si eax, qword [rsp + 0x30]
movsxd rcx, dword [rsp + 0x24]
mov dword [rsp + rcx*4 + 0x590], eax
jmp 0x1801b46a1
cvttsd2si eax, qword [rsp + 0x40]
movsxd rcx, dword [rsp + 0x24]
mov dword [rsp + rcx*4 + 0x590], eax
movsd xmm0, qword [0x1802aeda0]
movsd qword [rsp + 0x70], xmm0
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x3d0], xmm0
mov rax, qword [rsp + 0x3d0]
shr rax, 0x20
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x3d0]
mov dword [rsp + 0x2c0], eax
xor eax, eax
test eax, eax
jne 0x1801b46af
mov eax, dword [rsp + 0x9c]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
jne 0x1801b47a3
mov eax, dword [rsp + 0x9c]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2c0]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1801b472e
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4bfc
movsd xmm0, qword [rsp + 0x70]
mulsd xmm0, qword [0x1802b2188]
movsd qword [rsp + 0x70], xmm0
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x520], xmm0
mov rax, qword [rsp + 0x520]
shr rax, 0x20
mov dword [rsp + 0x9c], eax
xor eax, eax
test eax, eax
jne 0x1801b4742
mov eax, dword [rsp + 0x9c]
and eax, 0x7ff00000
sar eax, 0x14
sub eax, 0x36
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x38], 0xffff3cb0
jge 0x1801b47a3
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4bfc
cmp dword [rsp + 0x58], 0x7ff
jne 0x1801b47c4
movsd xmm0, qword [rsp + 0x70]
addsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4bfc
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0x7fe
jle 0x1801b48d5
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x288], xmm0
movsd xmm0, qword [rsp + 0x288]
movsd qword [rsp + 0x528], xmm0
mov rax, qword [rsp + 0x528]
shr rax, 0x20
mov dword [rsp + 0x2c4], eax
xor eax, eax
test eax, eax
jne 0x1801b47f3
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x530], xmm0
mov rax, qword [rsp + 0x530]
shr rax, 0x20
mov dword [rsp + 0x2c8], eax
xor eax, eax
test eax, eax
jne 0x1801b481e
movsd xmm0, qword [rsp + 0x288]
movsd qword [rsp + 0x208], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x208]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x208], rax
mov eax, dword [rsp + 0x2c4]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2c8]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x208]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x208], rax
movsd xmm0, qword [rsp + 0x208]
movsd qword [rsp + 0x288], xmm0
xor eax, eax
test eax, eax
jne 0x1801b4846
movsd xmm0, qword [rsp + 0x288]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4bfc
cmp dword [rsp + 0x58], 0
jle 0x1801b4961
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x210], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x210]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x210], rax
mov eax, dword [rsp + 0x9c]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x58]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x210]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x210], rax
movsd xmm0, qword [rsp + 0x210]
movsd qword [rsp + 0x70], xmm0
xor eax, eax
test eax, eax
jne 0x1801b48e0
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4bfc
cmp dword [rsp + 0x58], 0xffffffca
jg 0x1801b4b6d
cmp dword [rsp + 0x38], 0xc350
jle 0x1801b4a72
movsd xmm0, qword [0x1802b21b8]
movsd qword [rsp + 0x290], xmm0
movsd xmm0, qword [rsp + 0x290]
movsd qword [rsp + 0x538], xmm0
mov rax, qword [rsp + 0x538]
shr rax, 0x20
mov dword [rsp + 0x2cc], eax
xor eax, eax
test eax, eax
jne 0x1801b498b
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x540], xmm0
mov rax, qword [rsp + 0x540]
shr rax, 0x20
mov dword [rsp + 0x2d0], eax
xor eax, eax
test eax, eax
jne 0x1801b49b6
movsd xmm0, qword [rsp + 0x290]
movsd qword [rsp + 0x120], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x120]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0x2cc]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2d0]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x120]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x120], rax
movsd xmm0, qword [rsp + 0x120]
movsd qword [rsp + 0x290], xmm0
xor eax, eax
test eax, eax
jne 0x1801b49de
movsd xmm0, qword [rsp + 0x290]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4bfc
movsd xmm0, qword [0x1802b1f70]
movsd qword [rsp + 0x298], xmm0
movsd xmm0, qword [rsp + 0x298]
movsd qword [rsp + 0x548], xmm0
mov rax, qword [rsp + 0x548]
shr rax, 0x20
mov dword [rsp + 0x330], eax
xor eax, eax
test eax, eax
jne 0x1801b4a83
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x550], xmm0
mov rax, qword [rsp + 0x550]
shr rax, 0x20
mov dword [rsp + 0x2d8], eax
xor eax, eax
test eax, eax
jne 0x1801b4aae
movsd xmm0, qword [rsp + 0x298]
movsd qword [rsp + 0x128], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x128]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x128], rax
mov eax, dword [rsp + 0x330]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2d8]
and ecx, 0x80000000
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x128]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x128], rax
movsd xmm0, qword [rsp + 0x128]
movsd qword [rsp + 0x298], xmm0
xor eax, eax
test eax, eax
jne 0x1801b4ad6
movsd xmm0, qword [0x1802b1f70]
mulsd xmm0, qword [rsp + 0x298]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4bfc
mov eax, dword [rsp + 0x58]
add eax, 0x36
mov dword [rsp + 0x58], eax
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x130], xmm0
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x130]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0x9c]
and eax, 0x800fffff
mov ecx, dword [rsp + 0x58]
shl ecx, 0x14
or eax, ecx
mov eax, eax
shl rax, 0x20
mov rcx, qword [rsp + 0x130]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
movsd xmm0, qword [rsp + 0x130]
movsd qword [rsp + 0x70], xmm0
xor eax, eax
test eax, eax
jne 0x1801b4b78
movsd xmm0, qword [rsp + 0x70]
mulsd xmm0, qword [0x1802b1f80]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x1801b4c10
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x1801b4c56
movsxd rax, dword [rsp + 0x20]
cvtsi2sd xmm0, dword [rsp + rax*4 + 0x590]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsxd rax, dword [rsp + 0x20]
movsd qword [rsp + rax*8 + 0x6a0], xmm0
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, qword [0x1802b1fc8]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4c06
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x1801b4c6a
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x1801b4d14
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x5c], 0
jmp 0x1801b4c92
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x2dc]
cmp dword [rsp + 0x5c], eax
jg 0x1801b4cf2
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
cmp dword [rsp + 0x5c], eax
jg 0x1801b4cf2
movsxd rax, dword [rsp + 0x5c]
lea rcx, [0x1802af250]
mov edx, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x20]
add r8d, edx
mov edx, r8d
movsxd rdx, edx
movsd xmm0, qword [rcx + rax*8]
mulsd xmm0, qword [rsp + rdx*8 + 0x6a0]
movsd xmm1, qword [rsp + 0x30]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4c88
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
cdqe
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax*8 + 0x5e0], xmm0
jmp 0x1801b4c60
mov dword [rsp + 0xc0], 0
cmp dword [rsp + 0xc0], 0
je 0x1801b4d58
cmp dword [rsp + 0xc0], 1
je 0x1801b4de6
cmp dword [rsp + 0xc0], 2
je 0x1801b4de6
cmp dword [rsp + 0xc0], 3
je 0x1801b4f21
jmp 0x1801b516b
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x1801b4d75
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x1801b4d98
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4d6b
cmp dword [rsp + 0x64], 0
jne 0x1801b4db0
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x3d8], xmm0
jmp 0x1801b4dc6
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x1802aee30]
movsd qword [rsp + 0x3d8], xmm0
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + 0x3d8]
movsd qword [rsp + rax + 0xb8], xmm0
jmp 0x1801b516b
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x1801b4e03
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x1801b4e26
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4df9
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
cmp dword [rsp + 0x64], 0
jne 0x1801b4e4a
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x3e0], xmm0
jmp 0x1801b4e60
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x1802aee30]
movsd qword [rsp + 0x3e0], xmm0
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + 0x3e0]
movsd qword [rsp + rax + 0xb8], xmm0
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + rax + 0x5e0]
subsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x20], 1
jmp 0x1801b4ead
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x20], eax
jg 0x1801b4ed3
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b4ea3
cmp dword [rsp + 0x64], 0
jne 0x1801b4eeb
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x3e8], xmm0
jmp 0x1801b4f01
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x1802aee30]
movsd qword [rsp + 0x3e8], xmm0
mov eax, 8
imul rax, rax, 1
movsd xmm0, qword [rsp + 0x3e8]
movsd qword [rsp + rax + 0xb8], xmm0
jmp 0x1801b516b
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x1801b4f35
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jle 0x1801b4fb7
mov eax, dword [rsp + 0x20]
dec eax
cdqe
movsxd rcx, dword [rsp + 0x20]
movsd xmm0, qword [rsp + rax*8 + 0x5e0]
addsd xmm0, qword [rsp + rcx*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x20]
dec eax
cdqe
movsd xmm0, qword [rsp + rax*8 + 0x5e0]
subsd xmm0, qword [rsp + 0x30]
movsxd rax, dword [rsp + 0x20]
movsd xmm1, qword [rsp + rax*8 + 0x5e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsxd rax, dword [rsp + 0x20]
movsd qword [rsp + rax*8 + 0x5e0], xmm0
mov eax, dword [rsp + 0x20]
dec eax
cdqe
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax*8 + 0x5e0], xmm0
jmp 0x1801b4f2b
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x1801b4fcb
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 1
jle 0x1801b504d
mov eax, dword [rsp + 0x20]
dec eax
cdqe
movsxd rcx, dword [rsp + 0x20]
movsd xmm0, qword [rsp + rax*8 + 0x5e0]
addsd xmm0, qword [rsp + rcx*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x20]
dec eax
cdqe
movsd xmm0, qword [rsp + rax*8 + 0x5e0]
subsd xmm0, qword [rsp + 0x30]
movsxd rax, dword [rsp + 0x20]
movsd xmm1, qword [rsp + rax*8 + 0x5e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsxd rax, dword [rsp + 0x20]
movsd qword [rsp + rax*8 + 0x5e0], xmm0
mov eax, dword [rsp + 0x20]
dec eax
cdqe
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax*8 + 0x5e0], xmm0
jmp 0x1801b4fc1
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x1801b506a
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 2
jl 0x1801b508d
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x1801b5060
cmp dword [rsp + 0x64], 0
jne 0x1801b50f6
mov eax, 8
imul rax, rax, 0
mov ecx, 8
imul rcx, rcx, 0
movsd xmm0, qword [rsp + rax + 0x5e0]
movsd qword [rsp + rcx + 0xb8], xmm0
mov eax, 8
imul rax, rax, 1
mov ecx, 8
imul rcx, rcx, 1
movsd xmm0, qword [rsp + rax + 0x5e0]
movsd qword [rsp + rcx + 0xb8], xmm0
mov eax, 8
imul rax, rax, 2
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax + 0xb8], xmm0
jmp 0x1801b516b
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + rax + 0x5e0]
xorps xmm0, xmmword [0x1802aee30]
mov eax, 8
imul rax, rax, 0
movsd qword [rsp + rax + 0xb8], xmm0
mov eax, 8
imul rax, rax, 1
movsd xmm0, qword [rsp + rax + 0x5e0]
xorps xmm0, xmmword [0x1802aee30]
mov eax, 8
imul rax, rax, 1
movsd qword [rsp + rax + 0xb8], xmm0
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x1802aee30]
mov eax, 8
imul rax, rax, 2
movsd qword [rsp + rax + 0xb8], xmm0
mov eax, dword [rsp + 0xa0]
and eax, 7
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0x2e0], 0
je 0x1801b51ba
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + rax + 0xb8]
xorps xmm0, xmmword [0x1802aee30]
movsd qword [rsp + 0xa8], xmm0
mov eax, dword [rsp + 0xc4]
neg eax
mov dword [rsp + 0xc8], eax
jmp 0x1801b51e3
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + rax + 0xb8]
movsd qword [rsp + 0xa8], xmm0
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x2e4], eax
mov eax, dword [rsp + 0x2e4]
and eax, 3
mov dword [rsp + 0x100], eax
cmp dword [rsp + 0x100], 0
je 0x1801b522d
cmp dword [rsp + 0x100], 1
je 0x1801b52f5
cmp dword [rsp + 0x100], 2
je 0x1801b53f9
jmp 0x1801b54c8
movsd xmm0, qword [rsp + 0xa8]
mulsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0x138], xmm0
movsd xmm0, qword [rsp + 0x138]
mulsd xmm0, qword [rsp + 0x138]
movsd qword [rsp + 0x3f0], xmm0
movsd xmm0, qword [rsp + 0x138]
mulsd xmm0, qword [0x1802b2028]
movsd xmm1, qword [0x1802b21e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x558], xmm0
movsd xmm0, qword [rsp + 0x3f0]
mulsd xmm0, qword [rsp + 0x138]
mulsd xmm0, qword [rsp + 0x558]
movsd xmm1, qword [rsp + 0x3f0]
mulsd xmm1, qword [0x1802b20c0]
movsd xmm2, qword [rsp + 0x138]
mulsd xmm2, qword [0x1802b21f8]
movsd xmm3, qword [0x1802aeda0]
addsd xmm3, xmm2
movaps xmm2, xmm3
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
movsd xmm0, qword [rsp + 0xa8]
xorps xmm0, xmmword [0x1802aee30]
movsd qword [rsp + 0x2a0], xmm0
movsd xmm0, qword [rsp + 0x2a0]
mulsd xmm0, qword [rsp + 0x2a0]
movsd qword [rsp + 0x140], xmm0
movsd xmm0, qword [rsp + 0x140]
mulsd xmm0, qword [rsp + 0x140]
movsd qword [rsp + 0x560], xmm0
movsd xmm0, qword [rsp + 0x140]
mulsd xmm0, qword [0x1802b1ff8]
movsd xmm1, qword [0x1802b21d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x568], xmm0
movsd xmm0, qword [rsp + 0x140]
mulsd xmm0, qword [rsp + 0x2a0]
movsd qword [rsp + 0x3f8], xmm0
movsd xmm0, qword [rsp + 0x3f8]
mulsd xmm0, qword [rsp + 0x560]
mulsd xmm0, qword [rsp + 0x568]
movsd xmm1, qword [rsp + 0x140]
mulsd xmm1, qword [0x1802b20b8]
movsd xmm2, qword [0x1802b21f0]
addsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x3f8]
mulsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x2a0]
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
movsd xmm0, qword [rsp + 0xa8]
mulsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0x148], xmm0
movsd xmm0, qword [rsp + 0x148]
mulsd xmm0, qword [rsp + 0x148]
movsd qword [rsp + 0x400], xmm0
movsd xmm0, qword [rsp + 0x148]
mulsd xmm0, qword [0x1802b2028]
movsd xmm1, qword [0x1802b21e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x570], xmm0
movsd xmm0, qword [rsp + 0x400]
mulsd xmm0, qword [rsp + 0x148]
mulsd xmm0, qword [rsp + 0x570]
movsd xmm1, qword [rsp + 0x400]
mulsd xmm1, qword [0x1802b20c0]
movsd xmm2, qword [rsp + 0x148]
mulsd xmm2, qword [0x1802b21f8]
movsd xmm3, qword [0x1802aeda0]
addsd xmm3, xmm2
movaps xmm2, xmm3
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x1802aee40]
movss dword [rsp + 0x48], xmm0
jmp 0x1801b55ae
movsd xmm0, qword [rsp + 0xa8]
mulsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0x150], xmm0
movsd xmm0, qword [rsp + 0x150]
mulsd xmm0, qword [rsp + 0x150]
movsd qword [rsp + 0x578], xmm0
movsd xmm0, qword [rsp + 0x150]
mulsd xmm0, qword [0x1802b1ff8]
movsd xmm1, qword [0x1802b21d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x580], xmm0
movsd xmm0, qword [rsp + 0x150]
mulsd xmm0, qword [rsp + 0xa8]
movsd qword [rsp + 0x358], xmm0
movsd xmm0, qword [rsp + 0x358]
mulsd xmm0, qword [rsp + 0x578]
mulsd xmm0, qword [rsp + 0x580]
movsd xmm1, qword [rsp + 0x150]
mulsd xmm1, qword [0x1802b20b8]
movsd xmm2, qword [0x1802b21f0]
addsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0x358]
mulsd xmm2, xmm1
movaps xmm1, xmm2
movsd xmm2, qword [rsp + 0xa8]
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rsp + 0x48]
mulss xmm0, dword [rsp + 0x800]
mov rax, qword [rsp + 0x7f8]
movss xmm1, dword [rax]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x2e8], xmm0
movss xmm0, dword [rsp + 0x2e8]
movss dword [rsp + 0x360], xmm0
movss xmm0, dword [rsp + 0x2ec]
movss dword [rsp + 0x364], xmm0
lea rdx, [rsp + 0x360]
mov rcx, qword [rsp + 0x588]
call fcn.180183900
jmp 0x1801b229e
add rsp, 0x7e8
ret