Function at 0x4218e0
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 0x4afcc0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa50
mov eax, dword [0x4e506c]
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.0043ff00
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x824], 0
lea ecx, [ebp - 0x840]
push dword [ebp - 0x824]
call fcn.0043cb40
add esp, 0xc
lea eax, [ebp - 0x840]
lea ecx, [ebp - 0x8ac]
push eax
call fcn.00419790
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x4219b6
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4219ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423423
push edx
push ecx
call fcn.0046da67
add esp, 8
push 0xb0
lea eax, [ebp - 0xa48]
push 0
push eax
call fcn.00485bb0
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.0043a0b0
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.00485bb0
add esp, 0xc
mov dword [ebp - 0x970], 0x4cd76c
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.0043aea0
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.0043a8f0
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x96c]
call fcn.0043a800
test eax, eax
jne 0x421ae3
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 [0x4e9698]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xa44]
add ecx, 0x4e9698
mov dword [ecx + 0x38], eax
call fcn.00411900
mov eax, dword [0x4e94d8]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x96c]
add ecx, 0x4e94d8
mov dword [ecx + 0x38], eax
call fcn.00411900
push 0x4e94d8
call fcn.0040faa0
add esp, 4
mov edx, str._Install_started
mov ecx, eax
call fcn.004189b0
lea ecx, [ebp - 0x840]
mov esi, eax
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421b7b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.00410550
add esp, 4
mov edx, 0x4c9ec0
mov ecx, eax
call fcn.004189b0
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x421bdd
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421bd3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423428
push edx
push ecx
call fcn.0046da67
add esp, 8
mov dword [ebp - 4], 0
call fcn.00403a40
mov ecx, eax
test ecx, ecx
je 0x42342d
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 0x421c34
push 0x104
lea ecx, [ebp - 0x844]
call fcn.004036a0
mov esi, dword [ebp - 0x844]
cmp dword [esi - 8], 0x104
jl 0x423437
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.00488bdc
add esp, 8
test eax, eax
js 0x423437
cmp eax, dword [esi - 8]
jg 0x423437
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.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421ca0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
call fcn.00410550
add esp, 4
mov edx, 0x4c9f48
mov ecx, eax
call fcn.004189b0
mov edx, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0xcf
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c9f00
mov ecx, eax
call fcn.004189b0
cmp dword [esi - 4], 1
mov dword [ebp - 0x824], eax
jle 0x421d06
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.004189b0
mov edx, 0x4c9efc
mov ecx, eax
call fcn.004189b0
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x421d64
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421d5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423441
push edx
push ecx
call fcn.0046da67
add esp, 8
call fcn.00442a80
mov eax, dword [ebp - 0x820]
push 2
push 0
mov dword [0x4eaa08], 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 0x421d83
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, 0x4e5d48
call fcn.00407920
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x421db4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0xd9
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c832c
mov ecx, eax
call fcn.0040f730
mov edx, str.Parsing_Command_Line:
mov ecx, eax
call fcn.004189b0
mov edx, edi
mov ecx, eax
call fcn.004189b0
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x421e52
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421e48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423446
push edx
push ecx
call fcn.0046da67
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 0x421e74
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x874]
call fcn.00407920
lea ecx, [ebp - 0x874]
call fcn.0042a890
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x421edb
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421ed1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42344b
push edx
push ecx
call fcn.0046da67
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 0x42218e
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 0x421f10
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.0043ef60
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 0x421ff8
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x421fee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423450
push edx
push ecx
call fcn.0046da67
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.0048bc09
add esp, 8
test eax, eax
je 0x422048
cmp dword [ebp - 0x848], 8
lea eax, [ebp - 0x85c]
push str.unins000.exe
cmovae eax, dword [ebp - 0x85c]
push eax
call fcn.0048bc09
add esp, 8
test eax, eax
jne 0x4220ee
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42205e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
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 0x4220e7
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4220dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423455
push edx
push ecx
call fcn.0046da67
add esp, 8
mov byte [0x4ea9f5], 1
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x42212e
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422124
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42345a
push edx
push ecx
call fcn.0046da67
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 0x42223d
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422233
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42345f
jmp 0x422233
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4221a4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
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.00418620
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x42223d
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422233
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423464
push edx
push ecx
call fcn.0046da67
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422253
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
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 [0x4ea9f5], 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 0x4222f7
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4222ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423469
push edx
push ecx
call fcn.0046da67
add esp, 8
call fcn.004235d0
call fcn.00435c10
cmp byte [0x4ea9f6], 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 0x4223cd
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.0043ee60
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.0044c050
push 0xa
lea ecx, [ebp - 0x81c]
call fcn.0044c050
mov eax, dword [ebp - 0x81c]
mov edi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x4223c0
push eax
call edi
mov eax, dword [ebp - 0x820]
test eax, eax
je 0x4223cd
push eax
call edi
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4223e3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0x11b
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 0x42246c
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422462
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42346e
push edx
push ecx
call fcn.0046da67
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.0042e330
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
push dword [ebp - 0x880]
cmovae eax, dword [ebp - 0x890]
mov ecx, 0x4e5c58
push eax
call fcn.00407920
cmp dword [ebp - 0x880], 0
je 0x422779
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x890]
call fcn.0043e8f0
push eax
lea ecx, [ebp - 0x85c]
call fcn.0040beb0
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x422524
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42251a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423473
push edx
push ecx
call fcn.0046da67
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 0x4225a4
sub dword [ebp - 0x81c], ecx
mov esi, dword [ebp - 0x81c]
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x42258d
cmp eax, 0x3a
jne 0x422592
mov eax, 0x5f
mov word [ecx + esi], ax
inc edx
add ecx, 2
cmp edx, edi
jne 0x422580
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 0x4226d4
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4225ef
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0x128
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c832c
mov ecx, eax
call fcn.0040f730
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.004189b0
push dword [ebp - 0x824]
mov ecx, eax
call fcn.00418620
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422691
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422687
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423478
push edx
push ecx
call fcn.0046da67
add esp, 8
mov edx, dword [ebp - 0x848]
cmp edx, 8
jb 0x422779
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42276f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42347d
jmp 0x42276f
cmp eax, 0xb7
jne 0x422691
push 0x4ca160
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 0x422765
mov ecx, dword [ebp - 0x85c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42275b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423482
push edx
push ecx
call fcn.0046da67
add esp, 8
mov edi, 1
jmp 0x423253
push edx
push ecx
call fcn.0046da67
add esp, 8
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x42278f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0x134
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_MBSetup_version_5.0.17.80
mov ecx, eax
call fcn.0040f730
push eax
call fcn.0040faa0
mov edx, dword [ebp - 0x82c]
add esp, 4
cmp edx, 8
jb 0x422818
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42280e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423487
push edx
push ecx
call fcn.0046da67
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 0x422859
mov byte [0x4eaa01], 0
cmp ax, 5
jne 0x422860
mov byte [0x4eaa01], 1
cmp byte [0x4ea9ec], 0
je 0x422a16
push str.Doing_MB5_migration_checks.
mov edx, 0xfdd
mov ecx, 0x4c9f48
call fcn.00441310
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.00424910
test al, al
jne 0x422911
push str._MB5_migration_check__Error_getting_installation_directory
mov edx, 0xfe2
mov ecx, 0x4c9f48
call fcn.00441310
add esp, 4
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x422907
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4228fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42348c
push edx
push ecx
call fcn.0046da67
add esp, 8
mov edi, 0x2a
jmp 0x423253
call fcn.004275b0
test eax, eax
je 0x422926
push str._MB5_migration_check__Prerequisie_check_failed
mov edx, 0xfe9
jmp 0x4228ba
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.00460de0
push 1
lea ecx, [ebp - 0x854]
call fcn.00460de0
lea ecx, [ebp - 0x854]
call fcn.00462210
mov ecx, 0x4c9f48
test al, al
je 0x4229a8
push str._MB5_migration_check__Privacy_VPN_is_installed
mov edx, 0xff0
call fcn.00441310
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.00455790
jmp 0x4228c7
push str._MB5_migration_check__OK_to_proceed_with_MB5_migration
mov edx, 0xff4
call fcn.00441310
add esp, 4
mov dword [ebp - method.InstalledProducts.virtual_0], vtable.InstalledProducts.0
lea ecx, [ebp - 0x850]
call fcn.00455790
mov edx, dword [ebp - 0x860]
cmp edx, 8
jb 0x422a0f
mov ecx, dword [ebp - 0x874]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422a05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42348c
push edx
push ecx
call fcn.0046da67
add esp, 8
xor edi, edi
jmp 0x423253
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x848], edi
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422a3c
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0x14a
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c832c
mov ecx, eax
call fcn.0040f730
cmp byte [0x4eaa01], 0
mov ecx, str.64_Bit_Processor.
mov edx, str.32_Bit_Processor.
cmove edx, ecx
mov ecx, eax
call fcn.004189b0
lea ecx, [ebp - 0x840]
call fcn.00404cc0
mov edx, str.32_Bit_Process.
mov ecx, 0x4e94d8
call fcn.004189b0
cmp edi, 3
ja case.default.0x422ab6
jmp dword [edi*4 + 0x42349c]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4e94d8
call fcn.004189b0
jmp 0x422b24
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4e94d8
call fcn.004189b0
jmp 0x422b24
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4e94d8
call fcn.004189b0
jmp 0x422b24
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4e94d8
call fcn.004189b0
jmp 0x422b24
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4e94d8
call fcn.004189b0
push edi
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c82c0
mov ecx, eax
call fcn.0040f730
push 0x4e94d8
call fcn.0040faa0
add esp, 4
cmp edi, 1
je 0x422b3b
cmp edi, 2
jne 0x422b40
call fcn.0042f980
cmp byte [0x4ea9f9], 0
jne 0x422c2d
push 0x400
lea eax, [ebp - 0x818]
push eax
push 0x81
push dword [0x4eaa08]
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 0x422b73
sub ecx, edx
lea eax, [ebp - 0x818]
sar ecx, 1
push ecx
push eax
mov ecx, 0x4e5e50
call fcn.00407920
lea ecx, [ebp - 0x840]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422baa
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0x16e
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c832c
mov ecx, eax
call fcn.0040f730
mov edx, str.Supported_language_is:
mov ecx, eax
call fcn.004189b0
cmp dword [0x4e5e64], 8
mov edx, 0x4e5e50
push dword [0x4e5e60]
cmovae edx, dword [0x4e5e50]
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 [0x4ea9f5], 0
jne 0x422da7
xor eax, eax
mov dword [ebp - 0x830], 0
push eax
push 0x4c784c
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.0042c6f0
add esp, 4
lea ecx, [ebp - 0x840]
call fcn.00404cc0
cmp byte [0x4ea9f6], 0
je 0x422da2
xor eax, eax
mov dword [ebp - 0x830], 0
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x82c], 7
mov word [ebp - 0x840], ax
call fcn.00454260
mov byte [0x4ea9dc], al
test al, al
je 0x422d62
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.0044e1c0
add esp, 0xc
test al, al
je 0x422d51
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 0x4eaa7c
call fcn.0043b6b0
add esp, 0x18
jmp 0x422d62
push 7
push 0x4cc224
mov ecx, 0x4eaa7c
call fcn.004032a0
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x422da2
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422d98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42348c
push edx
push ecx
call fcn.0046da67
add esp, 8
call fcn.0044f5b0
call fcn.004300a0
test al, al
je 0x422f49
mov dword [ebp - 4], 3
call fcn.00403a40
mov ecx, eax
test ecx, ecx
je 0x423491
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.0044f060
push dword [eax]
lea eax, [ebp - 0x824]
push str._s___cant_run_on_ARM
push eax
call fcn.0043b6b0
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 0x422e2c
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.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x422e49
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0x188
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c832c
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 [0x4ea9f5], 0
jne 0x422ebe
xor edx, edx
mov ecx, edi
call fcn.00450570
cmp byte [0x4ea9f6], 0
jne 0x422f19
push 0x130
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.00485bb0
add esp, 8
lea ecx, [ebp - 0x148]
push 0
push 0x6a6
push 0x233c
push 0x80
push 1
call fcn.0041f980
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 0x422f38
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, 0xc8
jmp 0x4231b3
cmp byte [0x4ea9f5], 0
je 0x422f5e
call fcn.0042a220
mov edi, eax
jmp 0x4231b3
mov edi, dword [0x4e5e34]
mov ecx, 0x4e5e20
mov eax, dword [0x4e5e20]
cmp edi, 8
mov edx, dword [0x4e5e30]
cmovae ecx, eax
cmp edx, 4
jne 0x422f9c
push edx
mov edx, str.2060
call fcn.004196e0
add esp, 4
test eax, eax
je 0x422fbe
mov eax, dword [0x4e5e20]
mov edx, dword [0x4e5e30]
cmp edi, 8
mov ecx, 0x4e5e20
cmovae ecx, eax
cmp edx, 4
jne 0x422fc7
push edx
mov edx, str.2061
call fcn.004196e0
add esp, 4
test eax, eax
jne 0x422fc7
xor al, al
mov ecx, 0x4e5ac5
xchg byte [ecx], al
call fcn.004314c0
cmp byte [0x4ea9f3], 0
mov byte [0x4ea9e7], al
mov eax, 2
jne 0x42300c
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x874]
call fcn.0040beb0
lea ecx, [ebp - 0x874]
call fcn.00424350
test al, al
mov byte [0x4ea9f4], 0
mov eax, 3
je 0x423013
mov byte [0x4ea9f4], 1
test al, 1
je 0x423022
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 0x42309e
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 0x423092
cmp dword [ebp - 0x824], eax
setne byte [0x4e5ac4]
push dword [ebp - 0x81c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00428100
mov edi, eax
lea ecx, [ebp - 0x874]
mov edx, edi
call fcn.00419a50
push eax
mov edx, str.DoInstall_complete._Returned:
lea ecx, [ebp - 0x840]
call fcn.00418dc0
add esp, 4
lea ecx, [ebp - 0x874]
call fcn.00404cc0
cmp dword [ebp - 0x82c], 8
lea eax, [ebp - 0x840]
mov edx, 0x1ae
mov ecx, 0x4c9f48
cmovae eax, dword [ebp - 0x840]
push eax
call fcn.00441310
add esp, 4
call fcn.00442e60
test al, al
jne 0x42316b
lea ecx, [ebp - 0x874]
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x423117
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e94d8
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, 0x4c8104
mov ecx, eax
call fcn.0040f730
push 0x1b3
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.0041a0f0
cmp dword [0x4e5cf8], 0
je 0x42318f
lea edx, [ebp - 0x828]
mov ecx, 0x4e5ce8
call fcn.0043e730
cmp dword [0x4e5d10], 0
je 0x4231a8
lea edx, [ebp - 0x828]
mov ecx, 0x4e5d00
call fcn.0043e730
lea ecx, [ebp - 0x840]
call fcn.00404cc0
mov eax, dword [ebp - 0x848]
cmp eax, 1
je 0x4231c3
cmp eax, 2
jne 0x4231c8
call fcn.0042fd20
cmp byte [0x4ea9f6], 0
jne 0x4231dd
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, 0x4e94d8
call fcn.004189b0
push edi
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4ca44c
mov ecx, eax
call fcn.0040f730
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x848], eax
call fcn.0045dd60
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x423222
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x848]
mov edx, eax
call fcn.00410550
add esp, 4
mov edx, 0x4c9ec0
mov ecx, eax
call fcn.004189b0
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0xa60]
call fcn.00404cc0
mov edx, dword [ebp - 0x87c]
cmp edx, 8
jb 0x423293
mov ecx, dword [ebp - 0x890]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423289
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42348c
push edx
push ecx
call fcn.0046da67
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 0x4232cf
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.00437270
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.0046b17c
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.00438e80
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.0046b17c
mov edx, dword [ebp - 0x898]
add esp, 4
cmp edx, 8
jb 0x423401
mov ecx, dword [ebp - 0x8ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4233f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42348c
push edx
push ecx
call fcn.0046da67
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.0046d546
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.004889bc
call fcn.004889bc
push 0x80004005
call fcn.00403bb0
push 0x80070057
call fcn.00403bb0
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
call fcn.004889bc
push 0x80004005
call fcn.00403bb0
nop
mov ebp, 0xce00422a
sub al, byte [edx]
fild qword [edx]
inc edx
add al, dh
sub al, byte [edx]
int3