Function at 0x14003a464
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0xaa0
mov rax, qword [0x140099938]
xor rax, rsp
mov qword [rsp + 0xa90], rax
mov r12, qword [rsp + 0xb00]
and dword [rsp + 0x30], 0
mov rbp, r8
mov rsi, rdx
mov rbx, rcx
lea r13, str.CPrinterDriverInf::SetDirectoryId
mov r15d, 5
lea r8, [0x14007f570]
mov rdx, r13
mov ecx, r15d
mov rdi, r9
call fcn.140009480
mov r11, qword [rsp + 0xb08]
mov r9, rdi
mov qword [rsp + 0x28], r11
mov r8, rbp
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x20], r12
call sym.DELDRV64.exe_protected_virtual:_int___cdecl_CDeviceInf::SetDirectoryId_void____ptr64__wchar_t_const____ptr64__unsigned_long_long_unsigned___int64___wchar_t_const____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test eax, eax
je 0x14003a67c
and dword [rsp + 0x30], 0
lea rax, [rsp + 0x30]
lea edi, [r15 - 4]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x250]
mov ebx, 0x20a
mov r8d, edi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
test eax, eax
jne 0x14003a52b
lea r8, str.Getting_the_directory_of_66000_is_failed._n
jmp 0x14003a649
lea r8, [rsp + 0x250]
mov edx, 0x101d0
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdW]
mov rdx, r13
test eax, eax
je 0x14003a66b
lea r9, [rsp + 0x250]
lea r8, str.66000____1_s__._n
mov ecx, r15d
call fcn.140009480
and dword [rsp + 0x30], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x670]
mov r8d, edi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call sub.WINSPOOL.DRV_GetPrintProcessorDirectoryW
test eax, eax
jne 0x14003a59a
lea r8, str.Getting_the_directory_of_66001_is_failed._n
jmp 0x14003a649
lea r8, [rsp + 0x670]
mov edx, 0x101d1
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdW]
mov rdx, r13
test eax, eax
je 0x14003a66b
lea r9, [rsp + 0x670]
lea r8, str.66001____1_s__._n
mov ecx, r15d
call fcn.140009480
lea rcx, [rsp + 0x460]
mov edx, 0x105
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x14003a5f2
lea r8, str.Getting_the_directory_of_66002_is_failed._n
jmp 0x14003a649
lea r8, [rsp + 0x460]
mov edx, 0x101d2
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdW]
mov rdx, r13
test eax, eax
je 0x14003a66b
lea r9, [rsp + 0x460]
lea r8, str.66002____1_s__._n
mov ecx, r15d
call fcn.140009480
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x880]
xor ecx, ecx
mov dword [rsp + 0x30], ebx
call sub.mscms.dll_GetColorDirectoryW
test eax, eax
jne 0x14003a64e
lea r8, str.Getting_the_directory_of_66003_is_failed._n
mov rdx, r13
jmp 0x14003a672
lea r8, [rsp + 0x880]
mov edx, 0x101d3
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdW]
mov rdx, r13
test eax, eax
jne 0x14003a6b2
lea r8, str.SetupSetDirectoryId_failed.__0x_1_lX___n
mov ecx, 2
call fcn.140009480
lea r8, [0x14007f590]
mov ecx, r15d
mov rdx, r13
call fcn.140009480
xor eax, eax
mov rcx, qword [rsp + 0xa90]
xor rcx, rsp
call fcn.14005bad0
add rsp, 0xaa0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea r9, [rsp + 0x880]
lea r8, str.66003____1_s__._n
mov ecx, r15d
call fcn.140009480
mov ebx, 0x105
lea rcx, [rsp + 0x40]
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x14003a6eb
lea r8, str.Getting_the_directory_of_66004_is_failed._n
lea ecx, [rax + 2]
jmp 0x14003a686
lea r8, str.webprinters_
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.14005c0a4
lea rcx, [rsp + 0x40]
mov r8, rbp
mov rdx, rbx
call fcn.14005c0a4
lea r8, [0x1400778f0]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.14005c0a4
lea rcx, [rsp + 0x40]
mov r8, r12
mov rdx, rbx
call fcn.14005c0a4
lea r8, [rsp + 0x40]
mov edx, 0x101d4
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdW]
mov rdx, r13
test eax, eax
je 0x14003a66b
lea r9, [rsp + 0x40]
lea r8, str.66004____1_s__._n
mov ecx, r15d
call fcn.140009480
lea r8, [0x14007f590]
mov rdx, r13
mov ecx, r15d
call fcn.140009480
mov eax, edi
jmp 0x14003a690