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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x18006c060]
xor rax, rsp
mov qword [rbp + 0x98], rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
xor r15d, r15d
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea edx, [r15 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov qword [rsp + 0x78], r15
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x20], rcx
lea r9, [0x18003edc0]
xor edx, edx
lea r8d, [r15 + 1]
lea rcx, [0x18003edb0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1800015ac
lea eax, [r15 - 1]
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.180018ee0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov qword [rsp + 0x70], r15
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.180019294
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180001606
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1800020bb
jmp 0x180001609
mov rbx, r15
mov qword [rsp + 0x58], rbx
test rbx, rbx
je 0x1800020c6
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x78]
call rdi
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x180001686
mov rcx, qword [rbx]
test rcx, rcx
je 0x180001667
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180001679
call fcn.180019260
mov qword [rbx + 8], r15
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.180019260
test edi, edi
jns 0x18000169f
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0xfffffffe
jmp 0x180001580
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x1800016f2
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0xfffffffd
jmp 0x180001580
mov qword [rbp - 0x78], r15
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0xa0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.180019294
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180001744
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_ComputerSystem
call fcn.180019f00
mov qword [rbx], rax
jmp 0x180001747
mov rbx, r15
mov qword [rsp + 0x60], rbx
test rbx, rbx
je 0x1800020c6
mov rsi, qword [rbx]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.180019294
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180001797
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], 1
lea rcx, [0x18006396c]
call fcn.180019f00
mov qword [rdi], rax
jmp 0x18000179a
mov rdi, r15
mov qword [rsp + 0x68], rdi
test rdi, rdi
je 0x1800020d1
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x18000180c
mov rcx, qword [rdi]
test rcx, rcx
je 0x1800017ec
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1800017fe
call fcn.180019260
mov qword [rdi + 8], r15
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rdi
call fcn.180019260
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x18000184b
mov rcx, qword [rbx]
test rcx, rcx
je 0x18000182c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18000183e
call fcn.180019260
mov qword [rbx + 8], r15
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.180019260
test esi, esi
jns 0x18000186f
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0xfffffffc
jmp 0x180001580
lea rcx, [0x18006f2f8]
call fcn.180004490
mov qword [rbp - 8], r15
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r15w
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1800018a0
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.1800045f0
nop
lea rbx, [0x180000000]
cmp byte [0x18006f2e8], 0
je 0x1800019cf
movzx eax, byte [0x18006f2ea]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2ea], al
movzx eax, byte [0x18006f2eb]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2eb], al
movzx eax, byte [0x18006f2ec]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2ec], al
movzx eax, byte [0x18006f2ed]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2ed], al
movzx eax, byte [0x18006f2ee]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2ee], al
movzx eax, byte [0x18006f2ef]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2ef], al
movzx eax, byte [0x18006f2f0]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2f0], al
movzx eax, byte [0x18006f2f1]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2f1], al
movzx eax, byte [0x18006f2f2]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2f2], al
movzx eax, byte [0x18006f2f3]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2f3], al
movzx eax, byte [0x18006f2f4]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2f4], al
movzx eax, byte [0x18006f2f5]
movzx eax, byte [rax + rbx + 0x4c1e0]
mov byte [0x18006f2f5], al
mov byte [0x18006f2e8], 0
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r15w
lea rdx, [0x18006f2ea]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1800019f2
lea rcx, [rbp - 0x48]
call fcn.1800045f0
nop
lea rcx, [0x18006f2b8]
call fcn.180004250
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], r15w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180001a35
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.1800045f0
nop
lea rcx, [0x18006f2a0]
call fcn.1800035b0
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], 7
mov word [rbp + 0x58], r15w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180001a75
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.1800045f0
nop
lea rcx, [0x18006f290]
call fcn.1800034e0
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r15w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180001ab5
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.1800045f0
nop
cmp byte [0x18006f278], 0
je 0x180001caf
movzx eax, byte [0x18006f27a]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f27a], al
movzx eax, byte [0x18006f27b]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f27b], al
movzx eax, byte [0x18006f27c]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f27c], al
movzx eax, byte [0x18006f27d]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f27d], al
movzx eax, byte [0x18006f27e]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f27e], al
movzx eax, byte [0x18006f27f]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f27f], al
movzx eax, byte [0x18006f280]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f280], al
movzx eax, byte [0x18006f281]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f281], al
movzx eax, byte [0x18006f282]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f282], al
movzx eax, byte [0x18006f283]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f283], al
movzx eax, byte [0x18006f284]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f284], al
movzx eax, byte [0x18006f285]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f285], al
movzx eax, byte [0x18006f286]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f286], al
movzx eax, byte [0x18006f287]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f287], al
movzx eax, byte [0x18006f288]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f288], al
movzx eax, byte [0x18006f289]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f289], al
movzx eax, byte [0x18006f28a]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f28a], al
movzx eax, byte [0x18006f28b]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f28b], al
movzx eax, byte [0x18006f28c]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f28c], al
movzx eax, byte [0x18006f28d]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f28d], al
movzx eax, byte [0x18006f28e]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f28e], al
movzx eax, byte [0x18006f28f]
movzx eax, byte [rax + rbx + 0x4c2e0]
mov byte [0x18006f28f], al
mov byte [0x18006f278], 0
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], r15w
lea rdx, [0x18006f27a]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x180001cd2
lea rcx, [rbp + 0x18]
call fcn.1800045f0
nop
mov r14d, r15d
mov qword [rbp - 0x80], r15
mov dword [rbp - 0x70], r15d
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180001ef8
test r14d, r14d
jne 0x180001ef8
mov rax, qword [rcx]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x80]
lea edx, [r14 - 1]
lea r8d, [r14 + 1]
call qword [rax + 0x20]
cmp dword [rbp - 0x70], r14d
je 0x180001ef8
lea r8, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x28]
call fcn.180001430
nop
lea r8, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae r8, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x68]
call fcn.180001430
nop
lea rdi, [rbp - 0x28]
mov r8, qword [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdi, r8
lea rcx, [rbp - 0x28]
cmovae rcx, r8
mov rax, qword [rbp - 0x18]
lea rsi, [rcx + rax*2]
lea rbx, [rbp - 0x28]
cmovae rbx, r8
cmp rbx, rsi
je 0x180001dab
sub rdi, rbx
movzx ecx, word [rbx]
call fcn.18001fb70
mov word [rdi + rbx], ax
add rbx, 2
cmp rbx, rsi
jne 0x180001d96
lea rdi, [rbp - 0x68]
mov r8, qword [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rdi, r8
lea rcx, [rbp - 0x68]
cmovae rcx, r8
mov rax, qword [rbp - 0x58]
lea rsi, [rcx + rax*2]
lea rbx, [rbp - 0x68]
cmovae rbx, r8
cmp rbx, rsi
je 0x180001df5
sub rdi, rbx
nop dword [rax]
movzx ecx, word [rbx]
call fcn.18001fb70
mov word [rdi + rbx], ax
add rbx, 2
cmp rbx, rsi
jne 0x180001de0
xor r8d, r8d
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x28]
call fcn.1800036a0
cmp rax, 0xffffffffffffffff
je 0x180001e21
xor r8d, r8d
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0x68]
call fcn.1800036a0
cmp rax, 0xffffffffffffffff
jne 0x180001e4d
xor r8d, r8d
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x28]
call fcn.1800036a0
cmp rax, 0xffffffffffffffff
jne 0x180001e4d
xor r8d, r8d
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x68]
call fcn.1800036a0
cmp rax, 0xffffffffffffffff
je 0x180001e53
mov r14d, 1
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x180001e9e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180001e99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800020dc
call fcn.180019260
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r15w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x180001cf2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180001eee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800020e2
call fcn.180019260
jmp 0x180001cf2
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x180001f5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180001f54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800020e8
call fcn.180019260
nop
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x180001f9b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180001f95
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800020ee
call fcn.180019260
nop
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x180001fdc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180001fd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800020f4
call fcn.180019260
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x180002020
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000201a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800020fa
call fcn.180019260
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x180002060
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000205b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002100
call fcn.180019260
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r15w
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x1800020ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800020a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800020b5
call fcn.180019260
mov eax, r14d
jmp 0x180001580
call fcn.18001f98c
nop
mov ecx, 0x8007000e
call fcn.180019ed0
nop
mov ecx, 0x8007000e
call fcn.180019ed0
nop
mov ecx, 0x8007000e
call fcn.180019ed0
nop
call fcn.18001f98c
nop
call fcn.18001f98c
nop
call fcn.18001f98c
nop
call fcn.18001f98c
nop
call fcn.18001f98c
nop
call fcn.18001f98c
nop
call fcn.18001f98c
int3