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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b4
mov eax, dword [0x535a40]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push dword [ebp + 8]
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x84]
push 0x501b2c
push eax
mov dword [ebp - 0x2b4], esi
call fcn.0048d7b0
add esp, 0xc
test esi, esi
je 0x4c0eb9
push ebx
push 6
xor esi, esi
mov dword [ebp - 0x2a0], 0
push esi
mov dword [ebp - 0x298], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea eax, [ebp - 0x2a0]
push eax
push 0x515ad4
push 1
push esi
push 0x515ae4
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x4c0a11
mov ebx, eax
jmp 0x4c0e7a
mov ecx, dword [ebp - 0x2a0]
lea edx, [ebp - 0x298]
push edx
push 0
push 0
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 0x5158c8
push ecx
call dword [eax + 0xc]
test eax, eax
jns 0x4c0a40
mov ebx, eax
jmp 0x4c0e7a
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x298]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x4c0a65
mov ebx, eax
jmp 0x4c0e7a
push edi
push 0x186
lea eax, [ebp - 0x20c]
mov ecx, 0x1e
mov esi, 0x5158e0
lea edi, [ebp - 0x284]
push 0
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.004c53a0
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x284]
push 0xff
push eax
call fcn.004d6355
add esp, 0x18
test eax, eax
je 0x4c0ab6
mov ebx, 0x8000ffff
xor esi, esi
jmp 0x4c0e79
push 0x190
call fcn.004c8d7a
mov esi, eax
add esp, 4
mov dword [ebp - 0x290], esi
test esi, esi
jne 0x4c0ad9
mov ebx, 0x8007000e
jmp 0x4c0e79
mov ecx, dword [ebp - 0x298]
xor edi, edi
test ecx, ecx
je 0x4c0ba2
mov eax, dword [ecx]
lea edx, [ebp - 0x288]
push edx
push edi
push 0x30
lea edx, [ebp - 0x284]
mov dword [ebp - 0x288], edi
push edx
push 0x50090c
push ecx
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x294], edi
call dword [eax + 0x50]
test eax, eax
js 0x4c0ba2
mov ecx, dword [ebp - 0x288]
test ecx, ecx
je 0x4c0d5c
nop dword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x294]
push edx
lea edx, [ebp - 0x28c]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x4c0b92
cmp dword [ebp - 0x294], 0
je 0x4c0b79
mov ecx, dword [ebp - 0x28c]
mov dword [esi + edi*4], ecx
inc edi
cmp edi, 0x64
jae 0x4c0b73
mov ecx, dword [ebp - 0x288]
test ecx, ecx
jne 0x4c0b30
jmp 0x4c0d5c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x288]
test ecx, ecx
je 0x4c0d5c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x4c0d5c
mov ecx, dword [ebp - 0x288]
test ecx, ecx
je 0x4c0ba2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esi, dword [ebp - 0x298]
test esi, esi
je 0x4c0e6c
push 0x190
call fcn.004c8d7a
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x4c0bd1
mov esi, 0x8007000e
jmp 0x4c0e71
mov eax, dword [esi]
lea ecx, [ebp - 0x288]
push ecx
xor ebx, ebx
push ebx
push 0x30
push 0x515958
push 0x50090c
push esi
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x29c], ebx
mov dword [ebp - 0x28c], ebx
call dword [eax + 0x50]
mov esi, eax
test esi, esi
js 0x4c0d40
mov ecx, dword [ebp - 0x288]
test ecx, ecx
je 0x4c0c65
mov eax, dword [ecx]
lea edx, [ebp - 0x28c]
push edx
lea edx, [ebp - 0x29c]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
mov esi, eax
test esi, esi
js 0x4c0e22
cmp dword [ebp - 0x28c], 0
je 0x4c0e09
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x29c]
mov dword [eax + ebx*4], ecx
inc ebx
cmp ebx, 0x64
jae 0x4c0e03
mov ecx, dword [ebp - 0x288]
test ecx, ecx
jne 0x4c0c13
lea eax, [ebp - 0x2b0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
mov dword [ebp - 0x28c], eax
test ebx, ebx
je 0x4c0d3e
mov ecx, dword [ebp - 0x294]
push 0
push 0
mov esi, dword [ecx + eax*4]
mov dword [ecx + eax*4], 0
lea ecx, [ebp - 0x2b0]
push ecx
push 0
mov eax, dword [esi]
push 0x515994
push esi
call dword [eax + 0x10]
test eax, eax
jne 0x4c0e3b
cmp word [ebp - 0x2b0], 3
jne 0x4c0e3b
cmp dword [ebp - 0x2a8], eax
je 0x4c0e3b
push eax
mov dword [ebp - 0x29c], eax
call fcn.004c9119
push 0xa
lea eax, [ebp - 0x84]
push 0
push eax
call fcn.004daa40
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x29c]
push eax
call fcn.004c90f4
mov eax, dword [ebp - 0x288]
add esp, 0x14
cmp eax, 0xffffffff
je 0x4c0e3b
cmp dword [ebp - 0x29c], 0
jne 0x4c0e3b
cmp dword [ebp - 0x2a8], eax
jne 0x4c0e3b
mov eax, dword [ebp - 0x290]
mov dword [eax + edi*4], esi
inc edi
cmp edi, 0x64
jb 0x4c0e41
mov eax, dword [esi]
push esi
call dword [eax + 8]
xor esi, esi
push dword [ebp - 0x294]
call fcn.004c8d5f
add esp, 4
test esi, esi
jne 0x4c0e71
mov esi, dword [ebp - 0x290]
xor ebx, ebx
test edi, edi
je 0x4c0e68
mov esi, dword [esi + ebx*4]
lea eax, [ebp - 0x2ac]
push eax
push dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], 0
push esi
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0
call fcn.004c0ed0
add esp, 0xc
test eax, eax
jne 0x4c0ded
cmp dword [ebp - 0x2a4], eax
je 0x4c0ded
cmp dword [ebp - 0x2ac], eax
je 0x4c0ded
cmp dword [ebp - 0x2a8], eax
je 0x4c0ded
push 0x10
call fcn.004c8d7a
add esp, 4
test eax, eax
je 0x4c0e5b
mov edx, dword [ebp - 0x2b4]
movq xmm0, qword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x2a4]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edx]
mov dword [eax + 0xc], ecx
mov dword [edx], eax
mov eax, dword [esi]
push esi
call dword [eax + 8]
inc ebx
cmp ebx, edi
jae 0x4c0e68
mov esi, dword [ebp - 0x290]
jmp 0x4c0d66
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x288]
test ecx, ecx
je 0x4c0c65
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x4c0c65
mov ecx, dword [ebp - 0x288]
test ecx, ecx
je 0x4c0d40
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x4c0d40
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
cmp eax, ebx
jb 0x4c0c82
jmp 0x4c0d3e
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov ebx, 0x8007000e
jmp 0x4c0e73
xor ebx, ebx
jmp 0x4c0e73
mov esi, 0x80070057
mov ebx, esi
mov esi, dword [ebp - 0x290]
pop edi
mov ecx, dword [ebp - 0x298]
test ecx, ecx
je 0x4c0e8a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x2a0]
test ecx, ecx
je 0x4c0e9a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test esi, esi
je 0x4c0ea7
push esi
call fcn.004c8d5f
add esp, 4
mov eax, ebx
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c34b7
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0x80070057
xor ecx, ebp
pop esi
call fcn.004c34b7
mov esp, ebp
pop ebp
ret