Function at 0x1801459a0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
mov r10, rdx
mov r11, rcx
test rdx, rdx
je 0x180145c2e
test r8d, r8d
je 0x180145c2e
cmp r8d, 0x10
jb 0x180145bf7
mov r9d, r8d
mov qword [rsp], rbx
mov ebx, dword [rcx + 8]
shr r9, 4
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r10]
mov edx, ebx
shr edx, 8
movzx ecx, bl
xor rcx, rax
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 1]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 2]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 3]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 4]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 5]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 6]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 7]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 8]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
add r8d, 0xfffffff0
movzx eax, byte [r10 + 9]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 0xa]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 0xb]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 0xc]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov edx, ecx
mov dword [r11 + 8], edx
movzx eax, byte [r10 + 0xd]
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov dword [r11 + 8], ecx
movzx eax, byte [r10 + 0xe]
mov edx, ecx
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov dword [r11 + 8], ecx
movzx eax, byte [r10 + 0xf]
add r10, 0x10
mov edx, ecx
movzx ecx, cl
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov dword [r11 + 8], ecx
mov ebx, ecx
sub r9, 1
jne 0x1801459e0
mov rbx, qword [rsp]
test r8d, r8d
je 0x180145c2e
mov r9d, dword [r11 + 8]
movzx eax, byte [r10]
lea r10, [r10 + 1]
movzx ecx, r9b
mov edx, r9d
xor rcx, rax
shr edx, 8
mov rax, qword [0x180388b80]
mov ecx, dword [rax + rcx*4]
xor ecx, edx
mov dword [r11 + 8], ecx
mov r9d, ecx
add r8d, 0xffffffff
jne 0x180145c00
add rsp, 8
ret