Function at 0x14001c830
Capabilities:
Connect to wmi namespace via wbemlocator
Reference sql statements
Reference wmi statements

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x14006a040]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rdi, r8
mov rsi, rcx
mov qword [rbp - 0x50], rcx
xor r12d, r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x14001c89e
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
lea r8d, [r12 + 0x21]
lea rdx, str.Failed_to_initialize_COM_library.
mov rcx, rsi
call fcn.14001a7f0
jmp 0x14001cdbd
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x14001c8fe
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
mov r8d, 0x1e
lea rdx, str.Failed_to_initialize_security.
mov rcx, rsi
call fcn.14001a7f0
jmp 0x14001cdbd
mov qword [rbp - 0x60], r12
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x140055138]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140055148]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14001c957
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
mov r8d, 0x25
lea rdx, str.Failed_to_create_IWbemLocator_object.
mov rcx, rsi
call fcn.14001a7f0
jmp 0x14001cdbd
mov qword [rbp - 0x68], r12
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.14004de58
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14001c9af
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r12
mov dword [rbx + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14001cf91
jmp 0x14001c9b2
mov rbx, r12
mov qword [rbp - 0x80], rbx
test rbx, rbx
je 0x14001cfa7
lea rax, [rbp - 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x60]
call r14
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x14001ca2e
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001ca0f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14001ca21
call fcn.14004de50
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004de50
test r14d, r14d
jns 0x14001ca6b
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
mov r8d, 0x12
lea rdx, str.Could_not_connect.
mov rcx, rsi
call fcn.14001a7f0
jmp 0x14001cdbd
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x14001cadf
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
mov r8d, 0x1c
lea rdx, str.Could_not_set_proxy_blanket.
mov rcx, rsi
call fcn.14001a7f0
jmp 0x14001cdbd
mov rcx, qword [rdi + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x2a
jb 0x14001cfb2
cmp qword [rdi + 0x18], 7
jbe 0x14001cb04
mov rdi, qword [rdi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0x2a
lea r9, str.SELECT__FROM_Win32_Service_WHERE_Name__
lea rcx, [rsp + 0x60]
call fcn.140049820
nop
mov r8d, 1
lea rdx, [0x1400585c4]
lea rcx, [rsp + 0x60]
call fcn.140041c10
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14001cbb3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cbae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001cbae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004de50
movdqa xmm0, xmmword [0x14005ce50]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
mov qword [rbp - 0x58], r12
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov r15, qword [rcx + 0xa0]
lea rdi, [rbp - 8]
cmp qword [rbp + 0x10], 7
cmova rdi, qword [rbp - 8]
mov ecx, 0x18
call fcn.14004de58
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14001cc31
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r12
mov dword [rbx + 0x10], 1
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14001cc34
test rdi, rdi
jne 0x14001cf9c
jmp 0x14001cc34
mov rbx, r12
mov qword [rbp - 0x78], rbx
test rbx, rbx
je 0x14001cfb8
mov r14, qword [rbx]
mov ecx, 0x18
call fcn.14004de58
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14001cc83
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], 1
lea rcx, [0x14005580c]
call fcn.14004db00
mov qword [rdi], rax
jmp 0x14001cc86
mov rdi, r12
mov qword [rbp - 0x70], rdi
test rdi, rdi
je 0x14001cf86
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, gethostbyname
mov r8, r14
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x68]
call r15
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14001ccf7
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001ccd7
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14001cce9
call fcn.14004de50
mov qword [rdi + 8], r12
mov edx, 0x18
mov rcx, rdi
call fcn.14004de50
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14001cd36
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001cd17
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14001cd29
call fcn.14004de50
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004de50
test r14d, r14d
jns 0x14001cde8
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
mov r8d, 0x17
lea rdx, str.Query_execution_failed.
mov rcx, rsi
call fcn.14001a7f0
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 7
jbe 0x14001cdbd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cdb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cf7f
call fcn.14004de50
mov rax, rsi
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.14004de30
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov qword [rbp - 0x50], r12
mov dword [rbp - 0x30], r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], r12
mov r8d, 7
lea rdx, str.Unknown
lea rcx, [rbp - 0x28]
call fcn.14001a7f0
nop
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14001cef8
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x50]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp - 0x30], 0
je 0x14001cef8
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x48]
xor r8d, r8d
lea rdx, str.State
call qword [rax + 0x20]
test eax, eax
js 0x14001ced7
mov r9, qword [rbp - 0x40]
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x14001ce90
mov rax, qword [rbp - 0x10]
cmp rdx, rax
ja 0x14001cece
lea rdi, [rbp - 0x28]
cmp rax, 7
cmova rdi, qword [rbp - 0x28]
mov qword [rbp - 0x18], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rdi], r12w
jmp 0x14001ced7
lea rcx, [rbp - 0x28]
call fcn.1400483e0
lea rcx, [rbp - 0x48]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x58]
test rcx, rcx
jne 0x14001ce30
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r12w
mov rdx, qword [rbp + 0x10]
cmp rdx, 7
jbe 0x14001cdbd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cdb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001cdb8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov ecx, 0x8007000e
call fcn.14004d9d0
nop
mov ecx, 0x8007000e
call fcn.14004d9d0
nop
mov ecx, 0x8007000e
call fcn.14004d9d0
nop
mov ecx, 0x8007000e
call fcn.14004d9d0
int3
call fcn.140002030
nop
mov ecx, 0x8007000e
call fcn.14004d9d0
int3