Function at 0xb8f40
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 - 6], cl
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0xb97f5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0xb97da
mov eax, dword [ebp - 4]
call fcn.000bad4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.000211b0
xor eax, eax
push ebp
push 0xb97d3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
xor eax, eax
push ebp
push 0xb97b3
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 + 0x24]
call fcn.000b1274
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0xb90c4
mov eax, dword [ebp - 4]
call fcn.000ba768
cmp dword [eax + 8], 0
jle 0xb9034
mov eax, dword [ebp - 4]
call fcn.000ba768
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
mov edi, eax
dec edi
test edi, edi
jl 0xb90c4
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0xb90c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
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 fcn.00016ca8
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
inc esi
dec edi
jne 0xb9049
test byte [ebp - 5], 4
je 0xb92d2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
mov edi, eax
dec edi
test edi, edi
jl 0xb91ab
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
cmp byte [eax + 0x34], 0
je 0xb91a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x38]
call fcn.000b6db4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.000b8f28
test al, al
jne 0xb91a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.000b6da0
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00016ca8
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
inc esi
dec edi
jne 0xb90e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
mov edi, eax
sub edi, 2
test edi, edi
jl 0xb92e2
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
cmp dword [eax + 0x38], 0
je 0xb92c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x38]
call fcn.000b6e4c
add al, 0xfe
sub al, 2
jae 0xb92c8
lea edx, [esi + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b78c4
cmp byte [eax + 0x34], 0
jne 0xb92c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
lea edx, [ebp - 0x20]
call fcn.000b4808
lea edx, [esi + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b78c4
lea edx, [ebp - 0x30]
call fcn.000b4808
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00017390
test eax, eax
je 0xb92c8
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.000171d0
test eax, eax
je 0xb927f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.000b6e5c
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00016ca8
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
inc esi
dec edi
jne 0xb91c6
jmp 0xb92e2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0xb93b1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
mov esi, eax
dec esi
cmp esi, 1
jl 0xb93bf
inc dword [ebp - 0xc]
mov ebx, esi
dec ebx
jmp 0xb930c
dec ebx
test ebx, ebx
jle 0xb933c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.000b78c4
cmp dword [eax + 0x38], 0
je 0xb933c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.000b78c4
mov eax, dword [eax + 0x38]
call fcn.000b6e4c
cmp al, 3
je 0xb930b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.000b78c4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
pop edx
call fcn.000b6678
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00016ca8
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x64]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
dec esi
test esi, esi
jne 0xb9303
jmp 0xb93bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
add dword [ebp - 0xc], eax
test byte [ebp - 5], 1
je 0xb9500
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
mov esi, eax
dec esi
cmp esi, 0
jl 0xb950e
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
call fcn.000b39a4
test al, al
jne 0xb94f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
cmp byte [eax + 0x34], 0
je 0xb94f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x38]
call fcn.000b6e34
movzx ebx, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
call fcn.000b6318
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
call fcn.000b39a4
test al, al
je 0xb94ab
test esi, esi
jle 0xb949e
mov edx, esi
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b78c4
cmp byte [eax + 0x34], 0
je 0xb949e
mov edi, esi
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b78c4
mov eax, dword [eax + 0x38]
call fcn.000b6e34
add ax, bx
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b78c4
mov eax, dword [eax + 0x38]
pop edx
call fcn.000b6e3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b12a4
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00016ca8
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
dec esi
cmp esi, 0xffffffff
jne 0xb93e0
jmp 0xb950e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0xb9736
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
mov esi, eax
dec esi
cmp esi, 0
jl 0xb96eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x30]
call fcn.000b1274
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0xb962d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.000b36ec
mov edx, dword [0xac7f8]
call fcn.0001317c
test al, al
jne 0xb960c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.000b36ec
mov edx, dword [0xac738]
call fcn.0001317c
test al, al
jne 0xb960c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.000b36ec
mov edx, dword [0xac9f0]
call fcn.0001317c
test al, al
jne 0xb960c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.000b36ec
mov edx, dword [0xacac4]
call fcn.0001317c
test al, al
je 0xb9623
test esi, esi
jg 0xb960c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
dec eax
jne 0xb9623
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.000b12a4
dec ebx
cmp ebx, 0xffffffff
jne 0xb955e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
cmp dword [eax + 0x38], 0
je 0xb96a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov ebx, dword [eax + 0x38]
mov eax, ebx
call fcn.000b6e34
test ax, ax
je 0xb966a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
dec eax
jne 0xb96a0
mov eax, ebx
call fcn.000b6d98
test al, al
jne 0xb96a0
mov eax, ebx
call fcn.000b6e44
test al, al
jne 0xb96a0
mov eax, ebx
call fcn.000b6e4c
sub al, 2
jb 0xb9699
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.000b1274
dec eax
jne 0xb96a0
mov eax, ebx
call fcn.00013004
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
call fcn.000b39a4
test al, al
je 0xb96e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
mov eax, dword [eax + 0x30]
call fcn.000b1274
test eax, eax
jne 0xb96e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.000b78c4
call fcn.00013004
dec esi
cmp esi, 0xffffffff
jne 0xb953d
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00016ca8
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x6c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
jmp 0xb9757
test byte [ebp - 5], 0x10
je 0xb9757
cmp byte [ebp - 6], 9
jne 0xb9757
lea edx, [ebp - 0x70]
mov eax, 0xace60
call fcn.00015ab0
mov eax, dword [ebp - 0x70]
call fcn.000ad048
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xb97ba
call fcn.0001bab0
test eax, eax
jne 0xb9774
mov esi, 0x64
jmp 0xb9776
xor esi, esi
mov eax, esi
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0002021c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, 0xace98
call fcn.00015ab0
mov eax, dword [ebp - 0x74]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.000131e0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xb97fc
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00013d50
ret