Function at 0x180005290
Capabilities:
Accept command line arguments
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x180018020]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor eax, eax
mov r9d, 0xc
lea r8, [0x1800193a0]
lea rcx, [rbp - 0x60]
mov edx, r9d
mov byte [rbp - 0x60], 0
mov qword [rbp - 0x5f], rax
mov dword [rbp - 0x57], eax
call fcn.18000662c
lea rax, [rbp - 0x60]
xor ebx, ebx
mov edx, 1
sub rdx, rax
lea rax, [rbp - 0x60]
mov esi, 2
mov r8d, esi
mov r12d, 3
lea r10, [rbp - 0x5c]
sub r8, rax
lea rax, [rbp - 0x60]
lea r11, [rbp - 0x5d]
mov r9d, r12d
neg r10
mov edi, ebx
sub r9, rax
neg r11
lea r13, [0x180019330]
nop word [rax + rax]
lea rcx, [rbp + rdi - 0x60]
mov rax, rdi
add rdi, 6
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx], al
lea rax, [rcx + rdx]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 1], al
lea rax, [rcx + r8]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 2], al
lea rax, [rcx + r9]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 3], al
lea rax, [rcx + r10]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 4], al
lea rax, [rcx + r11]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 5], al
cmp rdi, 0xc
jb 0x180005330
xor eax, eax
mov r9d, 0xe
lea r8, [0x1800193b0]
lea rcx, [rbp - 0x30]
mov edx, r9d
mov byte [rbp - 0x30], bl
mov qword [rbp - 0x2f], rax
mov dword [rbp - 0x27], eax
mov word [rbp - 0x23], ax
call fcn.18000662c
lea rax, [rbp - 0x30]
mov edx, 1
sub rdx, rax
mov r11, rbx
nop
mov rax, r11
lea rcx, [rbp + r11 - 0x30]
add r11, rsi
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx], al
lea rax, [rcx + rdx]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 1], al
cmp r11, 0xe
jb 0x1800053d0
xor eax, eax
mov r9d, 0xe
lea r8, [0x1800193c0]
lea rcx, [rbp - 0x20]
mov edx, r9d
mov byte [rbp - 0x20], bl
mov qword [rbp - 0x1f], rax
mov dword [rbp - 0x17], eax
mov word [rbp - 0x13], ax
call fcn.18000662c
lea rax, [rbp - 0x20]
mov edx, 1
sub rdx, rax
mov r11, rbx
mov rax, r11
lea rcx, [rbp + r11 - 0x20]
add r11, rsi
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx], al
lea rax, [rcx + rdx]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 1], al
cmp r11, 0xe
jb 0x180005432
xor eax, eax
mov r9d, 0xc
lea r8, [0x1800193d0]
lea rcx, [rbp - 0x50]
mov edx, r9d
mov byte [rbp - 0x50], bl
mov qword [rbp - 0x4f], rax
mov dword [rbp - 0x47], eax
call fcn.18000662c
lea rax, [rbp - 0x50]
mov r8d, 1
mov r9, rsi
sub r8, rax
lea rax, [rbp - 0x50]
lea r11, [rbp - 0x4c]
sub r9, rax
lea rax, [rbp - 0x50]
lea rdx, [rbp - 0x4d]
mov r10, r12
neg r11
mov rdi, rbx
sub r10, rax
neg rdx
nop word [rax + rax]
lea rcx, [rbp + rdi - 0x50]
mov rax, rdi
add rdi, 6
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx], al
lea rax, [rcx + r8]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 1], al
lea rax, [rcx + r9]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 2], al
lea rax, [rcx + r10]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 3], al
lea rax, [rcx + r11]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 4], al
lea rax, [rcx + rdx]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 5], al
cmp rdi, 0xc
jb 0x1800054c0
xor eax, eax
mov r9d, 0xc
lea r8, [0x1800193e0]
lea rcx, [rbp - 0x40]
mov edx, r9d
mov byte [rbp - 0x40], bl
mov qword [rbp - 0x3f], rax
mov dword [rbp - 0x37], eax
call fcn.18000662c
lea rax, [rbp - 0x40]
mov edx, 1
lea r8, [rbp - 0x3c]
sub rdx, rax
lea rax, [rbp - 0x40]
lea r9, [rbp - 0x3d]
sub rsi, rax
lea rax, [rbp - 0x40]
neg r8
sub r12, rax
neg r9
nop word [rax + rax]
lea rcx, [rbp + rbx - 0x40]
mov rax, rbx
add rbx, 6
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx], al
lea rax, [rcx + rdx]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 1], al
lea rax, [rcx + rsi]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 2], al
lea rax, [rcx + r12]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 3], al
lea rax, [rcx + r8]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 4], al
lea rax, [r9 + rcx]
and eax, 7
movzx eax, byte [rax + r13]
xor byte [rcx + 5], al
cmp rbx, 0xc
jb 0x180005580
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea rdx, [rbp - 0x30]
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_StrStrA]
test rax, rax
jne 0x18000564a
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrA]
test rax, rax
jne 0x18000564a
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrA]
test rax, rax
jne 0x18000564a
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrA]
test rax, rax
jne 0x18000564a
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrA]
test rax, rax
je 0x180005692
call fcn.180001870
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call fcn.180001e80
lea rdx, [0x180004f90]
lea rcx, [0x18001a9a0]
call fcn.180001f30
lea rdx, [0x180005150]
lea rcx, [0x18001a9a8]
call fcn.180001f30
call fcn.180001a70
mov dword [0x18001a998], 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180006170
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rbp
ret