Function at 0x42b7e0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x453356
mov eax, dword fs:[0]
push eax
sub esp, 0x248
mov eax, dword [0x4663e0]
xor eax, esp
mov dword [esp + 0x240], eax
push ebx
push esi
push edi
mov eax, dword [0x4663e0]
xor eax, esp
push eax
lea eax, [esp + 0x258]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [esp + 0x14]
push ecx
xor ebx, ebx
push 0xf003f
push ebx
mov dword [esp + 0x26c], ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall31423F74_36B2_4d24_B10D_CD00BFB7C118
lea eax, [edi + 0xc7c]
push 0x80000002
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
call esi
cmp eax, ebx
jne 0x42b8cf
push 0x7f04
push 7
push 0x84
push 0x7db
xor edx, edx
mov ecx, 0x9f0
call fcn.00432a80
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp eax, ebx
je 0x42b891
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [esp + 0x20], 7
mov dword [esp + 0x14], ebx
jne 0x42b8cf
push str.User_refused_upgrade_from_previous_version
push 0x4676a0
mov eax, 2
call fcn.0042cad0
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [0x4676c4], 0xa008
mov dword [edi + 0x10], 8
cmp eax, ebx
jmp 0x42be01
mov edx, 0x458584
call fcn.00401e70
test eax, eax
je 0x42ba2c
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x42b8f0
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [esp + 0x14]
push edx
push 0xf003f
push ebx
push str.SoftwareIntelIRST
push 0x80000002
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
call esi
cmp eax, ebx
jne 0x42b9c7
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x18]
push ecx
mov eax, str.InstallPath
mov byte [esp + 0x268], 1
call fcn.0042cf10
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x42b953
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [esp + 0x3c], ebx
mov dword [esp + 0x14], ebx
mov esi, 8
je 0x42b9ab
cmp dword [esp + 0x40], esi
mov eax, dword [esp + 0x2c]
jae 0x42b970
lea eax, [esp + 0x2c]
push eax
push str.Install_folder_switch___p__not_valid_on_reinstalls._Using_original_location___s_
push 0x4676a0
mov eax, 1
call fcn.0042cad0
add esp, 0xc
mov edx, 0x458584
call fcn.00402110
cmp dword [esp + 0x40], esi
mov eax, dword [esp + 0x2c]
jae 0x42b9a0
lea eax, [esp + 0x2c]
push eax
mov ecx, 0x458584
call fcn.00401fe0
mov byte [esp + 0x260], bl
cmp dword [esp + 0x40], esi
jb 0x42ba31
mov edx, dword [esp + 0x2c]
push edx
call fcn.00439059
add esp, 4
jmp 0x42ba31
mov ecx, 0x458584
call fcn.00401f10
mov esi, eax
call fcn.00426cc0
test al, al
jne 0x42ba2c
push 0x7f01
push 1
push 0x80
push 0x7da
xor edx, edx
mov ecx, 0x40
call fcn.00432a80
push str.Switch___p__value_does_not_appear_to_be_a_valid_path._Exiting.
push 0x4676a0
mov eax, 2
call fcn.0042cad0
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov dword [0x4676c4], 0xa010
mov dword [edi + 0x10], 0x10
cmp eax, ebx
jmp 0x42be01
mov esi, 8
cmp dword [edi + 0xce0], esi
jb 0x42ba41
mov eax, dword [edi + 0xccc]
jmp 0x42ba47
lea eax, [edi + 0xccc]
push eax
lea eax, [esp + 0x48]
push 0x104
push eax
call fcn.00439323
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
add esp, 0xc
push str.setup.if2
lea ecx, [esp + 0x48]
push ecx
call esi
push edi
lea eax, [esp + 0x48]
call fcn.004295f0
test al, al
jne 0x42ba85
mov eax, dword [esp + 0x14]
cmp eax, ebx
jmp 0x42be01
cmp dword [edi + 0xce0], 8
jb 0x42ba96
mov eax, dword [edi + 0xccc]
jmp 0x42ba9c
lea eax, [edi + 0xccc]
push eax
lea edx, [esp + 0x48]
push 0x104
push edx
call fcn.00439323
add esp, 0xc
push str.custom.ini
lea eax, [esp + 0x48]
push eax
call esi
lea ecx, [esp + 0x44]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42bae3
push edi
lea eax, [esp + 0x48]
call fcn.004295f0
test al, al
jne 0x42bae3
mov eax, dword [esp + 0x14]
cmp eax, ebx
jmp 0x42be01
mov ebx, dword [esp + 0x1c]
push 0x63
push 0x42b130
call fcn.00413d90
call fcn.004021b0
test eax, eax
jne 0x42bbb1
mov eax, ebx
push 0x45d1ec
add eax, 0x40
push eax
call fcn.00412760
mov byte [0x468d3c], al
push str.Showing_install_wizard
push 0x4676a0
xor eax, eax
call fcn.0042cad0
add esp, 8
call fcn.00432740
cmp byte [edi + 0xce8], 0
jne 0x42bb48
call fcn.00430be0
cmp eax, 0x6000100
jb 0x42bb48
cmp eax, 0xffffffff
jbe 0x42bb6f
lea ebx, [esp + 0x20]
mov dword [esp + 0x24], 0x42be30
mov dword [esp + 0x20], 0x99
call fcn.00435880
lea ebx, [esp + 0x24]
mov esi, 0x468cd0
call fcn.004358f0
call fcn.00432780
call fcn.004327c0
push 1
call fcn.004328c0
cmp eax, 0x3eb
je 0x42bc35
cmp eax, 0x47b
je 0x42bc35
mov edx, str.noicc
call fcn.00401e70
test eax, eax
mov eax, dword [esp + 0x1c]
je 0x42bc27
add eax, 0x40
push eax
call fcn.00412a40
mov esi, dword [esp + 0x1c]
push 0x45d250
add esi, 0x40
push esi
call fcn.00412760
test al, al
je 0x42bbda
mov ebx, dword [esp + 0x1c]
push 0x4e20
push 0x429800
call fcn.00413d90
mov edx, str.groups
call fcn.00401e70
test eax, eax
je 0x42bbfa
mov ecx, str.groups
call fcn.00401f10
push esi
mov edx, eax
call fcn.00412c30
push str.DRIVER
push esi
call fcn.00412760
test al, al
je 0x42bc68
cmp byte [edi + 0xce8], 0
jne 0x42bc5b
call fcn.00430be0
cmp eax, 0x6000100
jb 0x42bc5b
cmp eax, 0xffffffff
ja 0x42bc5b
mov al, 1
jmp 0x42bc5d
add eax, 0x40
push eax
call fcn.004128f0
jmp 0x42bbb1
push str.User_canceled_wizard
push 0x4676a0
mov eax, 2
call fcn.0042cad0
add esp, 8
mov dword [0x4676c4], 0xa009
jmp 0x42bdf4
xor al, al
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.00413ae0
call fcn.004348b0
mov esi, dword [esp + 0x1c]
push esi
call fcn.00413e50
xor ebx, ebx
cmp dword [esi + 0x38], ebx
jne 0x42bde7
call fcn.004347c0
mov eax, dword [0x468d38]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x42bca4
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [esp + 0x14]
push ecx
push 0xf003f
push ebx
push str.SoftwareIntelIRST
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push 0x80000002
call ebx
test eax, eax
jne 0x42bd1a
push 0x4585e8
lea edx, [esp + 0x18]
push edx
mov edx, str.3E29EE6C_963A_4aae_86C1_DC237C4A49FC
call fcn.0042cd80
cmp byte [edi + 0xce8], 0
mov edx, 0x45d268
jne 0x42bcf4
mov edx, 0x45d270
push str.RAID
lea eax, [esp + 0x18]
push eax
call fcn.0042cd80
mov eax, dword [esp + 0x14]
test eax, eax
je 0x42bd12
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x14], 0
mov edx, 0x45bca4
call fcn.00401e70
mov esi, eax
call fcn.0042a580
call fcn.004021b0
test eax, eax
jne 0x42bd4c
call fcn.00432800
push 1
call fcn.004328c0
xor ecx, ecx
cmp eax, 0x467
sete cl
mov esi, ecx
test esi, esi
je 0x42bde7
mov edx, 0x45c828
call fcn.00401e70
test eax, eax
je 0x42bdc9
push str.Delegating_reboot_to_wrap
push 0x4676a0
xor eax, eax
call fcn.0042cad0
mov eax, dword [esp + 0x1c]
xor esi, esi
add esp, 8
cmp eax, esi
je 0x42bd87
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [esp + 0x14]
push edx
push 0xf003f
push esi
push str.SoftwareIntelIRST
push 0x80000002
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
call ebx
cmp eax, esi
jne 0x42bde7
push str.user
lea eax, [esp + 0x18]
push eax
mov edx, 0x457d28
call fcn.0042cd80
lea esi, [esp + 0x14]
call fcn.0042cd40
jmp 0x42bde7
push 0x456938
mov ecx, 0x45bca4
call fcn.00401fe0
push 0x456938
mov ecx, 0x456968
call fcn.00401fe0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x38]
mov dword [0x4676c4], edx
mov eax, dword [esp + 0x14]
sub dword [0x4676c0], 1
test eax, eax
je 0x42be0a
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x258]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x240]
xor ecx, esp
call fcn.0043782a
mov esp, ebp
pop ebp
ret