Function at 0x1018c507
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1025f836
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x8c], edi
jne 0x1018c546
xor eax, eax
jmp 0x1018c783
cmp dword [0x102a6cf8], edi
je 0x1018c559
push 0x102a9dfc
call dword [0x102ab298]
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x1018c576
cmp dword [esi + 8], 0x20
jge 0x1018c5a7
cmp dword [esi + 0x90], edi
jne 0x1018c576
push edi
mov ecx, esi
call fcn.1018fa5b
cmp dword [esi + 8], 0x20
jge 0x1018c5a7
cmp dword [esi + 0x94], edi
jne 0x1018c5a7
call fcn.1008b6fa
cmp dword [eax + 0x54], edi
je 0x1018c5a7
call fcn.1008b6ce
mov ecx, eax
call fcn.100a1f62
test eax, eax
jne 0x1018c5a7
push 1
mov ecx, esi
call fcn.1018fa5b
mov edx, dword [esi + 0x90]
mov dword [esi + 0x20], edi
test edx, edx
je 0x1018c5c4
cmp dword [esi + 8], 4
jle 0x1018c5bf
cmp dword [esi + 0x38], edi
je 0x1018c5c4
cmp dword [esi + 8], edi
jne 0x1018c5c6
mov ebx, edi
xor eax, eax
mov dword [esi + 0x2c], ebx
cmp dword [esi + 0x8c], eax
setne al
test eax, eax
jne 0x1018c5dd
call fcn.1021f333
lea eax, [esi + 0x44]
mov ecx, edi
test eax, eax
je 0x1018c5e9
mov ecx, dword [eax + 4]
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x1018c5d8
lea eax, [esi + 0x9c]
mov ecx, edi
test eax, eax
je 0x1018c603
mov ecx, dword [eax + 4]
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x1018c5d8
xor eax, eax
cmp dword [esi + 0xa4], edi
sete al
test eax, eax
je 0x1018c5d8
test ebx, ebx
je 0x1018c627
cmp dword [esi + 8], 0x20
jl 0x1018c62d
mov edx, dword [esi + 0x8c]
push edx
push dword [0x102a6cfc]
call dword [0x102ab05c]
mov ebx, dword [ebp + 8]
mov dword [ebx + 8], eax
test eax, eax
jne 0x1018c660
cmp dword [0x102a6cf8], edi
je 0x1018c53f
push 0x102a9dfc
call dword [0x102ab29c]
jmp 0x1018c53f
cmp dword [esi + 0x40], edi
je 0x1018c6a0
mov eax, dword [esi + 0x58]
push edi
push 1
add eax, 2
push 1
push eax
mov eax, dword [esi + 0x54]
add eax, 2
push eax
call dword [0x102ab11c]
push eax
push dword [0x102a6d00]
mov dword [ebx], eax
call dword [0x102ab05c]
mov dword [ebx + 4], eax
cmp dword [ebx], edi
je 0x1018c698
test eax, eax
jne 0x1018c6a0
push ebx
call fcn.1027ca71
jmp 0x1018c644
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x1018c6b8
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jle 0x1018c6b8
lea ebx, [esi + 0x64]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x1018c6c6
mov eax, dword [esi + 0x54]
lea ebx, [esi + 0x64]
mov dword [ebx], eax
mov eax, dword [esi + 0x58]
mov dword [ebx + 4], eax
cmp dword [esi + 8], 0x20
jne 0x1018c6d3
or dword [esp + 0x14], 0xffffffff
jmp 0x1018c6dd
mov eax, dword [esi + 0xa8]
mov dword [esp + 0x14], eax
push dword [esi + 0x58]
mov ecx, ebx
push dword [esi + 0x54]
call fcn.100aae2e
test eax, eax
jne 0x1018c6f9
cmp dword [esp + 0x14], 0xffffffff
je 0x1018c780
push edi
lea ecx, [esp + 0x1c]
call fcn.10274b6d
mov dword [esp + 0x38], edi
mov ecx, ebx
push dword [esi + 0x58]
push dword [esi + 0x54]
call fcn.100aae2e
push edi
mov dword [esi + 0x20], eax
call dword [0x102ab054]
push eax
lea ecx, [esi + 0x44]
call fcn.10273aed
mov ecx, dword [esi + 0x58]
mov eax, dword [esi + 0x54]
add ecx, 2
push ecx
add eax, 2
push eax
push dword [esp + 0x24]
call dword [0x102ab098]
lea ebx, [esi + 0x9c]
push eax
mov ecx, ebx
call fcn.10274d53
test ebx, ebx
je 0x1018c754
mov edi, dword [ebx + 4]
push edi
push dword [esi + 0x48]
call fcn.10273c3c
xor ecx, ecx
mov dword [esi + 0xa4], eax
test eax, eax
setne cl
test ecx, ecx
je 0x1018c5d8
or dword [esp + 0x38], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.10274be1
xor eax, eax
inc eax
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10