Function at 0x1400518f0
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 [0x14031a940]
xor rax, rsp
mov qword [rsp + 0x920], rax
mov rsi, rdx
mov rdi, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x218], xmm0
movdqa xmm1, xmmword [0x1402d3570]
movdqu xmmword [rsp + 0x228], xmm1
xor r15d, r15d
mov word [rsp + 0x218], r15w
mov byte [rsp + 0x210], r15b
lea rdx, str.srl::WMI::GetGpuInfo
lea rcx, [rsp + 0x218]
call fcn.140018440
nop
call fcn.1400210a0
cmp dword [rax + 8], 4
jl 0x140051979
lea rcx, [rsp + 0x210]
call fcn.1400162a0
cmp byte [rdi + 0x28], 0
jne 0x140051993
lea rcx, [rsp + 0x210]
call fcn.140017c90
xor al, al
jmp 0x140052243
xor bl, bl
mov byte [rsp + 0x30], bl
lea r8, [rsp + 0x80]
lea rdx, str.SELECT__FROM_Win32_VideoController
mov rcx, rdi
call fcn.140054530
test al, al
je 0x14005222c
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 0x14005221d
mov r14d, r15d
lea r12, vtable.srl::DeviceID.0
nop word [rax + rax]
cmp r14d, dword [rsp + 0x38]
jae 0x14005221d
lea rcx, [rsp + 0xd0]
call fcn.140026580
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.140053c70
lea r9, [rsp + 0x40]
lea r8, str.Name
mov rdx, qword [rdi]
call fcn.140053c70
test al, al
je 0x140051b97
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140055c90
nop
mov rax, qword [rax]
test rax, rax
je 0x140051a81
mov rdx, qword [rax]
jmp 0x140051a84
mov rdx, r15
lea rcx, [rsp + 0x238]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140051a9b
mov rax, qword [rax]
test rax, rax
je 0x140051acd
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140051ab0
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140002a9c
jmp 0x140051ada
lea rcx, [rsp + 0xd8]
call fcn.1400028b4
mov rdx, qword [rsp + 0x250]
cmp rdx, 8
jb 0x140051b22
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x238]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051b1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005226b
call fcn.140004144
mov qword [rsp + 0x248], r15
mov qword [rsp + 0x250], 7
mov word [rsp + 0x238], r15w
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140051b92
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140051b8d
test rbx, rbx
je 0x140051b8d
mov rcx, qword [rbx]
test rcx, rcx
je 0x140051b6e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140051b80
call fcn.140004144
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004144
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x30], 1
lea r9, [rsp + 0x40]
lea r8, str.VideoProcessor
mov rdx, qword [rdi]
call fcn.140053c70
test al, al
je 0x140051ce2
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140055c90
nop
mov rax, qword [rax]
test rax, rax
je 0x140051bd0
mov rdx, qword [rax]
jmp 0x140051bd3
mov rdx, r15
lea rcx, [rsp + 0x258]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140051bea
mov rax, qword [rax]
test rax, rax
je 0x140051c1d
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140051c00
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140002a9c
jmp 0x140051c2a
lea rcx, [rsp + 0xe8]
call fcn.1400028b4
mov rdx, qword [rsp + 0x270]
cmp rdx, 8
jb 0x140051c72
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x258]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051c6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052271
call fcn.140004144
mov qword [rsp + 0x268], r15
mov qword [rsp + 0x270], 7
mov word [rsp + 0x258], r15w
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x140051ce2
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140051cdd
test rbx, rbx
je 0x140051cdd
mov rcx, qword [rbx]
test rcx, rcx
je 0x140051cbe
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140051cd0
call fcn.140004144
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004144
mov qword [rsp + 0x60], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterDACType
mov rdx, qword [rdi]
call fcn.140053c70
test al, al
je 0x140051e23
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.140055c90
nop
mov rax, qword [rax]
test rax, rax
je 0x140051d1b
mov rdx, qword [rax]
jmp 0x140051d1e
mov rdx, r15
lea rcx, [rsp + 0x278]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140051d35
mov rax, qword [rax]
test rax, rax
je 0x140051d5e
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140051d41
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140002a9c
jmp 0x140051d6b
lea rcx, [rsp + 0x108]
call fcn.1400028b4
mov rdx, qword [rsp + 0x290]
cmp rdx, 8
jb 0x140051db3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x278]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051dae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052277
call fcn.140004144
mov qword [rsp + 0x288], r15
mov qword [rsp + 0x290], 7
mov word [rsp + 0x278], r15w
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140051e23
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140051e1e
test rbx, rbx
je 0x140051e1e
mov rcx, qword [rbx]
test rcx, rcx
je 0x140051dff
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140051e11
call fcn.140004144
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004144
mov qword [rsp + 0x68], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterRAM
mov rdx, qword [rdi]
call fcn.140053c70
test al, al
je 0x140051ea0
cmp word [rsp + 0x40], 0x17
jne 0x140051e49
mov ebx, dword [rsp + 0x48]
jmp 0x140051e91
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 0x14005227d
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.140075750
lea r9, [rsp + 0x40]
lea r8, str.DriverVersion
mov rdx, qword [rdi]
call fcn.140053c70
test al, al
je 0x140051fd7
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140055c90
nop
mov rax, qword [rax]
test rax, rax
je 0x140051ed9
mov rdx, qword [rax]
jmp 0x140051edc
mov rdx, r15
lea rcx, [rsp + 0x298]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140051ef3
mov rax, qword [rax]
test rax, rax
jne 0x140051efd
mov r8d, r15d
jmp 0x140051f0f
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140051f04
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140002a9c
mov rdx, qword [rsp + 0x2b0]
cmp rdx, 8
jb 0x140051f67
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x298]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051f62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052285
call fcn.140004144
mov qword [rsp + 0x2a8], r15
mov qword [rsp + 0x2b0], 7
mov word [rsp + 0x298], r15w
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x140051fd7
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140051fd2
test rbx, rbx
je 0x140051fd2
mov rcx, qword [rbx]
test rcx, rcx
je 0x140051fb3
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140051fc5
call fcn.140004144
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004144
mov qword [rsp + 0x70], r15
lea r9, [rsp + 0x40]
lea r8, str.InstalledDisplayDrivers
mov rdx, qword [rdi]
call fcn.140053c70
lea r9, [rsp + 0x40]
lea r8, str.PNPDeviceID
mov rdx, qword [rdi]
call fcn.140053c70
test al, al
je 0x1400521b5
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140055c90
nop
mov rax, qword [rax]
test rax, rax
je 0x140052024
mov rdx, qword [rax]
jmp 0x140052027
mov rdx, r15
lea rcx, [rsp + 0x2b8]
call fcn.14000953c
mov rbx, rax
mov qword [rsp + 0x88], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x14005228b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
cmp qword [rbx + 0x18], 8
jb 0x14005206c
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.140062a40
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x198]
call fcn.140002bcc
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 0x1400520fd
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 0x140052145
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052140
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052296
call fcn.140004144
mov qword [rsp + 0x2c8], r15
mov qword [rsp + 0x2d0], 7
mov word [rsp + 0x2b8], r15w
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1400521b5
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400521b0
test rbx, rbx
je 0x1400521b0
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052191
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400521a3
call fcn.140004144
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140004144
mov qword [rsp + 0x78], r15
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
je 0x1400521d9
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.140028740
add qword [rsi + 8], 0x138
jmp 0x1400521ec
lea r8, [rsp + 0xd0]
mov rdx, rax
mov rcx, rsi
call fcn.140028250
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.1400284b0
inc r14d
jmp 0x140051a00
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140052233
lea rcx, [rsp + 0x210]
call fcn.140017c90
movzx eax, bl
mov rcx, qword [rsp + 0x920]
xor rcx, rsp
call fcn.1402202b0
mov rbx, qword [rsp + 0x970]
add rsp, 0x930
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
mov ecx, eax
call fcn.1402213c0
nop
call fcn.1402295a4
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.1402295a4
int3