Function at 0x1400016c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r15
sub rsp, 0x20
movsxd r10, dword [0x1400180b0]
lea r15, [0x140018020]
lea r9, [0x140017378]
mov edi, 0xc
mov r8d, edi
mov rcx, qword [r15 + r10*8]
inc r10d
sub r9, rcx
mov rdx, rcx
movzx eax, byte [rdx + r9]
lea rdx, [rdx + 1]
xor al, 0x48
mov byte [rdx - 1], al
sub r8, 1
jne 0x140001702
xor r12d, r12d
mov byte [rcx + 0xc], r8b
cmp r10d, 0xf
cmovge r10d, r12d
mov dword [0x1400180b0], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movsxd r10, dword [0x1400180b0]
lea r9, [0x140017100]
mov esi, 0xb
mov qword [0x140018010], rax
mov r8d, esi
mov rcx, qword [r15 + r10*8]
inc r10d
sub r9, rcx
mov rdx, rcx
nop dword [rax]
movzx eax, byte [r9 + rdx]
lea rdx, [rdx + 1]
xor al, 0x48
mov byte [rdx - 1], al
sub r8, 1
jne 0x140001760
cmp r10d, 0xf
mov byte [rcx + 0xb], r12b
cmovge r10d, r12d
mov dword [0x1400180b0], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movsxd r10, dword [0x1400180b0]
lea r9, [0x140017250]
mov r8d, 0xa
mov rcx, qword [r15 + r10*8]
inc r10d
sub r9, rcx
mov rdx, rcx
nop
movzx eax, byte [r9 + rdx]
lea rdx, [rdx + 1]
xor al, 0x48
mov byte [rdx - 1], al
sub r8, 1
jne 0x1400017b0
cmp r10d, 0xf
mov byte [rcx + 0xa], r12b
cmovge r10d, r12d
mov dword [0x1400180b0], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movsxd rbx, dword [0x1400180b0]
lea r9, [0x1400170f0]
mov rbp, rax
mov qword [0x1400180d8], rax
mov r8, rdi
mov rdx, qword [r15 + rbx*8]
inc ebx
sub r9, rdx
mov rcx, rdx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + rcx]
lea rcx, [rcx + 1]
xor al, 0x48
mov byte [rcx - 1], al
sub r8, 1
jne 0x140001810
mov rcx, qword [0x140018010]
cmp ebx, 0xf
mov byte [rdx + 0xc], r12b
cmovge ebx, r12d
call fcn.140001610
mov qword [0x1400180e8], rax
lea r9, [0x140017120]
movsxd rax, ebx
mov r8d, 0xd
inc ebx
mov rdx, qword [r15 + rax*8]
mov rcx, rdx
sub r9, rdx
nop
movzx eax, byte [r9 + rcx]
lea rcx, [rcx + 1]
xor al, 0x48
mov byte [rcx - 1], al
sub r8, 1
jne 0x140001860
cmp ebx, 0xf
mov byte [rdx + 0xd], r12b
mov rcx, rbp
cmovge ebx, r12d
call fcn.140001610
mov qword [0x1400180c8], rax
lea r9, [0x140017140]
movsxd rax, ebx
mov r8, rdi
inc ebx
mov rdx, qword [r15 + rax*8]
mov rcx, rdx
sub r9, rdx
nop word [rax + rax]
movzx eax, byte [r9 + rcx]
lea rcx, [rcx + 1]
xor al, 0x48
mov byte [rcx - 1], al
sub r8, 1
jne 0x1400018b0
cmp ebx, 0xf
mov byte [rdx + 0xc], r12b
mov rcx, rbp
cmovge ebx, r12d
call fcn.140001610
mov qword [0x140017ff0], rax
lea r9, str._v:____
movsxd rax, ebx
inc ebx
mov rdx, qword [r15 + rax*8]
mov r8, rdx
sub r9, rdx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + r8]
lea r8, [r8 + 1]
xor al, 0x48
mov byte [r8 - 1], al
sub rdi, 1
jne 0x140001900
mov rcx, qword [0x140018010]
cmp ebx, 0xf
mov byte [rdx + 0xc], r12b
cmovge ebx, r12d
call fcn.140001610
mov qword [0x1400180b8], rax
lea r8, str._1_
movsxd rax, ebx
inc ebx
mov rdx, qword [r15 + rax*8]
mov rcx, rdx
sub r8, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
xor al, 0x48
mov byte [rcx - 1], al
sub rsi, 1
jne 0x140001950
cmp ebx, 0xf
mov byte [rdx + 0xb], r12b
mov rcx, rbp
cmovge ebx, r12d
mov dword [0x1400180b0], ebx
call fcn.140001610
mov qword [0x140018000], rax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r12
pop rdi
ret