Function at 0x14002deb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], r9
push rbp
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x40
mov rbx, rdx
mov rax, r9
mov r12, r9
cqo
mov r14, r8
mov r13, rcx
and edx, 0xf
add rax, rdx
mov rdi, rax
and eax, 0xf
sub rax, rdx
sar rdi, 4
mov rsi, rax
test rax, rax
je 0x14002df09
test rdi, rdi
jne 0x14002df06
xor eax, eax
jmp 0x14002e0d6
dec rdi
mov qword [rsp + 0x70], r15
mov r15, qword [rbp + 0x50]
mov rcx, r15
test rdi, rdi
je 0x14002df6a
nop word [rax + rax]
mov eax, dword [rbx]
mov edx, dword [r13 + 4]
lea r8, [rbp - 0x20]
xor eax, dword [rcx]
mov r9, r14
mov dword [rbp - 0x20], eax
mov eax, dword [rcx + 4]
xor eax, dword [rbx + 4]
mov dword [rbp - 0x1c], eax
mov eax, dword [rcx + 8]
xor eax, dword [rbx + 8]
mov dword [rbp - 0x18], eax
mov eax, dword [rcx + 0xc]
lea rcx, [r13 + 8]
xor eax, dword [rbx + 0xc]
mov dword [rbp - 0x14], eax
call fcn.14002cf10
mov rcx, r14
add r14, 0x10
add rbx, 0x10
dec rdi
jne 0x14002df20
mov r12, qword [rbp + 0x48]
test rsi, rsi
je 0x14002e0b4
movups xmm0, xmmword [rbx]
mov edx, dword [r13 + 4]
lea r9, [rbp - 0x10]
lea r8, [rbp - 0x20]
movups xmmword [rbp - 0x20], xmm0
movd eax, xmm0
xor eax, dword [rcx]
mov dword [rbp - 0x20], eax
mov eax, dword [rcx + 4]
xor dword [rbp - 0x1c], eax
mov eax, dword [rcx + 8]
xor dword [rbp - 0x18], eax
mov eax, dword [rcx + 0xc]
lea rcx, [r13 + 8]
xor dword [rbp - 0x14], eax
call fcn.14002cf10
xor r9d, r9d
test rsi, rsi
je 0x14002e093
cmp rsi, 0x10
jb 0x14002e055
lea rcx, [rsi + 0xf]
lea r8, [r14 + 0x10]
lea r10, [rbp + rsi - 0x11]
add rcx, r14
cmp r8, r10
ja 0x14002dfde
lea rax, [rbp - 0x10]
cmp rcx, rax
jae 0x14002e055
lea rdx, [rsi + 0xf]
lea rax, [rbx + 0x10]
add rdx, rbx
cmp r8, rdx
ja 0x14002dff3
cmp rcx, rax
jae 0x14002e055
lea rcx, [rbp - 0x10]
cmp rcx, rdx
ja 0x14002e001
cmp r10, rax
jae 0x14002e055
mov rax, rsi
lea r8, [rbp - 0x10]
mov rdx, rsi
and eax, 0xf
lea r10, [rbp - 0x10]
lea rcx, [rbp - 0x10]
sub rdx, rax
mov rax, rbx
sub rax, r8
lea r8, [rax + 0x10]
mov rax, r14
sub rax, r10
nop dword [rax]
movdqu xmm1, xmmword [rcx]
movdqu xmm0, xmmword [r8 + rcx]
add r9, 0x10
lea rcx, [rcx + 0x10]
pxor xmm0, xmm1
movdqu xmmword [rcx - 0x10], xmm0
movdqu xmmword [rax + rcx], xmm1
cmp r9, rdx
jb 0x14002e030
cmp r9, rsi
jae 0x14002e093
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov r10, r14
sub rbx, rax
sub r10, rcx
nop dword [rax + rax]
lea r8, [rbp - 0x10]
add r8, r9
inc r9
movzx edx, byte [r8]
movzx eax, byte [r8 + rbx + 0x10]
xor al, dl
mov byte [r8 + r10 + 0x10], dl
mov byte [r8], al
cmp r9, rsi
jb 0x14002e070
mov edx, dword [r13 + 4]
lea r9, [rbp - 0x10]
lea r8, [rbp - 0x10]
lea rcx, [r13 + 8]
call fcn.14002cf10
lea rcx, [rbp - 0x10]
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [r14], xmm0
mov eax, dword [rcx]
mov dword [r15], eax
mov eax, dword [rcx + 4]
mov dword [r15 + 4], eax
mov eax, dword [rcx + 8]
mov dword [r15 + 8], eax
mov eax, dword [rcx + 0xc]
mov dword [r15 + 0xc], eax
mov r15, qword [rsp + 0x70]
mov rax, r12
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret