Function at 0x140022650
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1402da8d8]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov byte [rsp + 0x50], r8b
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x68], rcx
lea rax, vtable.CMcAcpiWmi.0
mov qword [rcx], rax
xor ecx, ecx
mov qword [rsi + 0x88], rcx
mov qword [rsi + 0x90], rcx
lea r14, [rsi + 0x98]
mov qword [r14], rcx
lea r13, [rsi + 0xa0]
mov qword [r13], rcx
mov qword [rsi + 0xa8], rcx
lea r12, [rsi + 0xb0]
mov qword [r12], rcx
mov qword [rsi + 0xb8], rcx
mov qword [rsi + 0xc0], rcx
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsi + 0x128], 0xffffffff
mov dword [rsi + 0x14], 0
mov qword [rsi + 0x130], rbx
mov rcx, qword [rsi + 0x88]
xor ebx, ebx
test rcx, rcx
je 0x140022729
mov qword [rsi + 0x88], rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r14]
test rcx, rcx
je 0x14002273a
mov qword [r14], rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r13]
test rcx, rcx
je 0x14002274d
mov qword [r13], rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x140022766
mov qword [rsi + 0x90], rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsi + 0xa8]
xor edi, edi
test rcx, rcx
je 0x140022781
mov qword [rsi + 0xa8], rdi
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r12]
test rcx, rcx
je 0x140022794
mov qword [r12], rdi
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsi + 0xb8]
test rcx, rcx
je 0x1400227ad
mov qword [rsi + 0xb8], rdi
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsi + 0xc0]
test rcx, rcx
je 0x1400227c6
mov qword [rsi + 0xc0], rdi
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rsi + 0xf0], rdi
mov qword [rsi + 0xd0], rdi
mov qword [rsi + 0xd8], rdi
mov qword [rsi + 0xe0], rdi
mov qword [rsi + 0xe8], rdi
mov qword [rsi + 0x80], rdi
mov dword [rsi + 0xc8], edi
mov dword [rsi + 0xf8], edi
mov dword [rsi + 0x18], 0x40
lea rcx, [rsi + 0x1c]
lea rdx, str.DSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCI
call fcn.140024600
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov ebp, 0xffffffff
mov edx, ebp
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
lea rcx, [rsi + 0x100]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rcx, rsi
call fcn.1400232d0
cmp qword [rsi + 0x88], 0
je 0x140022a29
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_GetSMBIOSTable___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rsi
call fcn.140023f50
lea rdx, [rsi + 0xc8]
mov rcx, rsi
call fcn.140023930
cmp eax, 1
jne 0x140022a20
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_GetDefinitions___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdi, qword [rsi + 0x88]
lea rcx, str.BDat
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140022b3d
mov rax, qword [rdi]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call qword [rax + 0x30]
mov edi, eax
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
je 0x140022907
lea rcx, str.RtkMute:__Failed_to_get_class_definition_for_BDat__n
jmp 0x1400229bc
mov rdi, qword [rsi + 0x88]
lea rcx, [0x1402856f0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140022b48
mov rax, qword [rdi]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call qword [rax + 0x30]
mov edi, eax
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
je 0x140022964
lea rcx, str.RtkMute:__Failed_to_get_class_definition_for_BFn__n
jmp 0x1400229bc
mov rdi, qword [r14]
lea rcx, str.DoBFn
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x80], rax
test rax, rax
je 0x140022b53
mov rax, qword [rdi]
mov qword [rsp + 0x20], r12
lea r9, [rsi + 0xa8]
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call qword [rax + 0x98]
mov edi, eax
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
je 0x1400229d3
lea rcx, str.RtkMute:__Failed_to_get_method_for_DoBFn__n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_GetDefinitions____FALSE_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor edi, edi
jmp 0x140022a36
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_SpawnInstances___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [r13]
mov rax, qword [rcx]
lea r8, [rsi + 0x90]
xor edx, edx
call qword [rax + 0x78]
mov rcx, qword [rsi + 0xa8]
mov rax, qword [rcx]
lea r8, [rsi + 0xb8]
xor edx, edx
call qword [rax + 0x78]
mov rcx, qword [r12]
mov rax, qword [rcx]
lea r8, [rsi + 0xc0]
xor edx, edx
call qword [rax + 0x78]
xor edi, edi
jmp 0x140022a36
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_WMIQuery_m_ACPIBufferSize___FALSE_n
jmp 0x140022a30
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_m_pWMINamespaceNULL_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [rsp + 0x50], 1
jne 0x140022afe
mov dword [rsi + 0x14], edi
xor eax, eax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.140024490
test eax, eax
je 0x140022aa1
mov dword [rsi + 0x14], 1
call fcn.14004aa80
mov rcx, rax
test rax, rax
je 0x140022b32
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r8d, dword [rsi + 0x14]
lea rdx, str.bNewType_d_r_n
lea rcx, [rsp + 0x58]
call fcn.140004e30
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x140022afe
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rax, rsi
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1401e35b0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140005680
int3
mov ecx, 0x8007000e
call fcn.140005680
int3
mov ecx, 0x8007000e
call fcn.140005680
int3
mov ecx, 0x8007000e
call fcn.140005680
int3