Function at 0x140052910
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 [0x14031b940]
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 [0x1402d4850]
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.1400182b0
nop
call fcn.140020e90
cmp dword [rax + 8], 4
jl 0x140052999
lea rcx, [rsp + 0x210]
call fcn.140016100
cmp byte [rdi + 0x28], 0
jne 0x1400529b3
lea rcx, [rsp + 0x210]
call fcn.140017b00
xor al, al
jmp 0x140053263
xor bl, bl
mov byte [rsp + 0x30], bl
lea r8, [rsp + 0x80]
lea rdx, str.SELECT__FROM_Win32_VideoController
mov rcx, rdi
call fcn.140055550
test al, al
je 0x14005324c
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 0x14005323d
mov r14d, r15d
lea r12, vtable.srl::DeviceID.0
nop word [rax + rax]
cmp r14d, dword [rsp + 0x38]
jae 0x14005323d
lea rcx, [rsp + 0xd0]
call fcn.140026370
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.140054c90
lea r9, [rsp + 0x40]
lea r8, str.Name
mov rdx, qword [rdi]
call fcn.140054c90
test al, al
je 0x140052bb7
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140056cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x140052aa1
mov rdx, qword [rax]
jmp 0x140052aa4
mov rdx, r15
lea rcx, [rsp + 0x238]
call fcn.1400092fc
cmp qword [rax + 0x18], 7
jbe 0x140052abb
mov rax, qword [rax]
test rax, rax
je 0x140052aed
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140052ad0
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140002b6c
jmp 0x140052afa
lea rcx, [rsp + 0xd8]
call fcn.140002984
mov rdx, qword [rsp + 0x250]
cmp rdx, 7
jbe 0x140052b42
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x238]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052b3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005328b
call fcn.140003e94
mov qword [rsp + 0x248], r15
mov qword [rsp + 0x250], 7
mov word [rsp + 0x238], r15w
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140052bb2
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052bad
test rbx, rbx
je 0x140052bad
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052b8e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052ba0
call fcn.140003e94
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140003e94
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x30], 1
lea r9, [rsp + 0x40]
lea r8, str.VideoProcessor
mov rdx, qword [rdi]
call fcn.140054c90
test al, al
je 0x140052d02
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140056cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x140052bf0
mov rdx, qword [rax]
jmp 0x140052bf3
mov rdx, r15
lea rcx, [rsp + 0x258]
call fcn.1400092fc
cmp qword [rax + 0x18], 7
jbe 0x140052c0a
mov rax, qword [rax]
test rax, rax
je 0x140052c3d
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140052c20
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140002b6c
jmp 0x140052c4a
lea rcx, [rsp + 0xe8]
call fcn.140002984
mov rdx, qword [rsp + 0x270]
cmp rdx, 7
jbe 0x140052c92
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x258]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052c8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053291
call fcn.140003e94
mov qword [rsp + 0x268], r15
mov qword [rsp + 0x270], 7
mov word [rsp + 0x258], r15w
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x140052d02
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052cfd
test rbx, rbx
je 0x140052cfd
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052cde
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052cf0
call fcn.140003e94
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140003e94
mov qword [rsp + 0x60], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterDACType
mov rdx, qword [rdi]
call fcn.140054c90
test al, al
je 0x140052e43
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.140056cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x140052d3b
mov rdx, qword [rax]
jmp 0x140052d3e
mov rdx, r15
lea rcx, [rsp + 0x278]
call fcn.1400092fc
cmp qword [rax + 0x18], 7
jbe 0x140052d55
mov rax, qword [rax]
test rax, rax
je 0x140052d7e
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140052d61
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140002b6c
jmp 0x140052d8b
lea rcx, [rsp + 0x108]
call fcn.140002984
mov rdx, qword [rsp + 0x290]
cmp rdx, 7
jbe 0x140052dd3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x278]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052dce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053297
call fcn.140003e94
mov qword [rsp + 0x288], r15
mov qword [rsp + 0x290], 7
mov word [rsp + 0x278], r15w
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140052e43
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052e3e
test rbx, rbx
je 0x140052e3e
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052e1f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052e31
call fcn.140003e94
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140003e94
mov qword [rsp + 0x68], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterRAM
mov rdx, qword [rdi]
call fcn.140054c90
test al, al
je 0x140052ec0
cmp word [rsp + 0x40], 0x17
jne 0x140052e69
mov ebx, dword [rsp + 0x48]
jmp 0x140052eb1
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 0x14005329d
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.140075fa0
lea r9, [rsp + 0x40]
lea r8, str.DriverVersion
mov rdx, qword [rdi]
call fcn.140054c90
test al, al
je 0x140052ff7
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140056cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x140052ef9
mov rdx, qword [rax]
jmp 0x140052efc
mov rdx, r15
lea rcx, [rsp + 0x298]
call fcn.1400092fc
cmp qword [rax + 0x18], 7
jbe 0x140052f13
mov rax, qword [rax]
test rax, rax
jne 0x140052f1d
mov r8d, r15d
jmp 0x140052f2f
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140052f24
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140002b6c
mov rdx, qword [rsp + 0x2b0]
cmp rdx, 7
jbe 0x140052f87
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x298]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052f82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400532a5
call fcn.140003e94
mov qword [rsp + 0x2a8], r15
mov qword [rsp + 0x2b0], 7
mov word [rsp + 0x298], r15w
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x140052ff7
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052ff2
test rbx, rbx
je 0x140052ff2
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052fd3
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052fe5
call fcn.140003e94
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140003e94
mov qword [rsp + 0x70], r15
lea r9, [rsp + 0x40]
lea r8, str.InstalledDisplayDrivers
mov rdx, qword [rdi]
call fcn.140054c90
lea r9, [rsp + 0x40]
lea r8, str.PNPDeviceID
mov rdx, qword [rdi]
call fcn.140054c90
test al, al
je 0x1400531d5
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140056cb0
nop
mov rax, qword [rax]
test rax, rax
je 0x140053044
mov rdx, qword [rax]
jmp 0x140053047
mov rdx, r15
lea rcx, [rsp + 0x2b8]
call fcn.1400092fc
mov rbx, rax
mov qword [rsp + 0x88], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x1400532ab
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
cmp qword [rbx + 0x18], 7
jbe 0x14005308c
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.140063a20
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x198]
call fcn.140002c9c
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 0x14005311d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x2d0]
cmp rdx, 7
jbe 0x140053165
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053160
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400532b6
call fcn.140003e94
mov qword [rsp + 0x2c8], r15
mov qword [rsp + 0x2d0], 7
mov word [rsp + 0x2b8], r15w
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1400531d5
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400531d0
test rbx, rbx
je 0x1400531d0
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400531b1
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400531c3
call fcn.140003e94
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140003e94
mov qword [rsp + 0x78], r15
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
je 0x1400531f9
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.140028530
add qword [rsi + 8], 0x138
jmp 0x14005320c
lea r8, [rsp + 0xd0]
mov rdx, rax
mov rcx, rsi
call fcn.140028040
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.1400282a0
inc r14d
jmp 0x140052a20
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140053253
lea rcx, [rsp + 0x210]
call fcn.140017b00
movzx eax, bl
mov rcx, qword [rsp + 0x920]
xor rcx, rsp
call fcn.140220eb0
mov rbx, qword [rsp + 0x970]
add rsp, 0x930
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.14022a650
nop
call fcn.14022a650
nop
call fcn.14022a650
nop
mov ecx, eax
call fcn.140221fa0
nop
call fcn.14022a650
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
call fcn.14022a650
int3