Function at 0x1400309e0
Capabilities:
Connect to wmi namespace via wbemlocator
Print debug messages

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r13, rcx
xor esi, esi
mov qword [rax + 0x18], rsi
lea r15, [rcx + 0x80]
mov qword [rsp + 0x20], r15
lea r9, [0x1400c0270]
xor edx, edx
lea r8d, [rsi + 1]
lea rcx, [0x1400c0290]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140030a41
lea rcx, str.RtkMute:CoCreateInstance_CLSID_StdGlobalInterfaceTable__ok_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140030a4e
lea rcx, str.RtkMute:CoCreateInstance_CLSID_StdGlobalInterfaceTable__fail_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400b70a0]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400b7170]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140030e24
lea rcx, str.RtkMute:CoCreateInstance_CLSID_WbemLocator__ok_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea r14, [r13 + 0x88]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
lea rdx, str.rootwmi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
jne 0x140030b0e
lea rcx, str.RtkMute:pIWbemLocator__ConnectServer_ok_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, str.RtkMute:pIWbemLocator__ConnectServer_WBEM_S_NO_ERROR_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [r14]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
lea rdi, [r13 + 0xe8]
mov qword [rsp + 0x20], rdi
lea r9, [0x1400b70f0]
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [0x1400b7190]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140030b47
lea rcx, str.RtkMute:CoCreateInstance_CLSID_UnsecuredApartment__ok_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140030b54
lea rcx, str.RtkMute:CoCreateInstance_CLSID_UnsecuredApartment__fail_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, 0x40
call fcn.1400622f0
mov rbx, rax
test rax, rax
je 0x140030b83
lea rax, [0x1400cbd30]
mov qword [rbx], rax
mov dword [rbx + 8], esi
mov qword [rbx + 0x10], rsi
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x140030b86
mov rbx, rsi
mov qword [r13 + 0xd0], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r11, qword [r13 + 0x130]
mov rax, qword [r13 + 0xd0]
mov qword [rax + 0x10], r11
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea r8, [r13 + 0xe0]
mov rdx, qword [r13 + 0xd0]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
jne 0x140030bd2
lea rcx, str.RtkMute:pUnsecApp__CreateObjectStub_m_pSink_ok_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140030bdf
lea rcx, str.RtkMute:pUnsecApp__CreateObjectStub_m_pSink_fail_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [r13 + 0xe0]
mov rax, qword [rcx]
lea r8, [r13 + 0xd8]
lea rdx, [0x1400b70b0]
call qword [rax]
test eax, eax
jne 0x140030c0c
lea rcx, str.RtkMute:pStubUnk__QueryInterface_IID_IWbemObjectSink_ok_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140030c19
lea rcx, str.RtkMute:pStubUnk__QueryInterface_IID_IWbemObjectSink_fail_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rbp, qword [r14]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400622f0
mov rbx, rax
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x140030c52
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_BIOSEvent
call fcn.140061af0
mov qword [rbx], rax
jmp 0x140030c55
mov rbx, rsi
mov qword [rsp + 0x58], rbx
test rbx, rbx
jne 0x140030c6a
mov ecx, 0x8007000e
call fcn.140061a20
nop
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400622f0
mov rdi, rax
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x140030ca0
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, [0x1400c50c0]
call fcn.140061af0
mov qword [rdi], rax
jmp 0x140030ca3
mov rdi, rsi
mov qword [rsp + 0x60], rdi
test rdi, rdi
jne 0x140030cb8
mov ecx, 0x8007000e
call fcn.140061a20
nop
test rbx, rbx
je 0x140030cc2
mov r8, qword [rbx]
jmp 0x140030cc5
mov r8, rsi
test rdi, rdi
je 0x140030ccf
mov rdx, qword [rdi]
jmp 0x140030cd2
mov rdx, rsi
mov r10, qword [rbp]
mov rax, qword [r13 + 0xd8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9d, 0x80
mov rcx, rbp
call qword [r10 + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
mov r12d, eax
or ebp, 0xffffffff
test rdi, rdi
je 0x140030d32
mov ecx, ebp
lock xadd dword [rdi + 0x10], ecx
add ecx, ebp
jne 0x140030d32
mov rcx, qword [rdi]
test rcx, rcx
je 0x140030d1b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140030d29
call fcn.14006233c
mov rcx, rdi
call fcn.14006233c
nop
test rbx, rbx
je 0x140030d67
mov eax, ebp
lock xadd dword [rbx + 0x10], eax
add eax, 0xffffffff
jne 0x140030d67
mov rcx, qword [rbx]
test rcx, rcx
je 0x140030d51
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140030d5f
call fcn.14006233c
mov rcx, rbx
call fcn.14006233c
test r12d, r12d
jne 0x140030d7b
lea rcx, str.RtkMute:m_pWMINamespace__ExecNotificationQueryAsync_ok_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140030dfa
lea rcx, str.RtkMute:m_pWMINamespace__ExecNotificationQueryAsync_fail_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call fcn.1400628f8
mov rcx, rax
test rax, rax
setne sil
test esi, esi
jne 0x140030da6
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0xc8], rax
mov r8d, r12d
lea rdx, str.RtkMute:ret_x_r_n
lea rcx, [rsp + 0xc8]
call fcn.140001e50
mov rbx, qword [rsp + 0xc8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x140030dfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r15]
mov rax, qword [rcx]
lea r9, [r13 + 0xf8]
lea r8, [0x1400b7090]
mov rdx, qword [r14]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140030e31
lea rcx, str.RtkMute:CoCreateInstance_CLSID_WbemLocator__fail_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret