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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x1f0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x168], 0xfffffffffffffffe
mov rsi, rcx
mov rax, qword [rcx]
cmp rax, 2
jne 0x140007baf
xor ecx, ecx
xor edx, edx
call sub.ole32.dll_CoInitializeEx
mov edi, eax
cmp eax, 2
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x58], 0
setb byte [rbp + 0x68]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 0xffffffff
xor r8d, r8d
xor r9d, r9d
call sub.ole32.dll_CoInitializeSecurity
test eax, eax
js 0x140007c0a
lea rax, [rbp + 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rbp + 0xd0], xmm2
movups xmmword [rbp + 0xc0], xmm1
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0x118], 0
lea rax, [rbp + 0x118]
mov qword [rsp + 0x20], rax
lea rcx, [0x140041da8]
lea r9, [0x140041db8]
xor edx, edx
mov r8d, 1
call sub.ole32.dll_CoCreateInstance
test eax, eax
js 0x140007c1d
lea rax, [rbp + 0xb0]
mov rcx, qword [rbp + 0x118]
mov qword [rbp + 0xb0], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm1
movups xmmword [rbp - 0x10], xmm2
mov qword [rbp - 0x38], 1
lea rcx, [rbp + 0xe0]
lea rdx, [rbp - 0x38]
call fcn.1400089a0
cmp qword [rbp + 0xe0], 2
je 0x140007d10
movups xmm0, xmmword [rbp + 0xe0]
movups xmm1, xmmword [rbp + 0xf0]
movups xmm2, xmmword [rbp + 0x100]
movaps xmmword [rbp + 0x130], xmm1
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x150], rax
movaps xmmword [rbp + 0x140], xmm2
movaps xmmword [rbp + 0x120], xmm0
mov rdi, qword [rbp + 0x130]
test rdi, rdi
je 0x140007c77
mov rcx, qword [rbp + 0x138]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
mov edx, 0xa
xor r8d, r8d
xor r9d, r9d
call sub.ole32.dll_CoSetProxyBlanket
test eax, eax
js 0x140007c77
mov rax, qword [rbp + 0x120]
movups xmm0, xmmword [rbp + 0x148]
movups xmmword [rsi + 0x28], xmm0
movups xmm0, xmmword [rbp + 0x138]
movups xmmword [rsi + 0x18], xmm0
movups xmm0, xmmword [rbp + 0x128]
movups xmmword [rsi + 8], xmm0
movups xmm0, xmmword [rbp + 0x128]
movups xmm1, xmmword [rbp + 0x138]
movups xmm2, xmmword [rbp + 0x148]
movaps xmmword [rbp + 0x90], xmm2
movaps xmmword [rbp + 0x80], xmm1
movaps xmmword [rbp + 0x70], xmm0
mov qword [rsi], 2
cmp rax, 2
jne 0x140007bd4
jmp 0x140007d35
movups xmm0, xmmword [rsi + 8]
movups xmm1, xmmword [rsi + 0x18]
movups xmm2, xmmword [rsi + 0x28]
movaps xmmword [rbp + 0x90], xmm2
movaps xmmword [rbp + 0x80], xmm1
movaps xmmword [rbp + 0x70], xmm0
mov qword [rsi], 2
mov qword [rbp], rax
movaps xmm0, xmmword [rbp + 0x70]
movaps xmm1, xmmword [rbp + 0x80]
movaps xmm2, xmmword [rbp + 0x90]
movups xmmword [rbp + 8], xmm0
movups xmmword [rbp + 0x18], xmm1
movups xmmword [rbp + 0x28], xmm2
lea rcx, [rbp + 0xe0]
mov rdx, rbp
call fcn.140008b10
jmp 0x140007d40
cmp edi, 1
ja 0x140007d10
call fcn.140039fa4
jmp 0x140007d10
cmp qword [rbp + 0xc8], 0
je 0x140007c39
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x140007c39
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0xc0]
cmp qword [rbp + 0xb8], 0
mov qword [rbp + 0xb8], 0
je 0x140007c60
test rcx, rcx
je 0x140007c60
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp byte [rbp + 0xd8], 0
je 0x140007d10
call fcn.140039fa4
jmp 0x140007d10
cmp qword [rbp + 0x140], 0
je 0x140007c9d
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x140007c9d
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x160], rdi
call rax
test rdi, rdi
je 0x140007cc2
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x140007cc2
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x160], 0
call rax
mov rcx, qword [rbp + 0x128]
cmp qword [rbp + 0x120], 0
mov qword [rbp + 0x120], 0
je 0x140007cf7
test rcx, rcx
je 0x140007cf7
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x160], 0
call rax
cmp byte [rbp + 0x150], 0
je 0x140007d10
mov qword [rbp + 0x160], 0
call fcn.140039fa4
movups xmm0, xmmword [rbp + 0x70]
movups xmm1, xmmword [rbp + 0x80]
movups xmm2, xmmword [rbp + 0x90]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov qword [rsi], 2
mov qword [rbp + 0xe0], 2
mov rax, qword [rbp + 0x110]
mov qword [rsi + 0x30], rax
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xe8]
movups xmm0, xmmword [rbp + 0xf0]
movups xmm1, xmmword [rbp + 0x100]
movups xmmword [rsi + 0x20], xmm1
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi], rax
mov qword [rsi + 8], rcx
cmp dword [rsi], 2
je 0x140007dae
lea rcx, [rbp + 0xe0]
mov rdx, rsi
xor r8d, r8d
call fcn.140008ca0
cmp dword [rbp + 0xe4], 2
je 0x140007dae
movss xmm0, dword [rbp + 0xe0]
movss dword [rsi + 0x58], xmm0
ucomiss xmm0, dword [rsi + 0x5c]
jbe 0x140007dae
movss dword [rsi + 0x5c], xmm0
add rsp, 0x1f0
pop rdi
pop rsi
pop rbp
ret