Function at 0x14011c190
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov r11, rcx
mov eax, 1
mov ecx, r9d
shl rax, cl
mov rbp, rsp
push r12
push rdi
push rsi
push rbx
mov rbx, rax
sub rsp, 0x30
and rsp, 0xfffffffffffffff0
shr rbx, 1
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp + 0x20], xmm8
je 0x14011c3d8
lea rcx, [rbx*8]
mov r10, rdx
lea rdi, [rbx*8 + 0x10]
lea rsi, [rdx + rcx]
lea r9, [r8 + rcx]
lea rdx, [r8 + 0x10]
lea r12, [r10 + 0x10]
cmp r9, rdx
setae dl
cmp rsi, r12
setae r12b
and edx, r12d
test rdi, rdi
setle dil
or dl, dil
je 0x14011c3f8
cmp rbx, 1
je 0x14011c3f8
shr rax, 2
movapd xmm5, xmmword [0x1403caae0]
movapd xmm4, xmmword [0x1403caad0]
add rcx, r11
mov rdi, rax
mov rdx, rax
xor eax, eax
shl rdi, 4
nop word [rax + rax]
movupd xmm0, xmmword [r11 + rax]
movupd xmm1, xmmword [rcx + rax]
movupd xmm2, xmmword [r10 + rax]
movupd xmm3, xmmword [rsi + rax]
movapd xmm6, xmm1
movapd xmm7, xmm0
mulpd xmm7, xmm0
mulpd xmm6, xmm1
xorpd xmm1, xmm4
addpd xmm6, xmm7
movapd xmm7, xmm5
divpd xmm7, xmm6
movapd xmm6, xmm2
mulpd xmm0, xmm7
mulpd xmm1, xmm7
movapd xmm7, xmm3
mulpd xmm6, xmm0
mulpd xmm7, xmm1
mulpd xmm0, xmm3
xorpd xmm3, xmm4
mulpd xmm1, xmm2
subpd xmm6, xmm7
movapd xmm7, xmm2
addpd xmm0, xmm1
mulpd xmm2, xmm6
movapd xmm1, xmm6
movups xmmword [r10 + rax], xmm6
mulpd xmm1, xmm3
mulpd xmm7, xmm0
mulpd xmm3, xmm0
xorpd xmm0, xmm4
movups xmmword [rsi + rax], xmm0
addpd xmm7, xmm1
movupd xmm1, xmmword [r9 + rax]
subpd xmm2, xmm3
movupd xmm3, xmmword [r8 + rax]
subpd xmm1, xmm7
subpd xmm3, xmm2
movups xmmword [r8 + rax], xmm3
movups xmmword [r9 + rax], xmm1
add rax, 0x10
cmp rax, rdi
jne 0x14011c240
lea rcx, [rdx + rdx]
cmp rbx, rcx
je 0x14011c3d8
mov rax, rdx
add rcx, rbx
shl rax, 4
movsd xmm1, qword [r11 + rcx*8]
lea rdx, [rcx*8]
movsd xmm0, qword [r11 + rax]
lea rcx, [r10 + rax]
add r10, rdx
add rax, r8
movapd xmm5, xmm1
movsd xmm2, qword [rcx]
movsd xmm3, qword [r10]
add rdx, r8
mulsd xmm5, xmm1
movapd xmm4, xmm0
mulsd xmm4, xmm0
movapd xmm6, xmm3
addsd xmm5, xmm4
movsd xmm4, qword [0x1403caae0]
divsd xmm4, xmm5
movq xmm5, qword [0x1403caac0]
xorpd xmm1, xmm5
mulsd xmm0, xmm4
mulsd xmm1, xmm4
movapd xmm4, xmm2
mulsd xmm4, xmm0
mulsd xmm6, xmm1
mulsd xmm0, xmm3
xorpd xmm3, xmm5
mulsd xmm1, xmm2
subsd xmm4, xmm6
movapd xmm6, xmm2
addsd xmm0, xmm1
mulsd xmm2, xmm4
movapd xmm1, xmm4
movsd qword [rcx], xmm4
mulsd xmm1, xmm3
mulsd xmm6, xmm0
mulsd xmm3, xmm0
xorpd xmm0, xmm5
movsd qword [r10], xmm0
addsd xmm6, xmm1
movsd xmm1, qword [rdx]
subsd xmm2, xmm3
movsd xmm3, qword [rax]
subsd xmm1, xmm6
subsd xmm3, xmm2
movsd qword [rax], xmm3
movsd qword [rdx], xmm1
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
lea rsp, [rbp - 0x20]
pop rbx
pop rsi
pop rdi
pop r12
pop rbp
ret
movsd xmm5, qword [0x1403caae0]
movq xmm4, qword [0x1403caac0]
xor eax, eax
nop word [rax + rax]
movsd xmm0, qword [r11 + rax*8]
movsd xmm1, qword [r11 + rcx]
movsd xmm6, qword [r10 + rax*8]
movsd xmm2, qword [r10 + rcx]
movapd xmm3, xmm0
movapd xmm7, xmm1
mulsd xmm7, xmm1
mulsd xmm3, xmm0
addsd xmm3, xmm7
movapd xmm7, xmm5
divsd xmm7, xmm3
movapd xmm3, xmm0
movapd xmm0, xmm1
xorpd xmm0, xmm4
mulsd xmm0, xmm7
mulsd xmm3, xmm7
movapd xmm1, xmm0
mulsd xmm0, xmm6
movapd xmm7, xmm3
mulsd xmm3, xmm2
mulsd xmm1, xmm2
xorpd xmm2, xmm4
mulsd xmm7, xmm6
movapd xmm8, xmm2
addsd xmm0, xmm3
subsd xmm7, xmm1
mulsd xmm2, xmm0
movapd xmm1, xmm0
xorpd xmm0, xmm4
mulsd xmm1, xmm6
mulsd xmm8, xmm7
movsd qword [r10 + rax*8], xmm7
mulsd xmm6, xmm7
movsd qword [r10 + rcx], xmm0
addsd xmm8, xmm1
movsd xmm1, qword [r8 + rcx]
movapd xmm3, xmm1
movapd xmm1, xmm6
subsd xmm1, xmm2
movsd xmm2, qword [r8 + rax*8]
subsd xmm3, xmm8
subsd xmm2, xmm1
movsd qword [r8 + rax*8], xmm2
add rax, 1
movsd qword [r8 + rcx], xmm3
add rcx, 8
cmp rbx, rax
jne 0x14011c410
jmp 0x14011c3d8