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

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x218
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x190], 0xfffffffffffffffe
mov rsi, rcx
mov rbx, qword [rcx]
cmp rbx, 2
jne 0x140021f19
xor ecx, ecx
xor edx, edx
call sub.ole32.dll_CoInitializeEx
mov edi, eax
cmp eax, 2
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x60], 0
setb byte [rbp + 0x70]
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 0x140021f46
lea rax, [rbp + 0x48]
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 + 0x150], 0
lea rax, [rbp + 0x150]
mov qword [rsp + 0x20], rax
lea rcx, [0x1401f1bf0]
lea r9, [0x1401f1c00]
xor edx, edx
mov r8d, 1
call sub.ole32.dll_CoCreateInstance
test eax, eax
js 0x140021f5e
lea rax, [rbp + 0xb0]
mov rcx, qword [rbp + 0x150]
mov qword [rbp + 0xb0], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm1
movups xmmword [rbp - 8], xmm2
mov qword [rbp - 0x30], 1
lea rcx, [rbp + 0x150]
lea rdx, [rbp - 0x30]
call fcn.140022a50
mov ebx, 2
cmp dword [rbp + 0x150], 2
je 0x140022056
movups xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
movups xmm2, xmmword [rbp + 0x170]
movaps xmmword [rbp + 0x120], xmm1
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x140], rax
movaps xmmword [rbp + 0x130], xmm2
movaps xmmword [rbp + 0x110], xmm0
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x140021fbd
mov rcx, qword [rbp + 0x128]
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 0x140021fbd
mov rbx, qword [rbp + 0x110]
movups xmm0, xmmword [rbp + 0x118]
movaps xmmword [rbp + 0xe0], xmm0
movups xmm0, xmmword [rbp + 0x128]
movaps xmmword [rbp + 0xf0], xmm0
movups xmm0, xmmword [rbp + 0x138]
movaps xmmword [rbp + 0x100], xmm0
jmp 0x140022056
movups xmm0, xmmword [rsi + 8]
movups xmm1, xmmword [rsi + 0x18]
movups xmm2, xmmword [rsi + 0x28]
movaps xmmword [rbp + 0x100], xmm2
movaps xmmword [rbp + 0xf0], xmm1
movaps xmmword [rbp + 0xe0], xmm0
mov qword [rsi], 2
jmp 0x140022135
mov ebx, 2
cmp edi, 1
ja 0x140022056
call fcn.1401dd9dc
jmp 0x140022056
cmp qword [rbp + 0xc8], 0
je 0x140021f7a
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x140021f7a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0xc0]
cmp qword [rbp + 0xb8], 0
mov qword [rbp + 0xb8], 0
je 0x140021fa1
test rcx, rcx
je 0x140021fa1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov ebx, 2
cmp byte [rbp + 0xd8], 0
je 0x140022056
call fcn.1401dd9dc
jmp 0x140022056
cmp qword [rbp + 0x130], 0
je 0x140021fe3
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x140021fe3
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x188], rdi
call rax
test rdi, rdi
je 0x140022008
mov rcx, qword [rbp + 0x128]
test rcx, rcx
je 0x140022008
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x188], 0
call rax
mov rcx, qword [rbp + 0x118]
cmp qword [rbp + 0x110], 0
mov qword [rbp + 0x110], 0
je 0x14002203d
test rcx, rcx
je 0x14002203d
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x188], 0
call rax
cmp byte [rbp + 0x140], 0
je 0x140022056
mov qword [rbp + 0x188], 0
call fcn.1401dd9dc
movaps xmm0, xmmword [rbp + 0xe0]
movaps xmm1, xmmword [rbp + 0xf0]
movaps xmm2, xmmword [rbp + 0x100]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
movups xmm0, xmmword [rsi + 8]
movups xmm1, xmmword [rsi + 0x18]
movups xmm2, xmmword [rsi + 0x28]
movaps xmmword [rbp + 0x100], xmm2
movaps xmmword [rbp + 0xf0], xmm1
movaps xmmword [rbp + 0xe0], xmm0
mov qword [rsi], 2
movups xmm0, xmmword [rbp + 0x78]
movups xmm1, xmmword [rbp + 0x88]
movups xmm2, xmmword [rbp + 0x98]
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 0x28], xmm2
cmp rbx, 2
jne 0x140022135
mov qword [rbp + 0x150], 2
movups xmm0, xmmword [rbp + 0x78]
movups xmm1, xmmword [rbp + 0x88]
movups xmm2, xmmword [rbp + 0x98]
movups xmmword [rbp + 0x158], xmm0
movups xmmword [rbp + 0x178], xmm2
movups xmmword [rbp + 0x168], xmm1
mov rax, qword [rbp + 0x150]
mov qword [rsi], rax
mov rax, qword [rbp + 0x158]
mov qword [rsi + 8], rax
mov rax, qword [rbp + 0x180]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [rbp + 0x160]
movups xmmword [rsi + 0x10], xmm0
movups xmm0, xmmword [rbp + 0x170]
movups xmmword [rsi + 0x20], xmm0
cmp dword [rsi], 2
jne 0x14002219a
jmp 0x1400221cd
mov qword [rbp + 8], rbx
movaps xmm0, xmmword [rbp + 0xe0]
movaps xmm1, xmmword [rbp + 0xf0]
movaps xmm2, xmmword [rbp + 0x100]
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x30], xmm2
lea rcx, [rbp + 0x150]
lea rdx, [rbp + 8]
call fcn.140022bc0
mov rax, qword [rbp + 0x180]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
movups xmm2, xmmword [rbp + 0x170]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp dword [rsi], 2
je 0x1400221cd
lea rcx, [rbp + 0x150]
mov rdx, rsi
xor r8d, r8d
call fcn.140022d50
cmp dword [rbp + 0x154], 2
je 0x1400221cd
movss xmm0, dword [rbp + 0x150]
movss dword [rsi + 0x58], xmm0
ucomiss xmm0, dword [rsi + 0x5c]
jbe 0x1400221cd
movss dword [rsi + 0x5c], xmm0
add rsp, 0x218
pop rbx
pop rdi
pop rsi
pop rbp
ret