Function at 0x14000d1b0
Capabilities:
Get common file path

Disassembly:
jmp 0x14000d1b0
mov rax, rsp
push rdi
sub rsp, 0x190
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1400573f0]
xor rax, rsp
mov qword [rsp + 0x180], rax
mov rbx, rcx
mov qword [rsp + 0x60], rcx
call fcn.140001564
nop
lea rax, vtable.CPrinterInf.0
mov qword [rbx], rax
cmp byte [0x140057180], 0
je 0x14000d4e5
mov byte [0x140057180], 0
mov byte [rsp + 0x70], 0
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x71]
call fcn.140013130
xor esi, esi
mov dword [rsp + 0x30], esi
mov edx, 0x105
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x14000d29d
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x40], sil
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x70]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.1400015d7
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [0x140057188]
call fcn.1400013ac
nop
cmp qword [rsp + 0x58], 0x10
jb 0x14000d29d
mov rcx, qword [rsp + 0x40]
call fcn.140012144
mov edx, 0x105
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x14000d313
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x40], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x70]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.1400015d7
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [0x1400571b0]
call fcn.1400013ac
nop
cmp qword [rsp + 0x58], 0x10
jb 0x14000d313
mov rcx, qword [rsp + 0x40]
call fcn.140012144
call fcn.140001582
test al, al
je 0x14000d3c1
lea rdx, str.mscms.dll
lea rcx, [0x1400591b0]
call fcn.140001550
test al, al
je 0x14000d3c1
mov dword [rsp + 0x30], 0x105
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x70]
xor edx, edx
lea rcx, [0x1400591b0]
call fcn.1400010d2
test al, al
je 0x14000d3c1
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x40], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x70]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.1400015d7
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [0x1400571d8]
call fcn.1400013ac
nop
cmp qword [rsp + 0x58], 0x10
jb 0x14000d3c1
mov rcx, qword [rsp + 0x40]
call fcn.140012144
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x105
lea r9, [rsp + 0x70]
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 1]
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryA
test eax, eax
je 0x14000d44b
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x40], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x70]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.1400015d7
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [0x140057200]
call fcn.1400013ac
nop
cmp qword [rsp + 0x58], 0x10
jb 0x14000d44b
mov rcx, qword [rsp + 0x40]
call fcn.140012144
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x105
lea r9, [rsp + 0x70]
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 1]
call sub.WINSPOOL.DRV_GetPrintProcessorDirectoryA
test eax, eax
je 0x14000d4e0
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x40], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x70]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.1400015d7
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [0x140057228]
call fcn.1400013ac
nop
cmp qword [rsp + 0x58], 0x10
jb 0x14000d4db
mov rcx, qword [rsp + 0x40]
call fcn.140012144
nop
mov rax, rbx
jmp 0x14000d4e8
mov rax, rbx
jmp 0x14000d4e8
mov rax, rbx
jmp 0x14000d4e8
mov rax, rbx
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.140013030
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret