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

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400b7010]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rbx, rdx
mov qword [rbp - 0x58], rdx
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x20]
call fcn.14004aaa0
movdqa xmm6, xmmword [0x1400a1530]
movdqu xmmword [rbp - 0x18], xmm6
xor r12d, r12d
mov byte [rbp - 0x28], r12b
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoInitializeEx]
test eax, eax
jns 0x1400226ca
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
jmp 0x140022b5d
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov r15d, 3
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
or r14d, 0xffffffff
mov edx, r14d
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoInitializeSecurity]
test eax, eax
jns 0x14002270a
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
jmp 0x1400226ba
mov qword [rbp - 0x60], r12
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x14008dec0]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14008deb0]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoCreateInstance]
test eax, eax
js 0x140022702
mov qword [rbp - 0x68], r12
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x18]
mov r13d, 0x18
mov ecx, r13d
call fcn.140047208
mov rdi, rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x14002278d
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
je 0x140022b9b
jmp 0x140022790
mov rdi, r12
mov qword [rbp - 0x80], rdi
test rdi, rdi
je 0x140022bac
lea rax, [rbp - 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x60]
call rsi
mov esi, eax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
add ecx, r14d
jne 0x140022806
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400227e9
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400227fb
call fcn.140047244
mov qword [rdi + 8], r12
mov rdx, r13
mov rcx, rdi
call fcn.140047244
test esi, esi
jns 0x140022813
mov rcx, qword [rbp - 0x60]
jmp 0x140022b42
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoSetProxyBlanket]
test eax, eax
jns 0x14002284b
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002280a
mov qword [rbp - 0x50], r12
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov r15, qword [rcx + 0xa0]
mov rcx, r13
call fcn.140047208
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140022897
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_Baseboard
call fcn.140049a00
mov qword [rdi], rax
jmp 0x14002289a
mov rdi, r12
mov qword [rbp - 0x78], rdi
test rdi, rdi
je 0x140022bb7
mov r14, qword [rdi]
mov rcx, r13
call fcn.140047208
mov rsi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400228e4
xor eax, eax
mov qword [rsi], rax
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], r12
mov dword [rsi + 0x10], 1
lea rcx, [0x14009e690]
call fcn.140049a00
mov qword [rsi], rax
jmp 0x1400228e7
mov rsi, r12
mov qword [rbp - 0x70], rsi
test rsi, rsi
je 0x140022bc2
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 0x30
mov r8, r14
mov rdx, qword [rsi]
mov rcx, qword [rbp - 0x68]
call r15
mov r14d, eax
or r15d, 0xffffffff
mov ecx, r15d
lock xadd dword [rsi + 0x10], ecx
add ecx, r15d
jne 0x140022958
mov rcx, qword [rsi]
test rcx, rcx
je 0x14002293a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r12
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14002294c
call fcn.140047244
mov qword [rsi + 8], r12
mov rdx, r13
mov rcx, rsi
call fcn.140047244
nop
mov eax, r15d
lock xadd dword [rdi + 0x10], eax
add eax, r15d
jne 0x140022993
mov rcx, qword [rdi]
test rcx, rcx
je 0x140022976
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140022988
call fcn.140047244
mov qword [rdi + 8], r12
mov rdx, r13
mov rcx, rdi
call fcn.140047244
test r14d, r14d
js 0x14002283f
mov dword [rbp - 0x30], r12d
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x140022b2a
mov r14d, 0x1000
mov rax, qword [rcx]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x58]
mov r8d, 1
mov edx, r15d
call qword [rax + 0x20]
cmp dword [rbp - 0x30], r12d
je 0x140022b2a
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x48]
xor r8d, r8d
lea rdx, str.Product
call qword [rax + 0x20]
mov r9, qword [rbp - 0x40]
lea r8, [0x14009e6b8]
mov edx, 0x40
lea rcx, [rbp + 0x20]
call fcn.14001ff84
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 8]
call fcn.140024784
nop
lea rcx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rcx, qword [rbp - 8]
mov rax, qword [rbp + 8]
lea rsi, [rcx + rax*2]
lea rdi, [rbp - 8]
cmovae rdi, qword [rbp - 8]
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], r12b
mov rdx, rsi
sub rdx, rdi
sar rdx, 1
cmp rdx, 0x10
jb 0x140022a72
lea rcx, [rsp + 0x58]
call fcn.14002528c
mov qword [rsp + 0x68], r12
mov r8, rsi
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140024d84
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x28]
call fcn.1400248cc
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140022ac9
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, r14
jb 0x140022ac4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022b95
call fcn.140047244
lea rcx, [rbp - 0x48]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp - 0x58], r12
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140022b1d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, r14
jb 0x140022b18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022ba6
call fcn.140047244
mov rcx, qword [rbp - 0x50]
test rcx, rcx
jne 0x1400229b3
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rbx + 0x10], xmm1
mov rax, rbx
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140046df0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14004d3f8
nop
mov ecx, 0x8007000e
call fcn.1400499f0
nop
call fcn.14004d3f8
int3
mov ecx, 0x8007000e
call fcn.1400499f0
int3
mov ecx, 0x8007000e
call fcn.1400499f0
nop
mov ecx, 0x8007000e
call fcn.1400499f0
int3