Function at 0x4283a0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aedbf
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x4e96d0]
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 - 0x38], ebx
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x54]
push 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov byte [ebp - 4], 1
call fcn.004652b0
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x54]
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
test edi, edi
jns 0x4284f3
cmp byte [0x4f2ca7], 0
jne 0x42846d
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x428462
push 0x4f2ca7
sub esp, 8
xorps xmm0, xmm0
mov ecx, eax
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x597
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUIMainDlg.cpp
push 0x20
call fcn.0046bf00
jmp 0x428464
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x4f3d98], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f3d98]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, edi
lea ecx, [ebp - 0x38]
call fcn.00410e50
mov edx, eax
mov byte [ebp - 4], 4
mov eax, dword [0x4f3d98]
push dword [edx]
push 0x4cfd18
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov byte [ebp - 4], 2
add esp, 0xc
mov edx, dword [ebp - 0x38]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4284cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f3d98]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3d98]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
call sub.ole32.dll_CoUninitialize
xor eax, eax
jmp 0x428bfb
cmp byte [0x4f2c9e], 0
jne 0x42855d
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 5
xorps xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
test eax, eax
je 0x428550
push 0x4f2c9e
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x599
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUIMainDlg.cpp
push 0x50
call fcn.0046bf00
mov byte [ebp - 4], 2
mov dword [0x4f3d58], eax
jmp 0x428565
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x4f3d58], eax
jmp 0x428565
xorps xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f3d58]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
push dword [ebx + 0x1b8]
lea ecx, [ebp - 0x3c]
call fcn.00418b90
mov edx, eax
mov byte [ebp - 4], 6
mov eax, dword [0x4f3d58]
push dword [edx]
push str.Check_version_of_MSI_package:__s_n
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov byte [ebp - 4], 2
or edi, 0xffffffff
mov edx, dword [ebp - 0x3c]
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4285c9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f3d58]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3d58]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
mov eax, dword [ebx + 0x1b8]
cmp dword [eax - 0xc], 0
je 0x4284e7
push 0
push 0x102
call dword [sym.imp.msi.dll_MsiSetPropertyW]
lea eax, [ebp - 0x40]
push eax
push 1
push dword [ebx + 0x1b8]
call dword [sym.imp.msi.dll_Migrate10CachedPackagesW]
mov esi, eax
test esi, esi
jle 0x428625
movzx esi, si
or esi, 0x80070000
test esi, esi
jns 0x428712
call fcn.0046c0e0
mov ebx, eax
mov ecx, ebx
call fcn.0046e8e0
cmp byte [0x4f2cee], 0
jne 0x428695
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x42868a
movsd xmm0, qword [ebp - 0x48]
mov ecx, eax
push 0x4f2cee
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x5a2
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUIMainDlg.cpp
push 0x20
call fcn.0046bf00
jmp 0x42868c
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x4f3d50], eax
mov ecx, ebx
call fcn.0046e8f0
mov ecx, dword [0x4f3d50]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, esi
lea ecx, [ebp - 0x38]
call fcn.00410e50
mov edx, eax
mov byte [ebp - 4], 8
mov eax, dword [0x4f3d50]
push dword [edx]
push 0x4cfd18
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov byte [ebp - 4], 2
add esp, 0xc
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x4286f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f3d50]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3d50]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push esi
call fcn.0040abe0
push 0x403
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
call fcn.0040d990
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x42873e
push 0x80004005
call fcn.0040abe0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x3c], eax
push 0x81
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 9
call fcn.0041d2b0
mov byte [ebp - 4], 0xa
push dword [eax]
lea eax, [ebp - 0x3c]
push 0x4d1158
push eax
call fcn.0041b160
mov byte [ebp - 4], 9
add esp, 0xc
mov edx, dword [ebp - 0x30]
mov ecx, edi
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x428791
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x3c]
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
push eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c]
push 0x104
mov dword [ebp - 0x4c], 0x104
call fcn.004330b0
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x4c]
push ecx
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
push str.Manufacturer
push dword [ebp - 0x40]
call dword [sym.imp.msi.dll_MsiGetSourcePathW]
mov ebx, eax
test ebx, ebx
jle 0x428800
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
jns 0x4288ed
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f2ce4], 0
jne 0x428870
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x428865
movsd xmm0, qword [ebp - 0x48]
mov ecx, eax
push 0x4f2ce4
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x5af
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUIMainDlg.cpp
push 0x20
call fcn.0046bf00
jmp 0x428867
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [0x4f3e44], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f3e44]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, ebx
lea ecx, [ebp - 0x30]
call fcn.00410e50
mov edx, eax
mov byte [ebp - 4], 0xd
mov eax, dword [0x4f3e44]
push dword [edx]
push 0x4cfd18
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov byte [ebp - 4], 0xb
add esp, 0xc
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x4288cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f3e44]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3e44]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push ebx
call fcn.0040abe0
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x2c]
call fcn.0042f8c0
push ecx
push 0x4d1b50
lea ecx, [ebp - 0x2c]
call fcn.0042f8f0
cmp eax, 0xffffffff
jne 0x428a51
push ecx
push str.Atom_Security
lea ecx, [ebp - 0x2c]
call fcn.0042f8f0
cmp eax, 0xffffffff
jne 0x428a51
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f2cb4], 0
jne 0x428990
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x428985
movsd xmm0, qword [ebp - 0x48]
mov ecx, eax
push 0x4f2cb4
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x5b9
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUIMainDlg.cpp
push 0x50
call fcn.0046bf00
jmp 0x428987
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [0x4f3d7c], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f3d7c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x34]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00418b90
mov esi, eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x38]
push dword [ecx + 0x1b8]
lea ecx, [ebp - 0x30]
call fcn.00418b90
mov edx, eax
mov byte [ebp - 4], 0x10
push dword [esi]
mov eax, dword [0x4f3d7c]
push dword [edx]
push str.Unknown_manufacturer_of_MSI_package___s_:__s_n
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov byte [ebp - 4], 0xf
add esp, 0x10
mov edx, dword [ebp - 0x30]
mov ecx, edi
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x428a10
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x428a2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f3d7c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3d7c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
xor ebx, ebx
jmp 0x428bcb
mov ecx, dword [ebp - 0x38]
push ecx
push 0x104
mov dword [ebp - 0x34], 0x104
lea eax, [ecx + 0x164]
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x30], eax
call fcn.00419b50
lea ecx, [ebp - 0x34]
push ecx
push dword [eax + 4]
push 0x4d1bcc
push dword [ebp - 0x40]
call dword [sym.imp.msi.dll_MsiGetSourcePathW]
mov ebx, eax
test ebx, ebx
jle 0x428a97
movzx ebx, bx
or ebx, 0x80070000
lea ecx, [ebp - 0x60]
call fcn.00419bb0
test ebx, ebx
jns 0x428b8e
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f2cb8], 0
jne 0x428b11
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x428b06
movsd xmm0, qword [ebp - 0x48]
mov ecx, eax
push 0x4f2cb8
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x5c0
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUIMainDlg.cpp
push 0x20
call fcn.0046bf00
jmp 0x428b08
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [0x4f3db4], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f3db4]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, ebx
lea ecx, [ebp - 0x30]
call fcn.00410e50
mov edx, eax
mov byte [ebp - 4], 0x12
mov eax, dword [0x4f3db4]
push dword [edx]
push 0x4cfd18
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov byte [ebp - 4], 0xb
add esp, 0xc
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x428b6c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f3db4]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3db4]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push ebx
call fcn.0040abe0
push 0x7d
lea ecx, [ebp - 0x38]
call fcn.0041d2b0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x30]
push dword [ecx]
push dword [eax]
lea eax, [ebp - 0x3c]
push 0x4d1188
push eax
call fcn.0041b160
add esp, 0x10
lea ecx, [ebp - 0x38]
call fcn.0040fdf0
push dword [ebp - 0x3c]
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ebx, 1
lea ecx, [ebp - 0x2c]
call fcn.0042f890
lea ecx, [ebp - 0x3c]
call fcn.0040fdf0
call sub.ole32.dll_CoUninitialize
jmp 0x428beb
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x428bf9
push ecx
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
mov eax, ebx
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.004712e4
mov esp, ebp
pop ebp
ret