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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0x88
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x140009bb8
xor esi, esi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
js 0x140009bb2
mov qword [rbp + 0x7f], rsi
mov qword [rbp + 0x77], rsi
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
lea r9, [0x14004ead0]
xor edx, edx
lea r8d, [rsi + 1]
lea rcx, [0x14004eba0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140009bb2
lea ecx, [rsi + 0x18]
call fcn.1400471a0
mov rbx, rax
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x140009ae9
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140009d79
jmp 0x140009aec
mov rbx, rsi
mov qword [rbp + 0x6f], rbx
test rbx, rbx
je 0x140009d84
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
lea rdx, [rbp + 0x77]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
call qword [rax + 0x18]
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140009b69
mov rcx, qword [rbx]
test rcx, rcx
je 0x140009b4a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], rsi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009b5c
call fcn.14004711c
mov qword [rbx + 8], rsi
mov edx, 0x18
mov rcx, rbx
call fcn.14004711c
test edi, edi
js 0x140009ba8
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x140009bc6
mov rcx, qword [rbp + 0x77]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xor al, al
add rsp, 0x88
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rbp + 7], rsi
mov ecx, 0x18
call fcn.1400471a0
mov rdi, rax
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x140009bfc
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_BaseBoard
call fcn.140048600
mov qword [rdi], rax
jmp 0x140009bff
mov rdi, rsi
mov qword [rbp + 0x17], rdi
test rdi, rdi
je 0x140009d84
mov ecx, 0x18
call fcn.1400471a0
mov rbx, rax
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x140009c3e
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, [0x1400536c0]
call fcn.140048600
mov qword [rbx], rax
jmp 0x140009c41
mov rbx, rsi
mov qword [rbp + 0x6f], rbx
test rbx, rbx
je 0x140009d6e
mov rcx, qword [rbp + 0x77]
mov rax, qword [rcx]
lea rdx, [rbp + 7]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rsi
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
mov ebx, eax
lea rcx, [rbp + 0x6f]
call fcn.140005d90
nop
lea rcx, [rbp + 0x17]
call fcn.140005d90
test ebx, ebx
js 0x140009b9e
mov qword [rbp + 0xf], rsi
mov dword [rbp + 0x67], esi
xor bl, bl
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x140009d3f
mov rax, qword [rcx]
lea rdx, [rbp + 0x67]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0xf]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp + 0x67], 0
je 0x140009d3b
lea rcx, [rbp + 0x1f]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0xf]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x1f]
xor r8d, r8d
lea rdx, str.Manufacturer
call qword [rax + 0x20]
test eax, eax
js 0x140009d20
cmp word [rbp + 0x1f], 8
jne 0x140009d16
lea rdx, str.Microsoft_Corporation
mov rcx, qword [rbp + 0x27]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x140009d2f
lea rcx, [rbp + 0x1f]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0xf]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140009c9b
mov bl, 1
lea rcx, [rbp + 0x1f]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 7]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rbp + 0x77]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rbp + 0x7f]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
movzx eax, bl
add rsp, 0x88
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140048380
nop
mov ecx, 0x8007000e
call fcn.140048380
nop
mov ecx, 0x8007000e
call fcn.140048380
int3