Function at 0x427420
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 0x4accd0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x4e006c]
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.00441c40
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x81c], 0
lea ecx, [ebp - 0x838]
push dword [ebp - 0x81c]
call fcn.0043f030
add esp, 0xc
lea eax, [ebp - 0x838]
lea ecx, [ebp - 0x8ac]
push eax
call fcn.0041f460
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x4274f6
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4274ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d62
push edx
push ecx
call fcn.0046a609
add esp, 8
push 0xb0
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.00482710
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.0043cf70
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.00482710
add esp, 0xc
mov dword [ebp - 0x970], 0x4c8dec
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.0043daf0
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.0043d5a0
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x96c]
call fcn.0043d4b0
test eax, eax
jne 0x427623
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.00410850
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 [0x4e47b0]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa44]
add ecx, 0x4e47b0
mov dword [ecx + 0x38], eax
call fcn.00410850
mov eax, dword [0x4e45b8]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x96c]
add ecx, 0x4e45b8
mov dword [ecx + 0x38], eax
call fcn.00410850
push 0x4e45b8
call fcn.0040c180
add esp, 4
mov edx, str._Install_started
mov ecx, eax
call fcn.0041e6c0
lea ecx, [ebp - 0x838]
mov esi, eax
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4276bb
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.0040d910
add esp, 4
mov edx, 0x4c5efc
mov ecx, eax
call fcn.0041e6c0
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x42771d
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427713
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d67
push edx
push ecx
call fcn.0046a609
add esp, 8
mov dword [ebp - 4], 0
call fcn.00403b50
mov ecx, eax
test ecx, ecx
je 0x428d6c
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 0x427774
push 0x104
lea ecx, [ebp - 0x83c]
call fcn.004037b0
mov esi, dword [ebp - 0x83c]
cmp dword [esi - 8], 0x104
jl 0x428d76
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.0048574c
add esp, 8
test eax, eax
js 0x428d76
cmp eax, dword [esi - 8]
jg 0x428d76
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.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4277e0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, 0x4c5f88
mov ecx, eax
call fcn.0041e6c0
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0xc2
mov ecx, eax
call fcn.00408660
mov edx, str.:_setting_working_directory_to_
mov ecx, eax
call fcn.0041e6c0
cmp dword [esi - 4], 1
mov dword [ebp - 0x81c], eax
jle 0x427846
push dword [esi - 0xc]
lea ecx, [ebp - 0x83c]
call fcn.004036b0
mov esi, dword [ebp - 0x83c]
mov eax, dword [ebp - 0x81c]
mov edx, esi
mov ecx, eax
call fcn.0041e6c0
mov edx, 0x4c5f38
mov ecx, eax
call fcn.0041e6c0
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x4278a4
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42789a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d80
push edx
push ecx
call fcn.0046a609
add esp, 8
call fcn.00444bd0
mov eax, dword [ebp - 0x820]
push 2
push 0
mov dword [0x4e5a38], 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 0x4278c3
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, 0x4e0d20
call fcn.00407d50
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4278f4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0xcc
mov ecx, eax
call fcn.00408660
mov edx, 0x4c3eec
mov ecx, eax
call fcn.0040be10
mov edx, str.Parsing_Command_Line:
mov ecx, eax
call fcn.0041e6c0
mov edx, edi
mov ecx, eax
call fcn.0041e6c0
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x427992
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427988
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d85
push edx
push ecx
call fcn.0046a609
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 0x4279b4
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x874]
call fcn.00407d50
lea ecx, [ebp - 0x874]
call fcn.004303a0
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x427a1b
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427a11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d8a
push edx
push ecx
call fcn.0046a609
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 0x427cce
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 0x427a50
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.00407d50
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.00440fa0
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.00407d50
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x85c]
call fcn.004154d0
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x427b38
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427b2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d8f
push edx
push ecx
call fcn.0046a609
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.0048e3fb
add esp, 8
test eax, eax
je 0x427b88
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
push str.unins000.exe
cmovae eax, dword [ebp - 0x85c]
push eax
call fcn.0048e3fb
add esp, 8
test eax, eax
jne 0x427c2e
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427b9e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0xdb
mov ecx, eax
call fcn.00408660
mov edx, str.:_Uninstall_implied_by_filename
mov ecx, eax
call fcn.0040be10
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x427c27
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427c1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d94
push edx
push ecx
call fcn.0046a609
add esp, 8
mov byte [0x4e5a27], 1
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x427c6e
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427c64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d99
push edx
push ecx
call fcn.0046a609
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 0x427d7d
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427d73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428d9e
jmp 0x427d73
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427ce4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0xe1
mov ecx, eax
call fcn.00408660
mov edx, str.:_CommandLineToArgvW_failed:
mov ecx, eax
call fcn.0040be10
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, edi
call fcn.0041e4e0
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x427d7d
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427d73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428da3
push edx
push ecx
call fcn.0046a609
add esp, 8
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427d93
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0xe4
mov ecx, eax
call fcn.00408660
mov edx, str.:_MBSetup_mode_:
mov ecx, eax
call fcn.0040be10
cmp byte [0x4e5a27], 0
mov ecx, str.installing
mov edx, str.uninstalling
cmove edx, ecx
mov ecx, eax
call fcn.0040be10
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x427e37
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427e2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428da8
push edx
push ecx
call fcn.0046a609
add esp, 8
call fcn.00428f20
cmp byte [0x4e5a28], 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 0x427f08
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.00440ea0
push 0
lea eax, [ebp - 0x8bc]
push eax
lea eax, [ebp - 0x878]
push eax
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x65
lea ecx, [ebp - 0x81c]
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x820], 0
call fcn.0044cca0
push 0x64
lea ecx, [ebp - 0x820]
call fcn.0044cca0
mov eax, dword [ebp - 0x820]
mov edi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x427efb
push eax
call edi
mov eax, dword [ebp - 0x81c]
test eax, eax
je 0x427f08
push eax
call edi
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427f1e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0x109
mov ecx, eax
call fcn.00408660
mov edx, str.:_This_is_an_ONLINE_installer_build.
mov ecx, eax
call fcn.0040be10
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x427fa7
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427f9d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428dad
push edx
push ecx
call fcn.0046a609
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.00433d20
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
push dword [ebp - 0x880]
cmovae eax, dword [ebp - 0x890]
mov ecx, 0x4e0c18
push eax
call fcn.00407d50
cmp dword [ebp - 0x880], 0
je 0x4282ad
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x890]
call fcn.00440930
push eax
lea ecx, [ebp - 0x85c]
call fcn.004154d0
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x42805f
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428055
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428db2
push edx
push ecx
call fcn.0046a609
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 0x4280d8
sub dword [ebp - 0x820], ecx
mov esi, dword [ebp - 0x820]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x4280c1
cmp eax, 0x3a
jne 0x4280c6
mov eax, 0x5f
mov word [esi + ecx], ax
inc edx
add ecx, 2
cmp edx, edi
jne 0x4280b4
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 0x428208
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x428123
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0x116
mov ecx, eax
call fcn.00408660
mov edx, 0x4c3eec
mov ecx, eax
call fcn.0040be10
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.0041e6c0
push dword [ebp - 0x81c]
mov ecx, eax
call fcn.0041e4e0
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x4281c5
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4281bb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428db7
push edx
push ecx
call fcn.0046a609
add esp, 8
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x4282ad
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4282a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428dbc
jmp 0x4282a3
cmp eax, 0xb7
jne 0x4281c5
push 0x4c6180
push 0x4c8fc0
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 0x428299
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42828f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428dc1
push edx
push ecx
call fcn.0046a609
add esp, 8
mov edi, 1
jmp 0x428b92
push edx
push ecx
call fcn.0046a609
add esp, 8
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4282c3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0x122
mov ecx, eax
call fcn.00408660
mov edx, str.:_MBSetup_version_4.5.32.343
mov ecx, eax
call fcn.0040be10
mov edx, 0x4c61a0
mov ecx, eax
call fcn.0040be10
cmp dword [0x4e0d04], 8
mov edx, 0x4e0cf0
push dword [0x4e0d00]
cmovae edx, dword [0x4e0cf0]
mov ecx, eax
call fcn.0040d910
add esp, 4
mov edx, 0x4c619c
mov ecx, eax
call fcn.0040be10
push eax
call fcn.0040c180
mov edx, dword [ebp - 0x824]
add esp, 4
cmp edx, 8
jb 0x428387
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42837d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428dc6
push edx
push ecx
call fcn.0046a609
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 0x4283c8
mov byte [0x4e5a33], 0
cmp ax, 5
jne 0x4283cf
mov byte [0x4e5a33], 1
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea ecx, [ebp - 0x838]
mov dword [ebp - 0x840], edi
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4283f5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0x132
mov ecx, eax
call fcn.00408660
mov edx, 0x4c3eec
mov ecx, eax
call fcn.0040be10
cmp byte [0x4e5a33], 0
mov ecx, str.64_Bit_Processor.
mov edx, str.32_Bit_Processor.
cmove edx, ecx
mov ecx, eax
call fcn.0041e6c0
mov edx, dword [ebp - 0x824]
cmp edx, 8
jb 0x428490
mov ecx, dword [ebp - 0x838]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428486
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428dcb
push edx
push ecx
call fcn.0046a609
add esp, 8
mov edx, str.32_Bit_Process.
mov ecx, 0x4e45b8
call fcn.0041e6c0
cmp edi, 3
ja case.default.0x4284a4
jmp dword [edi*4 + 0x428df0]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4e45b8
call fcn.0041e6c0
jmp 0x428512
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4e45b8
call fcn.0041e6c0
jmp 0x428512
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4e45b8
call fcn.0041e6c0
jmp 0x428512
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4e45b8
call fcn.0041e6c0
jmp 0x428512
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4e45b8
call fcn.0041e6c0
push edi
mov ecx, eax
call fcn.00408660
mov edx, 0x4c3d34
mov ecx, eax
call fcn.0040be10
push 0x4e45b8
call fcn.0040c180
add esp, 4
cmp edi, 1
je 0x428529
cmp edi, 2
jne 0x42852e
call fcn.00434d70
cmp byte [0x4e5a2b], 0
jne 0x42861b
push 0x400
lea eax, [ebp - 0x818]
push eax
push 0x81
push dword [0x4e5a38]
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 0x428561
sub ecx, edx
lea eax, [ebp - 0x818]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4e0e28
call fcn.00407d50
lea ecx, [ebp - 0x838]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x428598
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0x156
mov ecx, eax
call fcn.00408660
mov edx, 0x4c3eec
mov ecx, eax
call fcn.0040be10
mov edx, str.Supported_language_is:
mov ecx, eax
call fcn.0041e6c0
cmp dword [0x4e0e3c], 8
mov edx, 0x4e0e28
push dword [0x4e0e38]
cmovae edx, dword [0x4e0e28]
mov ecx, eax
call fcn.0040d910
add esp, 4
push eax
call fcn.0040c180
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00405100
cmp byte [0x4e5a27], 0
jne 0x428675
xor eax, eax
mov dword [ebp - 0x828], 0
push eax
push 0x4c3864
lea ecx, [ebp - 0x838]
mov dword [ebp - 0x824], 7
mov word [ebp - 0x838], ax
call fcn.00407d50
lea eax, [ebp - 0x838]
xor dl, dl
push eax
xor cl, cl
call fcn.00432120
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00405100
call fcn.00452310
call fcn.00435480
test al, al
je 0x428820
mov dword [ebp - 0x820], 0xc8
mov dword [ebp - 4], 2
call fcn.00403b50
mov ecx, eax
test ecx, ecx
je 0x428dd0
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.00450b10
push dword [eax]
lea eax, [ebp - 0x81c]
push str._s___cant_run_on_ARM
push eax
call fcn.0043e0c0
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 0x428704
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.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x428721
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0x169
mov ecx, eax
call fcn.00408660
mov edx, 0x4c3eec
mov ecx, eax
call fcn.0040be10
mov edi, dword [ebp - 0x81c]
mov ecx, eax
mov edx, edi
call fcn.0040be10
push eax
call fcn.0040c180
add esp, 4
lea ecx, [ebp - 0x838]
call fcn.00405100
cmp byte [0x4e5a27], 0
jne 0x428794
mov ecx, edi
call fcn.004528a0
cmp byte [0x4e5a28], 0
jne 0x4287ef
push 0x130
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.00482710
add esp, 8
lea ecx, [ebp - 0x148]
push 0
push 0xff
push 0xdc
push 0x80
push 1
call fcn.00425750
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x148]
call fcn.00416f40
lea ecx, [ebp - 0x148]
call fcn.004165f0
add edi, 0xfffffff0
mov dword [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x42880e
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 0x428aa0
cmp byte [0x4e5a27], 0
je 0x428839
call fcn.0042f8b0
mov dword [ebp - 0x820], eax
jmp 0x428aa0
mov eax, dword [0x4e0e0c]
mov ecx, 0x4e0df8
mov edx, dword [0x4e0df8]
cmp eax, 8
cmovae ecx, edx
cmp dword [0x4e0e08], 4
jne 0x428876
push 4
mov edx, str.2060
call fcn.0041f3b0
add esp, 4
test eax, eax
je 0x42889d
mov eax, dword [0x4e0e0c]
mov edx, dword [0x4e0df8]
cmp eax, 8
mov ecx, 0x4e0df8
cmovae ecx, edx
cmp dword [0x4e0e08], 4
jne 0x4288a6
push 4
mov edx, str.2061
call fcn.0041f3b0
add esp, 4
test eax, eax
jne 0x4288a6
xor al, al
mov ecx, 0x4e0ab5
xchg byte [ecx], al
cmp byte [0x4e5a25], 0
mov eax, 2
jne 0x4288e1
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x874]
call fcn.004154d0
lea ecx, [ebp - 0x874]
call fcn.00429c60
test al, al
mov byte [0x4e5a26], 0
mov eax, 3
je 0x4288e8
mov byte [0x4e5a26], 1
test al, 1
je 0x4288f7
lea ecx, [ebp - 0x874]
call fcn.00405100
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 0x428973
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 0x428967
cmp dword [ebp - 0x81c], eax
setne byte [0x4e0ab4]
push dword [ebp - 0x820]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.0042da40
mov edx, eax
mov dword [ebp - 0x820], eax
lea ecx, [ebp - 0x874]
call fcn.0041f720
push eax
mov edx, str.DoInstall_complete._Returned:
lea ecx, [ebp - 0x838]
call fcn.0041ea90
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00405100
cmp dword [ebp - 0x824], 8
lea eax, [ebp - 0x838]
mov edx, 0x18e
mov ecx, 0x4c5f88
cmovae eax, dword [ebp - 0x838]
push eax
call fcn.004433b0
add esp, 4
call fcn.00444fb0
test al, al
jne 0x428a44
lea ecx, [ebp - 0x874]
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4289f0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e45b8
call fcn.0040d910
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040be10
mov edx, str.:.
mov ecx, eax
call fcn.0040be10
push 0x193
mov ecx, eax
call fcn.00408660
mov edx, str.:_Problem_saving_state_of_create_desktop_icon_option
mov ecx, eax
call fcn.0040be10
push eax
call fcn.0040c180
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00405100
push 0x4e5b58
push 0x41fd50
push 0x4e5b60
call fcn.00466ace
add esp, 0xc
test eax, eax
je 0x428dda
cmp dword [0x4e0cb8], 0
je 0x428a7c
lea edx, [ebp - 0x844]
mov ecx, 0x4e0ca8
call fcn.00440770
cmp dword [0x4e0cd0], 0
je 0x428a95
lea edx, [ebp - 0x844]
mov ecx, 0x4e0cc0
call fcn.00440770
lea ecx, [ebp - 0x838]
call fcn.00405100
cmp edi, 1
je 0x428aaa
cmp edi, 2
jne 0x428aaf
call fcn.00435100
cmp byte [0x4e5a28], 0
jne 0x428ac4
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, 0x4e45b8
call fcn.0041e6c0
mov edi, dword [ebp - 0x820]
mov ecx, eax
push edi
call fcn.00408660
mov edx, 0x4c648c
mov ecx, eax
call fcn.0040be10
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x840], eax
call fcn.0045b1b0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x428b0f
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x840]
mov edx, eax
call fcn.0040d910
add esp, 4
mov edx, 0x4c5efc
mov ecx, eax
call fcn.0041e6c0
push eax
call fcn.0040c180
mov edx, dword [ebp - 0xa4c]
add esp, 4
cmp edx, 8
jb 0x428b75
mov ecx, dword [ebp - 0xa60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428b6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ddf
push edx
push ecx
call fcn.0046a609
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 0x428bd2
mov ecx, dword [ebp - 0x890]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428bc8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428de4
push edx
push ecx
call fcn.0046a609
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 0x428c0e
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.0043b1e0
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.0046696c
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.00409350
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.0046696c
mov edx, dword [ebp - 0x898]
add esp, 4
cmp edx, 8
jb 0x428d40
mov ecx, dword [ebp - 0x8ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428d36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428de9
push edx
push ecx
call fcn.0046a609
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.0046a0e8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.0048552c
call fcn.0048552c
push 0x80004005
call fcn.00403cc0
push 0x80070057
call fcn.00403cc0
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
push 0x80004005
call fcn.00403cc0
call fcn.00486dba
call fcn.0048552c
call fcn.0048552c
call fcn.0048552c
nop
stosd dword es:[edi], eax
test byte [edx], al
mov esp, 0xcd004284
test byte [edx], al
invalid
test byte [edx], al