Function at 0x140021c90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
movzx eax, byte [r9 + 6]
movzx r10d, byte [r9 + 7]
mov r11, rdx
movzx edx, byte [r9 + 0xf]
shl r10, 8
mov rbx, r8
or r10, rax
movzx eax, byte [r9 + 5]
shl rdx, 8
shl r10, 8
mov esi, r8d
mov rdi, r11
or r10, rax
movzx eax, byte [r9 + 4]
shl rbx, 0x38
shl r10, 8
and esi, 7
mov rbp, rcx
or r10, rax
movzx eax, byte [r9 + 3]
shl r10, 8
or r10, rax
movzx eax, byte [r9 + 2]
shl r10, 8
or r10, rax
movzx eax, byte [r9 + 1]
shl r10, 8
or r10, rax
movzx eax, byte [r9]
shl r10, 8
or r10, rax
movzx eax, byte [r9 + 0xe]
or rdx, rax
movzx eax, byte [r9 + 0xd]
shl rdx, 8
or rdx, rax
movzx eax, byte [r9 + 0xc]
shl rdx, 8
or rdx, rax
movzx eax, byte [r9 + 0xb]
shl rdx, 8
or rdx, rax
movzx eax, byte [r9 + 0xa]
shl rdx, 8
or rdx, rax
movzx eax, byte [r9 + 9]
shl rdx, 8
or rdx, rax
movzx eax, byte [r9 + 8]
mov r9, r10
shl rdx, 8
or rdx, rax
mov rax, r8
and eax, 7
sub rdi, rax
movabs rax, 0x7465646279746573
add rdi, r8
mov r8, rdx
xor r8, rax
movabs rax, 0x6c7967656e657261
xor r9, rax
movabs rax, 0x646f72616e646f6d
xor rdx, rax
movabs rax, 0x736f6d6570736575
xor r10, rax
cmp r11, rdi
je 0x140021e8c
nop word [rax + rax]
movzx eax, byte [r11 + 6]
movzx ecx, byte [r11 + 7]
add r10, rdx
shl rcx, 8
add r11, 8
or rcx, rax
movzx eax, byte [r11 - 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [r11 - 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r11 - 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r11 - 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [r11 - 7]
shl rcx, 8
or rcx, rax
movzx eax, byte [r11 - 8]
shl rcx, 8
or rcx, rax
xor r8, rcx
rol rdx, 0xd
xor rdx, r10
add r9, r8
rol r8, 0x10
xor r8, r9
rol r10, 0x20
add r9, rdx
add r10, r8
rol r8, 0x15
xor r8, r10
rol rdx, 0x11
xor rdx, r9
add r10, rdx
rol rdx, 0xd
xor rdx, r10
rol r9, 0x20
add r9, r8
rol r8, 0x10
xor r8, r9
rol r10, 0x20
add r9, rdx
add r10, r8
rol r8, 0x15
xor r8, r10
rol rdx, 0x11
xor r10, rcx
xor rdx, r9
rol r9, 0x20
cmp r11, rdi
jne 0x140021dc0
lea eax, [rsi - 1]
cmp eax, 6
ja case.default.0x140021ea7
lea rdi, [0x140000000]
cdqe
mov ecx, dword [rdi + rax*4 + 0x2207c]
add rcx, rdi
jmp rcx
movzx eax, byte [r11 + 6]
shl rax, 0x30
or rbx, rax
movzx eax, byte [r11 + 5]
shl rax, 0x28
or rbx, rax
movzx eax, byte [r11 + 4]
shl rax, 0x20
or rbx, rax
movzx eax, byte [r11 + 3]
shl rax, 0x18
or rbx, rax
movzx eax, byte [r11 + 2]
shl rax, 0x10
or rbx, rax
movzx eax, byte [r11 + 1]
shl rax, 8
or rbx, rax
movzx eax, byte [r11]
or rbx, rax
xor r8, rbx
add r10, rdx
rol rdx, 0xd
add r9, r8
xor rdx, r10
rol r8, 0x10
xor r8, r9
add r9, rdx
rol r10, 0x20
add r10, r8
rol r8, 0x15
xor r8, r10
rol rdx, 0x11
xor rdx, r9
add r10, rdx
rol rdx, 0xd
xor rdx, r10
rol r9, 0x20
add r9, r8
rol r8, 0x10
xor r8, r9
add r9, rdx
rol r10, 0x20
add r10, r8
rol r8, 0x15
xor r8, r10
rol rdx, 0x11
xor rbx, r10
xor rdx, r9
add rbx, rdx
rol rdx, 0xd
xor rdx, rbx
rol r9, 0x20
xor r9, 0xff
add r9, r8
rol r8, 0x10
xor r8, r9
add r9, rdx
rol rbx, 0x20
add rbx, r8
rol r8, 0x15
xor r8, rbx
rol rdx, 0x11
xor rdx, r9
add rbx, rdx
rol rdx, 0xd
xor rdx, rbx
rol r9, 0x20
add r9, r8
rol r8, 0x10
xor r8, r9
add r9, rdx
rol rbx, 0x20
add rbx, r8
rol r8, 0x15
xor r8, rbx
rol rdx, 0x11
xor rdx, r9
add rbx, rdx
rol rdx, 0xd
xor rdx, rbx
rol r9, 0x20
add r9, r8
rol r8, 0x10
xor r8, r9
add r9, rdx
rol rbx, 0x20
add rbx, r8
rol r8, 0x15
xor r8, rbx
rol rdx, 0x11
xor rdx, r9
add rbx, rdx
rol rdx, 0xd
xor rdx, rbx
rol r9, 0x20
add r9, r8
rol r8, 0x10
xor r8, r9
add r9, rdx
rol rdx, 0x11
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
xor rdx, r9
rol r8, 0x15
rol r9, 0x20
xor r8, r9
xor r8, rdx
mov eax, r8d
mov byte [rbp], r8b
shr eax, 8
mov byte [rbp + 1], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp + 2], al
mov eax, r8d
shr r8, 0x20
shr eax, 0x18
mov byte [rbp + 4], r8b
mov byte [rbp + 3], al
mov eax, r8d
shr eax, 8
mov byte [rbp + 5], al
mov eax, r8d
shr r8d, 0x18
shr eax, 0x10
mov byte [rbp + 7], r8b
mov byte [rbp + 6], al
mov rbp, qword [rsp + 0x10]
xor eax, eax
ret