Function at 0x18005cd80
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 0x18005cdd8
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.180039210
jmp 0x180060197
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.1800398a0
mov dword [rsp + 0xd8], 0
jmp 0x18005ce2e
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0x818]
cmp dword [rsp + 0xd8], eax
jg 0x180060197
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.18007ec40
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 0x18005cedf
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 0x18005d07f
cmp dword [rsp + 0x60], 0x39800000
jae 0x18005cfa8
xor eax, eax
cmp eax, 1
je 0x18005cf51
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [0x18008c70c]
movss dword [rsp + 0x408], xmm0
jmp 0x18005cf8f
xor eax, eax
test eax, eax
je 0x18005cf74
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [0x18008c70c]
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x698], xmm0
jmp 0x18005cf8f
movss xmm0, dword [rsp + 0x3c]
addss xmm0, dword [0x18008c70c]
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x680], xmm0
xor eax, eax
test eax, eax
jne 0x18005cf31
movss xmm0, dword [0x18008be28]
movss dword [rsp + 0x48], xmm0
jmp 0x18006012e
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 [0x18008c5e0]
movsd xmm1, qword [0x18008c748]
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 [0x18008c628]
movsd xmm2, qword [rsp + 0x158]
mulsd xmm2, qword [0x18008c760]
movsd xmm3, qword [0x18008be40]
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 0x18006012e
cmp dword [rsp + 0x60], 0x407b53d1
ja 0x18005d3c7
cmp dword [rsp + 0x60], 0x4016cbe3
jbe 0x18005d1a9
cmp dword [rsp + 0xcc], 0
je 0x18005d0be
cvtss2sd xmm0, dword [rsp + 0x3c]
addsd xmm0, qword [0x18008c678]
movsd qword [rsp + 0x348], xmm0
jmp 0x18005d0d5
cvtss2sd xmm0, dword [rsp + 0x3c]
subsd xmm0, qword [0x18008c678]
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 [0x18008c5e0]
movsd xmm1, qword [0x18008c748]
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 [0x18008c628]
movsd xmm2, qword [rsp + 0x160]
mulsd xmm2, qword [0x18008c760]
movsd xmm3, qword [0x18008be40]
addsd xmm3, xmm2
movaps xmm2, xmm3
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x18008bec0]
movss dword [rsp + 0x48], xmm0
jmp 0x18006012e
cmp dword [rsp + 0xcc], 0
je 0x18005d2be
cvtss2sd xmm0, dword [rsp + 0x3c]
addsd xmm0, qword [0x18008c660]
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 [0x18008c5c8]
movsd xmm1, qword [0x18008c738]
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 [0x18008c620]
movsd xmm2, qword [0x18008c758]
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 0x18006012e
cvtss2sd xmm0, dword [rsp + 0x3c]
movsd xmm1, qword [0x18008c660]
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 [0x18008c5c8]
movsd xmm1, qword [0x18008c738]
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 [0x18008c620]
movsd xmm2, qword [0x18008c758]
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 0x18006012e
cmp dword [rsp + 0x60], 0x40e231d5
ja 0x18005d70c
cmp dword [rsp + 0x60], 0x40afeddf
jbe 0x18005d4ea
cmp dword [rsp + 0xcc], 0
je 0x18005d406
cvtss2sd xmm0, dword [rsp + 0x3c]
addsd xmm0, qword [0x18008c688]
movsd qword [rsp + 0x350], xmm0
jmp 0x18005d41d
cvtss2sd xmm0, dword [rsp + 0x3c]
subsd xmm0, qword [0x18008c688]
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 [0x18008c5e0]
movsd xmm1, qword [0x18008c748]
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 [0x18008c628]
movsd xmm2, qword [rsp + 0x178]
mulsd xmm2, qword [0x18008c760]
movsd xmm3, qword [0x18008be40]
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 0x18006012e
cmp dword [rsp + 0xcc], 0
je 0x18005d60a
movss xmm0, dword [rsp + 0x3c]
xorps xmm0, xmmword [0x18008bec0]
cvtss2sd xmm0, xmm0
subsd xmm0, qword [0x18008c680]
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 [0x18008c5c8]
movsd xmm1, qword [0x18008c738]
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 [0x18008c620]
movsd xmm2, qword [0x18008c758]
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 0x18006012e
cvtss2sd xmm0, dword [rsp + 0x3c]
subsd xmm0, qword [0x18008c680]
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 [0x18008c5c8]
movsd xmm1, qword [0x18008c738]
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 [0x18008c620]
movsd xmm2, qword [0x18008c758]
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 0x18006012e
cmp dword [rsp + 0x60], 0x7f800000
jb 0x18005d72d
movss xmm0, dword [rsp + 0x3c]
subss xmm0, dword [rsp + 0x3c]
movss dword [rsp + 0x48], xmm0
jmp 0x18006012e
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 0x18005d7e2
cvtss2sd xmm0, dword [rsp + 0x3c]
mulsd xmm0, qword [0x18008c640]
addsd xmm0, qword [0x18008c6e8]
subsd xmm0, qword [0x18008c6e8]
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 [0x18008c658]
subsd xmm0, xmm1
movsd xmm1, qword [rsp + 0x2f0]
mulsd xmm1, qword [0x18008c598]
subsd xmm0, xmm1
movsd qword [rsp + 0xa8], xmm0
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0xc8], eax
jmp 0x18005fd63
cmp dword [rsp + 0xd0], 0x7f800000
jb 0x18005d818
movss xmm0, dword [rsp + 0x3c]
subss xmm0, dword [rsp + 0x3c]
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0xa8], xmm0
mov dword [rsp + 0xc8], 0
jmp 0x18005fd63
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, [0x18008c098]
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 0x18005d8d3
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 0x18005d93b
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 0x18005d990
cmp dword [rsp + 0x28], 0
jge 0x18005d95d
xorps xmm0, xmm0
movsd qword [rsp + 0x3a8], xmm0
jmp 0x18005d977
movsxd rax, dword [rsp + 0x28]
lea rcx, [0x18008c0b0]
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 0x18005d927
mov dword [rsp + 0x20], 0
jmp 0x18005d9a4
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x94]
cmp dword [rsp + 0x20], eax
jg 0x18005da3a
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
jmp 0x18005d9d2
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0x28], eax
jg 0x18005da21
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 0x18005d9c8
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax*8 + 0x6a0], xmm0
jmp 0x18005d99a
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 0x18005da7f
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 0x18005daef
movsd xmm0, qword [0x18008c5a8]
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si eax, xmm0
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [0x18008c6b0]
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 0x18005da6b
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 0x18005dafb
mov eax, dword [rsp + 0x8c]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
jne 0x18005dbef
mov eax, dword [rsp + 0x8c]
btr eax, 0x1f
mov ecx, dword [rsp + 0x30c]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x18005db7a
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005e048
movsd xmm0, qword [rsp + 0x78]
mulsd xmm0, qword [0x18008c6f0]
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 0x18005db8e
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 0x18005dbef
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005e048
cmp dword [rsp + 0x4c], 0x7ff
jne 0x18005dc10
movsd xmm0, qword [rsp + 0x78]
addsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005e048
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 0x18005dd21
movsd xmm0, qword [0x18008c720]
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 0x18005dc3f
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 0x18005dc6a
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 0x18005dc92
movsd xmm0, qword [rsp + 0x240]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005e048
cmp dword [rsp + 0x4c], 0
jle 0x18005ddad
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 0x18005dd2c
movsd xmm0, qword [rsp + 0x78]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005e048
cmp dword [rsp + 0x4c], 0xffffffca
jg 0x18005dfb9
cmp dword [rsp + 0x38], 0xc350
jle 0x18005debe
movsd xmm0, qword [0x18008c720]
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 0x18005ddd7
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 0x18005de02
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 0x18005de2a
movsd xmm0, qword [rsp + 0x248]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005e048
movsd xmm0, qword [0x18008c560]
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 0x18005decf
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 0x18005defa
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 0x18005df22
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x250]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005e048
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 0x18005dfc4
movsd xmm0, qword [rsp + 0x78]
mulsd xmm0, qword [0x18008c570]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x40]
mulsd xmm0, qword [0x18008c630]
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 0x18005e0ac
movsd xmm0, qword [rsp + 0xe0]
ucomisd xmm0, qword [0x180089a90]
jp 0x18005e0c3
jne 0x18005e0c3
movsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0x258], xmm0
jmp 0x18005e21a
mov rax, qword [rsp + 0x2f8]
shr rax, 0x3f
test rax, rax
je 0x18005e101
movsd xmm0, qword [rsp + 0xe0]
subsd xmm0, qword [0x18008c6e0]
addsd xmm0, qword [0x18008c6e0]
subsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0x108], xmm0
jmp 0x18005e12c
movsd xmm0, qword [rsp + 0xe0]
addsd xmm0, qword [0x18008c6e0]
subsd xmm0, qword [0x18008c6e0]
subsd xmm0, qword [rsp + 0xe0]
movsd qword [rsp + 0x108], xmm0
cmp dword [rsp + 0x110], 0x3fe
jg 0x18005e1c7
xor eax, eax
test eax, eax
je 0x18005e157
cvtsd2ss xmm0, qword [rsp + 0x108]
movss dword [rsp + 0x40c], xmm0
jmp 0x18005e184
xor eax, eax
cmp eax, 1
je 0x18005e172
movsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x688], xmm0
jmp 0x18005e184
movsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x690], xmm0
xor eax, eax
test eax, eax
jne 0x18005e13d
mov rax, qword [rsp + 0x2f8]
shr rax, 0x3f
test rax, rax
je 0x18005e1a8
mov dword [rsp + 0x114], 0xffffffff
jmp 0x18005e1b3
mov dword [rsp + 0x114], 0
cvtsi2sd xmm0, dword [rsp + 0x114]
movsd qword [rsp + 0x258], xmm0
jmp 0x18005e21a
movsd xmm0, qword [rsp + 0x108]
comisd xmm0, xmmword [0x180089a90]
jbe 0x18005e1ff
movsd xmm0, qword [rsp + 0xe0]
addsd xmm0, qword [rsp + 0x108]
subsd xmm0, qword [0x18008be40]
movsd qword [rsp + 0x258], xmm0
jmp 0x18005e21a
movsd xmm0, qword [rsp + 0xe0]
addsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x258], xmm0
movsd xmm0, qword [0x18008c690]
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 0x18005e304
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 0x18005e33b
cmp dword [rsp + 0x38], 0
jne 0x18005e323
mov eax, dword [rsp + 0x24]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x590]
sar eax, 0x17
mov dword [rsp + 0x64], eax
jmp 0x18005e33b
movsd xmm0, qword [rsp + 0x40]
comisd xmm0, xmmword [0x18008c638]
jb 0x18005e33b
mov dword [rsp + 0x64], 2
cmp dword [rsp + 0x64], 0
jle 0x18005ea36
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x20], 0
jmp 0x18005e375
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x20], eax
jge 0x18005e3d9
movsxd rax, dword [rsp + 0x20]
mov eax, dword [rsp + rax*4 + 0x590]
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0xf4], 0
jne 0x18005e3c2
cmp dword [rsp + 0x28], 0
je 0x18005e3c0
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 0x18005e3d7
mov eax, 0xffffff
sub eax, dword [rsp + 0x28]
movsxd rcx, dword [rsp + 0x20]
mov dword [rsp + rcx*4 + 0x590], eax
jmp 0x18005e36b
cmp dword [rsp + 0x38], 0
jle 0x18005e44b
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x118], eax
cmp dword [rsp + 0x118], 1
je 0x18005e401
cmp dword [rsp + 0x118], 2
je 0x18005e427
jmp 0x18005e44b
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 0x18005e44b
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 0x18005ea36
movsd xmm0, qword [0x18008be40]
subsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
cmp dword [rsp + 0xf4], 0
je 0x18005ea36
movsd xmm0, qword [0x18008be40]
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 0x18005e489
mov eax, dword [rsp + 0x90]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jne 0x18005e595
mov eax, dword [rsp + 0x90]
btr eax, 0x1f
mov ecx, dword [rsp + 0x324]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x18005e511
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x18005ea21
movsd xmm0, qword [rsp + 0x80]
mulsd xmm0, qword [0x18008c6f0]
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 0x18005e52b
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 0x18005e595
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x18005ea21
cmp dword [rsp + 0x50], 0x7ff
jne 0x18005e5bf
movsd xmm0, qword [rsp + 0x80]
addsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x18005ea21
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 0x18005e6d6
movsd xmm0, qword [0x18008c720]
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 0x18005e5ee
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 0x18005e619
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 0x18005e644
movsd xmm0, qword [rsp + 0x260]
movsd qword [rsp + 0xe8], xmm0
jmp 0x18005ea21
cmp dword [rsp + 0x50], 0
jle 0x18005e76e
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 0x18005e6e1
movsd xmm0, qword [rsp + 0x80]
movsd qword [rsp + 0xe8], xmm0
jmp 0x18005ea21
cmp dword [rsp + 0x50], 0xffffffca
jg 0x18005e986
cmp dword [rsp + 0x38], 0xc350
jle 0x18005e885
movsd xmm0, qword [0x18008c720]
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 0x18005e798
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 0x18005e7c3
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 0x18005e7ee
movsd xmm0, qword [rsp + 0x268]
movsd qword [rsp + 0xe8], xmm0
jmp 0x18005ea21
movsd xmm0, qword [0x18008c560]
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 0x18005e896
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 0x18005e8c1
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 0x18005e8ec
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x270]
movsd qword [rsp + 0xe8], xmm0
jmp 0x18005ea21
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 0x18005e991
movsd xmm0, qword [rsp + 0x80]
mulsd xmm0, qword [0x18008c570]
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 [0x180089a90]
jp 0x18005ebce
jne 0x18005ebce
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x24]
dec eax
mov dword [rsp + 0x20], eax
jmp 0x18005ea6e
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x94]
cmp dword [rsp + 0x20], eax
jl 0x18005ea95
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 0x18005ea64
cmp dword [rsp + 0x28], 0
jne 0x18005ebce
mov dword [rsp + 0x5c], 1
jmp 0x18005eab4
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 0x18005ead1
jmp 0x18005eaaa
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x18005eae7
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 0x18005ebb9
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0xb0]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x18008c0b0]
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 0x18005eb51
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0x28], eax
jg 0x18005eba0
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 0x18005eb47
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + rax*8 + 0x6a0], xmm0
jmp 0x18005eadd
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x18005da45
movsd xmm0, qword [rsp + 0x40]
ucomisd xmm0, qword [0x180089a90]
jp 0x18005ec20
jne 0x18005ec20
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 0x18005ec1b
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 0x18005ebf5
jmp 0x18005f221
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 0x18005ec39
mov eax, dword [rsp + 0x98]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0
jne 0x18005ed30
mov eax, dword [rsp + 0x98]
btr eax, 0x1f
mov ecx, dword [rsp + 0x344]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x18005ecb8
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005f18f
movsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [0x18008c6f0]
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 0x18005eccc
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 0x18005ed30
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005f18f
cmp dword [rsp + 0x54], 0x7ff
jne 0x18005ed51
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005f18f
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 0x18005ee65
movsd xmm0, qword [0x18008c720]
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 0x18005ed83
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 0x18005edae
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 0x18005edd6
movsd xmm0, qword [rsp + 0x278]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005f18f
cmp dword [rsp + 0x54], 0
jle 0x18005eef1
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 0x18005ee70
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005f18f
cmp dword [rsp + 0x54], 0xffffffca
jg 0x18005f100
cmp dword [rsp + 0xf8], 0xc350
jle 0x18005f005
movsd xmm0, qword [0x18008c720]
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 0x18005ef1e
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 0x18005ef49
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 0x18005ef71
movsd xmm0, qword [rsp + 0x218]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005f18f
movsd xmm0, qword [0x18008c560]
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 0x18005f016
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 0x18005f041
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 0x18005f069
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x280]
movsd qword [rsp + 0x40], xmm0
jmp 0x18005f18f
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 0x18005f10b
movsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [0x18008c570]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x40]
comisd xmm0, xmmword [0x18008c6b0]
jb 0x18005f20f
movsd xmm0, qword [0x18008c5a8]
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si eax, xmm0
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [0x18008c6b0]
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 0x18005f221
cvttsd2si eax, qword [rsp + 0x40]
movsxd rcx, dword [rsp + 0x24]
mov dword [rsp + rcx*4 + 0x590], eax
movsd xmm0, qword [0x18008be40]
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 0x18005f22f
mov eax, dword [rsp + 0x9c]
and eax, 0x7ff00000
sar eax, 0x14
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
jne 0x18005f323
mov eax, dword [rsp + 0x9c]
btr eax, 0x1f
mov ecx, dword [rsp + 0x2c0]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x18005f2ae
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f77c
movsd xmm0, qword [rsp + 0x70]
mulsd xmm0, qword [0x18008c6f0]
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 0x18005f2c2
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 0x18005f323
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f77c
cmp dword [rsp + 0x58], 0x7ff
jne 0x18005f344
movsd xmm0, qword [rsp + 0x70]
addsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f77c
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 0x18005f455
movsd xmm0, qword [0x18008c720]
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 0x18005f373
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 0x18005f39e
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 0x18005f3c6
movsd xmm0, qword [rsp + 0x288]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f77c
cmp dword [rsp + 0x58], 0
jle 0x18005f4e1
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 0x18005f460
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f77c
cmp dword [rsp + 0x58], 0xffffffca
jg 0x18005f6ed
cmp dword [rsp + 0x38], 0xc350
jle 0x18005f5f2
movsd xmm0, qword [0x18008c720]
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 0x18005f50b
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 0x18005f536
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 0x18005f55e
movsd xmm0, qword [rsp + 0x290]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f77c
movsd xmm0, qword [0x18008c560]
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 0x18005f603
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 0x18005f62e
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 0x18005f656
movsd xmm0, qword [0x18008c560]
mulsd xmm0, qword [rsp + 0x298]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f77c
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 0x18005f6f8
movsd xmm0, qword [rsp + 0x70]
mulsd xmm0, qword [0x18008c570]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x18005f790
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x18005f7d6
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 [0x18008c5a8]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f786
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x18005f7ea
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x18005f894
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x5c], 0
jmp 0x18005f812
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x2dc]
cmp dword [rsp + 0x5c], eax
jg 0x18005f872
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
cmp dword [rsp + 0x5c], eax
jg 0x18005f872
movsxd rax, dword [rsp + 0x5c]
lea rcx, [0x18008c3c0]
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 0x18005f808
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 0x18005f7e0
mov dword [rsp + 0xc0], 0
cmp dword [rsp + 0xc0], 0
je 0x18005f8d8
cmp dword [rsp + 0xc0], 1
je 0x18005f966
cmp dword [rsp + 0xc0], 2
je 0x18005f966
cmp dword [rsp + 0xc0], 3
je 0x18005faa1
jmp 0x18005fceb
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x18005f8f5
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x18005f918
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f8eb
cmp dword [rsp + 0x64], 0
jne 0x18005f930
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x3d8], xmm0
jmp 0x18005f946
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x180089aa0]
movsd qword [rsp + 0x3d8], xmm0
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + 0x3d8]
movsd qword [rsp + rax + 0xb8], xmm0
jmp 0x18005fceb
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x18005f983
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jl 0x18005f9a6
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005f979
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
cmp dword [rsp + 0x64], 0
jne 0x18005f9ca
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x3e0], xmm0
jmp 0x18005f9e0
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x180089aa0]
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 0x18005fa2d
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x20], eax
jg 0x18005fa53
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005fa23
cmp dword [rsp + 0x64], 0
jne 0x18005fa6b
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x3e8], xmm0
jmp 0x18005fa81
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x180089aa0]
movsd qword [rsp + 0x3e8], xmm0
mov eax, 8
imul rax, rax, 1
movsd xmm0, qword [rsp + 0x3e8]
movsd qword [rsp + rax + 0xb8], xmm0
jmp 0x18005fceb
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x18005fab5
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jle 0x18005fb37
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 0x18005faab
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x18005fb4b
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 1
jle 0x18005fbcd
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 0x18005fb41
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
jmp 0x18005fbea
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 2
jl 0x18005fc0d
movsxd rax, dword [rsp + 0x20]
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + rax*8 + 0x5e0]
movsd qword [rsp + 0x30], xmm0
jmp 0x18005fbe0
cmp dword [rsp + 0x64], 0
jne 0x18005fc76
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 0x18005fceb
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + rax + 0x5e0]
xorps xmm0, xmmword [0x180089aa0]
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 [0x180089aa0]
mov eax, 8
imul rax, rax, 1
movsd qword [rsp + rax + 0xb8], xmm0
movsd xmm0, qword [rsp + 0x30]
xorps xmm0, xmmword [0x180089aa0]
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 0x18005fd3a
mov eax, 8
imul rax, rax, 0
movsd xmm0, qword [rsp + rax + 0xb8]
xorps xmm0, xmmword [0x180089aa0]
movsd qword [rsp + 0xa8], xmm0
mov eax, dword [rsp + 0xc4]
neg eax
mov dword [rsp + 0xc8], eax
jmp 0x18005fd63
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 0x18005fdad
cmp dword [rsp + 0x100], 1
je 0x18005fe75
cmp dword [rsp + 0x100], 2
je 0x18005ff79
jmp 0x180060048
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 [0x18008c5e0]
movsd xmm1, qword [0x18008c748]
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 [0x18008c628]
movsd xmm2, qword [rsp + 0x138]
mulsd xmm2, qword [0x18008c760]
movsd xmm3, qword [0x18008be40]
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 0x18006012e
movsd xmm0, qword [rsp + 0xa8]
xorps xmm0, xmmword [0x180089aa0]
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 [0x18008c5c8]
movsd xmm1, qword [0x18008c738]
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 [0x18008c620]
movsd xmm2, qword [0x18008c758]
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 0x18006012e
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 [0x18008c5e0]
movsd xmm1, qword [0x18008c748]
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 [0x18008c628]
movsd xmm2, qword [rsp + 0x148]
mulsd xmm2, qword [0x18008c760]
movsd xmm3, qword [0x18008be40]
addsd xmm3, xmm2
movaps xmm2, xmm3
addsd xmm2, xmm1
movaps xmm1, xmm2
addsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x18008bec0]
movss dword [rsp + 0x48], xmm0
jmp 0x18006012e
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 [0x18008c5c8]
movsd xmm1, qword [0x18008c738]
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 [0x18008c620]
movsd xmm2, qword [0x18008c758]
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.180039210
jmp 0x18005ce1e
add rsp, 0x7e8
ret