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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [0x5322a8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x11c
xor esi, esi
lea eax, [ebp - 0x148]
push esi
push eax
call fcn.004e7d90
add esp, 0xc
lea ecx, [ebp - 0x148]
push ecx
mov dword [ebp - 0x148], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp byte [ebp - 0x2e], 3
jne 0x4bc600
xor eax, eax
xor edx, edx
push esi
mov word [ebp - 0x24], dx
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov dword [ebp - 0x12], eax
mov dword [ebp - 0xe], eax
mov dword [ebp - 0xa], eax
mov word [ebp - 6], ax
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x14c]
push eax
push 0x502118
push 1
push esi
push 0x5021e8
mov dword [ebp - 0x14c], esi
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4bc5fa
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 0x150]
push edx
push esi
push esi
push esi
push esi
push esi
push esi
mov dword [ebp - 0x150], esi
mov ecx, dword [eax]
push 0x52619c
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
js 0x4bc5ec
mov eax, dword [ebp - 0x150]
push esi
push esi
push 3
push 3
push esi
push esi
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
mov eax, dword [ebp - 0x150]
js 0x4bc5e4
lea edx, [ebp - 0x154]
push edx
push esi
push 0x30
push 0x526c58
mov dword [ebp - 0x154], esi
mov ecx, dword [eax]
push 0x526208
push eax
mov eax, dword [ecx + 0x50]
call eax
test eax, eax
jns 0x4bc612
mov eax, dword [ebp - 0x150]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e3946
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x158], esi
cmp eax, esi
je 0x4bc6be
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea esp, [esp]
mov ecx, dword [eax]
lea edx, [ebp - 0x158]
push edx
lea edx, [ebp - 0x15c]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [ebp - 0x158], esi
je 0x4bc6b8
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax]
push esi
push esi
lea edx, [ebp - 0x170]
push edx
push esi
push str.Version
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4bc6a8
cmp word [ebp - 0x170], 1
je 0x4bc6a8
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x24]
sub edx, eax
jmp 0x4bc690
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4bc690
lea ecx, [ebp - 0x170]
push ecx
call edi
mov eax, dword [ebp - 0x154]
cmp eax, esi
jne 0x4bc630
jmp 0x4bc6be
mov eax, dword [ebp - 0x154]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x150]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
push 2
lea eax, [ebp - 0x24]
push 0x5278cc
push eax
call fcn.004e4207
add esp, 0xc
test eax, eax
jne 0x4bc600
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov eax, 1
pop esi
call fcn.004e3946
mov esp, ebp
pop ebp
ret