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

Disassembly:
push 0x84
mov eax, 0x6e3185
call fcn.005770f8
mov dword [ebp - 0x64], edx
mov esi, ecx
mov eax, dword [ebp + 8]
xor edi, edi
mov ebx, dword [ebp + 0xc]
push edi
push edi
mov dword [ebp - 0x5c], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x426cb3
mov edx, str.Failed_to_initialize_COM_library._Error_code__0x
mov ecx, 0x7db770
call fcn.00429d00
push ecx
mov ecx, eax
call fcn.00428c66
push dword [ebp - 0x44]
mov ecx, eax
call fcn.00428b7a
push eax
call fcn.00429e8f
pop ecx
push 0xb
pop eax
jmp 0x4270f8
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
push eax
push 0x788ec8
push 1
push edi
push 0x788f98
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x426d0f
mov edx, str.Failed_to_create_IWbemLocator_object.
mov ecx, 0x7db770
call fcn.00429d00
mov edx, str._Err_code__0x
mov ecx, eax
call fcn.00429d00
push ecx
mov ecx, eax
call fcn.00428c66
push dword [ebp - 0x44]
mov ecx, eax
call fcn.00428b7a
push eax
call fcn.00429e8f
pop ecx
push 0xd
jmp 0x426d97
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x48], edi
push str.ROOTCIMV2
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x60], eax
call fcn.00426193
mov dword [ebp - 4], edi
mov eax, dword [eax]
test eax, eax
je 0x426d37
mov eax, dword [eax]
jmp 0x426d39
mov eax, edi
lea ecx, [ebp - 0x48]
push ecx
push edi
push edi
push edi
push edi
push edi
push edi
push eax
push dword [ebp - 0x4c]
call dword [ebp - 0x60]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
test ecx, ecx
je 0x426d60
call fcn.00426383
mov eax, dword [ebp - 0x54]
test eax, eax
jns 0x426d9d
mov edx, str.Could_not_connect._Error_code__0x
mov ecx, 0x7db770
call fcn.00429d00
push ecx
mov ecx, eax
call fcn.00428c66
push dword [ebp - 0x54]
mov ecx, eax
call fcn.00428b7a
push eax
call fcn.00429e8f
mov eax, dword [ebp - 0x4c]
pop ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xe
pop edi
jmp 0x4270f0
push edi
push edi
push 3
push 3
push edi
push edi
push 0xa
push dword [ebp - 0x48]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x426df5
mov edx, str.Could_not_set_proxy_blanket._Error_code__0x
mov ecx, 0x7db770
call fcn.00429d00
push ecx
mov ecx, eax
call fcn.00428c66
push dword [ebp - 0x44]
mov ecx, eax
call fcn.00428b7a
push eax
call fcn.00429e8f
mov eax, dword [ebp - 0x48]
pop ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xf
jmp 0x426d97
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x58], edi
push str.SELECT__FROM
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x78], eax
call fcn.00426138
mov dword [ebp - 0x50], eax
push 8
pop eax
mov dword [ebp - 4], 1
cmp dword [esi + 0x14], eax
jb 0x426e24
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x44]
call fcn.00426193
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x50]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0042620b
mov esi, eax
push 0x79a8fc
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.00426193
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.0042620b
mov esi, eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x14], 8
jb 0x426e78
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00426193
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x6c]
mov ecx, esi
push eax
call fcn.0042620b
mov byte [ebp - 4], 7
mov esi, dword [eax]
test esi, esi
je 0x426ea2
mov esi, dword [esi]
jmp 0x426ea4
mov esi, edi
push 0x79a900
lea ecx, [ebp - 0x54]
call fcn.00426138
mov byte [ebp - 4], 8
mov eax, dword [eax]
test eax, eax
je 0x426ebf
mov eax, dword [eax]
jmp 0x426ec1
mov eax, edi
lea ecx, [ebp - 0x58]
push ecx
push edi
push 0x30
push esi
push eax
push dword [ebp - 0x48]
call dword [ebp - 0x78]
mov ecx, dword [ebp - 0x54]
mov esi, eax
test ecx, ecx
je 0x426ee1
call fcn.00426383
mov dword [ebp - 0x54], edi
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x426ef0
call fcn.00426383
mov dword [ebp - 0x6c], edi
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x426efc
call fcn.00426383
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x426f0b
call fcn.00426383
mov dword [ebp - 0x70], edi
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x426f17
call fcn.00426383
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x426f26
call fcn.00426383
mov dword [ebp - 0x60], edi
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x426f32
call fcn.00426383
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x426f42
call fcn.00426383
test esi, esi
jns 0x426f91
mov edx, str.Query_for_operating_system_name_failed.
mov ecx, 0x7db770
call fcn.00429d00
mov edx, 0x79a904
mov ecx, eax
call fcn.00429d00
push ecx
mov ecx, eax
call fcn.00428c66
push esi
mov ecx, eax
call fcn.00428b7a
push eax
call fcn.00429e8f
mov eax, dword [ebp - 0x48]
pop ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0x10
jmp 0x426d97
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x74], edi
jmp 0x4270ca
mov eax, dword [ecx]
lea edx, [ebp - 0x74]
push edx
lea edx, [ebp - 0x68]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x74], 0
je 0x4270d5
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x64]
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x426fcd
mov eax, dword [eax]
push edi
push edi
lea esi, [ebp - 0x90]
push esi
push edi
push eax
push ecx
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantInit]
push 8
pop eax
cmp word [ebp - 0x90], ax
jne 0x427037
push dword [ebp - 0x88]
call esi
push eax
push dword [ebp - 0x88]
lea ecx, [ebp - 0x28]
call fcn.00425c3a
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x28]
mov eax, dword [ebx + 4]
push ecx
cmp dword [ebx + 8], eax
je 0x42702a
mov ecx, eax
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
call fcn.0040d3fa
add dword [ebx + 4], 0x18
jmp 0x427032
push eax
mov ecx, ebx
call fcn.00429fbf
lea ecx, [ebp - 0x28]
jmp 0x4270ab
mov eax, 0x2008
cmp word [ebp - 0x90], ax
jne 0x4270b4
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x88]
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
test eax, eax
js 0x4270b4
mov eax, dword [ebp - 0x44]
push dword [eax]
call esi
mov ecx, dword [ebp - 0x44]
push eax
push dword [ecx]
lea ecx, [ebp - 0x40]
call fcn.00425c3a
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x40]
mov eax, dword [ebx + 4]
push ecx
cmp dword [ebx + 8], eax
je 0x427094
mov ecx, eax
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
call fcn.0040d3fa
add dword [ebx + 4], 0x18
jmp 0x42709c
push eax
mov ecx, ebx
call fcn.00429fbf
push dword [ebp - 0x88]
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea ecx, [ebp - 0x40]
or dword [ebp - 4], 0xffffffff
call fcn.004024f9
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jne 0x426f9c
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, edi
call fcn.005770a2
ret