Function at 0x566ceb
Capabilities:
Connect to wmi namespace via wbemlocator
Reference wmi statements

Disassembly:
push ebp
push ebx
mov edx, 0xb
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x566cf2
call fcn.00417e10
mov ebp, dword [0x51ed0c]
cmp dword [ebp + 0x38], 0
je 0x566d15
jmp 0x5670ce
push 0
push 0
call sub.ole32.dll_CoInitializeEx
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffff
push 0
call sub.ole32.dll_CoInitializeSecurity
mov ebx, eax
and ebx, ebx
jne 0x5670c7
lea eax, [esp]
push eax
mov ebp, 0x4da6f4
push ebp
push 1
push 0
mov ebp, 0x4da6e4
push ebp
call sub.ole32.dll_CoCreateInstance
mov ebx, eax
and ebx, ebx
jne 0x5670c7
lea eax, [esp + 4]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, str.ROOTCIMV2
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
mov ebx, eax
and ebx, ebx
jne 0x5670be
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x20]
call sub.ole32.dll_CoSetProxyBlanket
lea eax, [esp + 8]
push eax
push 0
push 0x30
mov eax, str.SELECT__FROM_Win32_Processor
push eax
mov eax, 0x4d53a2
push eax
mov eax, dword [esp + 0x18]
push eax
mov eax, dword [eax]
call dword [eax + 0x50]
mov ebx, eax
and ebx, ebx
jne 0x5670b4
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
push 1
push 0xffffffff
mov eax, dword [esp + 0x18]
push eax
mov eax, dword [eax]
call dword [eax + 0x10]
mov ebx, eax
and ebx, ebx
jne 0x5670aa
mov dword [esp + 0x28], 0x33
jmp 0x566e53
mov eax, 0x3d
cmp eax, dword [esp + 0x28]
jl 0x56709b
mov ebx, dword [esp + 0x28]
mov ebp, dword [0x51ed1c]
shl ebx, 2
mov edx, dword [ebp + ebx]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
lea eax, [esp + 0x28]
push eax
call fcn.00417d00
mov ebx, dword [esp + 0x28]
shl ebx, 2
mov edx, 0x4d302e
lea ecx, [ebp + ebx]
call fcn.004011b8
lea eax, [esp + 0xc]
push eax
call sub.OLEAUT32.dll_VariantClear
push 0
push 0
lea eax, [esp + 0x14]
push eax
push 0
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [eax]
call dword [eax + 0x10]
mov ebx, eax
and ebx, ebx
jne 0x567091
lea ebp, [esp + 0xc]
movsx ebx, word [ebp]
push ebx
mov ebx, 3
cmp ebx, dword [esp]
jne 0x566fab
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
lea ebp, [esp + 0x20]
mov eax, dword [ebp + 8]
cdq
push edx
push eax
call fcn.00416b50
call fcn.004011f2
add dword [esp], edx
call fcn.00417440
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ed1c]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.00417d00
mov eax, 0x4d3028
push eax
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ed1c]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00415a90
and eax, eax
je 0x566fa6
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov eax, 0x4d3342
push eax
mov eax, 0x4d3028
push eax
mov ebx, dword [esp + 0x3c]
mov ebp, dword [0x51ed1c]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00416a60
mov ebx, dword [esp + 0x30]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.00417d00
jmp 0x566f41
jmp 0x567086
mov ebx, 9
cmp ebx, dword [esp]
jne 0x566fba
jmp 0x567086
mov ebx, 8
cmp ebx, dword [esp]
jne 0x56707f
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
lea ebp, [esp + 0x20]
push dword [ebp + 8]
call fcn.00417970
call fcn.004011f2
add dword [esp], edx
call fcn.00417440
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ed1c]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.00417d00
mov eax, 0x4d3028
push eax
mov ebx, dword [esp + 0x30]
mov ebp, dword [0x51ed1c]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00415a90
and eax, eax
je 0x56707d
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov eax, 0x4d3342
push eax
mov eax, 0x4d3028
push eax
mov ebx, dword [esp + 0x3c]
mov ebp, dword [0x51ed1c]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00416a60
mov ebx, dword [esp + 0x30]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.00417d00
jmp 0x567018
jmp 0x567086
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x567086
pop eax
lea eax, [esp + 0xc]
push eax
call sub.OLEAUT32.dll_VariantCopy
inc dword [esp + 0x28]
jno 0x566e53
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x566e21
mov eax, dword [esp + 8]
push eax
mov eax, dword [eax]
call dword [eax + 8]
mov eax, dword [esp + 4]
push eax
mov eax, dword [eax]
call dword [eax + 8]
mov eax, dword [esp]
push eax
mov eax, dword [eax]
call dword [eax + 8]
call sub.ole32.dll_CoUninitialize
xor eax, eax
push dword [esp + 0x24]
call fcn.00417f00
add esp, 0x2c
pop ebx
pop ebp
ret