Function at 0x10009162
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push 0x168
mov eax, 0x100857b7
call fcn.1006d55a
xor ebx, ebx
mov dword [ebp - 0x154], ebx
mov dword [ebp - 4], ebx
call fcn.1000a366
test al, al
jne 0x10009212
mov eax, ebx
mov dword [ebp - 0x150], eax
lea esi, [ebp - 0x114]
mov ecx, ebx
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x148], esi
mov esi, dword [0x100c47a0]
lea ebx, [ecx + 1]
lea ecx, [eax + 1]
mov eax, esi
cdq
idiv ecx
mov eax, esi
mov ecx, esi
sub ecx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x148]
mov edi, edx
cdq
imul edi, ecx
idiv ebx
add edi, eax
sub edi, dword [ebp - 0x14c]
push edi
push 0x1008ac0c
mov dword [esi], edi
call fcn.1006dc67
pop ecx
pop ecx
push 4
pop eax
mov ecx, ebx
add esi, eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x148], esi
cmp ecx, 5
jl 0x100091a5
inc eax
push 0
mov dword [ebp - 0x150], eax
pop ebx
cmp eax, 0xd
jl 0x10009197
lea eax, [ebp - 0x154]
push eax
push 0x1008ae74
push 0x17
push ebx
push 0x100b8f68
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x10009540
mov dword [ebp - 0x15c], ebx
mov ecx, dword [0x100c47a0]
mov byte [ebp - 4], 1
lea eax, [ecx + 1]
imul eax, ecx
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x10009256
dec eax
or eax, 0xfffffff8
inc eax
cmp eax, 3
jne 0x10009274
xor esi, esi
inc esi
cmp ecx, esi
jle 0x1000926e
mov eax, ecx
cdq
idiv esi
inc esi
add esi, edx
cmp esi, ecx
jl 0x10009262
mov dword [0x100c47a0], esi
mov esi, dword [ebp - 0x154]
push str.rootcimv2
lea ecx, [ebp - 0x148]
call fcn.10009083
mov ecx, dword [esi]
lea edx, [ebp - 0x15c]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [eax]
mov byte [ebp - 4], 2
push esi
call dword [ecx + 0xc]
push dword [ebp - 0x148]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, eax
call edi
test esi, esi
js 0x1000952c
mov dword [ebp - 0x160], ebx
push str.Select_Product_from_Win32_BaseBoard
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 3
call fcn.10009083
mov esi, dword [ebp - 0x15c]
push 4
pop eax
push 0x1008aef8
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], al
call fcn.1000904e
mov ecx, dword [esi]
lea edx, [ebp - 0x160]
push edx
push ebx
push 0x20
push dword [ebp - 0x148]
mov byte [ebp - 4], 5
push dword [eax]
push esi
call dword [ecx + 0x50]
push 4
mov esi, eax
pop eax
push dword [ebp - 0x14c]
mov byte [ebp - 4], al
call edi
call fcn.1000a386
test al, al
jne 0x10009353
mov eax, dword [0x100c47a0]
push 0x64
cdq
pop ecx
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x2f4]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1006c443
push eax
call fcn.1006dc4d
pop ecx
pop ecx
test esi, esi
js 0x10009510
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x158], ebx
mov eax, dword [ebp - 0x160]
lea edx, [ebp - 0x164]
mov ecx, dword [eax]
push edx
lea edx, [ebp - 0x158]
push edx
push 1
push 0xffffffffffffffff
push eax
mov byte [ebp - 4], 6
call dword [ecx + 0x10]
test eax, eax
js 0x100094fa
push 0x10
lea eax, [ebp - 0x174]
push ebx
push eax
call fcn.1006de50
add esp, 0xc
lea eax, [ebp - 0x174]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
mov esi, 0x1008aefc
push esi
mov byte [ebp - 4], 7
mov dword [ebp - 0x118], 7
mov dword [ebp - 0x11c], ebx
mov word [ebp - 0x12c], ax
call fcn.1006dee0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x12c]
call fcn.1000a133
mov esi, str.duct
push esi
mov byte [ebp - 4], 8
call fcn.1006dee0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x12c]
call fcn.10009ffd
cmp dword [ebp - 0x118], 8
mov eax, dword [ebp - 0x158]
push ebx
mov ecx, dword [eax]
push ebx
lea esi, [ebp - 0x174]
push esi
lea edx, [ebp - 0x12c]
cmovae edx, dword [ebp - 0x12c]
push ebx
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x100094de
cmp dword [ebp - 0x16c], 0
je 0x100094de
push str.Virtu
lea ecx, [ebp - 0x144]
call fcn.10001027
mov esi, str.alBox
push esi
mov byte [ebp - 4], 9
call fcn.1006d400
pop ecx
push eax
push esi
lea ecx, [ebp - 0x144]
call fcn.10009eb5
push 3
push dword [ebp - 0x16c]
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
call fcn.10009950
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push eax
push dword [ebp - 0x94]
call fcn.1006e4b0
mov ebx, eax
neg ebx
sbb bl, bl
lea eax, [ebp - 0x90]
pop ecx
inc bl
pop ecx
cmp dword [ebp - 0x94], eax
je 0x100094d3
push dword [ebp - 0x94]
call fcn.1006e57a
pop ecx
lea ecx, [ebp - 0x144]
call fcn.10001056
push 0
push 1
lea ecx, [ebp - 0x12c]
call fcn.10009dc9
lea eax, [ebp - 0x174]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 4
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x158]
test eax, eax
je 0x10009510
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x148]
call edi
mov eax, dword [ebp - 0x160]
mov byte [ebp - 4], 1
test eax, eax
je 0x1000952c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x15c]
mov byte [ebp - 4], 0
test eax, eax
je 0x10009540
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x154]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x10009554
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov al, bl
call fcn.1006d509
ret