Function at 0x14002def0
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
sub rsp, 0x80
mov r13, r8
mov r8, rdx
mov r10, rcx
test rcx, rcx
je 0x14002e322
test rdx, rdx
je 0x14002e322
cmp byte [rdx], 1
je 0x14002e322
lea eax, [r9*8]
cdq
and edx, 0x7f
lea r12d, [rdx + rax]
movzx edx, byte [rcx]
sar r12d, 7
mov dword [rsp + 0x54], r12d
sub edx, 1
je 0x14002e2e3
sub edx, 1
je 0x14002e25e
cmp edx, 1
jne 0x14002e322
mov eax, dword [r10 + 5]
mov ecx, dword [rcx + 1]
mov dword [rsp + 0x44], eax
mov eax, dword [r10 + 9]
mov dword [rsp + 0x48], eax
mov eax, dword [r10 + 0xd]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x50], r12d
test r12d, r12d
jle 0x14002e319
movzx ecx, byte [rsp + 0x48]
lea rdx, [r8 + 0x30]
movzx esi, byte [rsp + 0x4f]
movzx r15d, al
movzx eax, byte [rsp + 0x49]
movzx ebp, byte [rsp + 0x4e]
movzx r14d, byte [rsp + 0x4d]
movzx r13d, byte [rsp + 0x4b]
movzx r12d, byte [rsp + 0x4a]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x47]
mov byte [rsp + 0x2c], al
movzx eax, byte [rsp + 0x45]
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x30], cl
movzx ecx, byte [rsp + 0x46]
mov byte [rsp + 0x22], al
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x2a], cl
movzx ecx, byte [rsp + 0x44]
mov byte [rsp + 0xd8], al
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x24], cl
movzx ecx, byte [rsp + 0x42]
mov byte [rsp + 0xc0], al
mov qword [rsp + 0x70], rdx
mov byte [rsp + 0x20], cl
nop dword [rax + rax]
movzx ebx, byte [rsp + 0x38]
xor edi, edi
nop word [rax + rax]
movaps xmm0, xmmword [rsp + 0x40]
lea rcx, [rsp + 0x60]
mov r8, rdx
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
call fcn.14002eac0
movzx eax, byte [rsp + 0xc0]
movzx r8d, dil
movzx r9d, byte [rsp + 0x60]
add al, al
movzx r11d, byte [rsp + 0x2c]
and r9b, 0x80
movzx r10d, byte [rsp + 0x30]
and r8b, 7
movzx ecx, r8b
shr r11b, 7
shr r9b, cl
movzx ecx, byte [rsp + 0xd8]
shr cl, 7
or cl, al
shr r10b, 7
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0xc0], cl
add al, al
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x20]
shr cl, 7
or cl, al
mov edx, edi
movzx eax, byte [rsp + 0x20]
add al, al
mov byte [rsp + 0xd8], cl
mov byte [rsp + 0x41], cl
movzx ecx, byte [rsp + 0x22]
shr cl, 7
or cl, al
shr rdx, 3
add rdx, qword [rsp + 0xe0]
movzx eax, byte [rsp + 0x22]
add al, al
mov byte [rsp + 0x20], cl
mov byte [rsp + 0x42], cl
xor r9b, byte [rdx]
movzx ecx, byte [rsp + 0x24]
shr cl, 7
or cl, al
mov byte [rdx], r9b
movzx eax, byte [rsp + 0x24]
movzx edx, bl
add al, al
mov byte [rsp + 0x22], cl
mov byte [rsp + 0x43], cl
movzx ecx, byte [rsp + 0x28]
shr cl, 7
or cl, al
shr dl, 7
movzx eax, byte [rsp + 0x28]
add al, al
mov byte [rsp + 0x24], cl
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x2a]
shr cl, 7
or cl, al
movzx eax, byte [rsp + 0x2a]
add al, al
mov byte [rsp + 0x28], cl
or r11b, al
mov byte [rsp + 0x45], cl
movzx eax, byte [rsp + 0x2c]
movzx ecx, r12b
add al, al
mov byte [rsp + 0x2a], r11b
or r10b, al
mov byte [rsp + 0x46], r11b
movzx eax, byte [rsp + 0x30]
add al, al
mov byte [rsp + 0x2c], r10b
or dl, al
mov byte [rsp + 0x47], r10b
mov byte [rsp + 0x30], dl
mov byte [rsp + 0x48], dl
mov rdx, qword [rsp + 0x70]
movzx eax, bl
shr cl, 7
add al, al
movzx ebx, cl
inc edi
or bl, al
movzx ecx, r13b
shr cl, 7
movzx eax, r12b
add al, al
mov byte [rsp + 0x49], bl
movzx r12d, cl
movzx ecx, r15b
or r12b, al
shr cl, 7
movzx eax, r13b
mov byte [rsp + 0x4a], r12b
add al, al
movzx r13d, cl
or r13b, al
movzx ecx, r14b
shr cl, 7
movzx eax, r15b
add al, al
mov byte [rsp + 0x4b], r13b
movzx r15d, cl
movzx ecx, bpl
or r15b, al
shr cl, 7
movzx eax, r14b
mov byte [rsp + 0x4c], r15b
add al, al
movzx r14d, cl
or r14b, al
movzx ecx, sil
shr cl, 7
movzx eax, bpl
add al, al
mov byte [rsp + 0x4d], r14b
movzx ebp, cl
mov ecx, 7
or bpl, al
sub cl, r8b
movzx eax, sil
shr r9b, cl
and r9b, 1
mov byte [rsp + 0x4e], bpl
add al, al
movzx esi, r9b
or sil, al
mov byte [rsp + 0x4f], sil
cmp edi, 0x80
jl 0x14002e030
mov byte [rsp + 0x38], bl
mov ebx, dword [rsp + 0x50]
dec ebx
mov dword [rsp + 0x50], ebx
test ebx, ebx
jg 0x14002e020
mov r12d, dword [rsp + 0x54]
shl r12d, 7
mov eax, r12d
jmp 0x14002e327
mov edi, dword [rcx + 1]
mov r15d, r12d
mov esi, dword [rcx + 5]
mov ebp, dword [rcx + 9]
mov r14d, dword [rcx + 0xd]
test r12d, r12d
jle 0x14002e319
mov r12, qword [rsp + 0xe0]
lea rax, [r8 + 0x30]
mov qword [rsp + 0xc0], rax
lea rbx, [r13 + 8]
nop
xor edi, dword [rbx - 8]
lea rcx, [rsp + 0x60]
xor esi, dword [rbx - 4]
mov r8, rax
xor ebp, dword [rbx]
mov rdx, r12
xor r14d, dword [rbx + 4]
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x68], ebp
mov dword [rsp + 0x6c], r14d
call fcn.14002eac0
mov rax, qword [rsp + 0xc0]
lea rbx, [rbx + 0x10]
add r12, 0x10
dec r15d
test r15d, r15d
jg 0x14002e290
mov r12d, dword [rsp + 0x54]
shl r12d, 7
mov eax, r12d
jmp 0x14002e327
mov edi, r12d
test r12d, r12d
jle 0x14002e319
mov rbx, qword [rsp + 0xe0]
lea rsi, [r8 + 0x30]
sub r13, rbx
nop word [rax + rax]
lea rcx, [rbx + r13]
mov r8, rsi
mov rdx, rbx
call fcn.14002eac0
add rbx, 0x10
dec edi
test edi, edi
jg 0x14002e300
shl r12d, 7
mov eax, r12d
jmp 0x14002e327
mov eax, 0xfffffffb
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret