Function at 0x14005db50
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
mov eax, edx
xor eax, ecx
test al, 7
jne 0x14005dd93
test cl, 7
je 0x14005dc11
test r8d, r8d
je 0x14005dc11
cmp r8d, 0x20
jb 0x14005db93
mov r11d, r8d
lea rax, [rdx + r11]
cmp rax, rcx
jbe 0x14005dc8b
lea rax, [rcx + r11]
cmp rax, rdx
jbe 0x14005dc8b
mov r9, rdx
mov rax, rcx
lea ecx, [r8 - 1]
test r8b, 3
je 0x14005dbca
mov r10d, r8d
and r10d, 3
xor edx, edx
nop dword [rax]
movzx r11d, byte [r9 + rdx]
xor byte [rax + rdx], r11b
inc rdx
cmp r10d, edx
jne 0x14005dbb0
sub r8d, edx
add r9, rdx
add rax, rdx
xor r10d, r10d
cmp ecx, 3
jb 0x14005dd86
nop word cs:[rax + rax]
movzx ecx, byte [r9]
xor byte [rax], cl
movzx ecx, byte [r9 + 1]
xor byte [rax + 1], cl
movzx ecx, byte [r9 + 2]
xor byte [rax + 2], cl
movzx ecx, byte [r9 + 3]
xor byte [rax + 3], cl
add r9, 4
add rax, 4
add r8d, 0xfffffffc
jne 0x14005dbe0
jmp 0x14005dd86
cmp r8d, 8
jae 0x14005dc25
mov r10d, r8d
mov rax, rcx
mov r9, rdx
jmp 0x14005dd86
mov r10d, r8d
shr r10d, 3
lea esi, [r10 - 1]
xor r11d, r11d
cmp esi, 9
jb 0x14005dc5a
lea rax, [rdx + rsi*8]
add rax, 8
cmp rax, rcx
jbe 0x14005dd3b
lea rax, [rcx + rsi*8]
add rax, 8
cmp rax, rdx
jbe 0x14005dd3b
mov rax, rcx
mov r9, rdx
mov ecx, r10d
sub ecx, r11d
and ecx, 3
je 0x14005dce1
neg ecx
xor edx, edx
nop
mov rsi, qword [r9]
xor qword [rax], rsi
add r9, 8
add rax, 8
dec edx
cmp ecx, edx
jne 0x14005dc70
mov ecx, r11d
sub ecx, edx
jmp 0x14005dce4
mov esi, r11d
and esi, 0xffffffe0
sub r8d, esi
lea r9, [rdx + rsi]
lea rax, [rcx + rsi]
xor r10d, r10d
nop
movups xmm0, xmmword [rdx + r10]
movups xmm1, xmmword [rdx + r10 + 0x10]
movups xmm2, xmmword [rcx + r10]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + r10 + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + r10], xmm2
movups xmmword [rcx + r10 + 0x10], xmm0
add r10, 0x20
cmp rsi, r10
jne 0x14005dca0
xor r10d, r10d
cmp rsi, r11
jne 0x14005db99
jmp 0x14005dd86
mov ecx, r11d
sub r11d, r10d
cmp r11d, 0xfffffffc
ja 0x14005dd83
sub r10d, ecx
xor edx, edx
xor ecx, ecx
nop dword [rax + rax]
mov r11, qword [r9 + rdx*8]
xor qword [rax + rdx*8], r11
mov r11, qword [r9 + rdx*8 + 8]
xor qword [rax + rdx*8 + 8], r11
mov r11, qword [r9 + rdx*8 + 0x10]
xor qword [rax + rdx*8 + 0x10], r11
mov r11, qword [r9 + rdx*8 + 0x18]
xor qword [rax + rdx*8 + 0x18], r11
add rcx, 0xffffffffffffffe0
add rdx, 4
cmp r10d, edx
jne 0x14005dd00
sub rax, rcx
sub r9, rcx
jmp 0x14005dd83
inc rsi
mov r11, rsi
and r11, 0xfffffffffffffffc
lea rax, [rcx + r11*8]
lea r9, [rdx + r11*8]
xor edi, edi
nop
movups xmm0, xmmword [rdx + rdi*8]
movups xmm1, xmmword [rdx + rdi*8 + 0x10]
movups xmm2, xmmword [rcx + rdi*8]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rdi*8 + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rdi*8], xmm2
movups xmmword [rcx + rdi*8 + 0x10], xmm0
add rdi, 4
cmp r11, rdi
jne 0x14005dd50
cmp rsi, r11
jne 0x14005dc60
mov r10d, r8d
and r10d, 7
mov rcx, rax
mov rdx, r9
mov r8d, r10d
test r8d, r8d
je 0x14005de23
mov eax, r8d
cmp r8d, 8
jb 0x14005ddbb
lea r9, [rdx + rax]
cmp rcx, r9
jae 0x14005de26
lea r9, [rcx + rax]
cmp rdx, r9
jae 0x14005de26
xor r8d, r8d
mov r10, rax
mov r9, r8
and r10, 3
je 0x14005dde1
mov r9, r8
nop dword [rax]
movzx r11d, byte [rdx + r9]
xor byte [rcx + r9], r11b
inc r9
dec r10
jne 0x14005ddd0
sub r8, rax
cmp r8, 0xfffffffffffffffc
ja 0x14005de23
nop word [rax + rax]
movzx r8d, byte [rdx + r9]
xor byte [rcx + r9], r8b
movzx r8d, byte [rdx + r9 + 1]
xor byte [rcx + r9 + 1], r8b
movzx r8d, byte [rdx + r9 + 2]
xor byte [rcx + r9 + 2], r8b
movzx r8d, byte [rdx + r9 + 3]
xor byte [rcx + r9 + 3], r8b
add r9, 4
cmp rax, r9
jne 0x14005ddf0
pop rdi
pop rsi
ret
cmp r8d, 0x20
jae 0x14005de31
xor r8d, r8d
jmp 0x14005de7d
mov r8d, eax
and r8d, 0xffffffe0
xor r9d, r9d
nop dword [rax + rax]
movups xmm0, xmmword [rdx + r9]
movups xmm1, xmmword [rdx + r9 + 0x10]
movups xmm2, xmmword [rcx + r9]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + r9 + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + r9], xmm2
movups xmmword [rcx + r9 + 0x10], xmm0
add r9, 0x20
cmp r8, r9
jne 0x14005de40
cmp r8, rax
je 0x14005de23
test al, 0x18
je 0x14005ddbe
mov r9, r8
mov r8d, eax
and r8d, 0xfffffff8
nop word [rax + rax]
mov r10, qword [rdx + r9]
xor qword [rcx + r9], r10
add r9, 8
cmp r8, r9
jne 0x14005de90
cmp r8, rax
je 0x14005de23
jmp 0x14005ddbe