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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov qword [rbp + 0x37], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
mov r15, r9
mov r14, r8
mov rsi, rdx
call qword [sym.imp.ole32.dll_CoUninitialize]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x14005103a
xor r12d, r12d
mov qword [rbp - 0x51], r12
lea rax, [rbp - 0x51]
mov qword [rsp + 0x20], rax
lea r9, [0x14019ab28]
xor edx, edx
lea r8d, [r12 + 1]
lea rcx, [0x14019aa78]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14005103a
mov qword [rbp - 0x59], r12
lea ecx, [r12 + 0x18]
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov rbx, rax
mov qword [rbp - 0x11], rax
test rax, rax
je 0x140050f6f
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1400513c4
jmp 0x140050f72
mov rbx, r12
mov qword [rbp - 0x31], rbx
test rbx, rbx
je 0x1400513cf
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
lea rdx, [rbp - 0x59]
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, qword [rbx]
call qword [rax + 0x18]
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140050ff0
mov rcx, qword [rbx]
test rcx, rcx
je 0x140050fd1
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140050fe3
call sub.mfc140u.dll_operator_1
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.140113c9c
test edi, edi
js 0x140051030
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
lea edx, [r9 + 0xa]
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x140051075
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdx, str.PID123
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XPanel::XPanel]
lea rdx, str.MID123
mov rcx, r14
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XPanel::XPanel]
lea rdx, str.HID123
mov rcx, r15
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XPanel::XPanel]
jmp 0x140051398
mov qword [rbp - 0x41], r12
mov ecx, 0x18
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov rbx, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x1400510ab
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM__Win32_Processor
call fcn.140116010
mov qword [rbx], rax
jmp 0x1400510ae
mov rbx, r12
mov qword [rbp - 9], rbx
test rbx, rbx
je 0x1400513da
mov ecx, 0x18
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov rdi, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x1400510ed
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14015f0e8]
call fcn.140116010
mov qword [rdi], rax
jmp 0x1400510f0
mov rdi, r12
mov qword [rbp - 0x29], rdi
test rdi, rdi
je 0x1400513e5
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
lea rdx, [rbp - 0x41]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov r9d, gethostbyname
mov r8, qword [rbx]
mov rdx, qword [rdi]
call qword [rax + 0xa0]
mov ebx, eax
lea rcx, [rbp - 0x29]
call fcn.14003cad0
nop
lea rcx, [rbp - 9]
call fcn.14003cad0
test ebx, ebx
js 0x140051026
mov dword [rbp - 0x49], r12d
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x1400511ea
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x21]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp - 0x49], 0
je 0x1400511ea
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp + 7]
xor r8d, r8d
lea rdx, str.ProcessorId
call qword [rax + 0x20]
cmp word [rbp + 7], 8
jne 0x1400511b9
mov rcx, qword [rbp + 0xf]
call fcn.140115ef0
mov rdx, rax
jmp 0x1400511c0
lea rdx, str.PID123
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XPanel::XPanel]
lea rcx, [rbp + 7]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x41]
test rcx, rcx
jne 0x140051160
mov qword [rbp - 0x39], r12
mov ecx, 0x18
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov rdi, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x140051220
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM__Win32_BaseBoard
call fcn.140116010
mov qword [rdi], rax
jmp 0x140051223
mov rdi, r12
mov qword [rbp - 0x11], rdi
test rdi, rdi
je 0x1400513f0
mov ecx, 0x18
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov rbx, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x140051262
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14015f0e8]
call fcn.140116010
mov qword [rbx], rax
jmp 0x140051265
mov rbx, r12
mov qword [rbp - 1], rbx
test rbx, rbx
je 0x1400513b9
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov r9d, gethostbyname
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
mov ebx, eax
lea rcx, [rbp - 1]
call fcn.14003cad0
nop
lea rcx, [rbp - 0x11]
call fcn.14003cad0
test ebx, ebx
js 0x140051026
mov dword [rbp - 0x45], r12d
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14005135a
nop word [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x45]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x19]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp - 0x45], 0
je 0x14005135a
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x1f]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + 0x20]
cmp word [rbp + 0x1f], 8
jne 0x140051329
mov rcx, qword [rbp + 0x27]
call fcn.140115ef0
mov rdx, rax
jmp 0x140051330
lea rdx, str.MID123
mov rcx, r14
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XPanel::XPanel]
lea rcx, [rbp + 0x1f]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x39]
test rcx, rcx
jne 0x1400512d0
lea rdx, str.HID123
mov rcx, r15
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XPanel::XPanel]
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x39]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
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 ecx, 0x8007000e
call fcn.140115da0
nop
mov ecx, 0x8007000e
call fcn.140115da0
nop
mov ecx, 0x8007000e
call fcn.140115da0
int3
mov ecx, 0x8007000e
call fcn.140115da0
nop
mov ecx, 0x8007000e
call fcn.140115da0
nop
mov ecx, 0x8007000e
call fcn.140115da0
int3