Function at 0x40280e
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Create process on windows
Delete file
Delete registry value
Extract resource via kernel32 functions
Get common file path
Get installed programs
Query or enumerate registry value
Resolve function by parsing pe exports
Set registry value
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3854
call fcn.0042c140
mov eax, dword [0x4441c0]
xor eax, esp
mov dword [esp + 0x3850], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 0x10]
push esi
mov dword [esp + 0xa0], eax
xor eax, eax
push edi
mov word [esp + 0x1b8], ax
mov word [esp + 0x244], ax
mov word [esp + 0x228], ax
mov word [esp + 0x20c], ax
mov word [esp + 0x260], ax
mov eax, 0x54f
push 7
pop esi
mov dword [esp + 0x30], eax
mov dword [esp + 0xac], eax
xor edi, edi
inc edi
lea eax, [esp + 0xbc]
push eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x25c], esi
mov dword [esp + 0x258], ebx
mov dword [esp + 0x240], esi
mov dword [esp + 0x23c], ebx
mov dword [esp + 0x224], esi
mov dword [esp + 0x220], ebx
mov dword [esp + 0x278], esi
mov dword [esp + 0x274], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x7c], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x38], ebx
jle 0x402ca3
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x8c]
lea eax, [eax + ecx*4]
push str._tbr
push dword [eax]
mov dword [esp + 0x18], eax
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x4029b0
mov dword [esp + 0x54], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push 0x43aae0
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x4029cf
mov dword [esp + 0x3c], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._hpr
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x4029ee
mov dword [esp + 0x4c], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._nowzup
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402a0d
mov dword [esp + 0x28], ebx
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._supg
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402a30
mov dword [esp + 0x64], edi
mov dword [esp + 0x28], ebx
jmp 0x402ac8
mov eax, dword [esp + 0x10]
push str._rep
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402a4f
mov dword [esp + 0x5c], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push 0x43ab1c
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402a71
mov dword [esp + 0x84], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._s3all
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402a93
mov dword [esp + 0x90], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._testoi
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402ab2
mov dword [esp + 0x1c], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._nooi
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402ad1
mov dword [esp + 0x1c], ebx
jmp 0x402c78
mov eax, dword [esp + 0x10]
push 8
push str.toolbar
push dword [eax]
call fcn.0041aa63
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x402afc
mov eax, dword [eax]
add eax, 0x10
mov dword [esp + 0x2c], eax
jmp 0x402c78
push 2
push 0x43aaa8
push dword [eax]
call fcn.0041aa63
add esp, 0xc
test eax, eax
jne 0x402b3f
mov eax, dword [esp + 0x10]
push 0xb
push str._verysilent
push dword [eax]
call fcn.0041aa63
add esp, 0xc
test eax, eax
je 0x402b3f
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
add eax, 4
mov dword [esp + 0x94], eax
jmp 0x402c78
mov eax, dword [esp + 0x10]
push esi
push str.macros
push dword [eax]
call fcn.0041aa63
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x402b6c
mov eax, dword [eax]
add eax, 0xe
mov dword [esp + 0x9c], eax
jmp 0x402c78
push 0x43ab50
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402b87
mov dword [esp + 0x48], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push 0x43ab58
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402ba9
mov dword [esp + 0x88], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._web
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402bc8
mov dword [esp + 0x58], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push str._uninstall
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
je 0x402e92
mov eax, dword [esp + 0x10]
push esi
push str.driver
push dword [eax]
call fcn.0041aa63
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x402c0c
mov eax, dword [eax]
add eax, 0xe
mov dword [esp + 0xa8], eax
jmp 0x402c78
push str._gui
push dword [eax]
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402c24
mov dword [esp + 0x68], edi
jmp 0x402c78
mov eax, dword [esp + 0x10]
push 5
push 0x43aa9c
push dword [eax]
call fcn.0041aa63
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x402c4c
mov eax, dword [eax]
add eax, 0xa
mov dword [esp + 0x6c], eax
jmp 0x402c78
push 4
push str.UPD
push dword [eax]
call fcn.00419bd5
add esp, 0xc
test eax, eax
jne 0x402c78
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
push 8
push eax
mov dword [esp + 0xa8], eax
call fcn.0041a03f
pop ecx
pop ecx
inc dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0xbc]
jl 0x402983
cmp dword [esp + 0x54], ebx
jne 0x402ca3
cmp dword [esp + 0x3c], ebx
jne 0x402ca3
cmp dword [esp + 0x4c], ebx
je 0x402ca3
mov dword [esp + 0x74], edi
lea esi, [esp + 0x27c]
call fcn.00405573
lea esi, [esp + 0x298]
call fcn.00405573
lea eax, [esp + 0x2b4]
push eax
call fcn.00408b93
lea eax, [esp + 0x278]
push eax
mov byte [esp + 0x27c], bl
call fcn.004084e1
push edi
push dword [esp + 0xa8]
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
lea ebx, [esp + 0xdb8]
call fcn.00411698
test eax, eax
je 0x402d13
push 1
mov eax, ebx
push eax
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
mov eax, dword [esp + 0x2c]
xor edi, edi
xor ebx, ebx
inc edi
cmp eax, ebx
je 0x4053c0
cmp word [eax], bx
je 0x4053c0
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [esp + 0x60]
push eax
push edi
push ebx
push str.CLSIDD4027C7F_154A_4066_A1AD_4243D8127440
push SysReAllocString
mov byte [esp + 0x37], bl
call esi
test eax, eax
jne 0x402d74
lea eax, [esp + 0x34]
push eax
push edi
push ebx
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall86D4B82A_ABED_442A_BE86_96357B70F4FE
push reloc.OLEAUT32.dll_SysReAllocString
call esi
test eax, eax
je 0x402d6a
mov byte [esp + 0x23], 1
push dword [esp + 0x34]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [esp + 0x60]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [esp + 0x23], bl
je 0x402d9d
push 2
push str.Detected_a_corrupted_install__calling_CleanCorruptedInstall__
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
call fcn.0040754b
call fcn.004073df
mov dword [esp + 0x34], 0xf003f
call fcn.00411337
test eax, eax
je 0x402dbb
mov dword [esp + 0x34], 0xf013f
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x38]
push ebx
push str.InstallerProductsA28B4D68DEBAA244EB686953B7074FEFSourceList
push SysReAllocString
call esi
test eax, eax
jne 0x402e60
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3bc]
push eax
push ebx
push ebx
mov esi, str.PackageName
push esi
push dword [esp + 0xac]
mov dword [esp + 0x4c], 0x200
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x402e53
lea eax, [esp + 0x3b8]
push str.Ask.com_Toolbar.msi
push eax
call fcn.004197d3
pop ecx
pop ecx
test eax, eax
jne 0x402e53
push 0x20
pop eax
push eax
push str.Ask_Toolbar.msi
push edi
push ebx
push esi
push dword [esp + 0xac]
mov dword [esp + 0x4c], eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 2
push str.Detected_a_mismatch_in_MSI_package_names._The_mismatch_has_been_rectified
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push dword [esp + 0x98]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00401fe0
call fcn.00407728
mov dword [esp + 0x34], eax
call fcn.004076b3
mov dword [esp + 0x60], eax
call fcn.0040763e
mov dword [esp + 0x10], eax
cmp dword [esp + 0x34], ebx
jne 0x402ef1
cmp dword [esp + 0x60], ebx
je 0x402f21
jmp 0x402f04
call fcn.0040e871
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push ebx
push edi
lea esi, [esp + 0x264]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x210]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x22c]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x248]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x1bc]
call fcn.00405d7c
xor eax, eax
jmp 0x4054d6
push edi
push str.int_toolbar_is_already_installed__do_not_launch_the_installer.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
cmp dword [esp + 0x60], ebx
je 0x402f1d
push edi
push str.cp_toolbar_is_already_installed__do_not_launch_the_installer.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
mov dword [esp + 0x40], ebx
cmp dword [esp + 0x10], ebx
je 0x402f46
push edi
push str.v5_toolbar_is_already_installed.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
call fcn.0040de1f
mov dword [esp + 0x80], eax
call fcn.0040779d
mov dword [esp + 0x38], eax
lea eax, [esp + 0xc4]
mov esi, vtable.CBasicMacro.0
push eax
mov dword [esp + 0xc4], esi
call fcn.0040cb68
lea eax, [esp + 0xe8]
push eax
mov dword [esp + 0xc4], vtable.CInstallerPropertiesMacro.0
mov dword [esp + 0xe8], esi
call fcn.0040cb68
mov dword [esp + 0xe4], vtable.CInstallerCustomMacro.0
cmp dword [0x4469a4], ebx
jne 0x402fc6
push 0x44
call fcn.0041ad08
mov esi, eax
pop ecx
cmp esi, ebx
je 0x402fbe
call fcn.0040bce4
lea eax, [esi + 0x24]
push eax
mov dword [esi], vtable.CMacro.0
call fcn.0040cb68
jmp 0x402fc0
xor esi, esi
mov dword [0x4469a4], esi
mov ecx, dword [0x4469a4]
mov dword [esp + 0x18], ecx
cmp ecx, ebx
jne 0x402ff8
push edi
push str.Macro_object_initialization_failed.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x44], ebx
jmp 0x403661
push dword [esp + 0x10]
push dword [esp + 0x64]
push dword [esp + 0x3c]
call fcn.0040c29d
cmp dword [esp + 0x64], ebx
je 0x4030f3
cmp dword [esp + 0x38], ebx
je 0x4030f3
cmp dword [esp + 0x80], ebx
je 0x403030
cmp dword [esp + 0x1c], ebx
jne 0x4030f3
push str.inguid
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, esi
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x180]
call fcn.0040bd4c
push 0xffffffffffffffff
xor edi, edi
push edi
lea ecx, [esp + 0x210]
call fcn.004058b4
push edi
push 1
mov esi, ebx
call fcn.00405d7c
push edi
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
cmp dword [esp + 0x21c], edi
je 0x4030ae
push str.repguid
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x208]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push edi
jmp 0x4030db
lea ebx, [esp + 0x208]
call fcn.00410a2f
push str.repguid
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push 0
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
xor edi, edi
xor ebx, ebx
inc edi
jmp 0x403613
lea ecx, [esp + 0x144]
call fcn.0040ddc4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x264]
call fcn.004058b4
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
call fcn.0040e12b
mov dword [esp + 0xb4], eax
call fcn.0040e237
push 0x43afb8
lea esi, [esp + 0x148]
mov dword [esp + 0x28], eax
call fcn.00405586
lea eax, [esp + 0x25c]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
call fcn.00405d7c
push str.ielu
lea esi, [esp + 0x148]
call fcn.00405586
push dword [esp + 0xb4]
lea ecx, [esp + 0x180]
call fcn.00414456
pop ecx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
push str.fflu
lea esi, [esp + 0x148]
call fcn.00405586
push dword [esp + 0x24]
lea ecx, [esp + 0x180]
call fcn.00414456
pop ecx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
mov eax, 0x43afd8
cmp dword [esp + 0x80], ebx
jne 0x403206
mov eax, 0x43afdc
push eax
lea esi, [esp + 0x180]
call fcn.00405586
push 0x43afe0
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
mov eax, 0x43afd8
cmp dword [esp + 0x4c], ebx
jne 0x40325c
mov eax, 0x43afdc
push eax
lea esi, [esp + 0x180]
call fcn.00405586
push 0x43afec
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push str.5.12.2.16749
lea esi, [esp + 0x180]
call fcn.00405586
push 0x43b010
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
cmp dword [esp + 0x64], ebx
jne 0x4033d0
cmp dword [esp + 0x38], ebx
jne 0x4033d0
cmp dword [esp + 0x54], ebx
je 0x403368
lea ebx, [esp + 0x240]
call fcn.00410a2f
mov edi, str.guid
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
lea eax, [esp + 0xc4]
push eax
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
xor edi, edi
xor ebx, ebx
inc edi
cmp dword [esp + 0x3c], ebx
je 0x4033d0
lea ebx, [esp + 0x224]
call fcn.00410a2f
mov edi, str.saguid
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
lea eax, [esp + 0xc4]
push eax
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
xor edi, edi
xor ebx, ebx
inc edi
cmp dword [esp + 0x254], ebx
je 0x4033f1
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x248]
lea ecx, [esp + 0x210]
call fcn.004058b4
jmp 0x403402
lea ebx, [esp + 0x208]
call fcn.00410a2f
xor edi, edi
xor ebx, ebx
inc edi
cmp dword [esp + 0x6c], ebx
je 0x403444
push dword [esp + 0x6c]
lea esi, [esp + 0x180]
call fcn.00405586
push str.dtid
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x1c]
mov eax, esi
mov dword [esp + 0x1c], 3
call fcn.0040bd24
test byte [esp + 0x14], 2
je 0x40345e
and dword [esp + 0x14], 0xfffffffd
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
test byte [esp + 0x14], 1
je 0x403478
and dword [esp + 0x14], 0xfffffffe
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push dword [esp + 0x2c]
lea esi, [esp + 0x180]
call fcn.00405586
or dword [esp + 0x14], 4
push 0x43a9b8
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], 8
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test byte [esp + 0x14], 8
je 0x4034c9
and dword [esp + 0x14], 0xfffffff7
push ebx
push edi
call fcn.00405d7c
test byte [esp + 0x14], 4
je 0x4034e3
and dword [esp + 0x14], 0xfffffffb
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push str.client
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
call fcn.0040fdb2
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
push str.1.12.2.16749
lea esi, [esp + 0x180]
call fcn.00405586
push str.clientv
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
cmp dword [esp + 0x21c], ebx
je 0x4035a6
push str.repguid
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x208]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
call fcn.00405d7c
mov esi, dword [esp + 0xa4]
call fcn.00402763
test al, al
lea eax, [esp + 0xe4]
push eax
je 0x4035d9
lea eax, [esp + 0xc4]
push eax
push dword [esp + 0x20]
call fcn.0040246f
mov dword [esp + 0x70], edi
mov dword [esp + 0x7c], edi
jmp 0x403613
push dword [esp + 0x1c]
lea ecx, [esp + 0xc8]
call fcn.0040fec7
pop ecx
pop ecx
test eax, eax
push edi
lea eax, [esp + 0x27c]
je 0x403608
push str.Install_Call_was_successful
push eax
call fcn.004086fd
mov dword [esp + 0x70], edi
jmp 0x403613
push str.Install_Call_failed
push eax
call fcn.004086fd
push str.param
lea esi, [esp + 0x148]
call fcn.00405586
xor eax, eax
cmp dword [esp + 0x70], ebx
lea ecx, [esp + 0x17c]
sete al
call fcn.0040feae
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
cmp dword [esp + 0x10], ebx
je 0x403c35
push dword [esp + 0x18]
push dword [esp + 0x30]
call fcn.004023b3
mov edi, eax
pop ecx
pop ecx
cmp edi, ebx
je 0x4036ac
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x40], esp
push str.5.12.2.16749
call fcn.00405586
call fcn.004022fd
add esp, 0x1c
test eax, eax
je 0x4036ac
push 1
mov dword [esp + 0x44], ebx
push str.Product_already_installed_for_the_same_partner__exit_installer
jmp 0x4036c7
cmp dword [esp + 0x64], ebx
je 0x4036d9
mov dword [esp + 0x40], edi
cmp edi, ebx
mov eax, str.Same_partner_id__run_the_update_installation.
jne 0x4036c4
mov eax, str.Partner_Id_mismatch._Terminate_installation.
push 1
push eax
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
jmp 0x403c35
cmp dword [esp + 0x80], ebx
je 0x403d00
cmp dword [esp + 0x1c], ebx
je 0x403cf7
xor esi, esi
inc esi
push esi
push str.v5_toolbar_is_disabled.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push esi
push str.Over_install_mode_activated_
lea eax, [esp + 0x280]
push eax
mov dword [esp + 0x5c], esi
call fcn.004086fd
cmp dword [esp + 0x70], ebx
je 0x40387e
push 0x43b2b0
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, esi
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x180]
call fcn.0040bd4c
push 0xffffffffffffffff
xor edi, edi
push edi
lea ecx, [esp + 0x1bc]
call fcn.004058b4
xor ebx, ebx
push edi
inc ebx
push ebx
lea esi, [esp + 0x184]
call fcn.00405d7c
push edi
push ebx
lea esi, [esp + 0x14c]
call fcn.00405d7c
push str.Over_install:_Server_response_oi_
lea esi, [esp + 0x19c]
call fcn.00405586
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x1bc]
mov ecx, esi
call fcn.004060a6
cmp dword [esp + 0x1b0], 8
mov eax, dword [esp + 0x19c]
jae 0x4037b5
lea eax, [esp + 0x19c]
push ebx
push eax
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push edi
push ebx
lea esi, [esp + 0x1a0]
call fcn.00405d7c
push 0x43b300
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
jne 0x403803
push 0x43b308
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
jne 0x403803
and dword [esp + 0x50], 0
xor ebx, ebx
cmp dword [esp + 0x28], ebx
je 0x40381b
cmp dword [esp + 0x38], ebx
je 0x40381b
cmp dword [esp + 0x50], ebx
jne 0x403825
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x50], ebx
je 0x403cf7
push 1
push str.Over_install:_Call_EnableSuperToolbar__.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push 0x43b010
lea esi, [esp + 0x180]
call fcn.00405586
push str.inversion
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x19c]
call fcn.0040bd4c
cmp dword [eax + 0x18], 8
jb 0x40389a
mov esi, dword [eax + 4]
jmp 0x40389d
push esi
push str.Over_install:_Server_call_failed._Do_NOT_Allow_Overinstall_
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
mov dword [esp + 0x50], ebx
jmp 0x403805
lea esi, [eax + 4]
lea eax, [esp + 0x144]
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x1f0]
call fcn.0040bd4c
cmp dword [eax + 0x18], 8
jb 0x4038c0
mov eax, dword [eax + 4]
jmp 0x4038c3
add eax, 4
cmp dword [esp + 0x1cc], 8
mov ecx, dword [esp + 0x1b8]
jae 0x4038db
lea ecx, [esp + 0x1b8]
push esi
push ecx
mov ecx, eax
call fcn.0040df02
pop ecx
pop ecx
xor ebx, ebx
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0x1f4]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x1a0]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
push 0x43b300
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
jne 0x403955
cmp dword [esp + 0x74], ebx
je 0x40396d
push 0x43b308
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
je 0x40396d
push edi
push str.Over_install:_Uninstall_the_incumbent_Toolbar.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
call fcn.0040e871
push 0x43b308
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
je 0x403b4a
lea edi, [esp + 0xc4]
call fcn.0040ccaa
lea edi, [esp + 0xe8]
call fcn.0040ccaa
cmp dword [esp + 0x54], ebx
je 0x403a5d
xor eax, eax
push str.inguid
lea esi, [esp + 0x148]
mov dword [esp + 0x1ec], 7
mov dword [esp + 0x1e8], ebx
mov word [esp + 0x1d8], ax
call fcn.00405586
mov eax, esi
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x180]
call fcn.0040bd4c
push 0xffffffffffffffff
xor edi, edi
push edi
lea ecx, [esp + 0x1d8]
call fcn.004058b4
xor ebx, ebx
push edi
inc ebx
push ebx
lea esi, [esp + 0x184]
call fcn.00405d7c
push edi
push ebx
lea esi, [esp + 0x14c]
call fcn.00405d7c
cmp dword [esp + 0x1e4], edi
je 0x403a4d
push str.guid
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x1d0]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push edi
push ebx
call fcn.00405d7c
push edi
push ebx
lea esi, [esp + 0x1d8]
call fcn.00405d7c
xor ebx, ebx
cmp dword [esp + 0x3c], ebx
je 0x403b4a
xor eax, eax
push str.insaguid
lea esi, [esp + 0x148]
mov dword [esp + 0x1ec], 7
mov dword [esp + 0x1e8], ebx
mov word [esp + 0x1d8], ax
call fcn.00405586
mov eax, esi
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x180]
call fcn.0040bd4c
push 0xffffffffffffffff
xor edi, edi
push edi
lea ecx, [esp + 0x1d8]
call fcn.004058b4
push edi
push 1
mov esi, ebx
call fcn.00405d7c
push edi
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
cmp dword [esp + 0x1e4], edi
jne 0x403b0f
lea ebx, [esp + 0x224]
call fcn.00410a2f
push str.saguid
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push edi
push 1
call fcn.00405d7c
jmp 0x403b3b
push str.saguid
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x1d0]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push edi
push 1
call fcn.00405d7c
push edi
push 1
lea esi, [esp + 0x1d8]
call fcn.00405d7c
push 0x43b300
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
je 0x403c33
cmp dword [esp + 0x54], 0
je 0x403bcf
cmp dword [esp + 0x7c], 0
jne 0x403bcf
lea ebx, [esp + 0x240]
call fcn.00410a2f
mov edi, str.guid
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
lea eax, [esp + 0xc4]
push eax
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
cmp dword [esp + 0x3c], 0
je 0x403c33
lea ebx, [esp + 0x224]
call fcn.00410a2f
mov edi, str.saguid
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
push edi
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, ebx
push eax
lea eax, [esp + 0xc4]
push eax
mov eax, esi
call fcn.0040bd24
push 0
push 1
call fcn.00405d7c
xor ebx, ebx
cmp dword [esp + 0x5c], ebx
jne 0x403c4d
cmp dword [esp + 0x90], ebx
jne 0x403c4d
cmp dword [esp + 0x84], ebx
je 0x403c62
push str.report
push str.SoftwareAsk.com
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
push dword [esp + 0xa4]
mov dword [esp + 0x78], ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
lea esi, [edi + 0x400]
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
mov dword [esp + 0x1c], esi
neg ecx
or ecx, eax
push ecx
call fcn.00418764
pop ecx
mov dword [esp + 0x10], eax
cmp edi, ebx
je 0x404f51
cmp dword [esp + 0x48], ebx
je 0x403cbc
cmp dword [esp + 0x88], ebx
je 0x403cbc
mov dword [esp + 0x88], ebx
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x2c]
cmp word [eax], bx
je 0x404f51
cmp dword [esp + 0x68], ebx
je 0x403d5a
cmp dword [esp + 0x3c], ebx
jne 0x403d1a
cmp dword [esp + 0x4c], ebx
jne 0x403d20
mov edi, dword [esp + 0x10]
push eax
push str._v_PARTNER_s_GUIYES
mov ecx, esi
call fcn.00401164
pop ecx
pop ecx
jmp 0x403df7
mov dword [esp + 0x40], ebx
jmp 0x403c35
push dword [esp + 0x18]
push dword [esp + 0x30]
call fcn.004023b3
pop ecx
pop ecx
mov dword [esp + 0x40], eax
cmp eax, ebx
jmp 0x4036b8
cmp dword [esp + 0x4c], ebx
je 0x403d27
mov ecx, str.HPR1
jmp 0x403d2c
mov ecx, str.HPR0
mov eax, str.SAYES
cmp dword [esp + 0x3c], ebx
jne 0x403d3c
mov eax, str.SANO
mov edi, dword [esp + 0x10]
push ecx
push eax
push dword [esp + 0x34]
mov ecx, esi
push str._v_PARTNER_s_GUIYES__s_s
call fcn.00401164
add esp, 0x10
jmp 0x403df7
mov eax, 0x43a054
mov edi, str.WEBINSTALLYES
cmp dword [esp + 0x58], ebx
jne 0x403d6c
mov edi, eax
mov dword [esp + 0x58], str.BROWSERFF
cmp dword [esp + 0x88], ebx
jne 0x403d81
mov dword [esp + 0x58], eax
mov dword [esp + 0x7c], str.BROWSERIE
cmp dword [esp + 0x48], ebx
jne 0x403d93
mov dword [esp + 0x7c], eax
mov edx, str.HPR1
cmp dword [esp + 0x4c], ebx
jne 0x403da3
mov edx, str.HPR0
mov ecx, str.SAYES
cmp dword [esp + 0x3c], ebx
jne 0x403db3
mov ecx, str.SANO
cmp dword [esp + 0x54], ebx
je 0x403dcc
cmp dword [esp + 0x3c], ebx
jne 0x403dd1
cmp dword [esp + 0x4c], ebx
jne 0x403dd1
mov eax, str.TBRYES
jmp 0x403dd1
mov eax, str.TBRNO
push edi
push dword [esp + 0x5c]
mov edi, dword [esp + 0x18]
push dword [esp + 0x84]
push edx
push ecx
push eax
push dword [esp + 0x44]
mov ecx, esi
push str._s__v__qn_REBOOTReallySuppress_PARTNER_s__s_s_s_s_s_s
call fcn.00401164
add esp, 0x20
cmp dword [esp + 0xa8], ebx
je 0x403e35
push str.DRIVER
push dword [esp + 0x14]
mov ecx, esi
call fcn.004010b3
push dword [esp + 0xa8]
mov ecx, esi
push dword [esp + 0x14]
call fcn.004010b3
mov edi, 0x43b638
push edi
push dword [esp + 0x14]
mov ecx, esi
call fcn.004010b3
jmp 0x403e3a
mov edi, 0x43b638
push str.dtid
lea esi, [esp + 0x148]
call fcn.00405586
mov eax, esi
push eax
lea ebx, [esp + 0x1d4]
lea eax, [esp + 0xc4]
call fcn.0040bd4c
push 0
push 1
call fcn.00405d7c
cmp dword [esp + 0x1e4], 0
jne 0x403ea7
xor esi, esi
cmp dword [esp + 0x6c], esi
je 0x403eef
push 0x43b308
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
jne 0x403e9e
push dword [esp + 0x6c]
mov eax, ebx
push eax
call fcn.00405940
cmp dword [esp + 0x1e4], esi
je 0x403eed
mov ecx, dword [esp + 0x1c]
push 0x43b63c
push dword [esp + 0x14]
call fcn.004010b3
cmp dword [esp + 0x1e8], 8
mov eax, dword [esp + 0x1d4]
jae 0x403ed1
lea eax, [esp + 0x1d4]
mov ecx, dword [esp + 0x1c]
push eax
push dword [esp + 0x14]
call fcn.004010b3
mov ecx, dword [esp + 0x1c]
push edi
push dword [esp + 0x14]
call fcn.004010b3
xor esi, esi
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x64], esi
je 0x403f00
push str.IFsu
jmp 0x403f74
cmp dword [esp + 0x50], esi
je 0x403f69
push 0x43b300
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
jne 0x403f32
push 0x43b308
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
je 0x403f69
push 0x43b658
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
cmp dword [esp + 0x1cc], 8
mov eax, dword [esp + 0x1b8]
jae 0x403f5a
lea eax, [esp + 0x1b8]
push eax
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
push edi
jmp 0x403f74
cmp dword [esp + 0x38], esi
jne 0x403f7f
push str.IFfirst
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
push 0x43b308
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
jne 0x403fe7
lea edx, [esp + 0x198]
lea ecx, [esp + 0xc0]
call fcn.0040c820
cmp dword [esp + 0x1ac], esi
je 0x403fd5
cmp dword [esp + 0x1b0], 8
mov eax, dword [esp + 0x19c]
jae 0x403fc9
lea eax, [esp + 0x19c]
push eax
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
push 0
push 1
lea esi, [esp + 0x1a0]
call fcn.00405d7c
xor esi, esi
cmp dword [esp + 0x50], esi
je 0x404059
push 0x43b300
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
jne 0x404019
push 0x43b308
lea ecx, [esp + 0x1b8]
call fcn.0040650e
pop ecx
test al, al
je 0x404059
push 0x43b674
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
cmp dword [esp + 0x1cc], 8
mov eax, dword [esp + 0x1b8]
jae 0x404041
lea eax, [esp + 0x1b8]
push eax
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
push edi
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
cmp dword [esp + 0xa0], esi
je 0x404080
push dword [esp + 0xa0]
mov ecx, ebx
push dword [esp + 0x14]
call fcn.004010b3
push edi
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004010b3
cmp dword [esp + 0x9c], esi
je 0x404202
mov ecx, dword [esp + 0x1c]
push str.MACROS
push dword [esp + 0x14]
call fcn.004010b3
push dword [esp + 0x9c]
lea esi, [esp + 0x164]
call fcn.00405586
lea ecx, [esp + 0x144]
lea ebx, [esp + 0xe4]
call fcn.0040ca3b
cmp dword [esp + 0x174], 0
je 0x40412a
xor ebx, ebx
inc ebx
push ebx
push 0x43b68c
mov eax, esi
call fcn.00405c92
mov esi, eax
push ebx
push 0x43b690
lea edi, [esi - 1]
mov eax, ebx
lea ecx, [esp + 0x168]
call fcn.00405d20
test eax, eax
je 0x40410b
push ebx
mov eax, esi
lea ecx, [esp + 0x164]
call fcn.00405aad
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x14c]
push eax
inc esi
push esi
lea ebx, [esp + 0x170]
call fcn.00405965
mov edi, 0x43b638
push 0x43b694
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x184]
push eax
mov ebx, edi
call fcn.0041069b
add esp, 0xc
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x168]
call fcn.004058b4
push 0
push 1
lea esi, [esp + 0x184]
call fcn.00405d7c
push 0x43b69c
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x184]
push eax
mov ebx, 0x43b6a4
call fcn.0041069b
add esp, 0xc
push 0xffffffffffffffff
xor ebx, ebx
push ebx
lea ecx, [esp + 0x168]
call fcn.004058b4
push ebx
push 1
lea esi, [esp + 0x184]
call fcn.00405d7c
cmp dword [esp + 0x178], 8
mov eax, dword [esp + 0x164]
jae 0x4041c3
lea eax, [esp + 0x164]
mov ecx, dword [esp + 0x1c]
push eax
push dword [esp + 0x14]
call fcn.004010b3
mov ecx, dword [esp + 0x1c]
push edi
push dword [esp + 0x14]
call fcn.004010b3
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x168]
call fcn.00405d7c
jmp 0x404320
lea ecx, [esp + 0x160]
lea ebx, [esp + 0xe4]
call fcn.0040ca3b
cmp dword [esp + 0x174], 0
je 0x40430e
mov ecx, dword [esp + 0x1c]
push str.MACROS
push dword [esp + 0x14]
call fcn.004010b3
mov ecx, dword [esp + 0x1c]
push 0x43b6a8
push dword [esp + 0x14]
call fcn.004010b3
push 0x43b694
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x14c]
push eax
mov ebx, edi
call fcn.0041069b
add esp, 0xc
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x168]
call fcn.004058b4
push 0
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
push 0x43b69c
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x184]
push eax
mov ebx, 0x43b6a4
call fcn.0041069b
add esp, 0xc
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x168]
call fcn.004058b4
push 0
push 1
lea esi, [esp + 0x184]
call fcn.00405d7c
cmp dword [esp + 0x178], 8
mov eax, dword [esp + 0x164]
jae 0x4042e0
lea eax, [esp + 0x164]
mov ecx, dword [esp + 0x1c]
push eax
push dword [esp + 0x14]
call fcn.004010b3
mov ecx, dword [esp + 0x1c]
push 0x43b68c
push dword [esp + 0x14]
call fcn.004010b3
mov ecx, dword [esp + 0x1c]
push edi
push dword [esp + 0x14]
call fcn.004010b3
push 0
push 1
lea esi, [esp + 0x168]
call fcn.00405d7c
xor ebx, ebx
cmp dword [esp + 0x5c], ebx
je 0x404338
mov ecx, dword [esp + 0x1c]
push 0x43b6ac
push dword [esp + 0x14]
call fcn.004010b3
cmp dword [esp + 0x94], ebx
je 0x4043c7
push dword [esp + 0x94]
lea esi, [esp + 0x164]
call fcn.00405586
push 0x43b69c
mov eax, esi
push eax
lea eax, [esp + 0x14c]
push eax
mov ebx, 0x43b6a4
call fcn.0041069b
add esp, 0xc
push 0xffffffffffffffff
xor edi, edi
push edi
mov ecx, esi
call fcn.004058b4
push edi
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
cmp dword [esp + 0x178], 8
mov eax, dword [esp + 0x164]
jae 0x4043a8
lea eax, [esp + 0x164]
mov ecx, dword [esp + 0x1c]
push eax
push dword [esp + 0x14]
call fcn.004010b3
push edi
push 1
lea esi, [esp + 0x168]
call fcn.00405d7c
xor ebx, ebx
mov ecx, dword [esp + 0x1c]
push 0x43b6a4
push dword [esp + 0x14]
call fcn.004010b3
push 1
push str.cmdline_input_to_installer
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push 1
push dword [esp + 0x14]
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
cmp dword [esp + 0x28], ebx
je 0x40451f
cmp dword [esp + 0x38], ebx
je 0x404420
cmp dword [esp + 0x50], ebx
jne 0x404420
cmp dword [esp + 0x70], ebx
jne 0x404420
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x28], ebx
je 0x40451f
push str.wr_tbr
lea esi, [esp + 0x148]
call fcn.00405586
xor eax, eax
cmp dword [esp + 0x54], ebx
lea ecx, [esp + 0x198]
sete al
call fcn.0040fe95
mov edi, dword [esp + 0x18]
push eax
push edi
mov eax, esi
call fcn.0040bd24
push ebx
push 1
lea esi, [esp + 0x1a0]
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
push str.wr_sa
lea esi, [esp + 0x180]
call fcn.00405586
xor eax, eax
cmp dword [esp + 0x3c], ebx
lea ecx, [esp + 0x144]
sete al
call fcn.0040fe95
push eax
push edi
mov eax, esi
call fcn.0040bd24
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x184]
call fcn.00405d7c
push str.wr_hpr
lea esi, [esp + 0x1f0]
call fcn.00405586
xor eax, eax
cmp dword [esp + 0x4c], ebx
lea ecx, [esp + 0x144]
sete al
call fcn.0040fe95
push eax
push edi
mov eax, esi
call fcn.0040bd24
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x1f4]
call fcn.00405d7c
push 1
mov ecx, edi
call fcn.004105ad
pop ecx
lea eax, [esp + 0x2408]
push eax
mov esi, 0xa28
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [esp + 0xfb8]
push eax
push ebx
push 0x43b730
lea eax, [esp + 0x2414]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
push str..exe
lea eax, [esp + 0xfbc]
push eax
mov ecx, esi
call fcn.004010b3
push ebx
push 0x80
push 2
push ebx
push ebx
push 0xc0000000
lea eax, [esp + 0xfd0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push 0x43b744
push 0xc8
push dword [esp + 0xb8]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
cmp esi, 0xffffffff
je 0x404f40
cmp edi, ebx
je 0x404f40
push edi
push dword [esp + 0xb4]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push edi
push dword [esp + 0xb4]
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push ebx
lea ecx, [esp + 0x5c]
push ecx
push eax
push dword [esp + 0x30]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push str.Extracted_the_core_installer_to_the_location:
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push 1
lea eax, [esp + 0xfbc]
push eax
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push 0x3c
pop esi
push esi
lea eax, [esp + 0x10c]
push ebx
push eax
call fcn.0041ca70
mov edi, dword [esp + 0x74]
lea eax, [esp + 0xfc4]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x128], eax
add esp, 0xc
mov eax, edi
neg eax
sbb eax, eax
and eax, 5
mov dword [esp + 0x10c], 0x40
mov dword [esp + 0x108], esi
mov dword [esp + 0x124], eax
mov dword [esp + 0xac], ebx
cmp byte [esp + 0x23], bl
je 0x4046e4
lea eax, [esp + 0x48]
push eax
push 1
push ebx
push str.CLSIDD4027C7F_154A_4066_A1AD_4243D8127440InprocServer32
push SysReAllocString
mov dword [esp + 0x5c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp dword [esp + 0x48], ebx
je 0x4046e4
push 0x410
call fcn.00418764
pop ecx
mov esi, eax
lea eax, [esp + 0x24]
push eax
push esi
push ebx
push ebx
push ebx
push dword [esp + 0x5c]
mov dword [esp + 0x3c], 0x208
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x4046c8
push esi
call fcn.0041a352
pop ecx
xor esi, esi
push dword [esp + 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, ebx
je 0x4046e4
push esi
call fcn.00411370
pop ecx
push esi
call fcn.0041a352
pop ecx
push 7
pop eax
mov dword [esp + 0x1b0], eax
xor ecx, ecx
mov dword [esp + 0x194], eax
xor eax, eax
mov dword [esp + 0x1ac], ebx
mov word [esp + 0x19c], cx
mov dword [esp + 0x190], ebx
mov word [esp + 0x180], ax
cmp dword [esp + 0x5c], ebx
jne 0x404727
cmp dword [esp + 0x28], ebx
je 0x404d5f
call fcn.00411337
test eax, eax
mov eax, 0x43b828
jne 0x40473a
mov eax, 0x43b830
push eax
lea eax, [esp + 0x19c]
push eax
call fcn.00405940
cmp dword [esp + 0x44], ebx
je 0x404777
push str.harch
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], 0x10
lea eax, [esp + 0x198]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test byte [esp + 0x14], 0x10
je 0x404792
and dword [esp + 0x14], 0xffffffef
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
call fcn.00410f96
mov esi, eax
xor eax, eax
push 0x3e
mov word [esp + 0x33c], ax
lea eax, [esp + 0x33e]
push ebx
push eax
call fcn.0041ca70
add esp, 0xc
push esi
push 0x43a63c
push 0x20
pop ecx
lea edi, [esp + 0x340]
call fcn.00401164
pop ecx
mov eax, edi
pop ecx
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x4047d2
sub eax, ecx
sar eax, 1
lea ecx, [esp + 0x338]
lea edx, [esp + 0x17c]
call fcn.0040614d
cmp dword [esp + 0x44], ebx
je 0x40483b
lea eax, [esp + 0x338]
push eax
lea esi, [esp + 0x1f0]
call fcn.00405586
or dword [esp + 0x14], 0x20
push 0x43b844
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], 0x40
lea eax, [esp + 0x1ec]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test byte [esp + 0x14], 0x40
je 0x404856
and dword [esp + 0x14], 0xffffffbf
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
test byte [esp + 0x14], 0x20
je 0x404871
and dword [esp + 0x14], 0xffffffdf
push ebx
push 1
lea esi, [esp + 0x1f4]
call fcn.00405d7c
xor eax, eax
mov word [esp + 0x164], ax
lea eax, [esp + 0x160]
push eax
mov dword [esp + 0x17c], 7
mov dword [esp + 0x178], ebx
call fcn.004115c4
pop ecx
test eax, eax
je 0x4048ef
cmp dword [esp + 0x44], ebx
je 0x4048d1
push 0x43b84c
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], 0x80
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test byte [esp + 0x14], 0x80
je 0x4048ef
and dword [esp + 0x14], 0xffffff7f
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
lea eax, [esp + 0x160]
call fcn.00405647
lea eax, [esp + 0x160]
push eax
call fcn.00411b10
pop ecx
test eax, eax
je 0x40495d
mov edi, 0x100
cmp dword [esp + 0x44], ebx
je 0x404940
push 0x43b854
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], edi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test dword [esp + 0x14], edi
je 0x40495d
and dword [esp + 0x14], 0xfffffeff
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
lea eax, [esp + 0x160]
call fcn.00405647
lea eax, [esp + 0x160]
push eax
call fcn.00411b54
pop ecx
test eax, eax
je 0x4049ce
cmp dword [esp + 0x44], ebx
je 0x4049ad
push 0x43b85c
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], 0x200
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test dword [esp + 0x14], 0x200
je 0x4049ce
and dword [esp + 0x14], 0xfffffdff
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
lea eax, [esp + 0x160]
call fcn.00405647
lea eax, [esp + 0x160]
push eax
call fcn.00411391
movzx eax, ax
pop ecx
mov dword [esp + 0x24], eax
mov edi, 0x400
cmp dword [esp + 0x44], ebx
je 0x404a22
push 0x43b864
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], edi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test dword [esp + 0x14], edi
je 0x404a3f
and dword [esp + 0x14], 0xfffffbff
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
lea eax, [esp + 0x160]
call fcn.00405647
lea eax, [esp + 0x160]
push eax
call fcn.00411484
pop ecx
mov dword [esp + 0xb4], eax
mov edi, 0x800
cmp dword [esp + 0x44], ebx
je 0x404a93
push 0x43b86c
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], edi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test dword [esp + 0x14], edi
je 0x404ab0
and dword [esp + 0x14], 0xfffff7ff
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
lea eax, [esp + 0x160]
call fcn.00405647
lea eax, [esp + 0x160]
push eax
call fcn.004126a7
pop ecx
mov edi, 0x1000
cmp dword [esp + 0x44], ebx
je 0x404afd
push str.hloc
lea esi, [esp + 0x148]
call fcn.00405586
or dword [esp + 0x14], edi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
test dword [esp + 0x14], edi
je 0x404b12
push ebx
push 1
lea esi, [esp + 0x14c]
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x168]
call fcn.00405d7c
cmp dword [esp + 0x5c], ebx
je 0x404d5b
push str.http:__websearch.ask.com_report_install_tb
lea esi, [esp + 0x164]
call fcn.00405586
push dword [esp + 0x2c]
mov eax, esi
push eax
call fcn.0040561e
push 0x43a644
mov eax, esi
push eax
call fcn.0040561e
or esi, 0xffffffff
push esi
push ebx
lea eax, [esp + 0x210]
lea ecx, [esp + 0x168]
call fcn.004060a6
push str.typepreinstall
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
push str.vbs
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
push dword [esp + 0x24]
lea eax, [esp + 0x164]
call fcn.004055d3
mov eax, str.msi1
cmp dword [esp + 0xb4], ebx
jne 0x404bb4
mov eax, str.msi0
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
push str.platform
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
push esi
push ebx
lea eax, [esp + 0x1a0]
lea ecx, [esp + 0x168]
call fcn.004060a6
mov eax, str.interimtb1
cmp dword [esp + 0x34], ebx
jne 0x404bf9
mov eax, str.interimtb0
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
mov eax, str.captb1
cmp dword [esp + 0x60], ebx
jne 0x404c17
mov eax, str.captb0
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
push str.defbrowser
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
push esi
push ebx
lea eax, [esp + 0x184]
lea ecx, [esp + 0x168]
call fcn.004060a6
mov dword [esp + 0x200], ebx
xor eax, eax
lea ebx, [esp + 0x1ec]
mov dword [esp + 0x204], 7
mov word [esp + 0x1f0], ax
call fcn.0041150c
xor ebx, ebx
test eax, eax
je 0x404c8f
push esi
push ebx
lea eax, [esp + 0x1f4]
lea ecx, [esp + 0x168]
call fcn.004060a6
mov eax, str.go1
cmp dword [esp + 0x40], ebx
jne 0x404c9f
mov eax, str.go0
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
mov eax, str.err1
cmp byte [esp + 0x23], bl
jne 0x404cbd
mov eax, str.err0
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
mov edx, dword [esp + 0x164]
xor eax, eax
cmp dword [esp + 0x178], 8
mov dword [esp + 0x15c], 7
mov dword [esp + 0x158], ebx
mov word [esp + 0x148], ax
jae 0x404cff
lea edx, [esp + 0x164]
push 0x7d0
push ebx
push str.AskInstallHelper
lea ecx, [esp + 0x150]
call fcn.00410b9a
add esp, 0xc
xor edi, edi
inc edi
push edi
push str.First_reporting_call_was_made.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x1f4]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x168]
call fcn.00405d7c
xor ebx, ebx
mov edi, dword [esp + 0x68]
push 1
lea eax, [esp + 0x27c]
cmp dword [esp + 0x44], ebx
je 0x404ee5
push str.About_to_execute_the_core_installer.
push eax
call fcn.004086fd
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [esp + 0x28], ebx
je 0x404d8f
call esi
mov dword [esp + 0x78], eax
lea eax, [esp + 0x108]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov dword [esp + 0x74], eax
cmp dword [esp + 0x140], ebx
je 0x404def
neg edi
sbb edi, edi
and edi, 0xfff6d83f
add edi, 0x927c0
push edi
push dword [esp + 0x144]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x404de5
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x144]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
call fcn.00402197
jmp 0x404df7
mov dword [esp + 0x30], 0x102
jmp 0x404df7
mov dword [esp + 0x30], 6
cmp dword [esp + 0x28], ebx
je 0x404e8a
call esi
mov esi, eax
sub esi, dword [esp + 0x78]
xor eax, eax
push 0xfe
mov word [esp + 0x3bc], ax
lea eax, [esp + 0x3be]
push ebx
push eax
call fcn.0041ca70
add esp, 0xc
push esi
push 0x43ba2c
push 0x20
pop ecx
lea edi, [esp + 0x3c0]
call fcn.00401164
pop ecx
pop ecx
mov eax, edi
push eax
lea esi, [esp + 0x1f0]
call fcn.00405586
push str.itime
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x1ec]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push 1
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x1f4]
call fcn.00405d7c
xor eax, eax
push 0x7fe
mov word [esp + 0x5bc], ax
lea eax, [esp + 0x5be]
push ebx
push eax
call fcn.0041ca70
add esp, 0xc
push dword [esp + 0x30]
mov ecx, 0x3ff
push str.The_core_installer_returned_the_exit_code:__d
lea edi, [esp + 0x5c0]
call fcn.00401164
pop ecx
pop ecx
push 1
mov eax, edi
push eax
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
mov eax, dword [esp + 0x30]
mov dword [esp + 0xac], eax
jmp 0x404ef0
push str.The_LaunchInstaller_flag_was_not_set__do_not_launch_the_core_installer.
push eax
call fcn.004086fd
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [esp + 0xfb8]
push eax
call esi
lea eax, [esp + 0xfb8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
mov word [esp + eax*2 + 0xfb0], cx
lea eax, [esp + 0xfb8]
push eax
call esi
push ebx
push 1
lea esi, [esp + 0x184]
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x1a0]
call fcn.00405d7c
push ebx
push 1
lea esi, [esp + 0x1d8]
call fcn.00405d7c
xor ebx, ebx
mov dword [esp + 0x78], ebx
cmp dword [esp + 0x40], ebx
je 0x40500e
cmp dword [esp + 0x90], ebx
jne 0x404f7f
cmp dword [esp + 0x84], ebx
je 0x40500e
cmp dword [esp + 0x30], ebx
je 0x40500e
lea eax, [esp + 0xfb8]
push eax
mov esi, 0xa28
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push str.APNLogsci.log
lea eax, [esp + 0xfbc]
push eax
mov ecx, esi
call fcn.004010b3
lea eax, [esp + 0xfb8]
push eax
lea edi, [esp + 0xb8]
call fcn.004011f0
mov edi, dword [eax + 4]
sub esp, 0x1c
lea eax, [esp + 0x224]
mov esi, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004055a5
push dword [esp + 0x48]
mov ecx, edi
push dword [esp + 0x50]
call fcn.00401d3d
add esp, 0x24
push dword [esp + 0xb4]
mov esi, eax
call fcn.0041a352
pop ecx
push dword [esp + 0xb8]
call fcn.0041a352
pop ecx
cmp esi, ebx
je 0x40500e
mov dword [esp + 0x78], 1
xor eax, eax
push 0x3e
mov word [esp + 0x37c], ax
lea eax, [esp + 0x37e]
push ebx
push eax
call fcn.0041ca70
add esp, 0xc
push dword [esp + 0x30]
lea edi, [esp + 0x37c]
push 0x43a63c
push 0x20
pop ecx
call fcn.00401164
pop ecx
pop ecx
cmp dword [esp + 0x28], ebx
je 0x4050f9
push str.ci_res
lea esi, [esp + 0x148]
call fcn.00405586
xor eax, eax
cmp dword [esp + 0x30], ebx
lea ecx, [esp + 0x1ec]
setne al
call fcn.0040feae
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0x1f4]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
lea eax, [esp + 0x378]
push eax
lea esi, [esp + 0x180]
call fcn.00405586
push str.ci_erc
lea esi, [esp + 0x148]
call fcn.00405586
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x1c]
mov eax, esi
call fcn.0040bd24
push ebx
push edi
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x184]
call fcn.00405d7c
mov ecx, dword [esp + 0x18]
push 2
call fcn.004105ad
pop ecx
cmp dword [esp + 0x5c], ebx
je 0x4052b2
xor eax, eax
mov word [esp + 0x19c], ax
lea eax, [esp + 0x24]
push eax
push 0x20019
push ebx
push str.SoftwareAsk.com
push SysReAllocString
mov dword [esp + 0x1c4], 7
mov dword [esp + 0x1c0], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x405156
lea eax, [esp + 0x198]
push eax
push str.report
lea edi, [esp + 0x2c]
call fcn.004107ea
pop ecx
pop ecx
push str.http:__websearch.ask.com_report_install_tb
lea esi, [esp + 0x164]
call fcn.00405586
push dword [esp + 0x2c]
mov eax, esi
push eax
call fcn.0040561e
push 0x43a644
mov eax, esi
push eax
call fcn.0040561e
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x210]
mov ecx, esi
call fcn.004060a6
push str.typepostinstallretcode
mov eax, esi
push eax
call fcn.0040561e
cmp dword [esp + 0x74], ebx
je 0x4051c4
cmp dword [esp + 0x1ac], ebx
jne 0x4051ba
cmp dword [esp + 0x30], ebx
jne 0x4051ba
push str.1359
jmp 0x4051c9
lea eax, [esp + 0x378]
push eax
jmp 0x4051c9
push str.shlx0
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x1a0]
lea ecx, [esp + 0x168]
call fcn.004060a6
cmp dword [esp + 0x78], ebx
je 0x4051f9
push str.s3log1
jmp 0x405217
cmp dword [esp + 0x90], ebx
jne 0x405212
cmp dword [esp + 0x84], ebx
jne 0x405212
push str.s3log_1
jmp 0x405217
push str.s3log0
lea eax, [esp + 0x164]
push eax
call fcn.0040561e
mov edx, dword [esp + 0x164]
xor eax, eax
cmp dword [esp + 0x178], 8
mov dword [esp + 0x15c], 7
mov dword [esp + 0x158], ebx
mov word [esp + 0x148], ax
jae 0x405258
lea edx, [esp + 0x164]
push 0x7d0
push ebx
push str.AskInstallHelper
lea ecx, [esp + 0x150]
call fcn.00410b9a
add esp, 0xc
xor edi, edi
inc edi
push edi
push str.Second_reporting_call_was_made.
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push ebx
push edi
lea esi, [esp + 0x14c]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x168]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x1a0]
call fcn.00405d7c
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [esp + 0x10]
call fcn.0041a352
pop ecx
cmp byte [esp + 0x278], bl
je 0x4052e8
push 1
lea eax, [esp + 0x27c]
push eax
call fcn.0040855d
mov byte [esp + 0x278], bl
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
je 0x4052f6
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], vtable.CInstallerCustomMacro.0
call fcn.0040bd12
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], vtable.CInstallerPropertiesMacro.0
call fcn.0040bd12
cmp byte [esp + 0x278], bl
je 0x405343
push 1
lea eax, [esp + 0x27c]
push eax
call fcn.0040855d
mov byte [esp + 0x278], bl
lea eax, [esp + 0x2b4]
call fcn.00408438
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0x2a0]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x284]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x264]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x210]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x22c]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x248]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x1bc]
call fcn.00405d7c
mov eax, dword [esp + 0xac]
jmp 0x4054d6
xor eax, eax
push 0x7fe
mov word [esp + 0x5bc], ax
lea eax, [esp + 0x5be]
push ebx
push eax
call fcn.0041ca70
add esp, 0xc
push dword [esp + 0x30]
mov ecx, 0x3ff
push str.Partner_ID_was_not_passed._Terminating_installation_with_exit_code:__d
lea edi, [esp + 0x5c0]
call fcn.00401164
pop ecx
pop ecx
push 1
mov eax, edi
push eax
lea eax, [esp + 0x280]
push eax
call fcn.004086fd
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp byte [esp + 0x278], bl
je 0x40543a
push 1
lea eax, [esp + 0x27c]
push eax
call fcn.0040855d
mov byte [esp + 0x278], bl
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
cmp byte [esp + 0x278], bl
je 0x405461
push 1
lea eax, [esp + 0x27c]
push eax
call fcn.0040855d
mov byte [esp + 0x278], bl
lea eax, [esp + 0x2b4]
call fcn.00408438
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0x2a0]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x284]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x264]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x210]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x22c]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x248]
call fcn.00405d7c
push ebx
push edi
lea esi, [esp + 0x1bc]
call fcn.00405d7c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x385c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004195cf
mov esp, ebp
pop ebp
ret 0x10