Function at 0x4b6c88
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4b6c90
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4b6ee1
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
push 0x64
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
mov ecx, 0x3c
mov eax, dword [0x4a96e4]
call fcn.004add00
test al, al
jne 0x4b6d29
lea ecx, [ebp - 0x14]
mov eax, dword [0x4d8794]
mov eax, dword [eax]
mov edx, 0x4b6efc
call fcn.004a800c
push dword [ebp - 0x14]
push 0x4b6f34
lea ecx, [ebp - 0x18]
mov eax, dword [0x4d8794]
mov eax, dword [eax]
mov edx, 0x4b6f40
call fcn.004a800c
push dword [ebp - 0x18]
push 0x4b6f58
mov eax, dword [ebp - 8]
mov edx, 4
call fcn.00405110
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov ecx, 0x5dc
mov eax, dword [ebp - 4]
call fcn.004b5518
jmp 0x4b6ec6
xor eax, eax
push ebp
push 0x4b6ea3
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x20]
mov eax, dword [0x4d8794]
mov eax, dword [eax]
mov edx, 0x4b6f64
call fcn.004a800c
push dword [ebp - 0x20]
push 0x4b6f34
lea ecx, [ebp - 0x24]
mov eax, dword [0x4d8794]
mov eax, dword [eax]
mov edx, 0x4b6f90
call fcn.004a800c
push dword [ebp - 0x24]
push 0x4b6f58
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00405110
mov edx, dword [ebp - 0x1c]
mov ecx, 0x12c
mov eax, dword [ebp - 4]
call fcn.004b5518
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov byte [ebp - 0xa], 0
mov dword [ebp - 0x10], 0xb
xor eax, eax
push ebp
push 0x4b6de4
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 0xa], 0
jne 0x4b6dda
mov edx, 0x12c
mov eax, dword [0x4a96e4]
call fcn.004a9978
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.0049c52c
mov byte [ebp - 0xa], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b6dee
cmp byte [ebp - 0xa], 0
jne 0x4b6df9
dec dword [ebp - 0x10]
jne 0x4b6da8
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0xa]
mov byte [eax + 0x5c], dl
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 4]
add eax, 0x58
mov ecx, 0x4b6fac
call fcn.0040509c
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x58]
mov edx, 0x4b6fbc
mov eax, dword [0x4a1d64]
call fcn.004a1eb0
test al, al
jne 0x4b6e51
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
lea eax, [ebp - 0x28]
mov edx, 0x4b6fd8
call fcn.0040509c
mov eax, dword [ebp - 0x28]
mov dl, 1
call fcn.004b2bc8
mov eax, dword [0x4d85d4]
mov eax, dword [eax]
call fcn.00463dfc
push 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x58]
mov ecx, 3
mov eax, dword [0x4a96e4]
call fcn.004add00
test al, al
je 0x4b6e89
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov byte [ebp - 9], 1
mov eax, dword [0x4d85d4]
mov eax, dword [eax]
call fcn.00463dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b6ec6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6ee8
lea eax, [ebp - 0x28]
mov edx, 6
call fcn.00404db4
ret