Function at 0x14000c170
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0x48
mov rax, r8
mov qword [rsp + 0x40], r13
dec r8
mov qword [rsp + 0x38], r15
mov r15, r8
mov qword [rsp + 0x20], rax
sar r15, 1
mov rbp, r9
mov qword [rsp + 0x28], r8
mov r13, rdx
mov r14, rcx
mov r12, rdx
mov r9, rdx
cmp rdx, r15
jge 0x14000c294
nop word [rax + rax]
lea rbx, [r9 + r9]
lea rax, [rbx + 2]
imul rdi, rax, 0xe8
add rdi, r14
mov rdx, rdi
lea rsi, [rdi - 0xe8]
mov r8, rsi
call fcn.140003600
movzx r9d, al
xor r9, 1
inc r9
add r9, rbx
test al, al
cmove rsi, rdi
imul rcx, r13, 0xe8
movups xmm0, xmmword [rsi]
mov r13, r9
add rcx, r14
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rsi + 0x60]
movups xmmword [rcx + 0x60], xmm0
sub rcx, 0xffffffffffffff80
movups xmm1, xmmword [rsi + 0x70]
sub rsi, 0xffffffffffffff80
movups xmmword [rcx - 0x10], xmm1
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x50]
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [rsi + 0x60]
mov qword [rcx + 0x60], rax
cmp r9, r15
jl 0x14000c1c0
mov rax, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
mov r13, qword [rsp + 0x40]
cmp r9, r15
mov r15, qword [rsp + 0x38]
mov rsi, r9
jne 0x14000c34c
test al, 1
jne 0x14000c34c
imul rcx, rax, 0xe8
imul rdx, r9, 0xe8
lea rax, [r14 - 0xe8]
mov rsi, r8
add rax, rcx
movups xmm0, xmmword [rax]
add rdx, r14
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
sub rdx, 0xffffffffffffff80
movups xmm1, xmmword [rax + 0x70]
sub rax, 0xffffffffffffff80
movups xmmword [rdx - 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
mov rax, qword [rax + 0x60]
mov qword [rdx + 0x60], rax
cmp r12, rsi
jge 0x14000c40b
lea rdi, [rsi - 1]
mov r8, rbp
sar rdi, 1
imul rbx, rdi, 0xe8
add rbx, r14
mov rdx, rbx
call fcn.140003600
test al, al
je 0x14000c40b
movups xmm0, xmmword [rbx]
imul rcx, rsi, 0xe8
mov rsi, rdi
add rcx, r14
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rcx + 0x60], xmm0
sub rcx, 0xffffffffffffff80
movups xmm1, xmmword [rbx + 0x70]
sub rbx, 0xffffffffffffff80
movups xmmword [rcx - 0x10], xmm1
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [rbx + 0x60]
mov qword [rcx + 0x60], rax
cmp r12, rdi
jl 0x14000c355
movups xmm0, xmmword [rbp]
imul rcx, rsi, 0xe8
add rcx, r14
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rbp + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rcx + 0x60], xmm0
sub rcx, 0xffffffffffffff80
movups xmm1, xmmword [rbp + 0x70]
sub rbp, 0xffffffffffffff80
movups xmmword [rcx - 0x10], xmm1
movups xmm0, xmmword [rbp]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rbp + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [rbp + 0x60]
mov qword [rcx + 0x60], rax
add rsp, 0x48
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret