Function at 0x180018690
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 0x1a8]
sub rsp, 0x2a8
xor r14d, r14d
mov dword [rsp + 0x40], 0x18
mov qword [rsp + 0x30], r14
lea r9, [rsp + 0x40]
mov rbx, rcx
mov dword [rsp + 0x28], 0xa0000000
mov rcx, qword [rcx + 0x20]
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
mov dword [rsp + 0x50], 1
mov qword [rsp + 0x48], r14
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rbx + 0x30], rax
cmp rax, 0xffffffffffffffff
jne 0x180018916
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x18001871e
mov r8, qword [rbx + 0x10]
test r8, r8
je 0x18001871e
mov r9d, dword [rbx + 0x38]
lea rcx, str._hsoutput__hs__lu.txt
call fcn.180012e50
jmp 0x180018756
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x20a
call fcn.18001ca80
lea rdx, [rbp - 0x70]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1800188fd
lea rdx, [rbp - 0x70]
lea rcx, str._lsglobal_apt_scenarios_output.txt
call fcn.180012e50
mov rdi, rax
test rax, rax
je 0x18001892e
xorps xmm0, xmm0
mov qword [rsp + 0x30], r14
mov edx, 4
mov qword [rsp + 0x2a0], rsi
mov dword [rsp + 0x28], 0x80
lea r9, [rsp + 0x40]
mov rcx, rax
mov qword [rbp + 0x1d8], r14
mov qword [rbp + 0x1d0], r14
mov rsi, r14
lea r8d, [rdx - 1]
mov qword [rbp + 0x1e0], r14
movups xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x20], 4
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 0x30], rax
cmp rax, 0xffffffffffffffff
jne 0x1800187d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1800188e6
xor r9d, r9d
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x38], rax
mov rcx, rdi
lea rax, [rbp + 0x1d8]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
lea edx, [r9 + 1]
mov qword [rsp + 0x20], r14
lea r8d, [r9 + 4]
call qword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoW]
test eax, eax
jne 0x1800188b5
lea ecx, [rax + 0x12]
call fcn.18001a484
xorps xmm0, xmm0
lea r9, [rbp + 0x1d0]
lea rdx, [rsp + 0x58]
mov ecx, 1
mov rsi, rax
movups xmmword [rax], xmm0
mov dword [rax + 0xe], 0x65
mov dword [rax], 0x760045
mov dword [rax + 4], 0x720065
mov dword [rax + 8], 0x6f0079
mov word [rax + 0xc], 0x6e
mov r8, qword [rbp + 0x1d8]
mov dword [rsp + 0x58], 0x1f01ff
mov dword [rsp + 0x5c], 1
mov dword [rsp + 0x60], 3
mov dword [rsp + 0x74], 1
mov qword [rbp - 0x80], rax
call qword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
test eax, eax
jne 0x1800188b5
mov rax, qword [rbp + 0x1d0]
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea edx, [r9 + 1]
lea r8d, [r9 + 4]
call qword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoW]
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x1800188c7
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
je 0x1800188d9
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rsi, rsi
je 0x1800188e6
mov rcx, rsi
call fcn.180019ff0
cmp qword [rbx + 0x30], 0xffffffffffffffff
mov rsi, qword [rsp + 0x2a0]
jne 0x18001890c
mov rcx, rdi
call fcn.180019ff0
xor al, al
add rsp, 0x2a8
pop r14
pop rdi
pop rbx
pop rbp
ret
mov byte [rbx + 0x3d], 1
mov qword [rbx + 0x28], rdi
jmp 0x18001892e
mov rdx, qword [rbx + 0x20]
lea rcx, [0x18004b3e0]
mov byte [rbx + 0x3d], r14b
call fcn.180012e50
mov qword [rbx + 0x28], rax
mov byte [rbx + 0x3c], 1
mov al, 1
add rsp, 0x2a8
pop r14
pop rdi
pop rbx
pop rbp
ret