Function at 0x14004df00
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 0x14004e040
mov ecx, r9d
mov ebx, r9d
shr ecx, 3
and ebx, 0xfffffff8
mov esi, ebx
je 0x14004dfb8
lea rsi, [rdx + 1]
mov rdx, r10
lea eax, [rbx - 1]
sub rdx, rsi
cmp rdx, 0xe
jbe 0x14004e1ca
cmp eax, 6
jbe 0x14004e1ca
cmp eax, 0xe
jbe 0x14004df9d
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 0x14004df60
mov r8d, r9d
mov esi, ebx
and r8d, 0xfffffff0
cmp ebx, r8d
je 0x14004dfb8
mov eax, ebx
sub eax, r8d
sub eax, 1
cmp eax, 6
jbe 0x14004e125
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 0x14004e033
movzx edx, byte [r11 + rsi]
xor byte [r10 + rax], dl
cmp r9d, 1
je 0x14004e033
movzx edx, byte [r11 + rsi + 1]
xor byte [r10 + rax + 1], dl
cmp r9d, 2
je 0x14004e033
movzx edx, byte [r11 + rsi + 2]
xor byte [r10 + rax + 2], dl
cmp r9d, 3
je 0x14004e033
movzx edx, byte [r11 + rsi + 3]
xor byte [r10 + rax + 3], dl
cmp r9d, 4
je 0x14004e033
movzx edx, byte [r11 + rsi + 4]
xor byte [r10 + rax + 4], dl
cmp r9d, 5
je 0x14004e033
movzx edx, byte [r11 + rsi + 5]
xor byte [r10 + rax + 5], dl
cmp r9d, 7
jne 0x14004e033
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 0x14004e033
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 0x14004e0b0
lea r8d, [rax - 1]
cmp r8d, 6
jbe 0x14004e0b0
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 0x14004e058
jmp 0x14004e033
movzx r8d, byte [r11]
xor byte [rdx], r8b
cmp eax, 1
je 0x14004e099
movzx edx, byte [r11 + 1]
xor byte [r10 + rcx + 1], dl
cmp eax, 2
je 0x14004e099
movzx edx, byte [r11 + 2]
xor byte [r10 + rcx + 2], dl
cmp eax, 3
je 0x14004e099
movzx edx, byte [r11 + 3]
xor byte [r10 + rcx + 3], dl
cmp eax, 4
je 0x14004e099
movzx edx, byte [r11 + 4]
xor byte [r10 + rcx + 4], dl
cmp eax, 5
je 0x14004e099
movzx edx, byte [r11 + 5]
xor byte [r10 + rcx + 5], dl
cmp eax, 6
je 0x14004e099
movzx edx, byte [r11 + 6]
xor byte [r10 + rcx + 6], dl
cmp eax, 8
jne 0x14004e099
movzx edx, byte [r11 + 7]
xor byte [r10 + rcx + 7], dl
jmp 0x14004e099
mov eax, r8d
mov esi, ebx
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 1]
cmp ebx, eax
jbe 0x14004dfb8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 2]
cmp ebx, eax
jbe 0x14004dfb8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 3]
cmp ebx, eax
jbe 0x14004dfb8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 4]
cmp ebx, eax
jbe 0x14004dfb8
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
lea eax, [r8 + 5]
cmp ebx, eax
jbe 0x14004dfb8
add r8d, 6
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
cmp ebx, r8d
jbe 0x14004dfb8
mov eax, r8d
movzx edx, byte [r11 + rax]
xor byte [r10 + rax], dl
mov eax, ecx
shl rax, 3
and r9d, 7
jne 0x14004dfc4
jmp 0x14004e033
mov esi, ebx
xor edx, edx
nop
movzx eax, byte [r11 + rdx]
xor byte [r10 + rdx], al
add rdx, 1
cmp rdx, rsi
jne 0x14004e1d0
jmp 0x14004dfb8