Function at 0x4bbf80
Capabilities:
Connect to wmi namespace via wbemlocator
Print debug messages
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fe761
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x5322a8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x11c
xor esi, esi
lea eax, [ebp - 0x150]
push esi
push eax
call fcn.004e7d90
add esp, 0xc
lea ecx, [ebp - 0x150]
push ecx
mov dword [ebp - 0x150], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp byte [ebp - 0x36], 1
je 0x4bc0cc
xor eax, eax
xor edx, edx
push esi
mov word [ebp - 0x30], dx
mov dword [ebp - 0x2e], eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x154]
push eax
push 0x502118
push 1
push esi
push 0x5021e8
mov dword [ebp - 0x154], esi
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, esi
jl 0x4bc0c6
push str.ROOTCIMV2
lea ebx, [ebp - 0x160]
mov dword [ebp - 0x158], esi
call fcn.004bb7f0
mov dword [ebp - 4], esi
mov eax, dword [eax]
cmp eax, esi
je 0x4bc059
mov ecx, dword [eax]
jmp 0x4bc05b
xor ecx, ecx
mov eax, dword [ebp - 0x154]
mov edx, dword [eax]
lea edi, [ebp - 0x158]
push edi
push esi
push esi
push esi
push esi
push esi
push esi
push ecx
push eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [ebp - 0x160]
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.004a9590
cmp ebx, esi
jl 0x4bc0b8
mov eax, dword [ebp - 0x158]
push esi
push esi
push 3
push 3
push esi
push esi
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, esi
jge 0x4bc0ea
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004e3946
mov esp, ebp
pop ebp
ret
push str.SELECT__FROM_Win32_OperatingSystem
lea ebx, [ebp - 0x16c]
mov dword [ebp - 0x15c], esi
call fcn.004bb7f0
mov edi, eax
push 0x52789c
lea ebx, [ebp - 0x160]
mov dword [ebp - 4], 1
call fcn.004bb7f0
mov byte [ebp - 4], 2
mov ecx, dword [edi]
cmp ecx, esi
je 0x4bc127
mov ecx, dword [ecx]
jmp 0x4bc129
xor ecx, ecx
mov eax, dword [eax]
cmp eax, esi
je 0x4bc133
mov edx, dword [eax]
jmp 0x4bc135
xor edx, edx
mov eax, dword [ebp - 0x158]
mov edi, dword [eax]
lea ebx, [ebp - 0x15c]
push ebx
push esi
push 0x30
push ecx
push edx
push eax
mov eax, dword [edi + 0x50]
call eax
lea edi, [ebp - 0x160]
mov ebx, eax
call fcn.004a9590
lea edi, [ebp - 0x16c]
mov dword [ebp - 4], 0xffffffff
call fcn.004a9590
cmp ebx, esi
jl 0x4bc0aa
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x164], esi
cmp eax, esi
je 0x4bc21e
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [eax]
lea edx, [ebp - 0x164]
push edx
lea edx, [ebp - 0x168]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [ebp - 0x164], esi
je 0x4bc218
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax]
push esi
push esi
lea edx, [ebp - 0x180]
push edx
push esi
push str.Version
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4bc208
cmp word [ebp - 0x180], 1
je 0x4bc208
mov eax, dword [ebp - 0x178]
lea edx, [ebp - 0x30]
sub edx, eax
jmp 0x4bc1f0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4bc1f0
lea ecx, [ebp - 0x180]
push ecx
call edi
mov eax, dword [ebp - 0x15c]
cmp eax, esi
jne 0x4bc190
jmp 0x4bc21e
mov eax, dword [ebp - 0x15c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
push 3
lea eax, [ebp - 0x30]
push 0x527864
push eax
call fcn.004e4207
add esp, 0xc
test eax, eax
jne 0x4bc0cc
push 0x5278a0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, 1
jmp 0x4bc0ce