Function at 0x408910
Capabilities:
Accept command line arguments
Check mutex on windows
Delete directory
Delete file
Enumerate processes
Get token membership

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x596019
mov eax, dword fs:[0]
push eax
sub esp, 0xbf8
mov eax, dword [0x60dfd4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x638], ebx
lea eax, [ebp - 0xbbc]
mov dword [ebp - 0xbe0], ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x220
push 0x20
push 2
lea eax, [ebp - 0x648]
mov dword [ebp - 0x648], 0
push eax
mov word [ebp - 0x644], 0x500
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov dword [ebp - 0x630], eax
test eax, eax
je 0x4089c8
lea eax, [ebp - 0x630]
push eax
push dword [ebp - 0xbbc]
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
push dword [ebp - 0xbbc]
neg eax
sbb eax, eax
and dword [ebp - 0x630], eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
mov eax, dword [ebp - 0x630]
test eax, eax
setne al
mov dword [ebp - 0xbbc], 0
mov byte [ebp - 0x654], al
mov eax, dword [ebx + 0x1dfc]
mov dword [ebp - 0x63c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 0
push 2
mov edi, eax
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
push 0x228
mov esi, eax
lea eax, [ebp - 0x8a4]
push 0
push eax
call fcn.0056eeb0
add esp, 0xc
mov dword [ebp - 0x8a8], 0x22c
lea eax, [ebp - 0x8a8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x408a58
nop dword [eax]
cmp edi, dword [ebp - 0x8a0]
je 0x408a4c
lea eax, [ebp - 0x8a8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x408a30
jmp 0x408a58
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0xbbc], eax
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x63c], 0
mov ecx, str.dirty
push dword [ebp - 0xbbc]
mov eax, str.clean
cmovne eax, ecx
cmp byte [ebp - 0x654], 0
push eax
mov ecx, 0x5ea180
mov eax, 0x5ea17c
cmove eax, ecx
push eax
push str.Setup___InitInstance:_running_selevated_from__s_room__started_by_process_with_id__d_
call fcn.0041c4c0
add esp, 0x10
mov dword [ebx + 0x1be4], 0
lea ecx, [ebx + 0x134]
push str.Intel_Bluetooth.msi
call fcn.00405700
call fcn.00403ee0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x408ae4
push eax
push str.Setup___InitInstance_CoInitialize_failed:__x
call fcn.0041c4c0
add esp, 8
mov dword [ebx + 0x1be4], 9
jmp 0x40a75e
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a77c
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0xbe4], eax
mov eax, str.CSetupApp::InitInstance
mov dword [ebp - 4], 0
shr eax, 0x10
mov dword [ebp - 0xbec], eax
test eax, eax
jne 0x408b47
mov edi, str.CSetupApp::InitInstance
movzx esi, di
push esi
call fcn.0042e288
test eax, eax
je 0x408b59
push esi
push eax
lea ecx, [ebp - 0xbe4]
call fcn.004103f0
jmp 0x408b59
push 0x17
push str.CSetupApp::InitInstance
lea ecx, [ebp - 0xbe4]
call fcn.004050e0
mov dword [ebp - 4], 0xffffffff
or esi, 0xffffffff
mov ecx, dword [ebp - 0xbe4]
mov eax, esi
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x408b92
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
or esi, 0xffffffff
lea edi, [ebx + 0x1bea]
lea ecx, [ebx + 0x1be8]
mov edx, edi
call fcn.00416720
cmp dword [ebp - 0x63c], 0
jne 0x408c08
push edi
lea ecx, [ebp - 0xbbc]
call fcn.004104f0
lea eax, [ebp - 0xbbc]
mov dword [ebp - 4], 1
push eax
mov ecx, ebx
call fcn.00407cc0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbbc]
mov dword [ebx + 0x1df4], eax
add ecx, 0xfffffff0
mov eax, esi
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x408c08
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
lea ecx, [ebx + 0x118]
mov dword [ebp - 0x670], 0
mov dword [ebp - 0x678], 0
mov dword [ebx + 0xd90], 0
call fcn.00405050
lea eax, [ebp - 0x670]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, eax
mov dword [ebp - 0x634], edi
test edi, edi
jne 0x408c66
mov dword [ebx + 0x1be4], 9
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x40a75e
push dword [ebp - 0x670]
push str.Setup___Argc___d
call fcn.0041c4c0
mov eax, dword [ebp - 0x670]
add esp, 8
xor esi, esi
test eax, eax
jle 0x408cab
nop word [eax + eax]
push dword [edi + esi*4]
push str.Setup___argv___s
call fcn.0041c4c0
mov eax, dword [ebp - 0x670]
inc esi
add esp, 8
cmp esi, eax
jl 0x408c90
cmp eax, 1
jle 0x40908c
push dword [edi + 4]
lea ecx, [ebp - 0x640]
mov dword [ebp - 0x640], 0
call fcn.004104f0
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x640]
cmp dword [eax - 0xc], 0
jl 0x409058
push str._enc
push eax
call fcn.0056e4d9
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x640]
test ecx, ecx
je 0x409058
sub ecx, eax
sar ecx, 1
jne 0x409058
cmp dword [ebp - 0x670], 3
jle 0x408f8f
push dword [edi + 8]
lea ecx, [ebp - 0x634]
mov dword [ebp - 0x634], 0
call fcn.004104f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x630]
push dword [edi + 0xc]
mov dword [ebp - 0x630], 0
call fcn.004104f0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x634]
cmp dword [eax - 4], 1
jle 0x408d70
push dword [eax - 0xc]
lea ecx, [ebp - 0x634]
call fcn.00403a30
mov eax, dword [ebp - 0x634]
push eax
call fcn.0041aa90
test eax, eax
je 0x408e86
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a77c
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x638], eax
push 0x99
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x638]
push dword [0x61c3ec]
call fcn.004103f0
push 0
mov esi, dword [ebp - 0x638]
push 0x5ea348
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebx + 0x1be4], 9
call dword [sym.imp.ole32.dll_CoUninitialize]
or ebx, 0xffffffff
mov byte [ebp - 4], 4
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x408e14
lfence
mov edi, dword [esi]
push esi
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 3
mov eax, ebx
mov ecx, dword [ebp - 0x630]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x408e44
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x634]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x408e74
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x640]
jmp 0x40a73a
mov esi, dword [ebp - 0x630]
cmp dword [esi - 4], 1
jle 0x408ea6
push dword [esi - 0xc]
lea ecx, [ebp - 0x630]
call fcn.00403a30
mov esi, dword [ebp - 0x630]
mov eax, dword [ebp - 0x634]
cmp dword [eax - 4], 1
jle 0x408ec6
push dword [eax - 0xc]
lea ecx, [ebp - 0x634]
call fcn.00403a30
mov eax, dword [ebp - 0x634]
push esi
push eax
lea ecx, [ebx + 0xcc]
call fcn.0041a890
test eax, eax
jne 0x408f21
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a77c
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x638], eax
push 0x95
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x638]
push dword [0x61c3ec]
call fcn.004103f0
push 0x30
jmp 0x408dc3
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a77c
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x638], eax
push 0x97
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x638]
push dword [0x61c3ec]
call fcn.004103f0
mov esi, dword [ebp - 0x638]
push 0
push 0x5ea348
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebx + 0x1be4], 0
jmp 0x408de7
call fcn.00421571
mov dword [ebp - 0xbe8], eax
test eax, eax
je 0x40a786
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0xbe8]
call esi
add eax, 0x10
mov dword [ebp - 0x638], eax
push 0x96
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x638]
push dword [0x61c3ec]
call fcn.004103f0
mov esi, dword [ebp - 0x638]
push 0x30
push 0x5ea348
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 4], 2
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x409021
lfence
mov edi, dword [esi]
push esi
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x634]
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov ecx, dword [ebp - 0x640]
mov dword [ebx + 0x1be4], 9
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jmp 0x40a745
lea ecx, [eax - 0x10]
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x40908c
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x634]
call fcn.00421571
mov dword [ebp - 0xbe8], eax
test eax, eax
je 0x40a77c
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0xbe8]
call esi
lea esi, [eax + 0x10]
mov dword [ebp - 0xbe4], esi
mov dword [ebp - 0x640], esi
mov eax, 1
mov dword [ebp - 4], 9
mov dword [ebp - 0xbbc], eax
cmp dword [ebp - 0x670], eax
jle 0x409227
push dword [edi + eax*4]
lea ecx, [ebp - 0x630]
mov dword [ebp - 0x630], 0
call fcn.004104f0
lea eax, [ebp - 0x630]
mov byte [ebp - 4], 0xa
push eax
mov edx, 0x5ea370
lea ecx, [ebp - 0xbe4]
call fcn.0040b6d0
push 0x5ea36c
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xbe8]
call fcn.0040b840
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x640]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040c2b0
mov byte [ebp - 4], 0xb
or eax, 0xffffffff
mov ecx, dword [ebp - 0xbe8]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x409170
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 0xa
or eax, 0xffffffff
mov ecx, dword [ebp - 0xbe4]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4091a1
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
lea eax, [ebp - 0x678]
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x648], esi
mov ecx, dword [ebp - 0x630]
lea ecx, [ecx - 0x10]
call fcn.00404fd0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.0040a7f0
mov byte [ebp - 4], 9
or eax, 0xffffffff
mov ecx, dword [ebp - 0x630]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4091fc
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov eax, dword [ebp - 0xbbc]
mov edi, dword [ebp - 0x634]
inc eax
mov dword [ebp - 0xbbc], eax
cmp eax, dword [ebp - 0x670]
jl 0x4090e1
mov esi, dword [ebp - 0x640]
mov dword [ebp - 0xbe4], esi
push dword [ebp - 0x634]
call dword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.00421571
mov dword [ebp - 0x678], eax
test eax, eax
je 0x40a790
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x678]
call edi
add eax, 0x10
mov dword [ebp - 0x630], eax
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0xbec], 0
jne 0x409292
mov eax, str.CSetupApp::InitInstance
movzx edi, ax
push edi
call fcn.0042e288
test eax, eax
je 0x4092a4
push edi
push eax
lea ecx, [ebp - 0x630]
call fcn.004103f0
jmp 0x4092a4
push 0x17
push str.CSetupApp::InitInstance
lea ecx, [ebp - 0x630]
call fcn.004050e0
mov byte [ebp - 4], 9
or edi, 0xffffffff
mov ecx, dword [ebp - 0x630]
mov eax, edi
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4092e0
lfence
mov ebx, dword [ecx]
push ecx
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, ebx
call edi
mov ebx, dword [ebp - 0x638]
or edi, 0xffffffff
lea eax, [ebx + 0xcc]
mov ecx, eax
mov dword [ebp - 0xbe8], eax
call fcn.00412e30
test eax, eax
jne 0x40932a
mov dword [ebx + 0x1be4], 9
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x40a75e
lfence
mov edi, dword [esi]
push esi
jmp 0x40a74d
cmp dword [ebp - 0x63c], 0
je 0x40939c
lea eax, [ebp - 0x640]
mov byte [ebp - 4], 0xe
push eax
push dword [ebp - 0x654]
mov ecx, ebx
call fcn.00408410
mov dword [ebx + 0x1be4], eax
jmp 0x409379
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x640]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], edi
dec edi
test edi, edi
jmp 0x40a745
cmp byte [ebp - 0x654], 0
jne 0x4093fb
lea ecx, [ebp - 0x66c]
mov dword [ebx + 0x1be4], 1
mov dword [ebp - 0x66c], 0x1005
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x664], 0x9a
mov dword [ebp - 0x660], 0x6b
mov dword [ebp - 0x65c], 0x10
mov dword [ebp - 0x658], 0
call fcn.00402e40
jmp 0x409301
push str.global__Intel_Install_Suite_Bootstrapper
xorps xmm0, xmm0
push 0
movlpd qword [ebp - 0x67c], xmm0
push 0
mov dword [ebp - 0x678], 1
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x67c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x409465
mov eax, dword [ebp - 0x634]
test eax, eax
je 0x409457
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x678], 0
xor eax, eax
jmp 0x40946a
mov eax, 1
mov byte [ebp - 4], 0x10
test eax, eax
jne 0x4094db
lea ecx, [ebp - 0x66c]
mov dword [ebx + 0x1be4], 1
mov dword [ebp - 0x66c], 0x1005
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], 0x9a
mov dword [ebp - 0x660], 0x6b
mov dword [ebp - 0x65c], 0x10
mov dword [ebp - 0x658], eax
call fcn.00402e40
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x634]
test eax, eax
je 0x409307
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x409307
lea eax, [ebx + 0xd94]
mov dword [ebp - 0x650], 0
push eax
lea ecx, [ebp - 0x650]
call fcn.004104f0
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x650]
push str.WirelessSetup.xml
lea ecx, [ebp - 0x64c]
mov dword [ebp - 0x64c], 0
call fcn.0040b840
mov byte [ebp - 4], 0x12
mov edi, dword [ebp - 0x64c]
cmp dword [edi - 4], 1
jle 0x40953f
push dword [edi - 0xc]
lea ecx, [ebp - 0x64c]
call fcn.00403a30
mov edi, dword [ebp - 0x64c]
push edi
call fcn.0041aa90
test eax, eax
je 0x409650
lea eax, [ebx + 0x980]
push eax
lea eax, [ebp - 0x21c]
push 0x104
push eax
call fcn.0057580b
push str.iProTmp.xml
lea eax, [ebp - 0x21c]
push 0x104
push eax
call fcn.00575aeb
add esp, 0x18
lea eax, [ebp - 0x21c]
lea ecx, [ebx + 0xcc]
push eax
push edi
call fcn.0041a890
push ecx
mov dword [ebp - 0xbec], esp
call fcn.00421571
mov dword [ebp - 0xbe0], eax
test eax, eax
je 0x40a79a
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0xbe0]
call edi
mov edi, dword [ebp - 0xbec]
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x13
test eax, 0xffff0000
jne 0x4095fd
movzx eax, ax
push eax
call fcn.0042e288
test eax, eax
je 0x409624
lea edx, [ebp - 0x21c]
movzx ecx, dx
push ecx
push eax
mov ecx, edi
call fcn.004103f0
jmp 0x409624
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409606
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
mov ecx, edi
call fcn.004050e0
lea edi, [ebx + 0xcc]
mov byte [ebp - 4], 0x12
mov ecx, edi
call fcn.00413340
mov dword [ebp - 0xbe0], eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0xbe0]
jmp 0x409670
push ecx
mov ecx, esp
lea edx, [ebp - 0x650]
push str.WirelessSetup.xml
call fcn.0040b840
lea edi, [ebx + 0xcc]
mov ecx, edi
call fcn.00413340
cmp eax, 0xffffffff
jne 0x409777
push str.Setup___The_installation_XML_file_is_either_missing_or_corrupted._nThe_setup_application_will_exit_
mov dword [ebp - 0x66c], 0x1fff
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x664], 0x9a
mov dword [ebp - 0x660], 0x98
mov dword [ebp - 0x65c], 0x10
mov dword [ebp - 0x658], 0
call fcn.0041c4c0
add esp, 4
cmp dword [ebx + 0xd90], 0
jne 0x4096d6
lea ecx, [ebp - 0x66c]
call fcn.00402e40
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebx + 0x1be4], 2
mov byte [ebp - 4], 0x11
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x64c]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x40971c
lfence
mov ebx, dword [ecx]
push ecx
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, ebx
call edi
or ebx, 0xffffffff
mov byte [ebp - 4], 0x10
mov eax, ebx
mov ecx, dword [ebp - 0x650]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x40974f
lfence
mov ebx, dword [ecx]
push ecx
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, ebx
call edi
or ebx, 0xffffffff
mov eax, dword [ebp - 0x634]
test eax, eax
je 0x409760
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jmp 0x409319
mov ax, word [0x5ea4b8]
movq xmm0, qword [str.Win7]
push 0x1fe
mov word [ebp - 0x624], ax
lea eax, [ebp - 0x622]
push 0
push eax
movq qword [ebp - 0x62c], xmm0
call fcn.0056eeb0
push 0x208
lea eax, [ebp - 0x424]
push 0
push eax
call fcn.0056eeb0
add esp, 0x14
lea eax, [ebp - 0x62c]
push eax
call fcn.00406e00
test eax, eax
je 0x409843
lea eax, [ebx + 0xd94]
push eax
lea eax, [ebp - 0x424]
push 0x104
push eax
call fcn.0057580b
push 0x5eaa84
lea eax, [ebp - 0x424]
push 0x104
push eax
call fcn.00575aeb
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x424]
push 0x104
push eax
call fcn.00575aeb
lea eax, [ebp - 0x424]
push 0
push eax
call fcn.00575b60
add esp, 0x2c
test eax, eax
jne 0x409843
lea eax, [ebp - 0x424]
push eax
lea eax, [ebx + 0xd94]
push 0x208
push eax
call fcn.0057580b
add esp, 0xc
push 0x208
lea eax, [ebp - 0x884]
mov dword [ebp - 0x63c], 0
push 0
push eax
mov dword [ebp - 0xbbc], 0
call fcn.0056eeb0
add esp, 0xc
lea eax, [ebp - 0x63c]
mov ecx, edi
push eax
lea eax, [ebp - 0x884]
push eax
call fcn.0041ab80
lea eax, [ebp - 0xbbc]
push eax
call fcn.004170d0
mov ecx, 0x5ebe44
lea eax, [ebp - 0x884]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4098c6
test dx, dx
je 0x4098c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4098c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4098a0
xor eax, eax
jmp 0x4098cb
sbb eax, eax
or eax, 1
test eax, eax
je 0x409bec
test dword [ebp - 0xbbc], 0x3c000
je 0x4099db
mov ecx, str.WIN7
lea eax, [ebp - 0x884]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409916
test dx, dx
je 0x409912
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409916
add eax, 4
add ecx, 4
test dx, dx
jne 0x4098f0
xor eax, eax
jmp 0x40991b
sbb eax, eax
or eax, 1
test eax, eax
je 0x409bec
mov ecx, str.VISTA_WIN7
lea eax, [ebp - 0x884]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409956
test dx, dx
je 0x409952
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409956
add eax, 4
add ecx, 4
test dx, dx
jne 0x409930
xor eax, eax
jmp 0x40995b
sbb eax, eax
or eax, 1
test eax, eax
je 0x409bec
mov ecx, str.WIN7PLUS
lea eax, [ebp - 0x884]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409996
test dx, dx
je 0x409992
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409996
add eax, 4
add ecx, 4
test dx, dx
jne 0x409970
xor eax, eax
jmp 0x40999b
sbb eax, eax
or eax, 1
test eax, eax
je 0x409bec
lea eax, [ebp - 0x884]
push str.Windows8
push eax
call fcn.0056e4d9
add esp, 8
test eax, eax
jne 0x409bec
lea eax, [ebp - 0x884]
push str.Windows10
push eax
call fcn.0056e4d9
add esp, 8
test eax, eax
jne 0x409bec
cmp dword [ebp - 0x63c], 0x6e
jne 0x409af2
mov eax, dword [ebx + 0x134]
mov dword [ebp - 0x63c], 0
test eax, eax
jne 0x409a48
push 0xc
call fcn.0041d1b5
add esp, 4
mov dword [ebp - 0x648], eax
test eax, eax
je 0x409a34
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 1
mov dword [eax], 0
jmp 0x409a36
xor eax, eax
mov byte [ebp - 4], 0x12
mov dword [ebx + 0x134], eax
test eax, eax
je 0x40a7a4
push dword [eax]
lea ecx, [ebp - 0x63c]
call fcn.004104f0
mov eax, dword [ebp - 0x63c]
push eax
push str.Setup___InitInstance:_missing_MSI_file__s__n
mov dword [ebx + 0x1be4], 8
mov dword [ebp - 0x66c], 0x10000
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], 0x9a
mov dword [ebp - 0x660], 0x9d
mov dword [ebp - 0x65c], 0x10
mov dword [ebp - 0x658], 0
call fcn.0041c4c0
add esp, 8
cmp dword [ebx + 0xd90], 0
jne 0x409abf
lea ecx, [ebp - 0x66c]
call fcn.00402e40
mov ecx, dword [ebp - 0x63c]
or eax, 0xffffffff
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x409b59
lfence
mov ebx, dword [ecx]
push ecx
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, ebx
call edi
jmp 0x409b59
push str.Setup___InitInstance:_OS_not_supported__n
mov dword [ebx + 0x1be4], 3
mov dword [ebp - 0x66c], 0x10000
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x664], 0x9a
mov dword [ebp - 0x660], 0x89
mov dword [ebp - 0x65c], 0x10
mov dword [ebp - 0x658], 0
call fcn.0041c4c0
add esp, 4
cmp dword [ebx + 0xd90], 0
jne 0x409b59
lea ecx, [ebp - 0x66c]
call fcn.00402e40
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 0x11
or eax, 0xffffffff
mov ecx, dword [ebp - 0x64c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x409b90
lfence
mov ebx, dword [ecx]
push ecx
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, ebx
call edi
mov byte [ebp - 4], 0x10
or eax, 0xffffffff
mov ecx, dword [ebp - 0x650]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x409bc1
lfence
mov ebx, dword [ecx]
push ecx
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, ebx
call edi
mov eax, dword [ebp - 0x634]
test eax, eax
je 0x409bd2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jmp 0x409319
cmp byte [ebp - 0x654], 0
jne 0x409c67
push str.Setup___InitInstance_not_a_administrator_
mov dword [ebp - 0x66c], 0x10001
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x664], 0x9a
mov dword [ebp - 0x660], 0x8a
mov dword [ebp - 0x65c], 0x10
mov dword [ebp - 0x658], 0
call fcn.0041c4c0
add esp, 4
cmp dword [ebx + 0xd90], 0
jne 0x409c52
lea ecx, [ebp - 0x66c]
call fcn.00402e40
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebx + 0x1be4], 4
jmp 0x4096e6
mov ecx, edi
call fcn.004182e0
cmp dword [ebx + 0x1bd4], 4
jne 0x409fc8
call fcn.00421571
mov dword [ebp - 0xbe0], eax
test eax, eax
je 0x40a7ae
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0xbe0]
call esi
add eax, 0x10
mov dword [ebp - 0x654], eax
mov byte [ebp - 4], 0x15
call fcn.00421571
mov dword [ebp - 0xbe0], eax
test eax, eax
je 0x40a7b8
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0xbe0]
call esi
add eax, 0x10
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x630]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x654]
mov dword [ebp - 0xbbc], 0
push eax
lea eax, [ebp - 0xbbc]
mov ecx, edi
push eax
call fcn.00418540
cmp eax, 1
jne 0x40a041
mov eax, dword [ebp - 0xbbc]
test eax, eax
jns 0x409e14
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a7c2
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x638], eax
mov byte [ebp - 4], 0x17
mov edi, dword [ebp - 0x630]
mov eax, dword [ebp - 0x654]
push edi
push eax
mov dword [ebp - 0xbe0], eax
lea eax, [ebp - 0x638]
push 0x8f
push eax
call fcn.0040c370
mov esi, dword [ebp - 0x638]
push esi
push str.Setup___InitInstance___s__
call fcn.0041c4c0
add esp, 0x18
cmp dword [ebx + 0xd90], 0
jne 0x409d9b
push 0
push 0x10
push esi
call fcn.00431f11
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebx + 0x1be4], 9
add esi, 0xfffffff0
or ebx, 0xffffffff
mov byte [ebp - 4], 0x16
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x409ddb
lfence
mov ebx, dword [esi]
push esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, ebx
call esi
or ebx, 0xffffffff
mov byte [ebp - 4], 0x15
lea ecx, [edi - 0x10]
mov eax, ebx
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x409e05
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xbe0]
jmp 0x40a696
jle 0x40a041
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a7c2
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x63c], eax
mov byte [ebp - 4], 0x18
mov edi, dword [ebp - 0x630]
mov eax, dword [ebp - 0x654]
push edi
push eax
mov dword [ebp - 0xbbc], eax
lea eax, [ebp - 0x63c]
push 0x8e
push eax
call fcn.0040c370
mov esi, dword [ebp - 0x63c]
add esp, 0x10
cmp dword [ebx + 0xd90], 0
jne 0x409f35
push 0
push 4
push esi
call fcn.00431f11
cmp eax, 7
jne 0x409f35
push esi
push str.Setup___InitInstance___s__
call fcn.0041c4c0
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebx + 0x1be4], 0
add esi, 0xfffffff0
or ebx, 0xffffffff
mov byte [ebp - 4], 0x16
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x409ee3
lfence
mov ebx, dword [esi]
push esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, ebx
call esi
or ebx, 0xffffffff
mov byte [ebp - 4], 0x15
lea ecx, [edi - 0x10]
mov eax, ebx
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x409f0d
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x12
mov eax, ebx
mov esi, dword [ebp - 0xbbc]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40a6bc
lfence
mov edi, dword [esi]
push esi
jmp 0x40a6ab
mov byte [ebp - 4], 0x16
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x409f60
lfence
mov ebx, dword [esi]
push esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, ebx
call esi
mov esi, dword [ebp - 0xbbc]
mov byte [ebp - 4], 0x15
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x409f91
lfence
mov ebx, dword [edi]
push edi
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x5a72d4]
mov ecx, ebx
call edi
mov byte [ebp - 4], 0x12
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x409fbc
lfence
mov edi, dword [esi]
push esi
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov edi, dword [ebp - 0xbe8]
mov ebx, dword [ebp - 0x638]
mov ecx, ebx
call fcn.0042d850
push 0
call fcn.0042e66c
add esp, 4
call fcn.0042f52c
push str.Install_Suite_Setup_Application
mov ecx, ebx
call fcn.004304b9
mov eax, dword [ebx + 0x134]
mov esi, 1
mov dword [ebp - 0x638], 0
mov dword [ebp - 0x674], 0
test eax, eax
jne 0x40a066
push 0xc
call fcn.0041d1b5
add esp, 4
mov dword [ebp - 0x648], eax
test eax, eax
je 0x40a052
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 8], esi
mov dword [eax], 0
jmp 0x40a054
mov esi, dword [ebp - 0x654]
mov edi, dword [ebp - 0x630]
jmp 0x409f66
xor eax, eax
mov byte [ebp - 4], 0x12
mov dword [ebx + 0x134], eax
test eax, eax
je 0x40a7cc
push dword [eax]
lea ecx, [ebp - 0x674]
call fcn.004104f0
mov byte [ebp - 4], 0x1a
cmp dword [ebx + 0xd90], 0
jne 0x40a4ec
nop dword [eax]
nop dword [eax + eax]
push 0x138
lea eax, [ebp - 0x7b4]
push 0
push eax
call fcn.0056eeb0
add esp, 0xc
lea ecx, [ebp - 0x7b4]
push 0
push 0x88
call fcn.0041d264
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x70c]
mov dword [ebp - method.CMainPageDlg.virtual_0], vtable.CMainPageDlg.0
call fcn.00422032
mov dword [ebp - method.CStatic.virtual_0], vtable.CStatic.0
mov dword [ebp - 0x68c], edi
mov dword [ebp - 0x680], esi
mov dword [ebp - 0x688], 0
mov dword [ebp - 0x684], 0
mov byte [ebp - 4], 0x1c
cmp dword [ebx + 0x150], 0
jne 0x40a146
lea ecx, [ebp - 0x7b4]
call fcn.0041d8e0
cmp eax, 1
je 0x40a146
cmp dword [ebx + 0x150], 0
jne 0x40a146
cmp eax, 2
jne 0x40a4b6
push str.Setup___InitInstance_cancel_button_called_
mov dword [ebp - 0x638], 1
call fcn.0041c4c0
add esp, 4
jmp 0x40a4b6
push 0x310
lea eax, [ebp - 0xbb8]
mov dword [ebp - 0x638], 1
push 0
push eax
call fcn.0056eeb0
add esp, 0xc
lea ecx, [ebp - 0xbb8]
push 0
push 0x8d
call fcn.0041d264
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xb10]
mov dword [ebp - method.CCopyProgressDlg.virtual_0], vtable.CCopyProgressDlg.0
call fcn.00422032
mov dword [ebp - method.CIntelLogoStatic.virtual_0], vtable.CIntelLogoStatic.0
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a77c
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0xa8c], 0
mov dword [ebp - 0xa90], eax
mov dword [ebp - 0xa88], 0
lea ecx, [ebp - 0xa80]
mov byte [ebp - 4], 0x1e
call fcn.00422032
mov dword [ebp - method.CIntelLogoStatic.virtual_0], vtable.CIntelLogoStatic.0
call fcn.00421571
mov edi, eax
test edi, edi
je 0x40a77c
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x9fc], 0
mov dword [ebp - 0xa00], eax
mov dword [ebp - 0x9f8], 0
mov dword [ebp - 0x9ec], 0
mov dword [ebp - method.CFont.virtual_0], vtable.CFont.0
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], 0x20
call fcn.00422032
mov dword [ebp - method.CButton.virtual_0], vtable.CButton.0
mov byte [ebp - 4], 0x21
lea edi, [ebx + 0xcc]
lea ecx, [ebp - 0x960]
mov dword [ebp - 0x968], edi
call fcn.00422032
xor eax, eax
mov dword [ebp - method.CProgressCtrl.virtual_0], vtable.CProgressCtrl.0
xorps xmm0, xmm0
mov dword [ebp - 0x8e0], 0
movlpd qword [ebp - 0x8d8], xmm0
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0
mov dword [ebp - 0x8bc], 0
mov dword [ebp - 0x8c4], 0
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x8c8], eax
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x8ac], eax
lea ecx, [ebp - 0xbb8]
mov byte [ebp - 4], 0x22
call fcn.0041d8e0
mov ecx, edi
call fcn.004162f0
mov esi, eax
test esi, esi
je 0x40a3f7
cmp esi, 0x669
je 0x40a3f7
cmp esi, 0xbc2
je 0x40a3f7
push dword [ebp - 0x674]
push str.Failed_to_launch_and_execute__s.
call fcn.0041c4c0
add esp, 8
cmp esi, 0x642
je 0x40a3ad
cmp esi, 0x643
je 0x40a3ad
cmp esi, 0x666
je 0x40a3ad
cmp esi, 0x654
jne 0x40a3a1
lea ecx, [ebp - 0x66c]
mov dword [ebx + 0x1be4], 0xa
mov dword [ebp - 0x66c], 0x1fff
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x664], 0x9a
mov dword [ebp - 0x660], 0x93
mov dword [ebp - 0x65c], 0x10
mov dword [ebp - 0x658], 0
call fcn.00402e40
jmp 0x40a3de
mov dword [ebx + 0x1be4], 8
jmp 0x40a3de
mov ecx, ebx
call fcn.0042a1be
push 0
mov ecx, edi
call fcn.00417c80
lea eax, [ebx + 0xb88]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, ebx
call fcn.0042a310
push str.Removed_MSI_file.
call fcn.0041c4c0
add esp, 4
cmp dword [ebx + 0x154], 0
je 0x40a4a9
mov ecx, edi
call fcn.0041bdf0
jmp 0x40a4a9
push dword [ebp - 0x674]
push str.Successfully_launched_and_executed__s.
call fcn.0041c4c0
add esp, 8
mov dword [ebx + 0x1be4], 0
mov ecx, ebx
call fcn.0042a1be
cmp dword [ebx + 0x1be0], 0
je 0x40a4a2
mov eax, 0x14
mov dword [ebp - 0xbdc], 0
mov word [ebp - 0xbcc], ax
lea eax, [ebx + 0x15b8]
mov dword [ebp - 0xbd4], eax
lea eax, [ebp - 0xbdc]
push eax
mov dword [ebp - 0xbca], 0
mov dword [ebp - 0xbc6], 0
mov dword [ebp - 0xbc2], 0
mov dword [ebp - 0xbd8], 3
mov dword [ebp - 0xbd0], 0
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
je 0x40a4a2
push dword [ebp - 0xbd0]
push dword [ebp - 0xbd4]
push str.Setup___DeleteInstallerFiles_Copy_from___s__to___s__fails_
call fcn.0041c4c0
add esp, 0xc
mov ecx, ebx
call fcn.0042a310
lea ecx, [ebp - 0xbb8]
xor esi, esi
call fcn.00403120
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x70c]
mov dword [ebp - method.CMainPageDlg.virtual_0], vtable.CMainPageDlg.0
call fcn.004218f3
lea ecx, [ebp - 0x7b4]
call fcn.0041d2da
cmp dword [ebp - 0x638], 0
je 0x40a090
jmp 0x40a683
mov ecx, ebx
call fcn.0042a1be
mov ecx, edi
call fcn.00417240
cmp dword [ebx + 0x154], 0
je 0x40a513
call fcn.0041c5f0
test al, al
je 0x40a513
mov ecx, edi
call fcn.0041bb80
mov ecx, ebx
call fcn.0042a310
mov ecx, edi
call fcn.004162f0
mov esi, eax
test esi, esi
je 0x40a5c4
cmp esi, 0x669
je 0x40a5c4
cmp esi, 0xbc2
je 0x40a5c4
cmp dword [ebx + 0x154], 0
je 0x40a553
mov ecx, edi
call fcn.0041bdf0
push dword [ebp - 0x674]
push str.Failed_to_launch_and_execute__silent___s.
call fcn.0041c4c0
add esp, 8
cmp esi, 0x642
je 0x40a59b
cmp esi, 0x643
je 0x40a59b
cmp esi, 0x666
je 0x40a59b
xor eax, eax
cmp esi, 0x654
sete al
lea eax, [eax*2 + 8]
mov dword [ebx + 0x1be4], eax
jmp 0x40a683
mov ecx, ebx
call fcn.0042a1be
push 0
mov ecx, edi
call fcn.00417c80
mov ecx, ebx
call fcn.0042a310
push str.Removed_MSI_file.
call fcn.0041c4c0
add esp, 4
jmp 0x40a683
push dword [ebp - 0x674]
push str.Successfully_launched_and_executed__silent___s.
call fcn.0041c4c0
add esp, 8
mov dword [ebx + 0x1be4], 0
mov ecx, ebx
call fcn.0042a1be
cmp dword [ebx + 0x1be0], 0
je 0x40a66f
mov eax, 0x14
mov dword [ebp - 0xbdc], 0
mov word [ebp - 0xbcc], ax
lea eax, [ebx + 0x15b8]
mov dword [ebp - 0xbd4], eax
lea eax, [ebp - 0xbdc]
push eax
mov dword [ebp - 0xbca], 0
mov dword [ebp - 0xbc6], 0
mov dword [ebp - 0xbc2], 0
mov dword [ebp - 0xbd8], 3
mov dword [ebp - 0xbd0], 0
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
je 0x40a66f
push dword [ebp - 0xbd0]
push dword [ebp - 0xbd4]
push str.Setup___DeleteInstallerFiles_Copy_from___s__to___s__fails_
call fcn.0041c4c0
add esp, 0xc
lea eax, [ebx + 0xb88]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, ebx
call fcn.0042a310
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 0x12
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x674]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x40a6bc
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x11
mov eax, ebx
mov ecx, dword [ebp - 0x64c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x40a6ec
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x10
mov eax, ebx
mov ecx, dword [ebp - 0x650]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x40a71c
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x634]
test eax, eax
je 0x40a72d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbe4]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40a75e
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
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 - 0x14]
xor ecx, ebp
call fcn.0056a6fa
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x8007000e
call fcn.0056db90
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x8007000e
call fcn.0056db90
int3