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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x532468
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x56adc0]
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
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
xor ebx, ebx
mov edi, edx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x8c], ebx
lea edx, [ebp - 0x8c]
push edx
push 0x54a028
push 1
push ebx
push 0x53f884
mov dword [ebp - 4], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jge 0x4217a9
push ebx
xor eax, eax
mov dword [ebp - 0x8c], ebx
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], ebx
push 0x53ff0c
mov ecx, edi
mov word [edi], ax
call fcn.00404bd5
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x8c]
cmp eax, ebx
je 0x4217a2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, edi
jmp 0x421d26
mov dword [ebp - 0x84], ebx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x8c]
cmp eax, ebx
jne 0x4217c7
push 0x80004003
call fcn.00516e20
cmp dword [esi + 0x14], 8
mov ebx, eax
jb 0x4217d1
mov esi, dword [esi]
lea eax, [ebp - 0x90]
push eax
mov edi, esi
call fcn.004214f0
mov esi, eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x4217f7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor edi, edi
mov dword [ebp - 0x84], edi
mov eax, dword [esi]
cmp eax, edi
je 0x421809
mov eax, dword [eax]
jmp 0x42180b
xor eax, eax
mov ecx, dword [ebx]
lea edx, [ebp - 0x84]
push edx
push edi
push edi
push edi
push edi
push edi
push edi
push eax
mov eax, dword [ecx + 0xc]
push ebx
call eax
mov ebx, eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x90]
cmp eax, edi
je 0x42186b
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, edi
jne 0x42186b
cmp esi, edi
je 0x42186b
mov eax, dword [esi]
cmp eax, edi
je 0x421852
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, edi
je 0x421862
push eax
call fcn.004f77ab
add esp, 4
push esi
call fcn.004f77ab
add esp, 4
push edi
cmp ebx, edi
jge 0x4218bb
mov esi, dword [ebp - 0x98]
xor ecx, ecx
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], edi
mov word [esi], cx
push 0x53ff0c
mov ecx, esi
call fcn.00404bd5
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x84]
cmp eax, edi
je 0x4218a7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x8c]
cmp eax, edi
jmp 0x421d1a
mov eax, dword [ebp - 0x84]
push edi
push 3
push 3
push edi
push edi
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, edi
jge 0x4218d8
push edi
jmp 0x421870
mov dword [ebp - 0x94], edi
mov byte [ebp - 4], 3
push 0xe
xor eax, eax
push str.SELECT__FROM
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x2c], ax
call fcn.00404bd5
push 0xffffffffffffffff
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x88]
push edi
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00404a91
mov eax, dword [ebp - 0x84]
cmp eax, edi
jne 0x42192b
push 0x80004003
call fcn.00516e20
cmp dword [ebp - 0x18], 8
mov edi, dword [ebp - 0x2c]
mov ebx, eax
jae 0x421939
lea edi, [ebp - 0x2c]
lea edx, [ebp - 0x88]
push edx
call fcn.004214f0
mov esi, eax
lea eax, [ebp - 0x90]
push eax
mov edi, 0x549da8
mov byte [ebp - 4], 5
call fcn.004214f0
mov edi, eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x421974
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 0x94], 0
mov eax, dword [esi]
test eax, eax
je 0x421988
mov ecx, dword [eax]
jmp 0x42198a
xor ecx, ecx
mov eax, dword [edi]
test eax, eax
je 0x421994
mov eax, dword [eax]
jmp 0x421996
xor eax, eax
mov edx, dword [ebx]
lea esi, [ebp - 0x94]
push esi
push 0
push 0x30
push ecx
push eax
mov eax, dword [edx + 0x50]
push ebx
call eax
lea edi, [ebp - 0x90]
mov esi, eax
call fcn.00421590
lea edi, [ebp - 0x88]
mov byte [ebp - 4], 4
call fcn.00421590
xor ebx, ebx
test esi, esi
jns 0x421a2c
mov esi, dword [ebp - 0x98]
xor ecx, ecx
mov edi, 7
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
push ebx
mov word [esi], cx
push 0x53ff0c
mov ecx, esi
call fcn.00404bd5
cmp dword [ebp - 0x18], 8
jb 0x421a02
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004f77ab
add esp, 4
xor eax, eax
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
cmp eax, ebx
je 0x421a24
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], bl
jmp 0x421cf9
xor eax, eax
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
mov eax, dword [ebp - 0x94]
cmp eax, ebx
je 0x421c2b
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x88], ebx
mov byte [ebp - 4], 8
mov dword [ebp - 0x90], ebx
cmp eax, ebx
je 0x4217bd
lea edx, [ebp - 0x90]
push edx
lea edx, [ebp - 0x88]
push edx
push 1
mov dword [ebp - 0x88], ebx
mov ecx, dword [eax]
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp eax, ebx
jl 0x421c15
cmp dword [ebp - 0x90], ebx
je 0x421c15
lea ecx, [ebp - 0xb0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor edx, edx
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], dx
mov byte [ebp - 4], 0xa
mov edi, dword [esi]
cmp dword [esi + 4], edi
je 0x421bd2
jmp 0x421ad0
mov ecx, dword [ebp - 0x88]
cmp ecx, ebx
je 0x4217bd
cmp dword [edi + 0x14], 8
jb 0x421ae8
mov eax, dword [edi]
jmp 0x421aea
mov eax, edi
mov edx, dword [ecx]
push ebx
push ebx
lea esi, [ebp - 0xb0]
push esi
push ebx
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
cmp eax, ebx
jne 0x421b9a
movzx eax, word [ebp - 0xb0]
cmp eax, 3
je 0x421b16
cmp eax, 8
jne 0x421b2a
cmp dword [ebp - 0x54], ebx
je 0x421b2a
push 1
push 0x549db0
lea ecx, [ebp - 0x64]
call fcn.00404b34
movzx eax, word [ebp - 0xb0]
cmp eax, 3
je 0x421b61
cmp eax, 8
jne 0x421b9a
mov edx, dword [ebp - 0xa8]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x421b46
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x64]
call fcn.00404b34
jmp 0x421b9a
mov ecx, dword [ebp - 0xa8]
push ecx
lea edx, [ebp - 0x80]
push edx
call fcn.00421620
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.00404a91
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x6c], 8
jb 0x421b9a
mov eax, dword [ebp - 0x80]
push eax
call fcn.004f77ab
add esp, 4
mov esi, dword [ebp - 0x9c]
add edi, 0x1c
cmp dword [esi + 4], edi
jne 0x421ad0
cmp dword [ebp - 0x54], ebx
je 0x421bc0
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x48]
call fcn.00404a91
cmp dword [ebp - 0x50], 8
jb 0x421bd2
mov edx, dword [ebp - 0x64]
push edx
call fcn.004f77ab
add esp, 4
lea ecx, [ebp - 0xb0]
xor eax, eax
push ecx
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], ax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x88]
cmp eax, ebx
je 0x421c05
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x94]
cmp eax, ebx
jne 0x421a50
jmp 0x421c2b
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x88]
cmp eax, ebx
je 0x421c2b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [ebp - 0x98]
mov edi, 7
xor eax, eax
lea ecx, [ebp - 0x48]
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov word [esi], ax
cmp esi, ecx
je 0x421ca3
cmp dword [esi + 0x14], 8
jb 0x421c59
mov eax, dword [esi]
push eax
call fcn.004f77ab
add esp, 4
xor edx, edx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov word [esi], dx
cmp dword [ebp - 0x34], 8
jae 0x421c8d
mov eax, dword [ebp - 0x38]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [ebp - 0x48]
push edx
push esi
call fcn.004f6f30
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add esp, 0xc
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jmp 0x421cb5
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [esi], eax
mov dword [ebp - 0x48], ebx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jmp 0x421cb5
cmp dword [ebp - 0x34], 8
jb 0x421cb5
mov eax, dword [ebp - 0x48]
push eax
call fcn.004f77ab
add esp, 4
xor ecx, ecx
cmp dword [ebp - 0x18], 8
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], cx
jb 0x421cd3
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004f77ab
add esp, 4
xor eax, eax
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
cmp eax, ebx
je 0x421cf5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x84]
cmp eax, ebx
je 0x421d0b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x8c]
cmp eax, ebx
je 0x421d24
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, esi
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.004f6bad
mov esp, ebp
pop ebp
ret