Function at 0x140118db0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
mov r10, rdx
mov r11, rcx
test rdx, rdx
je 0x14011903c
test r8d, r8d
je 0x14011903c
cmp r8d, 0x10
jb 0x140118ffc
mov r9d, r8d
mov qword [rsp], rbx
mov ebx, dword [rcx + 8]
shr r9, 4
movzx eax, byte [r10]
mov edx, ebx
movzx ecx, bl
xor rcx, rax
mov rax, qword [0x14063c2c0]
shr edx, 8
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov eax, ecx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], eax
movzx eax, byte [r10 + 1]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 2]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 3]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 4]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 5]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 6]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 7]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 8]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
add r8d, 0xfffffff0
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 9]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
add r10, 0x10
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 - 6]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 - 5]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 - 4]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 - 3]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 - 2]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
movzx ecx, cl
mov dword [r11 + 8], edx
movzx eax, byte [r10 - 1]
shr edx, 8
xor rcx, rax
mov rax, qword [0x14063c2c0]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
dec r9
mov ebx, ecx
mov dword [r11 + 8], ecx
jne 0x140118de4
mov rbx, qword [rsp]
test r8d, r8d
je 0x14011903c
mov r9d, dword [r11 + 8]
nop word [rax + rax]
movzx eax, byte [r10]
movzx ecx, r9b
mov edx, r9d
xor rcx, rax
mov rax, qword [0x14063c2c0]
shr edx, 8
mov ecx, dword [rax + rcx*4]
inc r10
xor ecx, edx
dec r8d
mov r9d, ecx
mov dword [r11 + 8], ecx
jne 0x140119010
add rsp, 8
ret