Function at 0x140022860
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 0x140022939
mov qword [rsi + 0x88], rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r14]
test rcx, rcx
je 0x14002294a
mov qword [r14], rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r13]
test rcx, rcx
je 0x14002295d
mov qword [r13], rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x140022976
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 0x140022991
mov qword [rsi + 0xa8], rdi
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r12]
test rcx, rcx
je 0x1400229a4
mov qword [r12], rdi
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsi + 0xb8]
test rcx, rcx
je 0x1400229bd
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 0x1400229d6
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.140024810
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.1400234e0
cmp qword [rsi + 0x88], 0
je 0x140022c39
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_GetSMBIOSTable___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rsi
call fcn.140024160
lea rdx, [rsi + 0xc8]
mov rcx, rsi
call fcn.140023b40
cmp eax, 1
jne 0x140022c30
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 0x140022d4d
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 0x140022b17
lea rcx, str.RtkMute:__Failed_to_get_class_definition_for_BDat__n
jmp 0x140022bcc
mov rdi, qword [rsi + 0x88]
lea rcx, [0x140285880]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140022d58
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 0x140022b74
lea rcx, str.RtkMute:__Failed_to_get_class_definition_for_BFn__n
jmp 0x140022bcc
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 0x140022d63
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 0x140022be3
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 0x140022c46
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 0x140022c46
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_WMIQuery_m_ACPIBufferSize___FALSE_n
jmp 0x140022c40
lea rcx, str.RtkMute:_CMcAcpiWmi_constructor_m_pWMINamespaceNULL_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [rsp + 0x50], 1
jne 0x140022d0e
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.1400246a0
test eax, eax
je 0x140022cb1
mov dword [rsi + 0x14], 1
call fcn.14004adf0
mov rcx, rax
test rax, rax
je 0x140022d42
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 0x140022d0e
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.1401e3920
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