Function at 0x1400300cc
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 0x14003049f
test edx, edx
je 0x14003049f
lea r8, [rsp + 0x20]
lea rdx, [0x140042130]
call qword [sym.imp.msvcrt.dll_swscanf]
test eax, eax
je 0x140030498
mov eax, dword [rsp + 0x20]
cmp eax, 0xffffffff
je 0x140030498
cmp eax, 0x19
ja 0x140030372
je 0x140030360
cmp eax, 0x11
ja 0x14003024c
je 0x140030205
test eax, eax
je 0x140030494
sub eax, 1
je 0x1400301d3
sub eax, 9
je 0x140030360
sub eax, 1
je 0x1400301bb
cmp eax, 1
jne 0x140030494
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x14003017b
mov ebx, ebp
jmp 0x1400301a1
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 0x140030494
lea r8, str.Drivers
mov rdx, rdi
mov rcx, rsi
shr rdx, 1
call fcn.140001584
jmp 0x140030494
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1400301e2
mov ebx, ebp
jmp 0x140030494
shr edi, 1
mov rdx, rsi
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
jmp 0x1400301c8
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 0x140030494
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x14003021a
mov ebx, ebp
jmp 0x140030240
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 0x140030494
lea r8, str.INF
jmp 0x1400301a8
sub eax, 0x12
je 0x140030319
sub eax, 2
je 0x1400302d2
sub eax, 1
je 0x140030494
sub eax, 2
je 0x140030494
cmp eax, 1
jne 0x140030494
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x14003028a
mov ebx, ebp
jmp 0x1400302b0
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 0x140030494
lea rdx, [0x140042138]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140030494
mov word [rax + 4], bp
jmp 0x140030494
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1400302e7
mov ebx, ebp
jmp 0x14003030d
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 0x140030494
lea r8, str.Fonts
jmp 0x1400301a8
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x14003032e
mov ebx, ebp
jmp 0x140030354
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 0x140030494
lea r8, str.Help
jmp 0x1400301a8
shr edi, 1
mov rcx, rsi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
jmp 0x1400301c8
cmp eax, 0x4019
ja 0x140030436
cmp eax, 0x4016
jae 0x140030494
cmp eax, 0x1e
je 0x140030494
cmp eax, 0x32
je 0x140030494
cmp eax, 0x33
je 0x1400303f3
cmp eax, 0x34
je 0x1400303ac
add eax, 0xffffffcb
jmp 0x140030494
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1400303c1
mov ebx, ebp
jmp 0x1400303e7
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 0x140030494
lea r8, str.SpoolDrivers
jmp 0x1400301a8
mov edx, edi
mov rcx, rsi
shr edx, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x140030408
mov ebx, ebp
jmp 0x14003042a
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 0x140030494
lea r8, str.Spool
jmp 0x1400301a8
sub eax, 0x401f
je 0x140030494
sub eax, 4
je 0x140030486
sub eax, 3
je 0x140030478
sub eax, 5
je 0x14003046a
cmp eax, 0x3825
jne 0x140030494
mov edx, 1
mov rcx, rsi
call fcn.140017e7c
neg eax
sbb ecx, ecx
not ecx
and ebx, ecx
jmp 0x140030494
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.14002f9bc
jmp 0x140030492
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.14002f614
jmp 0x140030492
shr edi, 1
mov rcx, rsi
mov edx, edi
call fcn.14002fc28
mov ebx, eax
mov eax, ebx
jmp 0x1400304a4
mov eax, 0x80070057
jmp 0x1400304a4
mov eax, 0x80004003
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret