Function at 0x140058c40
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 0x140058c6e
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.1400581b0
nop
mov rbx, qword [rsp + 0x38]
test rbx, rbx
setne al
test rbx, rbx
je 0x140059195
xor r15d, r15d
mov ecx, r15d
mov qword [rbp + 0xa8], rcx
mov dword [rbp + 0x98], r15d
test al, al
je 0x140059189
lea r12d, [r15 + 1]
nop dword [rax]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x20]
test rcx, rcx
je 0x140058cd3
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 0x140059182
lea rcx, [rsp + 0x70]
call qword [0x1402c3a98]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400591b6
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14029d728
mov rdi, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140058d59
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.Availability
call fcn.14029e850
mov qword [rdi], rax
jmp 0x140058d5c
mov rdi, r15
mov qword [rbp - 0x20], rdi
test rdi, rdi
je 0x1400591f5
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 0x140058dc4
mov rcx, qword [rdi]
test rcx, rcx
je 0x140058da5
call qword [0x1402c3a88]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140058db7
call fcn.14029da84
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14029da84
test ebx, ebx
js 0x140059166
cmp r12w, word [rsp + 0x70]
je 0x140059166
cmp word [rsp + 0x78], 3
jne 0x140059166
lea rcx, [rbp - 0x78]
call qword [0x1402c57d8]
lea rcx, [rbp - 0x60]
call qword [0x1402c57d8]
nop
lea rcx, [rsp + 0x40]
call qword [0x1402c3a98]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400591ea
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14029d728
mov rdi, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x140058e4b
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.VideoProcessor
call fcn.14029e850
mov qword [rdi], rax
jmp 0x140058e4e
mov rdi, r15
mov qword [rbp - 0x10], rdi
test rdi, rdi
je 0x1400591df
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 0x140058eb6
mov rcx, qword [rdi]
test rcx, rcx
je 0x140058e97
call qword [0x1402c3a88]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140058ea9
call fcn.14029da84
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14029da84
test ebx, ebx
js 0x140058ee6
cmp r12w, word [rsp + 0x40]
je 0x140058ee6
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x18]
call fcn.140058080
mov rdx, rax
lea rcx, [rbp - 0x78]
call qword [0x1402c5620]
lea rcx, [rbp + 0x18]
jmp 0x140058fc2
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400591ea
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14029d728
mov rdi, rax
mov qword [rbp - 8], rax
test rax, rax
je 0x140058f2c
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.Caption
call fcn.14029e850
mov qword [rdi], rax
jmp 0x140058f2f
mov rdi, r15
mov qword [rbp], rdi
test rdi, rdi
je 0x1400591df
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 0x140058f97
mov rcx, qword [rdi]
test rcx, rcx
je 0x140058f78
call qword [0x1402c3a88]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140058f8a
call fcn.14029da84
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14029da84
test ebx, ebx
js 0x140058fc8
cmp r12w, word [rsp + 0x40]
je 0x140058fc8
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x30]
call fcn.140058080
mov rdx, rax
lea rcx, [rbp - 0x78]
call qword [0x1402c5620]
lea rcx, [rbp + 0x30]
call qword [0x1402c58e0]
lea rcx, [rsp + 0x58]
call qword [0x1402c3a98]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400591d4
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov ecx, 0x18
call fcn.14029d728
mov rdi, rax
mov qword [rbp + 8], rax
test rax, rax
je 0x14005901a
mov qword [rax + 8], r15
mov dword [rax + 0x10], r12d
lea rcx, str.AdapterRAM
call fcn.14029e850
mov qword [rdi], rax
jmp 0x14005901d
mov rdi, r15
mov qword [rbp + 0x10], rdi
test rdi, rdi
je 0x1400591c9
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 0x140059085
mov rcx, qword [rdi]
test rcx, rcx
je 0x140059066
call qword [0x1402c3a88]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140059078
call fcn.14029da84
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14029da84
test ebx, ebx
js 0x1400590f0
movzx eax, word [rsp + 0x58]
cmp r12w, ax
je 0x1400590f0
cmp ax, 0x16
jne 0x1400590a0
mov ebx, dword [rsp + 0x60]
jmp 0x1400590d8
lea rcx, [rbp - 0x40]
call qword [0x1402c3a98]
nop
mov r9d, 0x16
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x40]
call qword [0x1402c3aa8]
test eax, eax
js 0x1400591c1
mov ebx, dword [rbp - 0x38]
lea rcx, [rbp - 0x40]
call qword [0x1402c3aa0]
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
cdq
and edx, 0xfffff
add eax, edx
sar eax, 0x14
mov dword [rbp - 0x48], eax
jmp 0x1400590f4
mov dword [rbp - 0x48], r15d
lea rdx, [0x14030f141]
lea rcx, [rbp - 0x60]
call qword [0x1402c5198]
mov dword [rbp - 0x44], r15d
lea r8, [rbp - 0x78]
mov rdx, qword [r14 + 0x68]
lea rcx, [r14 + 0x58]
call fcn.14005a010
mov rax, qword [r14 + 0x58]
test rax, rax
je 0x14005912a
mov eax, dword [rax]
cmp eax, 1
jle 0x140059139
xor r8d, r8d
xor edx, edx
lea rcx, [r14 + 0x58]
call fcn.140059c00
nop
lea rcx, [rsp + 0x58]
call qword [0x1402c3aa0]
nop
lea rcx, [rsp + 0x40]
call qword [0x1402c3aa0]
nop
lea rcx, [rbp - 0x60]
call qword [0x1402c58e0]
lea rcx, [rbp - 0x78]
call qword [0x1402c58e0]
nop
lea rcx, [rsp + 0x70]
call qword [0x1402c3aa0]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbp + 0xa8]
jmp 0x140058cc0
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x140059195
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1400591a4
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.14029e720
nop
mov ecx, eax
call fcn.14029e720
nop
mov ecx, 0x8007000e
call fcn.14029e720
int3
mov ecx, 0x80004003
call fcn.14029e720
nop
mov ecx, 0x8007000e
call fcn.14029e720
int3
mov ecx, 0x80004003
call fcn.14029e720
nop
mov ecx, 0x8007000e
call fcn.14029e720
int3