Function at 0x40c0c0
Capabilities:
Get system information on windows
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4644b0
mov eax, dword fs:[0]
push eax
sub esp, 0xa0c
mov eax, dword [0x483068]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push 0
mov dword [ebp - 0x9e0], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
lea ecx, [ebp - 0x858]
mov dword [0x487e80], esi
call fcn.0040b920
push 0xb
push str.mbsetup.log
mov byte [ebp - 0x9e4], 0
lea ecx, [ebp - 0x828]
push dword [ebp - 0x9e4]
call fcn.0041c060
add esp, 0xc
lea eax, [ebp - 0x828]
lea ecx, [ebp - 0x858]
push eax
call fcn.00401ac0
mov edx, dword [ebp - 0x814]
cmp edx, 8
jb 0x40c187
mov ecx, dword [ebp - 0x828]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c17d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd3b
push edx
push ecx
call fcn.004290dc
add esp, 8
push 0xb0
lea eax, [ebp - 0x9b8]
push 0
push eax
call fcn.00440c40
cmp dword [ebp - 0x844], 8
lea eax, [ebp - 0x858]
lea ecx, [ebp - 0x9b8]
cmovae eax, dword [ebp - 0x858]
add esp, 4
push 0xa
push eax
call fcn.0041ade0
mov eax, dword [ebp - 0x9b8]
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 - 0x9b8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x9bc], eax
lea eax, [ebp - 0x908]
push eax
call fcn.00440c40
cmp dword [ebp - 0x844], 8
lea eax, [ebp - 0x858]
lea ecx, [ebp - 0x908]
cmovae eax, dword [ebp - 0x858]
push eax
call fcn.0041abf0
mov eax, dword [ebp - 0x908]
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 - 0x908]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x90c], eax
mov eax, dword [0x485a98]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x9b4]
add ecx, 0x485a98
mov dword [ecx + 0x38], eax
call fcn.004091e0
mov eax, dword [0x4858e0]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x904]
add ecx, 0x4858e0
mov dword [ecx + 0x38], eax
call fcn.004091e0
push 0x4858e0
call fcn.00407a20
add esp, 4
mov edx, str._Install_started
mov ecx, eax
call fcn.00407760
lea ecx, [ebp - 0x828]
mov esi, eax
call fcn.0041f060
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40c2b1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.00408830
add esp, 4
mov edx, 0x47794c
mov ecx, eax
call fcn.00407760
push eax
call fcn.00407a20
mov edx, dword [ebp - 0x814]
add esp, 4
cmp edx, 8
jb 0x40c313
mov ecx, dword [ebp - 0x828]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c309
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd40
push edx
push ecx
call fcn.004290dc
add esp, 8
xor eax, eax
mov dword [ebp - 0x830], 0
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x82c], 7
mov word [ebp - 0x840], ax
call fcn.00410dc0
cmp dword [ebp - 0x830], 0
je 0x40c5d8
lea eax, [ebp - 0xa00]
push eax
lea ecx, [ebp - 0x840]
call fcn.0040a840
push eax
lea ecx, [ebp - 0x828]
call fcn.00405520
mov edx, dword [ebp - 0x9ec]
cmp edx, 8
jb 0x40c3a6
mov ecx, dword [ebp - 0xa00]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c39c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd45
push edx
push ecx
call fcn.004290dc
add esp, 8
mov ebx, dword [ebp - 0x814]
lea ecx, [ebp - 0x828]
mov edx, dword [ebp - 0x828]
lea edi, [ebp - 0x828]
mov eax, dword [ebp - 0x818]
cmp ebx, 8
cmovae ecx, edx
cmovae edi, edx
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x828]
mov esi, eax
cmovae ecx, edx
xor edx, edx
sub esi, ecx
inc esi
shr esi, 1
cmp ecx, eax
cmova esi, edx
test esi, esi
je 0x40c414
sub edi, ecx
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x40c3fd
cmp eax, 0x3a
jne 0x40c402
mov eax, 0x5f
mov word [ecx + edi], ax
inc edx
add ecx, 2
cmp edx, esi
jne 0x40c3f0
mov ebx, dword [ebp - 0x814]
cmp ebx, 8
lea eax, [ebp - 0x828]
cmovae eax, dword [ebp - 0x828]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test esi, esi
jne 0x40c537
lea ecx, [ebp - 0xa00]
call fcn.0041f060
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40c457
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4858e0
call fcn.00408830
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.004073d0
mov edx, 0x476f7c
mov ecx, eax
call fcn.004073d0
push 0x97
mov ecx, eax
call fcn.00405950
mov edx, 0x4778b4
mov ecx, eax
call fcn.004073d0
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.00407760
push edi
mov ecx, eax
call fcn.00405610
push eax
call fcn.00407a20
mov edx, dword [ebp - 0x9ec]
add esp, 4
cmp edx, 8
jb 0x40c4f4
mov ecx, dword [ebp - 0xa00]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c4ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd4a
push edx
push ecx
call fcn.004290dc
add esp, 8
mov edx, dword [ebp - 0x814]
cmp edx, 8
jb 0x40c5d2
mov ecx, dword [ebp - 0x828]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c5c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd4f
jmp 0x40c5c8
cmp edi, 0xb7
jne 0x40c4f4
push 0x477a14
push str.32770
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
push 5
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
call esi
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push edi
call esi
mov edx, dword [ebp - 0x814]
cmp edx, 8
jb 0x40c5be
mov ecx, dword [ebp - 0x828]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c5b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd54
push edx
push ecx
call fcn.004290dc
add esp, 8
mov esi, 1
jmp 0x40cb8c
push edx
push ecx
call fcn.004290dc
add esp, 8
mov ebx, dword [ebp - 0x9e0]
lea eax, [ebp - 0x9dc]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [ebp - 0x9dc]
test ax, ax
je 0x40c5fe
mov byte [0x486cec], 0
cmp ax, 5
jne 0x40c605
mov byte [0x486cec], 1
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [ebp - 0xa00]
mov esi, eax
call fcn.0041f060
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40c625
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4858e0
call fcn.00408830
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.004073d0
mov edx, 0x476f7c
mov ecx, eax
call fcn.004073d0
push 0xb8
mov ecx, eax
call fcn.00405950
mov edx, 0x4778b4
mov ecx, eax
call fcn.004073d0
cmp byte [0x486cec], 0
mov ecx, str.64_Bit_Processor.
mov edx, str.32_Bit_Processor.
cmove edx, ecx
mov ecx, eax
call fcn.00407760
mov edx, str.32_Bit_Process.
mov ecx, eax
call fcn.00407760
mov edx, dword [ebp - 0x9ec]
cmp edx, 8
jb 0x40c6cc
mov ecx, dword [ebp - 0xa00]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c6c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd59
push edx
push ecx
call fcn.004290dc
add esp, 8
cmp esi, 3
ja case.default.0x40c6d1
jmp dword [esi*4 + 0x40cd90]
mov edx, str.Windows_Booted_Normally.
mov ecx, 0x4858e0
call fcn.00407760
jmp 0x40c73f
mov edx, str.Windows_Booted_in_Safe_Mode.
mov ecx, 0x4858e0
call fcn.00407760
jmp 0x40c73f
mov edx, str.Windows_Booted_in_Safe_Mode_with_Networking.
mov ecx, 0x4858e0
call fcn.00407760
jmp 0x40c73f
mov edx, str.Windows_Booted_in_Directory_Services_Restore_Repair_Mode.
mov ecx, 0x4858e0
call fcn.00407760
jmp 0x40c73f
mov edx, str.Unknown_Windows_Boot_Mode_
mov ecx, 0x4858e0
call fcn.00407760
push esi
mov ecx, eax
call fcn.00405950
mov edx, 0x4777e0
mov ecx, eax
call fcn.004073d0
push 0x4858e0
call fcn.00407a20
add esp, 4
cmp esi, 1
je 0x40c756
cmp esi, 2
jne 0x40c75b
call fcn.00415940
lea ecx, [ebp - 0xa00]
call fcn.0041f060
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40c771
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4858e0
call fcn.00408830
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.004073d0
mov edx, 0x476f7c
mov ecx, eax
call fcn.004073d0
push 0xd2
mov ecx, eax
call fcn.00405950
mov edx, 0x4778b4
mov ecx, eax
call fcn.004073d0
mov edx, str.Parsing_Command_Line:
mov ecx, eax
call fcn.00407760
mov edx, ebx
mov ecx, eax
call fcn.00407760
push eax
call fcn.00407a20
mov edx, dword [ebp - 0x9ec]
add esp, 4
cmp edx, 8
jb 0x40c80f
mov ecx, dword [ebp - 0xa00]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c805
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd5e
push edx
push ecx
call fcn.004290dc
add esp, 8
mov ecx, ebx
mov dword [ebp - 0x818], 0
xor eax, eax
mov dword [ebp - 0x814], 7
mov word [ebp - 0x828], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c831
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x828]
call fcn.00409520
lea ecx, [ebp - 0x828]
call fcn.0040f9b0
mov edx, dword [ebp - 0x814]
cmp edx, 8
jb 0x40c898
mov ecx, dword [ebp - 0x828]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c88e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd63
push edx
push ecx
call fcn.004290dc
add esp, 8
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
xor eax, eax
push 0x64
push 0x487db8
push 0x67
push dword [0x487e80]
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x814], 7
mov word [ebp - 0x828], ax
call esi
push 0x64
push 0x487cf0
push 0x6d
push dword [0x487e80]
call esi
push 0x400
push 0x4874f0
push 0x9f
push dword [0x487e80]
call esi
push 0x400
push 0x486cf0
push 0xa3
push dword [0x487e80]
call esi
push 0x400
lea eax, [ebp - 0x810]
push eax
push 0xae
push dword [0x487e80]
call esi
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c930
sub ecx, edx
lea eax, [ebp - 0x810]
sar ecx, 1
push ecx
push eax
mov ecx, 0x483b80
call fcn.00409520
lea ecx, [ebp - 0xa00]
call fcn.0041f060
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40c967
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4858e0
call fcn.00408830
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.004073d0
mov edx, 0x476f7c
mov ecx, eax
call fcn.004073d0
push 0xde
mov ecx, eax
call fcn.00405950
mov edx, 0x4778b4
mov ecx, eax
call fcn.004073d0
mov edx, str.Supported_language_is:
mov ecx, eax
call fcn.00407760
cmp dword [0x483b94], 8
mov edx, 0x483b80
push dword [0x483b90]
cmovae edx, dword [0x483b80]
mov ecx, eax
call fcn.00408830
add esp, 4
push eax
call fcn.00407a20
mov edx, dword [ebp - 0x9ec]
add esp, 4
cmp edx, 8
jb 0x40ca1f
mov ecx, dword [ebp - 0xa00]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ca15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd68
push edx
push ecx
call fcn.004290dc
add esp, 8
mov esi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0xaf641f
call esi
push 0xd7b28f
call esi
push 0xcc3e0d
mov dword [0x486cdc], eax
call esi
cmp byte [0x486cd7], 0
mov dword [0x486ce0], eax
je 0x40cafc
call fcn.0040ec20
mov esi, eax
call fcn.00415cd0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, str._Install_finished__
mov ecx, 0x4858e0
call fcn.00407760
push esi
mov ecx, eax
call fcn.00405950
mov edx, 0x477c94
mov ecx, eax
call fcn.004073d0
lea ecx, [ebp - 0xa18]
mov edi, eax
call fcn.0041f060
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40ca9e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, edi
call fcn.00408830
add esp, 4
mov edx, 0x47794c
mov ecx, eax
call fcn.00407760
push eax
call fcn.00407a20
mov edx, dword [ebp - 0xa04]
add esp, 4
cmp edx, 8
jb 0x40cb6f
mov ecx, dword [ebp - 0xa18]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cb65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd6d
jmp 0x40cb65
call fcn.00410430
call fcn.0040cec0
cmp dword [0x483ae8], 0
mov esi, eax
je 0x40cb32
cmp dword [0x483aec], 8
mov eax, 0x483ad8
cmovae eax, dword [0x483ad8]
push eax
call fcn.004267d5
test edx, edx
jne 0x40cd72
cmp dword [0x483b00], 0
je 0x40ca58
cmp dword [0x483b04], 8
mov eax, 0x483af0
cmovae eax, dword [0x483af0]
push eax
call fcn.004267d5
test edx, edx
jne 0x40cd7c
jmp 0x40ca58
push edx
push ecx
call fcn.004290dc
add esp, 8
xor eax, eax
mov dword [ebp - 0xa08], 0
mov dword [ebp - 0xa04], 7
mov word [ebp - 0xa18], ax
mov edx, dword [ebp - 0x82c]
cmp edx, 8
jb 0x40cbcc
mov ecx, dword [ebp - 0x840]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cbc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd86
push edx
push ecx
call fcn.004290dc
add esp, 8
xor eax, eax
mov dword [ebp - 0x830], 0
mov word [ebp - 0x840], ax
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x82c], 7
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 - 0x908]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x90c], eax
lea ecx, [ebp - 0x904]
call fcn.004173e0
mov eax, dword [ebp - 0x908]
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 - 0x908]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x90c], eax
lea eax, [ebp - 0x8a0]
mov dword [ebp - 4], 0
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00427cb5
mov eax, dword [ebp - 0x9b8]
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 - 0x9b8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x9bc], eax
lea ecx, [ebp - 0x9b4]
call fcn.00418590
mov eax, dword [ebp - 0x9b8]
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 - 0x9b8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x9bc], eax
lea eax, [ebp - 0x950]
mov dword [ebp - 4], 1
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00427cb5
mov edx, dword [ebp - 0x844]
add esp, 4
cmp edx, 8
jb 0x40cd1b
mov ecx, dword [ebp - 0x858]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cd11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd8b
push edx
push ecx
call fcn.004290dc
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004290a8
mov esp, ebp
pop ebp
ret 0x10
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
call fcn.00443bfc
push 0x483ad8
call fcn.0040b4f0
push 0x483af0
call fcn.0040b4f0
call fcn.00443bfc
call fcn.00443bfc
fadd st(6)
inc eax
add cl, ch
mov byte [eax], 0xfa
mov byte [eax], 0xb
mov dword [eax], 0x6aec8b55
push ebp
mov ebp, esp
push 0xffffffffffffffff
invalid
invalid