Function at 0x1600ec170
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x11a0
call fcn.160072500
sub rsp, rax
mov rax, qword [0x160270bd8]
xor rax, rsp
mov qword [rsp + 0x1190], rax
mov r12, r8
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x210]
call sub.msvcrt.dll_memset
mov ebx, 0x208
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0x320]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0x530]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0x740]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0xd70]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0x950]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0xb60]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0xf80]
call sub.msvcrt.dll_memset
lea rax, [rsp + 0xf80]
mov qword [rsp + 0x78], rax
lea rbx, str.SetupLog
lea rsi, str.WdsSetupLogInit
mov rdi, rsi
xor ecx, ecx
call fcn.1600ee4f8
xor r13d, r13d
test eax, eax
jne 0x1600ec270
xor eax, eax
jmp 0x1600ecae2
call fcn.1600eb704
test eax, eax
je 0x1600ec287
lea rdi, str.GlobalWdsSetupLogInit
lea rbx, str.GlobalSetupLog
mov r15d, 1
mov edx, r15d
mov rcx, rdi
mov rax, qword [0x160274c40]
mov r8, qword [case.0x16003fc5a.0]
call r8
mov r14, rax
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x1600ec2e7
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 5
jne 0x1600ec2e2
lea rbx, str.SetupLog
mov edx, r15d
mov rcx, rsi
mov rax, qword [0x160274c40]
mov r8, qword [case.0x16003fc5a.0]
call r8
mov r14, rax
mov qword [rsp + 0x68], rax
test r14, r14
je 0x1600ec269
add dword [0x160274500], r15d
mov rsi, qword [0x160274c20]
test rsi, rsi
je 0x1600ec304
mov edi, r15d
mov qword [rsp + 0x70], rsi
jmp 0x1600ec352
mov edi, r13d
call fcn.1600ed454
mov rcx, rbx
call fcn.1600f0908
mov rsi, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1600ec352
dec dword [0x160274500]
mov rcx, r14
mov rax, qword [0x160274c38]
mov rdx, qword [case.0x16003fc5a.0]
call rdx
mov rcx, r14
mov rax, qword [0x160274c58]
mov rdx, qword [case.0x16003fc5a.0]
call rdx
jmp 0x1600ec269
mov r15d, r13d
mov dword [rsp + 0x60], r13d
mov ebx, 0x104
test r12, r12
je 0x1600ec381
mov r9, r12
lea r8, [0x1601fbd10]
mov edx, ebx
lea rcx, [rsp + 0x210]
call fcn.1600cee10
test eax, eax
jns 0x1600ec3b0
mov edx, 0xfa
lea rcx, [rsp + 0x210]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x1600ec3b0
lea r8, [0x1601fdc98]
mov rdx, rbx
lea rcx, [rsp + 0x210]
call fcn.1600b2f68
nop
lea rax, [rsp + 0x320]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], r13
mov dword [rsp + 0xa8], r13d
lea rax, [rsp + 0x530]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], r13
mov dword [rsp + 0xd8], r13d
lea rax, [rsp + 0xd70]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], r13
mov dword [rsp + 0x138], r13d
lea rax, [rsp + 0x740]
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x150], r13d
lea rax, str.CONOUT_
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], r13
mov dword [rsp + 0x168], r13d
lea rax, [rsp + 0x950]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], r13
mov dword [rsp + 0xf0], r13d
lea rax, [rsp + 0xb60]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], r13
mov dword [rsp + 0x108], r13d
lea rax, [0x1601fdbe8]
mov qword [rsp + 0x188], rax
lea r8, [0x1601fdb50]
mov qword [rsp + 0x190], r8
lea rcx, [0x1601fdbf8]
mov qword [rsp + 0x198], rcx
lea rdx, [0x1601fdbd0]
mov qword [rsp + 0x1a0], rdx
lea rax, [0x1601fdbe0]
mov qword [rsp + 0x1a8], rax
mov dword [rsp + 0x1b0], r13d
mov qword [rsp + 0x1b8], r8
mov qword [rsp + 0x1c0], rcx
lea rax, [0x1601fdbf0]
mov qword [rsp + 0x1c8], rax
lea rax, [0x1601fdc08]
mov qword [rsp + 0x1d0], rax
lea rax, [0x1601fdc00]
mov qword [rsp + 0x1d8], rax
lea rax, [0x1601fdbd8]
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], rdx
lea rax, str.SACSetupAct
mov qword [rsp + 0x1f0], rax
lea rax, str.Windows_Setup_activity_log
mov qword [rsp + 0x1f8], rax
lea rax, str.SACSetupErr
mov qword [rsp + 0x200], rax
lea rax, str.Windows_Setup_error_log
mov qword [rsp + 0x208], rax
mov qword [rsp + 0xb0], r8
mov eax, 0x4000000
mov dword [rsp + 0xb8], eax
mov r12d, 1
mov qword [rsp + 0xbc], r12
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x88], 0x2000000
mov qword [rsp + 0x8c], r12
mov qword [rsp + 0x110], r8
mov dword [rsp + 0x118], 0x3000000
mov dword [rsp + 0x11c], r12d
mov dword [rsp + 0x120], r12d
mov qword [rsp + 0x170], r8
mov qword [rsp + 0x178], rax
mov dword [rsp + 0x180], r13d
lea rax, str.setupact.log
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x210]
lea r8, str._S_s
mov rdx, rbx
lea rcx, [rsp + 0x320]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
lea rax, str.setuperr.log
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x210]
lea r8, str._S_s
mov rdx, rbx
lea rcx, [rsp + 0x530]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
lea rax, str.setuplog.xml
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x210]
lea r8, str._S_s
mov rdx, rbx
lea rcx, [rsp + 0x740]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
lea rax, str.diagerr.xml
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x210]
lea r8, str._S_s
mov rdx, rbx
lea rcx, [rsp + 0x950]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
lea rax, str.diagwrn.xml
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x210]
lea r8, str._S_s
mov rdx, rbx
lea rcx, [rsp + 0xb60]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
lea rax, str.debug.log
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x210]
lea r8, str._S_s
mov rdx, rbx
lea rcx, [rsp + 0xd70]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
lea rax, str.setuplog.cfg
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x210]
lea r8, str._S_s
mov rdx, rbx
lea rcx, [rsp + 0xf80]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
mov dword [0x1602744ec], r12d
lea r9, [rsp + 0x210]
lea r8, [0x1601fdd28]
mov rdx, rbx
lea rcx, [0x160274510]
call fcn.160059e34
test eax, eax
js 0x1600ecaa4
bt dword [0x160274c18], 0x18
setae al
test r12b, al
je 0x1600ec7a0
lea rcx, [0x1600eb880]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov qword [0x160274508], rax
bts dword [0x160274c18], 0x18
call fcn.1600eb6a0
test eax, eax
je 0x1600ecaa4
mov ecx, dword [0x160274c18]
bt ecx, 0xc
setae al
lea rbx, [0x160200128]
test r12b, al
je 0x1600ec82b
mov rax, qword [rsi]
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x20], rcx
lea r9, [0x160200118]
lea r8, [rsp + 0xb0]
lea rdx, [0x1601fde60]
mov rcx, rsi
mov rax, qword [rax]
mov r10, qword [case.0x16003fc5a.0]
call r10
test eax, eax
je 0x1600ecaa4
mov ecx, dword [0x160274c18]
bts ecx, 0xc
mov dword [0x160274c18], ecx
bt ecx, 0xd
setae al
test r12b, al
je 0x1600ec89c
mov rax, qword [rsi]
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x20], rcx
lea r9, [0x160200118]
lea r8, [rsp + 0x80]
lea rdx, [0x1601fde60]
mov rcx, rsi
mov rax, qword [rax]
mov r10, qword [case.0x16003fc5a.0]
call r10
test eax, eax
je 0x1600ecaa4
mov ecx, dword [0x160274c18]
bts ecx, 0xd
mov dword [0x160274c18], ecx
mov dword [0x160274c18], ecx
bt ecx, 0xf
setae al
test r12b, al
je 0x1600ec90b
mov rax, qword [rsi]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
lea rcx, [rsp + 0x1b8]
mov qword [rsp + 0x20], rcx
lea r9, [0x1601fde40]
lea r8, [rsp + 0x1b8]
lea rdx, [0x1601fde70]
mov rcx, rsi
mov rax, qword [rax]
mov r10, qword [case.0x16003fc5a.0]
call r10
test eax, eax
je 0x1600ecaa4
mov ecx, dword [0x160274c18]
bts ecx, 0xf
mov dword [0x160274c18], ecx
bt ecx, 0xe
setae al
test r12b, al
je 0x1600ec9bd
mov rax, qword [rsi]
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
lea r9, [0x1601fde50]
lea r8, [rsp + 0x80]
lea rdx, [0x1601fde60]
mov rcx, rsi
mov rax, qword [rax]
mov r10, qword [case.0x16003fc5a.0]
call r10
test eax, eax
je 0x1600ecaa4
mov rax, qword [rsi]
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
lea r9, [0x1601fde50]
lea r8, [rsp + 0x110]
lea rdx, [0x1601fde60]
mov rcx, rsi
mov rax, qword [rax]
mov r10, qword [case.0x16003fc5a.0]
call r10
test eax, eax
je 0x1600ecaa4
bts dword [0x160274c18], 0xe
test edi, edi
jne 0x1600eca14
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcessId]
mov dword [0x160274c2c], eax
mov qword [0x160274c20], rsi
mov r8d, 0x104
lea rdx, [0x160270d90]
xor ecx, ecx
mov rax, qword [0x160274c70]
mov r9, qword [case.0x16003fc5a.0]
call r9
mov r8d, 0x104
lea rdx, str._unknown_
xor ecx, ecx
mov rax, qword [0x160274c50]
mov r9, qword [case.0x16003fc5a.0]
call r9
mov r15d, r12d
mov dword [rsp + 0x60], r12d
test edi, edi
jne 0x1600ecaa4
mov rax, qword [rsi]
xor r9d, r9d
lea r8, [rsp + 0x78]
lea rdx, [0x160200108]
mov rcx, rsi
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x16003fc5a.0]
call r10
test eax, eax
jne 0x1600ecaa4
mov rdi, qword [rsp + 0x11c8]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
lea rdx, str.Unable_to_load_global_log_filter.
mov ecx, 0x67000000
call fcn.1600f0a4c
mov rcx, rax
mov dword [rsp + 0x50], r13d
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rdi
lea rax, str.WdsSetupLogInit
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0x586
xor r9d, r9d
mov edx, 0x90000
call fcn.1600ecb60
nop
test r15d, r15d
jne 0x1600ecab5
mov qword [0x160274c20], rsi
call fcn.1600ec0a0
mov rcx, r14
mov rax, qword [0x160274c38]
mov rdx, qword [case.0x16003fc5a.0]
call rdx
mov rcx, r14
mov rax, qword [0x160274c58]
mov rdx, qword [case.0x16003fc5a.0]
call rdx
mov rax, qword [0x160274c20]
mov rcx, qword [rsp + 0x1190]
xor rcx, rsp
call fcn.16006e590
lea r11, [rsp + 0x11a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret