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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f8]
sub rsp, 0x5c0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1401620b0]
xor rax, rsp
mov qword [rbp + 0x4b0], rax
mov r14, r8
mov r13, rdx
mov rsi, rcx
xor ebx, ebx
mov qword [rbp + 0x4a0], rbx
mov qword [rbp + 0x4a8], rbx
mov qword [rbp + 0x4a0], rbx
mov qword [rbp + 0x4a8], 7
mov word [rbp + 0x490], bx
call fcn.1400466c0
mov ecx, dword [rsi + 8]
mov edx, 0x80000000
lea eax, [rcx + rdx]
test edx, eax
jne 0x1400467d4
cmp ecx, 0x80010106
jne 0x140046c2b
lea r12, [rsi + 0x28]
mov qword [rsp + 0x20], r12
lea r9, [0x1401150e8]
mov edi, 1
mov r8d, edi
xor edx, edx
lea rcx, [0x1401150d8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov r15d, eax
test eax, eax
je 0x140046889
call fcn.14008d174
mov r9d, edi
mov r8, qword [rax]
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.14000499c
nop
lea rdi, [rax + 0x10]
lea rdx, str.CoCreateInstance_failed__
mov rcx, rdi
call fcn.1400098d0
test rdi, rdi
jne 0x14004683b
mov rcx, rbx
jmp 0x140046845
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
call fcn.140010ab0
mov edx, r15d
mov rcx, rdi
call fcn.1400451ac
lea rdx, str.__in_updtWmiHelperClass::Initialize_
mov rcx, rdi
call fcn.1400098d0
nop
lea rcx, [rbp + 0x10]
call fcn.140004938
nop
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.140002658
nop
jmp 0x140046c2b
or rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp word [r13 + r8*2], bx
jne 0x140046890
mov rdx, r13
lea rcx, [rbp + 0x490]
call fcn.140005dd4
mov rcx, qword [r12]
mov rax, qword [rcx]
lea rdx, [rbp + 0x490]
cmp qword [rbp + 0x4a8], 8
cmovae rdx, qword [rbp + 0x490]
lea r12, [rsi + 0x30]
mov qword [rsp + 0x40], r12
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 rax, qword [rax + 0x18]
call qword [case.0x14007ca24.0]
mov r15d, eax
lfence
test eax, eax
jns 0x1400469b7
call fcn.14008d174
mov r9d, 1
mov r8, qword [rax]
mov edx, r9d
lea rcx, [rbp + 0x70]
call fcn.14000499c
nop
lea rdi, [rax + 0x10]
lea rdx, str.ConnectServer_failed__
mov rcx, rdi
call fcn.1400098d0
test rdi, rdi
jne 0x14004693a
mov rcx, rbx
jmp 0x140046944
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
call fcn.140010ab0
mov edx, r15d
mov rcx, rdi
call fcn.1400451ac
lea rdx, str.__in_updtWmiHelperClass::Initialize__Resource
mov rcx, rdi
call fcn.1400098d0
lea rdx, [rbp + 0x490]
cmp qword [rbp + 0x4a8], 8
cmovae rdx, qword [rbp + 0x490]
mov r8, qword [rbp + 0x4a0]
mov rcx, rdi
call fcn.140045428
nop
lea rcx, [rbp + 0x118]
call fcn.140004938
nop
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x118]
call fcn.140002658
nop
jmp 0x140046c2b
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov eax, 3
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 7]
mov rcx, qword [r12]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov r15d, eax
lfence
test eax, eax
jns 0x140046a80
call fcn.14008d174
mov r9d, 1
mov r8, qword [rax]
mov edx, r9d
lea rcx, [rbp + 0x178]
call fcn.14000499c
nop
lea rdi, [rax + 0x10]
lea rdx, str.CoSetProxyBlanket_failed__
mov rcx, rdi
call fcn.1400098d0
test rdi, rdi
jne 0x140046a29
mov rcx, rbx
jmp 0x140046a33
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
call fcn.140010ab0
mov edx, r15d
mov rcx, rdi
call fcn.1400451ac
lea rdx, str._in_updtWmiHelperClass::Initialize_
mov rcx, rdi
call fcn.1400098d0
nop
lea rcx, [rbp + 0x220]
call fcn.140004938
nop
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + 0x220], rax
lea rcx, [rbp + 0x220]
call fcn.140002658
nop
jmp 0x140046c2b
inc rdi
cmp word [r14 + rdi*2], bx
jne 0x140046a80
mov r8, rdi
mov rdx, r14
lea rcx, [rbp + 0x490]
call fcn.140005dd4
lea rdx, [0x140121110]
lea rcx, [rsp + 0x58]
call fcn.14004027c
nop
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.14004027c
nop
mov rcx, qword [r12]
mov rax, qword [rcx]
mov r10, qword [rax + 0xa0]
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140046ad9
mov r8, qword [rax]
jmp 0x140046adc
mov r8, rbx
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140046aeb
mov rdx, qword [rax]
jmp 0x140046aee
mov rdx, rbx
lea rax, [rsi + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov r9d, SafeArrayLock
mov rax, r10
call qword [case.0x14007ca24.0]
mov r15d, eax
lfence
test eax, eax
jns 0x140046bb3
call fcn.14008d174
mov r9d, 1
mov r8, qword [rax]
mov edx, r9d
lea rcx, [rbp + 0x280]
call fcn.14000499c
nop
lea rdi, [rax + 0x10]
lea rdx, str.ExecQuery_failed__
mov rcx, rdi
call fcn.1400098d0
test rdi, rdi
jne 0x140046b54
mov rcx, rbx
jmp 0x140046b5e
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
call fcn.140010ab0
mov edx, r15d
mov rcx, rdi
call fcn.1400451ac
lea rdx, str._in_updtWmiHelperClass::Initialize__Query
mov rcx, rdi
call fcn.1400098d0
mov rdx, r14
mov rcx, rdi
call fcn.1400098d0
nop
lea rcx, [rbp + 0x328]
call fcn.140004938
nop
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + 0x328], rax
lea rcx, [rbp + 0x328]
call fcn.140002658
nop
jmp 0x140046c16
mov rcx, rsi
call fcn.14004723c
test al, al
jne 0x140046c35
call fcn.14008d174
mov r9d, 1
mov r8, qword [rax]
mov edx, r9d
lea rcx, [rbp + 0x388]
call fcn.14000499c
nop
lea rcx, [rax + 0x10]
lea rdx, str.updtWmiHelperClass::Initialize:_MoveNextRecord_failed_
call fcn.1400098d0
nop
lea rcx, [rbp + 0x430]
call fcn.140004938
nop
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + 0x430], rax
lea rcx, [rbp + 0x430]
call fcn.140002658
nop
lea rcx, [rsp + 0x50]
call fcn.14004030c
nop
lea rcx, [rsp + 0x58]
call fcn.14004030c
mov rcx, rsi
call fcn.1400466c0
jmp 0x140046c4c
lea rcx, [rsp + 0x50]
call fcn.14004030c
nop
lea rcx, [rsp + 0x58]
call fcn.14004030c
mov bl, 1
lea rcx, [rbp + 0x490]
call fcn.140005cfc
nop
mov al, bl
mov rcx, qword [rbp + 0x4b0]
xor rcx, rsp
call fcn.140097440
mov rbx, qword [rsp + 0x618]
add rsp, 0x5c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret