Function at 0x421930
Capabilities:
Accept command line arguments
Get common file path
Get system information on windows
Hide graphical window
Query or enumerate registry value
Set current directory

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b05c0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x4e506c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x8ac]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x820], eax
mov dword [ebp - 0x840], 0
call fcn.0043fea0
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x81c], 0
lea ecx, [ebp - 0x838]
push dword [ebp - 0x81c]
call fcn.0043cae0
add esp, 0xc
lea eax, [ebp - 0x838]
lea ecx, [ebp - 0x8ac]
push eax
call fcn.0041a5e0
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x421a06
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4219fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423243
push edx
push ecx
call fcn.0046e3a3
add esp, 8
push 0xb0
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.004864f0
cmp dword [ebp - 0x898], 8
lea eax, [ebp - 0x8ac]
lea ecx, [ebp - 0xa48]
cmovae eax, dword [ebp - 0x8ac]
add esp, 4
push 0xa
push eax
call fcn.0043a050
mov eax, dword [ebp - 0xa48]
push 0xb0
push 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xa48]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xa4c], eax
lea eax, [ebp - 0x970]
push eax
call fcn.004864f0
add esp, 0xc
mov dword [ebp - 0x970], 0x4cd548
cmp dword [ebp - 0x898], 8
lea eax, [ebp - 0x96c]
lea esi, [ebp - 0x8ac]
mov dword [ebp - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
cmovae esi, dword [ebp - 0x8ac]
lea ecx, [ebp - 0x908]
push 0
push eax
mov dword [ebp - 0x90c], 0x60
call fcn.0043ae40
mov eax, dword [ebp - 0x970]
push 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x970]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x974], eax
lea ecx, [ebp - 0x96c]
call fcn.0043a890
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x96c]
call fcn.0043a7a0
test eax, eax
jne 0x421b33
mov eax, dword [ebp - 0x970]
lea ecx, [ebp - 0x970]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004118a0
mov eax, dword [ebp - 0x970]
push 0
push 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x970]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x974], eax
mov eax, dword [0x4e96a0]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa44]
add ecx, 0x4e96a0
mov dword [ecx + 0x38], eax
call fcn.004118a0
mov eax, dword [0x4e94e0]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x96c]
add ecx, 0x4e94e0
mov dword [ecx + 0x38], eax
call fcn.004118a0
push 0x4e94e0
call fcn.0040fa40
add esp, 4
mov edx, str._Install_started
mov ecx, eax
call fcn.00419840
lea ecx, [ebp - 0x838]
mov esi, eax
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421bcb
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.004104f0
add esp, 4
mov edx, 0x4c9ee0
mov ecx, eax
call fcn.00419840
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x421c2d
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421c23
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423248
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov dword [ebp - 4], 0
call fcn.004039d0
mov ecx, eax
test ecx, ecx
je 0x42324d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, 1
sub ecx, dword [eax + 0xc]
lea esi, [eax + 0x10]
mov eax, dword [esi - 8]
sub eax, 0x104
mov dword [ebp - 0x83c], esi
or eax, ecx
jge 0x421c84
push 0x104
lea ecx, [ebp - 0x83c]
call fcn.00403630
mov esi, dword [ebp - 0x83c]
cmp dword [esi - 8], 0x104
jl 0x423257
push 0x104
xor eax, eax
mov dword [esi - 0xc], 0x104
push esi
mov word [esi + 0x208], ax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push dword [esi - 8]
push esi
call fcn.0048951c
add esp, 8
test eax, eax
js 0x423257
cmp eax, dword [esi - 8]
jg 0x423257
xor ecx, ecx
mov dword [esi - 0xc], eax
push esi
mov word [esi + eax*2], cx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421cf0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, 0x4c9f68
mov ecx, eax
call fcn.00419840
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0xd0
mov ecx, eax
call fcn.0040dcd0
mov edx, 0x4c9f20
mov ecx, eax
call fcn.00419840
cmp dword [esi - 4], 1
mov dword [ebp - 0x81c], eax
jle 0x421d56
push dword [esi - 0xc]
lea ecx, [ebp - 0x83c]
call fcn.00403530
mov esi, dword [ebp - 0x83c]
mov eax, dword [ebp - 0x81c]
mov edx, esi
mov ecx, eax
call fcn.00419840
mov edx, 0x4c9f1c
mov ecx, eax
call fcn.00419840
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x421db4
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421daa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423261
push edx
push ecx
call fcn.0046e3a3
add esp, 8
call fcn.00442a20
mov eax, dword [ebp - 0x820]
push 2
push 0
mov dword [0x4eaa0c], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421dd3
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, 0x4e5d48
call fcn.004078c0
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421e04
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0xda
mov ecx, eax
call fcn.0040dcd0
mov edx, 0x4c834c
mov ecx, eax
call fcn.0040f6d0
mov edx, str.Parsing_Command_Line:
mov ecx, eax
call fcn.00419840
mov edx, edi
mov ecx, eax
call fcn.00419840
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x421ea2
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421e98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423266
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov ecx, edi
mov dword [ebp - 0x864], 0
xor eax, eax
mov dword [ebp - 0x860], 7
mov word [ebp - 0x874], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421ec4
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x874]
call fcn.004078c0
lea ecx, [ebp - 0x874]
call fcn.0042a8c0
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x421f2b
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421f21
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42326b
push edx
push ecx
call fcn.0046e3a3
add esp, 8
lea eax, [ebp - 0x894]
mov dword [ebp - 0x894], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, eax
test edi, edi
je 0x4221de
mov edx, dword [edi]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x81c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421f60
sub ecx, dword [ebp - 0x81c]
xor eax, eax
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x874]
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x860], 7
mov word [ebp - 0x874], ax
call fcn.004078c0
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x860], 8
lea ecx, [ebp - 0x874]
mov eax, dword [ebp - 0x864]
cmovae ecx, dword [ebp - 0x874]
lea edi, [ecx + eax*2]
mov edx, edi
call fcn.0043ef00
sub edi, eax
mov dword [ebp - 0x828], 0
xor ecx, ecx
sar edi, 1
push edi
mov word [ebp - 0x838], cx
lea ecx, [ebp - 0x838]
push eax
mov dword [ebp - 0x824], 7
call fcn.004078c0
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040be50
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x422048
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42203e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423270
push edx
push ecx
call fcn.0046e3a3
add esp, 8
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
push str.mbuns.exe
cmovae eax, dword [ebp - 0x85c]
push eax
call fcn.0048c547
add esp, 8
test eax, eax
je 0x422098
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
push str.unins000.exe
cmovae eax, dword [ebp - 0x85c]
push eax
call fcn.0048c547
add esp, 8
test eax, eax
jne 0x42213e
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4220ae
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0xe9
mov ecx, eax
call fcn.0040dcd0
mov edx, str.:_Uninstall_implied_by_filename
mov ecx, eax
call fcn.0040f6d0
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x422137
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42212d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423275
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov byte [0x4ea9fb], 1
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x42217e
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422174
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42327a
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov edx, dword [ebp - 0x860]
xor eax, eax
mov dword [ebp - 0x84c], 0
mov dword [ebp - 0x848], 7
mov word [ebp - 0x85c], ax
cmp edx, 8
jb 0x42228d
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422283
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42327f
jmp 0x422283
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4221f4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0xef
mov ecx, eax
call fcn.0040dcd0
mov edx, str.:_CommandLineToArgvW_failed:
mov ecx, eax
call fcn.0040f6d0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, edi
call fcn.004194b0
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x42228d
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422283
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423284
push edx
push ecx
call fcn.0046e3a3
add esp, 8
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4222a3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0xf2
mov ecx, eax
call fcn.0040dcd0
mov edx, str.:_MBSetup_mode_:
mov ecx, eax
call fcn.0040f6d0
cmp byte [0x4ea9fb], 0
mov ecx, str.installing
mov edx, str.uninstalling
cmove edx, ecx
mov ecx, eax
call fcn.0040f6d0
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x422347
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42233d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423289
push edx
push ecx
call fcn.0046e3a3
add esp, 8
call fcn.00423400
cmp byte [0x4ea9fc], 0
mov dword [ebp - 0x8bc], 1
mov dword [ebp - 0x8b8], 0
mov dword [ebp - 0x8b4], 0
mov dword [ebp - 0x8b0], 0
mov dword [ebp - 0x878], 0
jne 0x422418
lea eax, [ebp - 0x844]
mov dword [ebp - 0x844], 8
push eax
mov dword [ebp - 0x840], 0x8000
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
sub esp, 0xc
call fcn.0043ee00
push 0
lea eax, [ebp - 0x8bc]
push eax
lea eax, [ebp - 0x878]
push eax
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0xb
lea ecx, [ebp - 0x81c]
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x820], 0
call fcn.0044c040
push 0xa
lea ecx, [ebp - 0x820]
call fcn.0044c040
mov eax, dword [ebp - 0x820]
mov edi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x42240b
push eax
call edi
mov eax, dword [ebp - 0x81c]
test eax, eax
je 0x422418
push eax
call edi
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42242e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0x123
mov ecx, eax
call fcn.0040dcd0
mov edx, str.:_This_is_an_ONLINE_installer_build.
mov ecx, eax
call fcn.0040f6d0
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x4224b7
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4224ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42328e
push edx
push ecx
call fcn.0046e3a3
add esp, 8
xor eax, eax
mov dword [ebp - 0x880], 0
lea ecx, [ebp - 0x890]
mov dword [ebp - 0x87c], 7
mov word [ebp - 0x890], ax
call fcn.0042e280
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
push dword [ebp - 0x880]
cmovae eax, dword [ebp - 0x890]
mov ecx, 0x4e5c58
push eax
call fcn.004078c0
cmp dword [ebp - 0x880], 0
je 0x4227bd
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x890]
call fcn.0043e890
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040be50
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x42256f
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422565
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423293
push edx
push ecx
call fcn.0046e3a3
add esp, 8
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
mov edi, dword [ebp - 0x85c]
lea ecx, [ebp - 0x85c]
cmovae eax, edi
cmovae ecx, edi
mov dword [ebp - 0x820], eax
mov eax, dword [ebp - 0x84c]
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x85c]
cmovae ecx, edi
mov edi, eax
sub edi, ecx
xor edx, edx
inc edi
shr edi, 1
cmp ecx, eax
cmova edi, edx
test edi, edi
je 0x4225e8
sub dword [ebp - 0x820], ecx
mov esi, dword [ebp - 0x820]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x4225d1
cmp eax, 0x3a
jne 0x4225d6
mov eax, 0x5f
mov word [esi + ecx], ax
inc edx
add ecx, 2
cmp edx, edi
jne 0x4225c4
mov esi, dword [ebp - 0x83c]
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
cmovae eax, dword [ebp - 0x85c]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x81c], eax
test edi, edi
jne 0x422718
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422633
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0x130
mov ecx, eax
call fcn.0040dcd0
mov edx, 0x4c834c
mov ecx, eax
call fcn.0040f6d0
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.00419840
push dword [ebp - 0x81c]
mov ecx, eax
call fcn.004194b0
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x4226d5
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4226cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423298
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x4227bd
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4227b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42329d
jmp 0x4227b3
cmp eax, 0xb7
jne 0x4226d5
push 0x4ca180
push str.32770
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
push 5
push edi
mov dword [ebp - 0x81c], edi
call dword [sym.imp.USER32.dll_ShowWindow]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
mov edi, dword [sym.imp.USER32.dll_SetWindowPos]
call edi
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push dword [ebp - 0x81c]
call edi
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x4227a9
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42279f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4232a2
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov edi, 1
jmp 0x423073
push edx
push ecx
call fcn.0046e3a3
add esp, 8
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4227d3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0x13c
mov ecx, eax
call fcn.0040dcd0
mov edx, str.:_MBSetup_version_4.6.12.399
mov ecx, eax
call fcn.0040f6d0
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x42285c
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422852
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4232a7
push edx
push ecx
call fcn.0046e3a3
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x974], 0
lea eax, [ebp - 0x994]
push eax
movups xmmword [ebp - 0x994], xmm0
movups xmmword [ebp - 0x984], xmm0
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [ebp - 0x994]
test ax, ax
je 0x42289d
mov byte [0x4eaa07], 0
cmp ax, 5
jne 0x4228a4
mov byte [0x4eaa07], 1
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea ecx, [ebp - 0x838]
mov dword [ebp - 0x840], edi
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4228ca
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0x14c
mov ecx, eax
call fcn.0040dcd0
mov edx, 0x4c834c
mov ecx, eax
call fcn.0040f6d0
cmp byte [0x4eaa07], 0
mov ecx, str.64_Bit_Processor.
mov edx, str.32_Bit_Processor.
cmove edx, ecx
mov ecx, eax
call fcn.00419840
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x422965
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42295b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4232ac
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov edx, str.32_Bit_Process.
mov ecx, 0x4e94e0
call fcn.00419840
cmp edi, 3
ja case.default.0x422979
jmp dword [edi*4 + 0x4232d0]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4e94e0
call fcn.00419840
jmp 0x4229e7
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4e94e0
call fcn.00419840
jmp 0x4229e7
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4e94e0
call fcn.00419840
jmp 0x4229e7
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4e94e0
call fcn.00419840
jmp 0x4229e7
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4e94e0
call fcn.00419840
push edi
mov ecx, eax
call fcn.0040dcd0
mov edx, 0x4c82e0
mov ecx, eax
call fcn.0040f6d0
push 0x4e94e0
call fcn.0040fa40
add esp, 4
cmp edi, 1
je 0x4229fe
cmp edi, 2
jne 0x422a03
call fcn.0042f6c0
cmp byte [0x4ea9ff], 0
jne 0x422af0
push 0x400
lea eax, [ebp - 0x818]
push eax
push 0x81
push dword [0x4eaa0c]
call dword [sym.imp.USER32.dll_LoadStringW]
lea ecx, [ebp - 0x818]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x422a36
sub ecx, edx
lea eax, [ebp - 0x818]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4e5e50
call fcn.004078c0
lea ecx, [ebp - 0x838]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422a6d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0x170
mov ecx, eax
call fcn.0040dcd0
mov edx, 0x4c834c
mov ecx, eax
call fcn.0040f6d0
mov edx, str.Supported_language_is:
mov ecx, eax
call fcn.00419840
cmp dword [0x4e5e64], 8
mov edx, 0x4e5e50
push dword [0x4e5e60]
cmovae edx, dword [0x4e5e50]
mov ecx, eax
call fcn.004104f0
add esp, 4
push eax
call fcn.0040fa40
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00404c50
cmp byte [0x4ea9fb], 0
jne 0x422b4a
xor eax, eax
mov dword [ebp - 0x828], 0
push eax
push 0x4c786c
lea ecx, [ebp - 0x838]
mov dword [ebp - 0x824], 7
mov word [ebp - 0x838], ax
call fcn.004078c0
lea eax, [ebp - 0x838]
xor dl, dl
push eax
xor cl, cl
call fcn.0042c640
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00404c50
call fcn.0044f5a0
call fcn.0042fdd0
test al, al
je 0x422cf7
mov dword [ebp - 0x820], 0xc8
mov dword [ebp - 4], 2
call fcn.004039d0
mov ecx, eax
test ecx, ecx
je 0x4232b1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, 0xc8
mov dword [ebp - 0x81c], eax
lea ecx, [ebp - 0x83c]
call fcn.0044f050
push dword [eax]
lea eax, [ebp - 0x81c]
push str._s___cant_run_on_ARM
push eax
call fcn.0043b650
mov edx, dword [ebp - 0x83c]
add esp, 0xc
add edx, 0xfffffff0
mov dword [ebp - 4], 3
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422bd9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x838]
mov dword [ebp - 4], 0xffffffff
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422bf6
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0x184
mov ecx, eax
call fcn.0040dcd0
mov edx, 0x4c834c
mov ecx, eax
call fcn.0040f6d0
mov edi, dword [ebp - 0x81c]
mov ecx, eax
mov edx, edi
call fcn.0040f6d0
push eax
call fcn.0040fa40
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00404c50
cmp byte [0x4ea9fb], 0
jne 0x422c6b
xor edx, edx
mov ecx, edi
call fcn.00450c10
cmp byte [0x4ea9fc], 0
jne 0x422cc6
push 0x130
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.004864f0
add esp, 8
lea ecx, [ebp - 0x148]
push 0
push 0x6a6
push 0x233c
push 0x80
push 1
call fcn.0041f9e0
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x148]
call fcn.0040db10
lea ecx, [ebp - 0x148]
call fcn.0040d1c0
add edi, 0xfffffff0
mov dword [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x422ce5
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x840]
jmp 0x422f81
cmp byte [0x4ea9fb], 0
je 0x422d10
call fcn.0042a250
mov dword [ebp - 0x820], eax
jmp 0x422f81
mov eax, dword [0x4e5e34]
mov ecx, 0x4e5e20
mov edx, dword [0x4e5e20]
cmp eax, 8
cmovae ecx, edx
cmp dword [0x4e5e30], 4
jne 0x422d4d
push 4
mov edx, str.2060
call fcn.0041a530
add esp, 4
test eax, eax
je 0x422d74
mov eax, dword [0x4e5e34]
mov edx, dword [0x4e5e20]
cmp eax, 8
mov ecx, 0x4e5e20
cmovae ecx, edx
cmp dword [0x4e5e30], 4
jne 0x422d7d
push 4
mov edx, str.2061
call fcn.0041a530
add esp, 4
test eax, eax
jne 0x422d7d
xor al, al
mov ecx, 0x4e5ac5
xchg byte [ecx], al
call fcn.004318c0
cmp byte [0x4ea9f9], 0
mov byte [0x4ea9f2], al
mov eax, 2
jne 0x422dc2
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x874]
call fcn.0040be50
lea ecx, [ebp - 0x874]
call fcn.00424180
test al, al
mov byte [0x4ea9fa], 0
mov eax, 3
je 0x422dc9
mov byte [0x4ea9fa], 1
test al, 1
je 0x422dd8
lea ecx, [ebp - 0x874]
call fcn.00404c50
lea eax, [ebp - 0x820]
mov dword [ebp - 0x820], 0
push eax
push 0x20019
push 0
push str.SOFTWAREMalwarebytesmbam
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x422e54
mov dword [ebp - 0x81c], eax
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x840], 4
push eax
push 0
push 0
push str.dtopicon
push dword [ebp - 0x820]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x422e48
cmp dword [ebp - 0x81c], eax
setne byte [0x4e5ac4]
push dword [ebp - 0x820]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00427f70
mov edx, eax
mov dword [ebp - 0x820], eax
lea ecx, [ebp - 0x874]
call fcn.0041a8a0
push eax
mov edx, str.DoInstall_complete._Returned:
lea ecx, [ebp - 0x838]
call fcn.00419c10
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00404c50
cmp dword [ebp - 0x824], 8
lea eax, [ebp - 0x838]
mov edx, 0x1aa
mov ecx, 0x4c9f68
cmovae eax, dword [ebp - 0x838]
push eax
call fcn.004412b0
add esp, 4
call fcn.00442e00
test al, al
jne 0x422f25
lea ecx, [ebp - 0x874]
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422ed1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94e0
call fcn.004104f0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f6d0
mov edx, 0x4c8124
mov ecx, eax
call fcn.0040f6d0
push 0x1af
mov ecx, eax
call fcn.0040dcd0
mov edx, str.:_Problem_saving_state_of_create_desktop_icon_option
mov ecx, eax
call fcn.0040f6d0
push eax
call fcn.0040fa40
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00404c50
push 0x4eab24
push 0x41af20
push 0x4eab2c
call fcn.0046a8b6
add esp, 0xc
test eax, eax
je 0x4232bb
cmp dword [0x4e5cf8], 0
je 0x422f5d
lea edx, [ebp - 0x844]
mov ecx, 0x4e5ce8
call fcn.0043e6d0
cmp dword [0x4e5d10], 0
je 0x422f76
lea edx, [ebp - 0x844]
mov ecx, 0x4e5d00
call fcn.0043e6d0
lea ecx, [ebp - 0x838]
call fcn.00404c50
cmp edi, 1
je 0x422f8b
cmp edi, 2
jne 0x422f90
call fcn.0042fa50
cmp byte [0x4ea9fc], 0
jne 0x422fa5
push dword [ebp - 0x878]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, str._Install_finished__
mov ecx, 0x4e94e0
call fcn.00419840
mov edi, dword [ebp - 0x820]
mov ecx, eax
push edi
call fcn.0040dcd0
mov edx, 0x4ca46c
mov ecx, eax
call fcn.0040f6d0
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x840], eax
call fcn.0045e700
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422ff0
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x840]
mov edx, eax
call fcn.004104f0
add esp, 4
mov edx, 0x4c9ee0
mov ecx, eax
call fcn.00419840
push eax
call fcn.0040fa40
mov edx, dword [ebp - 0xa4c]
add esp, 4
cmp edx, 8
jb 0x423056
mov ecx, dword [ebp - 0xa60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42304c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4232c0
push edx
push ecx
call fcn.0046e3a3
add esp, 8
xor eax, eax
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 7
mov word [ebp - 0xa60], ax
mov edx, dword [ebp - 0x87c]
cmp edx, 8
jb 0x4230b3
mov ecx, dword [ebp - 0x890]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4230a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4232c5
push edx
push ecx
call fcn.0046e3a3
add esp, 8
xor eax, eax
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x87c], 7
add esi, 0xfffffff0
mov word [ebp - 0x890], ax
mov dword [ebp - 4], 5
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4230ef
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x970]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x970]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x974], eax
lea ecx, [ebp - 0x96c]
call fcn.00437070
mov eax, dword [ebp - 0x970]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x970]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x974], eax
lea eax, [ebp - 0x908]
mov dword [ebp - 4], 6
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0046baae
mov eax, dword [ebp - 0xa48]
add esp, 4
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xa48]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xa4c], eax
lea ecx, [ebp - 0xa44]
call fcn.00438e20
mov eax, dword [ebp - 0xa48]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xa48]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xa4c], eax
lea eax, [ebp - 0x9e0]
mov dword [ebp - 4], 7
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0046baae
mov edx, dword [ebp - 0x898]
add esp, 4
cmp edx, 8
jb 0x423221
mov ecx, dword [ebp - 0x8ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423217
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4232ca
push edx
push ecx
call fcn.0046e3a3
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046de82
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.004892fc
call fcn.004892fc
push 0x80004005
call fcn.00403b40
push 0x80070057
call fcn.00403b40
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
push 0x80004005
call fcn.00403b40
call fcn.0048cc70
call fcn.004892fc
call fcn.004892fc
call fcn.004892fc
nop
sub byte [ecx], 0x42
add byte [ecx - 1577041367], dl
sub dword [edx], eax
mov bl, 0x29
inc edx
invalid