Function at 0x180062160
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x48
xor edi, edi
mov byte [rcx + 0x10], 1
lea rax, [0x18027aa78]
mov qword [rcx + 8], rdi
mov qword [rcx], rax
mov rbx, rcx
add rcx, 0x118
movzx r13d, dx
call fcn.18000ba20
mov dword [rbp - 0x1b], 0xf6540ee6
movabs r12, 0xaaaaaaaaaaaaaaab
mov dword [rbp - 0x17], 0x14d710a8
mov dword [rbp - 0x13], 0xfd6e6259
mov word [rbp - 0xf], 0x83
mov qword [rbp + 0x60], rdi
mov rax, qword [rbp + 0x60]
nop dword [rax]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x60]
movzx r8d, byte [rbp + rax - 0x1a]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x60]
shl dl, 3
sub cl, dl
mov edx, 0x736e164d
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x1a], dl
mov rax, qword [rbp + 0x60]
inc rax
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
cmp rax, 0xc
jb 0x1800621d0
mov r12, qword [rbp + 0x58]
mov byte [rbp - 0xe], dil
call fcn.1800015c0
mov r14, qword gs:[0x58]
mov rsi, rax
mov r15d, dword [0x1802848b4]
mov eax, 4
mov rdi, qword [r14 + r15*8]
add rdi, rax
mov ecx, dword [rdi]
cmp dword [0x180286968], ecx
jle 0x180062280
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180062280
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x1800622b9
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x1800622b9
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x1a]
mov rcx, rax
call r8
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call rax
mov qword [rbx + 0x130], rax
mov rax, qword [0x180285d10]
test rax, rax
jne 0x180062419
mov dword [rbp + 0x48], 0xea7c5438
movabs r9, 0xaaaaaaaaaaaaaaab
mov dword [rbp + 0x4c], 0x587af
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
nop word [rax + rax]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x60]
movzx r8d, byte [rbp + rax + 0x49]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x60]
shl dl, 3
sub cl, dl
mov edx, 0x26e3ee27
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x49], dl
mov rax, qword [rbp + 0x60]
inc rax
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
cmp rax, 6
jb 0x180062320
mov byte [rbp + 0x4f], 0
call fcn.1800017a0
mov rdi, qword [r14 + r15*8]
mov rsi, rax
mov eax, 4
add rdi, rax
mov ecx, dword [rdi]
cmp dword [0x180286968], ecx
jle 0x1800623bc
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x1800623bc
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x1800623f5
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x1800623f5
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp + 0x49]
mov rcx, rax
call r8
mov qword [0x180285d10], rax
xor r8d, r8d
lea edx, [r8 + 1]
lea ecx, [rdx + 1]
call rax
xor ecx, ecx
mov qword [rbx + 0x18], rax
mov rax, qword [0x180286930]
mov word [rbx + 0x108], 0
mov qword [rbx + 0x110], rcx
mov byte [rbx + 0x10a], 1
mov dword [rbp + 0x50], ecx
test rax, rax
jne 0x18006257d
mov byte [rbp - 0x1c], al
movabs r12, 0xaaaaaaaaaaaaaaab
mov dword [rbp - 0x28], 0x138eabf4
mov dword [rbp - 0x24], 0xe87d704c
mov dword [rbp - 0x20], 0x8c958aa0
mov qword [rbp + 0x60], rcx
mov rax, qword [rbp + 0x60]
nop
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x60]
movzx r8d, byte [rbp + rax - 0x27]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x60]
shl dl, 3
sub cl, dl
mov edx, 0x203e1c2
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x27], dl
mov rax, qword [rbp + 0x60]
inc rax
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
cmp rax, 0xb
jb 0x180062480
mov r12, qword [rbp + 0x58]
mov byte [rbp - 0x1c], 0
call fcn.1800017a0
mov rdi, qword [r14 + r15*8]
mov rsi, rax
mov eax, 4
add rdi, rax
mov edx, dword [rdi]
cmp dword [0x180286968], edx
jle 0x180062520
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180062520
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rdx
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x180062559
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180062559
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x27]
mov rcx, rax
call r8
mov qword [0x180286930], rax
mov rcx, qword [rbx + 0x18]
lea r8, [rbp + 0x50]
mov edx, 0x8004667e
call rax
mov rcx, rbx
mov word [rbx + 0x138], r13w
mov byte [rbx + 0x13a], 0
call fcn.180001db0
lea rax, [0x18027ab30]
mov qword [rbx + 0x140], r12
mov qword [rbx], rax
mov rax, rbx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret