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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x98
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x1400189fa
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]
test eax, eax
js 0x1400189f4
mov qword [rbp + 0x7f], r15
mov qword [rbp + 0x77], r15
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
lea r9, [0x1400b82c0]
xor edx, edx
lea r8d, [r15 + 1]
lea rcx, [0x1400b82b0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400189f4
mov rax, qword [rbp + 0x7f]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
lea ecx, [r15 + 0x18]
call fcn.1400a2458
mov rbx, rax
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x14001892d
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140018c3b
jmp 0x140018930
mov rbx, r15
mov qword [rbp - 9], rbx
test rbx, rbx
je 0x140018c46
lea rax, [rbp + 0x77]
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 + 0x7f]
call rdi
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x1400189aa
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001898b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14001899d
call fcn.1400a27b4
mov qword [rbx + 8], r15
mov edx, Ordinal_26
mov rcx, rbx
call fcn.1400a27b4
test edi, edi
js 0x1400189ea
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 + 0x77]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x140018a0c
mov rcx, qword [rbp + 0x77]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
xor al, al
add rsp, 0x98
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rbp - 0x19], r15
mov rax, qword [rbp + 0x77]
mov rcx, qword [rax]
mov r14, qword [rcx + 0xa0]
mov ecx, Ordinal_26
call fcn.1400a2458
mov rbx, rax
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x140018a50
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_BaseBoard
call fcn.1400a3520
mov qword [rbx], rax
jmp 0x140018a53
mov rbx, r15
mov qword [rbp - 1], rbx
test rbx, rbx
je 0x140018c46
mov rsi, qword [rbx]
mov ecx, Ordinal_26
call fcn.1400a2458
mov rdi, rax
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x140018a95
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, [0x1400c6ac0]
call fcn.1400a3520
mov qword [rdi], rax
jmp 0x140018a98
mov rdi, r15
mov qword [rbp + 7], rdi
test rdi, rdi
je 0x140018c30
lea rax, [rbp - 0x19]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, Ordinal_50
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, qword [rbp + 0x77]
call r14
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x140018b08
mov rcx, qword [rdi]
test rcx, rcx
je 0x140018ae8
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140018afa
call fcn.1400a27b4
mov qword [rdi + 8], r15
mov edx, Ordinal_26
mov rcx, rdi
call fcn.1400a27b4
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140018b47
mov rcx, qword [rbx]
test rcx, rcx
je 0x140018b28
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140018b3a
call fcn.1400a27b4
mov qword [rbx + 8], r15
mov edx, Ordinal_26
mov rcx, rbx
call fcn.1400a27b4
test esi, esi
js 0x1400189e0
mov qword [rbp - 0x11], r15
mov dword [rbp + 0x67], r15d
xor bl, bl
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140018bfd
mov rax, qword [rcx]
lea rdx, [rbp + 0x67]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x11]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
cmp dword [rbp + 0x67], 0
je 0x140018bf9
lea rcx, [rbp + 0xf]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0xf]
xor r8d, r8d
lea rdx, str.Manufacturer
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test eax, eax
js 0x140018bde
cmp word [rbp + 0xf], 8
jne 0x140018bd4
lea rdx, str.Microsoft_Corporation
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x140018bed
lea rcx, [rbp + 0xf]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x140018b59
mov bl, 1
lea rcx, [rbp + 0xf]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x19]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x77]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x7f]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
movzx eax, bl
add rsp, 0x98
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1400a3510
nop
mov ecx, 0x8007000e
call fcn.1400a3510
nop
mov ecx, 0x8007000e
call fcn.1400a3510
int3