Function at 0x1400970f0
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
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
mov rax, qword [0x1400ca040]
xor rax, rsp
mov qword [rbp + 0x3f], rax
xor r15d, r15d
lea r12, [0x1400cf2e8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x140097196
xorps xmm0, xmm0
movups xmmword [0x1400cf2e8], xmm0
mov qword [0x1400cf2f8], r15
mov qword [0x1400cf300], r15
lea r8d, [r15 + 0x19]
lea rdx, str.COM_initialization_failed
mov rcx, r12
call fcn.1400082e0
mov rax, r12
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.14009c500
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
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, [r9 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x1400971f8
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [0x1400cf2e8], xmm0
mov qword [0x1400cf2f8], r15
mov qword [0x1400cf300], r15
mov r8d, 0x22
lea rdx, str.COM_security_initialization_failed
jmp 0x14009715e
mov qword [rbp - 0x19], r15
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
lea r9, [0x1400a41c0]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400a41d0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x140097253
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [0x1400cf2e8], xmm0
mov qword [0x1400cf2f8], r15
mov qword [0x1400cf300], r15
mov r8d, 0x1b
lea rdx, str.WMI_Locator_creation_failed
jmp 0x14009715e
mov qword [rbp - 0x21], r15
mov rax, qword [rbp - 0x19]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.14009c520
mov rbx, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x1400972aa
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 0x14009778a
jmp 0x1400972ad
mov rbx, r15
mov qword [rbp - 0x49], rbx
test rbx, rbx
je 0x1400977a0
lea rax, [rbp - 0x21]
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 [rbp - 0x19]
call rdi
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140097327
mov rcx, qword [rbx]
test rcx, rcx
je 0x140097308
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14009731a
call fcn.14009c7a4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.14009c7a4
test edi, edi
jns 0x140097365
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [0x1400cf2e8], xmm0
mov qword [0x1400cf2f8], r15
mov qword [0x1400cf300], r15
mov r8d, 0x15
lea rdx, str.WMI_connection_failed
jmp 0x14009715e
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 [rbp - 0x21]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x1400973db
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [0x1400cf2e8], xmm0
mov qword [0x1400cf2f8], r15
mov qword [0x1400cf300], r15
mov r8d, 0x16
lea rdx, str.WMI_proxy_setup_failed
jmp 0x14009715e
mov qword [rbp - 9], r15
mov rax, qword [rbp - 0x21]
mov rcx, qword [rax]
mov r14, qword [rcx + 0xa0]
mov ecx, 0x18
call fcn.14009c520
mov rbx, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x14009742b
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_Processor
call fcn.14009d620
mov qword [rbx], rax
jmp 0x14009742e
mov rbx, r15
mov qword [rbp - 0x41], rbx
test rbx, rbx
je 0x1400977a0
mov rsi, qword [rbx]
mov ecx, 0x18
call fcn.14009c520
mov rdi, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x14009747c
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, [0x1400b76ac]
call fcn.14009d620
mov qword [rdi], rax
jmp 0x14009747f
mov rdi, r15
mov qword [rbp - 0x39], rdi
test rdi, rdi
je 0x1400977ab
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x21]
call r14
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x1400974ef
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400974cf
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400974e1
call fcn.14009c7a4
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14009c7a4
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14009752e
mov rcx, qword [rbx]
test rcx, rcx
je 0x14009750f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140097521
call fcn.14009c7a4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.14009c7a4
test esi, esi
jns 0x140097576
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [0x1400cf2e8], xmm0
mov qword [0x1400cf2f8], r15
mov qword [0x1400cf300], r15
mov r8d, 0x10
lea rdx, str.WMI_query_failed
jmp 0x14009715e
mov qword [rbp - 0x11], r15
mov dword [rbp + 0x17], r15d
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f], xmm0
mov qword [rbp + 0x2f], r15
mov qword [rbp + 0x37], r15
xor r8d, r8d
lea rdx, [0x1400a4220]
lea rcx, [rbp + 0x1f]
call fcn.1400082e0
nop
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x140097727
nop
mov rax, qword [rcx]
lea rdx, [rbp + 0x17]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x11]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp + 0x17], 0
je 0x140097727
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 1]
xor r8d, r8d
lea rdx, str.ProcessorId
call qword [rax + 0x20]
test eax, eax
js 0x140097710
mov rbx, qword [rbp + 7]
mov ecx, 0x18
call fcn.14009c520
mov rdi, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x14009764d
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
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
jne 0x140097650
test rbx, rbx
jne 0x140097795
jmp 0x140097650
mov rdi, r15
mov qword [rbp - 0x29], rdi
test rdi, rdi
je 0x14009777f
mov rax, qword [rdi + 8]
test rax, rax
jne 0x140097672
mov rcx, qword [rdi]
call fcn.14009d500
mov qword [rdi + 8], rax
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x140097680
mov rcx, qword [rbp + 0x37]
cmp rsi, rcx
ja 0x1400976b7
lea rbx, [rbp + 0x1f]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0x1f]
mov qword [rbp + 0x2f], rsi
mov r8, rsi
mov rdx, rax
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rsi], 0
jmp 0x1400976c7
mov r9, rax
mov rdx, rsi
lea rcx, [rbp + 0x1f]
call fcn.14000f690
nop
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140097706
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400976e7
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400976f9
call fcn.14009c7a4
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14009c7a4
lea rcx, [rbp - 1]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 9]
test rcx, rcx
jne 0x1400975b0
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 9]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
movups xmm0, xmmword [rbp + 0x1f]
movups xmmword [0x1400cf2e8], xmm0
movups xmm1, xmmword [rbp + 0x2f]
movups xmmword [0x1400cf2f8], xmm1
mov qword [rbp + 0x2f], r15
mov qword [rbp + 0x37], 0xf
mov byte [rbp + 0x1f], 0
lea rcx, [rbp + 0x1f]
call fcn.140007020
jmp 0x140097166
mov ecx, 0x8007000e
call fcn.14009d4f0
nop
mov ecx, 0x8007000e
call fcn.14009d4f0
nop
mov ecx, 0x8007000e
call fcn.14009d4f0
nop
mov ecx, 0x8007000e
call fcn.14009d4f0
nop
mov ecx, 0x8007000e
call fcn.14009d4f0
int3