Function at 0x14004fea0
Capabilities:
Reference wmi statements

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x930
mov rax, qword [0x14030b930]
xor rax, rsp
mov qword [rsp + 0x920], rax
mov rsi, rdx
mov rdi, rcx
xor r15d, r15d
mov qword [rsp + 0x218], r15
movdqa xmm0, xmmword [0x1402c6510]
movdqu xmmword [rsp + 0x228], xmm0
mov word [rsp + 0x218], r15w
mov byte [rsp + 0x210], r15b
lea rdx, str.srl::WMI::GetGpuInfo
lea rcx, [rsp + 0x218]
call fcn.140009944
nop
call fcn.14001fe60
cmp dword [rax + 8], 4
jl 0x14004ff26
lea rcx, [rsp + 0x210]
call fcn.140015c90
cmp byte [rdi + 0x28], 0
jne 0x14004ff40
lea rcx, [rsp + 0x210]
call fcn.140017560
xor al, al
jmp 0x1400507fe
xor bl, bl
mov byte [rsp + 0x30], bl
lea r8, [rsp + 0x80]
lea rdx, str.SELECT__FROM_Win32_VideoController
mov rcx, rdi
call fcn.1400527d0
test al, al
je 0x1400507e7
mov dword [rsp + 0x38], r15d
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x2e0]
mov edx, 0xffffffff
mov r8d, MsiSourceListClearAllW
call qword [rax + 0x20]
test eax, eax
js 0x1400507d8
mov r14d, r15d
lea r12, vtable.srl::DeviceID.0
nop word [rax + rax]
cmp r14d, dword [rsp + 0x38]
jae 0x1400507d8
lea rcx, [rsp + 0xd0]
call fcn.140024e40
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov eax, r14d
lea rdi, [rsp + 0x2e0]
lea rdi, [rdi + rax*8]
lea r9, [rsp + 0x40]
lea r8, str.DeviceID
mov rdx, qword [rdi]
call fcn.140052040
lea r9, [rsp + 0x40]
lea r8, str.Name
mov rdx, qword [rdi]
call fcn.140052040
test al, al
je 0x140050146
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140053cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x140050031
mov rdx, qword [rax]
jmp 0x140050034
mov rdx, r15
lea rcx, [rsp + 0x238]
call fcn.14000957c
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x14005004e
mov rdx, qword [rax]
test rdx, rdx
je 0x14005007c
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140050060
mov r8d, eax
lea rcx, [rsp + 0xd8]
call fcn.140002a88
jmp 0x140050089
lea rcx, [rsp + 0xd8]
call fcn.140002894
mov rdx, qword [rsp + 0x250]
cmp rdx, 8
jb 0x1400500d1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x238]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400500cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050826
call fcn.140004104
mov qword [rsp + 0x248], r15
mov qword [rsp + 0x250], 7
mov word [rsp + 0x238], r15w
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140050141
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005013c
test rbx, rbx
je 0x14005013c
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005011d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14005012f
call fcn.1400758a4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004104
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x30], 1
lea r9, [rsp + 0x40]
lea r8, str.VideoProcessor
mov rdx, qword [rdi]
call fcn.140052040
test al, al
je 0x140050291
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140053cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x14005017f
mov rdx, qword [rax]
jmp 0x140050182
mov rdx, r15
lea rcx, [rsp + 0x258]
call fcn.14000957c
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x14005019c
mov rdx, qword [rax]
test rdx, rdx
je 0x1400501cc
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400501b0
mov r8d, eax
lea rcx, [rsp + 0xe8]
call fcn.140002a88
jmp 0x1400501d9
lea rcx, [rsp + 0xe8]
call fcn.140002894
mov rdx, qword [rsp + 0x270]
cmp rdx, 8
jb 0x140050221
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x258]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005021c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005082c
call fcn.140004104
mov qword [rsp + 0x268], r15
mov qword [rsp + 0x270], 7
mov word [rsp + 0x258], r15w
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x140050291
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005028c
test rbx, rbx
je 0x14005028c
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005026d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14005027f
call fcn.1400758a4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004104
mov qword [rsp + 0x60], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterDACType
mov rdx, qword [rdi]
call fcn.140052040
test al, al
je 0x1400503d4
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.140053cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x1400502ca
mov rdx, qword [rax]
jmp 0x1400502cd
mov rdx, r15
lea rcx, [rsp + 0x278]
call fcn.14000957c
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x1400502e7
mov rdx, qword [rax]
test rdx, rdx
je 0x14005030f
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400502f3
mov r8d, eax
lea rcx, [rsp + 0x108]
call fcn.140002a88
jmp 0x14005031c
lea rcx, [rsp + 0x108]
call fcn.140002894
mov rdx, qword [rsp + 0x290]
cmp rdx, 8
jb 0x140050364
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x278]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005035f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050832
call fcn.140004104
mov qword [rsp + 0x288], r15
mov qword [rsp + 0x290], 7
mov word [rsp + 0x278], r15w
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400503d4
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400503cf
test rbx, rbx
je 0x1400503cf
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400503b0
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400503c2
call fcn.1400758a4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004104
mov qword [rsp + 0x68], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterRAM
mov rdx, qword [rdi]
call fcn.140052040
test al, al
je 0x140050451
cmp word [rsp + 0x40], 0x17
jne 0x1400503fa
mov ebx, dword [rsp + 0x48]
jmp 0x140050442
lea rcx, [rsp + 0xb0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 0x17
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x140050838
mov ebx, dword [rsp + 0xb8]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, ebx
lea rcx, [rsp + 0x180]
call fcn.14006bf90
lea r9, [rsp + 0x40]
lea r8, str.DriverVersion
mov rdx, qword [rdi]
call fcn.140052040
test al, al
je 0x140050592
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140053cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x14005048a
mov rdx, qword [rax]
jmp 0x14005048d
mov rdx, r15
lea rcx, [rsp + 0x298]
call fcn.14000957c
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x1400504a7
mov rdx, qword [rax]
test rdx, rdx
jne 0x1400504b1
mov eax, r15d
jmp 0x1400504ca
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400504c0
mov r8d, eax
lea rcx, [rsp + 0x128]
call fcn.140002a88
mov rdx, qword [rsp + 0x2b0]
cmp rdx, 8
jb 0x140050522
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x298]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005051d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050840
call fcn.140004104
mov qword [rsp + 0x2a8], r15
mov qword [rsp + 0x2b0], 7
mov word [rsp + 0x298], r15w
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x140050592
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005058d
test rbx, rbx
je 0x14005058d
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005056e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140050580
call fcn.1400758a4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004104
mov qword [rsp + 0x70], r15
lea r9, [rsp + 0x40]
lea r8, str.InstalledDisplayDrivers
mov rdx, qword [rdi]
call fcn.140052040
lea r9, [rsp + 0x40]
lea r8, str.PNPDeviceID
mov rdx, qword [rdi]
call fcn.140052040
test al, al
je 0x140050770
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140053cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x1400505df
mov rdx, qword [rax]
jmp 0x1400505e2
mov rdx, r15
lea rcx, [rsp + 0x2b8]
call fcn.14000957c
mov rbx, rax
mov qword [rsp + 0x88], r12
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140050846
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
cmp qword [rbx + 0x18], 8
jb 0x140050627
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.140061280
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x198]
call fcn.140002bb4
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + reloc.OLEAUT32.dll_OleTranslateColor], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x1ac], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x1b0], eax
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400506b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x2d0]
cmp rdx, 8
jb 0x140050700
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400506fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050851
call fcn.140004104
mov qword [rsp + 0x2c8], r15
mov qword [rsp + 0x2d0], 7
mov word [rsp + 0x2b8], r15w
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x140050770
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005076b
test rbx, rbx
je 0x14005076b
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005074c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14005075e
call fcn.1400758a4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004104
mov qword [rsp + 0x78], r15
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
je 0x140050794
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.1400265c0
add qword [rsi + 8], 0x138
jmp 0x1400507a7
lea r8, [rsp + 0xd0]
mov rdx, rax
mov rcx, rsi
call fcn.140026350
mov bl, 1
mov byte [rsp + 0x30], bl
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0xd0]
call fcn.1400269d0
inc r14d
jmp 0x14004ffb0
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x1400507ee
lea rcx, [rsp + 0x210]
call fcn.140017560
movzx eax, bl
mov rcx, qword [rsp + 0x920]
xor rcx, rsp
call fcn.140212a70
mov rbx, qword [rsp + 0x970]
add rsp, 0x930
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.14021b87c
nop
call fcn.14021b87c
nop
call fcn.14021b87c
nop
mov ecx, eax
call fcn.140213cf0
nop
call fcn.14021b87c
nop
mov ecx, 0x80004005
call fcn.140002d08
nop
call fcn.14021b87c
int3