Function at 0x421a30
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 0x4afa60
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x4e406c]
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.00441000
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x81c], 0
lea ecx, [ebp - 0x838]
push dword [ebp - 0x81c]
call fcn.0043d000
add esp, 0xc
lea eax, [ebp - 0x838]
lea ecx, [ebp - 0x8ac]
push eax
call fcn.0041a7f0
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x421b06
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421afc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42337e
push edx
push ecx
call fcn.0046d84e
add esp, 8
push 0xb0
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.00485990
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.0043a4d0
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.00485990
add esp, 0xc
mov dword [ebp - 0x970], 0x4cc458
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.0043b2c0
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.0043ad10
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x96c]
call fcn.0043ac20
test eax, eax
jne 0x421c33
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.00411b10
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 [0x4e86a8]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa44]
add ecx, 0x4e86a8
mov dword [ecx + 0x38], eax
call fcn.00411b10
mov eax, dword [0x4e84e8]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x96c]
add ecx, 0x4e84e8
mov dword [ecx + 0x38], eax
call fcn.00411b10
push 0x4e84e8
call fcn.0040fcb0
add esp, 4
mov edx, str._Install_started
mov ecx, eax
call fcn.00419a50
lea ecx, [ebp - 0x838]
mov esi, eax
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421ccb
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.00410760
add esp, 4
mov edx, 0x4c8cf4
mov ecx, eax
call fcn.00419a50
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x421d2d
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421d23
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423383
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov dword [ebp - 4], 0
call fcn.00403c20
mov ecx, eax
test ecx, ecx
je 0x423388
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 0x421d84
push 0x104
lea ecx, [ebp - 0x83c]
call fcn.00403880
mov esi, dword [ebp - 0x83c]
cmp dword [esi - 8], 0x104
jl 0x423392
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.004889bc
add esp, 8
test eax, eax
js 0x423392
cmp eax, dword [esi - 8]
jg 0x423392
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.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421df0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, 0x4c8d80
mov ecx, eax
call fcn.00419a50
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0xd0
mov ecx, eax
call fcn.0040df40
mov edx, str.:_setting_working_directory_to_
mov ecx, eax
call fcn.00419a50
cmp dword [esi - 4], 1
mov dword [ebp - 0x81c], eax
jle 0x421e56
push dword [esi - 0xc]
lea ecx, [ebp - 0x83c]
call fcn.00403780
mov esi, dword [ebp - 0x83c]
mov eax, dword [ebp - 0x81c]
mov edx, esi
mov ecx, eax
call fcn.00419a50
mov edx, 0x4c8d30
mov ecx, eax
call fcn.00419a50
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x421eb4
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421eaa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42339c
push edx
push ecx
call fcn.0046d84e
add esp, 8
call fcn.00443b80
mov eax, dword [ebp - 0x820]
push 2
push 0
mov dword [0x4e9964], 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 0x421ed3
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, 0x4e4d60
call fcn.00407cf0
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421f04
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0xda
mov ecx, eax
call fcn.0040df40
mov edx, 0x4c731c
mov ecx, eax
call fcn.0040f940
mov edx, str.Parsing_Command_Line:
mov ecx, eax
call fcn.00419a50
mov edx, edi
mov ecx, eax
call fcn.00419a50
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x421fa2
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421f98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233a1
push edx
push ecx
call fcn.0046d84e
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 0x421fc4
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x874]
call fcn.00407cf0
lea ecx, [ebp - 0x874]
call fcn.0042b030
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x42202b
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422021
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233a6
push edx
push ecx
call fcn.0046d84e
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 0x4222de
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 0x422060
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.00407cf0
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.00440060
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.00407cf0
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040c290
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x422148
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42213e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ab
push edx
push ecx
call fcn.0046d84e
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.0048b9e7
add esp, 8
test eax, eax
je 0x422198
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
push str.unins000.exe
cmovae eax, dword [ebp - 0x85c]
push eax
call fcn.0048b9e7
add esp, 8
test eax, eax
jne 0x42223e
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4221ae
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0xe9
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Uninstall_implied_by_filename
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x422237
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42222d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233b0
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov byte [0x4e9953], 1
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x42227e
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422274
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233b5
push edx
push ecx
call fcn.0046d84e
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 0x42238d
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422383
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ba
jmp 0x422383
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4222f4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0xef
mov ecx, eax
call fcn.0040df40
mov edx, str.:_CommandLineToArgvW_failed:
mov ecx, eax
call fcn.0040f940
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, edi
call fcn.004196c0
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x42238d
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422383
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233bf
push edx
push ecx
call fcn.0046d84e
add esp, 8
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4223a3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0xf2
mov ecx, eax
call fcn.0040df40
mov edx, str.:_MBSetup_mode_:
mov ecx, eax
call fcn.0040f940
cmp byte [0x4e9953], 0
mov ecx, str.installing
mov edx, str.uninstalling
cmove edx, ecx
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x422447
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42243d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233c4
push edx
push ecx
call fcn.0046d84e
add esp, 8
call fcn.00423540
cmp byte [0x4e9954], 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 0x422518
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.0043ff60
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.0044cdf0
push 0xa
lea ecx, [ebp - 0x820]
call fcn.0044cdf0
mov eax, dword [ebp - 0x820]
mov edi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x42250b
push eax
call edi
mov eax, dword [ebp - 0x81c]
test eax, eax
je 0x422518
push eax
call edi
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42252e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x11a
mov ecx, eax
call fcn.0040df40
mov edx, str.:_This_is_an_ONLINE_installer_build.
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x4225b7
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4225ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233c9
push edx
push ecx
call fcn.0046d84e
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.0042e9f0
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
push dword [ebp - 0x880]
cmovae eax, dword [ebp - 0x890]
mov ecx, 0x4e4c58
push eax
call fcn.00407cf0
cmp dword [ebp - 0x880], 0
je 0x4228bd
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x890]
call fcn.0043f9f0
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040c290
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x42266f
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422665
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ce
push edx
push ecx
call fcn.0046d84e
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 0x4226e8
sub dword [ebp - 0x820], ecx
mov esi, dword [ebp - 0x820]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x4226d1
cmp eax, 0x3a
jne 0x4226d6
mov eax, 0x5f
mov word [esi + ecx], ax
inc edx
add ecx, 2
cmp edx, edi
jne 0x4226c4
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 0x422818
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422733
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x127
mov ecx, eax
call fcn.0040df40
mov edx, 0x4c731c
mov ecx, eax
call fcn.0040f940
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.00419a50
push dword [ebp - 0x81c]
mov ecx, eax
call fcn.004196c0
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x4227d5
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4227cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233d3
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x4228bd
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4228b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233d8
jmp 0x4228b3
cmp eax, 0xb7
jne 0x4227d5
push 0x4c8f78
push 0x4cc7a8
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 0x4228a9
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42289f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233dd
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov edi, 1
jmp 0x4231ae
push edx
push ecx
call fcn.0046d84e
add esp, 8
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4228d3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x133
mov ecx, eax
call fcn.0040df40
mov edx, str.:_MBSetup_version_4.6.0.352
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c8f98
mov ecx, eax
call fcn.0040f940
cmp dword [0x4e4d44], 8
mov edx, 0x4e4d30
push dword [0x4e4d40]
cmovae edx, dword [0x4e4d30]
mov ecx, eax
call fcn.00410760
add esp, 4
mov edx, 0x4c8f94
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x422997
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42298d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233e2
push edx
push ecx
call fcn.0046d84e
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 0x4229d8
mov byte [0x4e995f], 0
cmp ax, 5
jne 0x4229df
mov byte [0x4e995f], 1
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea ecx, [ebp - 0x838]
mov dword [ebp - 0x840], edi
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422a05
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x143
mov ecx, eax
call fcn.0040df40
mov edx, 0x4c731c
mov ecx, eax
call fcn.0040f940
cmp byte [0x4e995f], 0
mov ecx, str.64_Bit_Processor.
mov edx, str.32_Bit_Processor.
cmove edx, ecx
mov ecx, eax
call fcn.00419a50
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x422aa0
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422a96
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233e7
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov edx, str.32_Bit_Process.
mov ecx, 0x4e84e8
call fcn.00419a50
cmp edi, 3
ja case.default.0x422ab4
jmp dword [edi*4 + 0x42340c]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4e84e8
call fcn.00419a50
jmp 0x422b22
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4e84e8
call fcn.00419a50
jmp 0x422b22
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4e84e8
call fcn.00419a50
jmp 0x422b22
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4e84e8
call fcn.00419a50
jmp 0x422b22
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4e84e8
call fcn.00419a50
push edi
mov ecx, eax
call fcn.0040df40
mov edx, 0x4c72b0
mov ecx, eax
call fcn.0040f940
push 0x4e84e8
call fcn.0040fcb0
add esp, 4
cmp edi, 1
je 0x422b39
cmp edi, 2
jne 0x422b3e
call fcn.0042fe30
cmp byte [0x4e9957], 0
jne 0x422c2b
push 0x400
lea eax, [ebp - 0x818]
push eax
push 0x81
push dword [0x4e9964]
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 0x422b71
sub ecx, edx
lea eax, [ebp - 0x818]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4e4e68
call fcn.00407cf0
lea ecx, [ebp - 0x838]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422ba8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x167
mov ecx, eax
call fcn.0040df40
mov edx, 0x4c731c
mov ecx, eax
call fcn.0040f940
mov edx, str.Supported_language_is:
mov ecx, eax
call fcn.00419a50
cmp dword [0x4e4e7c], 8
mov edx, 0x4e4e68
push dword [0x4e4e78]
cmovae edx, dword [0x4e4e68]
mov ecx, eax
call fcn.00410760
add esp, 4
push eax
call fcn.0040fcb0
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00405090
cmp byte [0x4e9953], 0
jne 0x422c85
xor eax, eax
mov dword [ebp - 0x828], 0
push eax
push 0x4c685c
lea ecx, [ebp - 0x838]
mov dword [ebp - 0x824], 7
mov word [ebp - 0x838], ax
call fcn.00407cf0
lea eax, [ebp - 0x838]
xor dl, dl
push eax
xor cl, cl
call fcn.0042cdb0
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00405090
call fcn.00451080
call fcn.00430540
test al, al
je 0x422e32
mov dword [ebp - 0x820], 0xc8
mov dword [ebp - 4], 2
call fcn.00403c20
mov ecx, eax
test ecx, ecx
je 0x4233ec
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.0044f700
push dword [eax]
lea eax, [ebp - 0x81c]
push str._s___cant_run_on_ARM
push eax
call fcn.0043bb50
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 0x422d14
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.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422d31
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x17b
mov ecx, eax
call fcn.0040df40
mov edx, 0x4c731c
mov ecx, eax
call fcn.0040f940
mov edi, dword [ebp - 0x81c]
mov ecx, eax
mov edx, edi
call fcn.0040f940
push eax
call fcn.0040fcb0
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00405090
cmp byte [0x4e9953], 0
jne 0x422da6
xor edx, edx
mov ecx, edi
call fcn.00451f00
cmp byte [0x4e9954], 0
jne 0x422e01
push 0x130
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.00485990
add esp, 8
lea ecx, [ebp - 0x148]
push 0
push 0x6a6
push 0x233c
push 0x80
push 1
call fcn.0041fae0
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x148]
call fcn.0040dd80
lea ecx, [ebp - 0x148]
call fcn.0040d430
add edi, 0xfffffff0
mov dword [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x422e20
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 0x4230bc
cmp byte [0x4e9953], 0
je 0x422e4b
call fcn.0042a360
mov dword [ebp - 0x820], eax
jmp 0x4230bc
mov eax, dword [0x4e4e4c]
mov ecx, 0x4e4e38
mov edx, dword [0x4e4e38]
cmp eax, 8
cmovae ecx, edx
cmp dword [0x4e4e48], 4
jne 0x422e88
push 4
mov edx, str.2060
call fcn.0041a740
add esp, 4
test eax, eax
je 0x422eaf
mov eax, dword [0x4e4e4c]
mov edx, dword [0x4e4e38]
cmp eax, 8
mov ecx, 0x4e4e38
cmovae ecx, edx
cmp dword [0x4e4e48], 4
jne 0x422eb8
push 4
mov edx, str.2061
call fcn.0041a740
add esp, 4
test eax, eax
jne 0x422eb8
xor al, al
mov ecx, 0x4e4ac5
xchg byte [ecx], al
call fcn.00432030
cmp byte [0x4e9951], 0
mov byte [0x4e994a], al
mov eax, 2
jne 0x422efd
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x874]
call fcn.0040c290
lea ecx, [ebp - 0x874]
call fcn.004242c0
test al, al
mov byte [0x4e9952], 0
mov eax, 3
je 0x422f04
mov byte [0x4e9952], 1
test al, 1
je 0x422f13
lea ecx, [ebp - 0x874]
call fcn.00405090
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 0x422f8f
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 0x422f83
cmp dword [ebp - 0x81c], eax
setne byte [0x4e4ac4]
push dword [ebp - 0x820]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004280a0
mov edx, eax
mov dword [ebp - 0x820], eax
lea ecx, [ebp - 0x874]
call fcn.0041aab0
push eax
mov edx, str.DoInstall_complete._Returned:
lea ecx, [ebp - 0x838]
call fcn.00419e20
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00405090
cmp dword [ebp - 0x824], 8
lea eax, [ebp - 0x838]
mov edx, 0x1a1
mov ecx, 0x4c8d80
cmovae eax, dword [ebp - 0x838]
push eax
call fcn.00442410
add esp, 4
call fcn.00443f60
test al, al
jne 0x423060
lea ecx, [ebp - 0x874]
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42300c
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x1a6
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Problem_saving_state_of_create_desktop_icon_option
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00405090
push 0x4e9a7c
push 0x41b130
push 0x4e9a84
call fcn.00469d9a
add esp, 0xc
test eax, eax
je 0x4233f6
cmp dword [0x4e4cf8], 0
je 0x423098
lea edx, [ebp - 0x844]
mov ecx, 0x4e4ce8
call fcn.0043f830
cmp dword [0x4e4d10], 0
je 0x4230b1
lea edx, [ebp - 0x844]
mov ecx, 0x4e4d00
call fcn.0043f830
lea ecx, [ebp - 0x838]
call fcn.00405090
cmp edi, 1
je 0x4230c6
cmp edi, 2
jne 0x4230cb
call fcn.004301c0
cmp byte [0x4e9954], 0
jne 0x4230e0
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, 0x4e84e8
call fcn.00419a50
mov edi, dword [ebp - 0x820]
mov ecx, eax
push edi
call fcn.0040df40
mov edx, 0x4c9284
mov ecx, eax
call fcn.0040f940
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x840], eax
call fcn.0045e3b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42312b
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x840]
mov edx, eax
call fcn.00410760
add esp, 4
mov edx, 0x4c8cf4
mov ecx, eax
call fcn.00419a50
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0xa4c]
add esp, 4
cmp edx, 8
jb 0x423191
mov ecx, dword [ebp - 0xa60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423187
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233fb
push edx
push ecx
call fcn.0046d84e
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 0x4231ee
mov ecx, dword [ebp - 0x890]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4231e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423400
push edx
push ecx
call fcn.0046d84e
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 0x42322a
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.004378e0
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.0046af92
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.00439690
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.0046af92
mov edx, dword [ebp - 0x898]
add esp, 4
cmp edx, 8
jb 0x42335c
mov ecx, dword [ebp - 0x8ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423352
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423405
push edx
push ecx
call fcn.0046d84e
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.0046d32d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.0048879c
call fcn.0048879c
push 0x80004005
call fcn.00403d90
push 0x80070057
call fcn.00403d90
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
push 0x80004005
call fcn.00403d90
call fcn.0048c110
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
nop
mov ebx, 0xcc00422a
sub al, byte [edx]
invalid