Function at 0x14000d8e0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
jne 0x14000d516
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov edx, 1
lea ecx, [rdx + 0x1f]
call fcn.14002f9e8
mov r9d, 2
mov r10, rax
mov r11d, r9d
mov r8, rax
sub rbx, rax
nop word [rax + rax]
movzx ecx, byte [rbx + r8]
mov edx, r9d
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
lea edx, [r9 - 1]
cmovne ecx, eax
mov byte [r8], cl
movzx ecx, byte [rbx + r8 + 1]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
mov edx, r9d
cmovne ecx, eax
mov byte [r8 + 1], cl
movzx ecx, byte [rbx + r8 + 2]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
lea edx, [r9 - 1]
cmovne ecx, eax
mov byte [r8 + 2], cl
movzx ecx, byte [rbx + r8 + 3]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
mov edx, r9d
cmovne ecx, eax
mov byte [r8 + 3], cl
movzx ecx, byte [rbx + r8 + 4]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
lea edx, [r9 - 1]
cmovne ecx, eax
mov byte [r8 + 4], cl
movzx ecx, byte [rbx + r8 + 5]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
mov edx, r9d
cmovne ecx, eax
mov byte [r8 + 5], cl
movzx ecx, byte [rbx + r8 + 6]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
lea edx, [r9 - 1]
cmovne ecx, eax
mov byte [r8 + 6], cl
movzx ecx, byte [rbx + r8 + 7]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
mov edx, r9d
cmovne ecx, eax
mov byte [r8 + 7], cl
movzx ecx, byte [rbx + r8 + 8]
lea eax, [rcx - 0x35]
xor cl, 0x1d
and dl, 1
movzx ecx, cl
movzx eax, al
cmovne ecx, eax
mov byte [r8 + 8], cl
movzx ecx, byte [rbx + r8 + 9]
lea edx, [r9 - 1]
lea r8, [r8 + 0x10]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
mov edx, r9d
cmovne ecx, eax
mov byte [r8 - 7], cl
movzx ecx, byte [rbx + r8 - 6]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
lea edx, [r9 - 1]
cmovne ecx, eax
mov byte [r8 - 6], cl
movzx ecx, byte [rbx + r8 - 5]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
mov edx, r9d
cmovne ecx, eax
mov byte [r8 - 5], cl
movzx ecx, byte [rbx + r8 - 4]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
lea edx, [r9 - 1]
cmovne ecx, eax
mov byte [r8 - 4], cl
movzx ecx, byte [rbx + r8 - 3]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
mov edx, r9d
cmovne ecx, eax
mov byte [r8 - 3], cl
movzx ecx, byte [r8 + rbx - 2]
lea eax, [rcx - 0x35]
xor cl, 0x1d
movzx ecx, cl
and dl, 1
movzx eax, al
lea edx, [r9 - 1]
cmovne ecx, eax
mov byte [r8 - 2], cl
movzx ecx, byte [r8 + rbx - 1]
lea eax, [rcx - 0x35]
xor cl, 0x1d
and dl, 1
movzx ecx, cl
movzx eax, al
cmovne ecx, eax
add r9d, 0x10
mov byte [r8 - 1], cl
sub r11, 1
jne 0x14000d540
mov rax, r10
add rsp, 0x20
pop rbx
ret
push rdi
sub rsp, 0x20
mov rdi, rcx
test r8b, r8b
je 0x14000d8f8
add rsp, 0x20
pop rdi
jmp 0x14000d500
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rsi
movsxd rsi, edx
mov rcx, rsi
call fcn.14002fc3c
mov rbx, rax
test rax, rax
je 0x14000d923
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.14002e590
mov rsi, qword [rsp + 0x38]
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret