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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a2478
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x47bbc1
cmp dword [ebp - 0x10], 0x80010106
je 0x47bbc1
xor al, al
jmp 0x47bff5
xor eax, eax
mov byte [ebp - 0x11], al
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x90], esp
lea edx, [ebp - 0x11]
push edx
call fcn.0047a2a0
lea ecx, [ebp - 0xdc]
call fcn.004154c0
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 0
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x47bc3a
cmp dword [ebp - 0x10], 0x80010119
je 0x47bc3a
mov byte [ebp - 0x12], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00417ea0
mov al, byte [ebp - 0x12]
jmp 0x47bff5
lea ecx, [ebp - 0x20]
call fcn.00412550
mov byte [ebp - 4], 1
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x20]
call fcn.0047ab20
mov ecx, eax
call fcn.0047aa50
push eax
push 0x5c13dc
push 1
push 0
push 0x5c13ec
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x47bca4
mov byte [ebp - 0x13], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0047a970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00417ea0
mov al, byte [ebp - 0x13]
jmp 0x47bff5
lea ecx, [ebp - 0x1c]
call fcn.00412550
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.004192d0
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x9c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.0047ab20
mov ecx, eax
call fcn.0047aa50
mov dword [ebp - 0x48], eax
push str.ROOTCIMV2
lea ecx, [ebp - 0x54]
call fcn.004695d0
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], edx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x44]
call fcn.0046ad10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
call dword [ebp - 0x50]
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54]
call fcn.0046a5e0
cmp dword [ebp - 0x10], 0
jge 0x47bd6a
mov byte [ebp - 0x14], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.0047a970
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0047a970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00417ea0
mov al, byte [ebp - 0x14]
jmp 0x47bff5
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
lea ecx, [ebp - 0x1c]
call fcn.004192d0
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x47bdc6
mov byte [ebp - 0x15], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.0047a970
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0047a970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00417ea0
mov al, byte [ebp - 0x15]
jmp 0x47bff5
lea ecx, [ebp - 0x24]
call fcn.00412550
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.004192d0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x74], edx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x24]
call fcn.0047ab20
mov ecx, eax
call fcn.0047aa50
mov dword [ebp - 0x68], eax
push str.SELECT__FROM_Win32_ComputerSystemProduct
lea ecx, [ebp - 0x7c]
call fcn.0047a710
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x5c]
call fcn.0046ad10
mov dword [ebp - 0x6c], eax
push 0x5b32dc
lea ecx, [ebp - 0x78]
call fcn.0047a710
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], edx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x64]
call fcn.0046ad10
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x68]
push eax
push 0
push 0x30
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x30]
push eax
call dword [ebp - 0x74]
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x78]
call fcn.0046a5e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x7c]
call fcn.0046a5e0
cmp dword [ebp - 0x10], 0
jge 0x47bec5
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.0047a970
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.0047a970
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0047a970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00417ea0
mov al, byte [ebp - 0x16]
jmp 0x47bff5
lea ecx, [ebp - 0x28]
call fcn.00412550
mov byte [ebp - 4], 7
mov dword [ebp - 0x38], 0
lea ecx, [ebp - 0x24]
call fcn.0047aa20
cmp eax, 0xffffffff
je 0x47bfac
lea ecx, [ebp - 0x24]
call fcn.004192d0
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0xa4]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0047ab20
mov ecx, eax
call fcn.0047aa50
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x80]
push eax
push 1
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x34]
push ecx
call dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x38], 0
jne 0x47bf3f
jmp 0x47bfac
lea edx, [ebp - 0xb4]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x28]
call fcn.004192d0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x88], edx
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push 0
push 0x5b32e0
mov ecx, dword [ebp - 0x3c]
push ecx
call dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005830a1
add esp, 8
lea ecx, [ebp - 0xb4]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x47bed8
mov byte [ebp - 0x17], 1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.0047a970
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.0047a970
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.0047a970
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0047a970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00417ea0
mov al, byte [ebp - 0x17]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret