Function at 0x4bbf9c
Capabilities:
Connect to wmi namespace via wbemlocator
Get number of processor cores
Reference wmi statements

Disassembly:
push 0x28
mov eax, 0x5824ad
call fcn.004fb967
xor esi, esi
push 0x602968
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x24], esi
call fcn.00431ef7
mov dword [ebp - 4], 2
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 6
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 8
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x20]
push eax
push 0x5a588c
push 0x17
push esi
push 0x5b4418
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, esi
jge 0x4bc055
mov ecx, dword [ebp + 8]
push 0x59a2c0
call fcn.0043479c
mov dword [ebp - 0x24], 1
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x4bc01d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x4bc02e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x4bc03f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x4bc050
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4bc37c
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
push esi
push esi
push esi
push esi
push esi
push esi
push str.ROOTCIMV2
push eax
call dword [ecx + 0xc]
cmp eax, esi
jge 0x4bc0ce
mov ecx, dword [ebp + 8]
push 0x59a2c0
call fcn.0043479c
mov dword [ebp - 0x24], 1
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x4bc096
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x4bc0a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x4bc0b8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x4bc0c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4bc37c
push esi
push esi
push 3
push 3
push esi
push esi
push 0xa
push dword [ebp - 0x1c]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, esi
jge 0x4bc142
mov ecx, dword [ebp + 8]
push 0x59a2c0
call fcn.0043479c
mov dword [ebp - 0x24], 1
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x4bc10a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x4bc11b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x4bc12c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x4bc13d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4bc37c
mov edi, dword [ebp - 0x1c]
push str.SELECT__FROM_Win32_Processor
lea ecx, [ebp - 0x2c]
call fcn.004a416f
mov ebx, eax
mov byte [ebp - 4], 0x1a
push 0x5a85dc
lea ecx, [ebp - 0x28]
call fcn.004a416f
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebx]
cmp ecx, esi
je 0x4bc173
mov ecx, dword [ecx]
jmp 0x4bc175
xor ecx, ecx
mov eax, dword [eax]
cmp eax, esi
je 0x4bc17f
mov eax, dword [eax]
jmp 0x4bc181
xor eax, eax
mov edx, dword [edi]
lea ebx, [ebp - 0x18]
push ebx
push esi
push 0x30
push ecx
push eax
push edi
call dword [edx + 0x50]
mov edi, eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
je 0x4bc1a5
call fcn.004a8412
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x2c]
cmp ecx, esi
je 0x4bc1b8
call fcn.004a8412
mov dword [ebp - 0x2c], esi
cmp edi, esi
jge 0x4bc219
mov ecx, dword [ebp + 8]
push 0x59a2c0
call fcn.0043479c
mov dword [ebp - 0x24], 1
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x4bc1e1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x4bc1f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x4bc203
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x4bc214
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4bc37c
xor ebx, ebx
inc ebx
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x18], esi
je 0x4bc329
cmp dword [ebp - 0x10], esi
je 0x4bc237
push esi
lea eax, [ebp - 0x10]
push eax
call fcn.0049fbbd
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
lea edx, [ebp - 0x10]
push edx
push ebx
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp dword [ebp - 0x30], esi
je 0x4bc329
push 0x5a85d0
push ecx
mov ecx, dword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 0x34], eax
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], esp
cmp eax, esi
je 0x4bc274
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0xa
call fcn.004bbeea
add esp, 0xc
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x14]
call fcn.00433c20
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.004310e3
push str.NumberOfCores
push ecx
mov ecx, dword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], esp
cmp eax, esi
je 0x4bc2c4
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 0xa
call fcn.004a41f2
mov edi, eax
pop ecx
pop ecx
mov ecx, edi
add ecx, 0xffffffff
mov eax, edx
adc eax, 0xffffffff
cmp eax, esi
ja 0x4bc329
jb 0x4bc2ea
cmp ecx, 7
ja 0x4bc329
cmp edi, 2
jne 0x4bc2f3
cmp edx, esi
je 0x4bc313
cmp edi, 3
jne 0x4bc2fc
cmp edx, esi
je 0x4bc30c
cmp edi, 4
jne 0x4bc329
cmp edx, esi
jne 0x4bc329
mov edi, 0x5a85ac
jmp 0x4bc318
mov edi, 0x5a85a4
jmp 0x4bc318
mov edi, 0x5a859c
push edi
call fcn.004fb22e
pop ecx
push eax
push edi
lea ecx, [ebp - 0x14]
call fcn.0043a942
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
call fcn.004324a9
mov dword [ebp - 0x24], ebx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x4bc349
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x4bc35a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x4bc36b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x4bc37c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004310e3
mov eax, dword [ebp + 8]
call fcn.004fba3f
ret