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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc
mov eax, dword [0x4b4810]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
mov ebx, esi
mov dword [ebp - 0xdc], edi
push esi
mov dword [ebp - 0xc8], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x46b50b
or eax, 0xffffffff
jmp 0x46b81d
push esi
push esi
push esi
push 3
push esi
push esi
push esi
push 0xffffffffffffffff
push esi
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x46b52e
cmp eax, 0x80010119
je 0x46b52e
push 0xfffffffffffffffe
jmp 0x46b814
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc0], esi
push eax
push 0x40c124
push 1
push esi
push 0x40c114
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ecx, dword [ebp - 0xc0]
test eax, eax
js 0x46b808
test ecx, ecx
je 0x46b812
lea edx, [ebp - 0xb8]
mov dword [ebp - 0xb8], esi
mov eax, dword [ecx]
push edx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x405630
push ecx
call dword [eax + 0xc]
test eax, eax
js 0x46b7e8
cmp dword [ebp - 0xb8], ebx
je 0x46b7f8
push esi
push esi
push 3
push 3
push esi
push esi
push 0xa
push dword [ebp - 0xb8]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x46b5d3
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x46b5c0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xfffffffffffffffb
jmp 0x46b814
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0xbc]
push edx
push esi
push 0x30
push 0x405648
mov dword [ebp - 0xbc], esi
mov ecx, dword [eax]
push 0x405684
push eax
call dword [ecx + 0x50]
test eax, eax
mov eax, dword [ebp - 0xbc]
js 0x46b7d9
test eax, eax
je 0x46b7d9
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc8], esi
mov ecx, dword [eax]
lea edx, [ebp - 0xc8]
push edx
lea edx, [ebp - 0xc4]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp dword [ebp - 0xc8], esi
je 0x46b7d1
cmp dword [ebp - 0xc4], esi
je 0x46b7d1
xor eax, eax
lea edi, [ebp - 0xd8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xd8]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
push eax
call edi
lea eax, [ebp - 0xd8]
push eax
call edi
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xd8]
push esi
push esi
push edx
mov ecx, dword [eax]
push esi
push 0x40568c
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x46b75c
cmp word [ebp - 0xd8], 8
jne 0x46b77c
cmp dword [ebp - 0xd0], esi
je 0x46b77c
push 0xfde9
push dword [ebp - 0xd0]
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
call fcn.0046b0e6
push dword [ebp - 0x88]
call fcn.00416870
mov edi, dword [ebp - 0xdc]
pop ecx
push eax
push dword [ebp - 0x88]
mov ecx, edi
call fcn.0041a670
lea eax, [ebp - 0x84]
cmp dword [ebp - 0x88], eax
je 0x46b708
push dword [ebp - 0x88]
call fcn.00490378
pop ecx
push 0x53
push 0x4056a8
call fcn.0041f9c0
pop ecx
pop ecx
test eax, eax
js 0x46b749
push esi
push 0x68
push 0x4056a8
lea ecx, [ebp - 0xb4]
or ebx, 1
call fcn.0041fa50
push edi
add eax, 8
push 0x4056fc
push eax
call fcn.0041b630
pop ecx
pop ecx
push eax
call fcn.0041b3b0
pop ecx
pop ecx
test bl, 1
je 0x46b75c
lea ecx, [ebp - 0xb4]
and ebx, 0xfffffffe
call fcn.0041faa0
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0xbc]
test eax, eax
jne 0x46b61b
jmp 0x46b815
push 0x53
mov edi, 0x4056a8
push edi
call fcn.0041f9c0
pop ecx
pop ecx
test eax, eax
js 0x46b7b1
push esi
push 0x6a
push edi
lea ecx, [ebp - 0xb4]
or ebx, 2
call fcn.0041fa50
add eax, 8
push 0x40570c
push eax
call fcn.0041b630
pop ecx
pop ecx
test bl, 2
je 0x46b7c1
lea ecx, [ebp - 0xb4]
call fcn.0041faa0
push 0xfffffffffffffff9
pop esi
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0xbc]
jmp 0x46b7dc
push 0xfffffffffffffffa
pop esi
test eax, eax
je 0x46b815
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x46b815
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x46b7f8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xfffffffffffffffc
jmp 0x46b814
test ecx, ecx
je 0x46b812
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 0xfffffffffffffffd
pop esi
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00492f61
mov esp, ebp
pop ebp
ret