Function at 0x14003863c
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x20
xor ebp, ebp
mov edi, edx
mov dword [rax + 8], ebp
mov rsi, rcx
mov ebx, 0x80004005
test rcx, rcx
je 0x140038a88
test edx, edx
je 0x140038a88
lea r8, [rax + 8]
lea rdx, [0x14004b360]
call fcn.1400025b4
test eax, eax
je 0x140038a81
mov eax, dword [rsp + 0x30]
cmp eax, 0xffffffff
je 0x140038a81
cmp eax, 0x19
ja 0x140038947
je 0x14003892f
cmp eax, 0x11
ja 0x1400387ed
je 0x14003879a
test eax, eax
je 0x140038a7d
sub eax, 1
je 0x140038758
sub eax, 9
je 0x14003892f
sub eax, 1
je 0x14003873c
cmp eax, 1
jne 0x140038a7d
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x1400386f6
mov ebx, ebp
jmp 0x140038722
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x14003870d
lea ebx, [rax + 0x57]
jmp 0x140038713
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jne 0x140038a7d
lea r8, str.Drivers
mov rdx, rdi
mov rcx, rsi
shr rdx, 1
call fcn.140010d0c
jmp 0x140038a7d
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
nop dword [rax + rax]
jmp 0x14003876b
mov ebx, ebp
jmp 0x140038a7d
shr edi, 1
mov rdx, rsi
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x140038751
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x140038786
lea ebx, [rax + 0x57]
jmp 0x14003878c
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jmp 0x140038a7d
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x1400387b5
mov ebx, ebp
jmp 0x1400387e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x1400387cc
lea ebx, [rax + 0x57]
jmp 0x1400387d2
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jne 0x140038a7d
lea r8, str.INF
jmp 0x140038729
sub eax, 0x12
je 0x1400388dc
sub eax, 2
je 0x140038889
sub eax, 1
je 0x140038a7d
sub eax, 2
je 0x140038a7d
cmp eax, 1
jne 0x140038a7d
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x140038835
mov ebx, ebp
jmp 0x140038861
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x14003884c
lea ebx, [rax + 0x57]
jmp 0x140038852
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jne 0x140038a7d
lea rdx, [0x14004b368]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsstr]
nop dword [rax + rax]
test rax, rax
je 0x140038a7d
mov word [rax + 4], bp
jmp 0x140038a7d
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x1400388a4
mov ebx, ebp
jmp 0x1400388d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x1400388bb
lea ebx, [rax + 0x57]
jmp 0x1400388c1
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jne 0x140038a7d
lea r8, str.Fonts
jmp 0x140038729
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x1400388f7
mov ebx, ebp
jmp 0x140038923
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x14003890e
lea ebx, [rax + 0x57]
jmp 0x140038914
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jne 0x140038a7d
lea r8, str.Help
jmp 0x140038729
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
nop dword [rax + rax]
jmp 0x14003876b
cmp eax, 0x4019
ja 0x140038a1f
cmp eax, 0x4016
jae 0x140038a7d
cmp eax, 0x1e
je 0x140038a7d
cmp eax, 0x32
je 0x140038a7d
cmp eax, 0x33
je 0x1400389d4
cmp eax, 0x34
je 0x140038981
add eax, 0xffffffcb
jmp 0x140038a7d
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x14003899c
mov ebx, ebp
jmp 0x1400389c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x1400389b3
lea ebx, [rax + 0x57]
jmp 0x1400389b9
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jne 0x140038a7d
lea r8, str.SpoolDrivers
jmp 0x140038729
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x1400389ef
mov ebx, ebp
jmp 0x140038a13
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x140038a06
lea ebx, [rax + 0x57]
jmp 0x140038a08
jle 0x140038a7d
movzx ebx, bx
or ebx, 0x80070000
jne 0x140038a7d
lea r8, str.Spool
jmp 0x140038729
sub eax, 0x401f
je 0x140038a7d
sub eax, 4
je 0x140038a6f
sub eax, 3
je 0x140038a61
sub eax, 5
je 0x140038a53
cmp eax, 0x3825
jne 0x140038a7d
mov edx, 1
mov rcx, rsi
call fcn.14001b20c
neg eax
sbb ecx, ecx
not ecx
and ebx, ecx
jmp 0x140038a7d
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.140037d88
jmp 0x140038a7b
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.140038074
jmp 0x140038a7b
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.140037a74
mov ebx, eax
mov eax, ebx
jmp 0x140038a8d
mov eax, 0x80070057
jmp 0x140038a8d
mov eax, 0x80004003
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret