Function at 0x14008ceb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov r12, rcx
mov rcx, qword [rsp + 0x140]
mov rax, qword [0x1403a8f38]
xor rax, rsp
mov qword [rsp + 0xd0], rax
cmp rcx, 1
jne 0x14008cfec
mov qword [rsp + 0x28], r12
mov rax, qword [r9]
mov rdx, qword [r9 + 8]
mov rcx, qword [rax]
mov r11, qword [rdx]
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
mov r9, qword [rax]
mov r10, qword [rdx]
mov r8d, r11d
and r8d, 1
neg r8
mov edi, ecx
and edi, 1
neg rdi
and r8, r10
xor rdi, r9
and rdi, r8
mov eax, 1
mov edx, 0x3f
xor ebx, ebx
xor r14d, r14d
mov r15, r11
mov r12, rcx
nop dword [rax]
shr r15, 1
shr r12, 1
shl r11, 0x3e
sar r11, 0x3f
and r11, r10
bt ecx, 1
mov r13d, 0
sbb r13, r13
xor r13, r9
and r13, r11
mov rbp, r13
mov ecx, eax
shl rbp, cl
mov ecx, edx
shr r13, cl
mov rsi, r11
mov ecx, eax
shl rsi, cl
mov ecx, edx
shr r11, cl
mov rcx, rdi
xor rcx, rsi
mov rdi, rbp
xor rdi, r8
and rdi, rcx
xor rsi, r8
xor rcx, rbp
mov r8, rcx
or r8, rsi
mov rcx, rbx
xor rcx, r11
mov rbx, r13
xor rbx, r14
and rbx, rcx
xor r11, r14
xor rcx, r13
mov r14, rcx
or r14, r11
inc rax
mov rcx, r12
mov r11, r15
dec rdx
jne 0x14008cf40
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
mov qword [rax], rdi
mov rax, qword [rcx]
mov qword [rax + 8], rbx
mov rax, qword [rcx + 8]
mov qword [rax], r8
mov rax, qword [rcx + 8]
mov qword [rax + 8], r14
jmp 0x14008d35c
mov rdi, rdx
mov r13, rcx
shr r13, 1
mov rdx, rcx
sub rdx, r13
lea rax, [r13*8]
mov r10, qword [r8]
add r10, rax
mov qword [rsp + 0x30], r10
mov qword [rsp + 0xc0], r10
mov r10, qword [r8 + 8]
add r10, rax
mov qword [rsp + 0x38], r10
mov qword [rsp + 0xc8], r10
mov r15, qword [r9]
add r15, rax
mov qword [rsp + 0xb0], r15
add rax, qword [r9 + 8]
mov qword [rsp + 0xb8], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0xa0], xmm0
mov r10, qword [r12]
mov qword [rsp + 0x60], r10
lea r11, [r10 + rdx*8]
mov qword [rsp + 0x90], r11
mov r10, qword [r12 + 8]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x58], r10
lea rbp, [r10 + rdx*8]
mov qword [rsp + 0x98], rbp
test rcx, rcx
je 0x14008d15d
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], r12
mov r11, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x30]
mov r14, qword [rsp + 0xa8]
xor ebx, ebx
mov r15, r13
mov r13, qword [rsp + 0x38]
nop dword [rax]
mov rsi, qword [r13 + rbx*8]
mov r12, qword [rax + rbx*8]
mov rcx, qword [r8]
mov rdx, qword [r8 + 8]
mov r10, qword [rdx + rbx*8]
mov rcx, qword [rcx + rbx*8]
xor rcx, rsi
mov rdx, r10
xor rdx, r12
and rdx, rcx
mov qword [r11 + rbx*8], rdx
xor r10, rsi
xor rcx, r12
or rcx, r10
mov qword [r14 + rbx*8], rcx
inc rbx
cmp r15, rbx
jne 0x14008d0c0
xor r11d, r11d
mov r12, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov r13, r15
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
nop word [rax + rax]
mov rcx, qword [rax + r11*8]
mov rdx, qword [r15 + r11*8]
mov r10, qword [r9]
mov rsi, qword [r9 + 8]
mov rsi, qword [rsi + r11*8]
mov r10, qword [r10 + r11*8]
xor r10, rcx
mov rbx, rsi
xor rbx, rdx
and rbx, r10
mov qword [r14 + r11*8], rbx
xor rsi, rcx
xor r10, rdx
or r10, rsi
mov qword [rbp + r11*8], r10
inc r11
cmp r13, r11
jne 0x14008d120
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x40], r8
mov rbx, qword [rsp + 0x68]
cmp rbx, r13
mov rsi, qword [rsp + 0x140]
je 0x14008d1bd
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + r13*8]
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + r13*8], rcx
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + r13*8]
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + r13*8], rcx
mov rcx, qword [r15 + r13*8]
mov rdx, qword [rsp + 0x60]
mov qword [rdx + rsi*8], rcx
mov rax, qword [rax + r13*8]
mov rcx, qword [rsp + 0x58]
mov qword [rcx + rsi*8], rax
lea rbp, [rbx + rbx]
mov rax, rbx
shl rax, 4
mov rcx, qword [rdi]
add rcx, rax
mov qword [rsp + 0x80], rcx
add rax, qword [rdi + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
and rsi, 0xfffffffffffffffe
mov qword [rsp + 0x38], rax
lea r14, [rax + rsi*8]
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x30], rcx
lea r15, [rcx + rsi*8]
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x20], rbx
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0x90]
mov rcx, rdi
call fcn.14008ceb0
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x70]
lea r8, [rsp + 0xc0]
lea r9, [rsp + 0xb0]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.14008ceb0
mov qword [rsp + 0x20], r13
mov rcx, r12
mov rdx, rbx
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x28]
call fcn.14008ceb0
test rsi, rsi
je 0x14008d2c2
xor eax, eax
nop dword [rax + rax]
mov rcx, qword [r12]
mov rdx, qword [r12 + 8]
mov rdx, qword [rdx + rax*8]
mov rcx, qword [rcx + rax*8]
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov r10, qword [r8 + rax*8]
mov r11, qword [r9 + rax*8]
xor r11, rdx
xor rdx, r10
xor r10, rcx
or r10, r11
xor r11, rcx
and r11, rdx
mov qword [r8 + rax*8], r11
mov qword [r9 + rax*8], r10
inc rax
cmp rsi, rax
jne 0x14008d280
test rbp, rbp
je 0x14008d35c
mov rax, qword [rsp + 0x38]
lea rax, [rax + r13*8]
mov rcx, qword [rsp + 0x30]
lea rcx, [rcx + r13*8]
xor edx, edx
nop
mov r8, qword [r15 + rdx*8]
mov r9, qword [r14 + rdx*8]
mov r10, qword [rdi]
mov r11, qword [rdi + 8]
mov rsi, qword [r10 + rdx*8]
mov rbx, qword [r11 + rdx*8]
xor rbx, r8
xor r8, rsi
xor rsi, r9
or rsi, rbx
xor rbx, r9
and rbx, r8
mov qword [r10 + rdx*8], rbx
mov qword [r11 + rdx*8], rsi
inc rdx
cmp rbp, rdx
jne 0x14008d2e0
xor edx, edx
nop dword [rax + rax]
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov r9, qword [r9 + rdx*8]
mov r8, qword [r8 + rdx*8]
mov r10, qword [rcx + rdx*8]
mov r11, qword [rax + rdx*8]
xor r11, r9
mov rsi, r10
xor rsi, r8
and rsi, r11
mov qword [rax + rdx*8], rsi
xor r10, r9
xor r11, r8
or r11, r10
mov qword [rcx + rdx*8], r11
inc rdx
cmp rbp, rdx
jne 0x14008d320
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140265fa0
nop
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret