Function at 0x40af90
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x40ede0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [esp + 8]
mov dword [esp + 0x28], 0
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x30]
lea eax, [esp + 6]
push eax
push ecx
mov byte [esp + 0x30], 1
call dword [0x41559c]
test eax, eax
je 0x40b071
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetSize
push 0xe022
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov eax, dword [esp + 0x14]
lea edx, [esp + 8]
push edx
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0xe007
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov edx, dword [esp + 0x14]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
lea eax, [esp + 0xc]
lea ecx, [esi + 0x64]
push eax
call fcn.004071b0
lea ecx, [esp + 8]
mov byte [esp + 0x28], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], 0xffffffff
call fcn.0040e12e
xor eax, eax
pop esi
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
add esp, 0x28
ret 4
mov ax, word [esp + 6]
cmp ax, 1
jne 0x40b0d5
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetSize
push 0xe022
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov edx, dword [esp + 0x14]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0xe01f
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov ecx, dword [esp + 0x14]
lea eax, [esp + 8]
push eax
push ecx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
lea edx, [esp + 0xc]
push edx
jmp 0x40b17d
cmp ax, 2
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x14]
jne 0x40b131
call sub.MFC42.DLL_CStringArray::SetSize
push 0xe022
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov ecx, dword [esp + 0x14]
lea eax, [esp + 8]
push eax
push ecx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0xe020
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov eax, dword [esp + 0x14]
lea edx, [esp + 8]
push edx
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
lea ecx, [esp + 0xc]
push ecx
jmp 0x40b17d
call sub.MFC42.DLL_CStringArray::SetSize
push 0xe022
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov eax, dword [esp + 0x14]
lea edx, [esp + 8]
push edx
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0xe021
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::LoadStringA
mov edx, dword [esp + 0x14]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 0x64]
call fcn.004071b0
lea ecx, [esp + 8]
mov byte [esp + 0x28], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], 0xffffffff
call fcn.0040e12e
mov ecx, dword [esp + 0x20]
mov eax, 1
pop esi
mov dword fs:[0], ecx
add esp, 0x28
ret 4