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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x80
xor r12d, r12d
lea rbp, [rcx + 0x108]
mov rdi, rcx
lea r9, [0x100006190]
lea rcx, [0x1000061a0]
lea r8d, [r12 + 1]
xor edx, edx
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r12
mov dword [rax + 0x10], r12d
mov qword [rsp + 0x20], rbp
call qword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, r12d
mov ebx, eax
jl 0x10002016f
lea rcx, [0x100007950]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rsi, rax
cmp rax, r12
je 0x10001ff2b
mov rcx, qword [rbp]
lea rdx, [rdi + 0x110]
xor r9d, r9d
mov r10, qword [rcx]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
xor r8d, r8d
mov rdx, rax
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
call qword [r10 + 0x18]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x10001ff40
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r12d
cmovle ebx, eax
cmp ebx, r12d
jl 0x10002016f
mov rcx, qword [rdi + 0x110]
mov r13d, 3
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
lea edx, [r13 + 7]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, r12d
mov ebx, eax
jl 0x10002016f
lea rcx, [0x100007968]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rsi, rax
cmp rax, r12
je 0x100020009
lea rcx, [0x100007970]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbp, rax
cmp rax, r12
je 0x10001ffe9
mov rcx, qword [rdi + 0x110]
lea rax, [rsp + 0xc8]
lea r9d, [r13 + 0x1d]
mov r10, qword [rcx]
mov qword [rsp + 0x28], rax
mov r8, rbp
mov rdx, rsi
mov qword [rsp + 0x20], r12
call qword [r10 + 0xa0]
mov rcx, rbp
mov ebx, eax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x10001fffe
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r12d
cmovle ebx, eax
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x100020011
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [rsp + 0xc8]
cmp rcx, r12
je 0x10002016f
cmp ebx, r12d
jl 0x100020164
mov rax, qword [rcx]
lea rdx, [rsp + 0xb8]
lea r9, [rsp + 0xc0]
mov qword [rsp + 0x20], rdx
mov r8d, 1
or edx, 0xffffffff
call qword [rax + 0x20]
mov ebx, eax
cmp eax, 1
jne 0x100020060
mov ebx, 0x80004005
jmp 0x10002015c
cmp eax, r12d
jl 0x10002015c
mov rcx, qword [rsp + 0xc0]
lea r9, [rsp + 0x50]
lea rdx, [0x1000079b8]
mov rax, qword [rcx]
xor r8d, r8d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call qword [rax + 0x20]
cmp eax, r12d
mov ebx, eax
jl 0x10002015c
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0xc0]
lea r9, [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [0x1000079c8]
xor r8d, r8d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call qword [rax + 0x20]
cmp eax, r12d
mov ebx, eax
jl 0x10002015c
mov rcx, qword [rsp + 0xc0]
lea r9, [rsp + 0x50]
lea rdx, [0x1000079d8]
mov rax, qword [rcx]
xor r8d, r8d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call qword [rax + 0x20]
cmp eax, r12d
mov ebx, eax
jl 0x100020151
cmp r13w, word [rsp + 0x50]
jne 0x100020151
cmp dword [rsp + 0x58], r12d
jne 0x10002012d
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0xc0], r12
jmp 0x100020146
mov rax, qword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 0x118], rax
call fcn.10002035c
mov ebx, eax
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0xc8]
cmp rcx, r12
je 0x10002016f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x80
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret