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 0x4b0e70
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.0043ffc0
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x824], 0
lea ecx, [ebp - 0x840]
push dword [ebp - 0x824]
call fcn.0043cc00
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 0x4234e2
push edx
push ecx
call fcn.0046ec30
add esp, 8
push 0xb0
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.00486d70
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.0043a170
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.00486d70
add esp, 0xc
mov dword [ebp - 0x970], 0x4ce7ec
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.0043af60
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.0043a9b0
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x96c]
call fcn.0043a8c0
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 [0x4eb698]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa44]
add ecx, 0x4eb698
mov dword [ecx + 0x38], eax
call fcn.00411900
mov eax, dword [0x4eb4d8]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x96c]
add ecx, 0x4eb4d8
mov dword [ecx + 0x38], eax
call fcn.00411900
push 0x4eb4d8
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.0045ef40
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 0x4234e7
push edx
push ecx
call fcn.0046ec30
add esp, 8
mov dword [ebp - 4], 0
call fcn.00403a40
mov ecx, eax
test ecx, ecx
je 0x4234ec
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 0x4234f6
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.00489d9c
add esp, 8
test eax, eax
js 0x4234f6
cmp eax, dword [esi - 8]
jg 0x4234f6
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.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421d30
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x423500
push edx
push ecx
call fcn.0046ec30
add esp, 8
call fcn.00442b40
mov eax, dword [ebp - 0x820]
push 2
push 0
mov dword [0x4eca08], 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, 0x4e7d48
call fcn.00407920
lea ecx, [ebp - 0x840]
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421e44
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x423505
push edx
push ecx
call fcn.0046ec30
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.0042a960
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 0x42350a
push edx
push ecx
call fcn.0046ec30
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.0043f020
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 0x42350f
push edx
push ecx
call fcn.0046ec30
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.0048cdc7
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.0048cdc7
add esp, 8
test eax, eax
jne 0x42217e
lea ecx, [ebp - 0x840]
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4220ee
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x423514
push edx
push ecx
call fcn.0046ec30
add esp, 8
mov byte [0x4ec9f5], 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 0x423519
push edx
push ecx
call fcn.0046ec30
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 0x42351e
jmp 0x4222c3
lea ecx, [ebp - 0x840]
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422234
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x423523
push edx
push ecx
call fcn.0046ec30
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4222e3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 [0x4ec9f5], 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 0x423528
push edx
push ecx
call fcn.0046ec30
add esp, 8
call fcn.00423690
call fcn.00435cd0
cmp byte [0x4ec9f6], 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.0043ef20
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.0044c120
push 0xa
lea ecx, [ebp - 0x81c]
call fcn.0044c120
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.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422473
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x127
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 0x42352d
push edx
push ecx
call fcn.0046ec30
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.0042e400
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.00407920
cmp dword [ebp - 0x880], 0
je 0x422809
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x890]
call fcn.0043e9b0
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 0x423532
push edx
push ecx
call fcn.0046ec30
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.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42267f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x134
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 0x423537
push edx
push ecx
call fcn.0046ec30
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 0x42353c
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 0x423541
push edx
push ecx
call fcn.0046ec30
add esp, 8
mov edi, 1
jmp 0x423312
push edx
push ecx
call fcn.0046ec30
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42281f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x140
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_MBSetup_version_5.1.5.90
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 0x423546
push edx
push ecx
call fcn.0046ec30
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 [0x4eca01], 0
cmp ax, 5
jne 0x4228f0
mov byte [0x4eca01], 1
cmp byte [0x4ec9ec], 0
je 0x422aa6
push str.Doing_MB5_migration_checks.
mov edx, 0xfef
mov ecx, 0x4cafa0
call fcn.004413d0
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.004249d0
test al, al
jne 0x4229a1
push str._MB5_migration_check__Error_getting_installation_directory
mov edx, 0xff4
mov ecx, 0x4cafa0
call fcn.004413d0
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 0x42354b
push edx
push ecx
call fcn.0046ec30
add esp, 8
mov edi, 0x2a
jmp 0x423312
call fcn.00427680
test eax, eax
je 0x4229b6
push str._MB5_migration_check__Prerequisie_check_failed
mov edx, 0xffb
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.00461fb0
push 1
lea ecx, [ebp - 0x854]
call fcn.00461fb0
lea ecx, [ebp - 0x854]
call fcn.004633e0
mov ecx, 0x4cafa0
test al, al
je 0x422a38
push str._MB5_migration_check__Privacy_VPN_is_installed
mov edx, 0x1002
call fcn.004413d0
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.00456700
jmp 0x422957
push str._MB5_migration_check__OK_to_proceed_with_MB5_migration
mov edx, 0x1006
call fcn.004413d0
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.00456700
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 0x42354b
push edx
push ecx
call fcn.0046ec30
add esp, 8
xor edi, edi
jmp 0x423312
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x848], edi
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422acc
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x156
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
cmp byte [0x4eca01], 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, 0x4eb4d8
call fcn.00418a40
cmp edi, 3
ja case.default.0x422b46
jmp dword [edi*4 + 0x42355c]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4eb4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4eb4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4eb4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4eb4d8
call fcn.00418a40
jmp 0x422bb4
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4eb4d8
call fcn.00418a40
push edi
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c92c0
mov ecx, eax
call fcn.0040f730
push 0x4eb4d8
call fcn.0040faa0
add esp, 4
cmp edi, 1
je 0x422bcb
cmp edi, 2
jne 0x422bd0
call fcn.0042fa50
cmp byte [0x4ec9f9], 0
jne 0x422cbd
push 0x400
lea eax, [ebp - 0x818]
push eax
push 0x81
push dword [0x4eca08]
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, 0x4e7e50
call fcn.00407920
lea ecx, [ebp - 0x840]
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422c3a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x17a
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 [0x4e7e64], 8
mov edx, 0x4e7e50
push dword [0x4e7e60]
cmovae edx, dword [0x4e7e50]
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 [0x4ec9f5], 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.0042c7c0
add esp, 4
lea ecx, [ebp - 0x840]
call fcn.00404cc0
cmp byte [0x4ec9f6], 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.004551c0
mov byte [0x4ec9dc], 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.0044e280
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 0x4eca7c
call fcn.0043b770
add esp, 0x18
jmp 0x422df2
push 7
push 0x4cd2a4
mov ecx, 0x4eca7c
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 0x42354b
push edx
push ecx
call fcn.0046ec30
add esp, 8
call fcn.0044f670
call fcn.00430160
test al, al
je 0x422fd9
mov dword [ebp - 4], 3
call fcn.00403a40
mov ecx, eax
test ecx, ecx
je 0x423550
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.0044f120
push dword [eax]
lea eax, [ebp - 0x824]
push str._s___cant_run_on_ARM
push eax
call fcn.0043b770
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.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422ed9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x194
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 [0x4ec9f5], 0
jne 0x422f4e
xor edx, edx
mov ecx, edi
call fcn.00450ce0
cmp byte [0x4ec9f6], 0
jne 0x422fa9
push 0x130
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.00486d70
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 0x423272
cmp byte [0x4ec9f5], 0
je 0x422fee
call fcn.0042a2f0
mov edi, eax
jmp 0x423272
mov edi, dword [0x4e7e34]
mov ecx, 0x4e7e20
mov eax, dword [0x4e7e20]
cmp edi, 8
mov edx, dword [0x4e7e30]
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 [0x4e7e20]
mov edx, dword [0x4e7e30]
cmp edi, 8
mov ecx, 0x4e7e20
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, 0x4e7ac5
xchg byte [ecx], al
call fcn.00431580
cmp byte [0x4ec9f3], 0
mov byte [0x4ec9e7], 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.00424410
test al, al
mov byte [0x4ec9f4], 0
mov eax, 3
je 0x4230a3
mov byte [0x4ec9f4], 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 [0x4e7ac4]
push dword [ebp - 0x81c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004281d0
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, 0x1ba
mov ecx, 0x4cafa0
cmovae eax, dword [ebp - 0x840]
push eax
call fcn.004413d0
add esp, 4
cmp byte [0x4ec9e6], 0
je 0x4231b7
push str.__useDevEndpoints
lea ecx, [ebp - 0x874]
call fcn.00404c70
lea ecx, [ebp - 0x874]
call fcn.00453550
lea ecx, [ebp - 0x874]
call fcn.00404cc0
call fcn.00442f20
test al, al
jne 0x42322a
lea ecx, [ebp - 0x874]
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4231d6
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4eb4d8
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 0x1c5
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 [0x4e7cf8], 0
je 0x42324e
lea edx, [ebp - 0x828]
mov ecx, 0x4e7ce8
call fcn.0043e7f0
cmp dword [0x4e7d10], 0
je 0x423267
lea edx, [ebp - 0x828]
mov ecx, 0x4e7d00
call fcn.0043e7f0
lea ecx, [ebp - 0x840]
call fcn.00404cc0
mov eax, dword [ebp - 0x848]
cmp eax, 1
je 0x423282
cmp eax, 2
jne 0x423287
call fcn.0042fde0
cmp byte [0x4ec9f6], 0
jne 0x42329c
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, 0x4eb4d8
call fcn.00418a40
push edi
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4cb4c8
mov ecx, eax
call fcn.0040f730
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x848], eax
call fcn.0045ef40
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4232e1
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 0x423352
mov ecx, dword [ebp - 0x890]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423348
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42354b
push edx
push ecx
call fcn.0046ec30
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 0x42338e
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.00437330
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.0046c33b
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.00438f40
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.0046c33b
mov edx, dword [ebp - 0x898]
add esp, 4
cmp edx, 8
jb 0x4234c0
mov ecx, dword [ebp - 0x8ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4234b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42354b
push edx
push ecx
call fcn.0046ec30
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.0046e70f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.00489b7c
call fcn.00489b7c
push 0x80004005
call fcn.00403bb0
push 0x80070057
call fcn.00403bb0
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
call fcn.00489b7c
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