Function at 0x140026130
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x768
mov qword [rsp + 0x728], 0xfffffffffffffffe
mov rax, qword [0x1402aa808]
xor rax, rsp
mov qword [rsp + 0x750], rax
mov dword [rsp + 0x430], 0
mov dword [rsp + 0x90], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x698], 0
mov qword [rsp + 0x690], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x680], 0
mov qword [rsp + 0x688], 0
lea rcx, [rsp + 0x150]
call fcn.140065c10
nop
lea rcx, [rsp + 0x438]
call fcn.140062470
nop
lea rdx, str.CPrinterDriverInf::AddPrinterDriver__________________________IN._n
mov ecx, 5
call fcn.14001c160
mov r8d, 0x50
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1401ac6a0
mov r8d, 0x88
xor edx, edx
lea rcx, [rsp + 0xa0]
call fcn.1401ac6a0
cmp qword [rsp + 0x778], 0
je 0x14002624c
cmp qword [rsp + 0x778], 0
je 0x14002628f
mov rcx, qword [rsp + 0x778]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x14002628f
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_pInstallSection_is_NULL_or_no_length._n
mov ecx, 2
call fcn.14001c160
mov dword [rsp + 0x708], 0
lea rcx, [rsp + 0x438]
call fcn.1400629e0
nop
lea rcx, [rsp + 0x150]
call fcn.140066f20
mov eax, dword [rsp + 0x708]
jmp 0x140027965
lea rdx, str.CPrinterDriverInf::AddPrinterDriver__OK__pInstallSection._n
mov ecx, 5
call fcn.14001c160
cmp qword [rsp + 0x780], 0
je 0x1400262c8
cmp qword [rsp + 0x780], 0
je 0x14002630b
mov rcx, qword [rsp + 0x780]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x14002630b
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_pcMfgName_is_NULL_or_no_length._n
mov ecx, 2
call fcn.14001c160
mov dword [rsp + 0x70c], 0
lea rcx, [rsp + 0x438]
call fcn.1400629e0
nop
lea rcx, [rsp + 0x150]
call fcn.140066f20
mov eax, dword [rsp + 0x70c]
jmp 0x140027965
mov rcx, qword [rsp + 0x780]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
shl rax, 1
mov r8d, 0xd55
lea rdx, [0x1401ecd28]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x130], rax
cmp qword [rsp + 0x130], 0
jne 0x14002638b
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error._pMfgName__n
mov ecx, 2
call fcn.14001c160
mov dword [rsp + 0x710], 0
lea rcx, [rsp + 0x438]
call fcn.1400629e0
nop
lea rcx, [rsp + 0x150]
call fcn.140066f20
mov eax, dword [rsp + 0x710]
jmp 0x140027965
lea rdx, str.CPrinterDriverInf::AddPrinterDriver__OK__pcMfgName._n
mov ecx, 5
call fcn.14001c160
mov rdx, qword [rsp + 0x780]
mov rcx, qword [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp qword [rsp + 0x788], 0
je 0x1400263da
cmp qword [rsp + 0x788], 0
je 0x14002641d
mov rcx, qword [rsp + 0x788]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x14002641d
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_pcModelName_is_NULL_or_no_length._n
mov ecx, 2
call fcn.14001c160
mov dword [rsp + 0x714], 0
lea rcx, [rsp + 0x438]
call fcn.1400629e0
nop
lea rcx, [rsp + 0x150]
call fcn.140066f20
mov eax, dword [rsp + 0x714]
jmp 0x140027965
mov rcx, qword [rsp + 0x788]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
shl rax, 1
mov r8d, 0xd62
lea rdx, [0x1401ecec8]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x138], rax
cmp qword [rsp + 0x138], 0
jne 0x14002649d
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error._pModelName__n
mov ecx, 2
call fcn.14001c160
mov dword [rsp + 0x718], 0
lea rcx, [rsp + 0x438]
call fcn.1400629e0
nop
lea rcx, [rsp + 0x150]
call fcn.140066f20
mov eax, dword [rsp + 0x718]
jmp 0x140027965
lea rdx, str.CPrinterDriverInf::AddPrinterDriver__OK__pcModelName._n
mov ecx, 5
call fcn.14001c160
mov rdx, qword [rsp + 0x788]
mov rcx, qword [rsp + 0x138]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp qword [rsp + 0x790], 0
je 0x140026590
mov rcx, qword [rsp + 0x790]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140026590
mov rcx, qword [rsp + 0x790]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
shl rax, 1
mov r8d, 0xd6c
lea rdx, [0x1401ed138]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x680], rax
cmp qword [rsp + 0x680], 0
jne 0x140026569
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error._pHardwareID__n
mov ecx, 2
call fcn.14001c160
mov dword [rsp + 0x71c], 0
lea rcx, [rsp + 0x438]
call fcn.1400629e0
nop
lea rcx, [rsp + 0x150]
call fcn.140066f20
mov eax, dword [rsp + 0x71c]
jmp 0x140027965
lea rdx, str.CPrinterDriverInf::AddPrinterDriver__OK__pcHardwareID._n
mov ecx, 5
call fcn.14001c160
mov rdx, qword [rsp + 0x790]
mov rcx, qword [rsp + 0x680]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.CPrinterDriverInf::GetPrinterDriverDirectory._n
mov ecx, 5
call fcn.14001c160
mov dword [rsp + 0x90], 0
mov rax, qword [rsp + 0x770]
cmp dword [rax + 0x148], 1
jne 0x1400265f0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x20a
lea r9, [rsp + 0x470]
mov r8d, 1
lea rdx, [0x1401ecc48]
xor ecx, ecx
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
jmp 0x14002661c
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x20a
lea r9, [rsp + 0x470]
mov r8d, 1
xor edx, edx
xor ecx, ecx
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
mov dx, 0x5c
lea rcx, [rsp + 0x470]
call fcn.140040640
mov qword [rsp + 0x688], rax
cmp qword [rsp + 0x688], 0
je 0x140026669
mov rcx, qword [rsp + 0x688]
call fcn.140010230
movzx eax, word [rax]
test eax, eax
je 0x140026669
lea rdx, [0x1401eb9b4]
lea rcx, [rsp + 0x470]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.CPrinterDriverInf::GetPrinterDriverDirectory_success._n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0xa8], rax
mov r8, qword [rsp + 0x48]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pName___1_s__n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x770]
cmp dword [rax + 0x148], 1
jne 0x1400266f4
lea rax, [0x1401ecd58]
mov qword [rsp + 0x50], rax
lea rax, [0x1401ecef8]
mov qword [rsp + 0xb0], rax
mov r8, qword [rsp + 0x50]
lea rdx, [0x1401f5d40]
mov ecx, 5
call fcn.14001c160
jmp 0x14002677b
cmp dword [rsp + 0x158], 0
je 0x14002670f
lea rax, [0x1401ed168]
mov qword [rsp + 0x730], rax
jmp 0x14002671e
lea rax, [0x1401ed7f8]
mov qword [rsp + 0x730], rax
mov rax, qword [rsp + 0x730]
mov qword [rsp + 0x50], rax
cmp dword [rsp + 0x158], 0
je 0x140026746
lea rax, [0x1401ed378]
mov qword [rsp + 0x738], rax
jmp 0x140026755
lea rax, [0x1401ed948]
mov qword [rsp + 0x738], rax
mov rax, qword [rsp + 0x738]
mov qword [rsp + 0xb0], rax
mov r8, qword [rsp + 0x50]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pEnvironment___1_s__n
mov ecx, 5
call fcn.14001c160
lea r9, [0x1401eb880]
lea r8, [0x1401ed478]
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValue_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x698], rax
mov r8, qword [rsp + 0x698]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_pDataSection___1_s__n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x778]
mov qword [rsp + 0x28], rax
lea rax, [0x1401ed718]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x698]
lea r8, str.DataFile
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x140026849
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140026831
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
jmp 0x140026847
lea rdx, [0x1401f5ee0]
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
jmp 0x14002685f
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DataFile_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x60]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDataFile___1_s__n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x778]
mov qword [rsp + 0x28], rax
lea rax, [0x1401ed8c8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x698]
lea r8, str.DriverFile
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1400268ff
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1400268e7
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb8], rax
jmp 0x1400268fd
lea rdx, [0x1401f60b0]
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
jmp 0x140026915
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DriverFile_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x58]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDriverPath___1_s__n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [0x1401eda38]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x698]
lea r8, [0x1401edae8]
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1400269b2
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x14002699a
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc8], rax
jmp 0x1400269b0
lea rdx, [0x1401f6280]
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
jmp 0x1400269c8
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__ConfigFile_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x68]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pConfigFile___1_s__n
mov ecx, 5
call fcn.14001c160
lea rax, [0x1401edc48]
mov qword [rsp + 0x28], rax
lea rax, [0x1401edcc8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x698]
lea r8, [0x1401ee008]
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x140026a92
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140026a7a
lea rdx, [0x1401edce8]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140026a5e
lea rdx, [0x1401eb9cc]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xe8], rax
jmp 0x140026a90
lea rdx, [0x1401f6450]
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
jmp 0x140026aa8
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DefaultDataType_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x88]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDefaultDataType___1_s__n
mov ecx, 5
call fcn.14001c160
mov r8, qword [rsp + 0xe8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pDefaultDataType___1_s__n
mov ecx, 5
call fcn.14001c160
lea rax, [0x1401eb880]
mov qword [rsp + 0x28], rax
lea rax, [0x1401edd98]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x698]
lea r8, str.HelpFile
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x140026b62
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140026b4b
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xd0], rax
jmp 0x140026b60
mov qword [rsp + 0x70], 0
mov qword [rsp + 0xd0], 0
jmp 0x140026b78
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__HelpFile_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x70]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pHelpFile___1_s__n
mov ecx, 5
call fcn.14001c160
cmp qword [rsp + 0x58], 0
je 0x140026c5d
mov dx, 0x5c
mov rcx, qword [rsp + 0x58]
call fcn.140001c20
test rax, rax
jne 0x140026c5d
lea rcx, [rsp + 0x470]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x740], eax
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [rsp + 0x740]
lea eax, [rcx + rax + 1]
cdqe
shl rax, 1
mov r8d, 0xe0a
lea rdx, [0x1401ee418]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x140026c19
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DriverPath_F__._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
lea rdx, [rsp + 0x470]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, qword [rsp + 0x58]
call fcn.140047560
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0x60], 0
je 0x140026d2c
mov dx, 0x5c
mov rcx, qword [rsp + 0x60]
call fcn.140001c20
test rax, rax
jne 0x140026d2c
lea rcx, [rsp + 0x470]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x744], eax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [rsp + 0x744]
lea eax, [rcx + rax + 1]
cdqe
shl rax, 1
mov r8d, 0xe19
lea rdx, [0x1401ee5b8]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x140026ce8
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DataFile_F__._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
lea rdx, [rsp + 0x470]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, qword [rsp + 0x60]
call fcn.140047560
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0x68], 0
je 0x140026dfb
mov dx, 0x5c
mov rcx, qword [rsp + 0x68]
call fcn.140001c20
test rax, rax
jne 0x140026dfb
lea rcx, [rsp + 0x470]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x748], eax
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [rsp + 0x748]
lea eax, [rcx + rax + 1]
cdqe
shl rax, 1
mov r8d, 0xe28
lea rdx, [0x1401ee6d8]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x140026db7
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__ConfigFile_F__._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
lea rdx, [rsp + 0x470]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, qword [rsp + 0x68]
call fcn.140047560
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc8], rax
cmp qword [rsp + 0x70], 0
je 0x140026eca
mov dx, 0x5c
mov rcx, qword [rsp + 0x70]
call fcn.140001c20
test rax, rax
jne 0x140026eca
lea rcx, [rsp + 0x470]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x74c], eax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [rsp + 0x74c]
lea eax, [rcx + rax + 1]
cdqe
shl rax, 1
mov r8d, 0xe37
lea rdx, [0x1401ee978]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x140026e86
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__HelpFile_F__._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
lea rdx, [rsp + 0x470]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, qword [rsp + 0x70]
call fcn.140047560
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xd0], rax
mov r8, qword [rsp + 0x60]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDataFile_F____1_s__n
mov ecx, 5
call fcn.14001c160
mov r8, qword [rsp + 0x58]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDriverPath_F____1_s__n
mov ecx, 5
call fcn.14001c160
mov r8, qword [rsp + 0x68]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pConfigFile_F____1_s__n
mov ecx, 5
call fcn.14001c160
mov r8, qword [rsp + 0x70]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pHelpFile_F____1_s__n
mov ecx, 5
call fcn.14001c160
lea rax, [0x1401eb880]
mov qword [rsp + 0x28], rax
lea rax, [0x1401eebf8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x698]
lea r8, [0x1401ef088]
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1400270e7
lea rcx, [rsp + 0x6a0]
call fcn.140061270
nop
mov r8w, 0x2c
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x6a0]
call fcn.1400612e0
mov dx, 0x20
lea rcx, [rsp + 0x6a0]
call fcn.140061b10
mov rcx, qword [rsp + 0x30]
call fcn.140047560
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x6a0]
call fcn.140062550
cmp rax, 2
jne 0x1400270d8
xor edx, edx
lea rcx, [rsp + 0x6a0]
call fcn.1400627c0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
shl rax, 1
mov r8d, 0xe56
lea rdx, [0x1401ef128]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x30], rax
mov edx, 1
lea rcx, [rsp + 0x6a0]
call fcn.1400627c0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
shl rax, 1
mov r8d, 0xe57
lea rdx, [0x1401ef488]
mov rcx, rax
call fcn.140047520
mov qword [rsp + 0x690], rax
cmp qword [rsp + 0x30], 0
je 0x14002705a
cmp qword [rsp + 0x690], 0
jne 0x14002707e
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__MonitorName_or_MonitorFile_._n_n
mov ecx, 2
call fcn.14001c160
nop
lea rcx, [rsp + 0x6a0]
call fcn.1400612b0
jmp 0x1400277d1
xor edx, edx
lea rcx, [rsp + 0x6a0]
call fcn.1400627c0
mov rdx, rax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, 1
lea rcx, [rsp + 0x6a0]
call fcn.1400627c0
mov rdx, rax
mov rcx, qword [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xe0], rax
lea rcx, [rsp + 0x6a0]
call fcn.1400612b0
jmp 0x1400270fd
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__LanguageMonitor_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x80]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pMonitorName___1_s__n
mov ecx, 5
call fcn.14001c160
xor r8d, r8d
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_int___cdecl_CPrinterDriverInf::SetColorProfile_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
test eax, eax
jne 0x140027148
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_InstallColorProfile_failed._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetDependentFiles_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x770]
add rax, 0x100
mov r8d, 8
mov rdx, rax
lea rcx, [rsp + 0xf8]
call fcn.1401abff0
mov rax, qword [rsp + 0x770]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x108], rax
mov r8, qword [rsp + 0x108]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pszMfgName___1_s__n
mov ecx, 5
call fcn.14001c160
lea r9, [0x1401eb880]
mov r8, qword [rsp + 0x130]
lea rdx, str.OEM_URLS
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValue_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x14002723a
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x110], rax
jmp 0x140027250
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__OEM_URLS_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x110]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pszOEMUrl___1_s__n
mov ecx, 5
call fcn.14001c160
lea r9, [0x1401eb880]
lea r8, str.Provider
lea rdx, [0x1401ef588]
mov rcx, qword [rsp + 0x770]
call sym.Setup.exe_protected:_wchar_t____ptr64___cdecl_CPrinterDriverInf::AllocAndGetValue_wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1400272a7
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x120], rax
jmp 0x1400272bd
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__Provider_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r8, qword [rsp + 0x120]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pszProvider___1_s__n
mov ecx, 5
call fcn.14001c160
cmp dword [rsp + 0x184], 0
je 0x140027461
mov rax, qword [rsp + 0x770]
cmp dword [rax + 0x148], 0
jne 0x140027461
mov qword [rsp + 0x6d8], 0
mov dword [rsp + 0x6e0], 0
mov dword [rsp + 0x6d0], 0
lea rdx, [rsp + 0x6e0]
mov rcx, qword [rsp + 0x58]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0
je 0x140027449
mov eax, dword [rsp + 0x90]
mov r8d, 0xeb2
lea rdx, [0x1401ef628]
mov ecx, eax
call fcn.140047520
mov qword [rsp + 0x6d8], rax
cmp qword [rsp + 0x6d8], 0
jne 0x140027386
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__pVersionInfo_._n_n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov r9, qword [rsp + 0x6d8]
mov r8d, dword [rsp + 0x90]
xor edx, edx
mov rcx, qword [rsp + 0x58]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x14002742e
mov qword [rsp + 0x6e8], 0
lea r9, [rsp + 0x6d0]
lea r8, [rsp + 0x6e8]
lea rdx, [0x1401eb9ec]
mov rcx, qword [rsp + 0x6d8]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14002742e
mov rax, qword [rsp + 0x6e8]
mov r8d, dword [rax + 8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_dwFileVersionMS__0x_1_08x__n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x6e8]
mov eax, dword [rax + 8]
and rax, 0xffff
movzx eax, ax
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x6e8]
mov eax, dword [rax + 8]
and rax, 0xffff
movzx eax, ax
mov dword [rsp + 0xa0], eax
mov rcx, qword [rsp + 0x6d8]
call fcn.140047560
mov qword [rsp + 0x6d8], 0
jmp 0x14002745f
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_Driver_File_has_no_version_info._n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
jmp 0x140027474
mov dword [rsp + 0x40], 0x400
mov dword [rsp + 0xa0], 0x400
mov r8d, dword [rsp + 0x40]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverVersion___1_ld__n
mov ecx, 5
call fcn.14001c160
cmp qword [rsp + 0x80], 0
je 0x14002759e
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x14002759e
mov r8d, 0x18
xor edx, edx
lea rcx, [rsp + 0x6f0]
call fcn.1401ac6a0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x6f0], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x6f8], rax
mov rax, qword [rsp + 0x690]
mov qword [rsp + 0x700], rax
mov r8, qword [rsp + 0x6f0]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_MonitorInfo2.pName____1_s___n
mov ecx, 5
call fcn.14001c160
mov r8, qword [rsp + 0x6f8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_MonitorInfo2.pEnvironment____1_s___n
mov ecx, 5
call fcn.14001c160
mov r8, qword [rsp + 0x700]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_MonitorInfo2.pDLLName____1_s___n
mov ecx, 5
call fcn.14001c160
mov rax, qword [rsp + 0x770]
cmp dword [rax + 0x148], 0
jne 0x14002759e
lea r8, [rsp + 0x6f0]
mov edx, 2
xor ecx, ecx
call sub.WINSPOOL.DRV_AddMonitorW
test eax, eax
jne 0x14002759e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xbbe
je 0x14002759e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14002759e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_AddMonitor_failed._0x_1_lX___n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov rax, qword [rsp + 0x680]
mov qword [rsp + 0x118], rax
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6_________n
mov ecx, 4
call fcn.14001c160
mov r8d, dword [rsp + 0xa0]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.cVersion__0x_1_08lX__n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xa8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pName____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xb0]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pEnvironment____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xb8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pDriverPath____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xc0]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pDataFile____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xc8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pConfigFile____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xd0]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pHelpFile____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xd8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pDependentFiles____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xe0]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pMonitorName____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xe8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pDefaultDataType____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0xf0]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pszzPreviousNames____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8d, dword [rsp + 0xfc]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.ftDriverDate_H___0x_1_08lX__n
mov ecx, 4
call fcn.14001c160
mov r8d, dword [rsp + 0xf8]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.ftDriverDate_L___0x_1_08lX__n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0x100]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.dwlDriverVersion__0x_1_ld__n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0x108]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pszMfgName____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0x110]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pszOEMUrl____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0x118]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pszHardwareID____1_s___n
mov ecx, 4
call fcn.14001c160
mov r8, qword [rsp + 0x120]
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_.pszProvider____1_s___n
mov ecx, 4
call fcn.14001c160
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_________DriverInfo6_n
mov ecx, 4
call fcn.14001c160
lea r8, [rsp + 0xa0]
mov edx, 6
xor ecx, ecx
call sub.WINSPOOL.DRV_AddPrinterDriverW
test eax, eax
jne 0x1400277c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.CPrinterDriverInf::AddPrinterDriver_failed._0x_1_lX___n
mov ecx, 2
call fcn.14001c160
jmp 0x1400277d1
mov dword [rsp + 0x430], 1
mov rcx, qword [rsp + 0x68]
call fcn.140047560
mov qword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x60]
call fcn.140047560
mov qword [rsp + 0x60], 0
mov rcx, qword [rsp + 0x58]
call fcn.140047560
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x70]
call fcn.140047560
mov qword [rsp + 0x70], 0
mov rcx, qword [rsp + 0x88]
call fcn.140047560
mov qword [rsp + 0x88], 0
mov rcx, qword [rsp + 0x78]
call fcn.140047560
mov qword [rsp + 0x78], 0
mov rcx, qword [rsp + 0x80]
call fcn.140047560
mov qword [rsp + 0x80], 0
mov rcx, qword [rsp + 0x78]
call fcn.140047560
mov qword [rsp + 0x78], 0
mov rcx, qword [rsp + 0x110]
call fcn.140047560
mov qword [rsp + 0x110], 0
mov rcx, qword [rsp + 0x120]
call fcn.140047560
mov qword [rsp + 0x120], 0
mov rcx, qword [rsp + 0x698]
call fcn.140047560
mov qword [rsp + 0x698], 0
mov rcx, qword [rsp + 0x690]
call fcn.140047560
mov qword [rsp + 0x690], 0
mov rcx, qword [rsp + 0x130]
call fcn.140047560
mov qword [rsp + 0x130], 0
mov rcx, qword [rsp + 0x138]
call fcn.140047560
mov qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x680]
call fcn.140047560
mov qword [rsp + 0x680], 0
lea rdx, str.CPrinterDriverInf::AddPrinterDriver__________________________OUT._n
mov ecx, 5
call fcn.14001c160
mov eax, dword [rsp + 0x430]
mov dword [rsp + 0x720], eax
lea rcx, [rsp + 0x438]
call fcn.1400629e0
nop
lea rcx, [rsp + 0x150]
call fcn.140066f20
mov eax, dword [rsp + 0x720]
mov rcx, qword [rsp + 0x750]
xor rcx, rsp
call fcn.1401ab2d0
add rsp, 0x768
ret