Function at 0x5bea9c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5bf3fd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x5bf3e2
mov eax, dword [ebp - 4]
call fcn.005bfea8
xor eax, eax
push ebp
push 0x5bf3d0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.005bfe70
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0040f4b0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x6f8424]
call fcn.0040db54
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.004084d4
xor eax, eax
push ebp
push 0x5bf3b3
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005afe58
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x5bec1b
mov eax, dword [ebp - 4]
call fcn.005c0674
cmp dword [eax + 8], 0
jle 0x5beb8b
mov eax, dword [ebp - 4]
call fcn.005c0674
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005afe58
mov edi, eax
dec edi
test edi, edi
jl 0x5bec1b
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x5bec17
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0040f4b0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x6f8424]
call fcn.0040db54
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.004084d4
inc ebx
dec edi
jne 0x5beba0
test byte [ebp - 5], 4
je 0x5bee2a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005afe58
mov edi, eax
dec edi
test edi, edi
jl 0x5bed05
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
call fcn.005ba298
test al, al
je 0x5becfd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x34]
call fcn.005bca0c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.005bea84
test al, al
jne 0x5becfd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.005bc9ac
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0040f4b0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x6f8424]
call fcn.0040db54
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.004084d4
inc ebx
dec edi
jne 0x5bec3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005afe58
mov edi, eax
sub edi, 2
test edi, edi
jl 0x5bee3a
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
cmp dword [eax + 0x34], 0
je 0x5bee20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x34]
call fcn.005bcb14
add al, 0xfe
sub al, 2
jae 0x5bee20
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005bd860
call fcn.005ba298
test al, al
jne 0x5bee20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
lea edx, [ebp - 0x20]
call fcn.005b9f58
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005bd860
lea edx, [ebp - 0x30]
call fcn.005b9f58
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.0040f590
test al, al
je 0x5bee20
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x40]
call fcn.0040f48c
test al, al
je 0x5bedd7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005bd860
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.005bcb24
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0040f4b0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x6f8424]
call fcn.0040db54
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.004084d4
inc ebx
dec edi
jne 0x5bed20
jmp 0x5bee3a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005afe58
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x5bef0d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005afe58
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x5bef1b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005afe58
add dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5bf404
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00409e5c
ret