Function at 0x1400968c0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1c0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140232100]
xor rax, rsp
mov qword [rbp + 0x18], rax
movsd xmm11, qword [0x140215ec0]
mov rsi, rcx
mov ecx, dword [rcx + 0x1258]
mov rbx, rdx
movsd xmm10, qword [0x140216560]
xorps xmm14, xmm14
movsd xmm5, qword [0x140216550]
mov qword [rbp - 0x40], rdx
test ecx, ecx
js 0x140097539
mov rax, qword [rsi + 0x1298]
mov r13, qword [rax + 8]
mov r12, qword [rax + 0x18]
mov rdx, qword [rax + 0x20]
mov r14, qword [rax]
mov r9, qword [rax + 0x10]
mov qword [rbp + 0x10], rdx
mov r11, qword [rax + 0x28]
mov r15, qword [rax + 0x30]
mov rax, qword [rsi + 0x12d8]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x60], r11
movzx edi, byte [rax]
mov rax, qword [rsi + 0x1318]
mov qword [rbp - 0x68], r15
mov byte [rsp + 0x70], dil
movsd xmm9, qword [rax + 0x18]
movsd xmm7, qword [rax]
movsd xmm8, qword [rax + 8]
movsd xmm13, qword [rax + 0x10]
movsd xmm15, qword [rax + 0x20]
movsd xmm12, qword [rax + 0x28]
movsd qword [rbp - 0x10], xmm9
jne 0x140096ad6
mov rcx, qword [rsi + 0x2ea8]
lea r9, [r14 - 1]
mov rax, qword [rsi + 0x1208]
xor r8d, r8d
mov byte [rsi + 0x1251], 0
mov qword [rcx], rax
test r9, r9
js 0x1400993ef
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x60], r11
mov qword [rbp - 0x68], r15
mov byte [rsp + 0x70], dil
cmp r14, 4
jl 0x140096ab0
lea r10, [r9 - 3]
nop dword [rax]
mov rax, qword [rsi + 0x2ef8]
mov rdx, qword [rsi + 0x1248]
mov rcx, qword [rax]
mov rax, qword [rdx + r8*8]
mov qword [rcx + r8*8], rax
mov rax, qword [rsi + 0x2ef8]
mov rdx, qword [rsi + 0x1248]
mov rcx, qword [rax]
mov rax, qword [rdx + r8*8 + 8]
mov qword [rcx + r8*8 + 8], rax
mov rax, qword [rsi + 0x2ef8]
mov rdx, qword [rsi + 0x1248]
mov rcx, qword [rax]
mov rax, qword [rdx + r8*8 + 0x10]
mov qword [rcx + r8*8 + 0x10], rax
mov rax, qword [rsi + 0x2ef8]
mov rdx, qword [rsi + 0x1248]
mov rcx, qword [rax]
mov rax, qword [rdx + r8*8 + 0x18]
mov qword [rcx + r8*8 + 0x18], rax
add r8, 4
cmp r8, r10
jle 0x140096a30
cmp r8, r9
jg 0x1400993ef
nop dword [rax]
mov rax, qword [rsi + 0x2ef8]
mov rdx, qword [rsi + 0x1248]
mov rcx, qword [rax]
mov rax, qword [rdx + r8*8]
mov qword [rcx + r8*8], rax
inc r8
cmp r8, r9
jle 0x140096ab0
jmp 0x1400993ef
mov qword [rbp - 0x70], r14
mov rbx, r15
mov qword [rbp - 0x50], r14
movzx r15d, dil
mov byte [rsp + 0x70], r15b
movaps xmm0, xmm7
mov qword [rbp - 0x60], r11
mov rdi, r9
cmp ecx, 1
jne 0x140096b11
mov rax, qword [rbp - 0x68]
mov rbx, r12
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x68], rax
mov byte [rsi + 0x1251], 0
jmp 0x140096b3d
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x68], rbx
cmp ecx, 2
jne 0x140096bbc
mov qword [rbp - 0x68], rbx
mov rbx, r12
mov byte [rsi + 0x1250], 0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x60], r11
mov byte [rsp + 0x70], r15b
mov qword [rsp + 0x78], r13
movsd xmm0, qword [rsi + 0x1208]
movsd qword [rsi + 0x14e0], xmm0
andps xmm0, xmm5
addsd xmm0, xmm11
mulsd xmm0, qword [0x140215f38]
movsd qword [rsi + 0x1fb0], xmm0
inc qword [rsi + 0x16c0]
cmp byte [rsi + 0x30], 0
je 0x140096bce
mov r8, qword [rsi + 0x90]
mov r9d, 1
mov rcx, qword [rsi + 0x1200]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov rax, qword [rsi + 0x14e0]
mov qword [rsi + 0x1208], rax
mov byte [rsi + 0x1252], 1
mov dword [rsi + 0x1258], 3
jmp 0x14009988a
mov rbx, r12
mov r10, r12
cmp ecx, 3
jne 0x140096be0
mov byte [rsi + 0x1252], 0
cmp byte [rsi + 0x1256], 0
jne 0x140097117
jmp 0x140098fe6
mov r12, qword [rbp - 0x68]
mov rbx, r13
mov qword [rbp - 0x68], r12
mov r12, r14
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x60], r11
mov byte [rsp + 0x70], r15b
cmp ecx, 4
jne 0x140096c27
mov byte [rsi + 0x1251], 0
lea rbx, [r14 - 1]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x60], r11
mov byte [rsp + 0x70], r15b
jmp 0x140096f33
mov r15, qword [rbp - 0x60]
mov r11, rbx
mov r12, qword [rbp - 0x68]
mov rbx, r10
movzx r13d, byte [rsp + 0x70]
movaps xmm2, xmm0
cmp ecx, 5
jne 0x140096c65
lea rdx, [rsi + 0x1208]
mov qword [rbp - 0x70], r14
mov rax, qword [rdx]
xor edi, edi
mov qword [rsi + 0x1db0], rax
xor ecx, ecx
mov qword [rbp - 0x50], r14
jmp 0x140096f0c
mov qword [rbp - 0x80], rbx
mov rax, r14
mov qword [rbp - 0x70], rax
mov r8, r9
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x68], r12
mov byte [rsp + 0x70], r13b
cmp ecx, 6
jne 0x140096ce5
mov rax, qword [rsi + 0x1208]
movsd xmm1, qword [rsi + 0x40]
mulsd xmm1, qword [0x140215e88]
mov qword [rsi + 0x1db8], rax
mov rax, qword [rsi + 0x1178]
mulsd xmm1, qword [rax + r9*8]
mov rax, qword [rsi + 0x1200]
subsd xmm0, xmm1
movsd qword [rax + r9*8], xmm0
mov dword [rsi + 0x1258], 7
mov qword [rbp - 0x80], rbx
mov r8, r11
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x68], r12
mov byte [rsp + 0x70], r13b
jmp 0x14009988f
cmp ecx, 7
jne 0x140096d35
mov rax, qword [rsi + 0x1208]
mov r8, r11
movsd xmm0, qword [rsi + 0x40]
mulsd xmm0, qword [0x140215e88]
mov qword [rsi + 0x1dc0], rax
mov rax, qword [rsi + 0x1178]
mulsd xmm0, qword [rax + r9*8]
mov rax, qword [rsi + 0x1200]
addsd xmm0, xmm7
movsd qword [rax + r9*8], xmm0
mov dword [rsi + 0x1258], 8
jmp 0x14009988f
mov qword [rsp + 0x78], r11
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x68], r12
mov byte [rsp + 0x70], r13b
cmp ecx, 8
jne 0x140096d90
mov rax, qword [rsi + 0x1208]
mov qword [rsi + 0x1dc8], rax
mov rax, qword [rsi + 0x1178]
movsd xmm0, qword [rax + r9*8]
mulsd xmm0, qword [rsi + 0x40]
mov rax, qword [rsi + 0x1200]
addsd xmm0, xmm7
movsd qword [rax + r9*8], xmm0
mov dword [rsi + 0x1258], 9
jmp 0x140096ccc
cmp ecx, 9
jne 0x140096e0a
mov rax, qword [rsi + 0x1178]
lea rcx, [r9*8]
movsd xmm1, qword [rsi + 0x1dc8]
lea rdx, [rsi + 0x1208]
subsd xmm1, qword [rsi + 0x1dc0]
movsd xmm0, qword [rdx]
movsd qword [rsi + 0x1dd0], xmm0
subsd xmm0, qword [rsi + 0x1db8]
mov qword [rbp - 0x70], r14
mulsd xmm1, qword [0x140215f30]
mov qword [rbp - 0x50], r14
subsd xmm1, xmm0
movsd xmm0, qword [rsi + 0x40]
mulsd xmm0, qword [0x140215f20]
mulsd xmm0, qword [rax + rcx]
mov rax, qword [rsi + 0x1248]
divsd xmm1, xmm0
movsd qword [rcx + rax], xmm1
jmp 0x140096ee3
cmp ecx, 0xa
jne 0x140096e41
mov rax, qword [rsi + 0x1208]
mov r8, r11
mov rcx, qword [rsi + 0x1200]
mov qword [rsi + 0x1dc0], rax
mov rax, qword [rsi + 0x1de0]
mov qword [rcx + r9*8], rax
mov dword [rsi + 0x1258], 0xb
jmp 0x14009988f
cmp ecx, 0xb
jne 0x14009735a
movsd xmm0, qword [rsi + 0x1dd8]
lea rdx, [rsi + 0x1208]
mov rax, qword [rdx]
lea rcx, [r9*8]
mov qword [rsi + 0x1dc8], rax
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rsi + 0x1de0]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x58]
ucomisd xmm1, xmm0
jp 0x140096ea8
jne 0x140096ea8
mov rax, qword [rsi + 0x1248]
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x50], r14
mov qword [rcx + rax], 0
jmp 0x140096ee3
movsd xmm1, qword [rsi + 0x1dc8]
movsd xmm0, qword [rsi + 0x1de0]
subsd xmm1, qword [rsi + 0x1dc0]
subsd xmm0, qword [rsi + 0x1dd8]
mov rax, qword [rsi + 0x1248]
divsd xmm1, xmm0
movsd qword [rcx + rax], xmm1
mov rax, r14
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x78], r11
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x68], r12
mov byte [rsp + 0x70], r13b
mov rax, qword [rsi + 0x1200]
inc rdi
movsd qword [rcx + rax], xmm7
add rcx, 8
lea rbx, [r14 - 1]
cmp rdi, rbx
jle 0x14009716d
mov rax, qword [rsi + 0x1db0]
mov r12, qword [rbp - 0x70]
mov r13, qword [rsp + 0x78]
mov qword [rdx], rax
mov byte [rsi + 0x1250], 0
mov rax, qword [rsi + 0x1208]
mov r9d, 1
mov r8, qword [rsi + 0x1248]
mov edx, r9d
mov rcx, qword [rsi + 0x1398]
mov qword [rsi + 0x14e0], rax
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov r8, qword [rsi + 0x1248]
mov r9d, 1
mov rcx, qword [rsi + 0x13d8]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
cmp qword [rsi + 0x50], 1
jne 0x1400999aa
mov r15, qword [rbp - 0x40]
lea r8, [rsi + 0xe0]
mov r9, r15
lea rdx, [rsi + 0x1360]
lea rcx, [rsi + 0x48]
call fcn.1400857a0
lea rdx, [rsi + 0x13a0]
mov r8, r15
lea rcx, [rsi + 0x48]
call fcn.140081ea0
xor edi, edi
xorps xmm2, xmm2
test rbx, rbx
js 0x140097085
mov r8, qword [rsi + 0x13d8]
mov r9, qword [rsi + 0x1178]
cmp r14, 4
jl 0x140097059
mov rcx, r8
lea rdx, [rbx + 1]
sub rcx, r9
lea rax, [r9 + 8]
shr rdx, 2
lea rdi, [rdx*4]
nop dword [rax + rax]
movsd xmm0, qword [rax - 8]
mulsd xmm0, qword [rax + rcx - 8]
movsd xmm1, qword [rax + rcx]
mulsd xmm1, qword [rax]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm0
movsd xmm0, qword [rax + 8]
mulsd xmm0, qword [rax + rcx + 8]
addsd xmm2, xmm1
movsd xmm1, qword [rax + 0x10]
mulsd xmm1, qword [rax + rcx + 0x10]
add rax, 0x20
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm0
addsd xmm2, xmm1
sub rdx, 1
jne 0x140097000
cmp rdi, rbx
jg 0x140097085
sub rbx, rdi
lea rax, [r9 + rdi*8]
inc rbx
sub r8, r9
add rdi, rbx
movsd xmm0, qword [r8 + rax]
mulsd xmm0, qword [rax]
add rax, 8
mulsd xmm0, xmm0
addsd xmm2, xmm0
sub rbx, 1
jne 0x140097069
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x140097099
xorps xmm15, xmm15
sqrtsd xmm15, xmm2
jmp 0x1400970a5
movaps xmm0, xmm2
call fcn.140170bf8
movaps xmm15, xmm0
movsd xmm0, qword [rsi + 0x15a8]
maxsd xmm0, xmm15
movsd qword [rbp - 8], xmm15
movsd qword [rsi + 0x15a8], xmm0
mov rcx, qword [r15]
cmp rcx, 1
jne 0x1400970d3
mov rax, qword [rbp - 8]
shr rax, 0x20
jmp 0x1400970d6
mov eax, dword [rbp - 8]
and eax, 0x7ff00000
cmp eax, 0x7ff00000
je 0x140097153
movsd xmm0, qword [rsi + 0x14e0]
movsd qword [rbp], xmm0
cmp rcx, 1
jne 0x1400970ff
mov rax, qword [rbp]
shr rax, 0x20
jmp 0x140097102
mov eax, dword [rbp]
and eax, 0x7ff00000
cmp eax, 0x7ff00000
je 0x140097153
cmp byte [rsi + 0x1256], 0
je 0x140097131
mov qword [rsi + 0x50], 0
xor al, al
mov qword [rsi + 0x16d0], 8
jmp 0x14009994b
mov rcx, 0xffffffffffffffff
mov qword [rsi + 0x20e0], 0
mov qword [rbp - 0x68], rcx
mov byte [rsi + 0x1254], 1
jmp 0x14009810e
mov qword [rsi + 0x50], 0
xor al, al
mov qword [rsi + 0x16d0], 0xfffffffffffffff8
jmp 0x14009994b
mov rax, qword [rsi + 0x1200]
xor r8b, r8b
mov byte [rsp + 0x70], r8b
movsd xmm7, qword [rax + rdi*8]
mov rax, qword [rsi + 0x15e8]
cmp byte [rdi + rax], r8b
je 0x1400971d3
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm7
movsd xmm1, qword [rax + rdi*8]
mulsd xmm1, qword [rsi + 0x40]
mov rax, qword [rsi + 0x1668]
subsd xmm0, xmm1
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
comisd xmm1, xmm2
seta r8b
mov byte [rsp + 0x70], r8b
mov rax, qword [rsi + 0x1628]
cmp byte [rdi + rax], 0
je 0x14009726a
test r8b, r8b
jne 0x14009725c
mov rax, qword [rsi + 0x1178]
movsd xmm0, qword [rax + rdi*8]
mulsd xmm0, qword [rsi + 0x40]
mov rax, qword [rsi + 0x16a8]
addsd xmm0, xmm7
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
comisd xmm2, xmm1
ja 0x14009725c
mov rax, qword [rsi + 0x1178]
mov byte [rsp + 0x70], r8b
movsd xmm0, qword [rax + rcx]
movaps xmm1, xmm7
mulsd xmm0, qword [rsi + 0x40]
mov rax, qword [rsi + 0x1200]
subsd xmm1, xmm0
movsd qword [rcx + rax], xmm1
mov dword [rsi + 0x1258], 6
jmp 0x14009988a
mov rax, qword [rsi + 0x1178]
mov byte [rsp + 0x70], 1
jmp 0x140097276
mov rax, qword [rsi + 0x1178]
test r8b, r8b
je 0x140097230
movsd xmm2, qword [rsi + 0x40]
movaps xmm0, xmm7
movaps xmm1, xmm2
mulsd xmm1, qword [rax + rcx]
subsd xmm0, xmm1
movsd qword [rsi + 0x1dd8], xmm0
mulsd xmm2, qword [rax + rcx]
mov rax, qword [rsi + 0x15e8]
addsd xmm2, xmm7
movsd qword [rsi + 0x1de0], xmm2
cmp byte [rdi + rax], 0
je 0x1400972ec
mov rax, qword [rsi + 0x1668]
movq xmm0, xmm0
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
comisd xmm1, xmm2
jbe 0x1400972ec
mov rax, qword [rsi + 0x1668]
mov rcx, qword [rax + rdi*8]
mov qword [rsi + 0x1dd8], rcx
mov rax, qword [rsi + 0x1628]
cmp byte [rdi + rax], 0
je 0x140097339
movsd xmm0, qword [rsi + 0x1de0]
mov rax, qword [rsi + 0x16a8]
movsd qword [rbp - 0x20], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x78], xmm0
movsd xmm2, qword [rbp - 0x20]
movsd xmm1, qword [rbp - 0x78]
comisd xmm2, xmm1
jbe 0x140097339
mov rax, qword [rsi + 0x16a8]
mov rcx, qword [rax + rdi*8]
mov qword [rsi + 0x1de0], rcx
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rsi + 0x1dd8]
mov qword [rcx + rdi*8], rax
mov dword [rsi + 0x1258], 0xa
jmp 0x14009988a
cmp ecx, 0xc
jne 0x14009736b
mov byte [rsi + 0x1253], 0
jmp 0x140098795
cmp ecx, 0xd
jne 0x140097383
inc qword [rsi + 0x16c0]
mov byte [rsi + 0x1251], 0
jmp 0x1400976d3
cmp ecx, 0xe
jne 0x14009739f
mov rax, qword [rsi + 0x1208]
xor edi, edi
mov qword [rsi + 0x1db0], rax
xor ecx, ecx
jmp 0x1400976b1
cmp ecx, 0xf
jne 0x1400973ef
mov rax, qword [rsi + 0x1208]
mov r8, r11
movsd xmm1, qword [rsi + 0x40]
mulsd xmm1, qword [0x140215e88]
mov qword [rsi + 0x1db8], rax
mov rax, qword [rsi + 0x1178]
mulsd xmm1, qword [rax + r9*8]
mov rax, qword [rsi + 0x1200]
subsd xmm0, xmm1
movsd qword [rax + r9*8], xmm0
mov dword [rsi + 0x1258], 0x10
jmp 0x14009988f
cmp ecx, 0x10
jne 0x14009743f
mov rax, qword [rsi + 0x1208]
mov r8, r11
movsd xmm0, qword [rsi + 0x40]
mulsd xmm0, qword [0x140215e88]
mov qword [rsi + 0x1dc0], rax
mov rax, qword [rsi + 0x1178]
mulsd xmm0, qword [rax + r9*8]
mov rax, qword [rsi + 0x1200]
addsd xmm0, xmm7
movsd qword [rax + r9*8], xmm0
mov dword [rsi + 0x1258], 0x11
jmp 0x14009988f
cmp ecx, 0x11
jne 0x140097487
mov rax, qword [rsi + 0x1208]
mov r8, r11
mov qword [rsi + 0x1dc8], rax
mov rax, qword [rsi + 0x1178]
movsd xmm0, qword [rax + r9*8]
mulsd xmm0, qword [rsi + 0x40]
mov rax, qword [rsi + 0x1200]
addsd xmm0, xmm7
movsd qword [rax + r9*8], xmm0
mov dword [rsi + 0x1258], 0x12
jmp 0x14009988f
cmp ecx, 0x12
jne 0x1400974fe
movsd xmm0, qword [rsi + 0x1208]
lea rdx, [r9*8]
mov rax, qword [rsi + 0x1178]
movsd xmm1, qword [rsi + 0x1dc8]
subsd xmm1, qword [rsi + 0x1dc0]
movsd qword [rsi + 0x1dd0], xmm0
subsd xmm0, qword [rsi + 0x1db8]
mulsd xmm1, qword [0x140215f30]
subsd xmm1, xmm0
movsd xmm0, qword [rsi + 0x40]
mulsd xmm0, qword [0x140215f20]
mulsd xmm0, qword [rax + rdx]
mov rax, qword [rsi + 0x1248]
divsd xmm1, xmm0
movsd qword [rdx + rax], xmm1
add qword [rsi + 0x16c0], 4
jmp 0x14009769e
cmp ecx, 0x13
jne 0x1400975ce
mov rax, qword [rsi + 0x1208]
mov r8, r11
mov rcx, qword [rsi + 0x1200]
mov qword [rsi + 0x1dc0], rax
mov rax, qword [rsi + 0x1de0]
mov qword [rcx + r9*8], rax
mov dword [rsi + 0x1258], 0x14
jmp 0x14009988f
movsd xmm9, qword [0x140215fa8]
mov r14d, 0x167
movsd xmm7, qword [0x140215fa0]
mov r13, 0xffffffffffffffc6
movsd xmm8, qword [0x140215f80]
mov r9, 0xfffffffffffffc69
movsd xmm13, qword [0x140216190]
mov r12, 0xfffffffffffffc73
movsd xmm15, qword [0x140216170]
mov edx, 0x51
movsd xmm12, qword [0x140215f98]
mov r10d, 0x4a
xor r11b, r11b
movsd qword [rbp - 0x10], xmm9
mov qword [rsp + 0x78], r13
mov rdi, r9
mov qword [rbp - 0x80], r12
mov r15d, r14d
mov qword [rbp + 0x10], rdx
mov r8d, r14d
mov qword [rbp - 0x68], r10
mov byte [rsp + 0x70], r11b
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x60], 0xff
jmp 0x1400975e8
mov r10, qword [rbp - 0x68]
mov r13, r11
movzx r11d, byte [rsp + 0x70]
mov r12, rbx
mov rbx, qword [rbp - 0x40]
mov r15, rax
mov r8, rax
cmp ecx, 0x14
jne 0x1400979d7
mov rax, qword [rsi + 0x1208]
lea rdx, [r9*8]
movsd xmm0, qword [rsi + 0x1dd8]
mov qword [rsi + 0x1dc8], rax
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rsi + 0x1de0]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x58]
ucomisd xmm1, xmm0
jp 0x140097644
jne 0x140097644
mov rax, qword [rsi + 0x1248]
mov qword [rdx + rax], 0
jmp 0x140097674
movsd xmm1, qword [rsi + 0x1dc8]
movsd xmm0, qword [rsi + 0x1de0]
subsd xmm1, qword [rsi + 0x1dc0]
subsd xmm0, qword [rsi + 0x1dd8]
mov rax, qword [rsi + 0x1248]
divsd xmm1, xmm0
movsd qword [rdx + rax], xmm1
mov rax, qword [rbp - 0x60]
add qword [rsi + 0x16c0], 2
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], r8
mov qword [rbp - 0x70], r15
mov byte [rsp + 0x70], r11b
mov qword [rbp - 0x68], r10
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r13
mov rax, qword [rsi + 0x1200]
lea rcx, [rdx + 8]
inc rdi
movsd qword [rdx + rax], xmm7
lea rax, [r14 - 1]
cmp rdi, rax
jle 0x1400977ea
mov rax, qword [rsi + 0x1db0]
mov qword [rsi + 0x1208], rax
mov byte [rsi + 0x1250], 0
movsd xmm0, qword [rsi + 0x1208]
lea rax, [rsi + 0x1210]
mov r15, qword [rbp - 0x40]
lea r9, [rsi + 0x11c8]
mov qword [rsp + 0x40], r15
lea r13, [rsi + 0x1e98]
movsd xmm1, qword [r13]
lea r8, [rsi + 0x35b8]
mov qword [rsp + 0x38], rax
lea rdx, [rsi + 0x1140]
movsd qword [rsp + 0x30], xmm0
lea rcx, [rsi + 0x20f8]
mov qword [rsp + 0x28], r9
lea r9, [rsi + 0x14f8]
movsd qword [rsp + 0x20], xmm1
call fcn.140070930
movsd xmm0, qword [rsi + 0x15a8]
lea rdi, [rsi + 0x14e8]
mulsd xmm0, qword [0x140215f70]
mov r9d, 1
mov r8, qword [rsi + 0x1248]
mov edx, r9d
mov rcx, qword [rsi + 0x1498]
mov qword [rsp + 0x20], r14
mulsd xmm0, xmm9
addsd xmm0, qword [rsi + 0x1208]
movsd qword [rdi], xmm0
call fcn.14003f060
mov r8, qword [rsi + 0x1248]
mov r9d, 1
mov rcx, qword [rsi + 0x1458]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
lea rcx, [rsi + 0x48]
mov r8, r15
lea rdx, [rsi + 0x1460]
call fcn.140081ea0
movsd xmm3, qword [rsi + 0x1fb0]
lea rdx, [rsi + 0x1460]
mov r8, r14
mov rcx, rdi
call fcn.140069330
mov rcx, r14
lea rbx, [rsi + 0x1e90]
lea r12, [rsi + 0x1420]
lea r15, [rsi + 0x13e0]
jmp 0x140098863
mov rax, qword [rsi + 0x1200]
xor r8b, r8b
mov byte [rsp + 0x70], r8b
movsd xmm7, qword [rax + rdi*8]
mov rax, qword [rsi + 0x15e8]
cmp byte [rdi + rax], r8b
je 0x140097850
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm7
movsd xmm1, qword [rax + rdi*8]
mulsd xmm1, qword [rsi + 0x40]
mov rax, qword [rsi + 0x1668]
subsd xmm0, xmm1
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
comisd xmm1, xmm2
seta r8b
mov byte [rsp + 0x70], r8b
mov rax, qword [rsi + 0x1628]
cmp byte [rdi + rax], 0
je 0x1400978e7
test r8b, r8b
jne 0x1400978d9
mov rax, qword [rsi + 0x1178]
movsd xmm0, qword [rax + rdi*8]
mulsd xmm0, qword [rsi + 0x40]
mov rax, qword [rsi + 0x16a8]
addsd xmm0, xmm7
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
comisd xmm2, xmm1
ja 0x1400978d9
mov rax, qword [rsi + 0x1178]
mov byte [rsp + 0x70], r8b
movsd xmm0, qword [rax + rcx]
movaps xmm1, xmm7
mulsd xmm0, qword [rsi + 0x40]
mov rax, qword [rsi + 0x1200]
subsd xmm1, xmm0
movsd qword [rcx + rax], xmm1
mov dword [rsi + 0x1258], 0xf
jmp 0x14009988a
mov rax, qword [rsi + 0x1178]
mov byte [rsp + 0x70], 1
jmp 0x1400978f3
mov rax, qword [rsi + 0x1178]
test r8b, r8b
je 0x1400978ad
movsd xmm2, qword [rsi + 0x40]
movaps xmm0, xmm7
movaps xmm1, xmm2
mulsd xmm1, qword [rax + rcx]
subsd xmm0, xmm1
movsd qword [rsi + 0x1dd8], xmm0
mulsd xmm2, qword [rax + rcx]
mov rax, qword [rsi + 0x15e8]
addsd xmm2, xmm7
movsd qword [rsi + 0x1de0], xmm2
cmp byte [rdi + rax], 0
je 0x140097969
mov rax, qword [rsi + 0x1668]
movq xmm0, xmm0
movsd qword [rbp - 0x78], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
comisd xmm1, xmm2
jbe 0x140097969
mov rax, qword [rsi + 0x1668]
mov rcx, qword [rax + rdi*8]
mov qword [rsi + 0x1dd8], rcx
mov rax, qword [rsi + 0x1628]
cmp byte [rdi + rax], 0
je 0x1400979b6
movsd xmm0, qword [rsi + 0x1de0]
mov rax, qword [rsi + 0x16a8]
movsd qword [rbp - 0x20], xmm0
movsd xmm0, qword [rax + rdi*8]
movsd qword [rbp - 0x78], xmm0
movsd xmm2, qword [rbp - 0x20]
movsd xmm1, qword [rbp - 0x78]
comisd xmm2, xmm1
jbe 0x1400979b6
mov rax, qword [rsi + 0x16a8]
mov rcx, qword [rax + rdi*8]
mov qword [rsi + 0x1de0], rcx
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rsi + 0x1dd8]
mov qword [rcx + rdi*8], rax
mov dword [rsi + 0x1258], 0x13
jmp 0x14009988a
cmp ecx, 0x15
jne 0x140099071
mov byte [rsi + 0x1252], 0
inc qword [rsi + 0x16b0]
cmp rdx, 1
jne 0x140097fc0
mov rcx, qword [rsi + 0x20e0]
cmp rcx, r13
jne 0x140097ac5
xor ebx, ebx
lea rax, [rcx - 1]
test rax, rax
js 0x140097a79
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsi + 0x2058]
mov r9d, 1
mov edx, r9d
mov qword [rsp + 0x20], r14
mov r8, qword [rcx + rbx*8 + 8]
mov rcx, qword [rcx + rbx*8]
call fcn.14003f060
mov rcx, qword [rsi + 0x2008]
mov r9d, 1
mov edx, r9d
mov qword [rsp + 0x20], r14
mov r8, qword [rcx + rbx*8 + 8]
mov rcx, qword [rcx + rbx*8]
call fcn.14003f060
mov rcx, qword [rsi + 0x20e0]
inc rbx
lea rax, [rcx - 1]
cmp rbx, rax
jle 0x140097a20
xor edi, edi
lea rax, [rcx - 2]
test rax, rax
js 0x140097acf
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsi + 0x2098]
mov rax, qword [rcx + rdi*8 + 8]
mov qword [rcx + rdi*8], rax
mov rcx, qword [rsi + 0x20d8]
mov rax, qword [rcx + rdi*8 + 8]
mov qword [rcx + rdi*8], rax
inc rdi
mov rcx, qword [rsi + 0x20e0]
lea rax, [rcx - 2]
cmp rdi, rax
jle 0x140097a90
jmp 0x140097acf
inc rcx
mov qword [rsi + 0x20e0], rcx
mov rax, qword [rbp - 0x50]
mov r9d, 1
mov r8, qword [rsi + 0x2058]
mov edx, r9d
mov qword [rbp - 0x50], rax
mov rax, qword [rsi + 0x2008]
mov qword [rbp - 0x70], r15
mov r8, qword [r8 + rcx*8 - 8]
mov qword [rsp + 0x20], r14
mov rbx, qword [rax + rcx*8 - 8]
mov rcx, rbx
call fcn.14003ed50
mov r9d, 1
mov qword [rsp + 0x20], r14
mov edx, r9d
mov r8, rbx
mov rcx, rbx
movaps xmm7, xmm0
call fcn.14003ed50
movsd qword [rbp - 0x78], xmm7
movaps xmm8, xmm0
movsd qword [rbp - 0x58], xmm14
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
ucomisd xmm2, xmm1
jp 0x140097b4a
je 0x140098d5c
movsd qword [rbp - 0x78], xmm0
movsd qword [rbp - 0x58], xmm14
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x58]
ucomisd xmm1, xmm0
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r13
jp 0x140097b74
je 0x140098d40
mov rcx, qword [rsi + 0x20e0]
movaps xmm0, xmm11
mov rax, qword [rsi + 0x2098]
divsd xmm0, xmm7
movsd qword [rax + rcx*8 - 8], xmm0
cmp qword [rsi + 0x20e0], r13
jg 0x1400999d6
lea rcx, [r14 - 1]
xor edi, edi
movaps xmm7, xmm14
movaps xmm8, xmm14
test rcx, rcx
js 0x140097d06
mov rdx, qword [rsi + 0x90]
mov r9, qword [rsi + 0x14d8]
mov r8, qword [rsi + 0x1178]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r15
cmp r15, 4
jl 0x140097cbe
mov r12, qword [rbp - 0x50]
lea rbx, [rcx + 1]
mov r10, rdx
mov qword [rbp - 0x50], r12
mov r11, r8
lea rax, [r9 + 8]
sub r10, r9
sub r11, r9
shr rbx, 2
lea rdi, [rbx*4]
nop dword [rax + rax]
movsd xmm1, qword [r10 + rax - 8]
subsd xmm1, qword [rax - 8]
movsd xmm2, qword [r10 + rax + 8]
subsd xmm2, qword [rax + 8]
movaps xmm0, xmm1
mulsd xmm1, xmm1
divsd xmm0, qword [rax + r11 - 8]
addsd xmm8, xmm1
movsd xmm1, qword [r10 + rax]
subsd xmm1, qword [rax]
mulsd xmm0, xmm0
addsd xmm7, xmm0
movaps xmm0, xmm1
divsd xmm0, qword [rax + r11]
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm8, xmm1
movsd xmm1, qword [r10 + rax + 0x10]
subsd xmm1, qword [rax + 0x10]
addsd xmm7, xmm0
movaps xmm0, xmm2
divsd xmm0, qword [rax + r11 + 8]
mulsd xmm2, xmm2
mulsd xmm0, xmm0
addsd xmm8, xmm2
addsd xmm7, xmm0
movaps xmm0, xmm1
divsd xmm0, qword [rax + r11 + 0x10]
add rax, 0x20
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm8, xmm1
addsd xmm7, xmm0
sub rbx, 1
jne 0x140097c10
cmp rdi, rcx
jle 0x140097cc6
jmp 0x140097d06
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x50], rax
sub rcx, rdi
lea rax, [r9 + rdi*8]
inc rcx
sub rdx, r9
sub r8, r9
add rdi, rcx
movsd xmm1, qword [rax + rdx]
subsd xmm1, qword [rax]
movaps xmm0, xmm1
mulsd xmm1, xmm1
divsd xmm0, qword [rax + r8]
add rax, 8
addsd xmm8, xmm1
mulsd xmm0, xmm0
addsd xmm7, xmm0
sub rcx, 1
jne 0x140097cd9
xorps xmm0, xmm0
ucomisd xmm0, xmm8
ja 0x140097d1a
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x140097d23
movaps xmm0, xmm8
call fcn.140170bf8
movsd qword [rsi + 0x1598], xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm7
ja 0x140097d3d
xorps xmm3, xmm3
sqrtsd xmm3, xmm7
jmp 0x140097d48
movaps xmm0, xmm7
call fcn.140170bf8
movaps xmm3, xmm0
movsd xmm1, qword [rsi + 0x15a0]
movsd qword [rbp - 0x78], xmm1
movsd qword [rbp - 0x58], xmm14
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
ucomisd xmm2, xmm1
jp 0x140097d71
je 0x140097e0a
movsd xmm0, qword [rsi + 0x15a0]
mov rax, qword [rbp - 0x80]
movsd xmm2, qword [0x140215e30]
mulsd xmm0, xmm2
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x50]
movsd qword [rbp - 0x78], xmm3
mov qword [rsp + 0x78], r13
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x58]
comisd xmm0, xmm1
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x50], rax
movsd xmm0, qword [rsi + 0x15a0]
jbe 0x140097dce
mulsd xmm0, xmm2
movsd qword [rsi + 0x15a0], xmm0
jmp 0x140097e12
mulsd xmm0, qword [0x140215f70]
movsd qword [rbp - 0x78], xmm3
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x58]
comisd xmm1, xmm0
jbe 0x140097e0a
movsd xmm0, qword [rsi + 0x15a0]
mulsd xmm0, qword [0x140215f70]
movsd qword [rsi + 0x15a0], xmm0
jmp 0x140097e12
movsd qword [rsi + 0x15a0], xmm3
cmp qword [rbp + 0x10], 1
jne 0x140097fc0
cmp byte [rsi + 0x1254], 0
je 0x140097fc0
lea rcx, [r14 - 1]
xor edi, edi
movaps xmm2, xmm14
test rcx, rcx
js 0x140097f29
mov r9, qword [rsi + 0x90]
mov rbx, qword [rsi + 0x14d8]
mov r10, qword [rsi + 0x1178]
cmp r15, 4
jl 0x140097ef4
mov rdx, r9
lea r11, [rcx + 1]
mov r8, r10
lea rax, [rbx + 8]
sub rdx, rbx
sub r8, rbx
shr r11, 2
lea rdi, [r11*4]
nop dword [rax]
movsd xmm0, qword [rax + rdx - 8]
subsd xmm0, qword [rax - 8]
movsd xmm1, qword [rax + rdx]
subsd xmm1, qword [rax]
divsd xmm0, qword [rax + r8 - 8]
divsd xmm1, qword [rax + r8]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm0
movsd xmm0, qword [rax + rdx + 8]
subsd xmm0, qword [rax + 8]
addsd xmm2, xmm1
movsd xmm1, qword [rax + rdx + 0x10]
subsd xmm1, qword [rax + 0x10]
divsd xmm0, qword [rax + r8 + 8]
divsd xmm1, qword [rax + r8 + 0x10]
add rax, 0x20
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm0
addsd xmm2, xmm1
sub r11, 1
jne 0x140097e80
cmp rdi, rcx
jg 0x140097f29
sub rcx, rdi
lea rax, [rbx + rdi*8]
inc rcx
sub r9, rbx
sub r10, rbx
add rdi, rcx
movsd xmm0, qword [rax + r9]
subsd xmm0, qword [rax]
divsd xmm0, qword [rax + r10]
add rax, 8
mulsd xmm0, xmm0
addsd xmm2, xmm0
sub rcx, 1
jne 0x140097f07
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x140097f3b
xorps xmm7, xmm7
sqrtsd xmm7, xmm2
jmp 0x140097f46
movaps xmm0, xmm2
call fcn.140170bf8
movaps xmm7, xmm0
movsd xmm0, qword [rsi + 0x20]
movsd qword [rbp - 0x78], xmm7
movsd qword [rbp - 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x58]
comisd xmm1, xmm2
jae 0x140098d8a
movsd xmm1, qword [rsi + 0x14e0]
movsd xmm3, qword [rsi + 0x14f0]
movaps xmm2, xmm1
movsd xmm4, qword [0x140216550]
movaps xmm0, xmm3
andps xmm0, xmm4
subsd xmm3, xmm1
maxsd xmm0, xmm11
andps xmm2, xmm4
andps xmm3, xmm4
maxsd xmm2, xmm0
mulsd xmm2, qword [rsi + 0x18]
movsd qword [rbp - 0x78], xmm3
movsd qword [rbp - 0x58], xmm2
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x58]
comisd xmm0, xmm1
jae 0x140098d51
mov rax, qword [rsi + 0x28]
test rax, rax
jle 0x140097fd6
cmp qword [rsi + 0x16b0], rax
jge 0x140098d97
cmp qword [rbp - 0x60], 0
mov r12, qword [rbp - 0x70]
mov byte [rsi + 0x1254], 0
jl 0x140097ff8
mov qword [rsi + 0x20e0], 0
jmp 0x140098106
lea rcx, [r14 - 1]
xor edi, edi
movaps xmm7, xmm14
test rcx, rcx
js 0x1400980c5
mov r9, qword [rsi + 0x13d8]
mov r10, qword [rsi + 0x1178]
cmp r12, 4
jl 0x140098099
mov rdx, r9
lea r8, [rcx + 1]
sub rdx, r10
lea rax, [r10 + 8]
shr r8, 2
lea rdi, [r8*4]
nop dword [rax]
movsd xmm0, qword [rdx + rax - 8]
mulsd xmm0, qword [rax - 8]
movsd xmm1, qword [rdx + rax]
mulsd xmm1, qword [rax]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm7, xmm0
movsd xmm0, qword [rax + 8]
mulsd xmm0, qword [rdx + rax + 8]
addsd xmm7, xmm1
movsd xmm1, qword [rax + 0x10]
mulsd xmm1, qword [rdx + rax + 0x10]
add rax, 0x20
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm7, xmm0
addsd xmm7, xmm1
sub r8, 1
jne 0x140098040
cmp rdi, rcx
jg 0x1400980c5
sub rcx, rdi
lea rax, [r10 + rdi*8]
inc rcx
sub r9, r10
add rdi, rcx
movsd xmm0, qword [r9 + rax]
mulsd xmm0, qword [rax]
add rax, 8
mulsd xmm0, xmm0
addsd xmm7, xmm0
sub rcx, 1
jne 0x1400980a9
xorps xmm0, xmm0
ucomisd xmm0, xmm7
ja 0x1400980d7
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x1400980df
movaps xmm0, xmm7
call fcn.140170bf8
movsd qword [rbp - 0x78], xmm0
movaps xmm0, xmm12
mulsd xmm0, xmm15
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x58]
comisd xmm0, xmm1
ja 0x140098d5c
mov rcx, qword [rbp - 0x68]
mov r15, qword [rbp - 0x40]
lea rax, [r14 - 1]
mov qword [rbp - 0x78], rax
cmp rcx, rax
jge 0x140098d5c
inc rcx
cmp byte [rsi + 0x1254], 0
mov qword [rbp - 0x68], rcx
je 0x140098165
movsd xmm6, qword [rsi + 0x10]
lea rdx, [rsi + 0x1360]
lea rcx, [rsi + 0x48]
mov r8, r15
call fcn.140082710
movsd qword [rbp - 0x58], xmm0
movsd qword [rbp - 0x18], xmm6
movsd xmm1, qword [rbp - 0x58]
movsd xmm0, qword [rbp - 0x18]
comisd xmm0, xmm1
jae 0x140098da4
mov r8, qword [rsi + 0x13d8]
mov r9d, 1
mov rcx, qword [rsi + 0x1ee8]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov rbx, qword [rsi + 0x20e0]
sub rbx, 1
js 0x14009821b
nop word [rax + rax]
mov rcx, qword [rsi + 0x2058]
mov r9d, 1
mov r8, qword [rsi + 0x1ee8]
mov edx, r9d
mov qword [rsp + 0x20], r14
mov rcx, qword [rcx + rbx*8]
call fcn.14003ed50
mov rax, qword [rsi + 0x20d8]
movaps xmm8, xmm0
mov r9d, 1
mov edx, r9d
movsd qword [rax + rbx*8], xmm0
mov rax, qword [rsi + 0x2098]
mov r8, qword [rsi + 0x2008]
mov rcx, qword [rsi + 0x1ee8]
mulsd xmm8, qword [rax + rbx*8]
mov r8, qword [r8 + rbx*8]
movaps xmm0, xmm8
xorps xmm0, xmm10
movsd qword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r14
call fcn.14003f5b0
sub rbx, 1
jns 0x1400981a0
cmp qword [rsi + 0x50], 1
jne 0x1400999ec
mov rdx, r15
lea rcx, [rsi + 0x48]
call fcn.140082a80
lea rax, [rsi + 0x4d8]
mov qword [rsp + 0x30], r15
lea r9, [rsi + 0x1b8]
mov qword [rsp + 0x28], rax
lea r8, [rsi + 0xe0]
lea rdx, [rsi + 0x1eb0]
lea rcx, [rsi + 0x48]
call fcn.140085290
xor ecx, ecx
cmp qword [rsi + 0x48], 1
js 0x14009829b
nop word [rax + rax]
mov rax, qword [rsi + 0x510]
movsd xmm0, qword [rax + rcx*8]
mov rax, qword [rsi + 0x1ee8]
xorps xmm0, xmm10
movsd qword [rax + rcx*8], xmm0
inc rcx
mov rax, qword [rsi + 0x48]
dec rax
cmp rcx, rax
jle 0x140098270
xor r15d, r15d
cmp qword [rsi + 0x20e0], 1
js 0x140098335
nop dword [rax]
mov rcx, qword [rsi + 0x2008]
mov r9d, 1
mov rdi, qword [rsi + 0x1ee8]
mov edx, r9d
mov rbx, qword [rsi + 0x20d8]
mov r8, rdi
mov qword [rsp + 0x20], r14
mov rcx, qword [rcx + r15*8]
call fcn.14003ed50
movsd xmm8, qword [rbx + r15*8]
mov r9d, 1
mov rax, qword [rsi + 0x2098]
subsd xmm8, xmm0
mov r8, qword [rsi + 0x2058]
mov edx, r9d
mov rcx, rdi
mulsd xmm8, qword [rax + r15*8]
mov r8, qword [r8 + r15*8]
movsd qword [rsp + 0x28], xmm8
mov qword [rsp + 0x20], r14
call fcn.14003f5b0
mov rax, qword [rsi + 0x20e0]
inc r15
dec rax
cmp r15, rax
jle 0x1400982b0
mov r8, qword [rbp - 0x40]
lea rdx, [rsi + 0x1eb0]
lea rcx, [rsi + 0x48]
call fcn.140081ea0
mov r8, qword [rsi + 0x1ee8]
mov r9d, 1
mov rcx, qword [rsi + 0x1530]
mov qword [rsp + 0x20], r14
call fcn.14003f150
mov r10, qword [rbp - 0x78]
xor edi, edi
movaps xmm3, xmm14
test r10, r10
js 0x140098438
mov r8, qword [rsi + 0x1530]
mov r9, qword [rsi + 0x1178]
cmp r12, 4
jl 0x140098409
mov rcx, r8
lea rdx, [r10 + 1]
sub rcx, r9
lea rax, [r9 + 8]
shr rdx, 2
lea rdi, [rdx*4]
nop dword [rax + rax]
movsd xmm0, qword [rcx + rax - 8]
divsd xmm0, qword [rax - 8]
movsd xmm1, qword [rcx + rax]
divsd xmm1, qword [rax]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm3, xmm0
movsd xmm0, qword [rcx + rax + 8]
divsd xmm0, qword [rax + 8]
addsd xmm3, xmm1
movsd xmm1, qword [rcx + rax + 0x10]
divsd xmm1, qword [rax + 0x10]
add rax, 0x20
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm3, xmm0
addsd xmm3, xmm1
sub rdx, 1
jne 0x1400983b0
cmp rdi, r10
jg 0x140098438
mov rcx, r10
lea rax, [r9 + rdi*8]
sub rcx, rdi
sub r8, r9
inc rcx
add rdi, rcx
movsd xmm0, qword [rax + r8]
divsd xmm0, qword [rax]
add rax, 8
mulsd xmm0, xmm0
addsd xmm3, xmm0
sub rcx, 1
jne 0x14009841c
mov rdx, qword [rbp - 0x50]
xorps xmm0, xmm0
ucomisd xmm0, xmm3
mov rcx, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x80], rbx
ja 0x140098466
xorps xmm7, xmm7
sqrtsd xmm7, xmm3
jmp 0x140098479
movaps xmm0, xmm3
call fcn.140170bf8
mov rcx, qword [rbp - 0x70]
movaps xmm7, xmm0
mov rdx, qword [rbp - 0x50]
movsd qword [rbp - 0x28], xmm7
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x28]
movsd xmm0, qword [rbp - 0x48]
ucomisd xmm1, xmm0
jp 0x14009849a
je 0x140098db1
movsd qword [rbp - 0x48], xmm7
movsd qword [rbp - 0x28], xmm14
movsd xmm1, qword [rbp - 0x48]
movsd xmm0, qword [rbp - 0x28]
comisd xmm1, xmm0
seta al
test al, al
je 0x1400999d6
movsd xmm0, qword [rsi + 0x15a0]
movsd qword [rbp - 0x48], xmm0
movsd qword [rbp - 0x28], xmm14
movsd xmm1, qword [rbp - 0x48]
movsd xmm0, qword [rbp - 0x28]
comisd xmm1, xmm0
jbe 0x140098506
movsd qword [rbp - 0x48], xmm7
movsd qword [rbp - 0x28], xmm14
movsd xmm1, qword [rbp - 0x48]
movsd xmm0, qword [rbp - 0x28]
comisd xmm1, xmm0
jbe 0x140098506
movsd xmm0, qword [rsi + 0x15a0]
jmp 0x140098512
movaps xmm0, xmm11
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x50], rdx
mov rax, qword [rbp - 0x40]
lea r12, [rsi + 0x1e00]
divsd xmm0, xmm7
mov r13, rdx
mov qword [rbp - 0x30], rcx
mov qword [rsp + 0x28], rax
lea rdx, [rsi + 0x14f8]
lea rcx, [rsi + 0x48]
mov qword [rsp + 0x20], r12
lea r9, [rsi + 0x1df8]
lea r8, [rsi + 0x1ea0]
movsd qword [rsi + 0x1e98], xmm0
call fcn.1400814c0
cmp qword [rsi + 0x1df8], 0
mov r11, r14
movsd xmm0, qword [rsi + 0x1ea0]
mov r9, rbx
mov r10, qword [rbp - 0x18]
movsd qword [rsi + 0x1ea8], xmm0
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x80], rbx
jl 0x140098700
movsd qword [rbp - 0x48], xmm0
movsd qword [rbp - 0x28], xmm14
movsd xmm1, qword [rbp - 0x48]
movsd xmm0, qword [rbp - 0x28]
ucomisd xmm1, xmm0
jp 0x1400986e7
jne 0x1400986e7
cmp qword [rsi + 0x50], 1
mov r15, qword [rsi + 0x1df8]
jne 0x1400999c0
lea rdx, [r15*8]
cmp r15, qword [rsi + 0x48]
jge 0x1400985dd
mov rcx, qword [rsi + 0x90]
mov rax, qword [r12]
mov qword [rdx + rcx], rax
mov rax, qword [rsi + 0x158]
lea rcx, [rsi + 0x418]
mov qword [rdx + rax], 1
mov rdx, qword [rsi + 0x48]
add rdx, qword [rsi + 0x410]
add rdx, qword [rsi + 0x408]
cmp qword [rcx], rdx
jge 0x14009861d
mov r8, qword [rbp - 0x40]
call fcn.14003e440
mov r10, qword [rbp - 0x18]
mov r9, rbx
mov r11, r14
mov rcx, qword [rsi + 0x48]
xor r8d, r8d
mov rax, qword [rsi + 0x410]
mov r14, r11
add rcx, qword [rsi + 0x408]
dec rax
add rcx, rax
mov rdx, qword [rbp - 0x30]
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x50], r13
js 0x14009869c
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x50], r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi + 0x450]
mov byte [r8 + rax], 0
inc r8
mov rdx, qword [rsi + 0x48]
add rdx, qword [rsi + 0x408]
mov rax, qword [rsi + 0x410]
dec rax
add rdx, rax
cmp r8, rdx
jle 0x140098670
mov rax, qword [rsi + 0x450]
lea rdx, [rsi + 0x418]
lea rcx, [rsi + 0x48]
mov byte [r15 + rax], 1
mov r15, qword [rbp - 0x40]
mov r8, r15
call fcn.1400841b0
mov rcx, qword [rbp - 0x68]
mov r12, qword [rbp - 0x70]
dec rcx
mov r13, qword [rsp + 0x78]
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x68], rcx
mov qword [rsi + 0x20e0], 0
jmp 0x140098116
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x80], rbx
movsd xmm0, qword [rsi + 0x38]
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
comisd xmm1, xmm0
jbe 0x14009878b
mov rcx, qword [rsi + 0x1530]
mov r9d, 1
mov r8, rcx
mov qword [rsp + 0x20], r14
mov edx, r9d
call fcn.14003ed50
xorps xmm5, xmm5
ucomisd xmm5, xmm0
ja 0x14009874f
xorps xmm7, xmm7
sqrtsd xmm7, xmm0
jmp 0x140098757
call fcn.140170bf8
movaps xmm7, xmm0
movsd qword [rbp - 0x30], xmm7
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
comisd xmm1, xmm0
jbe 0x14009878b
movsd xmm0, qword [rsi + 0x38]
divsd xmm0, xmm7
minsd xmm0, qword [rsi + 0x1ea0]
movsd qword [rsi + 0x1ea0], xmm0
cmp byte [rsi + 0x31], 0
jne 0x140098f67
mov r8, qword [rsi + 0x90]
mov r9d, 1
mov rcx, qword [rsi + 0x1418]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov r8, qword [rsi + 0x13d8]
mov r9d, 1
mov rcx, qword [rsi + 0x1498]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov r8, qword [rsi + 0x1398]
mov r9d, 1
mov rcx, qword [rsi + 0x1458]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
movsd xmm0, qword [rsi + 0x14e0]
lea r12, [rsi + 0x1420]
mov rax, qword [rbp - 0x40]
lea r15, [rsi + 0x13e0]
mov qword [rsp + 0x30], rax
lea rdi, [rsi + 0x14e8]
lea rbx, [rsi + 0x1e90]
mov qword [rsp + 0x28], r12
lea r8, [rsi + 0x35b8]
movsd qword [rsp + 0x20], xmm0
lea rdx, [rsi + 0x1140]
movsd qword [rdi], xmm0
lea rcx, [rsi + 0x20f8]
mov qword [rbx], 0
mov r9, r15
call fcn.14006eb60
mov rcx, qword [rbp - 0x50]
lea r13, [rsi + 0x1e98]
movsd xmm0, qword [0x140215e80]
lea rax, [rsi + 0x1ef0]
mov r9, qword [rbp - 0x40]
lea rdx, [rsi + 0x1eb0]
mov qword [rsp + 0x68], r9
lea r8, [rsi + 0x1e88]
mov qword [rsp + 0x60], rbx
mov r9, r12
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x50], rdx
mov rdx, r15
mov qword [rsp + 0x48], r8
mov r8, rdi
mov qword [rsp + 0x40], rax
lea rax, [rsi + 0x14f8]
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rsi + 0x1ea0]
movsd qword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.14003c2f0
cmp qword [rbx], 0
jne 0x140098e43
mov rax, qword [rsi + 0x20e0]
mov r9d, 1
mov rcx, qword [rsi + 0x2058]
mov r8, qword [rsi + 0x90]
mov qword [rsp + 0x20], r14
mov rcx, qword [rcx + rax*8]
call fcn.14003f150
mov rax, qword [rsi + 0x20e0]
mov r9d, 1
mov rcx, qword [rsi + 0x2008]
mov r8, qword [rsi + 0x13d8]
mov qword [rsp + 0x20], r14
mov rcx, qword [rcx + rax*8]
call fcn.14003f150
mov rcx, qword [rsi + 0x2058]
mov r11, qword [rsi + 0x20e0]
mov r8, qword [rsi + 0x1418]
mov qword [rsp + 0x20], r14
mov rcx, qword [rcx + r11*8]
call fcn.14003f4a0
mov rcx, qword [rsi + 0x2008]
mov r11, qword [rsi + 0x20e0]
mov r8, qword [rsi + 0x1498]
mov qword [rsp + 0x20], r14
mov rcx, qword [rcx + r11*8]
call fcn.14003f4a0
movsd xmm7, qword [rdi]
lea rcx, [r14 - 1]
movsd xmm6, qword [0x140215e48]
xor edi, edi
mov r15, qword [rbp - 0x70]
test rcx, rcx
js 0x140098a11
mov r8, qword [rsi + 0x1458]
cmp r15, 4
jl 0x1400989f2
lea rdx, [rcx + 1]
shr rdx, 2
lea rax, [r8 + 0x10]
lea rdi, [rdx*4]
nop word [rax + rax]
mulsd xmm7, xmm6
addsd xmm7, qword [rax - 0x10]
mulsd xmm7, xmm6
addsd xmm7, qword [rax - 8]
mulsd xmm7, xmm6
addsd xmm7, qword [rax]
mulsd xmm7, xmm6
addsd xmm7, qword [rax + 8]
add rax, 0x20
sub rdx, 1
jne 0x1400989c0
cmp rdi, rcx
jg 0x140098a11
sub rcx, rdi
lea rax, [r8 + rdi*8]
inc rcx
add rdi, rcx
mulsd xmm7, xmm6
addsd xmm7, qword [rax]
add rax, 8
sub rcx, 1
jne 0x1400989ff
mov rbx, qword [rbp - 0x40]
movsd qword [rbp - 0x20], xmm7
cmp qword [rbx], 1
jne 0x140098a2a
mov rax, qword [rbp - 0x20]
shr rax, 0x20
jmp 0x140098a2d
mov eax, dword [rbp - 0x20]
and eax, 0x7ff00000
cmp eax, 0x7ff00000
je 0x140098e33
mov rax, qword [rbp + 0x10]
dec rax
test rax, 0xfffffffffffffffb
je 0x140098c33
lea rcx, [r14 - 1]
xor edi, edi
movaps xmm2, xmm14
test rcx, rcx
js 0x140098b34
mov r8, qword [rsi + 0x1530]
movsd xmm3, qword [rsi + 0x1ea0]
mov r10, qword [rsi + 0x1178]
cmp r15, 4
jl 0x140098b05
mov rdx, r8
lea r9, [rcx + 1]
sub rdx, r10
lea rax, [r10 + 8]
shr r9, 2
lea rdi, [r9*4]
nop dword [rax]
movaps xmm0, xmm3
movaps xmm1, xmm3
mulsd xmm0, qword [rdx + rax - 8]
mulsd xmm1, qword [rdx + rax]
divsd xmm0, qword [rax - 8]
divsd xmm1, qword [rax]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm0
movaps xmm0, xmm3
mulsd xmm0, qword [rdx + rax + 8]
addsd xmm2, xmm1
movaps xmm1, xmm3
mulsd xmm1, qword [rdx + rax + 0x10]
divsd xmm0, qword [rax + 8]
divsd xmm1, qword [rax + 0x10]
add rax, 0x20
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm0
addsd xmm2, xmm1
sub r9, 1
jne 0x140098aa0
cmp rdi, rcx
jg 0x140098b34
sub rcx, rdi
lea rax, [r10 + rdi*8]
inc rcx
sub r8, r10
add rdi, rcx
movaps xmm0, xmm3
mulsd xmm0, qword [r8 + rax]
divsd xmm0, qword [rax]
add rax, 8
mulsd xmm0, xmm0
addsd xmm2, xmm0
sub rcx, 1
jne 0x140098b15
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x140098b46
xorps xmm7, xmm7
sqrtsd xmm7, xmm2
jmp 0x140098b51
movaps xmm0, xmm2
call fcn.140170bf8
movaps xmm7, xmm0
cmp qword [rsi + 0x1df8], 0
mov byte [rsp + 0x70], 0
jl 0x140098dd7
movsd xmm0, qword [0x140215da8]
movsd qword [rbp - 0x30], xmm7
movsd qword [rbp - 0x48], xmm0
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
comisd xmm0, xmm1
jb 0x140098dcf
cmp qword [rsi + 0x1fb8], 0
jle 0x140098dcf
mov r8, qword [rsi + 0x90]
mov r9d, 1
mov rcx, qword [rsi + 0x1e80]
mov edx, r9d
movsd xmm7, qword [rsi + 0x1ea0]
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov r8, qword [rsi + 0x1530]
mov r9d, 1
mov rcx, qword [rsi + 0x1e80]
mov edx, r9d
movsd qword [rsp + 0x28], xmm7
mov qword [rsp + 0x20], r14
call fcn.14003f5b0
mov rax, qword [rsi + 0x1ea0]
mov r9d, 1
mov r8, qword [rsi + 0x1e80]
mov edx, r9d
mov rcx, qword [rsi + 0x1418]
mov qword [rsi + 0x1e98], rax
mov qword [rbp + 0x10], 5
mov qword [rsp + 0x20], r14
call fcn.14003f060
dec qword [rsi + 0x1fb8]
movsd xmm6, qword [0x140215e48]
mov byte [rsp + 0x70], 1
cmp byte [rsi + 0x1256], 0
jne 0x140098d64
mov rax, qword [rsi + 0x14e0]
mov r9d, 1
mov r8, qword [rsi + 0x90]
mov edx, r9d
mov rcx, qword [rsi + 0x14d8]
mov qword [rsi + 0x14f0], rax
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov rax, qword [rsi + 0x14e8]
mov r9d, 1
mov r8, qword [rsi + 0x1498]
mov edx, r9d
mov rcx, qword [rsi + 0x13d8]
mov qword [rsi + 0x14e0], rax
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov r8, qword [rsi + 0x1458]
mov r9d, 1
mov rcx, qword [rsi + 0x1398]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov r9, qword [rsi + 0x1df8]
movsd xmm3, qword [rsi + 0x1e00]
test r9, r9
js 0x140098d02
movsd xmm0, qword [rsi + 0x1e98]
movsd xmm1, qword [rsi + 0x1ea8]
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm1
movsd xmm2, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
comisd xmm2, xmm0
jb 0x140098d02
mov r8b, 1
jmp 0x140098d05
xor r8d, r8d
lea rdx, [rsi + 0x13e0]
mov qword [rsp + 0x28], rbx
lea rcx, [rsi + 0x48]
movsd qword [rsp + 0x20], xmm3
call fcn.1400819c0
cmp byte [rsi + 0x30], 0
mov qword [rbp - 0x60], rax
jne 0x140098df9
mov rdx, qword [rbp + 0x10]
mov r13, qword [rsp + 0x78]
mov r12, qword [rbp - 0x80]
jmp 0x1400979e7
movsd xmm6, qword [0x140215e48]
mov rbx, r12
mov qword [rbp - 0x80], rbx
jmp 0x140098d6d
mov qword [rsi + 0x16d0], 1
movsd xmm6, qword [0x140215e48]
mov r13, qword [rsp + 0x78]
mov rbx, qword [rbp - 0x80]
cmp byte [rsi + 0x1256], 0
je 0x140098fb4
mov qword [rsi + 0x16d0], 8
jmp 0x140098fbe
mov qword [rsi + 0x16d0], 2
jmp 0x140098d5c
mov qword [rsi + 0x16d0], 5
jmp 0x140098d5c
mov qword [rsi + 0x16d0], 4
jmp 0x140098d5c
cmp byte [rsi + 0x1254], 0
je 0x140098dc5
mov qword [rsi + 0x16d0], 4
movsd xmm6, qword [0x140215e48]
jmp 0x140098d6d
movsd xmm6, qword [0x140215e48]
cmp byte [rsi + 0x1254], 0
mov r13, qword [rsp + 0x78]
mov rbx, qword [rbp - 0x80]
je 0x140098d6d
mov qword [rsi + 0x16d0], 7
jmp 0x140098d6d
mov r8, qword [rsi + 0x90]
mov r9d, 1
mov rcx, qword [rsi + 0x1200]
mov edx, r9d
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov dword [rsi + 0x1250], 0x10000
mov dword [rsi + 0x1258], 0x15
jmp 0x14009988a
mov qword [rsi + 0x16d0], 0xfffffffffffffff8
jmp 0x140098d64
mov r9, qword [rbp - 0x40]
lea rcx, [rsi + 0x48]
lea r8, [rbp - 0x10]
mov rdx, r15
call fcn.140081f60
lea rdx, [r14 - 1]
xor edi, edi
test rdx, rdx
js 0x140098efe
cmp qword [rbp - 0x70], 4
jl 0x140098ee0
lea r8, [rdx - 3]
mov rax, qword [rsi + 0x1418]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8]
mov qword [rcx + rdi*8], rax
mov rax, qword [rsi + 0x1418]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8 + 8]
mov qword [rcx + rdi*8 + 8], rax
mov rax, qword [rsi + 0x1418]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8 + 0x10]
mov qword [rcx + rdi*8 + 0x10], rax
mov rax, qword [rsi + 0x1418]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8 + 0x18]
mov qword [rcx + rdi*8 + 0x18], rax
add rdi, 4
cmp rdi, r8
jle 0x140098e71
cmp rdi, rdx
jg 0x140098efe
nop dword [rax]
mov rax, qword [rsi + 0x1418]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8]
mov qword [rcx + rdi*8], rax
inc rdi
cmp rdi, rdx
jle 0x140098ee0
movsd xmm0, qword [rsi + 0x40]
mov rax, qword [rbp - 0x80]
mov r8, qword [rsp + 0x78]
mov dword [rsi + 0x1250], 0
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
ucomisd xmm1, xmm0
mov qword [rbp - 0x80], rax
jp 0x140098f4d
jne 0x140098f4d
mov byte [rsi + 0x1251], 1
mov dword [rsi + 0x1258], 0xd
jmp 0x14009988f
mov byte [rsi + 0x1250], 1
mov dword [rsi + 0x1258], 0xe
mov qword [rbp - 0x80], rax
jmp 0x14009988f
mov rax, qword [rsi + 0x1df8]
mov r9d, 1
mov r8, qword [rsi + 0x90]
mov edx, r9d
mov rcx, qword [rsi + 0x1200]
shr rax, 0x3f
xor al, 1
mov dword [rsi + 0x1250], 0x1000000
mov byte [rsi + 0x1255], al
mov qword [rsp + 0x20], r14
call fcn.14003f060
mov dword [rsi + 0x1258], 0xc
jmp 0x14009988a
cmp qword [rsi + 0x16d0], 0
je 0x140098fd8
mov qword [rsi + 0x50], 0
xor al, al
mov qword [rsi + 0x16b8], 1
jmp 0x14009994b
mulsd xmm12, qword [0x140215ea8]
maxsd xmm12, xmm6
mov rax, qword [rbp - 0x80]
mov r9d, 1
mov r8, qword [rsi + 0x90]
mov edx, r9d
mov rcx, qword [rsi + 0x1200]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x20], r14
call fcn.14003f060
movsd xmm0, qword [rsi + 0x40]
mov dword [rsi + 0x1250], 0
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
ucomisd xmm1, xmm0
jp 0x140099054
jne 0x140099054
mov byte [rsi + 0x1251], 1
mov r8, r13
mov dword [rsi + 0x1258], 4
jmp 0x14009988f
mov byte [rsi + 0x1250], 1
mov r8, r13
mov dword [rsi + 0x1258], 5
mov qword [rbp - 0x80], rbx
jmp 0x14009988f
mov r14, qword [rsi]
mov r13d, 5
movsd xmm0, qword [rsi + 0x38]
cmp r14, r13
movsd xmm12, qword [0x140215e88]
mov byte [rsi + 0x1254], 0
cmovl r13, r14
mov byte [rsi + 0x1256], 0
mov qword [rsi + 0x16d0], 0
mov qword [rsi + 0x16b0], 0
mov qword [rsi + 0x16b8], 0
mov qword [rsi + 0x16c0], 0
mov qword [rsi + 0x16c8], 0xffffffffffffffff
mov qword [rsi + 0x16d8], 0
mov rax, qword [rbx + 8]
mov qword [rsi + 0x16e0], rax
mov rax, qword [rbx + 8]
mov qword [rsi + 0x16e8], rax
mov rax, qword [rbx + 8]
mov qword [rsi + 0x16f0], rax
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
ucomisd xmm1, xmm0
mov qword [rsp + 0x78], r13
jp 0x140099122
je 0x140099157
cmp qword [rsi + 0x1180], 0
mov rax, qword [rbp - 0x60]
mov r15, qword [rbp - 0x68]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x80], r12
mov byte [rsp + 0x70], r11b
je 0x14009915b
mov qword [rsi + 0x16d0], 0xfffffffffffffff6
xor al, al
jmp 0x14009994b
mov r15, qword [rbp - 0x68]
lea rbx, [r13 + 1]
lea rcx, [rsi + 0x1fc0]
test rbx, rbx
jle 0x14009918f
test r14, r14
jle 0x14009918f
cmp qword [rcx], rbx
jl 0x14009917b
cmp qword [rcx + 8], r14
jge 0x14009918f
mov rdi, qword [rbp - 0x40]
mov r8, r14
mov r9, rdi
mov rdx, rbx
call fcn.14003e950
jmp 0x140099193
mov rdi, qword [rbp - 0x40]
lea rcx, [rsi + 0x2010]
test rbx, rbx
jle 0x1400991bd
test r14, r14
jle 0x1400991bd
cmp qword [rcx], rbx
jl 0x1400991af
cmp qword [rcx + 8], r14
jge 0x1400991bd
mov r9, rdi
mov r8, r14
mov rdx, rbx
call fcn.14003e950
mov rbx, qword [rbp - 0x40]
lea rcx, [rsi + 0x2060]
cmp qword [rcx], r13
jge 0x1400991d8
mov r8, rbx
mov rdx, r13
call fcn.14003e440
lea rcx, [rsi + 0x20a0]
cmp qword [rcx], r13
jge 0x1400991ef
mov r8, rbx
mov rdx, r13
call fcn.14003e440
lea rcx, [rsi + 0x1e48]
cmp qword [rcx], r14
jge 0x140099206
mov r8, rbx
mov rdx, r14
call fcn.14003e440
cmp qword [rsi + 0x20f0], 0
lea rdx, [rsi + 0x1140]
lea rcx, [rsi + 0x20f8]
mov qword [rsp + 0x28], rbx
setg al
mov r9d, 1
mov r8, r14
mov byte [rsp + 0x20], al
call fcn.14006e430
lea r8, [r14 - 1]
xor edx, edx
test r8, r8
js 0x14009937a
cmp r14, 4
jl 0x140099340
lea r9, [r8 - 3]
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm11
mov rcx, qword [rsi + 0x35b0]
mov rax, qword [rax + rdx*8]
mov qword [rcx + rdx*8], rax
mov rax, qword [rsi + 0x1178]
divsd xmm0, qword [rax + rdx*8]
mov rax, qword [rsi + 0x35f0]
movsd qword [rax + rdx*8], xmm0
movaps xmm0, xmm11
mov rax, qword [rsi + 0x1178]
mov rcx, qword [rsi + 0x35b0]
mov rax, qword [rax + rdx*8 + 8]
mov qword [rcx + rdx*8 + 8], rax
mov rax, qword [rsi + 0x1178]
divsd xmm0, qword [rax + rdx*8 + 8]
mov rax, qword [rsi + 0x35f0]
movsd qword [rax + rdx*8 + 8], xmm0
movaps xmm0, xmm11
mov rax, qword [rsi + 0x1178]
mov rcx, qword [rsi + 0x35b0]
mov rax, qword [rax + rdx*8 + 0x10]
mov qword [rcx + rdx*8 + 0x10], rax
mov rax, qword [rsi + 0x1178]
divsd xmm0, qword [rax + rdx*8 + 0x10]
mov rax, qword [rsi + 0x35f0]
movsd qword [rax + rdx*8 + 0x10], xmm0
movaps xmm0, xmm11
mov rax, qword [rsi + 0x1178]
mov rcx, qword [rsi + 0x35b0]
mov rax, qword [rax + rdx*8 + 0x18]
mov qword [rcx + rdx*8 + 0x18], rax
mov rax, qword [rsi + 0x1178]
divsd xmm0, qword [rax + rdx*8 + 0x18]
mov rax, qword [rsi + 0x35f0]
movsd qword [rax + rdx*8 + 0x18], xmm0
add rdx, 4
cmp rdx, r9
jle 0x140099253
cmp rdx, r8
jg 0x14009937a
nop dword [rax]
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm11
mov rcx, qword [rsi + 0x35b0]
mov rax, qword [rax + rdx*8]
mov qword [rcx + rdx*8], rax
mov rax, qword [rsi + 0x1178]
divsd xmm0, qword [rax + rdx*8]
mov rax, qword [rsi + 0x35f0]
movsd qword [rax + rdx*8], xmm0
inc rdx
cmp rdx, r8
jle 0x140099340
movsd xmm0, qword [rsi + 0x40]
mov dword [rsi + 0x1250], 0
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
ucomisd xmm1, xmm0
jp 0x140099504
jne 0x140099504
movsd xmm0, qword [rsi + 0x20e8]
mov rax, qword [rbp - 0x60]
movzx edi, byte [rsp + 0x70]
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
comisd xmm1, xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x68], r15
mov byte [rsp + 0x70], dil
jbe 0x140099504
movsd xmm0, qword [rsi + 0x20e8]
lea rax, [rsi + 0x1670]
mov qword [rsp + 0x38], rbx
lea r9, [rsi + 0x1630]
movsd qword [rsp + 0x30], xmm0
lea r8, [rsi + 0x1140]
mov byte [rsp + 0x28], 1
lea rdx, [rsi + 0x1708]
lea rcx, [rsi + 0x20f8]
mov qword [rsp + 0x20], rax
call fcn.140070ee0
test al, al
je 0x140099504
xor edi, edi
lea rdx, [r14 - 1]
test rdx, rdx
js 0x1400994ee
cmp r14, 4
jl 0x1400994d0
lea r8, [rdx - 3]
nop word [rax + rax]
mov rax, qword [rsi + 0x2e68]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8]
mov qword [rcx + rdi*8], rax
mov rax, qword [rsi + 0x2e68]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8 + 8]
mov qword [rcx + rdi*8 + 8], rax
mov rax, qword [rsi + 0x2e68]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8 + 0x10]
mov qword [rcx + rdi*8 + 0x10], rax
mov rax, qword [rsi + 0x2e68]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8 + 0x18]
mov qword [rcx + rdi*8 + 0x18], rax
add rdi, 4
cmp rdi, r8
jle 0x140099460
cmp rdi, rdx
jg 0x1400994ee
nop dword [rax]
mov rax, qword [rsi + 0x2e68]
mov rcx, qword [rsi + 0x1200]
mov rax, qword [rax + rdi*8]
mov qword [rcx + rdi*8], rax
inc rdi
cmp rdi, rdx
jle 0x1400994d0
mov byte [rsi + 0x1251], 1
mov dword [rsi + 0x1258], 0
jmp 0x14009988a
lea rcx, [rsi + 0x1e08]
cmp qword [rcx], r14
jge 0x14009951b
mov r8, rbx
mov rdx, r14
call fcn.14003e440
xor edi, edi
lea r8, [r14 - 1]
test r8, r8
js 0x140099744
movabs r10, 0x3ff0000000000000
cmp r14, 4
jl 0x1400996e0
lea r9, [r8 - 3]
mov rax, qword [rsi + 0x1180]
cmp rax, 2
jne 0x140099567
mov rax, qword [rsi + 0x11c0]
mov rcx, qword [rsi + 0x1e40]
mov rax, qword [rax + rdi*8]
mov qword [rcx + rdi*8], rax
jmp 0x14009959e
cmp rax, 3
jne 0x140099593
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm11
movsd xmm1, qword [rax + rdi*8]
mov rax, qword [rsi + 0x1e40]
mulsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [rax + rdi*8], xmm0
jmp 0x14009959e
mov rax, qword [rsi + 0x1e40]
mov qword [rax + rdi*8], r10
mov rax, qword [rsi + 0x1180]
cmp rax, 2
jne 0x1400995c5
mov rax, qword [rsi + 0x11c0]
mov rcx, qword [rsi + 0x1e40]
mov rax, qword [rax + rdi*8 + 8]
mov qword [rcx + rdi*8 + 8], rax
jmp 0x1400995ff
cmp rax, 3
jne 0x1400995f3
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm11
movsd xmm1, qword [rax + rdi*8 + 8]
mov rax, qword [rsi + 0x1e40]
mulsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [rax + rdi*8 + 8], xmm0
jmp 0x1400995ff
mov rax, qword [rsi + 0x1e40]
mov qword [rax + rdi*8 + 8], r10
mov rax, qword [rsi + 0x1180]
lea rdx, [rdi*8 + 0x10]
cmp rax, 2
jne 0x14009962c
mov rax, qword [rsi + 0x11c0]
mov rcx, qword [rsi + 0x1e40]
mov rax, qword [rdx + rax]
mov qword [rdx + rcx], rax
jmp 0x140099663
cmp rax, 3
jne 0x140099658
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm11
movsd xmm1, qword [rdx + rax]
mov rax, qword [rsi + 0x1e40]
mulsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [rdx + rax], xmm0
jmp 0x140099663
mov rax, qword [rsi + 0x1e40]
mov qword [rdx + rax], r10
mov rax, qword [rsi + 0x1180]
cmp rax, 2
jne 0x14009968a
mov rax, qword [rsi + 0x11c0]
mov rcx, qword [rsi + 0x1e40]
mov rax, qword [rdx + rax + 8]
mov qword [rdx + rcx + 8], rax
jmp 0x1400996c4
cmp rax, 3
jne 0x1400996b8
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm11
movsd xmm1, qword [rdx + rax + 8]
mov rax, qword [rsi + 0x1e40]
mulsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [rdx + rax + 8], xmm0
jmp 0x1400996c4
mov rax, qword [rsi + 0x1e40]
mov qword [rdx + rax + 8], r10
add rdi, 4
cmp rdi, r9
jle 0x140099542
cmp rdi, r8
jg 0x140099744
nop word [rax + rax]
mov rax, qword [rsi + 0x1180]
cmp rax, 2
jne 0x140099705
mov rax, qword [rsi + 0x11c0]
mov rcx, qword [rsi + 0x1e40]
mov rax, qword [rax + rdi*8]
mov qword [rcx + rdi*8], rax
jmp 0x14009973c
cmp rax, 3
jne 0x140099731
mov rax, qword [rsi + 0x1178]
movaps xmm0, xmm11
movsd xmm1, qword [rax + rdi*8]
mov rax, qword [rsi + 0x1e40]
mulsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [rax + rdi*8], xmm0
jmp 0x14009973c
mov rax, qword [rsi + 0x1e40]
mov qword [rax + rdi*8], r10
inc rdi
cmp rdi, r8
jle 0x1400996e0
movzx edx, byte [rsp + 0x70]
mov rcx, qword [rbp - 0x68]
movzx r15d, dl
mov r8, qword [rbp - 0x60]
mov r12, rcx
mov rax, qword [rbp - 0x80]
mov r13, r8
mov byte [rsp + 0x70], dl
lea rdx, [rsi + 0x1e08]
mov qword [rbp - 0x68], rcx
lea rcx, [rsi + 0x48]
mov qword [rbp - 0x60], r8
mov r8, qword [rbp - 0x40]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x80], rax
call fcn.1400800e0
mov r8, qword [rbp - 0x40]
lea rdx, [rsi + 0x1708]
lea rcx, [rsi + 0x48]
call fcn.1400806f0
test al, al
jne 0x1400997af
mov qword [rsi + 0x16d0], 0xfffffffffffffffd
jmp 0x14009994b
xor eax, eax
xorps xmm0, xmm0
mov qword [rsi + 0x16d0], rax
mov qword [rsi + 0x1598], rax
mov qword [rsi + 0x15a0], rax
mov qword [rsi + 0x15a8], rax
mov rax, qword [rsi + 0x1590]
add rax, r14
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x140215ee8]
addsd xmm0, qword [0x140215e88]
call fcn.14016cb20
mov r8, qword [rsi + 0x90]
mov r9d, 1
mov rcx, qword [rsi + 0x1200]
mov edx, r9d
cvttsd2si rax, xmm0
mov qword [rsp + 0x20], r14
add rax, 5
mov qword [rsi + 0x1fb8], rax
call fcn.14003f060
movsd xmm0, qword [rsi + 0x40]
mov dword [rsi + 0x1250], 0
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x48], xmm14
movsd xmm1, qword [rbp - 0x30]
movsd xmm0, qword [rbp - 0x48]
ucomisd xmm1, xmm0
jp 0x140099864
jne 0x140099864
mov byte [rsi + 0x1251], 1
mov dword [rsi + 0x1258], 1
jmp 0x14009988a
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x80], rax
mov byte [rsi + 0x1250], 1
mov dword [rsi + 0x1258], 2
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x68], r12
mov byte [rsp + 0x70], r15b
mov r8, qword [rsp + 0x78]
mov rax, qword [rsi + 0x1298]
mov rcx, qword [rbp - 0x80]
movsd xmm0, qword [rbp - 0x10]
mov qword [rax], r14
mov rax, qword [rsi + 0x1298]
mov qword [rax + 8], r8
mov rax, qword [rsi + 0x1298]
mov qword [rax + 0x10], rdi
mov rax, qword [rsi + 0x1298]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsi + 0x1298]
mov rax, qword [rbp + 0x10]
mov qword [rcx + 0x20], rax
mov rax, qword [rsi + 0x1298]
mov rcx, qword [rbp - 0x60]
mov qword [rax + 0x28], rcx
mov rax, qword [rsi + 0x1298]
mov rcx, qword [rbp - 0x68]
mov qword [rax + 0x30], rcx
mov rax, qword [rsi + 0x12d8]
movzx ecx, byte [rsp + 0x70]
mov byte [rax], cl
mov rax, qword [rsi + 0x1318]
movsd qword [rax], xmm7
mov rax, qword [rsi + 0x1318]
movsd qword [rax + 8], xmm8
mov rax, qword [rsi + 0x1318]
movsd qword [rax + 0x10], xmm13
mov rax, qword [rsi + 0x1318]
movsd qword [rax + 0x18], xmm0
mov rax, qword [rsi + 0x1318]
movsd qword [rax + 0x20], xmm15
mov rax, qword [rsi + 0x1318]
movsd qword [rax + 0x28], xmm12
mov al, 1
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.140138160
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rbp - 0x40]
lea r8, str.SASReactivateConstraintsPrec:_must_be_in_optimization_mode
mov edx, 3
call fcn.14003de20
int3
mov rcx, qword [rbp - 0x40]
lea r8, str.SASMoveTo:_is_not_in_optimization_mode
mov edx, 3
call fcn.14003de20
int3
mov rcx, qword [rbp - 0x40]
lea r8, str.MinBLEIC:_internal_error
mov edx, 3
call fcn.14003de20
int3
lea r8, str.SASConstrainedAntigradientPrec:_is_not_in_optimization_mode
mov edx, 3
mov rcx, r15
call fcn.14003de20
int3