Function at 0x140051b50
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 [0x1402d3560]
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 0x140051bd9
lea rcx, [rsp + 0x210]
call fcn.1400162a0
cmp byte [rdi + 0x28], 0
jne 0x140051bf3
lea rcx, [rsp + 0x210]
call fcn.140017c90
xor al, al
jmp 0x1400524a3
xor bl, bl
mov byte [rsp + 0x30], bl
lea r8, [rsp + 0x80]
lea rdx, str.SELECT__FROM_Win32_VideoController
mov rcx, rdi
call fcn.140054790
test al, al
je 0x14005248c
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 0x14005247d
mov r14d, r15d
lea r12, vtable.srl::DeviceID.0
nop word [rax + rax]
cmp r14d, dword [rsp + 0x38]
jae 0x14005247d
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.140053ed0
lea r9, [rsp + 0x40]
lea r8, str.Name
mov rdx, qword [rdi]
call fcn.140053ed0
test al, al
je 0x140051df7
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140055ef0
nop
mov rax, qword [rax]
test rax, rax
je 0x140051ce1
mov rdx, qword [rax]
jmp 0x140051ce4
mov rdx, r15
lea rcx, [rsp + 0x238]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140051cfb
mov rax, qword [rax]
test rax, rax
je 0x140051d2d
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140051d10
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140002a9c
jmp 0x140051d3a
lea rcx, [rsp + 0xd8]
call fcn.1400028b4
mov rdx, qword [rsp + 0x250]
cmp rdx, 8
jb 0x140051d82
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x238]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051d7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400524cb
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 0x140051df2
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140051ded
test rbx, rbx
je 0x140051ded
mov rcx, qword [rbx]
test rcx, rcx
je 0x140051dce
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140051de0
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.140053ed0
test al, al
je 0x140051f42
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140055ef0
nop
mov rax, qword [rax]
test rax, rax
je 0x140051e30
mov rdx, qword [rax]
jmp 0x140051e33
mov rdx, r15
lea rcx, [rsp + 0x258]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140051e4a
mov rax, qword [rax]
test rax, rax
je 0x140051e7d
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140051e60
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140002a9c
jmp 0x140051e8a
lea rcx, [rsp + 0xe8]
call fcn.1400028b4
mov rdx, qword [rsp + 0x270]
cmp rdx, 8
jb 0x140051ed2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x258]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051ecd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400524d1
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 0x140051f42
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140051f3d
test rbx, rbx
je 0x140051f3d
mov rcx, qword [rbx]
test rcx, rcx
je 0x140051f1e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140051f30
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.140053ed0
test al, al
je 0x140052083
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.140055ef0
nop
mov rax, qword [rax]
test rax, rax
je 0x140051f7b
mov rdx, qword [rax]
jmp 0x140051f7e
mov rdx, r15
lea rcx, [rsp + 0x278]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140051f95
mov rax, qword [rax]
test rax, rax
je 0x140051fbe
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140051fa1
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140002a9c
jmp 0x140051fcb
lea rcx, [rsp + 0x108]
call fcn.1400028b4
mov rdx, qword [rsp + 0x290]
cmp rdx, 8
jb 0x140052013
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x278]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005200e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400524d7
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 0x140052083
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005207e
test rbx, rbx
je 0x14005207e
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005205f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052071
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.140053ed0
test al, al
je 0x140052100
cmp word [rsp + 0x40], 0x17
jne 0x1400520a9
mov ebx, dword [rsp + 0x48]
jmp 0x1400520f1
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 0x1400524dd
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.1400759b0
lea r9, [rsp + 0x40]
lea r8, str.DriverVersion
mov rdx, qword [rdi]
call fcn.140053ed0
test al, al
je 0x140052237
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140055ef0
nop
mov rax, qword [rax]
test rax, rax
je 0x140052139
mov rdx, qword [rax]
jmp 0x14005213c
mov rdx, r15
lea rcx, [rsp + 0x298]
call fcn.14000953c
cmp qword [rax + 0x18], 8
jb 0x140052153
mov rax, qword [rax]
test rax, rax
jne 0x14005215d
mov r8d, r15d
jmp 0x14005216f
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140052164
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140002a9c
mov rdx, qword [rsp + 0x2b0]
cmp rdx, 8
jb 0x1400521c7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x298]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400521c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400524e5
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 0x140052237
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052232
test rbx, rbx
je 0x140052232
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052213
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052225
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.140053ed0
lea r9, [rsp + 0x40]
lea r8, str.PNPDeviceID
mov rdx, qword [rdi]
call fcn.140053ed0
test al, al
je 0x140052415
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140055ef0
nop
mov rax, qword [rax]
test rax, rax
je 0x140052284
mov rdx, qword [rax]
jmp 0x140052287
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 0x1400524eb
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
cmp qword [rbx + 0x18], 8
jb 0x1400522cc
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.140062ca0
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 0x14005235d
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 0x1400523a5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400523a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400524f6
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 0x140052415
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052410
test rbx, rbx
je 0x140052410
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400523f1
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052403
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 0x140052439
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.140028740
add qword [rsi + 8], 0x138
jmp 0x14005244c
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 0x140051c60
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140052493
lea rcx, [rsp + 0x210]
call fcn.140017c90
movzx eax, bl
mov rcx, qword [rsp + 0x920]
xor rcx, rsp
call fcn.140220510
mov rbx, qword [rsp + 0x970]
add rsp, 0x930
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
nop
mov ecx, eax
call fcn.140221620
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
int3