Function at 0x414de5
Capabilities:
Connect to wmi namespace via wbemlocator
Reference wmi statements

Disassembly:
push 0x64
mov eax, 0x5b893f
call fcn.00573e45
mov esi, ecx
mov dword [ebp - 0x5c], esi
xor eax, eax
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
lea edx, [ebp - 0x55]
xor ebx, ebx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x55], bl
mov dword [ebp - 0x34], ebx
call fcn.004153db
push ebx
push 1
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], ebx
call fcn.0040968b
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 5
push eax
push 0x614368
push 0x17
push ebx
push 0x614378
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x414ed2
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x414e8d
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x414ea1
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x414eb5
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4152d3
mov dword [ebp - 0x54], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4152d3
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x48]
push edx
push ebx
push ebx
mov ecx, dword [eax]
push ebx
push ebx
push ebx
push ebx
push str.ROOTCIMV2
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x414f4c
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x414f1b
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x414f2f
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x414f43
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xd
jmp 0x4152c3
push ebx
push ebx
push 3
push 3
push ebx
push ebx
push 0xa
push dword [ebp - 0x48]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x414fc1
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x414f90
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x414fa4
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x414fb8
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x11
jmp 0x4152c3
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x50]
push edx
push ebx
push 0x30
mov ecx, dword [eax]
push 0x614390
push 0x61440c
push eax
call dword [ecx + 0x50]
test eax, eax
jns 0x41503d
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x41500c
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x415020
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x415034
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x15
jmp 0x4152c3
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x5c]
push edx
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x5c], ebx
push edx
mov ecx, dword [eax]
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
jns 0x4150b7
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x415086
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x41509a
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4150ae
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x19
jmp 0x4152c3
cmp dword [ebp - 0x5c], 0
jne 0x41511b
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4150ea
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4150fe
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x415112
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1d
jmp 0x4152c3
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x6c]
push ebx
push ebx
push edx
mov ecx, dword [eax]
push ebx
push str.UUID
push eax
call dword [ecx + 0x10]
test eax, eax
jns 0x415192
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x415161
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x415175
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x415189
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x21
jmp 0x4152c3
mov ecx, dword [ebp - 0x64]
mov eax, str.00000000_0000_0000_0000_000000000000
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4151c0
test dx, dx
je 0x4151bc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4151c0
add eax, 4
add ecx, 4
test dx, dx
jne 0x41519a
mov eax, ebx
jmp 0x4151c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x415227
mov al, byte [ebp - 0x2c]
lea ecx, [esi + 4]
mov byte [esi], al
lea eax, [ebp - 0x28]
push eax
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4151f6
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x41520a
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x41521e
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x25
jmp 0x4152c3
mov edi, 0x5ef10c
push edi
call fcn.00407b9c
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.0040947a
push dword [ebp - 0x64]
call fcn.00407b9c
pop ecx
push eax
push dword [ebp - 0x64]
lea ecx, [ebp - 0x28]
call fcn.00409919
mov edi, 0x5ef110
push edi
call fcn.00407b9c
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00409919
lea eax, [ebp - 0x28]
mov byte [ebp - 0x2c], 1
push eax
lea ecx, [esi + 4]
mov byte [esi], 1
call fcn.004095ee
lea ecx, [ebp - 0x6c]
call fcn.004153f7
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x415297
mov dword [ebp - 0x4c], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4152ab
mov dword [ebp - 0x50], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4152bf
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x4152d3
mov dword [ebp - 0x54], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.0040968b
mov eax, esi
call fcn.00573def
ret