Function at 0x48c5d0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ca3cf
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x4f4fa0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x10], 0
mov edi, dword [ebp + 8]
mov ecx, edi
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 1
mov ebx, dword [eax + 0x30]
mov esi, dword [eax + 0x34]
movzx ecx, word [eax + 0x38]
mov eax, dword [eax + 0x3c]
cmp eax, 2
je 0x48c6f3
sub eax, 0
je 0x48c6ec
sub eax, 1
je 0x48c655
sub eax, 1
je 0x48c6f3
push str.VER_PLATFORM_______
jmp 0x48c760
cmp ebx, 4
jne 0x48c6e5
test esi, esi
jne 0x48c6a4
cmp ecx, 0x3b6
jne 0x48c674
push str.Windows_95__SP1_OSR1
jmp 0x48c760
cmp ecx, 0x457
jne 0x48c686
push str.Windows_95_OSR2_2.1
jmp 0x48c760
cmp ecx, 0x4bc
mov ecx, edi
jne 0x48c69a
push str.Windows_95_OSR2.5
jmp 0x48c762
push str.Windows_95_Family
jmp 0x48c762
cmp esi, 0xa
jne 0x48c6d9
cmp ecx, 0x7ce
jne 0x48c6bb
push str.Windows_98
jmp 0x48c760
cmp ecx, 0x8ae
mov ecx, edi
jne 0x48c6cf
push str.Windows_98_SE
jmp 0x48c762
push str.Windows_98_Family
jmp 0x48c762
cmp esi, 0x5a
jne 0x48c6e5
push str.Windows_Me
jmp 0x48c760
push str.PLATFORM_WIN32_WINDOWS
jmp 0x48c760
push str.VER_PLATFORM_WIN32s
jmp 0x48c760
cmp ebx, 4
ja 0x48c6ff
push str.Windows_NT
jmp 0x48c760
cmp ebx, 5
jne 0x48c727
test esi, esi
jne 0x48c70f
push str.Windows_2000
jmp 0x48c760
cmp esi, 1
jne 0x48c71b
push str.Windows_XP
jmp 0x48c760
cmp esi, 2
jne 0x48c75b
push str.Windows_Server_2003
jmp 0x48c760
cmp ebx, 6
jne 0x48c75b
test esi, esi
jne 0x48c737
push str.Windows_Vista
jmp 0x48c760
cmp esi, 1
jne 0x48c743
push str.Windows_7
jmp 0x48c760
cmp esi, 2
jne 0x48c74f
push str.Windows_8
jmp 0x48c760
cmp esi, 3
jne 0x48c75b
push str.Windows_8.1
jmp 0x48c760
push str.VER_PLATFORM_WIN32_NT
mov ecx, edi
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 1
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push 0xa
push 0x64
push 0x64
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x10], 5
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
push esi
mov esi, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ltow_s]
call esi
add esp, 0x10
lea ecx, [ebp - 0x24]
push 0xffffffffffffffff
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::ReleaseBuffer]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push 0xa
push 0x64
push 0x64
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x10], 0x13
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
push ebx
call esi
add esp, 0x10
lea ecx, [ebp - 0x14]
push 0xffffffffffffffff
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::ReleaseBuffer]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 5
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0x2b
push dword [eax - 0xc]
push eax
push 1
lea eax, [ebp - 0x20]
push 0x4d7c8c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x20]
push 1
push 0x4d6fb4
mov dword [ebp - 0x10], 0x6b
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xeb
push dword [eax - 0xc]
mov ecx, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push dword [ecx - 0xc]
push ecx
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x18]
push 3
push 0x4d8a14
mov dword [ebp - 0x10], 0x1eb
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_3]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x10], 0xb
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x4d6eb0
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__21]
mov esi, eax
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 4], 9
mov ecx, esi
mov byte [ebp - 4], 0xa
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov esi, dword [esi]
mov dword [ebp - 0x10], 0x20b
add ebx, 0x40
jne 0x48c954
xor eax, eax
jmp 0x48c96f
mov eax, ebx
lea edx, [eax + 2]
nop dword [eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x48c960
sub eax, edx
sar eax, 1
push dword [esi - 0xc]
push esi
push eax
lea eax, [ebp - 0x28]
push ebx
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_3]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4