Function at 0x14017edc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xd8
movdqa xmmword [rsp + 0x30], xmm15
movdqa xmmword [rsp + 0x40], xmm14
movdqa xmmword [rsp + 0x50], xmm13
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x70], xmm11
movdqa xmmword [rsp + 0x80], xmm10
movdqa xmmword [rsp + 0x90], xmm9
movdqa xmmword [rsp + 0xa0], xmm8
movdqa xmmword [rsp + 0xb0], xmm7
movdqa xmmword [rsp + 0xc0], xmm6
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x140]
movsxd r8, r8d
test rdi, 0x1f
jne 0x14017ee49
mov rcx, rdi
cmp rsi, 0x100
je 0x14017ee65
cmp rsi, 0x800
je 0x14017ee65
cmp rsi, 0x20
jge 0x14017efbf
mov r12, rdi
mov r13, rcx
mov r10, rsi
test r12, 0xf
jne 0x14017ef16
movapd xmm0, xmmword [r12]
movapd xmm2, xmmword [r12 + 0x10]
movapd xmm5, xmmword [r12 + 0x20]
movapd xmm3, xmmword [r12 + 0x30]
movapd xmm4, xmm0
addpd xmm0, xmm2
subpd xmm4, xmm2
movapd xmm1, xmm5
addpd xmm1, xmm3
subpd xmm5, xmm3
shufpd xmm5, xmm5, 1
xorpd xmm5, xmmword [0x140686d60]
add r12, 0x40
movapd xmm2, xmm0
addpd xmm0, xmm1
subpd xmm2, xmm1
movapd xmm3, xmm4
subpd xmm4, xmm5
addpd xmm3, xmm5
movapd xmm5, xmm0
movlhps xmm0, xmm4
movapd xmmword [r13], xmm0
movhlps xmm4, xmm5
movapd xmmword [r13 + 0x20], xmm4
movapd xmm6, xmm2
movlhps xmm2, xmm3
movapd xmmword [r13 + 0x10], xmm2
movhlps xmm3, xmm6
movapd xmmword [r13 + 0x30], xmm3
add r13, 0x40
sub r10, 4
jg 0x14017ee7b
jmp 0x14017efac
movupd xmm0, xmmword [r12]
movupd xmm2, xmmword [r12 + 0x10]
movupd xmm5, xmmword [r12 + 0x20]
movupd xmm3, xmmword [r12 + 0x30]
movapd xmm4, xmm0
addpd xmm0, xmm2
subpd xmm4, xmm2
movapd xmm1, xmm5
addpd xmm1, xmm3
subpd xmm5, xmm3
shufpd xmm5, xmm5, 1
xorpd xmm5, xmmword [0x140686d60]
add r12, 0x40
movapd xmm2, xmm0
addpd xmm0, xmm1
subpd xmm2, xmm1
movapd xmm3, xmm4
subpd xmm4, xmm5
addpd xmm3, xmm5
movapd xmm5, xmm0
movlhps xmm0, xmm4
movapd xmmword [r13], xmm0
movhlps xmm4, xmm5
movapd xmmword [r13 + 0x20], xmm4
movapd xmm6, xmm2
movlhps xmm2, xmm3
movapd xmmword [r13 + 0x10], xmm2
movhlps xmm3, xmm6
movapd xmmword [r13 + 0x30], xmm3
add r13, 0x40
sub r10, 4
jg 0x14017ef16
mov r10, 4
mov r11, rsi
shr r11, 2
jmp 0x14017f33a
mov r12, rdi
mov r13, rcx
mov r10, rsi
test r12, 0xf
jne 0x14017f183
movapd xmm0, xmmword [r12]
movapd xmm3, xmmword [r12 + 0x10]
movapd xmm6, xmmword [r12 + 0x20]
movapd xmm1, xmmword [r12 + 0x30]
movapd xmm2, xmm0
addpd xmm0, xmm3
subpd xmm2, xmm3
movapd xmm3, xmm6
addpd xmm3, xmm1
subpd xmm6, xmm1
shufpd xmm6, xmm6, 1
xorpd xmm6, xmmword [0x140686d60]
movapd xmm1, xmm0
addpd xmm0, xmm3
movapd xmmword [rsp], xmm0
subpd xmm1, xmm3
movapd xmm3, xmm2
subpd xmm2, xmm6
addpd xmm3, xmm6
movapd xmmword [rsp + 0x10], xmm3
movapd xmm0, xmmword [r12 + 0x40]
movapd xmm5, xmmword [r12 + 0x50]
movapd xmm6, xmmword [r12 + 0x60]
movapd xmm3, xmmword [r12 + 0x70]
movapd xmm4, xmm0
addpd xmm0, xmm5
subpd xmm4, xmm5
movapd xmm5, xmm6
addpd xmm5, xmm3
subpd xmm6, xmm3
shufpd xmm6, xmm6, 1
xorpd xmm6, xmmword [0x140686d60]
add r12, 0x80
movapd xmm3, xmm0
addpd xmm0, xmm5
subpd xmm3, xmm5
movapd xmm5, xmm4
subpd xmm4, xmm6
addpd xmm5, xmm6
movapd xmm6, xmm4
shufpd xmm4, xmm4, 1
xorpd xmm4, xmmword [0x140686d60]
subpd xmm6, xmm4
mulpd xmm6, xmmword [0x140686d00]
movapd xmm7, xmm5
shufpd xmm5, xmm5, 1
xorpd xmm5, xmmword [0x140686d60]
addpd xmm7, xmm5
mulpd xmm7, xmmword [0x140686d20]
shufpd xmm3, xmm3, 1
xorpd xmm3, xmmword [0x140686d60]
movapd xmm4, xmmword [rsp]
subpd xmm4, xmm0
addpd xmm0, xmmword [rsp]
movapd xmm5, xmm2
addpd xmm2, xmm6
subpd xmm5, xmm6
movapd xmm6, xmm0
movlhps xmm0, xmm2
movapd xmmword [r13], xmm0
movhlps xmm2, xmm6
movapd xmmword [r13 + 0x20], xmm2
movapd xmm0, xmm1
subpd xmm1, xmm3
addpd xmm0, xmm3
movapd xmm3, xmmword [rsp + 0x10]
subpd xmm3, xmm7
addpd xmm7, xmmword [rsp + 0x10]
movapd xmm6, xmm1
movlhps xmm1, xmm7
movapd xmmword [r13 + 0x10], xmm1
movhlps xmm7, xmm6
movapd xmmword [r13 + 0x30], xmm7
movapd xmm6, xmm4
movlhps xmm4, xmm5
movapd xmmword [r13 + 0x40], xmm4
movhlps xmm5, xmm6
movapd xmmword [r13 + 0x60], xmm5
movapd xmm6, xmm0
movlhps xmm0, xmm3
movapd xmmword [r13 + 0x50], xmm0
movhlps xmm3, xmm6
movapd xmmword [r13 + 0x70], xmm3
add r13, 0x80
sub r10, 8
jg 0x14017efd5
jmp 0x14017f32c
movupd xmm0, xmmword [r12]
movupd xmm3, xmmword [r12 + 0x10]
movupd xmm6, xmmword [r12 + 0x20]
movupd xmm1, xmmword [r12 + 0x30]
movapd xmm2, xmm0
addpd xmm0, xmm3
subpd xmm2, xmm3
movapd xmm3, xmm6
addpd xmm3, xmm1
subpd xmm6, xmm1
shufpd xmm6, xmm6, 1
xorpd xmm6, xmmword [0x140686d60]
movapd xmm1, xmm0
addpd xmm0, xmm3
movapd xmmword [rsp], xmm0
subpd xmm1, xmm3
movapd xmm3, xmm2
subpd xmm2, xmm6
addpd xmm3, xmm6
movapd xmmword [rsp + 0x10], xmm3
movupd xmm0, xmmword [r12 + 0x40]
movupd xmm5, xmmword [r12 + 0x50]
movupd xmm6, xmmword [r12 + 0x60]
movupd xmm3, xmmword [r12 + 0x70]
movapd xmm4, xmm0
addpd xmm0, xmm5
subpd xmm4, xmm5
movapd xmm5, xmm6
addpd xmm5, xmm3
subpd xmm6, xmm3
shufpd xmm6, xmm6, 1
xorpd xmm6, xmmword [0x140686d60]
add r12, 0x80
movapd xmm3, xmm0
addpd xmm0, xmm5
subpd xmm3, xmm5
movapd xmm5, xmm4
subpd xmm4, xmm6
addpd xmm5, xmm6
movapd xmm6, xmm4
shufpd xmm4, xmm4, 1
xorpd xmm4, xmmword [0x140686d60]
subpd xmm6, xmm4
mulpd xmm6, xmmword [0x140686d00]
movapd xmm7, xmm5
shufpd xmm5, xmm5, 1
xorpd xmm5, xmmword [0x140686d60]
addpd xmm7, xmm5
mulpd xmm7, xmmword [0x140686d20]
shufpd xmm3, xmm3, 1
xorpd xmm3, xmmword [0x140686d60]
movapd xmm4, xmmword [rsp]
subpd xmm4, xmm0
addpd xmm0, xmmword [rsp]
movapd xmm5, xmm2
addpd xmm2, xmm6
subpd xmm5, xmm6
movapd xmm6, xmm0
movlhps xmm0, xmm2
movapd xmmword [r13], xmm0
movhlps xmm2, xmm6
movapd xmmword [r13 + 0x20], xmm2
movapd xmm0, xmm1
subpd xmm1, xmm3
addpd xmm0, xmm3
movapd xmm3, xmmword [rsp + 0x10]
subpd xmm3, xmm7
addpd xmm7, xmmword [rsp + 0x10]
movapd xmm6, xmm1
movlhps xmm1, xmm7
movapd xmmword [r13 + 0x10], xmm1
movhlps xmm7, xmm6
movapd xmmword [r13 + 0x30], xmm7
movapd xmm6, xmm4
movlhps xmm4, xmm5
movapd xmmword [r13 + 0x40], xmm4
movhlps xmm5, xmm6
movapd xmmword [r13 + 0x60], xmm5
movapd xmm6, xmm0
movlhps xmm0, xmm3
movapd xmmword [r13 + 0x50], xmm0
movhlps xmm3, xmm6
movapd xmmword [r13 + 0x70], xmm3
add r13, 0x80
sub r10, 8
jg 0x14017f183
mov r10, 8
mov r11, rsi
shr r11, 3
cmp r11, 4
je 0x14018062e
cmp r11, 8
je 0x14017fdf5
cmp r11, 0x10
je 0x14017facd
shr r11, 3
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], r11
mov r12, rcx
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
shl r10, 4
lea rax, [r10 + r10*2]
lea r13, [r12 + r10*4]
mov r14, rcx
lea r15, [r14 + r10*4]
test r14, 0x1f
jne 0x14017f6de
lea rbx, [r12 + r10]
mov r9, rbx
mov rbx, rdx
vmovapd ymm2, ymmword [r12 + r10*2]
vmovapd ymm1, ymmword [rbx + 0x40]
vmulpd ymm0, ymm1, ymm2
vmovapd ymm8, ymmword [r12 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm8
vmovapd ymm9, ymmword [rbx + 0x60]
vmulpd ymm8, ymm8, ymm9
vmulpd ymm9, ymm9, ymm2
vaddpd ymm0, ymm0, ymm8
vsubpd ymm1, ymm1, ymm9
vmovapd ymm4, ymmword [r12 + rax]
vmovapd ymm3, ymmword [rbx + 0x140]
vmulpd ymm14, ymm3, ymm4
vmovapd ymm10, ymmword [r12 + rax + 0x20]
vmulpd ymm6, ymm3, ymm10
vmovapd ymm11, ymmword [rbx + 0x160]
vmulpd ymm10, ymm10, ymm11
vmulpd ymm11, ymm11, ymm4
vaddpd ymm14, ymm14, ymm10
vsubpd ymm6, ymm6, ymm11
vaddpd ymm2, ymm14, ymm0
vsubpd ymm0, ymm0, ymm14
vaddpd ymm3, ymm6, ymm1
vsubpd ymm1, ymm1, ymm6
vmovapd ymm6, ymmword [r12 + r10]
vmovapd ymm5, ymmword [rbx + 0xc0]
vmulpd ymm4, ymm5, ymm6
vmovapd ymm12, ymmword [r12 + r10 + 0x20]
vmulpd ymm5, ymm5, ymm12
vmovapd ymm13, ymmword [rbx + 0xe0]
vmulpd ymm12, ymm12, ymm13
vmulpd ymm13, ymm13, ymm6
vaddpd ymm4, ymm4, ymm12
vsubpd ymm5, ymm5, ymm13
vmovapd ymm8, ymmword [r13]
vmovapd ymm7, ymmword [rbx]
vmulpd ymm6, ymm7, ymm8
vmovapd ymm14, ymmword [r13 + 0x20]
vmulpd ymm7, ymm7, ymm14
vmovapd ymm15, ymmword [rbx + 0x20]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm8
vaddpd ymm6, ymm6, ymm14
vsubpd ymm7, ymm7, ymm15
vmovapd ymm10, ymmword [r13 + r10]
vmovapd ymm12, ymmword [rbx + 0x100]
vmulpd ymm14, ymm12, ymm10
vmovapd ymm9, ymmword [r13 + r10 + 0x20]
vmulpd ymm12, ymm12, ymm9
vmovapd ymm13, ymmword [rbx + 0x120]
vmulpd ymm9, ymm9, ymm13
vmulpd ymm13, ymm13, ymm10
vaddpd ymm14, ymm14, ymm9
vsubpd ymm12, ymm12, ymm13
vaddpd ymm8, ymm14, ymm6
vsubpd ymm6, ymm6, ymm14
vaddpd ymm9, ymm12, ymm7
vsubpd ymm7, ymm7, ymm12
vmovapd ymm12, ymmword [r13 + r10*2]
vmovapd ymm11, ymmword [rbx + 0x80]
vmulpd ymm10, ymm11, ymm12
vmovapd ymm14, ymmword [r13 + r10*2 + 0x20]
vmulpd ymm11, ymm11, ymm14
vmovapd ymm15, ymmword [rbx + 0xa0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm12
vaddpd ymm10, ymm10, ymm14
vsubpd ymm11, ymm11, ymm15
vmovapd ymm12, ymmword [r13 + rax]
vmovapd ymm13, ymmword [rbx + 0x180]
vmulpd ymm12, ymm12, ymm13
vmovapd ymm14, ymmword [r13 + rax + 0x20]
vmulpd ymm13, ymm13, ymm14
vmovapd ymm15, ymmword [rbx + 0x1a0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymmword [r13 + rax]
vaddpd ymm12, ymm12, ymm14
vsubpd ymm13, ymm13, ymm15
add rbx, 0x1c0
vmovapd ymm14, ymmword [r12]
vsubpd ymm15, ymm14, ymm4
vaddpd ymm14, ymm4, ymm14
vsubpd ymm4, ymm14, ymm2
vaddpd ymm2, ymm2, ymm14
vsubpd ymm14, ymm10, ymm12
vaddpd ymm12, ymm12, ymm10
vsubpd ymm10, ymm11, ymm13
vaddpd ymm13, ymm13, ymm11
vsubpd ymm11, ymm8, ymm12
vaddpd ymm12, ymm12, ymm8
vaddpd ymm8, ymm15, ymm1
vsubpd ymm15, ymm15, ymm1
vsubpd ymm1, ymm9, ymm13
vaddpd ymm13, ymm13, ymm9
vsubpd ymm9, ymm2, ymm12
vaddpd ymm2, ymm2, ymm12
vmovapd ymmword [r12], ymm2
vmovapd ymm2, ymmword [r12 + 0x20]
vsubpd ymm12, ymm2, ymm5
vaddpd ymm5, ymm5, ymm2
vaddpd ymm2, ymm6, ymm10
vsubpd ymm6, ymm6, ymm10
vmulpd ymm6, ymm6, ymmword [0x140686d00]
vmulpd ymm2, ymm2, ymmword [0x140686d20]
vaddpd ymm10, ymm7, ymm14
vmulpd ymm10, ymm10, ymmword [0x140686d00]
vsubpd ymm7, ymm7, ymm14
vmulpd ymm7, ymm7, ymmword [0x140686d20]
vsubpd ymm14, ymm5, ymm3
vaddpd ymm3, ymm3, ymm5
vsubpd ymm5, ymm12, ymm0
vaddpd ymm12, ymm12, ymm0
vsubpd ymm0, ymm3, ymm13
vaddpd ymm3, ymm3, ymm13
vmovapd ymmword [r12 + 0x20], ymm3
vmovapd ymmword [r13], ymm9
vmovapd ymmword [r13 + 0x20], ymm0
vaddpd ymm0, ymm10, ymm6
vsubpd ymm6, ymm6, ymm10
vsubpd ymm9, ymm7, ymm2
vaddpd ymm2, ymm2, ymm7
vsubpd ymm3, ymm4, ymm1
vmovapd ymmword [r12 + r10*2], ymm3
vaddpd ymm13, ymm14, ymm11
vmovapd ymmword [r12 + r10*2 + 0x20], ymm13
vaddpd ymm3, ymm4, ymm1
vmovapd ymmword [r13 + r10*2], ymm3
vsubpd ymm13, ymm14, ymm11
vmovapd ymmword [r13 + r10*2 + 0x20], ymm13
vaddpd ymm3, ymm15, ymm6
vmovapd ymmword [r12 + r10], ymm3
vaddpd ymm13, ymm12, ymm0
vmovapd ymmword [r12 + r10 + 0x20], ymm13
vsubpd ymm3, ymm15, ymm6
vmovapd ymmword [r13 + r10], ymm3
vsubpd ymm13, ymm12, ymm0
vmovapd ymmword [r13 + r10 + 0x20], ymm13
vaddpd ymm3, ymm8, ymm2
vmovapd ymmword [r12 + rax], ymm3
vaddpd ymm13, ymm5, ymm9
vmovapd ymmword [r12 + rax + 0x20], ymm13
vsubpd ymm3, ymm8, ymm2
vmovapd ymmword [r13 + rax], ymm3
vsubpd ymm13, ymm5, ymm9
vmovapd ymmword [r13 + rax + 0x20], ymm13
add r12, 0x40
add r13, 0x40
cmp r12, r9
jne 0x14017f39d
lea r12, [r13 + rax]
lea r13, [r12 + r10*4]
dec r11
jg 0x14017f393
mov rdx, rbx
jmp 0x14017faba
lea rbx, [r12 + r10]
mov r9, rbx
mov rbx, rdx
vmovapd ymm2, ymmword [r12 + r10*2]
vmovapd ymm1, ymmword [rbx + 0x40]
vmulpd ymm0, ymm1, ymm2
vmovapd ymm8, ymmword [r12 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm8
vmovapd ymm9, ymmword [rbx + 0x60]
vmulpd ymm8, ymm8, ymm9
vmulpd ymm9, ymm9, ymm2
vaddpd ymm0, ymm0, ymm8
vsubpd ymm1, ymm1, ymm9
vmovapd ymm4, ymmword [r12 + rax]
vmovapd ymm3, ymmword [rbx + 0x140]
vmulpd ymm14, ymm3, ymm4
vmovapd ymm10, ymmword [r12 + rax + 0x20]
vmulpd ymm6, ymm3, ymm10
vmovapd ymm11, ymmword [rbx + 0x160]
vmulpd ymm10, ymm10, ymm11
vmulpd ymm11, ymm11, ymm4
vaddpd ymm14, ymm14, ymm10
vsubpd ymm6, ymm6, ymm11
vaddpd ymm2, ymm14, ymm0
vsubpd ymm0, ymm0, ymm14
vaddpd ymm3, ymm6, ymm1
vsubpd ymm1, ymm1, ymm6
vmovapd ymm6, ymmword [r12 + r10]
vmovapd ymm5, ymmword [rbx + 0xc0]
vmulpd ymm4, ymm5, ymm6
vmovapd ymm12, ymmword [r12 + r10 + 0x20]
vmulpd ymm5, ymm5, ymm12
vmovapd ymm13, ymmword [rbx + 0xe0]
vmulpd ymm12, ymm12, ymm13
vmulpd ymm13, ymm13, ymm6
vaddpd ymm4, ymm4, ymm12
vsubpd ymm5, ymm5, ymm13
vmovapd ymm8, ymmword [r13]
vmovapd ymm7, ymmword [rbx]
vmulpd ymm6, ymm7, ymm8
vmovapd ymm14, ymmword [r13 + 0x20]
vmulpd ymm7, ymm7, ymm14
vmovapd ymm15, ymmword [rbx + 0x20]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm8
vaddpd ymm6, ymm6, ymm14
vsubpd ymm7, ymm7, ymm15
vmovapd ymm10, ymmword [r13 + r10]
vmovapd ymm12, ymmword [rbx + 0x100]
vmulpd ymm14, ymm12, ymm10
vmovapd ymm9, ymmword [r13 + r10 + 0x20]
vmulpd ymm12, ymm12, ymm9
vmovapd ymm13, ymmword [rbx + 0x120]
vmulpd ymm9, ymm9, ymm13
vmulpd ymm13, ymm13, ymm10
vaddpd ymm14, ymm14, ymm9
vsubpd ymm12, ymm12, ymm13
vaddpd ymm8, ymm14, ymm6
vsubpd ymm6, ymm6, ymm14
vaddpd ymm9, ymm12, ymm7
vsubpd ymm7, ymm7, ymm12
vmovapd ymm12, ymmword [r13 + r10*2]
vmovapd ymm11, ymmword [rbx + 0x80]
vmulpd ymm10, ymm11, ymm12
vmovapd ymm14, ymmword [r13 + r10*2 + 0x20]
vmulpd ymm11, ymm11, ymm14
vmovapd ymm15, ymmword [rbx + 0xa0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm12
vaddpd ymm10, ymm10, ymm14
vsubpd ymm11, ymm11, ymm15
vmovapd ymm12, ymmword [r13 + rax]
vmovapd ymm13, ymmword [rbx + 0x180]
vmulpd ymm12, ymm12, ymm13
vmovapd ymm14, ymmword [r13 + rax + 0x20]
vmulpd ymm13, ymm13, ymm14
vmovapd ymm15, ymmword [rbx + 0x1a0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymmword [r13 + rax]
vaddpd ymm12, ymm12, ymm14
vsubpd ymm13, ymm13, ymm15
add rbx, 0x1c0
vmovapd ymm14, ymmword [r12]
vsubpd ymm15, ymm14, ymm4
vaddpd ymm14, ymm4, ymm14
vsubpd ymm4, ymm14, ymm2
vaddpd ymm2, ymm2, ymm14
vsubpd ymm14, ymm10, ymm12
vaddpd ymm12, ymm12, ymm10
vsubpd ymm10, ymm11, ymm13
vaddpd ymm13, ymm13, ymm11
vsubpd ymm11, ymm8, ymm12
vaddpd ymm12, ymm12, ymm8
vaddpd ymm8, ymm15, ymm1
vsubpd ymm15, ymm15, ymm1
vsubpd ymm1, ymm9, ymm13
vaddpd ymm13, ymm13, ymm9
vsubpd ymm9, ymm2, ymm12
vaddpd ymm2, ymm2, ymm12
vextractf128 xmmword [r14], ymm2, 0
vextractf128 xmmword [r14 + 0x10], ymm2, 1
vmovapd ymm2, ymmword [r12 + 0x20]
vsubpd ymm12, ymm2, ymm5
vaddpd ymm5, ymm5, ymm2
vaddpd ymm2, ymm6, ymm10
vsubpd ymm6, ymm6, ymm10
vmulpd ymm6, ymm6, ymmword [0x140686d00]
vmulpd ymm2, ymm2, ymmword [0x140686d20]
vaddpd ymm10, ymm7, ymm14
vmulpd ymm10, ymm10, ymmword [0x140686d00]
vsubpd ymm7, ymm7, ymm14
vmulpd ymm7, ymm7, ymmword [0x140686d20]
vsubpd ymm14, ymm5, ymm3
vaddpd ymm3, ymm3, ymm5
vsubpd ymm5, ymm12, ymm0
vaddpd ymm12, ymm12, ymm0
vsubpd ymm0, ymm3, ymm13
vaddpd ymm3, ymm3, ymm13
vextractf128 xmmword [r14 + 0x20], ymm3, 0
vextractf128 xmmword [r14 + 0x30], ymm3, 1
vextractf128 xmmword [r15], ymm9, 0
vextractf128 xmmword [r15 + 0x10], ymm9, 1
vextractf128 xmmword [r15 + 0x20], ymm0, 0
vextractf128 xmmword [r15 + 0x30], ymm0, 1
vaddpd ymm0, ymm10, ymm6
vsubpd ymm6, ymm6, ymm10
vsubpd ymm9, ymm7, ymm2
vaddpd ymm2, ymm2, ymm7
vsubpd ymm3, ymm4, ymm1
vextractf128 xmmword [r14 + r10*2], ymm3, 0
vextractf128 xmmword [r14 + r10*2 + 0x10], ymm3, 1
vaddpd ymm13, ymm14, ymm11
vextractf128 xmmword [r14 + r10*2 + 0x20], ymm13, 0
vextractf128 xmmword [r14 + r10*2 + 0x30], ymm13, 1
vaddpd ymm3, ymm4, ymm1
vextractf128 xmmword [r15 + r10*2], ymm3, 0
vextractf128 xmmword [r15 + r10*2 + 0x10], ymm3, 1
vsubpd ymm13, ymm14, ymm11
vextractf128 xmmword [r15 + r10*2 + 0x20], ymm13, 0
vextractf128 xmmword [r15 + r10*2 + 0x30], ymm13, 1
vaddpd ymm3, ymm15, ymm6
vextractf128 xmmword [r14 + r10], ymm3, 0
vextractf128 xmmword [r14 + r10 + 0x10], ymm3, 1
vaddpd ymm13, ymm12, ymm0
vextractf128 xmmword [r14 + r10 + 0x20], ymm13, 0
vextractf128 xmmword [r14 + r10 + 0x30], ymm13, 1
vsubpd ymm3, ymm15, ymm6
vextractf128 xmmword [r15 + r10], ymm3, 0
vextractf128 xmmword [r15 + r10 + 0x10], ymm3, 1
vsubpd ymm13, ymm12, ymm0
vextractf128 xmmword [r15 + r10 + 0x20], ymm13, 0
vextractf128 xmmword [r15 + r10 + 0x30], ymm13, 1
vaddpd ymm3, ymm8, ymm2
vextractf128 xmmword [r14 + rax], ymm3, 0
vextractf128 xmmword [r14 + rax + 0x10], ymm3, 1
vaddpd ymm13, ymm5, ymm9
vextractf128 xmmword [r14 + rax + 0x20], ymm13, 0
vextractf128 xmmword [r14 + rax + 0x30], ymm13, 1
vsubpd ymm3, ymm8, ymm2
vextractf128 xmmword [r15 + rax], ymm3, 0
vextractf128 xmmword [r15 + rax + 0x10], ymm3, 1
vsubpd ymm13, ymm5, ymm9
vextractf128 xmmword [r15 + rax + 0x20], ymm13, 0
vextractf128 xmmword [r15 + rax + 0x30], ymm13, 1
add r12, 0x40
add r13, 0x40
add r14, 0x40
add r15, 0x40
cmp r12, r9
jne 0x14017f6e8
lea r12, [r13 + rax]
lea r13, [r12 + r10*4]
lea r14, [r15 + rax]
lea r15, [r14 + r10*4]
dec r11
jg 0x14017f6de
mov rdx, rbx
mov r10, qword [rsp + 0x20]
shl r10, 3
mov r11, qword [rsp + 0x28]
jmp 0x14017f33a
shr r11, 2
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], r11
mov r12, rcx
mov r13, rcx
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
shl r10, 4
lea rax, [r10 + r10*2]
test r13, 0x1f
jne 0x14017fc50
mov rbx, rdx
mov r12, qword [rsp + 0x20]
vmovapd ymm8, ymmword [r13 + r10*2]
vmovapd ymm1, ymmword [rbx]
vmulpd ymm0, ymm1, ymm8
vmovapd ymm6, ymmword [r13 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm6
vmovapd ymm7, ymmword [rbx + 0x20]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm0, ymm0, ymm6
vsubpd ymm1, ymm1, ymm7
vmovapd ymm8, ymmword [r13 + rax]
vmovapd ymm5, ymmword [rbx + 0x80]
vmulpd ymm9, ymm5, ymm8
vmovapd ymm6, ymmword [r13 + rax + 0x20]
vmulpd ymm10, ymm5, ymm6
vmovapd ymm7, ymmword [rbx + 0xa0]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm9, ymm9, ymm6
vsubpd ymm10, ymm10, ymm7
vmovapd ymm8, ymmword [r13 + r10]
vmovapd ymm3, ymmword [rbx + 0x40]
vmulpd ymm2, ymm3, ymm8
vmovapd ymm6, ymmword [r13 + r10 + 0x20]
vmulpd ymm3, ymm3, ymm6
vmovapd ymm7, ymmword [rbx + 0x60]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm2, ymm2, ymm6
vsubpd ymm3, ymm3, ymm7
add rbx, 0xc0
vaddpd ymm4, ymm9, ymm0
vsubpd ymm0, ymm0, ymm9
vaddpd ymm5, ymm10, ymm1
vsubpd ymm1, ymm1, ymm10
vmovapd ymm7, ymmword [r13]
vsubpd ymm6, ymm7, ymm2
vaddpd ymm2, ymm7, ymm2
vaddpd ymm7, ymm2, ymm4
vmovapd ymmword [r13], ymm7
vsubpd ymm2, ymm2, ymm4
vmovapd ymmword [r13 + r10*2], ymm2
vmovapd ymm7, ymmword [r13 + 0x20]
vsubpd ymm4, ymm7, ymm3
vaddpd ymm3, ymm7, ymm3
vaddpd ymm7, ymm3, ymm5
vmovapd ymmword [r13 + 0x20], ymm7
vsubpd ymm3, ymm3, ymm5
vmovapd ymmword [r13 + r10*2 + 0x20], ymm3
vsubpd ymm7, ymm6, ymm1
vmovapd ymmword [r13 + r10], ymm7
vaddpd ymm6, ymm6, ymm1
vmovapd ymmword [r13 + rax], ymm6
vaddpd ymm7, ymm4, ymm0
vmovapd ymmword [r13 + r10 + 0x20], ymm7
vsubpd ymm4, ymm4, ymm0
vmovapd ymmword [r13 + rax + 0x20], ymm4
add r13, 0x40
sub r12, 4
jg 0x14017fb08
add r13, rax
dec r11
jg 0x14017fb00
mov rdx, rbx
jmp 0x14017fde7
lea rbx, [r12 + r10]
mov r9, rbx
mov rbx, rdx
vmovapd ymm8, ymmword [r12 + r10*2]
vmovapd ymm1, ymmword [rbx]
vmulpd ymm0, ymm1, ymm8
vmovapd ymm6, ymmword [r12 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm6
vmovapd ymm7, ymmword [rbx + 0x20]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm0, ymm0, ymm6
vsubpd ymm1, ymm1, ymm7
vmovapd ymm8, ymmword [r12 + rax]
vmovapd ymm5, ymmword [rbx + 0x80]
vmulpd ymm9, ymm5, ymm8
vmovapd ymm6, ymmword [r12 + rax + 0x20]
vmulpd ymm10, ymm5, ymm6
vmovapd ymm7, ymmword [rbx + 0xa0]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm9, ymm9, ymm6
vsubpd ymm10, ymm10, ymm7
vmovapd ymm8, ymmword [r12 + r10]
vmovapd ymm3, ymmword [rbx + 0x40]
vmulpd ymm2, ymm3, ymm8
vmovapd ymm6, ymmword [r12 + r10 + 0x20]
vmulpd ymm3, ymm3, ymm6
vmovapd ymm7, ymmword [rbx + 0x60]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm2, ymm2, ymm6
vsubpd ymm3, ymm3, ymm7
add rbx, 0xc0
vaddpd ymm4, ymm9, ymm0
vsubpd ymm0, ymm0, ymm9
vaddpd ymm5, ymm10, ymm1
vsubpd ymm1, ymm1, ymm10
vmovapd ymm7, ymmword [r12]
vsubpd ymm6, ymm7, ymm2
vaddpd ymm2, ymm7, ymm2
vaddpd ymm7, ymm2, ymm4
vextractf128 xmmword [r13], ymm7, 0
vextractf128 xmmword [r13 + 0x10], ymm7, 1
vsubpd ymm2, ymm2, ymm4
vextractf128 xmmword [r13 + r10*2], ymm2, 0
vextractf128 xmmword [r13 + r10*2 + 0x10], ymm2, 1
vmovapd ymm7, ymmword [r12 + 0x20]
vsubpd ymm4, ymm7, ymm3
vaddpd ymm3, ymm7, ymm3
vaddpd ymm7, ymm3, ymm5
vextractf128 xmmword [r13 + 0x20], ymm7, 0
vextractf128 xmmword [r13 + 0x30], ymm7, 1
vsubpd ymm3, ymm3, ymm5
vextractf128 xmmword [r13 + r10*2 + 0x20], ymm3, 0
vextractf128 xmmword [r13 + r10*2 + 0x30], ymm3, 1
vsubpd ymm7, ymm6, ymm1
vextractf128 xmmword [r13 + r10], ymm7, 0
vextractf128 xmmword [r13 + r10 + 0x10], ymm7, 1
vaddpd ymm6, ymm6, ymm1
vextractf128 xmmword [r13 + rax], ymm6, 0
vextractf128 xmmword [r13 + rax + 0x10], ymm6, 1
vaddpd ymm7, ymm4, ymm0
vextractf128 xmmword [r13 + r10 + 0x20], ymm7, 0
vextractf128 xmmword [r13 + r10 + 0x30], ymm7, 1
vsubpd ymm4, ymm4, ymm0
vextractf128 xmmword [r13 + rax + 0x20], ymm4, 0
vextractf128 xmmword [r13 + rax + 0x30], ymm4, 1
add r12, 0x40
add r13, 0x40
cmp r12, r9
jne 0x14017fc5a
add r12, rax
add r13, rax
dec r11
jg 0x14017fc50
mov rdx, rbx
mov r10, qword [rsp + 0x20]
shl r10, 2
jmp 0x14018062e
mov qword [rsp + 0x20], r10
cmp r8, 1
je 0x1401801f3
mov r12, rcx
mov r14, rdi
mov r10, qword [rsp + 0x20]
shl r10, 4
lea rax, [r10 + r10*2]
lea r13, [r12 + r10*4]
lea r15, [r14 + r10*4]
lea rbx, [r12 + r10]
mov r9, rbx
mov rbx, rdx
vmovapd ymm2, ymmword [r12 + r10*2]
vmovapd ymm1, ymmword [rbx + 0x40]
vmulpd ymm0, ymm1, ymm2
vmovapd ymm8, ymmword [r12 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm8
vmovapd ymm9, ymmword [rbx + 0x60]
vmulpd ymm8, ymm8, ymm9
vmulpd ymm9, ymm9, ymm2
vaddpd ymm0, ymm0, ymm8
vsubpd ymm1, ymm1, ymm9
vmovapd ymm4, ymmword [r12 + rax]
vmovapd ymm3, ymmword [rbx + 0x140]
vmulpd ymm14, ymm3, ymm4
vmovapd ymm10, ymmword [r12 + rax + 0x20]
vmulpd ymm6, ymm3, ymm10
vmovapd ymm11, ymmword [rbx + 0x160]
vmulpd ymm10, ymm10, ymm11
vmulpd ymm11, ymm11, ymm4
vaddpd ymm14, ymm14, ymm10
vsubpd ymm6, ymm6, ymm11
vaddpd ymm2, ymm14, ymm0
vsubpd ymm0, ymm0, ymm14
vaddpd ymm3, ymm6, ymm1
vsubpd ymm1, ymm1, ymm6
vmovapd ymm6, ymmword [r12 + r10]
vmovapd ymm5, ymmword [rbx + 0xc0]
vmulpd ymm4, ymm5, ymm6
vmovapd ymm12, ymmword [r12 + r10 + 0x20]
vmulpd ymm5, ymm5, ymm12
vmovapd ymm13, ymmword [rbx + 0xe0]
vmulpd ymm12, ymm12, ymm13
vmulpd ymm13, ymm13, ymm6
vaddpd ymm4, ymm4, ymm12
vsubpd ymm5, ymm5, ymm13
vmovapd ymm8, ymmword [r13]
vmovapd ymm7, ymmword [rbx]
vmulpd ymm6, ymm7, ymm8
vmovapd ymm14, ymmword [r13 + 0x20]
vmulpd ymm7, ymm7, ymm14
vmovapd ymm15, ymmword [rbx + 0x20]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm8
vaddpd ymm6, ymm6, ymm14
vsubpd ymm7, ymm7, ymm15
vmovapd ymm10, ymmword [r13 + r10]
vmovapd ymm12, ymmword [rbx + 0x100]
vmulpd ymm14, ymm12, ymm10
vmovapd ymm9, ymmword [r13 + r10 + 0x20]
vmulpd ymm12, ymm12, ymm9
vmovapd ymm13, ymmword [rbx + 0x120]
vmulpd ymm9, ymm9, ymm13
vmulpd ymm13, ymm13, ymm10
vaddpd ymm14, ymm14, ymm9
vsubpd ymm12, ymm12, ymm13
vaddpd ymm8, ymm14, ymm6
vsubpd ymm6, ymm6, ymm14
vaddpd ymm9, ymm12, ymm7
vsubpd ymm7, ymm7, ymm12
vmovapd ymm12, ymmword [r13 + r10*2]
vmovapd ymm11, ymmword [rbx + 0x80]
vmulpd ymm10, ymm11, ymm12
vmovapd ymm14, ymmword [r13 + r10*2 + 0x20]
vmulpd ymm11, ymm11, ymm14
vmovapd ymm15, ymmword [rbx + 0xa0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm12
vaddpd ymm10, ymm10, ymm14
vsubpd ymm11, ymm11, ymm15
vmovapd ymm12, ymmword [r13 + rax]
vmovapd ymm13, ymmword [rbx + 0x180]
vmulpd ymm12, ymm12, ymm13
vmovapd ymm14, ymmword [r13 + rax + 0x20]
vmulpd ymm13, ymm13, ymm14
vmovapd ymm15, ymmword [rbx + 0x1a0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymmword [r13 + rax]
vaddpd ymm12, ymm12, ymm14
vsubpd ymm13, ymm13, ymm15
add rbx, 0x1c0
vmovapd ymm14, ymmword [r12]
vsubpd ymm15, ymm14, ymm4
vaddpd ymm14, ymm4, ymm14
vsubpd ymm4, ymm14, ymm2
vaddpd ymm2, ymm2, ymm14
vsubpd ymm14, ymm10, ymm12
vaddpd ymm12, ymm12, ymm10
vsubpd ymm10, ymm11, ymm13
vaddpd ymm13, ymm13, ymm11
vsubpd ymm11, ymm8, ymm12
vaddpd ymm12, ymm12, ymm8
vaddpd ymm8, ymm15, ymm1
vmovapd ymmword [r13], ymm8
vsubpd ymm15, ymm15, ymm1
vsubpd ymm1, ymm9, ymm13
vaddpd ymm13, ymm13, ymm9
vsubpd ymm9, ymm2, ymm12
vaddpd ymm2, ymm2, ymm12
vmovapd ymm8, ymmword [r12 + 0x20]
vsubpd ymm12, ymm8, ymm5
vaddpd ymm5, ymm5, ymm8
vaddpd ymm8, ymm6, ymm10
vsubpd ymm6, ymm6, ymm10
vmulpd ymm6, ymm6, ymmword [0x140686d00]
vmulpd ymm8, ymm8, ymmword [0x140686d20]
vaddpd ymm10, ymm7, ymm14
vmulpd ymm10, ymm10, ymmword [0x140686d00]
vsubpd ymm7, ymm7, ymm14
vmulpd ymm7, ymm7, ymmword [0x140686d20]
vsubpd ymm14, ymm5, ymm3
vaddpd ymm3, ymm3, ymm5
vsubpd ymm5, ymm12, ymm0
vaddpd ymm12, ymm12, ymm0
vsubpd ymm0, ymm3, ymm13
vaddpd ymm3, ymm3, ymm13
vextractf128 xmmword [r14], ymm2, 0
vextractf128 xmmword [r14 + 0x10], ymm3, 0
vextractf128 xmmword [r14 + 0x20], ymm2, 1
vextractf128 xmmword [r14 + 0x30], ymm3, 1
vmovapd ymm2, ymmword [r13]
vextractf128 xmmword [r15], ymm9, 0
vextractf128 xmmword [r15 + 0x10], ymm0, 0
vextractf128 xmmword [r15 + 0x20], ymm9, 1
vextractf128 xmmword [r15 + 0x30], ymm0, 1
vaddpd ymm0, ymm10, ymm6
vsubpd ymm6, ymm6, ymm10
vsubpd ymm9, ymm7, ymm8
vaddpd ymm8, ymm8, ymm7
vsubpd ymm3, ymm4, ymm1
vaddpd ymm13, ymm14, ymm11
vextractf128 xmmword [r14 + r10*2], ymm3, 0
vextractf128 xmmword [r14 + r10*2 + 0x10], ymm13, 0
vextractf128 xmmword [r14 + r10*2 + 0x20], ymm3, 1
vextractf128 xmmword [r14 + r10*2 + 0x30], ymm13, 1
vaddpd ymm3, ymm4, ymm1
vsubpd ymm13, ymm14, ymm11
vextractf128 xmmword [r15 + r10*2], ymm3, 0
vextractf128 xmmword [r15 + r10*2 + 0x10], ymm13, 0
vextractf128 xmmword [r15 + r10*2 + 0x20], ymm3, 1
vextractf128 xmmword [r15 + r10*2 + 0x30], ymm13, 1
vaddpd ymm3, ymm15, ymm6
vaddpd ymm13, ymm12, ymm0
vextractf128 xmmword [r14 + r10], ymm3, 0
vextractf128 xmmword [r14 + r10 + 0x10], ymm13, 0
vextractf128 xmmword [r14 + r10 + 0x20], ymm3, 1
vextractf128 xmmword [r14 + r10 + 0x30], ymm13, 1
vsubpd ymm3, ymm15, ymm6
vsubpd ymm13, ymm12, ymm0
vextractf128 xmmword [r15 + r10], ymm3, 0
vextractf128 xmmword [r15 + r10 + 0x10], ymm13, 0
vextractf128 xmmword [r15 + r10 + 0x20], ymm3, 1
vextractf128 xmmword [r15 + r10 + 0x30], ymm13, 1
vaddpd ymm3, ymm2, ymm8
vaddpd ymm13, ymm5, ymm9
vextractf128 xmmword [r14 + rax], ymm3, 0
vextractf128 xmmword [r14 + rax + 0x10], ymm13, 0
vextractf128 xmmword [r14 + rax + 0x20], ymm3, 1
vextractf128 xmmword [r14 + rax + 0x30], ymm13, 1
vsubpd ymm3, ymm2, ymm8
vsubpd ymm13, ymm5, ymm9
vextractf128 xmmword [r15 + rax], ymm3, 0
vextractf128 xmmword [r15 + rax + 0x10], ymm13, 0
vextractf128 xmmword [r15 + rax + 0x20], ymm3, 1
vextractf128 xmmword [r15 + rax + 0x30], ymm13, 1
add r12, 0x40
add r13, 0x40
add r14, 0x40
add r15, 0x40
cmp r12, r9
jne 0x14017fe29
jmp 0x14018098c
mov r12, rcx
mov r14, rdi
mov r10, qword [rsp + 0x20]
shl r10, 4
lea rax, [r10 + r10*2]
lea r13, [r12 + r10*4]
lea r15, [r14 + r10*4]
lea rbx, [r12 + r10]
mov r9, rbx
mov rbx, rdx
vmovapd ymm2, ymmword [r12 + r10*2]
vmovapd ymm1, ymmword [rbx + 0x40]
vmulpd ymm0, ymm1, ymm2
vmovapd ymm8, ymmword [r12 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm8
vmovapd ymm9, ymmword [rbx + 0x60]
vmulpd ymm8, ymm8, ymm9
vmulpd ymm9, ymm9, ymm2
vaddpd ymm0, ymm0, ymm8
vsubpd ymm1, ymm1, ymm9
vmovapd ymm4, ymmword [r12 + rax]
vmovapd ymm3, ymmword [rbx + 0x140]
vmulpd ymm14, ymm3, ymm4
vmovapd ymm10, ymmword [r12 + rax + 0x20]
vmulpd ymm6, ymm3, ymm10
vmovapd ymm11, ymmword [rbx + 0x160]
vmulpd ymm10, ymm10, ymm11
vmulpd ymm11, ymm11, ymm4
vaddpd ymm14, ymm14, ymm10
vsubpd ymm6, ymm6, ymm11
vaddpd ymm2, ymm14, ymm0
vsubpd ymm0, ymm0, ymm14
vaddpd ymm3, ymm6, ymm1
vsubpd ymm1, ymm1, ymm6
vmovapd ymm6, ymmword [r12 + r10]
vmovapd ymm5, ymmword [rbx + 0xc0]
vmulpd ymm4, ymm5, ymm6
vmovapd ymm12, ymmword [r12 + r10 + 0x20]
vmulpd ymm5, ymm5, ymm12
vmovapd ymm13, ymmword [rbx + 0xe0]
vmulpd ymm12, ymm12, ymm13
vmulpd ymm13, ymm13, ymm6
vaddpd ymm4, ymm4, ymm12
vsubpd ymm5, ymm5, ymm13
vmovapd ymm8, ymmword [r13]
vmovapd ymm7, ymmword [rbx]
vmulpd ymm6, ymm7, ymm8
vmovapd ymm14, ymmword [r13 + 0x20]
vmulpd ymm7, ymm7, ymm14
vmovapd ymm15, ymmword [rbx + 0x20]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm8
vaddpd ymm6, ymm6, ymm14
vsubpd ymm7, ymm7, ymm15
vmovapd ymm10, ymmword [r13 + r10]
vmovapd ymm12, ymmword [rbx + 0x100]
vmulpd ymm14, ymm12, ymm10
vmovapd ymm9, ymmword [r13 + r10 + 0x20]
vmulpd ymm12, ymm12, ymm9
vmovapd ymm13, ymmword [rbx + 0x120]
vmulpd ymm9, ymm9, ymm13
vmulpd ymm13, ymm13, ymm10
vaddpd ymm14, ymm14, ymm9
vsubpd ymm12, ymm12, ymm13
vaddpd ymm8, ymm14, ymm6
vsubpd ymm6, ymm6, ymm14
vaddpd ymm9, ymm12, ymm7
vsubpd ymm7, ymm7, ymm12
vmovapd ymm12, ymmword [r13 + r10*2]
vmovapd ymm11, ymmword [rbx + 0x80]
vmulpd ymm10, ymm11, ymm12
vmovapd ymm14, ymmword [r13 + r10*2 + 0x20]
vmulpd ymm11, ymm11, ymm14
vmovapd ymm15, ymmword [rbx + 0xa0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymm12
vaddpd ymm10, ymm10, ymm14
vsubpd ymm11, ymm11, ymm15
vmovapd ymm12, ymmword [r13 + rax]
vmovapd ymm13, ymmword [rbx + 0x180]
vmulpd ymm12, ymm12, ymm13
vmovapd ymm14, ymmword [r13 + rax + 0x20]
vmulpd ymm13, ymm13, ymm14
vmovapd ymm15, ymmword [rbx + 0x1a0]
vmulpd ymm14, ymm14, ymm15
vmulpd ymm15, ymm15, ymmword [r13 + rax]
vaddpd ymm12, ymm12, ymm14
vsubpd ymm13, ymm13, ymm15
add rbx, 0x1c0
vmovapd ymm14, ymmword [r12]
vsubpd ymm15, ymm14, ymm4
vaddpd ymm14, ymm4, ymm14
vsubpd ymm4, ymm14, ymm2
vaddpd ymm2, ymm2, ymm14
vsubpd ymm14, ymm10, ymm12
vaddpd ymm12, ymm12, ymm10
vsubpd ymm10, ymm11, ymm13
vaddpd ymm13, ymm13, ymm11
vsubpd ymm11, ymm8, ymm12
vaddpd ymm12, ymm12, ymm8
vaddpd ymm8, ymm15, ymm1
vmovapd ymmword [r12], ymm8
vsubpd ymm15, ymm15, ymm1
vsubpd ymm1, ymm9, ymm13
vaddpd ymm13, ymm13, ymm9
vsubpd ymm9, ymm2, ymm12
vaddpd ymm2, ymm2, ymm12
vmovapd ymm8, ymmword [r12 + 0x20]
vsubpd ymm12, ymm8, ymm5
vaddpd ymm5, ymm5, ymm8
vaddpd ymm8, ymm6, ymm10
vsubpd ymm6, ymm6, ymm10
vmulpd ymm6, ymm6, ymmword [0x140686d00]
vmulpd ymm8, ymm8, ymmword [0x140686d20]
vaddpd ymm10, ymm7, ymm14
vmulpd ymm10, ymm10, ymmword [0x140686d00]
vsubpd ymm7, ymm7, ymm14
vmulpd ymm7, ymm7, ymmword [0x140686d20]
vsubpd ymm14, ymm5, ymm3
vaddpd ymm3, ymm3, ymm5
vsubpd ymm5, ymm12, ymm0
vaddpd ymm12, ymm12, ymm0
vsubpd ymm0, ymm3, ymm13
vaddpd ymm3, ymm3, ymm13
vunpcklpd ymm13, ymm2, ymm3
vunpckhpd ymm3, ymm2, ymm3
vmovapd ymm2, ymmword [r12]
vextractf128 xmmword [r14], ymm13, 0
vextractf128 xmmword [r14 + 0x10], ymm3, 0
vextractf128 xmmword [r14 + 0x20], ymm13, 1
vextractf128 xmmword [r14 + 0x30], ymm3, 1
vunpcklpd ymm13, ymm9, ymm0
vunpckhpd ymm9, ymm9, ymm0
vextractf128 xmmword [r15], ymm13, 0
vextractf128 xmmword [r15 + 0x10], ymm9, 0
vextractf128 xmmword [r15 + 0x20], ymm13, 1
vextractf128 xmmword [r15 + 0x30], ymm9, 1
vaddpd ymm0, ymm10, ymm6
vsubpd ymm6, ymm6, ymm10
vsubpd ymm9, ymm7, ymm8
vaddpd ymm8, ymm8, ymm7
vsubpd ymm3, ymm4, ymm1
vaddpd ymm13, ymm14, ymm11
vunpcklpd ymm7, ymm3, ymm13
vunpckhpd ymm3, ymm3, ymm13
vextractf128 xmmword [r14 + r10*2], ymm7, 0
vextractf128 xmmword [r14 + r10*2 + 0x10], ymm3, 0
vextractf128 xmmword [r14 + r10*2 + 0x20], ymm7, 1
vextractf128 xmmword [r14 + r10*2 + 0x30], ymm3, 1
vaddpd ymm3, ymm4, ymm1
vsubpd ymm13, ymm14, ymm11
vunpcklpd ymm7, ymm3, ymm13
vunpckhpd ymm3, ymm3, ymm13
vextractf128 xmmword [r15 + r10*2], ymm7, 0
vextractf128 xmmword [r15 + r10*2 + 0x10], ymm3, 0
vextractf128 xmmword [r15 + r10*2 + 0x20], ymm7, 1
vextractf128 xmmword [r15 + r10*2 + 0x30], ymm3, 1
vaddpd ymm3, ymm15, ymm6
vaddpd ymm13, ymm12, ymm0
vunpcklpd ymm7, ymm3, ymm13
vunpckhpd ymm3, ymm3, ymm13
vextractf128 xmmword [r14 + r10], ymm7, 0
vextractf128 xmmword [r14 + r10 + 0x10], ymm3, 0
vextractf128 xmmword [r14 + r10 + 0x20], ymm7, 1
vextractf128 xmmword [r14 + r10 + 0x30], ymm3, 1
vsubpd ymm3, ymm15, ymm6
vsubpd ymm13, ymm12, ymm0
vunpcklpd ymm7, ymm3, ymm13
vunpckhpd ymm3, ymm3, ymm13
vextractf128 xmmword [r15 + r10], ymm7, 0
vextractf128 xmmword [r15 + r10 + 0x10], ymm3, 0
vextractf128 xmmword [r15 + r10 + 0x20], ymm7, 1
vextractf128 xmmword [r15 + r10 + 0x30], ymm3, 1
vaddpd ymm3, ymm2, ymm8
vaddpd ymm13, ymm5, ymm9
vunpcklpd ymm7, ymm3, ymm13
vunpckhpd ymm3, ymm3, ymm13
vextractf128 xmmword [r14 + rax], ymm7, 0
vextractf128 xmmword [r14 + rax + 0x10], ymm3, 0
vextractf128 xmmword [r14 + rax + 0x20], ymm7, 1
vextractf128 xmmword [r14 + rax + 0x30], ymm3, 1
vsubpd ymm3, ymm2, ymm8
vsubpd ymm13, ymm5, ymm9
vunpcklpd ymm7, ymm3, ymm13
vunpckhpd ymm3, ymm3, ymm13
vextractf128 xmmword [r15 + rax], ymm7, 0
vextractf128 xmmword [r15 + rax + 0x10], ymm3, 0
vextractf128 xmmword [r15 + rax + 0x20], ymm7, 1
vextractf128 xmmword [r15 + rax + 0x30], ymm3, 1
add r12, 0x40
add r13, 0x40
add r14, 0x40
add r15, 0x40
cmp r12, r9
jne 0x140180218
jmp 0x14018098c
mov qword [rsp + 0x20], r10
cmp r8, 1
je 0x1401807d7
mov r12, rcx
mov r13, rdi
mov r10, qword [rsp + 0x20]
mov r11, r10
shl r10, 4
lea rax, [r10 + r10*2]
mov rbx, rdx
vmovapd ymm8, ymmword [r12 + r10*2]
vmovapd ymm1, ymmword [rbx]
vmulpd ymm0, ymm1, ymm8
vmovapd ymm6, ymmword [r12 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm6
vmovapd ymm7, ymmword [rbx + 0x20]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm0, ymm0, ymm6
vsubpd ymm1, ymm1, ymm7
vmovapd ymm8, ymmword [r12 + rax]
vmovapd ymm5, ymmword [rbx + 0x80]
vmulpd ymm9, ymm5, ymm8
vmovapd ymm6, ymmword [r12 + rax + 0x20]
vmulpd ymm10, ymm5, ymm6
vmovapd ymm7, ymmword [rbx + 0xa0]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm9, ymm9, ymm6
vsubpd ymm10, ymm10, ymm7
vmovapd ymm8, ymmword [r12 + r10]
vmovapd ymm3, ymmword [rbx + 0x40]
vmulpd ymm2, ymm3, ymm8
vmovapd ymm6, ymmword [r12 + r10 + 0x20]
vmulpd ymm3, ymm3, ymm6
vmovapd ymm7, ymmword [rbx + 0x60]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm2, ymm2, ymm6
vsubpd ymm3, ymm3, ymm7
add rbx, 0xc0
vaddpd ymm4, ymm9, ymm0
vsubpd ymm0, ymm0, ymm9
vaddpd ymm5, ymm10, ymm1
vsubpd ymm1, ymm1, ymm10
vmovapd ymm7, ymmword [r12]
vsubpd ymm6, ymm7, ymm2
vaddpd ymm2, ymm7, ymm2
vaddpd ymm8, ymm2, ymm4
vsubpd ymm2, ymm2, ymm4
vmovapd ymm7, ymmword [r12 + 0x20]
vsubpd ymm4, ymm7, ymm3
vaddpd ymm3, ymm7, ymm3
vaddpd ymm7, ymm3, ymm5
vsubpd ymm3, ymm3, ymm5
vsubpd ymm5, ymm6, ymm1
vaddpd ymm6, ymm6, ymm1
vaddpd ymm1, ymm4, ymm0
vsubpd ymm4, ymm4, ymm0
vextractf128 xmmword [r13], ymm8, 0
vextractf128 xmmword [r13 + 0x20], ymm8, 1
vextractf128 xmmword [r13 + 0x10], ymm7, 0
vextractf128 xmmword [r13 + 0x30], ymm7, 1
vextractf128 xmmword [r13 + r10], ymm5, 0
vextractf128 xmmword [r13 + r10 + 0x20], ymm5, 1
vextractf128 xmmword [r13 + r10 + 0x10], ymm1, 0
vextractf128 xmmword [r13 + r10 + 0x30], ymm1, 1
vextractf128 xmmword [r13 + r10*2], ymm2, 0
vextractf128 xmmword [r13 + r10*2 + 0x20], ymm2, 1
vextractf128 xmmword [r13 + r10*2 + 0x10], ymm3, 0
vextractf128 xmmword [r13 + r10*2 + 0x30], ymm3, 1
vextractf128 xmmword [r13 + rax], ymm6, 0
vextractf128 xmmword [r13 + rax + 0x20], ymm6, 1
vextractf128 xmmword [r13 + rax + 0x10], ymm4, 0
vextractf128 xmmword [r13 + rax + 0x30], ymm4, 1
add r12, 0x40
add r13, 0x40
sub r11, 4
jg 0x140180656
jmp 0x14018098c
mov r12, rcx
mov r13, rdi
mov r10, qword [rsp + 0x20]
mov r11, r10
shl r10, 4
lea rax, [r10 + r10*2]
mov rbx, rdx
vmovapd ymm8, ymmword [r12 + r10*2]
vmovapd ymm1, ymmword [rbx]
vmulpd ymm0, ymm1, ymm8
vmovapd ymm6, ymmword [r12 + r10*2 + 0x20]
vmulpd ymm1, ymm1, ymm6
vmovapd ymm7, ymmword [rbx + 0x20]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm0, ymm0, ymm6
vsubpd ymm1, ymm1, ymm7
vmovapd ymm8, ymmword [r12 + rax]
vmovapd ymm5, ymmword [rbx + 0x80]
vmulpd ymm9, ymm5, ymm8
vmovapd ymm6, ymmword [r12 + rax + 0x20]
vmulpd ymm10, ymm5, ymm6
vmovapd ymm7, ymmword [rbx + 0xa0]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm9, ymm9, ymm6
vsubpd ymm10, ymm10, ymm7
vmovapd ymm8, ymmword [r12 + r10]
vmovapd ymm3, ymmword [rbx + 0x40]
vmulpd ymm2, ymm3, ymm8
vmovapd ymm6, ymmword [r12 + r10 + 0x20]
vmulpd ymm3, ymm3, ymm6
vmovapd ymm7, ymmword [rbx + 0x60]
vmulpd ymm6, ymm6, ymm7
vmulpd ymm7, ymm7, ymm8
vaddpd ymm2, ymm2, ymm6
vsubpd ymm3, ymm3, ymm7
add rbx, 0xc0
vaddpd ymm4, ymm9, ymm0
vsubpd ymm0, ymm0, ymm9
vaddpd ymm5, ymm10, ymm1
vsubpd ymm1, ymm1, ymm10
vmovapd ymm7, ymmword [r12]
vsubpd ymm6, ymm7, ymm2
vaddpd ymm2, ymm7, ymm2
vaddpd ymm8, ymm2, ymm4
vsubpd ymm2, ymm2, ymm4
vmovapd ymm7, ymmword [r12 + 0x20]
vsubpd ymm4, ymm7, ymm3
vaddpd ymm3, ymm7, ymm3
vaddpd ymm7, ymm3, ymm5
vsubpd ymm3, ymm3, ymm5
vsubpd ymm5, ymm6, ymm1
vaddpd ymm6, ymm6, ymm1
vaddpd ymm1, ymm4, ymm0
vsubpd ymm4, ymm4, ymm0
vunpcklpd ymm0, ymm8, ymm7
vunpckhpd ymm8, ymm8, ymm7
vextractf128 xmmword [r13], ymm0, 0
vextractf128 xmmword [r13 + 0x10], ymm8, 0
vextractf128 xmmword [r13 + 0x20], ymm0, 1
vextractf128 xmmword [r13 + 0x30], ymm8, 1
vunpcklpd ymm0, ymm5, ymm1
vunpckhpd ymm5, ymm5, ymm1
vextractf128 xmmword [r13 + r10], ymm0, 0
vextractf128 xmmword [r13 + r10 + 0x10], ymm5, 0
vextractf128 xmmword [r13 + r10 + 0x20], ymm0, 1
vextractf128 xmmword [r13 + r10 + 0x30], ymm5, 1
vunpcklpd ymm0, ymm2, ymm3
vunpckhpd ymm2, ymm2, ymm3
vextractf128 xmmword [r13 + r10*2], ymm0, 0
vextractf128 xmmword [r13 + r10*2 + 0x10], ymm2, 0
vextractf128 xmmword [r13 + r10*2 + 0x20], ymm0, 1
vextractf128 xmmword [r13 + r10*2 + 0x30], ymm2, 1
vunpcklpd ymm0, ymm6, ymm4
vunpckhpd ymm6, ymm6, ymm4
vextractf128 xmmword [r13 + rax], ymm0, 0
vextractf128 xmmword [r13 + rax + 0x10], ymm6, 0
vextractf128 xmmword [r13 + rax + 0x20], ymm0, 1
vextractf128 xmmword [r13 + rax + 0x30], ymm6, 1
add r12, 0x40
add r13, 0x40
sub r11, 4
jg 0x1401807f0
movdqa xmm15, xmmword [rsp + 0x30]
movdqa xmm14, xmmword [rsp + 0x40]
movdqa xmm13, xmmword [rsp + 0x50]
movdqa xmm12, xmmword [rsp + 0x60]
movdqa xmm11, xmmword [rsp + 0x70]
movdqa xmm10, xmmword [rsp + 0x80]
movdqa xmm9, xmmword [rsp + 0x90]
movdqa xmm8, xmmword [rsp + 0xa0]
movdqa xmm7, xmmword [rsp + 0xb0]
movdqa xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rbp
pop rdi
pop rsi
pop rbx
ret