Function at 0x95028
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd68
push ebx
push esi
push edi
mov dword [ebp - 0x280], eax
lea esi, [ebp - 0x270]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
jne 0x954b1
test eax, eax
jne 0x95075
mov dl, 1
mov eax, dword [0x2b494]
call fcn.00031b04
mov edx, dword [ebp - 0x280]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x284], eax
mov byte [ebp - 0x285], 1
lea edx, [ebp - 0x26c]
mov eax, dword [ebp - 0x280]
call fcn.00094648
xor edx, edx
push ebp
push 0x954aa
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x9547b
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.00032cd0
mov eax, dword [ebp - 0x280]
cmp byte [eax + 0x36], 1
je 0x950dd
cmp dword [ebp - 0x19c], 1
jne 0x950ef
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
mov dl, 3
call fcn.00033074
jmp 0x950ff
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
mov dl, 6
call fcn.00033074
push 0
push 0
push 0
lea eax, [ebp - 0x298]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.000215d8
lea eax, [ebp - 0x298]
push eax
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x280]
mov bx, 0xfffd
call fcn.00013264
xor edx, edx
push ebp
push 0x95467
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x951a3
mov edx, dword [ebp - 0x280]
cmp byte [edx + 0x36], 1
jne 0x95192
mov edx, eax
lea eax, [ebp - 0x1c4]
call fcn.00094db0
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x30]
call fcn.00031894
mov edx, eax
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov byte [ebp - 0x285], 0
jmp 0x951a3
push eax
call fcn.00017744
mov eax, dword [ebp - 0x280]
xor edx, edx
mov dword [eax + 0x30], edx
lea eax, [ebp - 0x1c4]
call fcn.000971dc
mov eax, dword [ebp - 0x280]
mov ebx, dword [eax + 0x24]
xor edx, edx
mov eax, ebx
call fcn.00032cd0
mov edx, dword [ebp - 0x158]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [ebp - 0x154]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor edx, edx
mov eax, ebx
call fcn.000321d8
mov dword [esi], eax
mov edx, 1
mov eax, ebx
call fcn.000321d8
sub eax, dword [esi]
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
jle 0x95219
test byte [ebp - 0x27c], 3
jne 0x95219
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x274], eax
jmp 0x95223
mov dword [ebp - 0x274], 1
cmp dword [ebp - 0x188], 0
je 0x95359
jmp 0x952ef
lea eax, [ebp - 0x1c4]
mov edx, dword [ebp - 0x138]
call fcn.0009749c
mov eax, dword [ebp - 0x1bc]
cmp dword [eax + 0xc], 0
jne 0x9529b
cmp dword [ebp - 0x140], 0
je 0x9529b
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
call fcn.00032154
cmp al, 3
jne 0x9529b
cmp byte [ebp - 0x285], 0
je 0x9529b
lea eax, [ebp - 0x1c4]
call fcn.00094d08
mov edx, eax
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x280]
mov byte [eax + 0x1a], 1
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.000321d8
mov dword [esi], eax
jmp 0x952d6
mov edx, esi
lea eax, [ebp - 0x1c4]
mov ecx, dword [ebp - 0x274]
call fcn.00097360
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
imul dword [ebp - 0x278]
add dword [esi], eax
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x154]
jb 0x952af
lea eax, [ebp - 0x1c4]
call fcn.000974fc
lea eax, [ebp - 0x1c4]
call fcn.00095d38
cmp eax, 2
jne 0x95235
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x170], eax
cmp byte [ebp - 0x1cc], 0
je 0x95336
mov dword [ebp - 0x16c], 0xffffffff
xor eax, eax
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x1c4]
mov edx, dword [ebp - 0x138]
call fcn.0009749c
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.000321d8
mov dword [esi], eax
cmp dword [ebp - 0x188], 0
je 0x9536b
cmp byte [ebp - 0x1cc], 0
je 0x953b4
cmp dword [ebp - 0x140], 0
je 0x953b4
cmp byte [ebp - 0x285], 0
je 0x953b4
lea eax, [ebp - 0x1c4]
call fcn.00094d08
mov edx, eax
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x280]
mov byte [eax + 0x1a], 1
mov eax, dword [ebp - 0x280]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.000321d8
mov dword [esi], eax
push ebp
call fcn.00094ec0
pop ecx
cmp dword [ebp - 0x188], 0
je 0x953cf
lea eax, [ebp - 0x1c4]
call fcn.000974fc
lea eax, [ebp - 0x1c4]
call fcn.00095e4c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x95471
call fcn.0001ca04
test eax, eax
jne 0x953fc
mov dword [ebp - 0x27c], 0x64
jmp 0x95404
xor eax, eax
mov dword [ebp - 0x27c], eax
mov al, byte [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x280]
mov al, byte [eax + 0x1a]
push eax
push 0
lea eax, [ebp - 0x298]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.000215d8
lea eax, [ebp - 0x298]
push eax
push 0
mov cl, 2
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x280]
mov bx, 0xfffd
call fcn.00013264
mov eax, dword [ebp - 0x280]
cmp byte [eax + 0x1a], 0
je 0x95466
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x280]
mov ecx, dword [eax]
call dword [ecx + 0x10]
ret
mov eax, dword [ebp - 0x284]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret