Function at 0x140021ce0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
movzx eax, byte [r8 + 1]
movzx ebx, byte [r8 + 8]
movzx r11d, byte [r8]
movzx r10d, byte [r8 + 0xf]
mov rbp, rcx
shl ebx, 8
mov r14, r9
movzx r9d, byte [r8 + 4]
shl r11d, 8
xor r11d, eax
movzx eax, byte [r8 + 2]
shl r9d, 8
lea r13, [0x140000000]
shl r11d, 8
mov r12d, edx
xor r11d, eax
movzx eax, byte [r8 + 3]
shl r11d, 8
xor r11d, eax
movzx eax, byte [r8 + 5]
xor r11d, dword [rcx]
xor r9d, eax
movzx eax, byte [r8 + 6]
shl r9d, 8
xor r9d, eax
movzx eax, byte [r8 + 7]
shl r9d, 8
xor r9d, eax
movzx eax, byte [r8 + 9]
xor r9d, dword [rcx + 4]
xor ebx, eax
movzx eax, byte [r8 + 0xa]
shl ebx, 8
xor ebx, eax
movzx eax, byte [r8 + 0xb]
shl ebx, 8
xor ebx, eax
movzx eax, byte [r8 + 0xd]
xor ebx, dword [rcx + 8]
movzx ecx, byte [r8 + 0xc]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r8 + 0xe]
mov r8d, r11d
shl ecx, 8
xor ecx, eax
mov eax, r9d
shr rax, 0x10
shl ecx, 8
movzx edx, al
xor r10d, ecx
mov eax, ebx
xor r10d, dword [rbp + 0xc]
mov r15d, dword [r13 + rdx*4 + 0xc10c0]
shr rax, 8
movzx ecx, al
mov eax, r11d
xor r15d, dword [r13 + rcx*4 + 0xc14c0]
shr rax, 0x18
xor r15d, dword [r13 + rax*4 + 0xc0cc0]
movzx eax, r10b
xor r15d, dword [r13 + rax*4 + 0xc18c0]
mov eax, r10d
xor r15d, dword [rbp + 0x10]
shr rax, 8
movzx edx, al
mov eax, ebx
mov edi, dword [r13 + rdx*4 + 0xc14c0]
shr rax, 0x10
movzx ecx, al
mov eax, r9d
xor edi, dword [r13 + rcx*4 + 0xc10c0]
shr rax, 0x18
xor edi, dword [r13 + rax*4 + 0xc0cc0]
movzx eax, r11b
xor edi, dword [r13 + rax*4 + 0xc18c0]
mov eax, r11d
xor edi, dword [rbp + 0x14]
shr rax, 8
movzx edx, al
mov eax, r10d
mov edx, dword [r13 + rdx*4 + 0xc14c0]
shr rax, 0x10
shr r8, 0x10
movzx ecx, al
shr r10, 0x18
mov eax, ebx
xor edx, dword [r13 + rcx*4 + 0xc10c0]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r13 + rax*4 + 0xc0cc0]
mov r8d, dword [r13 + rcx*4 + 0xc10c0]
movzx eax, r9b
xor edx, dword [r13 + rax*4 + 0xc18c0]
shr r9, 8
sar r12d, 1
xor edx, dword [rbp + 0x18]
movzx eax, r9b
add rbp, 0x20
xor r8d, dword [r13 + rax*4 + 0xc14c0]
movzx eax, bl
xor r8d, dword [r13 + r10*4 + 0xc0cc0]
xor r8d, dword [r13 + rax*4 + 0xc18c0]
xor r8d, dword [rbp - 4]
dec r12d
je 0x1400220f9
mov qword [rsp + 0x28], rsi
nop dword [rax]
nop dword [rax + rax]
mov esi, edx
mov r11d, edi
mov edi, r8d
mov r10d, r15d
mov eax, r11d
shr rdi, 0x18
shr rax, 0x10
shr r10, 0x10
movzx edx, al
mov eax, esi
mov ebx, dword [r13 + rdx*4 + 0xc10c0]
shr rax, 8
movzx ecx, al
mov eax, r15d
xor ebx, dword [r13 + rcx*4 + 0xc14c0]
shr rax, 0x18
xor ebx, dword [r13 + rax*4 + 0xc0cc0]
movzx eax, r8b
xor ebx, dword [r13 + rax*4 + 0xc18c0]
mov eax, r8d
xor ebx, dword [rbp]
shr rax, 8
movzx edx, al
mov eax, esi
mov r9d, dword [r13 + rdx*4 + 0xc14c0]
shr rax, 0x10
movzx ecx, al
mov eax, r11d
xor r9d, dword [r13 + rcx*4 + 0xc10c0]
shr rax, 0x18
xor r9d, dword [r13 + rax*4 + 0xc0cc0]
movzx eax, r15b
xor r9d, dword [r13 + rax*4 + 0xc18c0]
mov eax, r15d
xor r9d, dword [rbp + 4]
shr rax, 8
movzx edx, al
mov eax, r8d
mov r8d, dword [r13 + rdx*4 + 0xc14c0]
shr rax, 0x10
movzx ecx, al
mov eax, esi
xor r8d, dword [r13 + rcx*4 + 0xc10c0]
shr rax, 0x18
movzx ecx, r10b
xor r8d, dword [r13 + rax*4 + 0xc0cc0]
mov edx, dword [r13 + rcx*4 + 0xc10c0]
movzx eax, r11b
xor r8d, dword [r13 + rax*4 + 0xc18c0]
shr r11, 8
mov r10d, r9d
xor r8d, dword [rbp + 8]
movzx eax, r11b
xor edx, dword [r13 + rax*4 + 0xc14c0]
mov r11d, r8d
movzx eax, sil
xor edx, dword [r13 + rdi*4 + 0xc0cc0]
mov r8d, ebx
xor edx, dword [r13 + rax*4 + 0xc18c0]
mov eax, r10d
xor edx, dword [rbp + 0xc]
shr rax, 0x10
mov r9d, edx
movzx edx, al
mov eax, r11d
mov r15d, dword [r13 + rdx*4 + 0xc10c0]
shr rax, 8
movzx ecx, al
mov eax, ebx
xor r15d, dword [r13 + rcx*4 + 0xc14c0]
shr rax, 0x18
xor r15d, dword [r13 + rax*4 + 0xc0cc0]
movzx eax, r9b
xor r15d, dword [r13 + rax*4 + 0xc18c0]
mov eax, r9d
xor r15d, dword [rbp + 0x10]
shr rax, 8
movzx edx, al
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov edi, dword [r13 + rdx*4 + 0xc14c0]
shr r8, 0x10
mov eax, r10d
xor edi, dword [r13 + rcx*4 + 0xc10c0]
shr rax, 0x18
add rbp, 0x20
xor edi, dword [r13 + rax*4 + 0xc0cc0]
movzx eax, bl
xor edi, dword [r13 + rax*4 + 0xc18c0]
mov eax, ebx
xor edi, dword [rbp - 0xc]
shr rax, 8
movzx edx, al
mov eax, r9d
shr r9, 0x18
mov edx, dword [r13 + rdx*4 + 0xc14c0]
shr rax, 0x10
movzx ecx, al
mov eax, r11d
xor edx, dword [r13 + rcx*4 + 0xc10c0]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r13 + rax*4 + 0xc0cc0]
mov r8d, dword [r13 + rcx*4 + 0xc10c0]
movzx eax, r10b
xor edx, dword [r13 + rax*4 + 0xc18c0]
shr r10, 8
xor edx, dword [rbp - 8]
movzx eax, r10b
xor r8d, dword [r13 + rax*4 + 0xc14c0]
movzx eax, r11b
xor r8d, dword [r13 + r9*4 + 0xc0cc0]
xor r8d, dword [r13 + rax*4 + 0xc18c0]
xor r8d, dword [rbp - 4]
dec r12d
jne 0x140021ed0
mov rsi, qword [rsp + 0x28]
mov r11d, edx
mov r10d, r8d
mov eax, edi
shr rax, 0x10
mov r9d, edi
mov r8d, r15d
movzx ecx, al
mov eax, r11d
shr rax, 8
mov edx, dword [r13 + rcx*4 + 0xc1cc0]
movzx ecx, al
and edx, 0xff0000
mov eax, dword [r13 + rcx*4 + 0xc1cc0]
and eax, 0xff00
xor edx, eax
mov eax, r15d
shr rax, 0x18
mov ecx, dword [r13 + rax*4 + 0xc1cc0]
movzx eax, r10b
movzx eax, byte [r13 + rax*4 + 0xc1cc0]
and ecx, 0xff000000
xor edx, ecx
xor edx, eax
xor edx, dword [rbp]
mov eax, edx
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, edx
shr eax, 8
mov byte [r14 + 2], al
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov eax, r10d
mov edx, dword [r13 + rcx*4 + 0xc1cc0]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [r13 + rcx*4 + 0xc1cc0]
and eax, 0xff00
xor edx, eax
mov eax, edi
shr rax, 0x18
mov eax, dword [r13 + rax*4 + 0xc1cc0]
and eax, 0xff000000
xor edx, eax
movzx eax, r15b
movzx eax, byte [r13 + rax*4 + 0xc1cc0]
xor edx, eax
xor edx, dword [rbp + 4]
mov eax, edx
mov byte [r14 + 7], dl
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 5], al
mov eax, edx
shr eax, 8
mov byte [r14 + 6], al
mov eax, r10d
shr rax, 0x10
movzx ecx, al
mov eax, r15d
mov edx, dword [r13 + rcx*4 + 0xc1cc0]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [r13 + rcx*4 + 0xc1cc0]
and eax, 0xff00
xor edx, eax
mov eax, r11d
shr rax, 0x18
mov eax, dword [r13 + rax*4 + 0xc1cc0]
and eax, 0xff000000
xor edx, eax
movzx eax, dil
movzx eax, byte [r13 + rax*4 + 0xc1cc0]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
xor edx, eax
shr r8, 0x10
shr r9, 8
xor edx, dword [rbp + 8]
shr r10, 0x18
mov eax, edx
mov byte [r14 + 0xb], dl
shr eax, 0x18
mov byte [r14 + 8], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 9], al
mov eax, edx
shr eax, 8
mov byte [r14 + 0xa], al
movzx eax, r8b
mov edx, dword [r13 + rax*4 + 0xc1cc0]
movzx eax, r9b
mov ecx, dword [r13 + rax*4 + 0xc1cc0]
mov eax, dword [r13 + r10*4 + 0xc1cc0]
and edx, 0xff0000
and eax, 0xff000000
and ecx, 0xff00
xor edx, ecx
xor edx, eax
movzx eax, r11b
movzx eax, byte [r13 + rax*4 + 0xc1cc0]
xor edx, eax
xor edx, dword [rbp + 0xc]
mov rbp, qword [rsp + 0x38]
mov eax, edx
mov byte [r14 + 0xf], dl
shr eax, 0x18
mov byte [r14 + 0xc], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 0xd], al
mov eax, edx
shr eax, 8
mov byte [r14 + 0xe], al
pop r15
pop r14
pop r13
pop r12
ret