Function at 0x43a09d
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
push 0x114
mov eax, 0x5b110f
call fcn.0058f792
mov edi, ecx
mov dword [ebp - 0xc8], edi
xor ebx, ebx
mov dword [ebp - 0x2c], 7
xor eax, eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], ax
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], ebx
call fcn.00461e21
mov byte [ebp - 4], 1
call fcn.00474a71
push dword [edi + 0x3c]
mov esi, dword [eax + 4]
add esi, 0xcc
mov dword [ebp - 0xb4], esi
call fcn.0058edd4
pop ecx
cmp eax, 0xb4
jbe 0x43a164
call fcn.00473f1b
push eax
lea ecx, [ebp - 0xb0]
call fcn.00406a4a
push 0xb4
mov ebx, 0xbba
mov byte [ebp - 4], 2
lea eax, [ebp - 0xb0]
push ebx
push eax
call fcn.0040b585
mov ecx, dword [section..data]
add esp, 0xc
push ebx
call fcn.004151db
mov ecx, dword [section..data]
push eax
push ebx
call fcn.004151a4
mov esi, dword [ebp - 0xb0]
mov ecx, edi
push eax
push esi
call fcn.00443024
or dword [edi + 8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.0041d6f2
jmp 0x43b193
cmp dword [0x641b14], 0
jne 0x43a177
mov ebx, 0x2714
jmp 0x43b16d
cmp dword [0x641b44], 0
je 0x43a18a
mov ebx, 0x271e
jmp 0x43b16d
movzx eax, word [0x641b40]
push eax
push str.ServicePack_MAJOR____1_d__n
push str.CInstallAction::CheckMinimumRequirement
push 4
call fcn.00424dad
movzx eax, word [0x641b42]
push eax
push str.ServicePack_MINOR____1_d__n
push str.CInstallAction::CheckMinimumRequirement
push 4
call fcn.00424dad
add esp, 0x20
call fcn.00474a71
push ebx
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.00413fe9
movzx ecx, word [0x641b40]
cmp eax, ecx
jle 0x43a272
call fcn.00473f1b
push eax
lea ecx, [ebp - 0xb0]
call fcn.00406a4a
mov byte [ebp - 4], 3
call fcn.00474a71
push ebx
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.00413fe9
push eax
lea eax, [ebp - 0xb0]
push 0x5c5ae0
push eax
call fcn.0040b5ea
add esp, 0xc
call fcn.00474a71
push 1
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.00413fe9
mov esi, dword [ebp - 0xb0]
push esi
push 0x641b64
test eax, eax
je 0x43a33b
push 0x7569
push edi
call fcn.00442cfd
add esp, 0x10
cmp eax, 2
je 0x43a349
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 1
call fcn.0041d6f2
mov esi, dword [ebp - 0xb4]
push ebx
lea ecx, [ebp - 0xec]
call fcn.00462297
sub eax, ebx
je 0x43b168
dec eax
dec eax
je 0x43b161
lea eax, [ebp - 0xf0]
mov ecx, esi
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0041b6dc
test eax, eax
jne 0x43a2e9
mov ecx, dword [ebp - 0xf0]
inc eax
shl eax, cl
mov ebx, 0x2721
push eax
push dword [ebp - 0x108]
push dword [ebp - 0x104]
push ebx
push edi
call fcn.00442cfd
mov ecx, dword [section..data]
add esp, 0x14
push ebx
call fcn.004151db
test al, 0x30
jne 0x43b18f
xor ebx, ebx
mov dword [ebp - 0xb8], ebx
call fcn.00473f1b
push eax
lea ecx, [ebp - 0xb0]
call fcn.00406a4a
cmp dword [ebp + 8], 0
mov byte [ebp - 4], 4
je 0x43a3c5
push 0x94
call fcn.004730a5
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x43a35a
push ebx
push 0x6a
mov ecx, eax
call fcn.00462a17
mov ebx, eax
mov dword [ebp - 0xb8], eax
jmp 0x43a360
push 0x7564
push edi
call fcn.00442cfd
add esp, 0x10
or dword [edi + 8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.0041d6f2
jmp 0x43b195
mov dword [ebp - 0xb8], ebx
mov byte [ebp - 4], 4
test ebx, ebx
je 0x43a3c5
push 1
mov ecx, ebx
call fcn.00462f99
mov ecx, ebx
call fcn.00462f2d
mov ecx, dword [section..data]
push 0x754b
call fcn.0041da56
mov ebx, eax
push ebx
call fcn.00473b95
test eax, eax
je 0x43a3a1
push ebx
push eax
lea ecx, [ebp - 0xb0]
call fcn.0041c8de
mov ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb8]
push ebx
call fcn.00463e6b
mov ecx, dword [ebp - 0xb8]
push 0x5c4f10
call fcn.00463ddd
jmp 0x43a3cb
mov ebx, dword [ebp - 0xb0]
push 0x3c
xor eax, eax
mov dword [ebp - 0xe8], 1
push eax
push dword [ebp - 0xb8]
lea eax, [ebp - 0xe8]
mov ecx, esi
push eax
call fcn.004142b6
mov ecx, esi
call fcn.00412a08
test al, 8
je 0x43a403
push 0x2712
jmp 0x43a6f0
mov ecx, esi
call fcn.00412a08
test al, 4
je 0x43a418
push 0x2714
jmp 0x43a6f0
mov ecx, esi
call fcn.00412a08
test al, 1
jne 0x43a544
mov ecx, esi
call fcn.00412a08
test al, 2
je 0x43a544
lea ecx, [ebp - 0x80]
call fcn.00463f29
xor eax, eax
mov byte [ebp - 4], 6
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], eax
mov word [ebp - 0x28], ax
call fcn.0058edd4
pop ecx
push eax
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall
lea ecx, [ebp - 0x28]
call fcn.00404be0
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.004153f8
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0047026a
pop ecx
pop ecx
push str.istdrv.debug.ini
push 1
push str.RequestFullpkg
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x43a52b
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 0x2000000
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x80]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004643e8
test eax, eax
je 0x43a4d4
push str.UninstallString
lea ecx, [ebp - 0x80]
call fcn.0046433a
test eax, eax
jne 0x43a52b
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov esi, str.CInstallAction::CheckMinimumRequirement
cmovae eax, dword [ebp - 0x28]
push eax
push str.regkey___1_s_._n
push esi
push 2
call fcn.00424dad
push str.UPGRADE_PACKAGE__but_full_pkg_has_not_been_installed._n
push esi
push 2
call fcn.00424dad
push 0x2726
push edi
call fcn.00442cfd
add esp, 0x24
lea ecx, [ebp - 0x28]
xor esi, esi
push esi
push 1
call fcn.00404970
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 4
call fcn.00463f77
jmp 0x43b131
xor eax, eax
lea ecx, [ebp - 0x28]
push eax
push 1
call fcn.00404970
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 4
call fcn.00463f77
mov ecx, esi
call fcn.0040fca4
test eax, eax
je 0x43a676
call fcn.00473f1b
push eax
lea ecx, [ebp - 0xb4]
call fcn.00406a4a
mov byte [ebp - 4], 8
call fcn.00473f1b
push eax
lea ecx, [ebp - 0xac]
call fcn.00406a4a
mov byte [ebp - 4], 9
call fcn.00473f1b
push eax
lea ecx, [ebp - 0xa8]
call fcn.00406a4a
mov byte [ebp - 4], 0xa
call fcn.00473f1b
push eax
lea ecx, [ebp - 0xcc]
call fcn.00406a4a
xor edi, edi
mov byte [ebp - 4], 0xb
push edi
mov ecx, esi
call fcn.004100b5
push eax
lea ecx, [ebp - 0xac]
call fcn.0041ed9c
mov ecx, esi
call fcn.0040fca4
test eax, eax
je 0x43a608
push 0x5d0188
lea ecx, [ebp - 0xb4]
call fcn.00409054
push edi
mov ecx, esi
call fcn.004100b5
push eax
lea ecx, [ebp - 0xb4]
call fcn.00409054
push 0x5cf810
lea ecx, [ebp - 0xb4]
call fcn.00409054
mov ecx, esi
inc edi
call fcn.0040fca4
cmp edi, eax
jb 0x43a5c8
mov edi, dword [ebp - 0xb4]
push edi
push str.Exclusive_components_found.__n_1_s__n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
mov esi, dword [ebp - 0xac]
push esi
push edi
push 0x271f
push dword [ebp - 0xc8]
call fcn.00442cfd
mov eax, dword [ebp - 0xc8]
add esp, 0x20
mov ecx, dword [ebp - 0xcc]
or dword [eax + 8], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0xa8]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
lea ecx, [esi - 0x10]
call fcn.0041d6f2
lea ecx, [edi - 0x10]
call fcn.0041d6f2
jmp 0x43a6fc
push 0x5c75ec
mov ecx, esi
call fcn.0040bed1
push 0x5c7230
mov ecx, esi
call fcn.0040bed1
test eax, eax
je 0x43a6a5
push 0x5c7230
mov ecx, esi
call fcn.0040bed1
xor ecx, ecx
cmp cx, word [eax]
jne 0x43a6c8
push 0x5c723c
mov ecx, esi
call fcn.0040bed1
test eax, eax
je 0x43a6e2
push 0x5c723c
mov ecx, esi
call fcn.0040bed1
xor ecx, ecx
cmp cx, word [eax]
je 0x43a6e2
xor eax, eax
push eax
push str.spooler
call fcn.004602b8
pop ecx
pop ecx
test eax, eax
jne 0x43a6e2
push 0xfb1
jmp 0x43a6f0
cmp dword [ebp - 0xe8], 0
jne 0x43a705
push 0x2728
push edi
call fcn.00442cfd
or dword [edi + 8], 0xffffffff
pop ecx
pop ecx
xor eax, eax
mov esi, eax
jmp 0x43b131
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x48], eax
mov word [ebp - 0x58], ax
lea eax, [esi + 4]
mov byte [ebp - 4], 0xc
push 0x5c5f44
push str.__MAIN_DRIVERTYPE_PRINT__
mov ecx, eax
mov dword [ebp - 0xcc], eax
call fcn.0046d72a
push 0x5c4f10
push str.__VAL_DELOTHER_PRINT__
lea ecx, [esi + 4]
call fcn.0046d72a
lea eax, [ebp - 0xa8]
xor ecx, ecx
push eax
push dword [ebp + 8]
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xac], ecx
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xc0], ecx
push eax
push ecx
push 6
push dword [ebp - 0xb8]
mov dword [ebp - 0xa8], ecx
mov ecx, edi
push 0x64500000
call fcn.00441f2a
test eax, eax
jne 0x43a7f5
mov ecx, 0x2af9
cmp dword [ebp - 0xac], ecx
jne 0x43a7bb
push dword [ebp - 0xa8]
mov eax, dword [ebp - 0xc0]
add eax, 0x190
push eax
push ecx
push edi
call fcn.00442cfd
add esp, 0x10
jmp 0x43a7ec
push dword [ebp - 0xac]
mov ecx, dword [section..data]
call fcn.004151db
mov ecx, dword [section..data]
push eax
push dword [ebp - 0xac]
call fcn.004151a4
push eax
push dword [ebp - 0xac]
mov ecx, edi
call fcn.00442e21
or dword [edi + 8], 0xffffffff
jmp 0x43b15b
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x43a823
xor ecx, ecx
push ecx
push 0x64
mov ecx, eax
call fcn.00463c39
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0xb8]
push 1
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5c7230
mov ecx, esi
call fcn.0040bed1
test eax, eax
je 0x43a846
push 0x5c7230
mov ecx, esi
call fcn.0040bed1
xor ecx, ecx
cmp cx, word [eax]
jne 0x43a871
push 0x5c723c
mov ecx, esi
call fcn.0040bed1
test eax, eax
je 0x43b121
push 0x5c723c
mov ecx, esi
call fcn.0040bed1
xor ecx, ecx
cmp cx, word [eax]
je 0x43b121
push str.___MAIN_DRIVERTYPE_PRINT___
lea ecx, [esi + 4]
call fcn.0046ed66
xor ecx, ecx
mov dword [ebp - 0xa8], eax
cmp word [eax], cx
je 0x43a89a
push eax
call fcn.0058edd4
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xa8]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00404be0
push 0x5c7230
lea eax, [ebp - 0xc4]
mov ecx, esi
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0040ec3b
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc4]
je 0x43ae71
push 0x5c5eec
lea ecx, [eax + 0x148]
call fcn.0041fdbb
test eax, eax
jne 0x43ae71
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], eax
mov word [ebp - 0x28], ax
mov byte [ebp - 4], 0xd
cmp dword [0x641b1c], eax
jne 0x43a9b7
push str.___FLD_WINDOWS___
lea ecx, [esi + 4]
call fcn.0046ed66
xor ecx, ecx
mov dword [ebp - 0xa8], eax
cmp word [eax], cx
je 0x43a943
push eax
call fcn.0058edd4
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xa8]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00404be0
lea eax, [ebp - 0x28]
push str.inf
push eax
call fcn.0047026a
lea eax, [ebp - 0x28]
push str.msxpsdrv.inf
push eax
call fcn.0047026a
add esp, 0x10
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x43a9b7
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push str._1_s__is_not_found_n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
push 0xfba
push edi
call fcn.00442cfd
add esp, 0x18
or dword [edi + 8], 0xffffffff
jmp 0x43ae32
lea ecx, [ebp - 0x120]
call fcn.0046d5d4
push 0x2c
push str.___VAL_MIN_MXDWVER___
lea ecx, [esi + 4]
mov byte [ebp - 4], 0xe
call fcn.0046ed66
push eax
lea ecx, [ebp - 0x120]
call fcn.0046eb6a
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xbc]
push eax
xor eax, eax
lea ecx, [ebp - 0x120]
push eax
call fcn.0046dbf8
push eax
call fcn.0041f241
add esp, 0xc
cmp dword [ebp - 0xbc], 0
jne 0x43aa1c
cmp dword [ebp - 0xb8], 0
je 0x43ae51
push str.___FLD_PRINTERDRIVER___
lea ecx, [esi + 4]
call fcn.0046ed66
xor ecx, ecx
mov dword [ebp - 0xa8], eax
cmp word [eax], cx
je 0x43aa45
push eax
call fcn.0058edd4
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xa8]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00404be0
lea eax, [ebp - 0x28]
push 0x5d02e0
push eax
call fcn.0047026a
lea eax, [ebp - 0x28]
push str.mxdwdrv.dll
push eax
call fcn.0047026a
add esp, 0x10
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
lea eax, [ebp - 0x28]
jne 0x43aadd
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
push eax
push str._1_s__is_not_found_n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
add esp, 0x10
cmp dword [0x641b1c], 0
je 0x43aacb
push 0x5c6428
push 0x641b64
push 0x7564
push edi
call fcn.00442cfd
add esp, 0x10
jmp 0x43ae1f
push 0xfba
push edi
call fcn.00442cfd
pop ecx
pop ecx
jmp 0x43ae1f
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
xor ecx, ecx
push ecx
lea ecx, [ebp - 0xd0]
push ecx
lea ecx, [ebp - 0xd4]
push ecx
push eax
call fcn.004700a1
add esp, 0x10
test eax, eax
je 0x43adf9
xor eax, eax
xorps xmm0, xmm0
push 8
push eax
lea eax, [ebp - 0xf8]
movlpd qword [ebp - 0xdc], xmm0
push eax
call fcn.0058e700
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0xf8]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
call fcn.004367eb
add esp, 0x14
lea eax, [ebp - 0xf8]
lea ecx, [ebp - 0xe4]
push 0xffffffffffffffff
push eax
call fcn.004391f9
movzx eax, word [ebp - 0xd0]
push eax
movzx eax, word [ebp - 0xce]
push eax
movzx eax, word [ebp - 0xd4]
push eax
movzx eax, word [ebp - 0xd2]
push eax
push str.msxpsdrv.dll__1_lu_._2_lu_._3_lu_._4_lu___n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
movzx eax, word [ebp - 0xb8]
push eax
movzx eax, word [ebp - 0xb6]
push eax
movzx eax, word [ebp - 0xbc]
push eax
movzx eax, word [ebp - 0xba]
push eax
push str.MinMXDW_ini___1_lu_._2_lu_._3_lu_._4_lu___n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
push 1
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
call fcn.004701fe
add esp, 0x4c
mov dword [ebp - 0xac], eax
push eax
push str.VerCompare_Version__1_d__n
push str.CInstallAction::CheckMinimumRequirement
push 4
call fcn.00424dad
mov eax, dword [ebp - 0xac]
add esp, 0x10
cmp eax, 2
jne 0x43adf4
lea eax, [ebp - 0xdc]
push eax
push 1
lea ecx, [ebp - 0x120]
call fcn.0046dbf8
push eax
call fcn.0040c6eb
pop ecx
pop ecx
test eax, eax
je 0x43ae51
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xe4]
call fcn.00412829
test eax, eax
je 0x43ac3f
mov eax, dword [eax + 0xc]
jmp 0x43ac41
xor eax, eax
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0xe4]
lea eax, [ebp - 0x7c]
push eax
call fcn.00412829
test eax, eax
je 0x43ac60
mov eax, dword [eax + 0x10]
inc eax
jmp 0x43ac62
xor eax, eax
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xe4]
push eax
call fcn.00415961
push eax
push str.msxpsdrv.dll__1_lu___2_lu___3_lu___n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
add esp, 0x18
lea eax, [ebp - 0x7c]
lea ecx, [ebp - 0xdc]
push eax
call fcn.00412829
test eax, eax
je 0x43aca1
mov eax, dword [eax + 0xc]
jmp 0x43aca3
xor eax, eax
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0xdc]
lea eax, [ebp - 0xa4]
push eax
call fcn.00412829
test eax, eax
je 0x43acc5
mov eax, dword [eax + 0x10]
inc eax
jmp 0x43acc7
xor eax, eax
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xdc]
push eax
call fcn.00415961
push eax
push str.MinMXDW_ini___1_lu___2_lu___3_lu___n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
add esp, 0x18
lea eax, [ebp - 0x7c]
lea ecx, [ebp - 0xdc]
push eax
call fcn.00412829
test eax, eax
je 0x43ad07
mov eax, dword [eax + 0x10]
inc eax
jmp 0x43ad09
xor eax, eax
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0xe4]
lea eax, [ebp - 0xa4]
push eax
call fcn.00412829
test eax, eax
je 0x43ad2b
mov eax, dword [eax + 0x10]
inc eax
jmp 0x43ad2d
xor eax, eax
push 2
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xc0], eax
call fcn.00415961
push eax
push dword [ebp - 0xc0]
lea ecx, [ebp - 0xe4]
call fcn.00415961
push eax
call fcn.004701fe
push eax
push str.VerCompare_Year_Month__1_d__n
push str.CInstallAction::CheckMinimumRequirement
push 4
mov dword [ebp - 0xac], eax
call fcn.00424dad
mov eax, dword [ebp - 0xac]
add esp, 0x24
cmp eax, 2
jne 0x43adf4
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00412829
test eax, eax
je 0x43ad9c
mov eax, dword [eax + 0xc]
jmp 0x43ad9e
xor eax, eax
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0xe4]
lea eax, [ebp - 0xa4]
push eax
call fcn.00412829
xor ecx, ecx
test eax, eax
je 0x43adc1
mov eax, dword [eax + 0xc]
jmp 0x43adc3
mov eax, ecx
push 2
push ecx
push dword [ebp - 0xa8]
push ecx
push eax
call fcn.004701fe
push eax
push str.VerCompare_Day__1_d__n
push str.CInstallAction::CheckMinimumRequirement
push 4
mov dword [ebp - 0xac], eax
call fcn.00424dad
mov eax, dword [ebp - 0xac]
add esp, 0x24
cmp eax, 1
jne 0x43ae51
cmp dword [0x641b1c], 0
je 0x43ae44
push 0x5c6428
push 0x641b64
push 0x7569
push edi
call fcn.00442cfd
add esp, 0x10
cmp eax, 2
jne 0x43ae51
or dword [edi + 8], 0xffffffff
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0xd
call fcn.0046d690
xor eax, eax
lea ecx, [ebp - 0x28]
push eax
push 1
call fcn.00404970
jmp 0x43b15b
push 0xfba
push edi
call fcn.00442cfd
pop ecx
pop ecx
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0xd
call fcn.0046d690
xor eax, eax
mov byte [ebp - 4], 0xc
push eax
push 1
lea ecx, [ebp - 0x28]
call fcn.00404970
mov edi, 0x5c7230
lea eax, [ebp - 0xc4]
push edi
push eax
lea eax, [ebp - 0xa8]
mov ecx, esi
push eax
call fcn.0040ec3b
push edi
lea eax, [ebp - 0xc4]
mov ecx, esi
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0040ec3b
mov esi, dword [eax]
mov dword [ebp - 0xa8], esi
jmp 0x43b115
mov ecx, dword [ebp - 0xcc]
xor edi, edi
inc edi
push str.___VAL_DELOTHER_PRINT___
mov dword [ebp - 0xac], edi
call fcn.0046ed66
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp word [eax], cx
je 0x43aee4
push eax
call fcn.0058edd4
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xc0]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.00404be0
push 0x5c5eec
lea ecx, [ebp - 0x58]
call fcn.0041fdbb
test eax, eax
jne 0x43af97
push str.MainDriverType_is_XPS._For_Future_Use__n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
add esp, 0xc
lea ecx, [esi + 0x148]
push 0x5c5f44
call fcn.0041fdbb
test eax, eax
jne 0x43b01f
call fcn.00474a71
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.0041adf9
mov ecx, dword [ebp - 0xb4]
and eax, 0xf0
cmp al, 0x30
jne 0x43af60
xor eax, eax
push eax
push 0x5c7230
call fcn.0040afb1
jmp 0x43af6d
xor eax, eax
push eax
push 0x5c7230
call fcn.0040a98a
test eax, eax
je 0x43b13d
push 0x5c6428
lea ecx, [ebp - 0x40]
call fcn.0041fdbb
test eax, eax
je 0x43b01f
xor eax, eax
mov dword [ebp - 0xac], eax
jmp 0x43b01f
push str.MainDriverType_is_GDI._n
push str.CInstallAction::CheckMinimumRequirement
push 5
call fcn.00424dad
add esp, 0xc
lea ecx, [esi + 0x148]
push 0x5c5eec
call fcn.0041fdbb
test eax, eax
jne 0x43b01f
call fcn.00474a71
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.0041adf9
mov ecx, dword [ebp - 0xb4]
and eax, 0xf0
cmp al, 0x30
jne 0x43aff0
xor eax, eax
push eax
push 0x5c7230
call fcn.0040afb1
jmp 0x43affd
xor eax, eax
push eax
push 0x5c7230
call fcn.0040a98a
test eax, eax
je 0x43b144
push 0x5c6428
lea ecx, [ebp - 0x40]
call fcn.0041fdbb
xor ecx, ecx
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0xac], edi
push 0x5d0430
lea ecx, [ebp - 0x40]
call fcn.0041fdbb
mov edi, eax
neg edi
sbb edi, edi
and edi, dword [ebp - 0xac]
push edi
push str.bDelOther___1_d__n
push str.CInstallAction::CheckMinimumRequirement
push 4
call fcn.00424dad
add esp, 0x10
test edi, edi
je 0x43b104
push 6
lea ecx, [ebp - 0x100]
call fcn.0046ad33
xor eax, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x100]
mov edi, eax
call fcn.0051b37e
test eax, eax
je 0x43b0f5
mov ebx, dword [ebp - 0xcc]
push edi
lea ecx, [ebp - 0x100]
call fcn.0046af1d
test eax, eax
je 0x43b0df
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x43b0df
movzx edx, word [ecx]
xor eax, eax
cmp ax, dx
je 0x43b0df
lea eax, [esi + 0x130]
cmp dword [eax + 0x14], 8
jb 0x43b0ae
mov eax, dword [eax]
cmp dx, word [eax]
jne 0x43b0df
lea eax, [esi + 0x130]
cmp dword [eax + 0x14], 8
jb 0x43b0c1
mov eax, dword [eax]
push eax
push ecx
call fcn.005921d4
pop ecx
pop ecx
test eax, eax
jne 0x43b0df
push 0x5c6428
push str.__VAL_DELOTHER_PRINT__
mov ecx, ebx
call fcn.0046f76b
lea ecx, [ebp - 0x100]
inc edi
call fcn.0051b37e
cmp edi, eax
jb 0x43b07f
mov ebx, dword [ebp - 0xb0]
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xc
call fcn.0046addf
lea ecx, [ebp - 0xa8]
call fcn.004212e4
mov esi, dword [ebp - 0xa8]
cmp esi, dword [ebp - 0xc4]
jne 0x43aeaf
xor esi, esi
inc esi
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x58]
call fcn.00404970
lea ecx, [ebx - 0x10]
call fcn.0041d6f2
xor ebx, ebx
jmp 0x43b197
push 0xfbc
jmp 0x43b149
push 0xfbb
mov esi, dword [ebp - 0xc8]
push esi
call fcn.00442cfd
or dword [esi + 8], 0xffffffff
pop ecx
pop ecx
xor eax, eax
mov esi, eax
jmp 0x43b126
mov ebx, 0x755a
jmp 0x43b16d
mov ebx, 0x7555
mov ecx, dword [section..data]
push ebx
call fcn.004151db
mov ecx, dword [section..data]
push eax
push ebx
call fcn.004151a4
push eax
push ebx
mov ecx, edi
call fcn.00442e21
or dword [edi + 8], 0xffffffff
xor ebx, ebx
mov esi, ebx
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], bl
call fcn.00461e2a
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00404970
mov eax, esi
call fcn.0058f741
ret 4