Function at 0x7e9028
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x7e949a
xor edx, edx
push ebp
push 0x7e9490
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x7e947c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
cmp byte [eax + 0x46d], 0
je 0x7e947c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4b4], 0
jl 0x7e947c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005f6738
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x4b4]
jle 0x7e947c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00619cd4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00619c4c
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jl 0x7e947c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00619d18
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00619c90
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jl 0x7e947c
xor edx, edx
push ebp
push 0x7e9475
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.007a5b9c
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x3f4]
jne 0x7e914b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xc4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3cc]
xor edx, edx
call fcn.006e5a8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c8]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c8]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3cc]
mov edx, 0x64
call fcn.006e5a64
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c8], edx
mov eax, dword [ebp - 4]
push eax
push 0x7df4bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x11c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 1
sete al
test al, al
je 0x7e9328
xor edx, edx
push ebp
push 0x7e9321
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
mov cl, 1
mov edx, 0x7e94ac
call fcn.005d1770
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov dl, 5
call fcn.00633c60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d4]
cmp eax, 0x64
jg 0x7e9256
push 0x40100000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
call fcn.005ec10c
jmp 0x7e92e9
cmp eax, 0xc8
jg 0x7e9279
push 0x40140000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
call fcn.005ec10c
jmp 0x7e92e9
push 0x4003
push 0xa0000000
push 0
push 0x4001
push 0xe0000000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d4]
sub eax, 0x12c
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fdiv dword [0x7e94b4]
fmul dword [0x7e94b8]
fadd dword [0x7e94b8]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0043803c
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00437f78
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
call fcn.005ec10c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7e93e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov dl, 1
call fcn.00633c60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
mov byte [eax + 0x30], 1
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d4]
cmp eax, 0x64
jg 0x7e9355
push 0x40240000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
call fcn.005ec10c
jmp 0x7e93e8
cmp eax, 0xc8
jg 0x7e9378
push 0x402e0000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
call fcn.005ec10c
jmp 0x7e93e8
push 0x4004
push 0xc8000000
push 0
push 0x4003
push 0xb0000000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d4]
sub eax, 0x12c
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fdiv dword [0x7e94b4]
fmul dword [0x7e94bc]
fadd dword [0x7e94c0]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0043803c
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00437f78
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00624ac0
call fcn.005ec10c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007e25f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
cmp byte [eax + 0x46d], 0
je 0x7e940b
mov dl, 1
call fcn.0061c2dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7e947c
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.007a5bc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c8]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3cc]
xor edx, edx
call fcn.006e5a8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3cc]
mov edx, 0x64
call fcn.006e5a64
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x11c]
mov eax, dword [ebp - 4]
call fcn.007df304
ret
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007e3310
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7e949a
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret