Function at 0x140018170
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
sub rsp, 0x58
cmp byte [rcx + 0x21], 0
je 0x140018562
mov qword [rax - 8], rbx
lea r9, [rcx + 2]
mov qword [rax - 0x10], rbp
mov ebx, 1
mov qword [rax - 0x18], rsi
mov ebp, 7
mov qword [rax - 0x20], rdi
mov esi, 3
mov qword [rax - 0x28], r12
mov edi, 2
mov qword [rax - 0x30], r13
mov r12d, 6
mov qword [rax - 0x38], r14
mov r13d, 8
mov qword [rax - 0x40], r15
mov r14d, 4
mov eax, 9
mov r15d, 5
sub rax, rcx
mov r11, rcx
mov qword [rsp + 0x60], rax
sub rbx, rcx
mov eax, 0xa
sub rdi, rcx
sub rax, rcx
sub rsi, rcx
mov qword [rsp + 0x68], rax
sub r14, rcx
mov eax, 0xb
sub r15, rcx
sub rax, rcx
sub r12, rcx
mov qword [rsp + 0x70], rax
sub rbp, rcx
mov eax, 0xc
sub r13, rcx
sub rax, rcx
mov r10, 0xfffffffffffffffe
mov qword [rsp + 0x78], rax
not r11
mov eax, 0xd
sub rax, rcx
mov qword [rsp], rax
sub r10, rcx
nop dword [rax]
cmp qword [0x14002bf78], 0x10
lea r8, [0x14002bf60]
lea rax, [r10 + r9]
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 - 2], al
lea rax, [r11 + r9]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 - 1], al
mov rax, r9
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
sub rax, rcx
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9], al
lea rax, [rbx + r9]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 1], al
lea rax, [rdi + r9]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 2], al
lea rax, [rsi + r9]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 3], al
lea rax, [r14 + r9]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 4], al
lea rax, [r15 + r9]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 5], al
lea rax, [r12 + r9]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 6], al
lea rax, [r9 + rbp]
cmp qword [0x14002bf78], 0x10
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
xor byte [r9 + 7], al
cmp qword [0x14002bf78], 0x10
lea rax, [r9 + r13]
lea r8, [0x14002bf60]
cmovae r8, qword [0x14002bf60]
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 8], al
cmp qword [0x14002bf78], 0x10
mov rax, qword [rsp + 0x60]
cmovae r8, qword [0x14002bf60]
add rax, r9
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 9], al
cmp qword [0x14002bf78], 0x10
mov rax, qword [rsp + 0x68]
cmovae r8, qword [0x14002bf60]
add rax, r9
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 0xa], al
cmp qword [0x14002bf78], 0x10
mov rax, qword [rsp + 0x70]
cmovae r8, qword [0x14002bf60]
add rax, r9
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 0xb], al
cmp qword [0x14002bf78], 0x10
mov rax, qword [rsp + 0x78]
cmovae r8, qword [0x14002bf60]
add rax, r9
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
lea r8, [0x14002bf60]
xor byte [r9 + 0xc], al
cmp qword [0x14002bf78], 0x10
mov rax, qword [rsp]
cmovae r8, qword [0x14002bf60]
add rax, r9
xor edx, edx
div qword [0x14002bf70]
movzx eax, byte [rdx + r8]
xor byte [r9 + 0xd], al
add r9, 0x10
lea rax, [r10 + r9]
cmp rax, 0x20
jb 0x140018240
mov r15, qword [rsp + 0x18]
mov r14, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov byte [rcx + 0x21], 0
add rsp, 0x58
ret