Function at 0x401460
Capabilities:
Get disk information
Get hostname
Get memory capacity
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x280
mov dword [esp + 4], 0x20
mov dword [esp], 0x10
call method.std.operator_std::_Ios_Openmode__std::_Ios_Openmode_
mov edx, eax
lea eax, [ebp - 0x100]
mov dword [esp + 4], edx
mov edx, dword [ebp + 8]
mov dword [esp], edx
mov ecx, eax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
sub esp, 8
lea eax, [ebp - 0x100]
mov ecx, eax
call sym.std::basic_ofstream_char__std::char_traits_char___::is_open__
xor eax, 1
test al, al
je 0x4014ef
mov dword [esp + 4], str.Error_opening_the_file:
mov dword [esp], sym.imp.libstdc_6.dll_std::cerr
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov ebx, 0
jmp 0x4016b5
mov dword [ebp - 0x204], 0x100
lea eax, [ebp - 0x204]
mov dword [esp + 4], eax
lea eax, [ebp - 0x200]
mov dword [esp], eax
call sym._GetComputerNameA_8
sub esp, 8
test eax, eax
setne al
test al, al
je 0x401558
mov dword [esp + 4], str.Computer_Name:
lea eax, [ebp - 0x100]
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
lea eax, [ebp - 0x200]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100
lea eax, [ebp - 0x200]
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._GetVolumeInformationA_32
sub esp, 0x20
test eax, eax
setne al
test al, al
je 0x4015e5
mov dword [esp + 4], str.Volume_Serial_Number:
lea eax, [ebp - 0x100]
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
lea eax, [ebp - 0x200]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x228]
mov dword [esp], eax
call sym._GetSystemInfo_4
sub esp, 4
movzx eax, word [ebp - 0x228]
movzx ebx, ax
mov dword [esp + 4], str.Processor_Architecture:
lea eax, [ebp - 0x100]
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], ebx
mov ecx, eax
call sym.std::ostream::operator___unsigned_short_
sub esp, 4
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov dword [ebp - 0x268], 0x40
lea eax, [ebp - 0x268]
mov dword [esp], eax
call sym._GlobalMemoryStatusEx_4
sub esp, 4
mov ebx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x25c]
mov dword [esp + 4], str.Total_Physical_Memory:
lea eax, [ebp - 0x100]
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], ebx
mov dword [esp + 4], esi
mov ecx, eax
call sym.std::ostream::operator___unsigned_long_long_
sub esp, 8
mov dword [esp + 4], str._bytes
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x100]
mov ecx, eax
call sym.std::basic_ofstream_char__std::char_traits_char___::close__
mov ebx, 1
lea eax, [ebp - 0x100]
mov ecx, eax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream__
cmp ebx, 1
jmp 0x4016e0
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret