Function at 0x14004d1a0
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 0x14004d2e0
mov ecx, r9d
mov ebx, r9d
shr ecx, 3
and ebx, 0xfffffff8
mov esi, ebx
je 0x14004d258
lea rsi, [rdx + 1]
mov rdx, r10
lea eax, [rbx - 1]
sub rdx, rsi
cmp rdx, 0xe
jbe 0x14004d46a
cmp eax, 6
jbe 0x14004d46a
cmp eax, 0xe
jbe 0x14004d23d
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 0x14004d200
mov r8d, r9d
mov esi, ebx
and r8d, 0xfffffff0
cmp ebx, r8d
je 0x14004d258
mov eax, ebx
sub eax, r8d
sub eax, 1
cmp eax, 6
jbe 0x14004d3c5
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 0x14004d2d3
movzx edx, byte [r11 + rsi]
xor byte [r10 + rax], dl
cmp r9d, 1
je 0x14004d2d3
movzx edx, byte [r11 + rsi + 1]
xor byte [r10 + rax + 1], dl
cmp r9d, 2
je 0x14004d2d3
movzx edx, byte [r11 + rsi + 2]
xor byte [r10 + rax + 2], dl
cmp r9d, 3
je 0x14004d2d3
movzx edx, byte [r11 + rsi + 3]
xor byte [r10 + rax + 3], dl
cmp r9d, 4
je 0x14004d2d3
movzx edx, byte [r11 + rsi + 4]
xor byte [r10 + rax + 4], dl
cmp r9d, 5
je 0x14004d2d3
movzx edx, byte [r11 + rsi + 5]
xor byte [r10 + rax + 5], dl
cmp r9d, 7
jne 0x14004d2d3
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 0x14004d2d3
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 0x14004d350
lea r8d, [rax - 1]
cmp r8d, 6
jbe 0x14004d350
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 0x14004d2f8
jmp 0x14004d2d3
movzx r8d, byte [r11]
xor byte [rdx], r8b
cmp eax, 1
je 0x14004d339
movzx edx, byte [r11 + 1]
xor byte [r10 + rcx + 1], dl
cmp eax, 2
je 0x14004d339
movzx edx, byte [r11 + 2]
xor byte [r10 + rcx + 2], dl
cmp eax, 3
je 0x14004d339
movzx edx, byte [r11 + 3]
xor byte [r10 + rcx + 3], dl
cmp eax, 4
je 0x14004d339
movzx edx, byte [r11 + 4]
xor byte [r10 + rcx + 4], dl
cmp eax, 5
je 0x14004d339
movzx edx, byte [r11 + 5]
xor byte [r10 + rcx + 5], dl
cmp eax, 6
je 0x14004d339
movzx edx, byte [r11 + 6]
xor byte [r10 + rcx + 6], dl
cmp eax, 8
jne 0x14004d339
movzx edx, byte [r11 + 7]
xor byte [r10 + rcx + 7], dl
jmp 0x14004d339
mov eax, r8d
mov esi, ebx
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 1]
cmp ebx, eax
jbe 0x14004d258
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 2]
cmp ebx, eax
jbe 0x14004d258
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 3]
cmp ebx, eax
jbe 0x14004d258
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 4]
cmp ebx, eax
jbe 0x14004d258
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 5]
cmp ebx, eax
jbe 0x14004d258
add r8d, 6
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
cmp ebx, r8d
jbe 0x14004d258
mov eax, r8d
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
mov eax, ecx
shl rax, 3
and r9d, 7
jne 0x14004d264
jmp 0x14004d2d3
mov esi, ebx
xor edx, edx
nop
movzx eax, byte [r11 + rdx]
xor byte [r10 + rdx], al
add rdx, 1
cmp rdx, rsi
jne 0x14004d470
jmp 0x14004d258