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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov rax, qword [0x1400e5040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rcx
mov qword [rbp - 0x21], rcx
xor r12d, r12d
mov dword [rbp - 0x31], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov qword [rbp - 9], r12
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
lea r9, [0x14008cc68]
xor edx, edx
mov r8d, 1
lea rcx, [0x14008cc78]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov qword [rbp - 0x19], r12
lea rcx, str.ROOTCimV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov rcx, qword [rbp - 9]
mov rax, qword [rcx]
lea rdx, [rbp - 0x19]
mov qword [rsp + 0x40], rdx
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, rbx
call qword [rax + 0x18]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rbp - 0x19]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov qword [rbp - 0x11], r12
mov rax, qword [rbp - 0x19]
mov rcx, qword [rax]
mov r15, qword [rcx + 0xa0]
mov ecx, 0x18
call fcn.1400860c0
mov rdi, rax
mov qword [rbp - 0x39], rax
test rax, rax
je 0x140041128
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_BaseBoard
call fcn.140087270
mov qword [rdi], rax
jmp 0x14004112b
mov rdi, r12
mov qword [rbp - 0x39], rdi
test rdi, rdi
je 0x1400413ff
mov r14, qword [rdi]
mov ecx, 0x18
call fcn.1400860c0
mov rbx, rax
mov qword [rbp - 0x29], rax
test rax, rax
je 0x140041179
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r12
mov dword [rbx + 0x10], 1
lea rcx, [0x1400d3c18]
call fcn.140087270
mov qword [rbx], rax
jmp 0x14004117c
mov rbx, r12
mov qword [rbp - 0x29], rbx
test rbx, rbx
je 0x1400413de
lea rax, [rbp - 0x11]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 0x30
mov r8, r14
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x19]
call r15
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400411eb
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400411cb
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400411dd
call fcn.140086344
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.140086344
nop
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x14004122a
mov rcx, qword [rdi]
test rcx, rcx
je 0x14004120b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14004121d
call fcn.140086344
mov qword [rdi + 8], r12
mov edx, 0x18
mov rcx, rdi
call fcn.140086344
mov qword [rbp - 1], r12
mov dword [rbp + 0x1f], r12d
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], recv
mov byte [rsi], 0
mov dword [rbp - 0x31], 1
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x14004138f
nop dword [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp + 0x1f]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 1]
mov edx, 0xffffffff
mov r8d, 1
call qword [rax + 0x20]
cmp dword [rbp + 0x1f], 0
je 0x14004138f
mov rcx, qword [rbp - 1]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp + 7]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + 0x20]
mov rdi, qword [rbp + 0xf]
mov ecx, 0x18
call fcn.1400860c0
mov rbx, rax
mov qword [rbp - 0x29], rax
test rax, rax
je 0x1400412f7
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r12
mov dword [rbx + 0x10], 1
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x1400412fa
test rdi, rdi
jne 0x1400413e9
jmp 0x1400412fa
mov rbx, r12
mov qword [rbp - 0x39], rbx
test rbx, rbx
je 0x1400413f4
mov rax, qword [rbx + 8]
test rax, rax
jne 0x14004131c
mov rcx, qword [rbx]
call fcn.140087150
mov qword [rbx + 8], rax
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140041323
mov rdx, rax
mov rcx, rsi
call fcn.140047840
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140041378
mov rcx, qword [rbx]
test rcx, rcx
je 0x140041359
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004136b
call fcn.140086344
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.140086344
lea rcx, [rbp + 7]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x11]
test rcx, rcx
jne 0x140041260
mov rcx, qword [rbp - 0x19]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 9]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x11]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140085f80
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140087140
nop
mov ecx, 0x8007000e
call fcn.140087140
nop
mov ecx, 0x8007000e
call fcn.140087140
int3
mov ecx, 0x8007000e
call fcn.140087140
int3