Function at 0x4ca800
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4fe6e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push ebp
push esi
mov ebx, ecx
xor esi, esi
push edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], ebx
xor edi, edi
mov dword [esp + 0x18], esi
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], esi
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [0x536d10]
mov byte [esp + 0x3c], 1
mov eax, dword [ecx + 0x11a4]
cmp eax, esi
jne 0x4ca859
xor ebp, ebp
jmp 0x4ca864
mov ebp, dword [ecx + 0x11a8]
sub ebp, eax
sar ebp, 2
test ebp, ebp
jle 0x4ca8ab
jmp 0x4ca870
mov ecx, dword [0x536d10]
mov eax, dword [ecx + 0x11a4]
mov eax, dword [eax + esi*4]
cmp dword [eax], 0
je 0x4ca8a6
cmp dword [eax + 0x10], 0xb
jne 0x4ca88f
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4ca88f
inc dword [esp + 0x18]
mov eax, dword [eax + 0x20]
push 0x5307a8
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x4ca8a6
inc edi
inc esi
cmp esi, ebp
jl 0x4ca86a
mov edx, dword [esp + 0x18]
xor eax, eax
test edx, edx
setg al
add edi, eax
mov eax, dword [ebx + 0x60]
cmp edi, eax
je 0x4ca8cb
mov ecx, ebx
call fcn.004ca290
jmp 0x4cac3a
mov ecx, dword [ebx + 0x84]
xor esi, esi
push esi
push esi
push 0x1004
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jle 0x4cac3a
lea edi, [ebx + 0x64]
push esi
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemData
mov ebp, eax
cmp ebp, 0x64
jbe 0x4ca9a9
push 0
lea edx, [esp + 0x20]
push esi
push edx
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
mov ecx, dword [ebp + 0x20]
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x1c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4ca93e
mov eax, dword [ebp + 0x20]
mov ecx, edi
push eax
push 0
push esi
call sub.MFC42.DLL_CListCtrl::SetItemText
mov eax, dword [ebp + 4]
test eax, eax
je 0x4ca94c
mov eax, 0x524578
jmp 0x4ca95d
mov eax, dword [ebp + 0x1c]
test eax, eax
mov eax, 0x52e6e0
jne 0x4ca95d
mov eax, 0x52e6d8
push eax
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_3
push 2
lea eax, [esp + 0x24]
push esi
push eax
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x20]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4cac17
mov edx, dword [esp + 0x10]
push edx
push 2
jmp 0x4cac0f
jne 0x4caa04
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
push 0x52e6b8
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x24]
mov ecx, edi
push 2
push esi
push edx
call sub.MFC42.DLL_CListCtrl::GetItemText
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x24]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4cac17
mov edx, dword [esp + 0x10]
push edx
push 2
jmp 0x4cac0f
cmp ebp, 5
ja case.0x4caa0d.1
jmp dword [ebp*4 + 0x4cac6c]
mov eax, dword [0x536278]
test eax, eax
je 0x4caa3c
push 0x52e6ac
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_3
mov edx, dword [0x5362a8]
push edx
push 0x52e69c
jmp 0x4cab8a
mov eax, dword [0x536290]
lea ecx, [esp + 0x10]
push eax
push 0x52e6a4
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [0x5362a8]
add esp, 0xc
push edx
push 0x52e69c
jmp 0x4cab8a
mov eax, dword [0x536280]
test eax, eax
je 0x4caa7e
push 0x52e6ac
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_3
jmp 0x4caa97
mov ecx, dword [0x536294]
lea edx, [esp + 0x10]
push ecx
push 0x52e6a4
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov eax, dword [0x5362ac]
lea ecx, [esp + 0x14]
push eax
push 0x5280e4
push ecx
jmp 0x4cab8f
mov eax, dword [0x53627c]
test eax, eax
je 0x4caac5
push 0x52e6ac
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_3
jmp 0x4caade
mov edx, dword [0x536298]
lea eax, [esp + 0x10]
push edx
push 0x52e6a4
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov ecx, dword [0x5362b0]
lea edx, [esp + 0x14]
push ecx
push 0x5280e4
push edx
jmp 0x4cab8f
mov eax, dword [0x536284]
test eax, eax
je 0x4cab13
push 0x52e6ac
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_3
mov edx, dword [0x5362b4]
jmp 0x4cab84
mov eax, dword [0x53629c]
lea ecx, [esp + 0x10]
push eax
push 0x52e6a4
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [0x5362b4]
add esp, 0xc
jmp 0x4cab84
mov eax, dword [0x536274]
test eax, eax
je 0x4cab4c
push 0x52e6ac
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_3
jmp 0x4cab7e
mov eax, dword [0x53628c]
mov ecx, dword [0x536544]
cmp eax, ecx
jl 0x4cab6b
push 0x52e680
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_3
jmp 0x4cab7e
push eax
lea ecx, [esp + 0x14]
push 0x52e6a4
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov edx, dword [0x5362a4]
push edx
push 0x5280e4
lea eax, [esp + 0x1c]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 2
lea ecx, [esp + 0x2c]
push esi
push ecx
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
mov ebp, dword [sym.imp.MSVCRT.dll__mbscmp]
push edx
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4cabda
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
push 2
push esi
call sub.MFC42.DLL_CListCtrl::SetItemText
push 3
lea ecx, [esp + 0x30]
push esi
push ecx
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
mov edx, dword [esp + 0x14]
mov eax, dword [eax]
push edx
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x2c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4cac17
mov eax, dword [esp + 0x14]
push eax
push 3
push esi
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::SetItemText
mov ecx, dword [esp + 0x30]
push 0
push 0
push 0x1004
mov edx, dword [ecx + 0x84]
inc esi
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp esi, eax
jl 0x4ca8ec
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x3c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret