Function at 0x41ff30
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5490a1
mov eax, dword fs:[0]
push eax
sub esp, 0x5c0
mov eax, dword [0x5c5b9c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
mov esi, ecx
mov ecx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 0x4f4], ecx
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 0x500], ebx
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x4f8], edx
mov dword [ebp - 0x54c], edi
mov dword [ebp - 0x530], edi
mov dword [ebp - 0x52c], edi
mov dword [ebp - 0x534], edi
call fcn.0043af70
lea ecx, [ebp - 0x5cc]
mov dword [ebp - 4], edi
call fcn.0043a090
push str.CPrinterDriverInf::AddPrinterDriver__________________________IN._n
push 5
mov byte [ebp - 4], 1
call fcn.00411380
push 0x50
lea eax, [ebp - 0x59c]
push edi
push eax
mov dword [ebp - 0x524], edi
mov dword [ebp - 0x520], edi
mov dword [ebp - 0x51c], edi
mov dword [ebp - 0x518], edi
mov dword [ebp - 0x514], edi
mov dword [ebp - 0x510], edi
mov dword [ebp - 0x50c], edi
mov dword [ebp - 0x508], edi
mov dword [ebp - 0x504], edi
call fcn.00531b10
add esp, 0x14
test ebx, ebx
je 0x420f5b
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420f5b
push str.CPrinterDriverInf::AddPrinterDriver__OK__pInstallSection._n
push 5
call fcn.00411380
add esp, 8
cmp dword [ebp - 0x4fc], edi
je 0x420f54
mov ecx, dword [ebp - 0x4fc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420f54
mov edx, dword [ebp - 0x4fc]
push 0xd55
push str...CommonDeviceInf.cpp
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
push eax
call fcn.0042d8c0
add esp, 0xc
mov dword [ebp - 0x53c], eax
test eax, eax
jne 0x42008e
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error._pMfgName__n
jmp 0x420f60
push str.CPrinterDriverInf::AddPrinterDriver__OK__pcMfgName._n
push 5
call fcn.00411380
mov ecx, dword [ebp - 0x4fc]
mov edx, dword [ebp - 0x53c]
add esp, 8
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [ebp - 0x4f4], 0
je 0x420f4d
mov eax, dword [ebp - 0x4f4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420f4d
mov ecx, dword [ebp - 0x4f4]
push 0xd62
push str...CommonDeviceInf.cpp
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [eax + eax + 2]
push edx
call fcn.0042d8c0
add esp, 0xc
mov dword [ebp - 0x538], eax
test eax, eax
jne 0x42010b
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error._pModelName__n
jmp 0x420f60
push str.CPrinterDriverInf::AddPrinterDriver__OK__pcModelName._n
push 5
call fcn.00411380
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [ebp - 0x538]
add esp, 8
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [ebp - 0x4f8], 0
je 0x4201a3
mov edx, dword [ebp - 0x4f8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x4201a3
mov eax, dword [ebp - 0x4f8]
push 0xd6c
push str...CommonDeviceInf.cpp
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [eax + eax + 2]
push ecx
call fcn.0042d8c0
add esp, 0xc
mov dword [ebp - 0x534], eax
test eax, eax
jne 0x420180
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error._pHardwareID__n
jmp 0x420f60
push str.CPrinterDriverInf::AddPrinterDriver__OK__pcHardwareID._n
push 5
call fcn.00411380
mov edx, dword [ebp - 0x4f8]
mov eax, dword [ebp - 0x534]
add esp, 8
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.CPrinterDriverInf::GetPrinterDriverDirectory._n
push 5
call fcn.00411380
add esp, 8
cmp dword [esi + 0xd4], 1
mov dword [ebp - 0x530], 0
jne 0x4201e1
lea ecx, [ebp - 0x530]
push ecx
push 0x20a
lea edx, [ebp - 0x21c]
push edx
push 1
push str.Windows_4.0
jmp 0x4201f8
lea eax, [ebp - 0x530]
push eax
push 0x20a
lea ecx, [ebp - 0x21c]
push ecx
push 1
push 0
push 0
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
lea edx, [ebp - 0x21c]
push 0x5c
push edx
call fcn.0053193f
add esp, 8
test eax, eax
je 0x42022d
cmp word [eax + 2], 0
je 0x42022d
push 0x55a33c
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push str.CPrinterDriverInf::GetPrinterDriverDirectory_success._n
push 5
call fcn.00411380
mov eax, dword [ebp - 0x538]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pName___1_s__n
push 5
mov dword [ebp - 0x598], eax
call fcn.00411380
add esp, 0x14
cmp dword [esi + 0xd4], 1
mov eax, str.Windows_4.0
jne 0x42026c
mov dword [ebp - 0x520], eax
push eax
jmp 0x420283
cmp dword [ebp - 0x4ec], 0
jne 0x42027a
mov eax, str.Windows_NT_x86
mov ecx, eax
mov dword [ebp - 0x520], eax
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pEnvironment___1_s__n
push 5
mov dword [ebp - 0x594], eax
call fcn.00411380
add esp, 0xc
push 0x5629d0
push str.DataSection
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValue_wchar_t_const___wchar_t_const___wchar_t_const__
push eax
push str.CPrinterDriverInf::AddPrinterDriver_pDataSection___1_s__n
push 5
mov dword [ebp - 0x4fc], eax
call fcn.00411380
mov edx, dword [ebp - 0x4fc]
add esp, 0xc
push ebx
push str.DataFile
push edx
push str.DataFile
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const__
mov dword [ebp - 0x4f4], eax
test eax, eax
je 0x420e4a
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420e4a
mov eax, dword [ebp - 0x4f4]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDataFile___1_s__n
push 5
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x58c], eax
call fcn.00411380
mov ecx, dword [ebp - 0x4fc]
add esp, 0xc
push ebx
push str.DriverFile
push ecx
push str.DriverFile
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const__
mov dword [ebp - 0x4f4], eax
test eax, eax
je 0x420e43
mov edx, eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420e43
mov eax, dword [ebp - 0x4f4]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDriverPath___1_s__n
push 5
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x590], eax
call fcn.00411380
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [ebp - 0x4fc]
add esp, 0xc
push eax
push str.ConfigFile
push ecx
push str.ConfigFile
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const__
mov dword [ebp - 0x4f4], eax
test eax, eax
je 0x420e3c
mov edx, eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420e3c
mov eax, dword [ebp - 0x4f4]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pConfigFile___1_s__n
push 5
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x588], eax
call fcn.00411380
mov eax, dword [ebp - 0x4fc]
add esp, 0xc
push 0x5702d4
push str.DefaultDataType
push eax
push str.DefaultDataType
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const__
mov dword [ebp - 0x4f4], eax
test eax, eax
je 0x420e35
mov ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420e35
mov edx, dword [ebp - 0x4f4]
push 0x5702d4
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x42043a
mov eax, dword [ebp - 0x4f4]
push 0x55a24c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [ebp - 0x4f4]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDefaultDataType___1_s__n
push 5
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x578], eax
call fcn.00411380
mov ecx, dword [ebp - 0x578]
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pDefaultDataType___1_s__n
push 5
call fcn.00411380
mov edx, dword [ebp - 0x4fc]
add esp, 0x18
push 0x5629d0
push str.HelpFile
push edx
push str.HelpFile
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const__
mov dword [ebp - 0x4f4], eax
test eax, eax
je 0x420e2e
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x4204ae
mov eax, dword [ebp - 0x4f4]
jmp 0x4204b0
xor eax, eax
mov ecx, eax
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pHelpFile___1_s__n
push 5
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x510], eax
call fcn.00411380
add esp, 0xc
cmp dword [ebp - 0x51c], 0
je 0x420588
mov edx, dword [ebp - 0x51c]
push 0x5c
push edx
call fcn.00530319
add esp, 8
test eax, eax
jne 0x420588
mov eax, dword [ebp - 0x51c]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0xe0a
push str...CommonDeviceInf.cpp
push eax
call ebx
lea ecx, [ebp - 0x21c]
push ecx
mov dword [ebp - 0x4f8], eax
call ebx
mov ecx, dword [ebp - 0x4f8]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.0042d8c0
add esp, 0xc
mov dword [ebp - 0x4f4], eax
test eax, eax
jne 0x420545
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DriverPath_F__._n_n
jmp 0x420e4f
lea ecx, [ebp - 0x21c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ebx, dword [ebp - 0x51c]
mov edx, dword [ebp - 0x4f4]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
call fcn.0042d8e0
mov eax, dword [ebp - 0x4f4]
mov ebx, dword [ebp - 0x500]
add esp, 4
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x590], eax
cmp dword [ebp - 0x518], 0
je 0x420642
mov eax, dword [ebp - 0x518]
push 0x5c
push eax
call fcn.00530319
add esp, 8
test eax, eax
jne 0x420642
mov ecx, dword [ebp - 0x518]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0xe19
push str...CommonDeviceInf.cpp
push ecx
call ebx
lea edx, [ebp - 0x21c]
push edx
mov dword [ebp - 0x4f8], eax
call ebx
mov ecx, dword [ebp - 0x4f8]
add ecx, eax
lea eax, [ecx + ecx + 2]
push eax
call fcn.0042d8c0
add esp, 0xc
mov dword [ebp - 0x4f4], eax
test eax, eax
jne 0x4205ff
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DataFile_F__._n_n
jmp 0x420e4f
lea ecx, [ebp - 0x21c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ebx, dword [ebp - 0x518]
mov edx, dword [ebp - 0x4f4]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
call fcn.0042d8e0
mov eax, dword [ebp - 0x4f4]
mov ebx, dword [ebp - 0x500]
add esp, 4
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x58c], eax
cmp dword [ebp - 0x514], 0
je 0x4206fc
mov eax, dword [ebp - 0x514]
push 0x5c
push eax
call fcn.00530319
add esp, 8
test eax, eax
jne 0x4206fc
mov ecx, dword [ebp - 0x514]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0xe28
push str...CommonDeviceInf.cpp
push ecx
call ebx
lea edx, [ebp - 0x21c]
push edx
mov dword [ebp - 0x4f8], eax
call ebx
mov ecx, dword [ebp - 0x4f8]
add ecx, eax
lea eax, [ecx + ecx + 2]
push eax
call fcn.0042d8c0
add esp, 0xc
mov dword [ebp - 0x4f4], eax
test eax, eax
jne 0x4206b9
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__ConfigFile_F__._n_n
jmp 0x420e4f
lea ecx, [ebp - 0x21c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ebx, dword [ebp - 0x514]
mov edx, dword [ebp - 0x4f4]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
call fcn.0042d8e0
mov eax, dword [ebp - 0x4f4]
mov ebx, dword [ebp - 0x500]
add esp, 4
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x588], eax
cmp dword [ebp - 0x510], 0
je 0x4207b6
mov eax, dword [ebp - 0x510]
push 0x5c
push eax
call fcn.00530319
add esp, 8
test eax, eax
jne 0x4207b6
mov ecx, dword [ebp - 0x510]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0xe37
push str...CommonDeviceInf.cpp
push ecx
call ebx
lea edx, [ebp - 0x21c]
push edx
mov dword [ebp - 0x4f8], eax
call ebx
mov ecx, dword [ebp - 0x4f8]
add ecx, eax
lea eax, [ecx + ecx + 2]
push eax
call fcn.0042d8c0
add esp, 0xc
mov dword [ebp - 0x4f4], eax
test eax, eax
jne 0x420773
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__HelpFile_F__._n_n
jmp 0x420e4f
lea ecx, [ebp - 0x21c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ebx, dword [ebp - 0x510]
mov edx, dword [ebp - 0x4f4]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
call fcn.0042d8e0
mov eax, dword [ebp - 0x4f4]
mov ebx, dword [ebp - 0x500]
add esp, 4
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x584], eax
mov eax, dword [ebp - 0x518]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDataFile_F____1_s__n
push 5
call fcn.00411380
mov ecx, dword [ebp - 0x51c]
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pDriverPath_F____1_s__n
push 5
call fcn.00411380
mov edx, dword [ebp - 0x514]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pConfigFile_F____1_s__n
push 5
call fcn.00411380
mov eax, dword [ebp - 0x510]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pHelpFile_F____1_s__n
push 5
call fcn.00411380
mov ecx, dword [ebp - 0x4fc]
add esp, 0x30
push 0x5629d0
push str.LanguageMonitor
push ecx
push str.LanguageMonitor
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValueEx_wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const__
mov dword [ebp - 0x4f4], eax
test eax, eax
je 0x420e27
lea ecx, [ebp - 0x5b4]
call fcn.0043a1a0
mov edx, dword [ebp - 0x4f4]
push 0x2c
push edx
lea ecx, [ebp - 0x5b4]
mov byte [ebp - 4], 2
call fcn.0043a510
push 0x20
lea ecx, [ebp - 0x5b4]
call fcn.00439de0
mov eax, dword [ebp - 0x4f4]
push eax
call fcn.0042d8e0
add esp, 4
lea ecx, [ebp - 0x5b4]
call fcn.00438c50
cmp eax, 2
jne 0x420943
push 0xe56
push str...CommonDeviceInf.cpp
push 0
lea ecx, [ebp - 0x5b4]
call fcn.00438e80
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [eax + eax + 2]
push ecx
call fcn.0042d8c0
add esp, 0xc
push 0xe57
push str...CommonDeviceInf.cpp
push 1
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x4f4], eax
call fcn.00438e80
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [eax + eax + 2]
push edx
call fcn.0042d8c0
add esp, 0xc
cmp dword [ebp - 0x4f4], 0
mov dword [ebp - 0x52c], eax
je 0x420980
test eax, eax
je 0x420980
push 0
lea ecx, [ebp - 0x5b4]
call fcn.00438e80
push eax
mov eax, dword [ebp - 0x4f4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 1
lea ecx, [ebp - 0x5b4]
call fcn.00438e80
mov ecx, dword [ebp - 0x52c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x57c], eax
lea ecx, [ebp - 0x5b4]
mov byte [ebp - 4], 1
call fcn.0043a1b0
mov edx, dword [ebp - 0x508]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo3.pMonitorName___1_s__n
push 5
call fcn.00411380
add esp, 0xc
push 0
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_int___thiscall_CPrinterDriverInf::SetColorProfile_wchar_t_const___wchar_t_const__
test eax, eax
jne 0x4209a3
push str.CPrinterDriverInf::AddPrinterDriver_InstallColorProfile_failed._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__MonitorName_or_MonitorFile_._n_n
push 2
call fcn.00411380
add esp, 8
lea ecx, [ebp - 0x5b4]
mov byte [ebp - 4], 1
call fcn.0043a1b0
jmp 0x420e59
mov eax, dword [ebp - 0x510]
mov ecx, dword [ebp - 0x514]
mov edx, dword [ebp - 0x518]
push eax
mov eax, dword [ebp - 0x51c]
push ecx
push edx
push eax
push ebx
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetDependentFiles_wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const___wchar_t_const__
mov ebx, dword [ebp - 0x53c]
mov ecx, dword [esi + 0xa4]
mov edx, dword [esi + 0xa8]
push ebx
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x580], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x570], ecx
mov ecx, dword [esi + 0xb4]
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pszMfgName___1_s__n
push 5
mov dword [ebp - 0x56c], edx
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], ecx
mov dword [ebp - 0x55c], ebx
call fcn.00411380
add esp, 0xc
push 0x5629d0
push ebx
push str.OEM_URLS
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValue_wchar_t_const___wchar_t_const___wchar_t_const__
test eax, eax
je 0x420e20
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pszOEMUrl___1_s__n
push 5
mov dword [ebp - 0x558], eax
call fcn.00411380
add esp, 0xc
push 0x5629d0
push str.Provider
push str.Version
mov ecx, esi
call sym.Setup.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValue_wchar_t_const___wchar_t_const___wchar_t_const__
xor ebx, ebx
cmp eax, ebx
je 0x420e19
push eax
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6.pszProvider___1_s__n
push 5
mov dword [ebp - 0x550], eax
call fcn.00411380
add esp, 0xc
cmp dword [ebp - 0x4c0], ebx
je 0x420b6c
cmp dword [esi + 0xd4], ebx
jne 0x420b6c
mov eax, dword [ebp - 0x51c]
lea edx, [ebp - 0x4f8]
push edx
push eax
mov dword [ebp - 0x4f8], ebx
mov dword [ebp - 0x4f4], ebx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x530], eax
cmp eax, ebx
je 0x420b62
push 0xeb2
push str...CommonDeviceInf.cpp
push eax
call fcn.0042d8c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x420aed
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__pVersionInfo_._n_n
jmp 0x420e4f
mov ecx, dword [ebp - 0x530]
mov edx, dword [ebp - 0x51c]
push ebx
push ecx
push 0
push edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x420b57
lea eax, [ebp - 0x4f4]
push eax
lea ecx, [ebp - 0x500]
push ecx
push 0x55a33c
push ebx
mov dword [ebp - 0x500], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x420b57
mov edx, dword [ebp - 0x500]
mov eax, dword [edx + 8]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_dwFileVersionMS__0x_1_08x__n
push 5
call fcn.00411380
mov ecx, dword [ebp - 0x500]
movzx edi, word [ecx + 8]
add esp, 0xc
mov dword [ebp - 0x59c], edi
push ebx
call fcn.0042d8e0
add esp, 4
jmp 0x420b77
push str.CPrinterDriverInf::AddPrinterDriver_Driver_File_has_no_version_info._n
jmp 0x420e4f
mov edi, 0x400
mov dword [ebp - 0x59c], edi
push edi
push str.CPrinterDriverInf::AddPrinterDriver_DriverVersion___1_ld__n
push 5
call fcn.00411380
mov edi, dword [ebp - 0x508]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0xc
test edi, edi
je 0x420c58
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x420c58
mov edx, dword [ebp - 0x520]
xor eax, eax
push edi
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x52c]
push str.CPrinterDriverInf::AddPrinterDriver_MonitorInfo2.pName____1_s___n
push 5
mov dword [ebp - 0x548], edi
mov dword [ebp - 0x544], edx
mov dword [ebp - 0x540], eax
call fcn.00411380
mov ecx, dword [ebp - 0x544]
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_MonitorInfo2.pEnvironment____1_s___n
push 5
call fcn.00411380
mov edx, dword [ebp - 0x540]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_MonitorInfo2.pDLLName____1_s___n
push 5
call fcn.00411380
add esp, 0x24
cmp dword [esi + 0xd4], 0
jne 0x420c58
lea eax, [ebp - 0x548]
push eax
push 2
push 0
call sub.WINSPOOL.DRV_AddMonitorW
test eax, eax
jne 0x420c58
call ebx
cmp eax, 0xbbe
je 0x420c58
call ebx
cmp eax, 0xb7
je 0x420c58
call ebx
push eax
push str.CPrinterDriverInf::AddPrinterDriver_AddMonitor_failed._0x_1_lX___n
push 2
call fcn.00411380
add esp, 0xc
jmp 0x420e59
mov ecx, dword [ebp - 0x534]
push str.CPrinterDriverInf::AddPrinterDriver_DriverInfo6_________n
push 4
mov dword [ebp - 0x554], ecx
call fcn.00411380
mov edx, dword [ebp - 0x59c]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_.cVersion__0x_1_08lX__n
push 4
call fcn.00411380
mov eax, dword [ebp - 0x598]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_.pName____1_s___n
push 4
call fcn.00411380
mov ecx, dword [ebp - 0x594]
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_.pEnvironment____1_s___n
push 4
call fcn.00411380
mov edx, dword [ebp - 0x590]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_.pDriverPath____1_s___n
push 4
call fcn.00411380
mov eax, dword [ebp - 0x58c]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_.pDataFile____1_s___n
push 4
call fcn.00411380
mov ecx, dword [ebp - 0x588]
add esp, 0x44
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_.pConfigFile____1_s___n
push 4
call fcn.00411380
mov edx, dword [ebp - 0x584]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_.pHelpFile____1_s___n
push 4
call fcn.00411380
mov eax, dword [ebp - 0x580]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_.pDependentFiles____1_s___n
push 4
call fcn.00411380
mov ecx, dword [ebp - 0x57c]
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_.pMonitorName____1_s___n
push 4
call fcn.00411380
mov edx, dword [ebp - 0x578]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_.pDefaultDataType____1_s___n
push 4
call fcn.00411380
mov eax, dword [ebp - 0x574]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_.pszzPreviousNames____1_s___n
push 4
call fcn.00411380
mov ecx, dword [ebp - 0x56c]
add esp, 0x48
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_.ftDriverDate_H___0x_1_08lX__n
push 4
call fcn.00411380
mov edx, dword [ebp - 0x570]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_.ftDriverDate_L___0x_1_08lX__n
push 4
call fcn.00411380
mov eax, dword [ebp - 0x560]
mov ecx, dword [ebp - 0x564]
push eax
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_.dwlDriverVersion__0x_1_ld__n
push 4
call fcn.00411380
mov edx, dword [ebp - 0x55c]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_.pszMfgName____1_s___n
push 4
call fcn.00411380
mov eax, dword [ebp - 0x558]
push eax
push str.CPrinterDriverInf::AddPrinterDriver_.pszOEMUrl____1_s___n
push 4
call fcn.00411380
mov ecx, dword [ebp - 0x554]
add esp, 0x40
push ecx
push str.CPrinterDriverInf::AddPrinterDriver_.pszHardwareID____1_s___n
push 4
call fcn.00411380
mov edx, dword [ebp - 0x550]
push edx
push str.CPrinterDriverInf::AddPrinterDriver_.pszProvider____1_s___n
push 4
call fcn.00411380
push str.CPrinterDriverInf::AddPrinterDriver_________DriverInfo6_n
push 4
call fcn.00411380
add esp, 0x20
lea eax, [ebp - 0x59c]
push eax
push 6
push 0
call sub.WINSPOOL.DRV_AddPrinterDriverW
test eax, eax
jne 0x420e0d
call ebx
push eax
push str.CPrinterDriverInf::AddPrinterDriver_failed._0x_1_lX___n
push 2
call fcn.00411380
add esp, 0xc
jmp 0x420e59
mov dword [ebp - 0x54c], 1
jmp 0x420e59
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__Provider_._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__OEM_URLS_._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__LanguageMonitor_._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__HelpFile_._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DefaultDataType_._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__ConfigFile_._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DriverFile_._n_n
jmp 0x420e4f
push str.CPrinterDriverInf::AddPrinterDriver_Memory_allocation_error__DataFile_._n_n
push 2
call fcn.00411380
add esp, 8
mov ecx, dword [ebp - 0x514]
push ecx
call fcn.0042d8e0
mov edx, dword [ebp - 0x518]
push edx
call fcn.0042d8e0
mov eax, dword [ebp - 0x51c]
push eax
call fcn.0042d8e0
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.0042d8e0
mov edx, dword [ebp - 0x504]
push edx
call fcn.0042d8e0
mov eax, dword [ebp - 0x50c]
push eax
call fcn.0042d8e0
mov ecx, dword [ebp - 0x508]
push ecx
call fcn.0042d8e0
xor esi, esi
push esi
call fcn.0042d8e0
mov edx, dword [ebp - 0x558]
push edx
call fcn.0042d8e0
mov eax, dword [ebp - 0x550]
push eax
mov dword [ebp - 0x558], esi
call fcn.0042d8e0
mov ecx, dword [ebp - 0x4fc]
push ecx
mov dword [ebp - 0x550], esi
call fcn.0042d8e0
mov edx, dword [ebp - 0x52c]
push edx
call fcn.0042d8e0
mov eax, dword [ebp - 0x53c]
push eax
call fcn.0042d8e0
mov ecx, dword [ebp - 0x538]
push ecx
call fcn.0042d8e0
mov edx, dword [ebp - 0x534]
push edx
call fcn.0042d8e0
push str.CPrinterDriverInf::AddPrinterDriver__________________________OUT._n
push 5
call fcn.00411380
add esp, 0x44
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 0
call fcn.0043a0f0
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 4], 0xffffffff
call fcn.0043ae50
mov eax, dword [ebp - 0x54c]
jmp 0x420f8d
push str.CPrinterDriverInf::AddPrinterDriver_pcModelName_is_NULL_or_no_length._n
jmp 0x420f60
push str.CPrinterDriverInf::AddPrinterDriver_pcMfgName_is_NULL_or_no_length._n
jmp 0x420f60
push str.CPrinterDriverInf::AddPrinterDriver_pInstallSection_is_NULL_or_no_length._n
push 2
call fcn.00411380
add esp, 8
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 0
call fcn.0043a0f0
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 4], 0xffffffff
call fcn.0043ae50
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00530f8d
mov esp, ebp
pop ebp
ret 0x10