Function at 0x14021df50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
lea r11, [rcx + 2]
mov r8, rdx
mov r10, r11
lea r9, [rdx + 4]
mov ebx, 2
nop dword [rax + rax]
movzx eax, byte [r9 - 4]
and al, 7
mov byte [r10 - 2], al
mov eax, dword [r9 - 4]
shr eax, 3
and al, 7
mov byte [r10 - 1], al
mov edx, dword [r9 - 4]
shr edx, 6
and dl, 7
mov byte [r10], dl
movzx eax, byte [r9]
and al, 1
shl al, 2
xor al, dl
mov byte [r10], al
mov eax, dword [r9]
shr eax, 1
and al, 7
mov byte [r10 + 1], al
mov eax, dword [r9]
shr eax, 4
and al, 7
mov byte [r10 + 2], al
mov edx, dword [r9]
shr edx, 7
and dl, 7
mov byte [r10 + 3], dl
movzx eax, byte [r9 + 4]
and al, 3
add al, al
xor al, dl
mov byte [r10 + 3], al
mov eax, dword [r9 + 4]
shr eax, 2
and al, 7
mov byte [r10 + 4], al
mov eax, dword [r9 + 4]
shr eax, 5
and al, 7
mov byte [r10 + 5], al
movzx eax, byte [r9 + 8]
and al, 7
mov byte [r10 + 6], al
mov eax, dword [r9 + 8]
shr eax, 3
and al, 7
mov byte [r10 + 7], al
mov edx, dword [r9 + 8]
shr edx, 6
and dl, 7
mov byte [r10 + 8], dl
movzx eax, byte [r9 + 0xc]
and al, 1
shl al, 2
xor al, dl
mov byte [r10 + 8], al
mov eax, dword [r9 + 0xc]
shr eax, 1
and al, 7
mov byte [r10 + 9], al
mov eax, dword [r9 + 0xc]
shr eax, 4
and al, 7
mov byte [r10 + 0xa], al
mov edx, dword [r9 + 0xc]
shr edx, 7
and dl, 7
mov byte [r10 + 0xb], dl
movzx eax, byte [r9 + 0x10]
and al, 3
add al, al
xor al, dl
mov byte [r10 + 0xb], al
mov eax, dword [r9 + 0x10]
shr eax, 2
and al, 7
mov byte [r10 + 0xc], al
mov eax, dword [r9 + 0x10]
shr eax, 5
and al, 7
mov byte [r10 + 0xd], al
movzx eax, byte [r9 + 0x14]
and al, 7
mov byte [r10 + 0xe], al
mov eax, dword [r9 + 0x14]
shr eax, 3
and al, 7
mov byte [r10 + 0xf], al
mov edx, dword [r9 + 0x14]
shr edx, 6
and dl, 7
mov byte [r10 + 0x10], dl
movzx eax, byte [r9 + 0x18]
and al, 1
shl al, 2
xor al, dl
mov byte [r10 + 0x10], al
mov eax, dword [r9 + 0x18]
shr eax, 1
and al, 7
mov byte [r10 + 0x11], al
mov eax, dword [r9 + 0x18]
shr eax, 4
and al, 7
mov byte [r10 + 0x12], al
mov edx, dword [r9 + 0x18]
shr edx, 7
and dl, 7
mov byte [r10 + 0x13], dl
movzx eax, byte [r9 + 0x1c]
and al, 3
add al, al
xor al, dl
mov byte [r10 + 0x13], al
mov eax, dword [r9 + 0x1c]
shr eax, 2
and al, 7
mov byte [r10 + 0x14], al
mov eax, dword [r9 + 0x1c]
shr eax, 5
and al, 7
mov byte [r10 + 0x15], al
movzx eax, byte [r9 + 0x20]
and al, 7
mov byte [r10 + 0x16], al
mov eax, dword [r9 + 0x20]
shr eax, 3
and al, 7
mov byte [r10 + 0x17], al
mov edx, dword [r9 + 0x20]
shr edx, 6
and dl, 7
mov byte [r10 + 0x18], dl
movzx eax, byte [r9 + 0x24]
and al, 1
shl al, 2
xor al, dl
mov byte [r10 + 0x18], al
mov eax, dword [r9 + 0x24]
shr eax, 1
and al, 7
mov byte [r10 + 0x19], al
mov eax, dword [r9 + 0x24]
shr eax, 4
and al, 7
mov byte [r10 + 0x1a], al
mov edx, dword [r9 + 0x24]
shr edx, 7
and dl, 7
mov byte [r10 + 0x1b], dl
movzx eax, byte [r9 + 0x28]
and al, 3
add al, al
xor al, dl
mov byte [r10 + 0x1b], al
mov eax, dword [r9 + 0x28]
shr eax, 2
and al, 7
mov byte [r10 + 0x1c], al
mov eax, dword [r9 + 0x28]
shr eax, 5
and al, 7
lea r9, [r9 + 0x3c]
mov byte [r10 + 0x1d], al
lea r10, [r10 + 0x28]
movzx eax, byte [r9 - 0x10]
and al, 7
mov byte [r10 - 0xa], al
mov eax, dword [r9 - 0x10]
shr eax, 3
and al, 7
mov byte [r10 - 9], al
mov edx, dword [r9 - 0x10]
shr edx, 6
and dl, 7
mov byte [r10 - 8], dl
movzx eax, byte [r9 - 0xc]
and al, 1
shl al, 2
xor al, dl
mov byte [r10 - 8], al
mov eax, dword [r9 - 0xc]
shr eax, 1
and al, 7
mov byte [r10 - 7], al
mov eax, dword [r9 - 0xc]
shr eax, 4
and al, 7
mov byte [r10 - 6], al
mov edx, dword [r9 - 0xc]
shr edx, 7
and dl, 7
mov byte [r10 - 5], dl
movzx eax, byte [r9 - 8]
and al, 3
add al, al
xor al, dl
mov byte [r10 - 5], al
mov eax, dword [r9 - 8]
shr eax, 2
and al, 7
mov byte [r10 - 4], al
mov eax, dword [r9 - 8]
shr eax, 5
and al, 7
mov byte [r10 - 3], al
sub rbx, 1
jne 0x14021df70
movzx eax, byte [r8 + 0x78]
lea r10d, [rbx + 6]
and al, 7
mov byte [rcx + 0x50], al
mov eax, dword [r8 + 0x78]
shr eax, 3
and al, 7
mov byte [rcx + 0x51], al
mov edx, dword [r8 + 0x78]
shr edx, 6
and dl, 7
mov byte [rcx + 0x52], dl
movzx eax, byte [r8 + 0x7c]
and al, 1
shl al, 2
xor al, dl
mov byte [rcx + 0x52], al
mov eax, dword [r8 + 0x7c]
shr eax, 1
and al, 7
mov byte [rcx + 0x53], al
mov eax, dword [r8 + 0x7c]
shr eax, 4
and al, 7
mov byte [rcx + 0x54], al
xor r8b, r8b
nop word [rax + rax]
add r8b, byte [r11 - 2]
movzx eax, r8b
movzx r9d, r8b
and al, 7
sar r9b, 3
add r9b, byte [r11 - 1]
movzx r8d, al
movzx edx, al
shr r8b, 2
add r9b, r8b
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
sar r9b, 3
movzx r8d, al
mov byte [r11 - 2], dl
movzx edx, al
shr r8b, 2
add r9b, r8b
movzx eax, r8b
add r9b, byte [r11]
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
sar r9b, 3
movzx r8d, al
mov byte [r11 - 1], dl
movzx edx, al
shr r8b, 2
add r9b, r8b
movzx eax, r8b
add r9b, byte [r11 + 1]
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
sar r9b, 3
add r9b, byte [r11 + 2]
movzx r8d, al
shr r8b, 2
add r9b, r8b
mov byte [r11], dl
movzx edx, al
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
sar r9b, 3
add r9b, byte [r11 + 3]
movzx r8d, al
shr r8b, 2
add r9b, r8b
mov byte [r11 + 1], dl
movzx edx, al
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
mov byte [r11 + 2], dl
movzx r8d, al
sar r9b, 3
add r9b, byte [r11 + 4]
movzx edx, al
shr r8b, 2
add r9b, r8b
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
mov byte [r11 + 3], dl
movzx r8d, al
movzx edx, al
shr r8b, 2
movzx eax, r8b
shl al, 3
sub dl, al
sar r9b, 3
add r9b, r8b
mov byte [r11 + 4], dl
add r9b, byte [r11 + 5]
movzx eax, r9b
sar r9b, 3
add r9b, byte [r11 + 6]
and al, 7
movzx r8d, al
movzx edx, al
shr r8b, 2
add r9b, r8b
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
sar r9b, 3
add r9b, byte [r11 + 7]
movzx r8d, al
shr r8b, 2
add r9b, r8b
mov byte [r11 + 5], dl
movzx edx, al
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
sar r9b, 3
add r9b, byte [r11 + 8]
movzx r8d, al
shr r8b, 2
add r9b, r8b
mov byte [r11 + 6], dl
movzx edx, al
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
sar r9b, 3
movzx r8d, al
mov byte [r11 + 7], dl
movzx edx, al
shr r8b, 2
add r9b, r8b
movzx eax, r8b
add r9b, byte [r11 + 9]
shl al, 3
movzx r8d, r9b
sub dl, al
sar r9b, 3
add r9b, byte [r11 + 0xa]
and r8b, 7
mov byte [r11 + 8], dl
movzx edx, r8b
shr r8b, 2
add r9b, r8b
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
and al, 7
mov byte [r11 + 9], dl
movzx r8d, al
sar r9b, 3
add r9b, byte [r11 + 0xb]
movzx edx, al
shr r8b, 2
add r9b, r8b
movzx eax, r8b
shl al, 3
sub dl, al
movzx eax, r9b
sar al, 3
add byte [r11 + 0xc], al
mov byte [r11 + 0xa], dl
movzx edx, r9b
and dl, 7
movzx r8d, dl
lea r11, [r11 + 0xe]
shr r8b, 2
movzx eax, r8b
shl al, 3
sub dl, al
mov byte [r11 - 3], dl
sub r10, 1
jne 0x14021e270
add byte [rcx + 0x54], r8b
mov rbx, qword [rsp + 8]
ret