Function at 0x421970
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 0x4b0b10
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x4e606c]
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.0043ff80
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x824], 0
lea ecx, [ebp - 0x840]
push dword [ebp - 0x824]
call fcn.0043cbc0
add esp, 0xc
lea eax, [ebp - 0x840]
lea ecx, [ebp - 0x8ac]
push eax
call fcn.00419820
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x421a46
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421a3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234b3
push edx
push ecx
call fcn.0046e8d1
add esp, 8
push 0xb0
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.00486a10
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.0043a130
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.00486a10
add esp, 0xc
mov dword [ebp - 0x970], 0x4ce7c4
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.0043af20
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.0043a970
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x96c]
call fcn.0043a880
test eax, eax
jne 0x421b73
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.00411900
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 [0x4ea698]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa44]
add ecx, 0x4ea698
mov dword [ecx + 0x38], eax
call fcn.00411900
mov eax, dword [0x4ea4d8]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x96c]
add ecx, 0x4ea4d8
mov dword [ecx + 0x38], eax
call fcn.00411900
push 0x4ea4d8
call fcn.0040faa0
add esp, 4
mov edx, str._Install_started
mov ecx, eax
call fcn.00418a40
lea ecx, [ebp - 0x840]
mov esi, eax
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421c0b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.00410550
add esp, 4
mov edx, 0x4caf18
mov ecx, eax
call fcn.00418a40
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x421c6d
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421c63
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234b8
push edx
push ecx
call fcn.0046e8d1
add esp, 8
mov dword [ebp - 4], 0
call fcn.00403a40
mov ecx, eax
test ecx, ecx
je 0x4234bd
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 0x421cc4
push 0x104
lea ecx, [ebp - 0x844]
call fcn.004036a0
mov esi, dword [ebp - 0x844]
cmp dword [esi - 8], 0x104
jl 0x4234c7
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.00489a3c
add esp, 8
test eax, eax
js 0x4234c7
cmp eax, dword [esi - 8]
jg 0x4234c7
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.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421d30
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, 0x4cafa0
mov ecx, eax
call fcn.00418a40
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0xcf
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4caf58
mov ecx, eax
call fcn.00418a40
cmp dword [esi - 4], 1
mov dword [ebp - 0x824], eax
jle 0x421d96
push dword [esi - 0xc]
lea ecx, [ebp - 0x844]
call fcn.004035a0
mov esi, dword [ebp - 0x844]
mov eax, dword [ebp - 0x824]
mov edx, esi
mov ecx, eax
call fcn.00418a40
mov edx, 0x4caf54
mov ecx, eax
call fcn.00418a40
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x421df4
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421dea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234d1
push edx
push ecx
call fcn.0046e8d1
add esp, 8
call fcn.00442b00
mov eax, dword [ebp - 0x820]
push 2
push 0
mov dword [0x4eba08], 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 0x421e13
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, 0x4e6d48
call fcn.00407920
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421e44
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0xd9
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Parsing_Command_Line:
mov ecx, eax
call fcn.00418a40
mov edx, edi
mov ecx, eax
call fcn.00418a40
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x421ee2
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421ed8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234d6
push edx
push ecx
call fcn.0046e8d1
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 0x421f04
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x874]
call fcn.00407920
lea ecx, [ebp - 0x874]
call fcn.0042a920
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x421f6b
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421f61
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234db
push edx
push ecx
call fcn.0046e8d1
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 0x42221e
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 0x421fa0
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.00407920
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.0043efe0
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.00407920
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040beb0
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x422088
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42207e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234e0
push edx
push ecx
call fcn.0046e8d1
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.0048ca67
add esp, 8
test eax, eax
je 0x4220d8
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
push str.unins000.exe
cmovae eax, dword [ebp - 0x85c]
push eax
call fcn.0048ca67
add esp, 8
test eax, eax
jne 0x42217e
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4220ee
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0xe8
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Uninstall_implied_by_filename
mov ecx, eax
call fcn.0040f730
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422177
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42216d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234e5
push edx
push ecx
call fcn.0046e8d1
add esp, 8
mov byte [0x4eb9f5], 1
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x4221be
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4221b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234ea
push edx
push ecx
call fcn.0046e8d1
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 0x4222cd
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4222c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234ef
jmp 0x4222c3
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422234
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0xee
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_CommandLineToArgvW_failed:
mov ecx, eax
call fcn.0040f730
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, edi
call fcn.004186b0
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x4222cd
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4222c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234f4
push edx
push ecx
call fcn.0046e8d1
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4222e3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0xf1
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_MBSetup_mode_:
mov ecx, eax
call fcn.0040f730
cmp byte [0x4eb9f5], 0
mov ecx, str.installing
mov edx, str.uninstalling
cmove edx, ecx
mov ecx, eax
call fcn.0040f730
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422387
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42237d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234f9
push edx
push ecx
call fcn.0046e8d1
add esp, 8
call fcn.00423660
call fcn.00435c90
cmp byte [0x4eb9f6], 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 0x42245d
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.0043eee0
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.0044c0e0
push 0xa
lea ecx, [ebp - 0x81c]
call fcn.0044c0e0
mov eax, dword [ebp - 0x81c]
mov edi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x422450
push eax
call edi
mov eax, dword [ebp - 0x820]
test eax, eax
je 0x42245d
push eax
call edi
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422473
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x124
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_This_is_an_ONLINE_installer_build.
mov ecx, eax
call fcn.0040f730
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x4224fc
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4224f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4234fe
push edx
push ecx
call fcn.0046e8d1
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.0042e3c0
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
push dword [ebp - 0x880]
cmovae eax, dword [ebp - 0x890]
mov ecx, 0x4e6c58
push eax
call fcn.00407920
cmp dword [ebp - 0x880], 0
je 0x422809
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x890]
call fcn.0043e970
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040beb0
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x4225b4
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4225aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423503
push edx
push ecx
call fcn.0046e8d1
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 0x422634
sub dword [ebp - 0x81c], ecx
mov esi, dword [ebp - 0x81c]
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x42261d
cmp eax, 0x3a
jne 0x422622
mov eax, 0x5f
mov word [ecx + esi], ax
inc edx
add ecx, 2
cmp edx, edi
jne 0x422610
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 0x422764
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42267f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x131
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.00418a40
push dword [ebp - 0x824]
mov ecx, eax
call fcn.004186b0
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422721
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422717
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423508
push edx
push ecx
call fcn.0046e8d1
add esp, 8
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x422809
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4227ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42350d
jmp 0x4227ff
cmp eax, 0xb7
jne 0x422721
push 0x4cb1b8
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 0x4227f5
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4227eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423512
push edx
push ecx
call fcn.0046e8d1
add esp, 8
mov edi, 1
jmp 0x4232e3
push edx
push ecx
call fcn.0046e8d1
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42281f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x13d
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_MBSetup_version_5.1.4.89
mov ecx, eax
call fcn.0040f730
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x4228a8
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42289e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423517
push edx
push ecx
call fcn.0046e8d1
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 0x4228e9
mov byte [0x4eba01], 0
cmp ax, 5
jne 0x4228f0
mov byte [0x4eba01], 1
cmp byte [0x4eb9ec], 0
je 0x422aa6
push str.Doing_MB5_migration_checks.
mov edx, 0xfe6
mov ecx, 0x4cafa0
call fcn.00441390
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.004249a0
test al, al
jne 0x4229a1
push str._MB5_migration_check__Error_getting_installation_directory
mov edx, 0xfeb
mov ecx, 0x4cafa0
call fcn.00441390
add esp, 4
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x422997
mov ecx, dword [ebp - 0x874]
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 0x42351c
push edx
push ecx
call fcn.0046e8d1
add esp, 8
mov edi, 0x2a
jmp 0x4232e3
call fcn.00427640
test eax, eax
je 0x4229b6
push str._MB5_migration_check__Prerequisie_check_failed
mov edx, 0xff2
jmp 0x42294a
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.00461c50
push 1
lea ecx, [ebp - 0x854]
call fcn.00461c50
lea ecx, [ebp - 0x854]
call fcn.00463080
mov ecx, 0x4cafa0
test al, al
je 0x422a38
push str._MB5_migration_check__Privacy_VPN_is_installed
mov edx, 0xff9
call fcn.00441390
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.004563b0
jmp 0x422957
push str._MB5_migration_check__OK_to_proceed_with_MB5_migration
mov edx, 0xffd
call fcn.00441390
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.004563b0
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x422a9f
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422a95
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42351c
push edx
push ecx
call fcn.0046e8d1
add esp, 8
xor edi, edi
jmp 0x4232e3
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x848], edi
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422acc
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x153
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
cmp byte [0x4eba01], 0
mov ecx, str.64_Bit_Processor.
mov edx, str.32_Bit_Processor.
cmove edx, ecx
mov ecx, eax
call fcn.00418a40
lea ecx, [ebp - 0x840]
call fcn.00404cc0
mov edx, str.32_Bit_Process.
mov ecx, 0x4ea4d8
call fcn.00418a40
cmp edi, 3
ja case.default.0x422b46
jmp dword [edi*4 + 0x42352c]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4ea4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4ea4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4ea4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4ea4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4ea4d8
call fcn.00418a40
push edi
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c92c0
mov ecx, eax
call fcn.0040f730
push 0x4ea4d8
call fcn.0040faa0
add esp, 4
cmp edi, 1
je 0x422bcb
cmp edi, 2
jne 0x422bd0
call fcn.0042fa10
cmp byte [0x4eb9f9], 0
jne 0x422cbd
push 0x400
lea eax, [ebp - 0x818]
push eax
push 0x81
push dword [0x4eba08]
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 0x422c03
sub ecx, edx
lea eax, [ebp - 0x818]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4e6e50
call fcn.00407920
lea ecx, [ebp - 0x840]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422c3a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x177
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Supported_language_is:
mov ecx, eax
call fcn.00418a40
cmp dword [0x4e6e64], 8
mov edx, 0x4e6e50
push dword [0x4e6e60]
cmovae edx, dword [0x4e6e50]
mov ecx, eax
call fcn.00410550
add esp, 4
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x840]
call fcn.00404cc0
cmp byte [0x4eb9f5], 0
jne 0x422e37
xor eax, eax
mov dword [ebp - 0x830], 0
push eax
push 0x4c884c
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x82c], 7
mov word [ebp - 0x840], ax
call fcn.00407920
lea eax, [ebp - 0x840]
xor dl, dl
push eax
xor cl, cl
call fcn.0042c780
add esp, 4
lea ecx, [ebp - 0x840]
call fcn.00404cc0
cmp byte [0x4eb9f6], 0
je 0x422e32
xor eax, eax
mov dword [ebp - 0x830], 0
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x82c], 7
mov word [ebp - 0x840], ax
call fcn.00454e80
mov byte [0x4eb9dc], al
test al, al
je 0x422df2
lea eax, [ebp - 0x820]
mov dword [ebp - 0x824], 0
push eax
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x844], 0
push eax
lea eax, [ebp - 0x844]
mov dword [ebp - 0x81c], 0
push eax
lea edx, [ebp - 0x824]
mov dword [ebp - 0x820], 0
lea ecx, [ebp - 0x840]
call fcn.0044e240
add esp, 0xc
test al, al
je 0x422de1
movzx eax, word [ebp - 0x820]
push eax
movzx eax, word [ebp - 0x81c]
push eax
movzx eax, word [ebp - 0x844]
push eax
movzx eax, word [ebp - 0x824]
push eax
push str._hu._hu._hu._hu
push 0x4eba7c
call fcn.0043b730
add esp, 0x18
jmp 0x422df2
push 7
push 0x4cd27c
mov ecx, 0x4eba7c
call fcn.004032a0
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x422e32
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422e28
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42351c
push edx
push ecx
call fcn.0046e8d1
add esp, 8
call fcn.0044f630
call fcn.00430120
test al, al
je 0x422fd9
mov dword [ebp - 4], 3
call fcn.00403a40
mov ecx, eax
test ecx, ecx
je 0x423521
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 - 0x824], eax
lea ecx, [ebp - 0x820]
call fcn.0044f0e0
push dword [eax]
lea eax, [ebp - 0x824]
push str._s___cant_run_on_ARM
push eax
call fcn.0043b730
mov edx, dword [ebp - 0x820]
add esp, 0xc
add edx, 0xfffffff0
mov dword [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422ebc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x840]
mov dword [ebp - 4], 0xffffffff
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422ed9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x191
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edi, dword [ebp - 0x824]
mov ecx, eax
mov edx, edi
call fcn.0040f730
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x840]
call fcn.00404cc0
cmp byte [0x4eb9f5], 0
jne 0x422f4e
xor edx, edx
mov ecx, edi
call fcn.00450ca0
cmp byte [0x4eb9f6], 0
jne 0x422fa9
push 0x130
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.00486a10
add esp, 8
lea ecx, [ebp - 0x148]
push 0
push 0x6a6
push 0x233c
push 0x80
push 1
call fcn.0041fa10
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x148]
call fcn.0040db70
lea ecx, [ebp - 0x148]
call fcn.0040d220
add edi, 0xfffffff0
mov dword [ebp - 4], 5
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x422fc8
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, 0xc8
jmp 0x423243
cmp byte [0x4eb9f5], 0
je 0x422fee
call fcn.0042a2b0
mov edi, eax
jmp 0x423243
mov edi, dword [0x4e6e34]
mov ecx, 0x4e6e20
mov eax, dword [0x4e6e20]
cmp edi, 8
mov edx, dword [0x4e6e30]
cmovae ecx, eax
cmp edx, 4
jne 0x42302c
push edx
mov edx, str.2060
call fcn.00419770
add esp, 4
test eax, eax
je 0x42304e
mov eax, dword [0x4e6e20]
mov edx, dword [0x4e6e30]
cmp edi, 8
mov ecx, 0x4e6e20
cmovae ecx, eax
cmp edx, 4
jne 0x423057
push edx
mov edx, str.2061
call fcn.00419770
add esp, 4
test eax, eax
jne 0x423057
xor al, al
mov ecx, 0x4e6ac5
xchg byte [ecx], al
call fcn.00431540
cmp byte [0x4eb9f3], 0
mov byte [0x4eb9e7], al
mov eax, 2
jne 0x42309c
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x874]
call fcn.0040beb0
lea ecx, [ebp - 0x874]
call fcn.004243e0
test al, al
mov byte [0x4eb9f4], 0
mov eax, 3
je 0x4230a3
mov byte [0x4eb9f4], 1
test al, 1
je 0x4230b2
lea ecx, [ebp - 0x874]
call fcn.00404cc0
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x81c], 0
push eax
push 0x20019
push 0
push str.SOFTWAREMalwarebytesmbam
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x42312e
mov dword [ebp - 0x824], eax
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x824]
mov dword [ebp - 0x820], 4
push eax
push 0
push 0
push str.dtopicon
push dword [ebp - 0x81c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x423122
cmp dword [ebp - 0x824], eax
setne byte [0x4e6ac4]
push dword [ebp - 0x81c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00428190
mov edi, eax
lea ecx, [ebp - 0x874]
mov edx, edi
call fcn.00419ae0
push eax
mov edx, str.DoInstall_complete._Returned:
lea ecx, [ebp - 0x840]
call fcn.00418e50
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00404cc0
cmp dword [ebp - 0x82c], 8
lea eax, [ebp - 0x840]
mov edx, 0x1b7
mov ecx, 0x4cafa0
cmovae eax, dword [ebp - 0x840]
push eax
call fcn.00441390
add esp, 4
call fcn.00442ee0
test al, al
jne 0x4231fb
lea ecx, [ebp - 0x874]
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4231a7
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ea4d8
call fcn.00410550
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_a_mb5_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x1bc
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Problem_saving_state_of_create_desktop_icon_option
mov ecx, eax
call fcn.0040f730
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00404cc0
lea ecx, [ebp - 0x828]
call fcn.0041a180
cmp dword [0x4e6cf8], 0
je 0x42321f
lea edx, [ebp - 0x828]
mov ecx, 0x4e6ce8
call fcn.0043e7b0
cmp dword [0x4e6d10], 0
je 0x423238
lea edx, [ebp - 0x828]
mov ecx, 0x4e6d00
call fcn.0043e7b0
lea ecx, [ebp - 0x840]
call fcn.00404cc0
mov eax, dword [ebp - 0x848]
cmp eax, 1
je 0x423253
cmp eax, 2
jne 0x423258
call fcn.0042fda0
cmp byte [0x4eb9f6], 0
jne 0x42326d
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, 0x4ea4d8
call fcn.00418a40
push edi
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4cb4a4
mov ecx, eax
call fcn.0040f730
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x848], eax
call fcn.0045ebe0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4232b2
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x848]
mov edx, eax
call fcn.00410550
add esp, 4
mov edx, 0x4caf18
mov ecx, eax
call fcn.00418a40
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0xa60]
call fcn.00404cc0
mov edx, dword [ebp - 0x87c]
cmp edx, 8
jb 0x423323
mov ecx, dword [ebp - 0x890]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423319
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42351c
push edx
push ecx
call fcn.0046e8d1
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], 6
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x42335f
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.004372f0
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], 7
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0046bfdb
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.00438f00
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], 8
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0046bfdb
mov edx, dword [ebp - 0x898]
add esp, 4
cmp edx, 8
jb 0x423491
mov ecx, dword [ebp - 0x8ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423487
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42351c
push edx
push ecx
call fcn.0046e8d1
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.0046e3b0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.0048981c
call fcn.0048981c
push 0x80004005
call fcn.00403bb0
push 0x80070057
call fcn.00403bb0
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
call fcn.0048981c
push 0x80004005
call fcn.00403bb0
nop
dec ebp
sub eax, dword [edx]
pop esi
sub eax, dword [edx]
outsd dx, dword [esi]
sub eax, dword [edx]
sub byte [ebx], 0x42
add ah, cl
int3