Function at 0x140131d90
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x1404779b8]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
movzx r13d, dl
mov qword [rsp + 0x70], rcx
test dl, dl
je 0x140131eff
xor edx, edx
xor ecx, ecx
call qword [sym.imp.OLE32.dll_CoInitializeEx]
test eax, eax
jns 0x140131eff
lfence
mov edx, eax
lea rcx, [rbp + 0x100]
call fcn.140132a50
nop
mov r8, rax
lea rdx, str.__WmiEventManager__Set_WMI_Event_Receiver_fail_CoInitializeEx_failed:._Error_code_
lea rcx, [rbp + 0x60]
call fcn.1400eafe0
mov rcx, rax
call fcn.140214d90
mov rdi, rax
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x140131e5c
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140131e57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401328a8
call fcn.14021ecec
lfence
xor ebx, ebx
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], SafeArrayLock
mov byte [rbp + 0x100], bl
lea edx, [rbx + 2]
mov rcx, rdi
call fcn.1401a8aa0
mov rcx, rdi
call fcn.14021f46c
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], SafeArrayLock
lea ecx, [rbx + 0x40]
call fcn.1400eb1a0
mov rdx, rax
mov qword [rbp - 0x58], 0x35
mov qword [rbp - 0x50], 0x3f
movups xmm0, xmmword [str._WmiEventManager__Set_WMI_Event_Receiver_fail_:_Step1]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14034cf58]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14034cf68]
movups xmmword [rax + 0x20], xmm0
mov ecx, dword [0x14034cf78]
mov dword [rax + 0x30], ecx
movzx eax, byte [0x14034cf7c]
mov byte [rdx + 0x34], al
mov byte [rdx + 0x35], bl
mov qword [rbp - 0x68], rdx
lea rcx, [rbp - 0x68]
call fcn.1401a7f60
jmp 0x14013204e
xor ebx, ebx
mov qword [rsp + 0x60], rbx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x140373e98]
xor edx, edx
lea r8d, [rbx + 1]
lea rcx, [0x140373de8]
call qword [sym.imp.OLE32.dll_CoCreateInstance]
test eax, eax
jns 0x140132083
lfence
mov edx, eax
lea rcx, [rbp + 0x120]
call fcn.140132a50
nop
mov r8, rax
lea rdx, str.__WmiEventManager__Set_WMI_Event_Receiver_fail_CoCreateInstance_failed:._Error_code_
lea rcx, [rbp + 0x80]
call fcn.1400eafe0
mov rcx, rax
call fcn.140214d90
mov rdi, rax
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x140131fa6
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140131fa1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401328ae
call fcn.14021ecec
lfence
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x138], SafeArrayLock
mov byte [rbp + 0x120], 0
mov edx, 2
mov rcx, rdi
call fcn.1401a8aa0
mov rcx, rdi
call fcn.14021f46c
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], SafeArrayLock
mov ecx, 0x40
call fcn.1400eb1a0
mov rdx, rax
mov qword [rbp - 0x38], 0x35
mov qword [rbp - 0x30], 0x3f
movups xmm0, xmmword [str._WmiEventManager__Set_WMI_Event_Receiver_fail_:_Step3]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14034cfe8]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14034cff8]
movups xmmword [rax + 0x20], xmm0
mov ecx, dword [0x14034d008]
mov dword [rax + 0x30], ecx
movzx eax, byte [0x14034d00c]
mov byte [rdx + 0x34], al
mov byte [rdx + 0x35], 0
mov qword [rbp - 0x48], rdx
lea rcx, [rbp - 0x48]
call fcn.1401a7f60
call qword [sym.imp.OLE32.dll_CoUninitialize]
mov eax, 1
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.14021f250
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rsp + 0x50], rbx
mov ecx, SafeArrayPutElement
call fcn.14021ecb0
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1401320c5
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
lea rcx, str.ROOTWMI
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
je 0x140132892
jmp 0x1401320c8
mov rdi, rbx
mov qword [rbp - 0x78], rdi
test rdi, rdi
je 0x14013289d
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rdi]
mov rax, qword [rax + 0x18]
call qword [case.0x1400ed125.0]
mov esi, eax
mov r15d, 0xffffffff
mov ecx, r15d
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x140132152
mov rcx, qword [rdi]
test rcx, rcx
je 0x140132133
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140132145
call fcn.14021f46c
mov qword [rdi + 8], rbx
mov edx, SafeArrayPutElement
mov rcx, rdi
call fcn.14021ecec
test esi, esi
jns 0x140132287
lfence
mov edx, esi
lea rcx, [rbp + 0x140]
call fcn.140132a50
nop
mov r8, rax
lea rdx, str.__WmiEventManager__Set_WMI_Event_Receiver_fail_ConnectServer_failed:._Error_code_
lea rcx, [rbp + 0xa0]
call fcn.1400eafe0
mov rcx, rax
call fcn.140214d90
mov rdi, rax
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x1401321ce
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401321c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401328b4
call fcn.14021ecec
lfence
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x158], SafeArrayLock
mov byte [rbp + 0x140], 0
mov edx, 2
mov rcx, rdi
call fcn.1401a8aa0
mov rcx, rdi
call fcn.14021f46c
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], SafeArrayLock
mov ecx, 0x40
call fcn.1400eb1a0
mov rdx, rax
mov qword [rbp - 0x18], 0x35
mov qword [rbp - 0x10], 0x3f
movups xmm0, xmmword [str._WmiEventManager__Set_WMI_Event_Receiver_fail_:_Step4]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14034d098]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14034d0a8]
movups xmmword [rax + 0x20], xmm0
mov ecx, dword [0x14034d0b8]
mov dword [rax + 0x30], ecx
movzx eax, byte [0x14034d0bc]
mov byte [rdx + 0x34], al
mov byte [rdx + 0x35], 0
mov qword [rbp - 0x28], rdx
lea rcx, [rbp - 0x28]
call fcn.1401a7f60
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
jmp 0x140132048
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLE32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x1401323ea
lfence
mov edx, eax
lea rcx, [rbp + 0x160]
call fcn.140132a50
nop
mov r8, rax
lea rdx, str.__WmiEventManager__Set_WMI_Event_Receiver_fail_CoSetProxyBlanket_failed:._Error_code_
lea rcx, [rbp + 0xc0]
call fcn.1400eafe0
mov rcx, rax
call fcn.140214d90
mov rdi, rax
mov rdx, qword [rbp + 0x178]
cmp rdx, 0x10
jb 0x140132331
inc rdx
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14013232c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401328ba
call fcn.14021ecec
lfence
mov qword [rbp + 0x170], rbx
mov qword [rbp + 0x178], SafeArrayLock
mov byte [rbp + 0x160], 0
mov edx, 2
mov rcx, rdi
call fcn.1401a8aa0
mov rcx, rdi
call fcn.14021f46c
mov qword [rbp - 8], rbx
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], SafeArrayLock
mov ecx, 0x40
call fcn.1400eb1a0
mov rdx, rax
mov qword [rbp + 8], 0x35
mov qword [rbp + 0x10], 0x3f
movups xmm0, xmmword [str._WmiEventManager__Set_WMI_Event_Receiver_fail_:_Step5]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14034d128]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14034d138]
movups xmmword [rax + 0x20], xmm0
mov ecx, dword [0x14034d148]
mov dword [rax + 0x30], ecx
movzx eax, byte [0x14034d14c]
mov byte [rdx + 0x34], al
mov byte [rdx + 0x35], 0
mov qword [rbp - 8], rdx
lea rcx, [rbp - 8]
call fcn.1401a7f60
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
jmp 0x140132270
mov qword [rsp + 0x78], rbx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [0x140373ec8]
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [0x140373db8]
call qword [sym.imp.OLE32.dll_CoCreateInstance]
mov ecx, 0x30
call fcn.14021ecb0
mov r14, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140132469
mov dword [rax + 8], ebx
lea rax, vtable.WmiEventManager.0
mov qword [r14], rax
mov dword [r14 + 0x18], 0x9a
mov dword [r14 + 0x1c], 0x9b
mov dword [r14 + 0x20], 0x98
mov dword [r14 + 0x24], 0x97
mov dword [r14 + 0x28], 0x96
mov dword [r14 + 0x2c], 0xba
jmp 0x14013246c
mov r14, rbx
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x1400ed125.0]
mov qword [rbp - 0x80], rbx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r8, [rbp - 0x80]
mov rdx, r14
mov rax, qword [rax + 0x18]
call qword [case.0x1400ed125.0]
mov qword [rsp + 0x68], rbx
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
lea rdx, [0x140373e48]
mov rax, qword [rax]
call qword [case.0x1400ed125.0]
mov ecx, SafeArrayPutElement
call fcn.14021ecb0
mov rsi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1401324ed
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_AsusAtkWmiEvent
call fcn.1402507e0
mov qword [rsi], rax
jmp 0x1401324f0
mov rsi, rbx
mov qword [rbp + 0x58], rsi
test rsi, rsi
je 0x14013289d
mov ecx, SafeArrayPutElement
call fcn.14021ecb0
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140132530
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
lea rcx, [0x14034d170]
call fcn.1402507e0
mov qword [rdi], rax
jmp 0x140132533
mov rdi, rbx
mov qword [rbp - 0x70], rdi
test rdi, rdi
je 0x1401328c0
mov r10, qword [rsp + 0x50]
mov rax, qword [r10]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
mov r9d, 0x80
mov r8, qword [rsi]
mov rdx, qword [rdi]
mov rcx, r10
mov rax, qword [rax + 0xb8]
call qword [case.0x1400ed125.0]
mov r12d, eax
mov ecx, r15d
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x1401325b4
mov rcx, qword [rdi]
test rcx, rcx
je 0x140132594
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1401325a6
call fcn.14021f46c
mov qword [rdi + 8], rbx
mov edx, SafeArrayPutElement
mov rcx, rdi
call fcn.14021ecec
nop
lock xadd dword [rsi + 0x10], r15d
cmp r15d, 1
jne 0x1401325f0
mov rcx, qword [rsi]
test rcx, rcx
je 0x1401325d1
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], rbx
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1401325e3
call fcn.14021f46c
mov qword [rsi + 8], rbx
mov edx, SafeArrayPutElement
mov rcx, rsi
call fcn.14021ecec
test r12d, r12d
jns 0x14013277e
lfence
mov edx, r12d
lea rcx, [rbp + 0x180]
call fcn.140132a50
nop
mov r8, rax
lea rdx, str.__WmiEventManager__Set_WMI_Event_Receiver_fail_ExecNotificationQueryAsync_failed:._Error_code_
lea rcx, [rbp + 0xe0]
call fcn.1400eafe0
mov rcx, rax
call fcn.140214d90
mov rdi, rax
mov rdx, qword [rbp + 0x198]
cmp rdx, 0x10
jb 0x14013266e
inc rdx
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140132669
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14013288c
call fcn.14021ecec
lfence
mov qword [rbp + 0x190], rbx
mov qword [rbp + 0x198], SafeArrayLock
mov byte [rbp + 0x180], 0
mov edx, 2
mov rcx, rdi
call fcn.1401a8aa0
mov rcx, rdi
call fcn.14021f46c
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], SafeArrayLock
mov ecx, 0x40
call fcn.1400eb1a0
mov rdx, rax
mov qword [rbp + 0x28], 0x35
mov qword [rbp + 0x30], 0x3f
movups xmm0, xmmword [str._WmiEventManager__Set_WMI_Event_Receiver_fail_:_Step6]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14034d1f8]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14034d208]
movups xmmword [rax + 0x20], xmm0
mov ecx, dword [0x14034d218]
mov dword [rax + 0x30], ecx
movzx eax, byte [0x14034d21c]
mov byte [rdx + 0x34], al
mov byte [rdx + 0x35], 0
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0x18]
call fcn.1401a7f60
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
jmp 0x140132048
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x50], SafeArrayLock
mov ecx, 0x30
call fcn.1400eb1a0
mov qword [rbp + 0x48], 0x2b
mov qword [rbp + 0x50], 0x2f
movups xmm0, xmmword [str._WmiEventManager__Set_WMI_Event_Receiver_OK]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14034d230]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14034d240]
movsd qword [rax + 0x20], xmm0
movzx edx, word [0x14034d248]
mov word [rax + 0x28], dx
movzx edx, byte [0x14034d24a]
mov byte [rax + 0x2a], dl
mov byte [rax + 0x2b], 0
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x38]
call fcn.1401a7f60
mov rcx, qword [rsp + 0x70]
call fcn.140132b30
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rax + 0x20]
call qword [case.0x1400ed125.0]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ed125.0]
test r13b, r13b
je 0x140132885
call qword [sym.imp.OLE32.dll_CoUninitialize]
xor eax, eax
jmp 0x140132053
call fcn.140260f54
nop
mov ecx, 0x8007000e
call fcn.140250570
nop
mov ecx, 0x8007000e
call fcn.140250570
int3
call fcn.140260f54
int3
call fcn.140260f54
int3
call fcn.140260f54
int3
call fcn.140260f54
nop
mov ecx, 0x8007000e
call fcn.140250570
int3