Function at 0x4041f0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Parse pe header
Resolve function by parsing pe exports
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52fee8
mov eax, dword fs:[0]
push eax
sub esp, 0xd60
mov eax, dword [0x5886f0]
xor eax, esp
mov dword [esp + 0xd58], eax
push ebx
push esi
push edi
mov eax, dword [0x5886f0]
xor eax, esp
push eax
lea eax, [esp + 0xd70]
mov dword fs:[0], eax
lea eax, [esp + 0x8c]
push eax
mov edi, ecx
mov dword [esp + 0x90], 8
mov dword [esp + 0x94], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, edi
call fcn.0041b58c
push 0x55ca7c
mov ecx, edi
call fcn.0041b89d
call fcn.004223f2
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogOpen_void_]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._n_n_BOOTSTRAP_START__n_n
call fcn.0040a850
mov esi, dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
call esi
add esp, 4
lea ecx, [esp + 0x714]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [esp + 0x714]
movzx eax, word [esp + 0x71a]
movzx ecx, word [esp + 0x716]
push edx
push eax
push ecx
push str._d__d__d
lea edx, [esp + 0xb6c]
push 0x104
push edx
call fcn.0050a8ad
add esp, 0x18
lea eax, [esp + 0xb5c]
push eax
lea ecx, [esp + 0x20]
call fcn.0040a850
push eax
lea ecx, [esp + 0x28]
push 0x55cb6c
push ecx
mov dword [esp + 0xd84], 0
call fcn.0040b1a0
add esp, 8
mov edx, esp
mov byte [esp + 0xd7c], 1
mov dword [esp + 0x18], esp
push 0x55cb68
push eax
push edx
call fcn.0040b0c0
add esp, 0xc
call esi
mov byte [esp + 0xd7c], 0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40434c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xd78], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404377
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419b9d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404391
push 0x80004005
call fcn.004010a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push 0x55cb7c
lea ecx, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____Bootstrap_app_started._Application_Version___s._n
push ecx
mov dword [esp + 0xd84], 2
call fcn.0040ced0
add esp, 8
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
call esi
add esp, 4
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x95e]
push ecx
mov word [esp + 0x960], ax
call fcn.0050beb0
add esp, 0xc
push 0x55c488
lea ecx, [esp + 0x3c]
call fcn.0040a850
lea edx, [esp + 0x954]
push edx
push 0x104
mov byte [esp + 0xd80], 3
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
call fcn.00419b9d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40443b
push 0x80004005
call fcn.004010a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov ecx, 0x55cc3c
mov byte [esp + 0xd78], 4
test ecx, 0xffff0000
jne 0x40447c
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.00419ab8
test eax, eax
je 0x40448a
push ebx
push eax
lea ecx, [esp + 0x28]
call fcn.0040bf10
jmp 0x40448a
push 0x55cc3c
lea ecx, [esp + 0x24]
call fcn.0040aa00
lea eax, [esp + 0x954]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd7c], 5
call fcn.0040a850
mov dword [esp + 0x30], eax
mov byte [esp + 0xd78], 6
call fcn.00419b9d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4044c9
push 0x80004005
call fcn.004010a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov ecx, str.CBootstrapApp::InitInstance_____Current_working_directory:
mov byte [esp + 0xd78], 7
test ecx, 0xffff0000
jne 0x40450a
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.00419ab8
test eax, eax
je 0x404518
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.0040bf10
jmp 0x404518
push str.CBootstrapApp::InitInstance_____Current_working_directory:
lea ecx, [esp + 0x20]
call fcn.0040aa00
mov byte [esp + 0xd78], 8
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.0040b000
add esp, 8
mov ecx, esp
mov byte [esp + 0xd7c], 9
mov dword [esp + 0x18], esp
lea edx, [esp + 0x24]
push edx
push eax
push ecx
call fcn.0040b000
add esp, 0xc
call esi
mov byte [esp + 0xd7c], 8
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404581
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 6
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4045a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 5
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4045d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 3
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4045f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041f7aa
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x44]
push 0x104
lea ecx, [esp + 0x958]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x404b35
push 0x55cc3c
lea ecx, [esp + 0x38]
call fcn.0040a910
mov esi, eax
push 0x55cc7c
lea ecx, [esp + 0x30]
mov byte [esp + 0xd7c], 0xa
call fcn.0040a910
mov ebx, eax
push str.CBootstrapApp::InitInstance_____Application_directory_and_command_line:
lea ecx, [esp + 0x24]
mov byte [esp + 0xd7c], 0xb
call fcn.0040a910
lea ecx, [esp + 0x954]
push ecx
push eax
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0xd84], 0xc
call fcn.0040b0c0
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0xd84], 0xd
call fcn.0040b000
add esp, 0xc
lea ecx, [edi + 0xfc]
push ecx
push eax
lea edx, [esp + 0x38]
mov bl, 0xe
push edx
mov byte [esp + 0xd84], bl
call fcn.0040b000
add esp, 8
mov ecx, esp
mov byte [esp + 0xd7c], 0xf
mov dword [esp + 0x18], esp
push esi
push eax
push ecx
call fcn.0040b000
add esp, 0xc
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
mov byte [esp + 0xd7c], bl
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4046fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0xd
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404722
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0xc
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40474a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0xb
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404772
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0xa
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40479a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 3
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4047c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x954]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
test eax, eax
jne 0x4047d8
xor ecx, ecx
jmp 0x4047ef
mov ecx, eax
lea esi, [ecx + 2]
lea ecx, [ecx]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4047e0
sub ecx, esi
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x40]
call fcn.0040c5f0
push 0x55cc3c
lea ecx, [esp + 0x20]
call fcn.0040a910
mov esi, eax
push str.CBootstrapApp::InitInstance_____Application_name:
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd7c], 0x10
call fcn.0040a910
lea edx, [esp + 0x38]
push edx
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0xd84], 0x11
call fcn.0040b000
add esp, 8
mov ecx, esp
mov byte [esp + 0xd7c], 0x12
mov dword [esp + 0x18], esp
push esi
push eax
push ecx
call fcn.0040b000
mov ebx, dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 0xc
call ebx
mov byte [esp + 0xd7c], 0x11
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x404887
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x10
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4048af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 3
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4048d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x954]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea edx, [esp + 0x954]
push edx
lea ecx, [esp + 0x28]
call fcn.0040a850
push 0x55cc3c
lea ecx, [esp + 0x20]
mov byte [esp + 0xd7c], 0x13
call fcn.0040a910
mov esi, eax
push str.CBootstrapApp::InitInstance_____Setting_current_working_directory_to:
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd7c], 0x14
call fcn.0040a910
lea ecx, [esp + 0x24]
push ecx
push eax
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0xd84], 0x15
call fcn.0040b000
add esp, 8
mov ecx, esp
mov byte [esp + 0xd7c], 0x16
mov dword [esp + 0x18], esp
push esi
push eax
push ecx
call fcn.0040b000
add esp, 0xc
call ebx
mov byte [esp + 0xd7c], 0x15
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x404985
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x14
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4049ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x13
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4049d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea edx, [esp + 0x954]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x55cc3c
lea ecx, [esp + 0x24]
call fcn.0040a910
mov esi, eax
lea eax, [esp + 0x954]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd7c], 0x17
call fcn.0040a850
mov ebx, eax
push str.CBootstrapApp::InitInstance_____New_current_working_directory_is:
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd7c], 0x18
call fcn.0040a910
push ebx
push eax
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0xd84], 0x19
call fcn.0040b000
add esp, 8
mov edx, esp
mov byte [esp + 0xd7c], 0x1a
mov dword [esp + 0x18], esp
push esi
push eax
push edx
call fcn.0040b000
add esp, 0xc
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
mov byte [esp + 0xd7c], 0x19
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a95
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x18
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404abd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x17
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ae5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x13
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 3
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b35
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esp + 0x954]
lea ecx, [edi + 0x100]
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404b45
sub eax, esi
sar eax, 1
push eax
lea edx, [esp + 0x958]
push edx
call fcn.0040c5f0
lea ecx, [esp + 0x38]
call fcn.0040bcc0
mov ecx, eax
call fcn.0040bd40
push eax
lea ecx, [edi + 0x104]
call fcn.0040c110
lea ecx, [esp + 0xf4]
call sym.Autorun.exe_public:_void___thiscall_InstallerConfig::constructor_void_
lea eax, [esp + 0x250]
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0xd7c], 0x1b
call dword [sym.imp.BootstrapLibrary.dll_public:_class_CBootstrapConfigItem___thiscall_CBootstrapInit::BootstrapConfigInit_void_]
lea ecx, [edi + 0x114]
mov byte [esp + 0xd78], 0x1c
push eax
mov dword [esp + 0x68], ecx
call sym.Autorun.exe_public:_class_CBootstrapConfigItem____thiscall_CBootstrapConfigItem::operator_class_CBootstrapConfigItem_const__
lea ecx, [esp + 0x250]
mov byte [esp + 0xd78], 0x1b
call sym.Autorun.exe_public:_void___thiscall_CBootstrapConfigItem::destructor_void_
lea eax, [edi + 0x118]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
mov ecx, 0x55c290
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404c0a
test dx, dx
je 0x404c06
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404c0a
add eax, 4
add ecx, 4
test dx, dx
jne 0x404be4
xor eax, eax
jmp 0x404c0f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
test al, al
je 0x404cca
push str.CBootstrapApp::InitInstance_____Issue_loading_or_parsing_BootstrapConfig.xml_file._The_bootstrap_application_cannot_continue._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
mov eax, edi
call fcn.00406b80
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd78], 3
call sym.Autorun.exe_public:_void___thiscall_InstallerConfig::destructor_void_
mov byte [esp + 0xd78], 2
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404c79
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xd78], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ca4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0xd70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd58]
xor ecx, esp
call fcn.0050a89e
mov esp, ebp
pop ebp
ret
push 0x55cb68
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
call fcn.0041f7aa
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x48]
lea ebx, [edi + 0xfc]
mov dword [esp + 0x24], ebx
test ecx, ecx
jne 0x404cfa
xor eax, eax
jmp 0x404d14
mov eax, ecx
lea edx, [eax + 2]
mov dword [esp + 0x30], edx
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404d03
sub eax, dword [esp + 0x30]
sar eax, 1
push eax
push ecx
mov ecx, ebx
call fcn.0040c5f0
mov eax, dword [edi + 0x104]
cmp dword [eax - 0xc], 0
jl 0x404d70
push str.Uninstall.exe
push eax
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x404d70
sub eax, dword [edi + 0x104]
sar eax, 1
cmp eax, 0xffffffff
je 0x404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____Uninstall_by_application_name._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
push 0xb
push str.__Uninstall
mov ecx, ebx
call fcn.0040c5f0
push ebx
lea ecx, [esp + 0x40]
call fcn.0040c080
mov byte [esp + 0xd78], 0x1d
mov ebx, dword [esp + 0x3c]
mov esi, dword [ebx - 0xc]
test esi, esi
jns 0x404d97
push 0x80070057
call fcn.004010a0
mov eax, dword [ebx - 8]
mov ecx, 1
sub ecx, dword [ebx - 4]
sub eax, esi
or eax, ecx
jge 0x404db6
push esi
lea ecx, [esp + 0x40]
call fcn.0040c6d0
mov ebx, dword [esp + 0x3c]
lea eax, [esi + 1]
push eax
push ebx
call fcn.0050b329
add esp, 8
cmp esi, dword [ebx - 8]
jg 0x404d8d
xor ecx, ecx
mov dword [ebx - 0xc], esi
mov word [ebx + esi*2], cx
cmp dword [ebx - 0xc], ecx
jne 0x404dfb
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____No_command_line_parameters_detected._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
mov esi, dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
jmp 0x404f16
push 0x55cc3c
lea ecx, [esp + 0x30]
call fcn.0040a910
mov esi, eax
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0xd7c], 0x1e
call fcn.0040c080
push str.CBootstrapApp::InitInstance_____Bootstrap_command_line:
lea ecx, [esp + 0x24]
mov byte [esp + 0xd7c], 0x1f
call fcn.0040a910
lea ecx, [esp + 0x1c]
push ecx
push eax
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0xd84], 0x20
call fcn.0040b000
add esp, 8
mov ecx, esp
mov byte [esp + 0xd7c], 0x21
mov dword [esp + 0x18], esp
push esi
push eax
push ecx
call fcn.0040b000
mov esi, dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 0xc
call esi
mov byte [esp + 0xd7c], 0x20
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x404e9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x1f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ec6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x1e
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404eee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x1d
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404f16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx - 0xc], 0
jl 0x404fa6
push str.HELP
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x404f3f
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
jne 0x4066de
cmp dword [ebx - 0xc], 0
jl 0x404fa6
push 0x55d01c
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x404f64
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
jne 0x4066de
cmp dword [ebx - 0xc], 0
jl 0x404fa6
push str.UNINSTALL
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x404f85
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
jne 0x404faf
cmp dword [ebx - 0xc], 0
jl 0x404fa6
push str.FORCEDUNINSTALL
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x404fa6
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
jne 0x404faf
mov byte [edi + 0x10d], 0
jmp 0x404fcc
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____UINSTALL_or_FORCEDUNINSTALL_flag_found_on_the_command_line._n
call fcn.0040a850
call esi
add esp, 4
mov byte [edi + 0x10d], 1
cmp dword [ebx - 0xc], 0
jl 0x40500c
push str.SILENT
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x40500c
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
je 0x40500c
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____SILENT_flag_found_on_the_command_line._n
call fcn.0040a850
call esi
add esp, 4
mov byte [edi + 0x10c], 1
jmp 0x405013
mov byte [edi + 0x10c], 0
cmp dword [ebx - 0xc], 0
jl 0x405053
push str.DRIVERONLY
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x405053
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
je 0x405053
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____DRIVERONLY_flag_found_on_the_command_line._n
call fcn.0040a850
call esi
add esp, 4
mov byte [edi + 0x10e], 1
jmp 0x40505a
mov byte [edi + 0x10e], 0
cmp dword [ebx - 0xc], 0
jl 0x405524
push str.HWFIRST
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x4054e3
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
je 0x4054e3
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____HWFIRST_flag_found_on_the_command_line._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
lea ecx, [esp + 0x1c]
mov byte [edi + 0x111], 1
call fcn.0040a820
lea ecx, [esp + 0x34]
call fcn.0040a820
lea ecx, [esp + 0x2c]
call fcn.0040a820
push ecx
mov byte [esp + 0xd7c], 0x35
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
lea eax, [esp + 0x288]
push eax
call fcn.00402200
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x290]
mov byte [esp + 0xd84], 0x36
call fcn.00402420
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
mov esi, dword [esp + 0x34]
je 0x40543d
cmp dword [esi - 0xc], 0
je 0x40543d
mov edx, dword [esp + 0x2c]
cmp dword [edx - 0xc], 0
je 0x40543d
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____Parsed_CSI_installer_config_file_to_retrieve_instanceID__path_and_name_of_install_data_file._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
push 0
push 0x55d544
lea ecx, [esp + 0x34]
call fcn.0040aae0
cmp dword [esi - 0xc], 0
jl 0x4051c7
push str._ProgramData_
push esi
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x4051c7
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x4051c7
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____The__ProgramData__string_in_the_path_will_be_replaced_with_the_matching_Windows_app_data_path._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
lea eax, [esp + 0x724]
push eax
push 0
push 0
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea ecx, [esp + 0x724]
push ecx
push str._ProgramData_
lea ecx, [esp + 0x3c]
call fcn.0040aae0
push str..xml
lea ecx, [esp + 0x50]
call fcn.0040a910
mov esi, eax
push 0x55d678
lea ecx, [esp + 0x60]
mov byte [esp + 0xd7c], 0x37
call fcn.0040a910
push eax
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0xd84], 0x38
call fcn.0040b000
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
push eax
lea edx, [esp + 0x78]
push edx
mov byte [esp + 0xd84], 0x39
call fcn.0040b000
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
push eax
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0xd84], 0x3a
call fcn.0040b000
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xd84], 0x3b
call fcn.0040b000
add esp, 0xc
lea ecx, [esp + 0x30]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x70]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x6c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x5c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x4c]
mov byte [esp + 0xd78], 0x41
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0xdc]
call fcn.0041cc5a
push 0
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd84], 0x42
call fcn.004012f0
mov byte [esp + 0xd78], 0x43
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____Attempting_to_open_install_data_file:__s._If_present__bootstrap_considers_this_a_relaunch_and_simply_returns._n
push edx
call fcn.0040ced0
add esp, 8
mov dword [esp + 0x18], esp
mov ecx, esp
lea eax, [esp + 0x1c]
push eax
call fcn.0040c080
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
mov edx, dword [esp + 0x24]
add esp, 4
lea ecx, [esp + 0xc8]
push ecx
push 0
push edx
lea ecx, [esp + 0xe8]
call fcn.0041cb32
test eax, eax
je 0x4053da
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____Opened_file__s._Considering_this_a_relaunch_and_exiting._n
push ecx
call fcn.0040ced0
add esp, 8
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
lea ecx, [esp + 0xdc]
call fcn.0041cefb
mov eax, edi
call fcn.00406b80
lea ecx, [esp + 0xc8]
call fcn.00401400
lea ecx, [esp + 0xdc]
mov byte [esp + 0xd78], 0x41
call fcn.0041cf39
lea ecx, [esp + 0x20]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea esi, [esp + 0x284]
mov byte [esp + 0xd78], 0x35
call fcn.00402370
lea ecx, [esp + 0x2c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x34]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x1c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x3c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd78], 3
call sym.Autorun.exe_public:_void___thiscall_InstallerConfig::destructor_void_
lea ecx, [esp + 0x38]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x18]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
jmp 0x404ca4
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x20]
push str.CBootstrapApp::InitInstance_____Cant_open_file__s__error___u._Not_a_relaunch__continue_executing_bootstrap._n
push edx
call fcn.0040ced0
add esp, 0xc
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push eax
call fcn.0040c080
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
lea ecx, [esp + 0xc8]
call fcn.00401400
lea ecx, [esp + 0xdc]
mov byte [esp + 0xd78], 0x41
call fcn.0041cf39
lea ecx, [esp + 0x20]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
jmp 0x405457
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____InstanceID__path_and_name_of_install_data_file_not_found._Continuing_with_bootstrap_execution_as_this_is_a_non_fatal_error._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
add esp, 4
lea esi, [esp + 0x284]
mov byte [esp + 0xd78], 0x35
call fcn.00402370
mov byte [esp + 0xd78], 0x34
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405493
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x33
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4054bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x1d
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4054e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebx - 0xc], 0
jl 0x405524
push str.LAUNCHINSTALLER
push ebx
call fcn.0050b47a
add esp, 8
test eax, eax
je 0x405524
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
je 0x405524
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____LAUNCHINSTALLER_flag_found_on_the_command_line._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
mov byte [edi + 0x113], 1
jmp 0x405542
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____LAUNCHINSTALLER_flag_not_found_on_the_command_line._n
call fcn.0040a850
call dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
mov byte [edi + 0x113], 0
add esp, 4
call fcn.0041f7aa
mov eax, dword [eax + 0xc]
mov dword [edi + 0x1d0], eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
movzx ecx, ax
mov edx, ecx
mov eax, ecx
and ecx, 0x3ff
push ecx
and eax, 0xfc00
push eax
push edx
lea edx, [esp + 0x24]
push str.CBootstrapApp::InitInstance_____GetUserDefaultLCID___returned__x__langId0xFC00___x__langId0x3FF___x_n
push edx
call fcn.0040ced0
add esp, 0x10
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push eax
call fcn.0040c080
mov ebx, dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
call ebx
add esp, 4
lea ecx, [esp + 0x78]
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_ConditionChecker::constructor_void_]
lea ecx, [esp + 0x78]
mov byte [esp + 0xd78], 0x44
call dword [sym.imp.BootstrapLibrary.dll_public:_enum_HPLocalizationLanguageType___thiscall_ConditionChecker::getLanguage_void_]
mov esi, eax
test esi, esi
je 0x4055c2
cmp esi, 0xf
jne 0x4055e9
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____The_language_is_Hebrew_or_Arabic._Setting_flag_to_display_message_boxes_right_to_left._n
call fcn.0040a850
call ebx
add esp, 4
mov dword [edi + 0x1cc], 0x100010
mov byte [edi + 0x110], 1
mov ebx, esi
lea esi, [esp + 0x54]
call fcn.004080a0
push 0x55c28c
lea ecx, [edi + 0x13c]
push ecx
lea edx, [esp + 0x74]
push edx
mov byte [esp + 0xd84], 0x45
call fcn.0040b0c0
add esp, 0xc
push str.hpbcsiBootstrapResources
push eax
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0xd84], 0x46
call fcn.0040b0c0
add esp, 0xc
lea esi, [edi + 0x108]
push esi
push eax
lea ecx, [esp + 0x54]
push ecx
mov byte [esp + 0xd84], 0x47
call fcn.0040b000
add esp, 0xc
push str..dll
push eax
lea edx, [esp + 0x50]
push edx
mov byte [esp + 0xd84], 0x48
call fcn.0040b0c0
add esp, 0xc
mov byte [esp + 0xd78], 0x4a
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405690
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x4b
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4056b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x4c
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4056e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esi]
mov ecx, dword [esp + 0x54]
push esi
push ecx
lea edx, [esp + 0x20]
push str.CBootstrapApp::InitInstance_____GetUserDefaultLCID___returned_user_UI_language___s__Language_ID___s_n
push edx
call fcn.0040ced0
add esp, 0xc
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push eax
call fcn.0040c080
mov esi, dword [sym.imp.BootstrapLibrary.dll_public:_static_bool___cdecl_CBootstrapLog::LogEntry_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
call esi
mov ecx, dword [esp + 0x4c]
add esp, 4
push ecx
lea edx, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____Resource_file___s_n
push edx
call fcn.0040ced0
add esp, 8
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push eax
call fcn.0040c080
call esi
mov ecx, dword [esp + 0x4c]
add esp, 4
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
mov dword [edi + 0x1d4], ebx
test ebx, ebx
jne 0x405829
mov ebx, dword [esp + 0x48]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
lea edx, [esp + 0x20]
push str.CBootstrapApp::InitInstance_____Issue_loading_the_localized_resource_file__s._Last_Error_is:__d.__The_bootstrap_application_cannot_continue._n
push edx
call fcn.0040ced0
add esp, 0xc
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push eax
call fcn.0040c080
call esi
add esp, 4
mov eax, edi
call fcn.00406b80
mov byte [esp + 0xd78], 0x45
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x44
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x78]
mov byte [esp + 0xd78], 0x1d
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_ConditionChecker::destructor_void_]
mov byte [esp + 0xd78], 0x1b
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404c3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x404c3d
call fcn.0041f7aa
lea ecx, [esp + 0x78]
mov dword [eax + 0xc], ebx
call dword [sym.imp.BootstrapLibrary.dll_public:_unsigned_long_long_unsigned___int64____thiscall_ConditionChecker::getTotalRAM_void_]
push edx
push eax
lea ecx, [esp + 0x20]
push str.CBootstrapApp::InitInstance_____Physical_RAM___u._n
push ecx
call fcn.0040ced0
add esp, 0xc
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
call esi
add esp, 4
push str.CSIBootstrapRunning
lea ecx, [esp + 0x48]
call fcn.0040a850
push str.hpbcsiInstaller
lea ecx, [esp + 0x54]
mov byte [esp + 0xd7c], 0x4d
call fcn.0040a850
lea ecx, [esp + 0x78]
mov byte [esp + 0xd78], 0x4e
call dword [sym.imp.BootstrapLibrary.dll_public:_int___thiscall_ConditionChecker::getOSMajorVersion_void_]
cmp eax, 6
jl 0x4058e7
push str.GlobalCSIBootstrapRunning
lea eax, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____Prepending__s._n
push eax
call fcn.0040ced0
add esp, 8
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
call esi
add esp, 4
push str.GlobalCSIBootstrapRunning
lea ecx, [esp + 0x48]
call fcn.0040a9b0
push str.GlobalhpbcsiInstaller
lea ecx, [esp + 0x54]
call fcn.0040a9b0
mov eax, dword [esp + 0x44]
mov ebx, dword [sym.imp.KERNEL32.dll_OpenEventW]
push eax
push 0
push 0x1f0003
call ebx
test eax, eax
je 0x4059c8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x44]
push ecx
lea edx, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____Bootstrap_is_already_running._User_will_be_notified_before_exiting._OpenEvent_succeeded_on_event_name___s_n
push edx
call fcn.0040ced0
add esp, 8
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push eax
call fcn.0040c080
call esi
add esp, 4
lea ecx, [esp + 0x24]
call fcn.0040a820
push 0x95
mov byte [esp + 0xd7c], 0x4f
call fcn.00419ab8
test eax, eax
je 0x405964
push 0x95
push eax
lea ecx, [esp + 0x2c]
call fcn.0040bf10
mov eax, dword [edi + 0x1cc]
mov ecx, dword [esp + 0x24]
push eax
push 0x55ca7c
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, edi
call fcn.00406b80
lea ecx, [esp + 0x24]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x50]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x44]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x48]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x54]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x78]
mov byte [esp + 0xd78], 0x1d
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_ConditionChecker::destructor_void_]
jmp 0x4053a6
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____Bootstrap_is_not_running._Confirm_that_CSI_is_not_running._n
call fcn.0040a850
call esi
mov ecx, dword [esp + 0x54]
add esp, 4
push ecx
push 0
push 0x1f0003
call ebx
mov ebx, eax
test ebx, ebx
je 0x405a6e
mov edx, dword [esp + 0x50]
push edx
lea eax, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____The_CSI_event_was_detected._A_further_check_will_be_made_to_determine_if_the_CSI_window_is_still_open._OpenEvent_succeeded_on_event_name___s_n
push eax
call fcn.0040ced0
add esp, 8
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
call esi
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x55ca7c
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x405a58
lea eax, [esp + 0x18]
push str.CBootstrapApp::InitInstance_____A_CSI_window_AND_a_CSI_event_were_detected__therefore_CSI_is_already_running._User_will_be_notified_before_exiting._n
push eax
call fcn.0040ced0
add esp, 4
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
jmp 0x40592c
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____A_CSI_window_was_not_detected._Bootstrap_execution_will_proceed._n
call fcn.0040a850
call esi
add esp, 4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____The_installer_is_not_running._Creating_an_event_named_CSIBootstrapRunning_to_indicate_that_bootstrap_is_running._n
call fcn.0040a850
call esi
mov edx, dword [esp + 0x48]
add esp, 4
push edx
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi + 0x1d8], eax
test eax, eax
jne 0x405acd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x1c]
push str.CBootstrapApp::InitInstance_____Failed_to_create_event_with_call_to_CreateEvent__._This_event_is_used_to_indicate_that_bootstrap_is_running._Proceeding_without_event_creation._Last_error:_d_n
push eax
call fcn.0040ced0
add esp, 8
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
call esi
add esp, 4
cmp byte [edi + 0x10e], 0
je 0x405b08
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____The_driveronly_flag_was_detected_on_the_command_line._Launch_the_minimum_driver_install_path._n
call fcn.0040a850
call esi
add esp, 4
push 0
mov ecx, edi
mov byte [edi + 0x112], 1
call fcn.004073d0
mov eax, edi
call fcn.00406b80
jmp 0x40598d
lea ecx, [esp + 0x94]
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], 0
mov byte [esp + 0x63], 0
call sym.Autorun.exe_public:_void___thiscall_CBootstrapConfigItem::constructor_void_
push ecx
mov byte [esp + 0xd7c], 0x50
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____Checking_if_the_Windows_Installer_3.1_version_meets_the_.NET_prereq._n
call fcn.0040a850
call esi
add esp, 4
lea ecx, [esp + 0x94]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_CBootstrapPrereqCheck::IsWinInstallerInstalled_void_]
push ecx
mov byte [esp + 0x70], al
mov ecx, esp
mov dword [esp + 0x18], esp
test al, al
je 0x405ba8
push str.CBootstrapApp::InitInstance_____Windows_Installer_3.1_version_meets_the_.NET_prereq._Checking_if_the_.NET_prereq_is_met._n
call fcn.0040a850
call esi
mov eax, dword [edi + 0x144]
add esp, 4
push eax
lea ecx, [esp + 0x98]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_CBootstrapPrereqCheck::IsDotNet35SPInstalled_int_]
lea ecx, [esp + 0x94]
mov byte [esp + 0x5b], al
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_CBootstrapPrereqCheck::IsNetfx40FullInstalled_void_]
lea ecx, [esp + 0x94]
mov byte [esp + 0x5a], al
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_CBootstrapPrereqCheck::IsNetfx40ClientInstalled_void_]
mov byte [esp + 0x63], al
jmp 0x405bb7
push str.CBootstrapApp::InitInstance_____Windows_Installer_3.1_does_not_meet_the_.NET_prereq._n
call fcn.0040a850
call esi
add esp, 4
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x98]
call dword [sym.imp.BootstrapLibrary.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CBootstrapPrereqCheck::TestDotNetDetection_void_]
push 1
push 0
mov byte [esp + 0xd80], 0x51
call fcn.00407cc0
test al, al
je 0x405c4d
mov ebx, dword [esp + 0x28]
push ecx
mov dword [esp + 0x18], esp
mov ecx, esp
push ebx
call fcn.0040c080
lea ecx, [esp + 0xf8]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_CBootstrapInit::BootstrapInstallerConfigInit_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
test al, al
jne 0x405c67
push ebx
lea edx, [esp + 0x50]
push str.CBootstrapApp::InitInstance_____Issue_loading_or_parsing
push edx
call fcn.0040b1a0
add esp, 8
mov ecx, esp
mov byte [esp + 0xd7c], 0x52
mov dword [esp + 0x18], esp
push str._file._The_bootstrap_application_cannot_continue._n
push eax
push ecx
call fcn.0040b0c0
add esp, 0xc
call esi
add esp, 4
lea ecx, [esp + 0x4c]
mov byte [esp + 0xd78], 0x51
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
mov eax, edi
call fcn.00406b80
lea ecx, [esp + 0x68]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x94]
call sym.Autorun.exe_public:_void___thiscall_CBootstrapConfigItem::destructor_void_
jmp 0x40598d
lea edx, [esp + 0x23c]
push edx
lea ecx, [edi + 0x148]
call sym.Autorun.exe_public:_class_CInstallerConfigItem____thiscall_CInstallerConfigItem::operator_class_CInstallerConfigItem_const__
mov eax, dword [esp + 0x244]
cmp dword [eax - 0xc], 0
je 0x405f06
lea ecx, [esp + 0x724]
call sym.Autorun.exe_public:_void___thiscall_InstallerConfig::constructor_void_
push ecx
mov byte [esp + 0xd7c], 0x53
lea edx, [esp + 0x248]
mov dword [esp + 0x18], esp
mov ecx, esp
push edx
call fcn.0040c080
lea ecx, [esp + 0x728]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_CBootstrapInit::BootstrapInstallerConfigInit_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
test al, al
je 0x405ecc
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
call fcn.0040c080
lea ecx, [esp + 0x244]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0xd7c], 0x54
call fcn.0040c080
push 0
push ecx
mov byte [esp + 0xd80], 0x55
lea edx, [esp + 0x24]
mov dword [esp + 0x1c], esp
mov ecx, esp
push edx
call fcn.0040c080
call fcn.00408860
push 0
push ecx
mov bl, al
lea eax, [esp + 0x28]
mov dword [esp + 0x1c], esp
mov ecx, esp
push eax
call fcn.0040c080
call fcn.00408860
test bl, bl
je 0x405dab
test al, al
je 0x405ea2
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____We_have_entered_into_a_double_relaunch_case.__Launching_the_Bonus_Pack_Uninstaller_n
call fcn.0040a850
call esi
mov ecx, dword [esp + 0x20]
add esp, 4
push ecx
mov byte [edi + 0x10d], 1
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [esp + 0x60]
call fcn.0040a850
push eax
lea edx, [esp + 0x50]
push str._uninstall__InstallerConfigFileName
push edx
mov byte [esp + 0xd84], 0x56
call fcn.0040b1a0
add esp, 0xc
mov byte [esp + 0xd78], 0x57
mov ecx, dword [esp + 0x24]
push eax
call fcn.0040c110
lea ecx, [esp + 0x4c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x5c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
jmp 0x405eb8
test al, al
je 0x405ea2
mov eax, dword [edi + 0x1d0]
push eax
lea ecx, [esp + 0x400]
push ecx
call fcn.0040dba0
lea ecx, [esp + 0x3fc]
mov byte [esp + 0xd78], 0x58
call fcn.0041ec22
cmp eax, 1
jne 0x405e70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____User_wants_to_launch_with_BonusPack_config_file_n
call fcn.0040a850
call esi
mov edx, dword [esp + 0x28]
add esp, 4
push str._InstallerConfigFileName
push edx
lea eax, [esp + 0x64]
push eax
call fcn.0040b0c0
add esp, 0xc
mov ebx, eax
mov byte [esp + 0xd78], 0x59
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea edx, [esp + 0x50]
push ebx
push edx
call fcn.0040b0c0
add esp, 0xc
mov byte [esp + 0xd78], 0x5a
mov ecx, dword [esp + 0x24]
push eax
call fcn.0040c110
lea ecx, [esp + 0x4c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x5c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea eax, [esp + 0x3fc]
push eax
mov byte [esp + 0xd7c], 0x55
call fcn.004069a0
jmp 0x405eb8
cmp eax, 2
jne 0x405e8b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____User_wants_to_launch_with_Installer_config_file__dont_touch_the_command_line_and_let_CSI_handle_the_default_filename._n
call fcn.0040a850
call esi
add esp, 4
lea eax, [esp + 0x3fc]
push eax
mov byte [esp + 0xd7c], 0x55
call fcn.004069a0
jmp 0x405eb8
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____We_found_a_bonuspack_config_file__but_none_of_the_conditions_are_met.__Launching_CSI_as_normal._n
call fcn.0040a850
call esi
add esp, 4
lea ecx, [esp + 0x1c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x20]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
jmp 0x405eee
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
lea edx, [esp + 0x248]
push edx
push str.CBootstrapApp::InitInstance_____Issue_loading_or_parsing
push ecx
call fcn.0040b1a0
add esp, 0xc
call esi
add esp, 4
lea ecx, [esp + 0x724]
mov byte [esp + 0xd78], 0x51
call sym.Autorun.exe_public:_void___thiscall_InstallerConfig::destructor_void_
mov ebx, dword [esp + 0x28]
cmp byte [esp + 0x5b], 0
jne 0x406689
cmp byte [esp + 0x5a], 0
jne 0x406689
cmp byte [esp + 0x63], 0
jne 0x406689
lea ecx, [esp + 0x34]
call fcn.0040a820
lea ecx, [esp + 0x20]
call fcn.0040a820
lea ecx, [esp + 0x2c]
call fcn.0040a820
lea ecx, [esp + 0x1c]
call fcn.0040a820
lea ecx, [esp + 0x40]
call fcn.0040a820
push str.TRUE
lea ecx, [esp + 0x240]
mov byte [esp + 0xd7c], 0x5f
call fcn.0040af70
push eax
call fcn.0040b280
add esp, 8
test al, al
je 0x4061d0
lea eax, [edi + 0x12c]
push eax
lea ecx, [esp + 0x28]
call fcn.0040c080
lea ecx, [esp + 0x4c]
push ecx
push 0x55f3fc
lea edx, [esp + 0x30]
mov byte [esp + 0xd80], 0x60
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x58], 0
call fcn.0040ae00
xor eax, eax
mov byte [esp + 0xd78], 0x61
mov ecx, dword [esp + 0x28]
push eax
mov dword [esp + 0x728], eax
mov dword [esp + 0x72c], eax
mov dword [esp + 0x730], eax
mov dword [esp + 0x734], eax
mov dword [esp + 0x738], eax
mov dword [esp + 0x73c], eax
lea eax, [esp + 0x728]
push eax
push ecx
call fcn.0041d427
test eax, eax
jne 0x4061b6
mov edx, dword [edi + 0x1d0]
push edx
lea eax, [esp + 0x400]
push eax
call fcn.00410c90
lea ecx, [esp + 0x3fc]
mov byte [esp + 0xd78], 0x62
call fcn.0041ec22
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
cmp eax, 0x40d
jne 0x406126
push 0x55f400
call fcn.0040a850
call esi
add esp, 4
lea ecx, [esp + 0x3fc]
push ecx
mov byte [esp + 0xd7c], 0x61
call fcn.00406a40
lea ecx, [esp + 0x28]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x24]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x40]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x1c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x2c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x20]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x34]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x68]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x94]
call sym.Autorun.exe_public:_void___thiscall_CBootstrapConfigItem::destructor_void_
lea ecx, [esp + 0x50]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x44]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x48]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x54]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x78]
mov byte [esp + 0xd78], 0x1d
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_ConditionChecker::destructor_void_]
lea ecx, [esp + 0x3c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0xf4]
mov byte [esp + 0xd78], 3
call sym.Autorun.exe_public:_void___thiscall_InstallerConfig::destructor_void_
lea ecx, [esp + 0x38]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x18]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
mov eax, 1
jmp 0x404ca6
cmp eax, 0x40e
jne 0x406147
push str.CBootstrapApp::InitInstance_____The_user_selected_the_minimum_driver_install_path._n
call fcn.0040a850
call esi
add esp, 4
push 1
mov ecx, edi
call fcn.004073d0
jmp 0x406156
push str.CBootstrapApp::InitInstance_____The_user_elected_to_exit._n
call fcn.0040a850
call esi
add esp, 4
mov eax, edi
call fcn.00406b80
lea edx, [esp + 0x3fc]
push edx
mov byte [esp + 0xd7c], 0x61
call fcn.00406a40
lea ecx, [esp + 0x28]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x24]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x40]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x1c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x2c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x20]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x34]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
jmp 0x405c4d
lea ecx, [esp + 0x28]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x24]
mov byte [esp + 0xd78], 0x5f
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x2f4]
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_EvaluateSystem::constructor_void_]
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x2f8]
mov byte [esp + 0xd7c], 0x63
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_EvaluateSystem::SaveSystemConditionItems_class_SystemConditionItems__]
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2f8]
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_EvaluateSystem::SaveSystemCheckConditions_class_SystemCheckConditions__]
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x2f8]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_EvaluateSystem::IsSystemBlocked_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____]
test al, al
je 0x406288
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____The_system_is_blocked._The_user_will_be_notified_in_a_message_box._n
call fcn.0040a850
call esi
add esp, 4
lea ecx, [esp + 0x40]
call fcn.00408630
push eax
lea ecx, [esp + 0x44]
call fcn.0040afd0
mov eax, dword [edi + 0x1cc]
mov ecx, dword [esp + 0x40]
push eax
push 0x55ca7c
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, edi
call fcn.00406b80
lea ecx, [esp + 0x2f4]
mov byte [esp + 0xd78], 0x5f
call dword [sym.imp.BootstrapLibrary.dll_public:_void___thiscall_EvaluateSystem::destructor_void_]
jmp 0x406184
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x2f8]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_EvaluateSystem::IsSystemSupported_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____]
test al, al
jne 0x4062ac
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CBootstrapApp::InitInstance_____The_system_is_not_supported._The_user_will_be_notified_in_a_message_box._n
jmp 0x406231
lea ecx, [esp + 0x78]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_ConditionChecker::isCurrentUserAdmin_void_]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
test al, al
jne 0x4062f4
push str.CBootstrapApp::InitInstance_____User_does_not_have_admin_rights._The_bootstrap_application_cannot_continue._The_user_will_be_notified_in_a_message_box._n
call fcn.0040a850
call esi
add esp, 4
push 0x99
lea ecx, [esp + 0x44]
call fcn.0040afd0
mov edx, dword [edi + 0x1cc]
mov eax, dword [esp + 0x40]
push edx
push 0x55ca7c
push eax
jmp 0x40625f
push str.CBootstrapApp::InitInstance_____User_has_admin_rights__bootstrap_will_continue._n
call fcn.0040a850
call esi
add esp, 4
push 1
push ecx
mov dword [esp + 0x1c], esp
mov ecx, esp
push ebx
call fcn.0040c080
call fcn.00408860
test al, al
jne 0x40667d
movzx ecx, byte [edi + 0x10d]
push 0
push ecx
lea ecx, [esp + 0x80]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_ConditionChecker::IsServer2008R2OrLaterServer_void_]
movzx edx, al
mov eax, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x70]
push eax
sub esp, 0x34
mov ecx, esp
mov dword [esp + 0xb8], esp
push edx
call sym.Autorun.exe_public:_void___thiscall_CBootstrapConfigItem::constructor_class_CBootstrapConfigItem_const__
movzx eax, byte [edi + 0x110]
mov ecx, dword [edi + 0x1d0]
push eax
push ecx
lea edx, [esp + 0x448]
push edx
call fcn.0040dfe0
lea ecx, [esp + 0x3fc]
mov byte [esp + 0xd78], 0x64
call fcn.0041ec22
lea ecx, [esp + 0x24]
mov ebx, eax
call fcn.0040a820
push 0x96
lea ecx, [esp + 0x28]
mov byte [esp + 0xd7c], 0x65
call fcn.0040afd0
push 0x91
lea ecx, [esp + 0x38]
call fcn.0040afd0
push 0x93
lea ecx, [esp + 0x24]
call fcn.0040afd0
push 0x94
lea ecx, [esp + 0x30]
call fcn.0040afd0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x70]
push 0x55cb68
push ecx
call fcn.0040b1a0
add esp, 0xc
push 0x55f944
push eax
lea edx, [esp + 0x64]
push edx
mov byte [esp + 0xd84], 0x66
call fcn.0040b0c0
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
push eax
lea edx, [esp + 0x54]
push edx
mov byte [esp + 0xd84], 0x67
call fcn.0040b000
add esp, 0xc
push 0x55f93c
push eax
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xd84], 0x68
call fcn.0040b0c0
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0xd7c], 0x69
push eax
lea edx, [esp + 0x38]
push edx
call fcn.0040b000
add esp, 0xc
lea ecx, [esp + 0x64]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x4c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x5c]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x6c]
mov byte [esp + 0xd78], 0x6e
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
push 0x92
lea ecx, [esp + 0x38]
call fcn.0040afd0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x18]
push 0x55cb68
push ecx
call fcn.0040b1a0
add esp, 0xc
push 0x55f944
push eax
lea edx, [esp + 0x7c]
push edx
mov byte [esp + 0xd84], 0x6f
call fcn.0040b0c0
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
push eax
lea edx, [esp + 0x90]
push edx
mov byte [esp + 0xd84], 0x70
call fcn.0040b000
add esp, 0xc
push 0x55f93c
push eax
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0xd84], 0x71
call fcn.0040b0c0
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
push eax
lea edx, [esp + 0x30]
push edx
mov byte [esp + 0xd84], 0x72
call fcn.0040b000
add esp, 0xc
lea ecx, [esp + 0x70]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x88]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x74]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x14]
mov byte [esp + 0xd78], 0x77
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea eax, [ebx - 2]
cmp eax, 0xc
ja case.0x406555.3
movzx eax, byte [eax + 0x40698c]
jmp dword [eax*4 + 0x406970]
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push str.CBootstrapApp::InitInstance_____The_user_canceled_the_installation._n
call fcn.0040a850
call esi
add esp, 4
jmp case.0x406555.3
mov byte [edi + 0x112], 1
jmp 0x40663f
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x98]
call dword [sym.imp.BootstrapLibrary.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CBootstrapPrereqCheck::TestDotNetDetection_void_]
lea ecx, [esp + 0x64]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
mov edx, dword [edi + 0x144]
push edx
lea ecx, [esp + 0x98]
call dword [sym.imp.BootstrapLibrary.dll_public:_bool___thiscall_CBootstrapPrereqCheck::IsDotNet35SPInstalled_int_]
test al, al
je case.0x406555.3
mov ecx, edi
call fcn.00406c00
jmp case.0x406555.3
cmp byte [edi + 0x111], 1
jne 0x4065ec
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push str..NET_installed_successfully_after_HWFirst._Set_RunOnce._n
call fcn.0040a850
call esi
add esp, 4
mov ecx, edi
call fcn.00408710
push 1
push 1
call fcn.00407cc0
jmp case.0x406555.3
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push str.CBootstrapApp::InitInstance_____Installation_of_Windows_Installer_3.1_failed._The_user_will_be_notified_in_a_message_box._n
call fcn.0040a850
call esi
mov edx, dword [esp + 0x34]
jmp 0x406627
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push str.CBootstrapApp::InitInstance_____Installation_of_.NET_failed._The_user_will_be_notified_in_a_message_box._n
call fcn.0040a850
call esi
mov edx, dword [esp + 0x2c]
mov eax, dword [edi + 0x1cc]
mov ecx, dword [esp + 0x28]
add esp, 4
push eax
push ecx
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
mov ecx, edi
call fcn.004073d0
lea ecx, [esp + 0x28]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x30]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea ecx, [esp + 0x24]
call sym.Autorun.exe_public:_void___thiscall_RebootNow::destructor_void_
lea eax, [esp + 0x3fc]
push eax
mov byte [esp + 0xd7c], 0x63
call fcn.00406ae0
jmp 0x406267
mov ecx, edi
call fcn.0040a1f0
jmp 0x406267
push 1
push ecx
mov dword [esp + 0x1c], esp
mov ecx, esp
push ebx
call fcn.0040c080
call fcn.00408860
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
test al, al
jne 0x4066c3
push str.CBootstrapApp::InitInstance_____The_.NET_prereq_has_been_met._Proceed_to_launch_the_installer._n
call fcn.0040a850
call esi
add esp, 4
mov ecx, edi
call fcn.00406c00
jmp 0x405c46
push str.CBootstrapApp::InitInstance_____The_.NET_prereq_has_been_met._The_user_chose_to_install_driver_only_previously.__Exiting._n
call fcn.0040a850
call esi
add esp, 4
mov ecx, edi
call fcn.0040a1f0
jmp 0x405c46
push str._n_silent_t_tLaunches_installer_silently_when_used_with_driveronly._Otherwise__suppresses_splash_screen.
lea ecx, [esp + 0x20]
call fcn.0040a910
mov esi, eax
push str._ndriveronly_tLaunches_minimum_driver_install._If_used__uninstall_parameter_will_be_ignored.
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd7c], 0x22
call fcn.0040a910
mov dword [esp + 0x88], eax
push str._nuninstall_t_tLaunches_uninstall.
lea ecx, [esp + 0x34]
mov byte [esp + 0xd7c], 0x23
call fcn.0040a910
mov dword [esp + 0x74], eax
push str._n__t_tDisplays_usage_information.
lea ecx, [esp + 0x74]
mov byte [esp + 0xd7c], 0x24
call fcn.0040a910
mov dword [esp + 0x14], eax
push str.usage:_nhelp_t_tDisplays_usage_information.
lea ecx, [esp + 0x70]
mov byte [esp + 0xd7c], 0x25
call fcn.0040a910
mov byte [esp + 0xd78], 0x26
mov ecx, dword [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x64]
push edx
call fcn.0040b000
add esp, 0xc
mov byte [esp + 0xd78], 0x27
mov ecx, dword [esp + 0x74]
push ecx
push eax
lea edx, [esp + 0x54]
push edx
call fcn.0040b000
add esp, 0xc
mov byte [esp + 0xd78], 0x28
mov ecx, dword [esp + 0x88]
push ecx
push eax
lea edx, [esp + 0x6c]
push edx
call fcn.0040b000
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0xd84], 0x29
call fcn.0040b000
add esp, 0xc
mov byte [esp + 0xd78], 0x2b
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4067e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x2c
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406810
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x2d
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406838
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x2e
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406860
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x2f
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406888
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x30
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4068b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x31
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4068d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd78], 0x32
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406900
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x24]
push 0
push 0x55ca7c
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, edi
call fcn.00406b80
mov byte [esp + 0xd78], 0x1d
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406943
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xfffffff0
mov byte [esp + 0xd78], 0x1b
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404c3d
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
jmp 0x404c3d