Function at 0x14004a3f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov r10, rcx
mov r11, rdx
mov rbp, rsp
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
test r8d, r8d
jne 0x14004a530
mov ecx, r9d
mov ebx, r9d
shr ecx, 3
and ebx, 0xfffffff8
mov esi, ebx
je 0x14004a4a8
lea rsi, [rdx + 1]
mov rdx, r10
lea eax, [rbx - 1]
sub rdx, rsi
cmp rdx, 0xe
jbe 0x14004a6ba
cmp eax, 6
jbe 0x14004a6ba
cmp eax, 0xe
jbe 0x14004a48d
mov edx, ebx
xor eax, eax
shr edx, 4
shl rdx, 4
nop
movdqu xmm0, xmmword [r11 + rax]
movdqu xmm2, xmmword [r10 + rax]
pxor xmm0, xmm2
movups xmmword [r10 + rax], xmm0
add rax, 0x10
cmp rax, rdx
jne 0x14004a450
mov r8d, r9d
mov esi, ebx
and r8d, 0xfffffff0
cmp ebx, r8d
je 0x14004a4a8
mov eax, ebx
sub eax, r8d
sub eax, 1
cmp eax, 6
jbe 0x14004a615
mov r8d, r8d
mov esi, ebx
lea rax, [r10 + r8]
movq xmm0, qword [r11 + r8]
movq xmm1, qword [rax]
pxor xmm0, xmm1
movq qword [rax], xmm0
mov eax, ecx
shl rax, 3
and r9d, 7
je 0x14004a523
movzx edx, byte [r11 + rsi]
xor byte [r10 + rax], dl
cmp r9d, 1
je 0x14004a523
movzx edx, byte [r11 + rsi + 1]
xor byte [r10 + rax + 1], dl
cmp r9d, 2
je 0x14004a523
movzx edx, byte [r11 + rsi + 2]
xor byte [r10 + rax + 2], dl
cmp r9d, 3
je 0x14004a523
movzx edx, byte [r11 + rsi + 3]
xor byte [r10 + rax + 3], dl
cmp r9d, 4
je 0x14004a523
movzx edx, byte [r11 + rsi + 4]
xor byte [r10 + rax + 4], dl
cmp r9d, 5
je 0x14004a523
movzx edx, byte [r11 + rsi + 5]
xor byte [r10 + rax + 5], dl
cmp r9d, 7
jne 0x14004a523
movzx edx, byte [r11 + rsi + 6]
xor byte [r10 + rax + 6], dl
lea rsp, [rbp - 0x18]
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov ebx, r8d
and r8d, 7
shr ebx, 3
test r9d, r9d
je 0x14004a523
mov esi, 8
nop dword [rax]
mov edx, ebx
mov eax, esi
lea rdi, [r11 + 1]
lea rcx, [r8 + rdx*8]
sub eax, r8d
lea rdx, [r10 + rcx]
cmp eax, r9d
mov r8, rdx
cmova eax, r9d
sub r8, rdi
cmp r8, 6
jbe 0x14004a5a0
lea r8d, [rax - 1]
cmp r8d, 6
jbe 0x14004a5a0
movq xmm0, qword [rdx]
movq xmm1, qword [r11]
pxor xmm0, xmm1
movq qword [rdx], xmm0
mov edx, eax
add ebx, 1
xor r8d, r8d
add r11, rdx
sub r9d, eax
jne 0x14004a548
jmp 0x14004a523
movzx r8d, byte [r11]
xor byte [rdx], r8b
cmp eax, 1
je 0x14004a589
movzx edx, byte [r11 + 1]
xor byte [r10 + rcx + 1], dl
cmp eax, 2
je 0x14004a589
movzx edx, byte [r11 + 2]
xor byte [r10 + rcx + 2], dl
cmp eax, 3
je 0x14004a589
movzx edx, byte [r11 + 3]
xor byte [r10 + rcx + 3], dl
cmp eax, 4
je 0x14004a589
movzx edx, byte [r11 + 4]
xor byte [r10 + rcx + 4], dl
cmp eax, 5
je 0x14004a589
movzx edx, byte [r11 + 5]
xor byte [r10 + rcx + 5], dl
cmp eax, 6
je 0x14004a589
movzx edx, byte [r11 + 6]
xor byte [r10 + rcx + 6], dl
cmp eax, 8
jne 0x14004a589
movzx edx, byte [r11 + 7]
xor byte [r10 + rcx + 7], dl
jmp 0x14004a589
mov eax, r8d
mov esi, ebx
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 1]
cmp ebx, eax
jbe 0x14004a4a8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 2]
cmp ebx, eax
jbe 0x14004a4a8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 3]
cmp ebx, eax
jbe 0x14004a4a8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 4]
cmp ebx, eax
jbe 0x14004a4a8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 5]
cmp ebx, eax
jbe 0x14004a4a8
add r8d, 6
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
cmp ebx, r8d
jbe 0x14004a4a8
mov eax, r8d
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
mov eax, ecx
shl rax, 3
and r9d, 7
jne 0x14004a4b4
jmp 0x14004a523
mov esi, ebx
xor edx, edx
nop
movzx eax, byte [r11 + rdx]
xor byte [r10 + rdx], al
add rdx, 1
cmp rdx, rsi
jne 0x14004a6c0
jmp 0x14004a4a8