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

Disassembly:
push 0x20
mov eax, 0x4c8f6f
call fcn.0044d75c
xor ebx, ebx
push 0x502868
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x28], ebx
call fcn.0040fd3c
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x20]
push eax
push 0x4d2c9c
push 0x17
push ebx
push 0x4dabc4
mov byte [ebp - 4], 4
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jge 0x42f8ac
mov ecx, dword [ebp + 8]
push 0x4d02f4
call fcn.0041217e
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x42f867
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x42f878
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x42f889
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x42f899
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040f083
mov eax, dword [ebp + 8]
jmp 0x42fab3
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push str.ROOTCIMV2
push eax
call dword [ecx + 0xc]
cmp eax, ebx
jl 0x42f849
push ebx
push ebx
push 3
push 3
push ebx
push ebx
push 0xa
push dword [ebp - 0x1c]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, ebx
jl 0x42f849
mov esi, dword [ebp - 0x1c]
push str.SELECT__FROM_Win32_Processor
lea ecx, [ebp - 0x2c]
call fcn.00424b07
mov edi, eax
push 0x4d4a24
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00424b07
mov ecx, dword [edi]
mov byte [ebp - 4], 6
cmp ecx, ebx
je 0x42f914
mov ecx, dword [ecx]
jmp 0x42f916
xor ecx, ecx
mov eax, dword [eax]
cmp eax, ebx
je 0x42f920
mov eax, dword [eax]
jmp 0x42f922
xor eax, eax
mov edx, dword [esi]
lea edi, [ebp - 0x18]
push edi
push ebx
push 0x30
push ecx
push eax
push esi
call dword [edx + 0x50]
mov ecx, dword [ebp - 0x24]
mov esi, eax
cmp ecx, ebx
je 0x42f942
call fcn.0042570b
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 4
cmp ecx, ebx
je 0x42f952
call fcn.0042570b
cmp esi, ebx
jl 0x42f849
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x18], ebx
je 0x42fa52
cmp dword [ebp - 0x10], ebx
je 0x42f975
push ebx
lea eax, [ebp - 0x10]
push eax
call fcn.004236ba
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0x10]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp dword [ebp - 0x28], ebx
je 0x42fa52
push str.Name
push ecx
mov ecx, dword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 0x2c], esp
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x42f9b0
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
lea eax, [ebp - 0x2c]
push eax
call fcn.0042f753
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.004115eb
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.0040f083
push str.NumberOfCores
push ecx
mov ecx, dword [ebp - 0x10]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], esp
cmp eax, ebx
je 0x42f9f5
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
call fcn.00424b72
mov esi, eax
pop ecx
pop ecx
mov ecx, esi
add ecx, 0xffffffff
mov eax, edx
adc eax, 0xffffffff
cmp eax, ebx
ja 0x42fa52
jb 0x42fa13
cmp ecx, 7
ja 0x42fa52
cmp esi, 2
jne 0x42fa1c
cmp edx, ebx
je 0x42fa3c
cmp esi, 3
jne 0x42fa25
cmp edx, ebx
je 0x42fa35
cmp esi, 4
jne 0x42fa52
cmp edx, ebx
jne 0x42fa52
mov esi, 0x4d49f4
jmp 0x42fa41
mov esi, 0x4d49ec
jmp 0x42fa41
mov esi, 0x4d49e4
push esi
call fcn.0044c78e
pop ecx
push eax
push esi
lea ecx, [ebp - 0x14]
call fcn.0041ed16
mov esi, dword [ebp - 0x14]
add esi, 0xfffffff0
push esi
call fcn.0040f61d
mov edi, dword [ebp + 8]
add eax, 0x10
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
pop ecx
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x42fa78
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x42fa89
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x42fa9a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x42faaa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, esi
call fcn.0040f083
mov eax, edi
call fcn.0044d834
ret