Function at 0x14010ddb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
xor r9b, r9b
xor r11d, r11d
mov rbx, rdx
mov r10, rcx
test cl, 3
jne 0x14010dfd5
test bl, 3
jne 0x14010dfd5
mov edx, r11d
test r10b, 7
jne 0x14010ded9
test bl, 7
jne 0x14010ded9
mov rsi, r8
mov r9d, r11d
shr rsi, 3
test rsi, rsi
je 0x14010deb4
cmp rsi, 4
jb 0x14010de81
mov r9, rsi
lea rax, [rbx + 0x10]
and r9, 0xfffffffffffffffc
xorps xmm3, xmm3
sub rcx, rbx
xorps xmm2, xmm2
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rdx, 4
movdqu xmm1, xmmword [rcx + rax - 0x10]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
movdqu xmm1, xmmword [rcx + rax - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
pxor xmm1, xmm0
por xmm1, xmm2
movdqa xmm2, xmm1
cmp rdx, r9
jb 0x14010de30
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movq r9, xmm2
cmp rdx, rsi
jae 0x14010deb4
mov rbp, r10
lea rcx, [rbx + rdx*8]
sub rbp, rbx
mov rdi, rsi
sub rdi, rdx
mov rdx, rsi
nop dword [rax]
mov rax, qword [rcx + rbp]
xor rax, qword [rcx]
lea rcx, [rcx + 8]
or r9, rax
sub rdi, 1
jne 0x14010dea0
lea rdx, [rdx*8]
sub r8, rdx
jne 0x14010dec9
test r9, r9
jmp 0x14010e0a7
add r10, rdx
add rbx, rdx
mov rdx, r9
shr rdx, 0x20
or edx, r9d
mov rsi, r8
mov r9, r11
shr rsi, 2
test rsi, rsi
je 0x14010dfa1
cmp rsi, 8
jb 0x14010df6f
mov rdi, rsi
lea rax, [rbx + 0x10]
and rdi, 0xfffffffffffffff8
mov rcx, r10
sub rcx, rbx
xorps xmm3, xmm3
xorps xmm2, xmm2
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x10]
add r9, 8
movdqu xmm1, xmmword [rax + rcx - 0x10]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
movdqu xmm1, xmmword [rax + rcx - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
pxor xmm1, xmm0
por xmm1, xmm2
movdqa xmm2, xmm1
cmp r9, rdi
jb 0x14010df10
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd eax, xmm2
or edx, eax
cmp r9, rsi
jae 0x14010dfa1
mov rbp, r10
lea rcx, [rbx + r9*4]
sub rbp, rbx
mov rdi, rsi
sub rdi, r9
mov r9, rsi
nop word [rax + rax]
mov eax, dword [rcx + rbp]
xor eax, dword [rcx]
lea rcx, [rcx + 4]
or edx, eax
sub rdi, 1
jne 0x14010df90
lea r9, [r9*4]
sub r8, r9
jne 0x14010dfb5
test edx, edx
jmp 0x14010e0a7
add r10, r9
add rbx, r9
mov r9d, edx
mov eax, edx
shr eax, 0x10
shr r9d, 0x18
or r9b, al
mov eax, edx
shr eax, 8
or r9b, al
or r9b, dl
test r8, r8
je 0x14010e0a4
cmp r8, 0x20
jb 0x14010e07a
mov rdx, r8
lea rax, [rbx + 0x10]
and rdx, 0xffffffffffffffe0
mov rcx, r10
sub rcx, rbx
xorps xmm3, xmm3
xorps xmm2, xmm2
nop
movdqu xmm0, xmmword [rax - 0x10]
add r11, 0x20
movdqu xmm1, xmmword [rax + rcx - 0x10]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
movdqu xmm1, xmmword [rax + rcx - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
pxor xmm1, xmm0
por xmm1, xmm2
movdqa xmm2, xmm1
cmp r11, rdx
jb 0x14010e000
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 2
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 1
por xmm2, xmm0
movd eax, xmm2
or r9b, al
cmp r11, r8
jae 0x14010e0a4
sub r10, rbx
lea rcx, [r11 + rbx]
sub r8, r11
nop dword [rax]
movzx eax, byte [rcx + r10]
xor al, byte [rcx]
lea rcx, [rcx + 1]
or r9b, al
sub r8, 1
jne 0x14010e090
test r9b, r9b
mov rbx, qword [rsp + 8]
sete al
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
ret