Function at 0x40d290
Capabilities:
Get cpu information
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42dc45
mov eax, dword fs:[0]
push eax
sub esp, 0x8e0
mov eax, dword [0x43e028]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x8e8]
push eax
mov dword [ebp - 0x834], 1
mov dword [ebp - 0x838], 0x400
call fcn.0040edf0
mov dword [ebp - 4], 0
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::endl_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t____]
push str.System_information
push ecx
lea ecx, [ebp - 0x8d8]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
push eax
call fcn.0040fff0
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
add esp, 8
lea edx, [ebp - 0x830]
push edx
push 0x20019
push 0
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push 0x80000002
call esi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40d3a5
lea eax, [ebp - 0x838]
push eax
mov eax, dword [ebp - 0x830]
lea ecx, [ebp - 0x810]
push ecx
lea edx, [ebp - 0x834]
push edx
push 0
push str.ProcessorNameString
push eax
call edi
test eax, eax
jne 0x40d398
cmp word [ebp - 0x810], ax
lea eax, [ebp - 0x810]
jne 0x40d36c
mov eax, str.Unknown
push eax
push ecx
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::endl_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t____]
push str.____H_W_________:
push ecx
lea ecx, [ebp - 0x8d8]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
push eax
call fcn.0040fff0
add esp, 0xc
push eax
call fcn.0040fff0
add esp, 8
mov edx, dword [ebp - 0x830]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x830]
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push 0x80000002
call esi
test eax, eax
jne 0x40d577
lea ecx, [ebp - 0x838]
push ecx
mov ecx, dword [ebp - 0x830]
lea edx, [ebp - 0x810]
push edx
lea eax, [ebp - 0x834]
push eax
push 0
push 0x432fa4
push ecx
call edi
test eax, eax
jne 0x40d430
cmp word [ebp - 0x810], ax
lea eax, [ebp - 0x810]
jne 0x40d404
mov eax, str.Unknown
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::endl_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t____]
push eax
push ecx
push str.____ProductName_:
push edx
lea ecx, [ebp - 0x8d8]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
push eax
call fcn.0040fff0
add esp, 0xc
push eax
call fcn.0040fff0
add esp, 8
lea eax, [ebp - 0x838]
push eax
mov eax, dword [ebp - 0x830]
lea ecx, [ebp - 0x810]
push ecx
lea edx, [ebp - 0x834]
push edx
push 0
push str.EditionID
push eax
call edi
test eax, eax
jne 0x40d499
cmp word [ebp - 0x810], ax
lea eax, [ebp - 0x810]
jne 0x40d46d
mov eax, str.Unknown
push eax
push ecx
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::endl_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t____]
push str.____EditionID___:
push ecx
lea ecx, [ebp - 0x8d8]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
push eax
call fcn.0040fff0
add esp, 0xc
push eax
call fcn.0040fff0
add esp, 8
lea edx, [ebp - 0x838]
push edx
mov edx, dword [ebp - 0x830]
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x834]
push ecx
push 0
push str.ReleaseId
push edx
call edi
test eax, eax
jne 0x40d501
cmp word [ebp - 0x810], ax
lea eax, [ebp - 0x810]
jne 0x40d4d6
mov eax, str.Unknown
push eax
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::endl_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t____]
push ecx
push str.____ReleaseId___:
push eax
lea ecx, [ebp - 0x8d8]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
push eax
call fcn.0040fff0
add esp, 0xc
push eax
call fcn.0040fff0
add esp, 8
lea ecx, [ebp - 0x838]
push ecx
mov ecx, dword [ebp - 0x830]
lea edx, [ebp - 0x810]
push edx
lea eax, [ebp - 0x834]
push eax
push 0
push str.CSDVersion
push ecx
call edi
test eax, eax
jne 0x40d56a
cmp word [ebp - 0x810], ax
lea eax, [ebp - 0x810]
jne 0x40d53e
mov eax, str.Unknown
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::endl_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t____]
push eax
push ecx
push str.____CSDVersion__:
push edx
lea ecx, [ebp - 0x8d8]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
push eax
call fcn.0040fff0
add esp, 0xc
push eax
call fcn.0040fff0
add esp, 8
mov eax, dword [ebp - 0x830]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x82c]
lea eax, [ebp - 0x8e8]
call fcn.0040ee90
mov esi, 8
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], esi
jb 0x40d598
mov eax, dword [eax]
push eax
push str...CommonUtilityDbgLog.cpp
push str.CDbgLog::OutputSystemInfo
mov edx, 0x16c
mov ecx, 5
mov eax, 0x441928
call fcn.0040dee0
add esp, 0xc
cmp dword [ebp - 0x818], esi
jb 0x40d5d2
mov ecx, dword [ebp - 0x82c]
push ecx
call dword [sym.imp.mfc100u.dll_delete]
add esp, 4
mov ecx, dword [ebp - 0x8e8]
xor edx, edx
mov word [ebp - 0x82c], dx
mov edx, dword [ecx + 4]
lea eax, [ebp - 0x888]
mov dword [ebp - 0x818], 7
mov dword [ebp - 0x81c], 0
mov dword [ebp - 0x83c], eax
mov dword [ebp + edx - method.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
lea ecx, [ebp - 0x8d0]
mov dword [ebp - 4], 2
call fcn.0040eeb0
lea ecx, [ebp - 0x8d0]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x888]
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042b091
mov esp, ebp
pop ebp
ret