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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
mov qword [rbp - 0x19], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1402a87a8]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, rcx
mov qword [rbp - 0x41], rcx
xor r15d, r15d
mov qword [rbp - 0x39], r15
movdqa xmm0, xmmword [0x140268a30]
movdqu xmmword [rbp - 1], xmm0
mov word [rbp - 0x11], r15w
lea r8d, [r15 + 0xa]
lea rdx, str.ROOTCIMV2
lea rcx, [rbp - 0x11]
call fcn.140022600
nop
lea rdx, [rbp - 0x11]
lea rcx, [rbp + 0xf]
call fcn.1400246a0
mov qword [rbp + 0x2f], r15
movzx eax, byte [rbp - 0x69]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0xf]
lea rdx, [rbp - 0x29]
call fcn.1400249c0
nop
mov rcx, qword [rbp + 0x2f]
test rcx, rcx
je 0x1400197c0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x140019801
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400197fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019b03
call fcn.1400315ec
nop
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x140019842
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001983c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019b09
call fcn.1400315ec
nop
mov r14, qword [rbp - 0x29]
cmp qword [r14 + 0x40], 0
jne 0x140019aaf
cmp qword [0x1403be4a8], 0
jne 0x140019919
mov qword [rbp - 0x59], r15
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
lea r9, [0x1402662a8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1401f9d00]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1400198cf
lea rdx, [rbp - 0x49]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SetErrorInfo]
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x1400198b7
mov qword [rbp - 0x41], r15
mov rax, qword [rcx]
lea rdx, [rbp - 0x41]
call qword [rax + 0x28]
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, r15
mov qword [rbp - 0x51], rbx
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x140019933
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140019933
mov rcx, qword [rbp - 0x59]
cmp qword [0x1403be4a8], rcx
je 0x14001990e
mov rbx, rcx
test rcx, rcx
je 0x1400198ee
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp - 0x59]
mov rax, qword [0x1403be4a8]
mov qword [0x1403be4a8], rbx
test rax, rax
je 0x14001990e
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x140019919
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [0x1403be4a8]
mov qword [rbp - 0x51], rbx
test rbx, rbx
je 0x140019933
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
nop
test rbx, rbx
jne 0x140019940
mov qword [rsi], r15
jmp 0x140019ac1
mov qword [rbp - 0x61], r15
mov ecx, 0x18
call fcn.14003155c
mov rdi, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x140019980
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
je 0x140019af8
jmp 0x140019983
mov rdi, r15
mov qword [rbp - 0x31], rdi
test rdi, rdi
je 0x140019aed
mov rax, qword [rbx]
lea rcx, [rbp - 0x61]
mov qword [rsp + 0x40], rcx
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]
mov rcx, rbx
call qword [rax + 0x18]
test eax, eax
sets bl
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140019a03
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400199e4
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400199f6
call fcn.1400315a4
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.1400315ec
test bl, bl
je 0x140019a2e
call fcn.1400196e0
mov qword [rsi], r15
mov rcx, qword [rbp - 0x61]
test rcx, rcx
je 0x140019a1f
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140019ac1
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 - 0x61]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x140019a07
mov rcx, qword [r14 + 0x40]
mov rbx, qword [rbp - 0x61]
cmp rcx, rbx
je 0x140019a92
test rbx, rbx
je 0x140019a7f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r14 + 0x40]
mov qword [r14 + 0x40], rbx
test rcx, rcx
je 0x140019a8e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rbp - 0x61]
test rbx, rbx
je 0x140019aa1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r14, qword [rbp - 0x29]
mov rcx, qword [r14 + 0x40]
mov qword [rsi], rcx
test rcx, rcx
je 0x140019ac1
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rsi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1401b2f00
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1401b7600
nop
mov ecx, 0x8007000e
call fcn.1401b7600
nop
call fcn.1401c38cc
nop
call fcn.1401c38cc
int3