Function at 0x4ff22c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4ff48b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c]
mov dl, byte [0x59ba44]
call fcn.004045c4
mov eax, dword [ebp - 0x1c]
mov edx, ebx
call fcn.004049f0
test eax, eax
jne 0x4ff277
mov eax, dword [ebp - 4]
call fcn.0041f63c
jmp 0x4ff470
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4e7690]
call fcn.004ff1e0
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov ecx, ebx
mov dl, 1
call dword [eax + 0x28]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x18]
mov dl, byte [0x59ba44]
call fcn.004045c4
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x18], 0
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x1b], 0
xor eax, eax
push ebp
push 0x4ff469
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
lea eax, [ebp - 0x10]
call fcn.004043dc
mov edx, eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, eax
test esi, esi
je 0x4ff2f7
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
call fcn.004047f8
jne 0x4ff2d2
mov bl, 1
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
call fcn.004047f8
jne 0x4ff3d7
mov edx, esi
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
test al, al
je 0x4ff3d7
lea eax, [ebp - 0x10]
call fcn.004043dc
mov edx, eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, eax
cmp esi, 0xffffff99
je 0x4ff34f
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
call dword [eax + 0x3c]
test al, al
je 0x4ff346
cmp esi, 0xffffff97
je 0x4ff34f
cmp esi, 0x64
jl 0x4ff3d7
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00404474
cmp esi, 0xffffff97
jne 0x4ff38c
lea eax, [ebp - 0x10]
call fcn.004043dc
mov edx, eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, eax
cmp esi, 0xffffff99
je 0x4ff37d
cmp esi, 0x64
jl 0x4ff38a
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.004046b4
jmp 0x4ff38c
xor ebx, ebx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.004ffa78
mov edi, eax
test edi, edi
jne 0x4ff3d7
mov eax, dword [ebp - 8]
call fcn.0041f570
mov edi, eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004ffa78
test eax, eax
je 0x4ff3cc
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004ffa78
mov edx, eax
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x4ff3d7
lea eax, [edi + 0xc]
mov edx, dword [ebp - 0x14]
call fcn.00404430
test bl, bl
je 0x4ff2f7
test esi, esi
jne 0x4ff2d2
mov eax, dword [ebp - 4]
call fcn.0041f6e0
mov ebx, eax
mov eax, dword [ebp - 8]
call fcn.0041f6e0
cmp ebx, eax
je 0x4ff401
mov bl, 1
jmp 0x4ff43c
xor ebx, ebx
mov eax, dword [ebp - 4]
call fcn.0041f6e0
mov esi, eax
dec esi
test esi, esi
jl 0x4ff43c
inc esi
xor edi, edi
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.004ff994
push eax
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.004ff994
pop edx
call fcn.004ff144
test al, al
jne 0x4ff438
mov bl, 1
jmp 0x4ff43c
inc edi
dec esi
jne 0x4ff415
test bl, bl
je 0x4ff44b
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ff470
mov eax, dword [ebp - 0xc]
call fcn.004035c0
mov eax, dword [ebp - 8]
call fcn.004035c0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ff492
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00404400
ret