Function at 0x14008bae3
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
xchg rsi, r11
mov qword [rsp + 0x20], r11
xchg rsi, r11
push rdi
movzx eax, byte [rdx + 1]
mov rdi, r8
mov dword [rsp - 0x3c], 0x4ef302b3
movzx ebx, byte [rdx]
xchg r8, rdx
mov rdx, rcx
xchg rdx, r8
movzx ecx, byte [rdx + 5]
shl ebx, 6
shl ebx, 1
shl ebx, 1
or ebx, eax
xchg rdx, rdx
movzx eax, byte [rdx + 2]
shl ebx, 3
shl ebx, 5
or ebx, eax
mov dword [rsp - 0x28], esp
movzx eax, byte [rdx + 3]
shl ebx, 6
shl ebx, 2
or ebx, eax
mov dword [rsp - 0x3c], 0x870a650
movzx eax, byte [rdx + 4]
shl eax, 6
shl eax, 1
shl eax, 1
or eax, ecx
xchg r8, r8
movzx ecx, byte [rdx + 6]
shl eax, 6
shl eax, 1
shl eax, 1
or eax, ecx
movzx ecx, byte [rdx + 7]
mov rcx, rcx
shl eax, 4
shl eax, 2
shl eax, 1
shl eax, 1
or eax, ecx
mov rdi, rdi
mov ecx, dword [r8 + 4]
dec ecx
movsxd rsi, ecx
test ecx, ecx
mov r10, r10
jle 0x14008bd98
mov rdx, qword [r8 + 8]
mov qword [rsp + 0x10], rbp
lea rbp, [rsi - 1]
mov dword [rsp - 0x20], esp
lea rbp, [rsi + rbp*2]
mov qword [rsp + 0x18], r14
dec rsi
lea r14, [0x1404a4570]
mov dword [rsp - 0x20], 0x3867c544
shr rsi, 1
lea rbp, [rdx + rbp*4]
inc rsi
nop dword [rax]
mov r14, r14
mov r10d, dword [rbp + 0xc]
mov edx, eax
mov r11d, dword [rbp + 8]
mov r14, r14
lea rbp, [rbp - 0x18]
and edx, 0x3ff00
mov r9d, eax
shl edx, 2
xchg rsp, rsp
mov ecx, eax
shr ecx, 7
shr ecx, 3
shr ecx, 4
shr ecx, 1
shr ecx, 1
and ecx, 0x3ff
ror r9d, 0xa
ror r9d, 2
ror r9d, 1
ror r9d, 1
and r9d, 0xffc00
mov dword [rsp - 0x30], edi
or r9d, ecx
mov ecx, eax
and ecx, 0x3ff
xor r11, r9
mov rbx, rbx
or edx, ecx
mov r8d, edx
xor edx, r9d
mov dword [rsp - 0x10], edx
and edx, dword [rbp + 0x28]
xor r10, r8
mov r9d, dword [rbp + 0x14]
xchg rsp, rsp
xor r10, rdx
xor r11, rdx
xchg r10, rcx
mov r10, rcx
xchg r10, rcx
shr rcx, 5
shr rcx, 4
shr rcx, 1
and r10d, 0x3ff
mov r8d, dword [r14 + rcx*4 + 0x2000]
xchg rsp, rcx
mov rsp, r11
xchg rcx, rsp
shr rcx, 1
shr rcx, 6
shr rcx, 2
shr rcx, 1
xor r8d, 0x1f6242
mov dword [rsp - 0x3c], 0x66d06e52
and r11d, 0x3ff
mov edx, dword [r14 + rcx*4]
mov ecx, dword [r14 + r10*4 + 0x3000]
xor edx, 0x1f6242
mov dword [rsp - 0x20], 0x1bf0fffb
xor ecx, 0x1f6242
or r8d, edx
or r8d, ecx
mov rdi, rdi
mov ecx, dword [r14 + r11*4 + 0x1000]
xor ecx, 0x1f6242
or r8d, ecx
mov dword [rsp - 0x2c], 0x50a8b5f1
xor ebx, r8d
mov edx, ebx
mov r8d, ebx
xchg rsp, rsp
and edx, 0x3ff00
ror r8d, 0xb
ror r8d, 1
ror r8d, 1
ror r8d, 1
shl edx, 2
xchg rsp, rsp
and r8d, 0xffc00
mov ecx, ebx
shr ecx, 0xd
shr ecx, 1
shr ecx, 1
shr ecx, 1
and ecx, 0x3ff
mov dword [rsp - 0x30], ebp
or r8d, ecx
mov ecx, ebx
and ecx, 0x3ff
mov dword [rsp - 0x2c], edi
xor r9, r8
or edx, ecx
mov ecx, dword [rbp + 0x18]
mov r10d, edx
xchg rdx, rdx
xor edx, r8d
and edx, dword [rbp + 0x1c]
xor r10, rcx
mov dword [rsp - 0x3c], esp
xor r9, rdx
xor r10, rdx
xchg r9, r10
mov rcx, r10
xchg r9, r10
and r9d, 0x3ff
xchg rdx, rdx
shr rcx, 6
shr rcx, 2
shr rcx, 1
shr rcx, 1
mov edx, dword [r14 + rcx*4]
mov r13, r13
xchg rcx, r10
mov r10, rcx
xchg rcx, r10
shr rcx, 0xa
xor edx, 0x1f6242
and r10d, 0x3ff
mov rsp, rsp
mov ecx, dword [r14 + rcx*4 + 0x2000]
xor ecx, 0x1f6242
or edx, ecx
mov dword [rsp - 0x30], esi
mov ecx, dword [r14 + r10*4 + 0x3000]
xor ecx, 0x1f6242
or edx, ecx
mov ecx, dword [r14 + r9*4 + 0x1000]
xchg rsp, rsp
xor ecx, 0x1f6242
or edx, ecx
xor eax, edx
sub rsi, 1
mov dword [rsp - 0x30], 0x1d218c7a
jne 0x14008bb67
xchg r9, r14
mov r9, qword [rsp + 0x18]
xchg r9, r14
xchg r9, rbp
mov r9, qword [rsp + 0x10]
xchg r9, rbp
nop dword [rax + rax]
mov r15, r15
xchg r13, rsi
mov r13, qword [rsp + 0x28]
xchg rsi, r13
mov byte [rdi + 3], al
mov byte [rdi + 7], bl
mov dword [rsp - 0x40], edi
shr eax, 2
shr eax, 1
shr eax, 2
shr eax, 1
shr eax, 1
shr eax, 1
mov byte [rdi + 2], al
shr ebx, 8
mov byte [rdi + 6], bl
mov dword [rsp - 0x28], 0x27573de6
shr eax, 6
shr eax, 1
shr eax, 1
mov byte [rdi + 1], al
shr ebx, 1
shr ebx, 6
shr ebx, 1
mov byte [rdi + 5], bl
shr eax, 7
shr eax, 1
shr ebx, 8
mov byte [rdi], al
mov dword [rsp - 0x20], 0x19a6729f
mov byte [rdi + 4], bl
xchg rbx, rbp
mov rbp, qword [rsp + 0x20]
xchg rbx, rbp
pop rdi
mov dword [rsp - 0x28], ecx
ret