Function at 0x14000d920
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, r8
mov r10, rdx
cmp rcx, rdx
jne 0x14000d93e
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp fcn.140006b50
test r10, r10
jne 0x14000d950
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp fcn.140003850
test rcx, rcx
jne 0x14000d965
mov rdx, rbx
mov rcx, r10
add rsp, 0x20
pop rbx
jmp fcn.140003850
mov qword [rsp + 0x40], rdi
cmp rcx, rbx
jne 0x14000da7f
mov r11, qword [r8 + 8]
mov r8d, dword [rdx]
cmp r8d, dword [rbx]
mov r9, qword [rdx + 8]
cmovle r8d, dword [rbx]
xor edx, edx
mov r10d, edx
test r8d, r8d
jle 0x14000da40
cmp r8d, 8
jb 0x14000da40
lea eax, [r8 - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
lea rdi, [r11 + rcx*8]
cmp r11, rax
ja 0x14000d9ba
cmp rdi, r9
jae 0x14000da40
mov ecx, r8d
and ecx, 0x80000007
jge 0x14000d9cc
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, r8d
sub eax, ecx
mov rcx, r9
movsxd rdi, eax
sub rcx, r11
lea rax, [r11 + 0x10]
nop
movdqu xmm0, xmmword [rax - 0x10]
add r10d, 8
add rdx, 8
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rcx + rax - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rcx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rdx, rdi
jl 0x14000d9e0
movsxd rcx, r10d
movsxd r10, r8d
cmp rcx, r10
jge 0x14000da71
sub r9, r11
lea rax, [r11 + rcx*8]
mov rdx, r10
sub rdx, rcx
nop dword [rax + rax]
mov rcx, qword [rax + r9]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x14000da60
mov dword [rbx], r8d
cmp qword [r11 + r10*8 - 8], 0
jmp 0x14000dbe1
mov edi, dword [rdx]
cmp edi, dword [rcx]
mov r11, qword [rdx + 8]
cmovle edi, dword [rcx]
xor edx, edx
mov r8, qword [rcx + 8]
mov r10d, dword [rbx]
mov qword [rsp + 0x30], rbp
mov ebp, edx
mov qword [rsp + 0x38], rsi
mov rsi, qword [rbx + 8]
test edi, edi
jle 0x14000db7c
cmp edi, 8
jb 0x14000db7c
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [r11 + rcx*8]
lea r9, [rsi + rcx*8]
cmp rsi, rax
ja 0x14000dad0
cmp r9, r11
jae 0x14000db7c
lea rax, [r8 + rcx*8]
cmp rsi, rax
ja 0x14000dae2
cmp r9, r8
jae 0x14000db7c
mov qword [rsp + 0x48], r14
mov ecx, edi
and ecx, 0x80000007
jge 0x14000daf8
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, edi
mov r9, rsi
sub eax, ecx
mov rcx, r8
sub rcx, r11
movsxd r14, eax
sub r9, r11
lea rax, [r11 + 0x10]
nop
movdqu xmm0, xmmword [rax - 0x10]
add ebp, 8
add rdx, 8
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [r9 + rax - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rcx + rax - 0x30]
movdqu xmmword [r9 + rax - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rcx + rax - 0x20]
movdqu xmmword [r9 + rax - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [r9 + rax - 0x20], xmm2
cmp rdx, r14
jl 0x14000db10
mov r14, qword [rsp + 0x48]
movsxd rax, ebp
movsxd rbp, edi
cmp rax, rbp
jge 0x14000dbb5
mov r9, rsi
lea rcx, [r11 + rax*8]
sub r9, r11
sub r8, r11
mov rdx, rbp
sub rdx, rax
nop word [rax + rax]
mov rax, qword [rcx + r8]
xor rax, qword [rcx]
mov qword [rcx + r9], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x14000dba0
cmp edi, r10d
jge 0x14000dbcf
sub r10d, edi
lea rcx, [rsi + rbp*8]
movsxd r8, r10d
xor edx, edx
shl r8, 3
call fcn.140013440
mov dword [rbx], edi
cmp qword [rsi + rbp*8 - 8], 0
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
jne 0x14000dbeb
mov rcx, rbx
call fcn.140005de0
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rbx
ret