Function at 0x1400ad770
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1400f4d48]
xor rax, rsp
mov qword [rbp - 8], rax
mov r15, qword [rbp + 0x60]
mov rbx, rdx
mov rax, r9
mov r12, r9
cqo
mov rdi, r8
and edx, 0xf
mov r13, rcx
add rax, rdx
mov rsi, rax
and eax, 0xf
sub rax, rdx
sar rsi, 4
mov r14, rax
test rax, rax
je 0x1400ad7d4
test rsi, rsi
jne 0x1400ad7d1
xor eax, eax
jmp 0x1400ad9a1
dec rsi
mov r9, r15
test rsi, rsi
je 0x1400ad82b
nop dword [rax]
mov eax, dword [rbx]
lea r8, [rbp - 0x30]
xor eax, dword [r9]
lea rcx, [r13 + 8]
mov edx, dword [r13 + 4]
mov dword [rbp - 0x30], eax
mov eax, dword [r9 + 4]
xor eax, dword [rbx + 4]
mov dword [rbp - 0x2c], eax
mov eax, dword [r9 + 8]
xor eax, dword [rbx + 8]
mov dword [rbp - 0x28], eax
mov eax, dword [r9 + 0xc]
mov r9, rdi
xor eax, dword [rbx + 0xc]
mov dword [rbp - 0x24], eax
call fcn.1400abea0
mov r9, rdi
add rbx, 0x10
add rdi, 0x10
sub rsi, 1
jne 0x1400ad7e0
test r14, r14
je 0x1400ad980
mov ecx, dword [rbx + 4]
xor ecx, dword [r9 + 4]
mov edx, dword [rbx + 8]
xor edx, dword [r9 + 8]
mov r8d, dword [rbx + 0xc]
xor r8d, dword [r9 + 0xc]
mov eax, dword [rbx]
xor eax, dword [r9]
lea r9, [rbp - 0x18]
mov dword [rbp - 0x2c], ecx
lea rcx, [r13 + 8]
mov dword [rbp - 0x28], edx
mov edx, dword [r13 + 4]
mov dword [rbp - 0x24], r8d
lea r8, [rbp - 0x30]
mov dword [rbp - 0x30], eax
call fcn.1400abea0
xor ecx, ecx
test r14, r14
je 0x1400ad944
cmp r14, 0x10
jb 0x1400ad90e
lea rdx, [r14 + 0xf]
add rdx, rdi
lea r9, [rdi + 0x10]
lea r10, [rbp + r14 - 0x19]
cmp r9, r10
ja 0x1400ad8a4
lea rax, [rbp - 0x18]
cmp rdx, rax
jae 0x1400ad90e
lea r8, [r14 + 0xf]
add r8, rbx
lea rax, [rbx + 0x10]
cmp r9, r8
ja 0x1400ad8b9
cmp rdx, rax
jae 0x1400ad90e
lea rdx, [rbp - 0x18]
cmp rdx, r8
ja 0x1400ad8c7
cmp r10, rax
jae 0x1400ad90e
mov rax, r14
mov rdx, r14
and eax, 0xf
sub rdx, rax
mov r8, rbx
sub r8, rdi
nop dword [rax]
movdqu xmm1, xmmword [rbp + rcx - 0x18]
lea rax, [rdi + rcx]
movdqu xmm0, xmmword [rax + r8 + 0x10]
movdqu xmmword [rax + 0x10], xmm1
pxor xmm0, xmm1
movdqu xmmword [rbp + rcx - 0x18], xmm0
add rcx, 0x10
cmp rcx, rdx
jb 0x1400ad8e0
cmp rcx, r14
jae 0x1400ad944
lea rdx, [rbp - 0x18]
mov r10, rdi
sub r10, rdx
sub rbx, rdi
add r10, 0x10
nop
lea r9, [rbp - 0x18]
add r9, rcx
inc rcx
lea rdx, [r9 + r10]
movzx r8d, byte [r9]
movzx eax, r8b
xor al, byte [rdx + rbx]
mov byte [r9], al
mov byte [rdx], r8b
cmp rcx, r14
jb 0x1400ad920
mov edx, dword [r13 + 4]
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x18]
lea rcx, [r13 + 8]
call fcn.1400abea0
mov eax, dword [rbp - 0x18]
lea r9, [rbp - 0x18]
mov dword [rdi], eax
mov eax, dword [rbp - 0x14]
mov dword [rdi + 4], eax
mov eax, dword [rbp - 0x10]
mov dword [rdi + 8], eax
mov eax, dword [rbp - 0xc]
mov dword [rdi + 0xc], eax
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [r9]
mov dword [r15], eax
mov eax, dword [r9 + 4]
mov dword [r15 + 4], eax
mov eax, dword [r9 + 8]
mov dword [r15 + 8], eax
mov eax, dword [r9 + 0xc]
mov dword [r15 + 0xc], eax
mov rax, r12
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.14005a2f0
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret