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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d09f1
push eax
mov dword fs:[0], esp
sub esp, 0x11c
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.004753b0
cmp eax, 0x10400
jb 0x492aa9
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
jmp 0x492ac9
call fcn.004753b0
cmp eax, 0x40a
jb 0x492ac1
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
jmp 0x492ac9
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov edi, eax
test edi, edi
jge 0x492ae7
push edi
push 0x4f038c
push 0x7f
push esi
call fcn.004940a0
add esp, 0x10
mov eax, edi
jmp 0x492ef4
push 0
push 0
push 0
push 2
push 2
push 0
push 0
push 0xffffffffffffffff
push 0
mov byte [esi + 0x40], 1
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
mov edi, eax
test edi, edi
jge 0x492b1e
cmp edi, 0x80010119
je 0x492b1e
push edi
push 0x4f036c
push 0x8a
jmp 0x492b44
push esi
push 0x4d7470
push 1
push 0
push 0x4d7520
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test edi, edi
jge 0x492b5b
push edi
push 0x4f0344
push 0x94
push esi
call fcn.004940a0
add esp, 0x10
mov ecx, esi
call fcn.00492f10
mov eax, edi
jmp 0x492ef4
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x13c]
push eax
push ecx
push str._s_s
lea edx, [esp + 0x34]
push 0x103
push edx
call fcn.00466ca7
add esp, 0x14
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0x28]
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0
call edi
mov ebx, eax
dec ebx
push ebx
push 0
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x492bbe
push ebx
push ebp
lea ecx, [esp + 0x30]
push 0xffffffffffffffff
push ecx
push 0
push 0
call edi
mov dword [esp + 0x1c], ebp
mov edi, dword [0x4d4b88]
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x134], 0
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x492c02
test cl, cl
je 0x492bfe
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x492c02
add eax, 2
add edi, 2
test cl, cl
jne 0x492bda
xor eax, eax
jmp 0x492c07
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x492c5c
mov eax, dword [esi]
lea ecx, [esi + 4]
push ecx
push 0
mov edx, dword [eax]
push 0
push 0
push 0
push 0
push 0
push ebp
push eax
call dword [edx + 0xc]
mov edi, eax
test edi, edi
jge 0x492e48
lea eax, [esp + 0x28]
push edi
push eax
push 0x4f0318
push 0xa4
push esi
call fcn.004940a0
add esp, 0x14
mov ecx, esi
call fcn.00492f10
push ebp
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
jmp 0x492ef4
mov ebp, dword [esp + 0x144]
push 0
push 0
push 0xffffffffffffffff
push ebp
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
dec ebx
push ebx
push 0
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov edi, eax
test edi, edi
mov dword [esp + 0x18], edi
je 0x492c99
push ebx
push edi
push 0xffffffffffffffff
push ebp
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x148]
push 0
push 0
push 0xffffffffffffffff
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
push eax
push 0
mov dword [esp + 0x18], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov ebx, eax
test ebx, ebx
je 0x492ce3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x148]
push edx
push ebx
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
lea ecx, [esi + 4]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
push 0
push 0
push 0
push 0
push ebx
push edi
push ecx
push eax
mov byte [esp + 0x158], 2
call dword [edx + 0xc]
test eax, eax
mov dword [esp + 0x10], eax
jge 0x492d4f
lea edx, [esp + 0x28]
push eax
push edx
push ebp
push 0x4f02e8
push 0xb2
push esi
call fcn.004940a0
add esp, 0x18
mov ecx, esi
call fcn.00492f10
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ebx
call esi
push edi
call esi
mov eax, dword [esp + 0x14]
push eax
call esi
mov eax, dword [esp + 0x10]
jmp 0x492ef4
push 0x5c
push ebp
call fcn.004683c0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x492dba
sub eax, ebp
mov dword [esi + 0x20], eax
inc eax
push eax
call fcn.00467824
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x1c], eax
push ecx
push ebp
push eax
call fcn.00466df0
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov edi, ebp
or ecx, 0xffffffff
mov byte [edx + eax], 0
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x20]
not ecx
dec ecx
sub ebp, edi
lea ebp, [ecx + ebp - 1]
mov dword [esi + 0x18], ebp
inc ebp
push ebp
call fcn.00467824
mov ecx, dword [esi + 0x18]
inc edi
push ecx
push edi
push eax
mov dword [esi + 0x14], eax
call fcn.00466df0
add esp, 0x20
jmp 0x492de1
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esi + 0x18], ecx
inc ecx
push ecx
call fcn.00467824
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x14], eax
push ecx
push ebp
push eax
call fcn.00466df0
add esp, 0x10
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov ebp, dword [esp + 0x148]
or ecx, 0xffffffff
mov byte [edx + eax], 0
mov edi, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esi + 0x28], ecx
inc ecx
push ecx
call fcn.00467824
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x24], eax
push ecx
push ebp
push eax
call fcn.00466df0
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 0x10
mov byte [edx + eax], 0
mov dword [esi + 0x2c], 1
push ebx
call edi
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x134], 0
push ecx
call edi
mov ebp, dword [esp + 0x14]
jmp 0x492e4e
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call fcn.004753b0
test eax, 0x10000
je 0x492e87
mov eax, dword [esi + 4]
lea edx, [esi + 0x14]
push 0
push edx
push 3
push 3
push 0
push 0
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov ebx, eax
test ebx, ebx
jge 0x492e87
push ebx
push 0x4f02c4
push 0xd9
jmp 0x492ed4
lea eax, [esi + 0xc]
push eax
push 0x4d74f0
push 1
push 0
push 0x4d7590
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test ebx, ebx
jge 0x492eb2
push ebx
push 0x4f0298
push 0xe4
jmp 0x492ed4
mov eax, dword [esi + 0xc]
lea edx, [esi + 0x10]
push edx
push 0x4d7510
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ebx, eax
test ebx, ebx
jge 0x492eeb
push ebx
push 0x4f0264
push 0xed
push esi
call fcn.004940a0
add esp, 0x10
mov ecx, esi
call fcn.00492f10
push ebp
call edi
mov eax, ebx
jmp 0x492ef4
push ebp
mov byte [esi + 0x41], 1
call edi
xor eax, eax
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x128
ret 0x10