Function at 0x40d614
Capabilities:
Create process on windows
Find taskbar
Self delete

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f8
mov eax, dword [0x4960a8]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x40]
xor ebx, ebx
mov ecx, edi
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x164], eax
mov byte [eax], bl
mov dword [ebp - 0x138], edi
call fcn.0043e5c4
push ebx
lea ecx, [esi + 0x5c]
call fcn.004316ec
push esi
lea ecx, [ebp - 0x12d]
mov byte [ebp - 0x12d], bl
call fcn.0040eda3
cmp byte [ebp - 0x12d], bl
jne 0x40eafa
lea eax, [ebp - 0x12d]
mov ecx, esi
call fcn.0040f1d5
cmp byte [ebp - 0x12d], bl
jne 0x40eafa
call fcn.00410159
cmp eax, ebx
jl 0x40eafa
push str.TEST
mov ecx, edi
call fcn.0043e5fb
cmp eax, ebx
je 0x40d6ca
mov ebx, eax
lea edx, [ebp - 0x12d]
mov ecx, esi
call fcn.0040eb0b
cmp byte [ebp - 0x12d], 0
jne 0x40eafa
xor ebx, ebx
call fcn.0042edd6
cmp eax, ebx
je 0x40d6d8
lea edi, [eax + 8]
jmp 0x40d6da
xor edi, edi
add esi, 0x1bc
mov dword [ebp - 0x160], esi
call fcn.004046bd
cmp dword [esi], ebx
jne 0x40d704
push str.CInstallManager::Initialize_129__:_failed_to_create_CKeyValueCollectionImpl
call fcn.00416f04
pop ecx
mov eax, 0x8007000e
jmp 0x40eafa
mov edi, dword [ebp - 0x134]
push edi
call fcn.0040f372
mov esi, eax
cmp esi, ebx
jge 0x40d72e
cmp esi, 0x800b0100
je 0x40d727
push esi
push 4
push edi
call fcn.00413897
mov eax, esi
jmp 0x40eafa
mov eax, edi
cmp byte [edi + 0x126], bl
je 0x40d76f
push ebx
call fcn.0040fc76
mov esi, eax
cmp esi, ebx
jge 0x40d753
push esi
push str.CInstallManager::Initialize_160__:_InitializeEmbeddedData_failed__0x_08x_
call fcn.00416f04
pop ecx
pop ecx
jmp 0x40d727
mov eax, edi
call fcn.00413377
mov edx, dword [ebp - 0x164]
cmp eax, 0x80070669
sete cl
mov byte [edx], cl
jmp 0x40eafa
call fcn.0040f88c
cmp eax, ebx
jl 0x40eafa
mov esi, dword [ebp - 0x138]
push 0x482de4
mov ecx, esi
call fcn.0043d201
test al, al
jne 0x40d7a2
push str.RODONE
mov ecx, esi
call fcn.0043d201
test al, al
je 0x40d7dc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
test eax, eax
je 0x40d7bc
push ebx
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
jne 0x40d7dc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._NULL__GetDesktopWindow___:__lu
call fcn.00416edc
pop ecx
pop ecx
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40d7a2
push str.FORCECONFIG
mov ecx, esi
call fcn.0043d201
test al, al
je 0x40d849
push ebx
mov eax, edi
call fcn.0040fc76
mov eax, edi
call fcn.0040f518
push str.silentcfgwiz
mov ecx, esi
call fcn.0043d201
test al, al
je 0x40d821
call fcn.0041434d
mov esi, eax
cmp esi, ebx
jge 0x40d821
push esi
push str.AcceptEULA_failed:_0x_08x
jmp 0x40d74a
call fcn.0040d21b
mov esi, eax
cmp esi, ebx
jge 0x40d837
push esi
push str.ForceLoad_failed:_0x_08x
jmp 0x40d74a
push str.silent_config_completed
call fcn.00416edc
pop ecx
xor eax, eax
jmp 0x40eafa
push edi
lea eax, [ebp - 0x12d]
call fcn.0040ebeb
cmp byte [ebp - 0x12d], bl
jne 0x40eafa
mov eax, edi
call fcn.0040f518
mov esi, eax
cmp esi, ebx
jge 0x40d882
cmp esi, 0x800b0100
je 0x40d727
push esi
push 5
jmp 0x40d721
push ebx
mov eax, edi
call fcn.0040fc76
mov esi, eax
cmp esi, ebx
jge 0x40d8ac
cmp esi, 0x800b0100
je 0x40d8a1
push esi
push 6
push edi
call fcn.00413897
push esi
push str.CInstallManager::Initialize_241__:_InitializeEmbeddedData_failed__0x_08x_
jmp 0x40d74a
mov ecx, dword [ebp - 0x138]
lea esi, [edi + 0xe0]
push str.FORCECONFIG
mov dword [ebp - 0x148], esi
call fcn.0043d201
neg al
sbb al, al
inc al
movzx eax, al
push eax
push 0x4e36
mov eax, esi
call fcn.00404360
mov ecx, dword [ebp - 0x138]
push str.DELETEMODE
call fcn.0043d201
test al, al
je 0x40d95b
push 0x497a28
lea ecx, [ebp - 0x160]
call fcn.004037fc
push dword [edi + 0xd8]
lea eax, [ebp - 0x160]
push str._s_CleanUp
push eax
call fcn.0042dc91
add esp, 0xc
test al, al
jne 0x40d93a
mov ebx, 0x8007000e
mov ecx, dword [ebp - 0x160]
add ecx, 0xfffffff0
call fcn.00403af7
mov eax, ebx
jmp 0x40eafa
lea eax, [ebp - 0x160]
push eax
lea eax, [edi + 0xc0]
push eax
mov esi, 0x498ad4
call fcn.004068ec
mov eax, edi
call fcn.00412efc
jmp 0x40d925
lea esi, [ebp - 0x190]
mov byte [edi + 0x130], bl
call fcn.00408f08
push ebx
push 0x20019
call fcn.0043cec5
mov ebx, eax
mov edi, reloc.OLEAUT32.dll_SysReAllocString
call fcn.0041b076
test eax, eax
je 0x40da6a
lea ecx, [ebp - 0x174]
call fcn.0043963e
xor esi, esi
push esi
push 0x20019
push str.UninstallReboot
lea ecx, [ebp - 0x190]
call fcn.0042a4a7
push eax
lea ecx, [ebp - 0x174]
call fcn.00439dbf
test eax, eax
je 0x40da57
push str.Uninstall_Key_found
call fcn.00416edc
mov ebx, dword [ebp - 0x134]
pop ecx
lea eax, [ebp - 0x15c]
push eax
push str.PatchMode
lea ecx, [ebp - 0x174]
mov dword [ebx + 0x12c], esi
mov dword [ebp - 0x15c], esi
call fcn.00439820
test eax, eax
je 0x40da5d
push dword [ebp - 0x15c]
push str.Patch_failure_mode:__lu
call fcn.00416edc
pop ecx
pop ecx
mov ecx, dword [ebp - 0x138]
push 0x482de4
mov byte [ebx + 0x130], 1
call fcn.0043d201
test al, al
je 0x40da33
mov eax, dword [ebp - 0x15c]
mov dword [ebx + 0x12c], eax
cmp dword [ebx + 0x12c], esi
jne 0x40da5d
mov ecx, dword [ebp - 0x138]
push 0x482ce4
call fcn.0043d201
test al, al
jne 0x40da5d
push ebx
call fcn.00410f02
jmp 0x40da5d
mov ebx, dword [ebp - 0x134]
lea ecx, [ebp - 0x174]
call fcn.00439949
jmp 0x40da70
mov ebx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
mov esi, 0x482ce4
push esi
call fcn.0043d201
test al, al
je 0x40da92
cmp byte [ebx + 0x124], 0
jne 0x40dc0b
cmp dword [ebx + 0x12c], 0
jne 0x40dc0b
mov ecx, dword [ebp - 0x138]
push esi
call fcn.0043d201
neg al
sbb al, al
inc al
movzx eax, al
push eax
mov eax, ebx
call fcn.0041318d
test al, al
je 0x40dade
mov ecx, dword [ebp - 0x184]
add ecx, 0xfffffff0
call fcn.00403af7
lea ecx, [ebp - 0x190]
call fcn.00439949
jmp 0x40d842
lea eax, [ebx + 0xd8]
lea ecx, [ebx + 0xc0]
push eax
push ecx
mov esi, 0x498ad4
call fcn.004068ec
test eax, eax
jne 0x40db54
mov ecx, dword [ebp - 0x138]
push str.RODONE
call fcn.0043d201
test al, al
je 0x40db18
push ebx
call fcn.00414452
test al, al
jne 0x40db34
push str.CInstallManager::Initialize_311__:_Another_instance_is_already_running
call fcn.00416f04
pop ecx
push 0xbc
push 0xbb
mov ecx, ebx
call fcn.004110e4
xor esi, esi
mov ecx, dword [ebp - 0x184]
add ecx, 0xfffffff0
call fcn.00403af7
lea ecx, [ebp - 0x190]
call fcn.00439949
jmp 0x40d727
mov edi, 0x497a28
push edi
lea ecx, [ebp - 0x15c]
call fcn.004037fc
push dword [ebx + 0xd8]
lea eax, [ebp - 0x15c]
push str._s_CleanUp
push eax
call fcn.0042dc91
add esp, 0xc
test al, al
jne 0x40db98
mov ecx, dword [ebp - 0x15c]
add ecx, 0xfffffff0
call fcn.00403af7
mov esi, 0x8007000e
jmp 0x40db36
lea esi, [ebp - 0x1f4]
call fcn.00406897
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebx + 0xc0]
push eax
call fcn.004068ec
test eax, eax
jne 0x40dbf0
push str.CInstallManager::Initialize_332__:_A_DeleteMode_instance_is_already_running
call fcn.00416f04
pop ecx
push 0xbc
push 0xbb
mov ecx, ebx
call fcn.004110e4
mov ecx, esi
call fcn.004068d0
mov ecx, dword [ebp - 0x15c]
add ecx, 0xfffffff0
call fcn.00403af7
jmp 0x40db34
lea ecx, [ebp - 0x1f4]
call fcn.004068d0
mov ecx, dword [ebp - 0x15c]
add ecx, 0xfffffff0
call fcn.00403af7
jmp 0x40dc10
mov edi, 0x497a28
mov esi, ebx
call fcn.0041100d
test al, al
je 0x40dea7
lea eax, [ebp - 0x12c]
call fcn.00416574
push str.Start:_Extract_Package
call fcn.00416edc
pop ecx
mov ecx, dword [ebx + 0xc4]
lea eax, [ebx + 0xd4]
push dword [eax]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
lea edi, [ebp - 0x12c]
call fcn.004165f5
mov edi, eax
push edi
push str.Finished:_Extract_Package:_0x_08x
call fcn.00416edc
pop ecx
pop ecx
test edi, edi
jge 0x40de90
cmp edi, 0x80070002
jne 0x40de8c
mov ecx, dword [ebp - 0x138]
mov esi, str.MEDIA
push esi
call fcn.0043d201
test al, al
je 0x40de7a
mov ecx, dword [ebp - 0x138]
push esi
call fcn.0043e5fb
test eax, eax
je 0x40de7a
mov esi, ebx
call fcn.0041059f
mov esi, eax
test esi, esi
jl 0x40ddbe
and dword [ebp - 0x140], 0
lea eax, [ebp - 0x140]
push eax
lea eax, [ebx + 0x148]
call fcn.00416527
mov esi, dword [ebp - 0x140]
mov edi, eax
test edi, edi
jl 0x40de51
test esi, esi
je 0x40de51
push 0x497a18
push 0x20
call fcn.0045c147
pop ecx
pop ecx
test eax, eax
je 0x40dd1b
movzx ecx, byte [ebx + 0x144]
push ecx
mov edi, esi
mov ebx, eax
call fcn.00416bf1
mov ebx, dword [ebp - 0x134]
mov edi, eax
jmp 0x40dd1d
xor edi, edi
test edi, edi
je 0x40ddec
lea esi, [edi + 8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x138]
push str.MEDIA
call fcn.0043e5fb
push eax
mov eax, edi
call fcn.00416c9c
mov dword [ebp - 0x158], eax
test eax, eax
jl 0x40de0e
mov edi, dword [edi + 0x18]
cmp dword [edi - 0xc], 0
je 0x40dd6c
push dword [ebp - 0x144]
push edi
call fcn.0042df63
pop ecx
pop ecx
push str.Start:_Extract_Package__media_retry_
call fcn.00416edc
mov eax, dword [ebp - 0x144]
pop ecx
push dword [eax]
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebx + 0xc4]
mov eax, dword [eax]
lea edi, [ebp - 0x12c]
call fcn.004165f5
mov edi, eax
push edi
push str.Finished:_Extract_Package__media_retry_:_0x_08x
call fcn.00416edc
mov eax, dword [esi]
pop ecx
pop ecx
mov ecx, esi
call dword [eax + 8]
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x40dc73
cmp esi, 0x800b0100
je 0x40ddcf
push esi
push 7
push ebx
call fcn.00413897
push esi
push str.CInstallManager::Initialize_360__:_CreateUIFrame_failed__0x_08x_
call fcn.00416f04
pop ecx
pop ecx
lea ecx, [ebp - 0x12c]
call fcn.004165c0
jmp 0x40db36
push str.CInstallManager::Initialize_378__:_out_of_memory
call fcn.00416f04
mov eax, dword [esi]
pop ecx
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp - 0x12c]
call fcn.004165c0
jmp 0x40db91
cmp dword [ebp - 0x158], 0x800b0100
je 0x40de28
push dword [ebp - 0x158]
push 9
push ebx
call fcn.00413897
lea ecx, [edi + 8]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp - 0x12c]
call fcn.004165c0
mov esi, dword [ebp - 0x158]
jmp 0x40db36
cmp edi, 0x800b0100
je 0x40de62
push edi
push 8
push ebx
call fcn.00413897
push edi
push str.CInstallManager::Initialize_371__:_GetFrame_failed__0x_08x_
call fcn.00416f04
pop ecx
pop ecx
test esi, esi
je 0x40de7a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp - 0x12c]
call fcn.004165c0
mov esi, edi
jmp 0x40db36
test edi, edi
jl 0x40de7a
mov ecx, ebx
call fcn.00411d65
lea ecx, [ebp - 0x12c]
call fcn.004165c0
mov edi, 0x497a28
call fcn.0042edd6
test eax, eax
je 0x40debb
add eax, 8
mov dword [ebp - 0x14c], eax
jmp 0x40dec2
and dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
jne 0x40dedc
push str.CInstallManager::Initialize_412__:_out_of_memory
call fcn.00416f04
pop ecx
jmp 0x40db91
push dword [ebp - 0x148]
call fcn.00404441
mov esi, dword [ebp - 0x160]
push dword [ebp - 0x14c]
mov ecx, dword [esi]
mov eax, dword [ecx]
push 2
call dword [eax + 0x84]
push edi
lea ecx, [ebp - 0x158]
call fcn.004037fc
mov eax, dword [ebx + 0xc4]
lea ecx, [ebp - 0x158]
push ecx
push eax
call fcn.0042df63
pop ecx
pop ecx
test al, al
je 0x40df3b
lea eax, [ebp - 0x158]
push str.InstStub.exe
push eax
call fcn.0042e4ce
pop ecx
pop ecx
test al, al
jne 0x40df59
mov ecx, dword [ebp - 0x158]
add ecx, 0xfffffff0
call fcn.00403af7
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x40db91
push dword [ebp - 0x158]
mov ecx, dword [esi]
mov eax, dword [ecx]
push 0x6b
call dword [eax + 0x90]
mov ecx, dword [ebp - 0x138]
push 0x482ce4
call fcn.0043d201
test al, al
je 0x40e041
lea esi, [ebp - 0x1dc]
call fcn.00403b29
push 1
push dword [ebp - 0x158]
mov eax, esi
call fcn.00403bf8
test al, al
je 0x40e036
push edi
lea ecx, [ebp - 0x140]
call fcn.004037fc
lea eax, [ebp - 0x140]
push eax
push 0
push dword [ebp - 0x1b8]
call fcn.004303e7
add esp, 0xc
test al, al
je 0x40dfd8
mov eax, dword [ebp - 0x140]
cmp dword [eax - 0xc], 0
je 0x40e028
push str.start:_move_embedded_data_to_the_cached_stub
call fcn.00416edc
pop ecx
push dword [ebp - 0x14c]
lea eax, [ebp - 0x1dc]
call fcn.00404311
test al, al
jne 0x40e003
push str.CInstallManager::Initialize_446__:_failed_to_import_embedded_data
call fcn.00416f04
pop ecx
lea ecx, [ebp - 0x1dc]
call fcn.00403def
test al, al
jne 0x40e01d
push str.CInstallManager::Initialize_452__:_failed_to_save_embedded_data_to_cached_stub
call fcn.00416f04
pop ecx
push str.done:_move_embedded_data_to_the_cached_stub
call fcn.00416edc
pop ecx
mov ecx, dword [ebp - 0x140]
add ecx, 0xfffffff0
call fcn.00403af7
lea ecx, [ebp - 0x1dc]
call fcn.00403b7f
mov ecx, dword [ebp - 0x158]
add ecx, 0xfffffff0
call fcn.00403af7
push edi
lea ecx, [ebp - 0x150]
call fcn.004037fc
lea eax, [ebp - 0x150]
push eax
mov eax, dword [ebp - 0x148]
push 5
call fcn.0040440e
test al, al
je 0x40e0ab
push dword [ebp - 0x150]
mov eax, dword [ebx + 0xc4]
push eax
call fcn.00408c98
mov esi, eax
pop ecx
pop ecx
test esi, esi
jge 0x40e0ab
mov ecx, dword [ebp - 0x150]
add ecx, 0xfffffff0
call fcn.00403af7
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x40db36
mov eax, ebx
call fcn.00410094
mov esi, eax
test esi, esi
jge 0x40e0c7
push esi
push str.CInstallManager::Initialize_476__:_InitializeOutputManifest_failed__0x_08x_
call fcn.00416f04
pop ecx
pop ecx
jmp 0x40e08d
cmp byte [ebx + 0x124], 0
je 0x40e203
call fcn.00411d0c
test al, al
jne 0x40e1fd
mov esi, dword [ebp - 0x134]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
lea eax, [ebp - 0x12d]
push eax
mov eax, dword [ebp - 0x148]
push 0x7e
mov byte [ebp - 0x12d], 0
call fcn.004043d3
mov ecx, dword [ebp - 0x138]
push str.NOREBOOT
call fcn.0043d201
test al, al
jne 0x40e1d5
cmp byte [ebp - 0x12d], al
jne 0x40e1d5
add esi, 0x1c0
cmp dword [esi], 0x80070bc2
jne 0x40e14c
push str.no_reboot_flag_NOT_found__force_reboot
call fcn.00416edc
pop ecx
mov dword [esi], 0x80070669
mov ebx, dword [ebp - 0x134]
mov eax, dword [ebx + 0x1c0]
test eax, eax
jge 0x40e584
mov ecx, dword [ebx + 0x138]
test ecx, ecx
je 0x40e580
lea edx, [ebp - 0x12d]
push edx
mov byte [ebp - 0x12d], 0
mov eax, dword [ecx]
push 6
call dword [eax + 0x80]
test al, al
je 0x40e197
cmp byte [ebp - 0x12d], 0
jne 0x40e5d1
mov ecx, dword [ebx + 0x138]
and dword [ebp - 0x168], 0
mov eax, dword [ecx]
lea edx, [ebp - 0x168]
push edx
push 7
call dword [eax + 0x68]
mov eax, dword [ebx + 0x1c0]
cmp eax, 0x800b0100
je 0x40e5d1
push eax
push dword [ebp - 0x168]
push ebx
call fcn.00413897
jmp 0x40e5d1
add esi, 0x1c0
cmp dword [esi], 0x80070669
jne 0x40e14c
push str.no_reboot_flag_found__do_not_force_reboot
call fcn.00416edc
pop ecx
mov dword [esi], 0x80070bc2
jmp 0x40e14c
mov ebx, dword [ebp - 0x134]
mov esi, ebx
call fcn.0041059f
mov edi, eax
test edi, edi
jge 0x40e26f
push edi
push str.CInstallManager::Initialize_519__:_CreateUIFrame_failed__0x_08x_
call fcn.00416f04
pop ecx
pop ecx
lea esi, [ebx + 0x127]
push 0xffffffffffffffff
mov ecx, ebx
mov byte [esi], 1
call fcn.0042a91c
mov byte [esi], 0
call fcn.004132ad
test al, al
jne 0x40e1fd
cmp edi, 0x800b0100
je 0x40e251
push edi
push 7
push dword [ebp - 0x134]
call fcn.00413897
mov ecx, dword [ebp - 0x150]
add ecx, 0xfffffff0
call fcn.00403af7
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x40de85
xor esi, esi
cmp byte [ebx + 0x124], 0
mov dword [ebp - 0x144], esi
jne 0x40e28c
cmp dword [ebx + 0x12c], esi
je 0x40e320
lea eax, [ebp - 0x140]
push eax
lea eax, [ebx + 0x148]
mov dword [ebp - 0x140], esi
call fcn.00416527
mov edi, eax
cmp edi, esi
jl 0x40ea7d
cmp dword [ebp - 0x140], esi
je 0x40ea7d
mov ecx, dword [ebp - 0x140]
lea esi, [ebp - 0x168]
call fcn.00414a9b
mov esi, dword [ebp - 0x168]
test esi, esi
je 0x40e2ed
movzx ecx, byte [ebx + 0x144]
mov eax, dword [esi]
push ecx
lea ecx, [ebp - 0x144]
push ecx
mov ecx, esi
call dword [eax + 0x30]
jmp 0x40e2ff
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx]
lea edx, [ebp - 0x144]
push edx
call dword [eax + 0x18]
mov edi, eax
test esi, esi
je 0x40e313
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
and dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx]
call dword [eax + 8]
xor esi, esi
push esi
push esi
push esi
mov ecx, ebx
call fcn.0042ae37
test eax, eax
je 0x40e464
cmp byte [ebx + 0x124], 0
jne 0x40e343
cmp dword [ebx + 0x12c], esi
je 0x40e35f
cmp edi, esi
jl 0x40ea31
mov ecx, dword [ebp - 0x144]
cmp ecx, esi
je 0x40ea31
mov eax, dword [ecx]
push esi
call dword [eax + 0x24]
movzx eax, byte [ebx + 0x144]
push eax
lea eax, [ebx + 0x148]
call fcn.00416410
push 0xffffffffffffffff
mov ecx, ebx
call fcn.0042a91c
mov eax, dword [ebx + 0x1c0]
cmp eax, esi
mov edi, 0x80070bc2
jge 0x40e3cc
cmp eax, edi
je 0x40e3cc
cmp eax, 0x80070669
je 0x40e3cc
cmp byte [ebx + 0x128], 0
je 0x40e3cc
call fcn.004132ad
test al, al
je 0x40e3c6
mov ecx, dword [ebp - 0x144]
test ecx, ecx
je 0x40e1fd
mov eax, dword [ecx]
call dword [eax + 8]
and dword [ebp - 0x144], 0
jmp 0x40e1fd
mov ebx, dword [ebp - 0x134]
cmp byte [ebx + 0x124], 0
jne 0x40e3de
cmp byte [ebx + 0x125], 0
je 0x40e44c
lea eax, [ebp - 0x12d]
push eax
mov eax, dword [ebp - 0x148]
push 0x7e
mov byte [ebp - 0x12d], 0
call fcn.004043d3
mov ecx, dword [ebp - 0x138]
push str.NOREBOOT
call fcn.0043d201
test al, al
jne 0x40e431
cmp byte [ebp - 0x12d], al
jne 0x40e431
lea esi, [ebx + 0x1c0]
cmp dword [esi], edi
jne 0x40e44c
push str.no_reboot_flag_NOT_found__force_reboot
call fcn.00416edc
mov dword [esi], 0x80070669
jmp 0x40e44b
lea esi, [ebx + 0x1c0]
cmp dword [esi], 0x80070669
jne 0x40e44c
push str.no_reboot_flag_found__do_not_force_reboot
call fcn.00416edc
mov dword [esi], edi
pop ecx
mov ecx, dword [ebp - 0x144]
test ecx, ecx
je 0x40e152
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x40e152
push 0x8000ffff
push 0xa
push str.FAILURE:_Hint:__d__HR:_0x_08x
call fcn.00416f04
add esp, 0xc
cmp byte [ebx + 0x134], 0
jne 0x40e53d
and dword [ebp - 0x148], 0
lea esi, [ebp - 0x17c]
call fcn.00408f08
push 1
push 0x2001f
mov ebx, str.SoftwareNortonInstall
mov edi, reloc.OLEAUT32.dll_SysReAllocString
call fcn.0041b076
test eax, eax
je 0x40e501
lea eax, [ebp - 0x148]
push eax
mov esi, str.Count
push esi
lea ecx, [ebp - 0x17c]
call fcn.00439820
mov eax, dword [ebp - 0x148]
inc eax
push eax
push esi
lea ecx, [ebp - 0x17c]
call fcn.0043989b
test eax, eax
jne 0x40e501
lea ecx, [ebp - 0x17c]
call fcn.004396ac
push eax
push dword [ebp - 0x148]
push ebx
push str.failed_to_set_DING_9003_failure_count:__s___lu___lu_
call fcn.00416f04
add esp, 0x10
push dword [ebp - 0x148]
mov esi, dword [ebp - 0x134]
push 0x8000ffff
push 0xa
mov ecx, esi
call fcn.00413971
mov ecx, dword [ebp - 0x170]
add ecx, 0xfffffff0
mov byte [esi + 0x134], 1
call fcn.00403af7
lea ecx, [ebp - 0x17c]
call fcn.00439949
xor esi, esi
push str.CInstallManager::Initialize_571__:_Create_thread_failed
call fcn.00416f04
pop ecx
mov ecx, dword [ebp - 0x144]
cmp ecx, esi
je 0x40e55d
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x144], esi
mov ecx, dword [ebp - 0x150]
add ecx, 0xfffffff0
call fcn.00403af7
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, 0x8000ffff
jmp 0x40db36
test eax, eax
jl 0x40e5d1
lea esi, [ebp - 0x17c]
call fcn.00408f08
push 0
push 0x2001f
mov ebx, str.SoftwareNortonInstall
mov edi, reloc.OLEAUT32.dll_SysReAllocString
call fcn.0041b076
test eax, eax
je 0x40e5b2
push 0
mov ecx, esi
call fcn.0041b191
mov ecx, dword [ebp - 0x170]
add ecx, 0xfffffff0
call fcn.00403af7
lea ecx, [ebp - 0x17c]
call fcn.00439949
mov ebx, dword [ebp - 0x134]
cmp dword [ebx + 0x138], 0
mov byte [ebp - 0x152], 0
mov byte [ebp - 0x12d], 0
je 0x40e8c8
mov eax, dword [ebx + 0x1c0]
mov esi, 0x47c02
cmp eax, 0x47c01
je 0x40e606
cmp eax, esi
jne 0x40e70d
mov ecx, 0x498ad4
call fcn.00434841
mov edi, 0x497a28
push edi
lea ecx, [ebp - 0x140]
call fcn.004037fc
lea eax, [ebp - 0x140]
push eax
push 0
push dword [ebx + 0x138]
call fcn.004303e7
add esp, 0xc
test al, al
je 0x40e6fd
push dword [ebp - 0x140]
and dword [ebp - 0x138], 0
lea ecx, [ebp - 0x138]
xor edx, edx
call fcn.004073ea
cmp dword [ebp - 0x138], 0x47c04
pop ecx
jne 0x40e673
mov dword [ebp - 0x138], 0x80070669
jmp 0x40e6e4
cmp dword [ebp - 0x138], 0x47c05
jne 0x40e68b
mov dword [ebp - 0x138], 0x80070bc2
jmp 0x40e6e4
cmp dword [ebp - 0x138], 0x80047c13
je 0x40e6e4
mov ecx, dword [ebx + 0x138]
lea edx, [ebp - 0x12d]
push edx
mov byte [ebp - 0x12d], 0
mov eax, dword [ecx]
push 3
call dword [eax + 0x80]
test al, al
je 0x40e6c2
cmp byte [ebp - 0x12d], 0
jne 0x40e6ca
cmp dword [ebx + 0x1c0], esi
jne 0x40e6e4
cmp dword [ebp - 0x138], 0x80070669
jne 0x40e6dd
mov byte [ebx + 0x133], 1
mov ecx, ebx
call fcn.004101e0
mov ecx, dword [ebp - 0x140]
mov esi, dword [ebp - 0x138]
add ecx, 0xfffffff0
call fcn.00403af7
jmp 0x40e08d
mov ecx, dword [ebp - 0x140]
add ecx, 0xfffffff0
call fcn.00403af7
jmp 0x40e712
mov edi, 0x497a28
mov ecx, dword [ebx + 0x138]
lea edx, [ebp - 0x151]
push edx
mov byte [ebp - 0x151], 0
mov eax, dword [ecx]
push 3
call dword [eax + 0x80]
test al, al
je 0x40e744
cmp byte [ebp - 0x151], 0
je 0x40e744
mov byte [ebp - 0x12d], 1
cmp dword [ebx + 0x1c0], 0x80070bc2
jne 0x40e78f
lea eax, [ebp - 0x139]
push eax
mov eax, dword [ebp - 0x148]
push 0x39
mov byte [ebp - 0x139], 0
call fcn.004043d3
test al, al
je 0x40e778
cmp byte [ebp - 0x139], 0
jne 0x40e78f
mov ecx, dword [ebx + 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x152]
push edx
push 1
call dword [eax + 0x80]
cmp byte [ebp - 0x152], 0
je 0x40e8c8
push edi
lea ecx, [ebp - 0x134]
call fcn.004037fc
mov eax, dword [ebx + 0xc4]
lea ecx, [ebp - 0x134]
push ecx
push eax
call fcn.0042df63
pop ecx
pop ecx
test al, al
je 0x40e8ba
lea eax, [ebp - 0x134]
push str.InstStub.exe
push eax
call fcn.0042e4ce
pop ecx
pop ecx
test al, al
je 0x40e8ba
push edi
lea ecx, [ebp - 0x148]
call fcn.004037fc
push str.TRAYONLY
lea eax, [ebp - 0x148]
push 0x483ea0
push eax
call fcn.0042dc91
mov ecx, dword [ebp - 0x148]
add esp, 0xc
test al, al
je 0x40e8b2
mov eax, dword [ebp - 0x134]
and dword [ebp - 0x1cc], 0
and dword [ebp - 0x1bc], 0
push ecx
push eax
push str.Launching:__s__s
mov dword [ebp - 0x1d4], 0x3c
mov dword [ebp - 0x1d0], 0x8500
mov dword [ebp - 0x1c8], str.open
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1b8], 5
call fcn.00416edc
add esp, 0xc
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x40e884
mov byte [ebp - 0x12d], 0
jmp 0x40e8ac
mov esi, dword [ebp - 0x134]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.CInstallManager::Initialize_766__:_failed_to_launch___s__in_tray_mode___lu___use_this_process_for_tray_mode
call fcn.00416f04
add esp, 0xc
mov eax, ebx
call fcn.00413377
mov dword [ebx + 0x1c0], eax
mov ecx, dword [ebp - 0x148]
add ecx, 0xfffffff0
call fcn.00403af7
mov ecx, dword [ebp - 0x134]
add ecx, 0xfffffff0
call fcn.00403af7
mov esi, dword [ebp - 0x160]
mov ecx, dword [esi]
test ecx, ecx
je 0x40e8dc
mov eax, dword [ecx]
call dword [eax + 8]
and dword [esi], 0
lea esi, [ebx + 0x180]
call fcn.004163c8
lea esi, [ebx + 0x148]
call fcn.004163c8
cmp byte [ebp - 0x12d], 0
je 0x40e902
mov ecx, ebx
call fcn.004101e0
cmp dword [ebx + 0x138], 0
je 0x40e9f4
mov eax, dword [ebx + 0x1c0]
cmp eax, 0x80070669
je 0x40e927
cmp eax, 0x47c03
je 0x40e927
xor eax, eax
jmp 0x40e92a
xor eax, eax
inc eax
mov esi, dword [ebp - 0x164]
mov byte [esi], al
movzx eax, al
push eax
push dword [ebx + 0x1c0]
push str.engine_returned:_0x_08x__reboot:__d_
call fcn.00416edc
add esp, 0xc
cmp byte [ebp - 0x12d], 0
jne 0x40e9ca
mov ecx, dword [ebp - 0x138]
push str.LIRELAUNCH
call fcn.0043d201
test al, al
je 0x40e9ca
mov ecx, dword [ebx + 0x138]
lea edx, [ebp - 0x139]
push edx
mov byte [ebp - 0x139], 0
mov eax, dword [ecx]
push 5
call dword [eax + 0x80]
test al, al
je 0x40e9ca
cmp byte [ebp - 0x139], 0
je 0x40e9ca
cmp byte [esi], 0
je 0x40e9a2
mov dword [ebx + 0x1c0], 0x47c04
jmp 0x40e9b8
cmp dword [ebx + 0x1c0], 0x80070bc2
jne 0x40e9b8
mov dword [ebx + 0x1c0], 0x47c05
push dword [ebx + 0x1c0]
push str.change_return_code_so_initial_setup_doesnt_delete_its_cache:_0x_08x
call fcn.00416edc
pop ecx
pop ecx
mov ecx, dword [ebx + 0x138]
and dword [ebp - 0x164], 0
mov eax, dword [ecx]
lea edx, [ebp - 0x164]
push edx
push 4
call dword [eax + 0x68]
test al, al
je 0x40e9f4
mov esi, dword [ebp - 0x164]
jmp 0x40e08d
mov ecx, dword [ebp - 0x150]
mov ebx, dword [ebx + 0x1c0]
add ecx, 0xfffffff0
call fcn.00403af7
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x184]
add ecx, 0xfffffff0
call fcn.00403af7
lea ecx, [ebp - 0x190]
call fcn.00439949
jmp 0x40d933
push edi
push str.CInstallManager::Initialize_580__:_GetInstallUI_failed__0x_08x_
call fcn.00416f04
pop ecx
pop ecx
push 0xffffffffffffffff
mov ecx, ebx
mov byte [ebx + 0x127], 1
call fcn.0042a91c
cmp edi, 0x800b0100
je 0x40ea5f
push edi
push 0xd
push ebx
call fcn.00413897
mov ecx, dword [ebp - 0x144]
cmp ecx, esi
je 0x40e251
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x144], esi
jmp 0x40e251
push edi
push str.CInstallManager::Initialize_547__:_GetFrame_failed__0x_08x_
call fcn.00416f04
pop ecx
pop ecx
mov byte [ebx + 0x127], 1
cmp edi, 0x800b0100
je 0x40eaa2
push edi
push 8
push ebx
call fcn.00413897
mov ecx, dword [ebp - 0x140]
cmp ecx, esi
je 0x40eab1
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x144]
cmp ecx, esi
je 0x40eac6
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x144], esi
mov ecx, dword [ebp - 0x150]
add ecx, 0xfffffff0
call fcn.00403af7
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x184]
add ecx, 0xfffffff0
call fcn.00403af7
lea ecx, [ebp - 0x190]
call fcn.00439949
mov eax, edi
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00459871
leave
ret 4