Function at 0x14016e310
Capabilities:
Reference wmi statements

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov r14, rcx
mov rcx, qword [rdx]
mov qword [rsp + 0x30], rcx
test rcx, rcx
je 0x14016e33e
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea r8, str.SELECT__FROM_Win32_VideoController
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14016d8b0
nop
mov rbx, qword [rsp + 0x38]
test rbx, rbx
setne al
test rbx, rbx
je 0x14016e85b
xor r15d, r15d
mov ecx, r15d
mov qword [rbp + 0xa8], rcx
mov dword [rbp + 0x98], r15d
test al, al
je 0x14016e84f
lea r12d, [r15 + 1]
nop dword [rax]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x20]
test rcx, rcx
je 0x14016e3a3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov qword [rbp + 0xa8], r15
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xa8]
mov r8d, r12d
mov edx, 0xffffffff
mov rcx, rbx
call rdi
cmp dword [rbp + 0x98], 0
je 0x14016e848
lea rcx, [rsp + 0x70]
call qword [0x140279968]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x14016e87c
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14024d580
mov rdi, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14016e429
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.Availability
call fcn.14024e9a0
mov qword [rdi], rax
jmp 0x14016e42c
mov rdi, r15
mov qword [rbp - 0x20], rdi
test rdi, rdi
je 0x14016e8bb
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x70]
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, rbx
call rsi
mov ebx, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14016e494
mov rcx, qword [rdi]
test rcx, rcx
je 0x14016e475
call qword [0x140279970]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14016e487
call fcn.14024d570
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14024d570
test ebx, ebx
js 0x14016e82c
cmp r12w, word [rsp + 0x70]
je 0x14016e82c
cmp word [rsp + 0x78], 3
jne 0x14016e82c
lea rcx, [rbp - 0x78]
call qword [0x14027b658]
lea rcx, [rbp - 0x60]
call qword [0x14027b658]
nop
lea rcx, [rsp + 0x40]
call qword [0x140279968]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x14016e8b0
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14024d580
mov rdi, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x14016e51b
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.VideoProcessor
call fcn.14024e9a0
mov qword [rdi], rax
jmp 0x14016e51e
mov rdi, r15
mov qword [rbp - 0x10], rdi
test rdi, rdi
je 0x14016e8a5
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, rbx
call rsi
mov ebx, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14016e586
mov rcx, qword [rdi]
test rcx, rcx
je 0x14016e567
call qword [0x140279970]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14016e579
call fcn.14024d570
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14024d570
test ebx, ebx
js 0x14016e5b6
cmp r12w, word [rsp + 0x40]
je 0x14016e5b6
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x18]
call fcn.14016d750
mov rdx, rax
lea rcx, [rbp - 0x78]
call qword [0x14027b470]
lea rcx, [rbp + 0x18]
jmp 0x14016e692
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x14016e8b0
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14024d580
mov rdi, rax
mov qword [rbp - 8], rax
test rax, rax
je 0x14016e5fc
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.Caption
call fcn.14024e9a0
mov qword [rdi], rax
jmp 0x14016e5ff
mov rdi, r15
mov qword [rbp], rdi
test rdi, rdi
je 0x14016e8a5
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, rbx
call rsi
mov ebx, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14016e667
mov rcx, qword [rdi]
test rcx, rcx
je 0x14016e648
call qword [0x140279970]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14016e65a
call fcn.14024d570
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14024d570
test ebx, ebx
js 0x14016e698
cmp r12w, word [rsp + 0x40]
je 0x14016e698
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x30]
call fcn.14016d750
mov rdx, rax
lea rcx, [rbp - 0x78]
call qword [0x14027b470]
lea rcx, [rbp + 0x30]
call qword [0x14027b668]
lea rcx, [rsp + 0x58]
call qword [0x140279968]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x14016e89a
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14024d580
mov rdi, rax
mov qword [rbp + 8], rax
test rax, rax
je 0x14016e6ea
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.AdapterRAM
call fcn.14024e9a0
mov qword [rdi], rax
jmp 0x14016e6ed
mov rdi, r15
mov qword [rbp + 0x10], rdi
test rdi, rdi
je 0x14016e88f
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x58]
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, rbx
call rsi
mov ebx, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14016e755
mov rcx, qword [rdi]
test rcx, rcx
je 0x14016e736
call qword [0x140279970]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14016e748
call fcn.14024d570
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14024d570
test ebx, ebx
js 0x14016e7b6
movzx eax, word [rsp + 0x58]
cmp r12w, ax
je 0x14016e7b6
cmp ax, 0x17
jne 0x14016e776
mov ebx, dword [rsp + 0x60]
shr ebx, 0x14
mov dword [rbp - 0x48], ebx
jmp 0x14016e7ba
lea rcx, [rbp - 0x40]
call qword [0x140279968]
nop
mov r9d, 0x17
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x40]
call qword [0x140279958]
test eax, eax
js 0x14016e887
mov ebx, dword [rbp - 0x38]
lea rcx, [rbp - 0x40]
call qword [0x140279960]
shr ebx, 0x14
mov dword [rbp - 0x48], ebx
jmp 0x14016e7ba
mov dword [rbp - 0x48], r15d
lea rdx, [0x1402900f8]
lea rcx, [rbp - 0x60]
call qword [0x14027ac00]
mov dword [rbp - 0x44], r15d
lea r8, [rbp - 0x78]
mov rdx, qword [r14 + 0x50]
lea rcx, [r14 + 0x40]
call fcn.14016f5c0
mov rax, qword [r14 + 0x40]
test rax, rax
je 0x14016e7f0
mov eax, dword [rax]
cmp eax, 1
jle 0x14016e7ff
xor r8d, r8d
xor edx, edx
lea rcx, [r14 + 0x40]
call fcn.14016f380
nop
lea rcx, [rsp + 0x58]
call qword [0x140279960]
nop
lea rcx, [rsp + 0x40]
call qword [0x140279960]
nop
lea rcx, [rbp - 0x60]
call qword [0x14027b668]
lea rcx, [rbp - 0x78]
call qword [0x14027b668]
nop
lea rcx, [rsp + 0x70]
call qword [0x140279960]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbp + 0xa8]
jmp 0x14016e390
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x14016e85b
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x14016e86a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
add rsp, 0x150
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004003
call fcn.14024e870
nop
mov ecx, eax
call fcn.14024e870
nop
mov ecx, 0x8007000e
call fcn.14024e870
int3
mov ecx, 0x80004003
call fcn.14024e870
nop
mov ecx, 0x8007000e
call fcn.14024e870
int3
mov ecx, 0x80004003
call fcn.14024e870
nop
mov ecx, 0x8007000e
call fcn.14024e870
int3