Function at 0x1400ca030
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov qword [rbp - 0x79], 0xfffffffffffffffe
mov qword [rsp + 0x140], rbx
mov rax, qword [0x1403284b0]
xor rax, rsp
mov qword [rbp + 0x17], rax
movsxd r12, r8d
mov rbx, rdx
mov r8d, 0x20
mov rdx, r9
lea rcx, [rbp - 0x29]
call fcn.1400cc300
nop
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x69], xmm0
movaps xmmword [rbp - 0x59], xmm1
movaps xmmword [rbp - 0x49], xmm2
movaps xmmword [rbp - 0x39], xmm3
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x30], xmm3
cmp r12, 1
jle 0x1400ca10c
lea rdi, [rbx + 0x40]
lea r14, [r12 - 1]
nop dword [rax]
mov r8d, 0x40
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.1400cc300
nop
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x69], xmm0
movaps xmmword [rbp - 0x59], xmm1
movaps xmmword [rbp - 0x49], xmm2
movaps xmmword [rbp - 0x39], xmm3
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x30], xmm3
lea rdi, [rdi + 0x40]
sub r14, 1
jne 0x1400ca0c0
mov r15d, 3
test r12d, r12d
jle 0x1400ca231
mov r14d, r12d
mov rdi, rbx
mov r13, r12
nop dword [rax]
nop dword [rax + rax]
xor edx, edx
mov eax, dword [rdi]
div r12d
mov ecx, edx
lea eax, [r14 - 1]
xor edx, edx
div r12d
lea rdx, [rdx*8]
lea rcx, [rcx*8]
mov rax, qword [rbx + rcx*8]
xor rax, qword [rbx + rdx*8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + rcx*8 + 8]
xor rax, qword [rbx + rdx*8 + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + rcx*8 + 0x10]
xor rax, qword [rbx + rdx*8 + 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + rcx*8 + 0x18]
xor rax, qword [rbx + rdx*8 + 0x18]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + rcx*8 + 0x20]
xor rax, qword [rbx + rdx*8 + 0x20]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + rcx*8 + 0x28]
xor rax, qword [rbx + rdx*8 + 0x28]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + rcx*8 + 0x30]
xor rax, qword [rbx + rdx*8 + 0x30]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + rcx*8 + 0x38]
xor rax, qword [rbx + rdx*8 + 0x38]
mov qword [rsp + 0x58], rax
movups xmm0, xmmword [rsp + 0x20]
movaps xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [rsp + 0x30]
movaps xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rbp + 7], xmm1
mov r8d, 0x40
lea rdx, [rbp - 0x29]
lea rcx, [rsp + 0x20]
call fcn.1400cc300
nop
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x30], xmm3
lea r14d, [r14 + 1]
lea rdi, [rdi + 0x40]
sub r13, 1
jne 0x1400ca130
sub r15, 1
jne 0x1400ca112
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1402225a0
nop
mov rbx, qword [rsp + 0x140]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret