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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rdx
mov rsi, rcx
xor r15d, r15d
mov qword [rbp - 0x11], r15
mov qword [rbp - 0x19], r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov edi, eax
test eax, eax
jns 0x1400012d8
lea rdx, str.Failed_to_initialize_COM_library._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002650
mov rcx, rax
mov edx, edi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, [0x140002820]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140002fd0
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov edi, eax
test eax, eax
jns 0x140001345
lea rdx, str.Failed_to_initialize_COM_security._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002650
mov rcx, rax
mov edx, edi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, [0x140002820]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1400012b5
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
lea r9, [0x1400053d8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400053e8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test eax, eax
jns 0x140001377
lea rdx, str.Failed_to_create_IWbemLocator_object._Error_code:
jmp 0x140001313
mov ecx, 0x18
call fcn.140002ff8
mov rdi, rax
mov qword [rbp - 0x39], rax
test rax, rax
je 0x1400013bf
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
je 0x14000176b
jmp 0x1400013c2
mov rdi, r15
mov qword [rbp - 0x31], rdi
test rdi, rdi
je 0x140001781
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
lea rdx, [rbp - 0x19]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rdi]
call qword [rax + 0x18]
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x140001441
mov rcx, qword [rdi]
test rcx, rcx
je 0x140001422
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140001434
call fcn.140002ff0
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.140002ff0
test r14d, r14d
jns 0x14000148a
lea rdx, str.Failed_to_connect_to_WMI_namespace._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002650
mov rcx, rax
mov edx, r14d
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, [0x140002820]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1400012b5
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rbp - 0x19]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov edi, eax
test eax, eax
jns 0x14000150b
lea rdx, str.Failed_to_set_proxy_blanket._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002650
mov edx, edi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, [0x140002820]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1400012b5
mov qword [rbp - 1], r15
cmp qword [rsi + 0x18], 7
jbe 0x140001519
mov rsi, qword [rsi]
mov ecx, 0x18
call fcn.140002ff8
mov rdi, rax
mov qword [rbp - 0x39], rax
test rax, rax
je 0x140001562
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
jne 0x140001565
test rsi, rsi
jne 0x140001776
jmp 0x140001565
mov rdi, r15
mov qword [rbp - 0x29], rdi
test rdi, rdi
je 0x140001781
mov ecx, 0x18
call fcn.140002ff8
mov rsi, rax
mov qword [rbp - 0x39], rax
test rax, rax
je 0x1400015b0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], r15
mov dword [rsi + 0x10], 1
lea rcx, [0x14000579c]
call fcn.140002ca0
mov qword [rsi], rax
jmp 0x1400015b3
mov rsi, r15
mov qword [rbp - 0x21], rsi
test rsi, rsi
je 0x140001760
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
lea rdx, [rbp - 1]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rsi]
call qword [rax + 0xa0]
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rsi + 0x10], ecx
cmp ecx, 1
jne 0x14000162a
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000160a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r15
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14000161c
call fcn.140002ff0
mov qword [rsi + 8], r15
mov edx, 0x18
mov rcx, rsi
call fcn.140002ff0
nop
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140001669
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000164a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14000165c
call fcn.140002ff0
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.140002ff0
test r14d, r14d
jns 0x140001689
lea rdx, str.Failed_to_execute_WMI_query._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002650
mov edx, r14d
jmp 0x1400014d3
mov qword [rbp - 9], r15
mov dword [rbp + 0x1f], r15d
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400014ec
nop
mov rax, qword [rcx]
lea rdx, [rbp + 0x1f]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 9]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp + 0x1f], 0
je 0x1400014ec
mov rdx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1400016d3
mov rdx, qword [rbx]
mov rcx, qword [rbp - 9]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp + 7]
xor r8d, r8d
call qword [rax + 0x20]
test eax, eax
js 0x140001744
mov rdx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1400016ff
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140002ac0
lea rdx, [0x1400057cc]
mov rcx, rax
call fcn.140002860
mov rcx, rax
mov rdx, qword [rbp + 0xf]
call fcn.140002860
mov rcx, rax
lea rdx, [0x140002a40]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rcx, [rbp + 7]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 9]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 1]
test rcx, rcx
jne 0x1400016a0
jmp 0x1400014ec
mov ecx, 0x8007000e
call fcn.140002c90
nop
mov ecx, 0x8007000e
call fcn.140002c90
nop
mov ecx, 0x8007000e
call fcn.140002c90
nop
mov ecx, 0x8007000e
call fcn.140002c90
int3