Function at 0x14002ffdc
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x30
xor ebp, ebp
mov edi, edx
mov dword [rsp + 0x20], ebp
mov rsi, rcx
mov ebx, 0x80004005
test rcx, rcx
je 0x1400303af
test edx, edx
je 0x1400303af
lea r8, [rsp + 0x20]
lea rdx, [0x140042130]
call qword [sym.imp.msvcrt.dll_swscanf]
test eax, eax
je 0x1400303a8
mov eax, dword [rsp + 0x20]
cmp eax, 0xffffffff
je 0x1400303a8
cmp eax, 0x19
ja 0x140030282
je 0x140030270
cmp eax, 0x11
ja 0x14003015c
je 0x140030115
test eax, eax
je 0x1400303a4
sub eax, 1
je 0x1400300e3
sub eax, 9
je 0x140030270
sub eax, 1
je 0x1400300cb
cmp eax, 1
jne 0x1400303a4
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x14003008b
mov ebx, ebp
jmp 0x1400300b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x1400303a4
lea r8, str.Drivers
mov rdx, rdi
mov rcx, rsi
shr rdx, 1
call fcn.140001584
jmp 0x1400303a4
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1400300f2
mov ebx, ebp
jmp 0x1400303a4
shr edi, 1
mov rdx, rsi
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
jmp 0x1400300d8
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x1400303a4
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x14003012a
mov ebx, ebp
jmp 0x140030150
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x1400303a4
lea r8, str.INF
jmp 0x1400300b8
sub eax, 0x12
je 0x140030229
sub eax, 2
je 0x1400301e2
sub eax, 1
je 0x1400303a4
sub eax, 2
je 0x1400303a4
cmp eax, 1
jne 0x1400303a4
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x14003019a
mov ebx, ebp
jmp 0x1400301c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x1400303a4
lea rdx, [0x140042138]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x1400303a4
mov word [rax + 4], bp
jmp 0x1400303a4
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1400301f7
mov ebx, ebp
jmp 0x14003021d
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x1400303a4
lea r8, str.Fonts
jmp 0x1400300b8
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x14003023e
mov ebx, ebp
jmp 0x140030264
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x1400303a4
lea r8, str.Help
jmp 0x1400300b8
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
jmp 0x1400300d8
cmp eax, 0x4019
ja 0x140030346
cmp eax, 0x4016
jae 0x1400303a4
cmp eax, 0x1e
je 0x1400303a4
cmp eax, 0x32
je 0x1400303a4
cmp eax, 0x33
je 0x140030303
cmp eax, 0x34
je 0x1400302bc
add eax, 0xffffffcb
jmp 0x1400303a4
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1400302d1
mov ebx, ebp
jmp 0x1400302f7
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x1400303a4
lea r8, str.SpoolDrivers
jmp 0x1400300b8
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x140030318
mov ebx, ebp
jmp 0x14003033a
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x57
cmove eax, ecx
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x1400303a4
lea r8, str.Spool
jmp 0x1400300b8
sub eax, 0x401f
je 0x1400303a4
sub eax, 4
je 0x140030396
sub eax, 3
je 0x140030388
sub eax, 5
je 0x14003037a
cmp eax, 0x3825
jne 0x1400303a4
mov edx, 1
mov rcx, rsi
call fcn.140017e34
neg eax
sbb ecx, ecx
not ecx
and ebx, ecx
jmp 0x1400303a4
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.14002f8cc
jmp 0x1400303a2
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.14002f524
jmp 0x1400303a2
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.14002fb38
mov ebx, eax
mov eax, ebx
jmp 0x1400303b4
mov eax, 0x80070057
jmp 0x1400303b4
mov eax, 0x80004003
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret