Function at 0x18001f560
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 0x18001f7e6
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x18001f5ee
mov r8, qword [rbx + 0x10]
test r8, r8
je 0x18001f5ee
mov r9d, dword [rbx + 0x38]
lea rcx, str._hsoutput__hs__lu.txt
call fcn.180014e40
jmp 0x18001f626
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x20a
call fcn.180023a70
lea rdx, [rbp - 0x70]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x18001f7cd
lea rdx, [rbp - 0x70]
lea rcx, str._lsglobal_apt_scenarios_output.txt
call fcn.180014e40
mov rdi, rax
test rax, rax
je 0x18001f7fe
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 0x18001f6a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x18001f7b6
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 0x18001f785
lea ecx, [rax + 0x12]
call fcn.180021354
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 0x18001f785
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 0x18001f797
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
je 0x18001f7a9
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rsi, rsi
je 0x18001f7b6
mov rcx, rsi
call fcn.180020ec0
cmp qword [rbx + 0x30], 0xffffffffffffffff
mov rsi, qword [rsp + 0x2a0]
jne 0x18001f7dc
mov rcx, rdi
call fcn.180020ec0
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 0x18001f7fe
mov rdx, qword [rbx + 0x20]
lea rcx, [0x180055e40]
mov byte [rbx + 0x3d], r14b
call fcn.180014e40
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