Function at 0x421d70
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 0x4b1380
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x4e706c]
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 - 0x848], 0
call fcn.004403a0
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x824], 0
lea ecx, [ebp - 0x840]
push dword [ebp - 0x824]
call fcn.0043cfe0
add esp, 0xc
lea eax, [ebp - 0x840]
lea ecx, [ebp - 0x8ac]
push eax
call fcn.00419870
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x421e46
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421e3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4238e2
push edx
push ecx
call fcn.0046f0d0
add esp, 8
push 0xb0
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.00487250
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.0043a560
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.00487250
add esp, 0xc
mov dword [ebp - 0x970], 0x4ce6d4
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.0043b350
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.0043ada0
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x96c]
call fcn.0043acb0
test eax, eax
jne 0x421f73
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.00411970
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 [0x4eb718]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa44]
add ecx, 0x4eb718
mov dword [ecx + 0x38], eax
call fcn.00411970
mov eax, dword [0x4eb558]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x96c]
add ecx, 0x4eb558
mov dword [ecx + 0x38], eax
call fcn.00411970
push 0x4eb558
call fcn.0040fb10
add esp, 4
mov edx, str._Install_started
mov ecx, eax
call fcn.00418a90
lea ecx, [ebp - 0x840]
mov esi, eax
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42200b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.004105c0
add esp, 4
mov edx, 0x4cae00
mov ecx, eax
call fcn.00418a90
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x42206d
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422063
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4238e7
push edx
push ecx
call fcn.0046f0d0
add esp, 8
mov dword [ebp - 4], 0
call fcn.00403ab0
mov ecx, eax
test ecx, ecx
je 0x4238ec
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 - 0x844], esi
or eax, ecx
jge 0x4220c4
push 0x104
lea ecx, [ebp - 0x844]
call fcn.00403710
mov esi, dword [ebp - 0x844]
cmp dword [esi - 8], 0x104
jl 0x4238f6
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.0048a27c
add esp, 8
test eax, eax
js 0x4238f6
cmp eax, dword [esi - 8]
jg 0x4238f6
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 - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422130
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, 0x4cae88
mov ecx, eax
call fcn.00418a90
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0xd0
mov ecx, eax
call fcn.0040dda0
mov edx, 0x4cae40
mov ecx, eax
call fcn.00418a90
cmp dword [esi - 4], 1
mov dword [ebp - 0x824], eax
jle 0x422196
push dword [esi - 0xc]
lea ecx, [ebp - 0x844]
call fcn.00403610
mov esi, dword [ebp - 0x844]
mov eax, dword [ebp - 0x824]
mov edx, esi
mov ecx, eax
call fcn.00418a90
mov edx, 0x4cae3c
mov ecx, eax
call fcn.00418a90
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x4221f4
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4221ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423900
push edx
push ecx
call fcn.0046f0d0
add esp, 8
call fcn.00442f20
mov eax, dword [ebp - 0x820]
push 2
push 0
mov dword [0x4eca88], 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 0x422213
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, 0x4e7d48
call fcn.00407990
lea ecx, [ebp - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422244
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0xda
mov ecx, eax
call fcn.0040dda0
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f7a0
mov edx, str.Parsing_Command_Line:
mov ecx, eax
call fcn.00418a90
mov edx, edi
mov ecx, eax
call fcn.00418a90
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x4222e2
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4222d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423905
push edx
push ecx
call fcn.0046f0d0
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 0x422304
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x874]
call fcn.00407990
lea ecx, [ebp - 0x874]
call fcn.0042ad50
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x42236b
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422361
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42390a
push edx
push ecx
call fcn.0046f0d0
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 0x42261e
mov edx, dword [edi]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x824], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4223a0
sub ecx, dword [ebp - 0x824]
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.00407990
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.0043f400
sub edi, eax
mov dword [ebp - 0x830], 0
xor ecx, ecx
sar edi, 1
push edi
mov word [ebp - 0x840], cx
lea ecx, [ebp - 0x840]
push eax
mov dword [ebp - 0x82c], 7
call fcn.00407990
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040bf20
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x422488
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42247e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42390f
push edx
push ecx
call fcn.0046f0d0
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.0048d2a7
add esp, 8
test eax, eax
je 0x4224d8
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
push str.unins000.exe
cmovae eax, dword [ebp - 0x85c]
push eax
call fcn.0048d2a7
add esp, 8
test eax, eax
jne 0x42257e
lea ecx, [ebp - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4224ee
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0xe9
mov ecx, eax
call fcn.0040dda0
mov edx, str.:_Uninstall_implied_by_filename
mov ecx, eax
call fcn.0040f7a0
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422577
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42256d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423914
push edx
push ecx
call fcn.0046f0d0
add esp, 8
mov byte [0x4eca75], 1
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x4225be
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4225b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423919
push edx
push ecx
call fcn.0046f0d0
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 0x4226cd
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4226c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42391e
jmp 0x4226c3
lea ecx, [ebp - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422634
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0xef
mov ecx, eax
call fcn.0040dda0
mov edx, str.:_CommandLineToArgvW_failed:
mov ecx, eax
call fcn.0040f7a0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, edi
call fcn.00418700
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x4226cd
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4226c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423923
push edx
push ecx
call fcn.0046f0d0
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4226e3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0xf2
mov ecx, eax
call fcn.0040dda0
mov edx, str.:_MBSetup_mode_:
mov ecx, eax
call fcn.0040f7a0
cmp byte [0x4eca75], 0
mov ecx, str.installing
mov edx, str.uninstalling
cmove edx, ecx
mov ecx, eax
call fcn.0040f7a0
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422787
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42277d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423928
push edx
push ecx
call fcn.0046f0d0
add esp, 8
call fcn.00423a90
call fcn.004360c0
cmp byte [0x4eca76], 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 0x42285d
lea eax, [ebp - 0x84c]
mov dword [ebp - 0x84c], 8
push eax
mov dword [ebp - 0x848], 0x8000
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
sub esp, 0xc
call fcn.0043f300
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 - 0x820]
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 0
call fcn.0044c510
push 0xa
lea ecx, [ebp - 0x81c]
call fcn.0044c510
mov eax, dword [ebp - 0x81c]
mov edi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x422850
push eax
call edi
mov eax, dword [ebp - 0x820]
test eax, eax
je 0x42285d
push eax
call edi
lea ecx, [ebp - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422873
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0x12c
mov ecx, eax
call fcn.0040dda0
mov edx, str.:_This_is_an_ONLINE_installer_build.
mov ecx, eax
call fcn.0040f7a0
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x4228fc
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4228f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42392d
push edx
push ecx
call fcn.0046f0d0
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.0042e7f0
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
push dword [ebp - 0x880]
cmovae eax, dword [ebp - 0x890]
mov ecx, 0x4e7c58
push eax
call fcn.00407990
cmp dword [ebp - 0x880], 0
je 0x422c09
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x890]
call fcn.0043ed90
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040bf20
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x4229b4
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4229aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423932
push edx
push ecx
call fcn.0046f0d0
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 - 0x81c], 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 0x422a34
sub dword [ebp - 0x81c], ecx
mov esi, dword [ebp - 0x81c]
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x422a1d
cmp eax, 0x3a
jne 0x422a22
mov eax, 0x5f
mov word [ecx + esi], ax
inc edx
add ecx, 2
cmp edx, edi
jne 0x422a10
mov esi, dword [ebp - 0x844]
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 - 0x824], eax
test edi, edi
jne 0x422b64
lea ecx, [ebp - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422a7f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0x139
mov ecx, eax
call fcn.0040dda0
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f7a0
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.00418a90
push dword [ebp - 0x824]
mov ecx, eax
call fcn.00418700
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422b21
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422b17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423937
push edx
push ecx
call fcn.0046f0d0
add esp, 8
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x422c09
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422bff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42393c
jmp 0x422bff
cmp eax, 0xb7
jne 0x422b21
push 0x4cb0a0
push str.32770
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
push 5
push edi
mov dword [ebp - 0x824], 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 - 0x824]
call edi
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x422bf5
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422beb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423941
push edx
push ecx
call fcn.0046f0d0
add esp, 8
mov edi, 1
jmp 0x423712
push edx
push ecx
call fcn.0046f0d0
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422c1f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0x145
mov ecx, eax
call fcn.0040dda0
mov edx, str.:_MBSetup_version_5.1.8.108
mov ecx, eax
call fcn.0040f7a0
push eax
call fcn.0040fb10
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422ca8
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422c9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423946
push edx
push ecx
call fcn.0046f0d0
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 0x422ce9
mov byte [0x4eca81], 0
cmp ax, 5
jne 0x422cf0
mov byte [0x4eca81], 1
cmp byte [0x4eca6c], 0
je 0x422ea6
push str.Doing_MB5_migration_checks.
mov edx, 0xffa
mov ecx, 0x4cae88
call fcn.004417b0
add esp, 4
mov dword [ebp - 0x864], 0
xor eax, eax
mov dword [ebp - 0x860], 7
lea edx, [ebp - 0x874]
mov word [ebp - 0x874], ax
call fcn.00424dd0
test al, al
jne 0x422da1
push str._MB5_migration_check__Error_getting_installation_directory
mov edx, 0xfff
mov ecx, 0x4cae88
call fcn.004417b0
add esp, 4
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x422d97
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422d8d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42394b
push edx
push ecx
call fcn.0046f0d0
add esp, 8
mov edi, 0x2a
jmp 0x423712
call fcn.00427a70
test eax, eax
je 0x422db6
push str._MB5_migration_check__Prerequisie_check_failed
mov edx, 0x1006
jmp 0x422d4a
push 0
lea ecx, [ebp - 0x854]
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x84c], 0
mov dword [ebp - 0x848], 0
call fcn.00462450
push 1
lea ecx, [ebp - 0x854]
call fcn.00462450
lea ecx, [ebp - 0x854]
call fcn.00463880
mov ecx, 0x4cae88
test al, al
je 0x422e38
push str._MB5_migration_check__Privacy_VPN_is_installed
mov edx, 0x100d
call fcn.004417b0
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.00456bb0
jmp 0x422d57
push str._MB5_migration_check__OK_to_proceed_with_MB5_migration
mov edx, 0x1011
call fcn.004417b0
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.00456bb0
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x422e9f
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422e95
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42394b
push edx
push ecx
call fcn.0046f0d0
add esp, 8
xor edi, edi
jmp 0x423712
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x848], edi
call fcn.0045f3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422ecc
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb558
call fcn.004105c0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f7a0
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f7a0
push 0x15b
mov ecx, eax
call fcn.0040dda0
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f7a0
cmp byte [0x4eca81], 0
mov ecx, str.64_Bit_Processor.
mov edx, str.32_Bit_Processor.
cmove edx, ecx
mov ecx, eax
call fcn.00418a90
lea ecx, [ebp - 0x840]
call fcn.00404d30
mov edx, str.32_Bit_Process.
mov ecx, 0x4eb558
call fcn.00418a90
cmp edi, 3
ja case.default.0x422f46
jmp dword [edi*4 + 0x42395c]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4eb558
call fcn.00418a90
jmp 0x422fb4
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4eb558
call fcn.00418a90
jmp 0x422fb4
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4eb558
call fcn.00418a90
jmp 0x422fb4
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4eb558
call fcn.00418a90
jmp 0x422fb4
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4eb558
call fcn.00418a90
push edi
mov ecx, eax
call fcn.0040dda0
mov edx, 0x4c92c0
mov ecx, eax
call fcn.0040f7a0
push 0x4eb558
call fcn.0040fb10
add esp, 4
cmp edi, 1
je 0x422fcb
cmp edi, 2
jne 0x422fd0
call fcn.0042fe40
cmp byte [0x4eca79], 0
jne 0x4230bd
push 0x400
lea eax, [ebp - 0x818]
push eax
push 0x81
push dword [0x4eca88]
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 0x423003
sub ecx, edx
lea eax, [ebp - 0x818]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4e7e50
call fcn.00407990
lea ecx, [ebp - 0x840]
invalid
invalid