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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov ebx, eax
test eax, eax
jns 0x180006a06
lea rdx, str.Failed_to_initialize_COM_library._Error_code__0x
lea rcx, [0x1803c2b10]
call fcn.18000d6a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
add rdx, rax
and dword [rdx + 0x18], 0xfffff9ff
or dword [rdx + 0x18], 0x800
mov edx, ebx
mov rcx, rax
call fcn.180009b40
mov rcx, rax
call fcn.18000d920
add rsp, 0x120
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r15d, r15d
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea edx, [r15 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov ebx, eax
test eax, eax
jns 0x180006a85
lea rdx, str.Failed_to_initialize_security._Error_code__0x
lea rcx, [0x1803c2b10]
call fcn.18000d6a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
add rdx, rax
and dword [rdx + 0x18], 0xfffff9ff
or dword [rdx + 0x18], 0x800
mov edx, ebx
mov rcx, rax
call fcn.180009b40
mov rcx, rax
call fcn.18000d920
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1800069f4
mov qword [rbp + 0x78], r15
lea rax, [rbp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [0x18003c178]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x18003c168]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x180006abb
lea rdx, str.Failed_to_create_IWbemLocator_object._Error_code__0x
jmp 0x180006a44
mov qword [rbp + 0x70], r15
mov ecx, 0x18
call fcn.180012b30
mov rbx, rax
mov qword [rbp + 0x68], rax
test rax, rax
je 0x180006afb
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x18000725e
jmp 0x180006afe
mov rbx, r15
mov qword [rbp - 0x20], rbx
test rbx, rbx
je 0x180007274
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x70]
mov qword [rsp + 0x40], rdx
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 [rbx]
call qword [rax + 0x18]
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x180006b7c
mov rcx, qword [rbx]
test rcx, rcx
je 0x180006b5d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180006b6f
call fcn.180012b28
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.180012b28
test edi, edi
jns 0x180006bd2
lea rdx, str.Could_not_connect_to_WMI_namespace._Error_code__0x
lea rcx, [0x1803c2b10]
call fcn.18000d6a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
add rdx, rax
and dword [rdx + 0x18], 0xfffff9ff
or dword [rdx + 0x18], 0x800
mov edx, edi
mov rcx, rax
call fcn.180009b40
mov rcx, rax
call fcn.18000d920
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1800069f4
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 + 0x70]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov ebx, eax
test eax, eax
jns 0x180006c62
lea rdx, str.Could_not_set_proxy_blanket._Error_code__0x
lea rcx, [0x1803c2b10]
call fcn.18000d6a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
add rdx, rax
and dword [rdx + 0x18], 0xfffff9ff
or dword [rdx + 0x18], 0x800
mov edx, ebx
mov rcx, rax
call fcn.180009b40
mov rcx, rax
call fcn.18000d920
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1800069f4
mov qword [rsp + 0x50], r15
mov ecx, 0x18
call fcn.180012b30
mov rbx, rax
mov qword [rbp + 0x68], rax
test rax, rax
je 0x180006c99
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_NetworkAdapter_WHERE_NetConnectionStatus0
call fcn.180012810
mov qword [rbx], rax
jmp 0x180006c9c
mov rbx, r15
mov qword [rbp - 0x18], rbx
test rbx, rbx
je 0x180007274
mov ecx, 0x18
call fcn.180012b30
mov rdi, rax
mov qword [rbp + 0x68], rax
test rax, rax
je 0x180006cdb
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, [0x180049970]
call fcn.180012810
mov qword [rdi], rax
jmp 0x180006cde
mov rdi, r15
mov qword [rbp - 0x10], rdi
test rdi, rdi
je 0x18000727f
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rbx]
mov rdx, qword [rdi]
call qword [rax + 0xa0]
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x180006d55
mov rcx, qword [rdi]
test rcx, rcx
je 0x180006d35
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x180006d47
call fcn.180012b28
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.180012b28
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x180006d94
mov rcx, qword [rbx]
test rcx, rcx
je 0x180006d75
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180006d87
call fcn.180012b28
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.180012b28
test esi, esi
jns 0x180006df4
lea rdx, str.Query_for_network_adapters_failed._Error_code__0x
lea rcx, [0x1803c2b10]
call fcn.18000d6a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
add rdx, rax
and dword [rdx + 0x18], 0xfffff9ff
or dword [rdx + 0x18], 0x800
mov edx, esi
mov rcx, rax
call fcn.180009b40
mov rcx, rax
call fcn.18000d920
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1800069f4
mov qword [rsp + 0x58], r15
mov dword [rbp + 0x60], r15d
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18000722e
mov r12d, 0x27
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x58]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp + 0x60], 0
je 0x180007229
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x38]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
js 0x180007205
cmp word [rbp - 0x38], 8
jne 0x180007205
mov r14, qword [rbp - 0x30]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [r14 + r8*2], 0
jne 0x180006ea0
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.180002580
nop
lea r8, [rsp + 0x68]
lea rcx, [rbp - 0x58]
call fcn.18000d9c0
mov rcx, rax
mov rdx, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rax, r9
sub rax, rdx
cmp rax, 1
jb 0x180006efe
lea r8, [rdx + 1]
mov qword [rcx + 0x10], r8
mov rax, rcx
cmp r9, 8
jb 0x180006ef2
mov rax, qword [rcx]
mov word [rax + rdx*2], r12w
mov word [rax + r8*2], r15w
jmp 0x180006f1b
mov qword [rsp + 0x20], 1
lea r9, [0x1800499fc]
mov edx, 1
call fcn.18000f0a0
mov rcx, rax
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
movups xmm0, xmmword [rcx]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], 7
mov word [rcx], r15w
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x180006f86
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006f81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000728a
call fcn.180012b28
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], r15w
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x180006fd8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006fd3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007290
call fcn.180012b28
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
mov ecx, 0x18
call fcn.180012b30
mov rbx, rax
mov qword [rbp - 8], rax
test rax, rax
je 0x18000701d
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, str.Enable
call fcn.180012810
mov qword [rbx], rax
jmp 0x180007020
mov rbx, r15
mov qword [rbp], rbx
test rbx, rbx
je 0x180007253
lea rsi, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rsi, qword [rbp - 0x78]
mov ecx, 0x18
call fcn.180012b30
mov rdi, rax
mov qword [rbp + 8], rax
test rax, rax
je 0x180007078
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
jne 0x18000707b
test rsi, rsi
jne 0x180007269
jmp 0x18000707b
mov rdi, r15
mov qword [rbp + 0x10], rdi
test rdi, rdi
je 0x18000729c
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
mov qword [rsp + 0x38], r15
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov r8, qword [rbx]
mov rdx, qword [rdi]
call qword [rax + 0xc0]
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x1800070f9
mov rcx, qword [rdi]
test rcx, rcx
je 0x1800070d9
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1800070eb
call fcn.180012b28
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.180012b28
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x180007138
mov rcx, qword [rbx]
test rcx, rcx
je 0x180007119
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18000712b
call fcn.180012b28
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.180012b28
test esi, esi
js 0x18000715c
lea rdx, str.Enabled_wireless_adapter:
lea rcx, [0x1803c2970]
call fcn.18000d6a0
mov rcx, rax
mov rdx, r14
call fcn.18000d6a0
jmp 0x1800071ac
lea rdx, str.Failed_to_enable_wireless_adapter:
lea rcx, [0x1803c2b10]
call fcn.18000d6a0
mov rcx, rax
mov rdx, r14
call fcn.18000d6a0
mov rcx, rax
lea rdx, str.._Error_code__0x
call fcn.18000d6a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, esi
mov rcx, rax
call fcn.180009b40
mov rcx, rax
call fcn.18000d920
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1800071c5
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x180007205
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007200
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007296
call fcn.180012b28
lea rcx, [rbp - 0x38]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18000722e
jmp 0x180006e11
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1800069f4
mov ecx, 0x8007000e
call fcn.180012800
nop
mov ecx, 0x8007000e
call fcn.180012800
nop
mov ecx, 0x8007000e
call fcn.180012800
nop
mov ecx, 0x8007000e
call fcn.180012800
nop
mov ecx, 0x8007000e
call fcn.180012800
nop
call fcn.180019ca4
nop
call fcn.180019ca4
nop
call fcn.180019ca4
nop
mov ecx, 0x8007000e
call fcn.180012800
int3