Function at 0x140050160
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 0x1400502ea
xor r12d, r12d
mov qword [rbp - 0x51], r12
lea rax, [rbp - 0x51]
mov qword [rsp + 0x20], rax
lea r9, [0x140171cf0]
xor edx, edx
lea r8d, [r12 + 1]
lea rcx, [0x140171c40]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400502ea
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 0x14005021f
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 0x140050674
jmp 0x140050222
mov rbx, r12
mov qword [rbp - 0x31], rbx
test rbx, rbx
je 0x14005067f
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 0x1400502a0
mov rcx, qword [rbx]
test rcx, rcx
je 0x140050281
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140050293
call sub.mfc140u.dll_operator_1
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.1400f70f8
test edi, edi
js 0x1400502e0
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 0x140050325
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 0x140050648
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 0x14005035b
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM__Win32_Processor
call fcn.1400f98d0
mov qword [rbx], rax
jmp 0x14005035e
mov rbx, r12
mov qword [rbp - 9], rbx
test rbx, rbx
je 0x14005068a
mov ecx, 0x18
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov rdi, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x14005039d
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14013e618]
call fcn.1400f98d0
mov qword [rdi], rax
jmp 0x1400503a0
mov rdi, r12
mov qword [rbp - 0x29], rdi
test rdi, rdi
je 0x140050695
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.14003e050
nop
lea rcx, [rbp - 9]
call fcn.14003e050
test ebx, ebx
js 0x1400502d6
mov dword [rbp - 0x49], r12d
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x14005049a
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 0x14005049a
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 0x140050469
mov rcx, qword [rbp + 0xf]
call fcn.1400f97b0
mov rdx, rax
jmp 0x140050470
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 0x140050410
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 0x1400504d0
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM__Win32_BaseBoard
call fcn.1400f98d0
mov qword [rdi], rax
jmp 0x1400504d3
mov rdi, r12
mov qword [rbp - 0x11], rdi
test rdi, rdi
je 0x1400506a0
mov ecx, 0x18
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov rbx, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x140050512
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14013e618]
call fcn.1400f98d0
mov qword [rbx], rax
jmp 0x140050515
mov rbx, r12
mov qword [rbp - 1], rbx
test rbx, rbx
je 0x140050669
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.14003e050
nop
lea rcx, [rbp - 0x11]
call fcn.14003e050
test ebx, ebx
js 0x1400502d6
mov dword [rbp - 0x45], r12d
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14005060a
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 0x14005060a
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 0x1400505d9
mov rcx, qword [rbp + 0x27]
call fcn.1400f97b0
mov rdx, rax
jmp 0x1400505e0
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 0x140050580
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.1400f9660
nop
mov ecx, 0x8007000e
call fcn.1400f9660
nop
mov ecx, 0x8007000e
call fcn.1400f9660
int3
mov ecx, 0x8007000e
call fcn.1400f9660
nop
mov ecx, 0x8007000e
call fcn.1400f9660
nop
mov ecx, 0x8007000e
call fcn.1400f9660
int3