Function at 0x140052490
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 [0x1402d3620]
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.1400184d0
nop
call fcn.140021130
cmp dword [rax + 8], 4
jl 0x140052519
lea rcx, [rsp + 0x210]
call fcn.140016330
cmp byte [rdi + 0x28], 0
jne 0x140052533
lea rcx, [rsp + 0x210]
call fcn.140017d20
xor al, al
jmp 0x140052de3
xor bl, bl
mov byte [rsp + 0x30], bl
lea r8, [rsp + 0x80]
lea rdx, str.SELECT__FROM_Win32_VideoController
mov rcx, rdi
call fcn.1400550d0
test al, al
je 0x140052dcc
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 0x140052dbd
mov r14d, r15d
lea r12, vtable.srl::DeviceID.0
nop word [rax + rax]
cmp r14d, dword [rsp + 0x38]
jae 0x140052dbd
lea rcx, [rsp + 0xd0]
call fcn.140026610
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.140054810
lea r9, [rsp + 0x40]
lea r8, str.Name
mov rdx, qword [rdi]
call fcn.140054810
test al, al
je 0x140052737
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140056830
nop
mov rax, qword [rax]
test rax, rax
je 0x140052621
mov rdx, qword [rax]
jmp 0x140052624
mov rdx, r15
lea rcx, [rsp + 0x238]
call fcn.1400095cc
cmp qword [rax + 0x18], 8
jb 0x14005263b
mov rax, qword [rax]
test rax, rax
je 0x14005266d
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140052650
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140002b2c
jmp 0x14005267a
lea rcx, [rsp + 0xd8]
call fcn.140002944
mov rdx, qword [rsp + 0x250]
cmp rdx, 8
jb 0x1400526c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x238]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400526bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052e0b
call fcn.1400041d4
mov qword [rsp + 0x248], r15
mov qword [rsp + 0x250], 7
mov word [rsp + 0x238], r15w
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140052732
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005272d
test rbx, rbx
je 0x14005272d
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005270e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052720
call fcn.1400041d4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400041d4
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x30], 1
lea r9, [rsp + 0x40]
lea r8, str.VideoProcessor
mov rdx, qword [rdi]
call fcn.140054810
test al, al
je 0x140052882
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140056830
nop
mov rax, qword [rax]
test rax, rax
je 0x140052770
mov rdx, qword [rax]
jmp 0x140052773
mov rdx, r15
lea rcx, [rsp + 0x258]
call fcn.1400095cc
cmp qword [rax + 0x18], 8
jb 0x14005278a
mov rax, qword [rax]
test rax, rax
je 0x1400527bd
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400527a0
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140002b2c
jmp 0x1400527ca
lea rcx, [rsp + 0xe8]
call fcn.140002944
mov rdx, qword [rsp + 0x270]
cmp rdx, 8
jb 0x140052812
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x258]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005280d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052e11
call fcn.1400041d4
mov qword [rsp + 0x268], r15
mov qword [rsp + 0x270], 7
mov word [rsp + 0x258], r15w
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x140052882
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005287d
test rbx, rbx
je 0x14005287d
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005285e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052870
call fcn.1400041d4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400041d4
mov qword [rsp + 0x60], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterDACType
mov rdx, qword [rdi]
call fcn.140054810
test al, al
je 0x1400529c3
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.140056830
nop
mov rax, qword [rax]
test rax, rax
je 0x1400528bb
mov rdx, qword [rax]
jmp 0x1400528be
mov rdx, r15
lea rcx, [rsp + 0x278]
call fcn.1400095cc
cmp qword [rax + 0x18], 8
jb 0x1400528d5
mov rax, qword [rax]
test rax, rax
je 0x1400528fe
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400528e1
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140002b2c
jmp 0x14005290b
lea rcx, [rsp + 0x108]
call fcn.140002944
mov rdx, qword [rsp + 0x290]
cmp rdx, 8
jb 0x140052953
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x278]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005294e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052e17
call fcn.1400041d4
mov qword [rsp + 0x288], r15
mov qword [rsp + 0x290], 7
mov word [rsp + 0x278], r15w
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400529c3
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400529be
test rbx, rbx
je 0x1400529be
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005299f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400529b1
call fcn.1400041d4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400041d4
mov qword [rsp + 0x68], r15
lea r9, [rsp + 0x40]
lea r8, str.AdapterRAM
mov rdx, qword [rdi]
call fcn.140054810
test al, al
je 0x140052a40
cmp word [rsp + 0x40], 0x17
jne 0x1400529e9
mov ebx, dword [rsp + 0x48]
jmp 0x140052a31
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 0x140052e1d
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.1400762f0
lea r9, [rsp + 0x40]
lea r8, str.DriverVersion
mov rdx, qword [rdi]
call fcn.140054810
test al, al
je 0x140052b77
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140056830
nop
mov rax, qword [rax]
test rax, rax
je 0x140052a79
mov rdx, qword [rax]
jmp 0x140052a7c
mov rdx, r15
lea rcx, [rsp + 0x298]
call fcn.1400095cc
cmp qword [rax + 0x18], 8
jb 0x140052a93
mov rax, qword [rax]
test rax, rax
jne 0x140052a9d
mov r8d, r15d
jmp 0x140052aaf
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140052aa4
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140002b2c
mov rdx, qword [rsp + 0x2b0]
cmp rdx, 8
jb 0x140052b07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x298]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052b02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052e25
call fcn.1400041d4
mov qword [rsp + 0x2a8], r15
mov qword [rsp + 0x2b0], 7
mov word [rsp + 0x298], r15w
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x140052b77
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052b72
test rbx, rbx
je 0x140052b72
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052b53
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052b65
call fcn.1400041d4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400041d4
mov qword [rsp + 0x70], r15
lea r9, [rsp + 0x40]
lea r8, str.InstalledDisplayDrivers
mov rdx, qword [rdi]
call fcn.140054810
lea r9, [rsp + 0x40]
lea r8, str.PNPDeviceID
mov rdx, qword [rdi]
call fcn.140054810
test al, al
je 0x140052d55
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140056830
nop
mov rax, qword [rax]
test rax, rax
je 0x140052bc4
mov rdx, qword [rax]
jmp 0x140052bc7
mov rdx, r15
lea rcx, [rsp + 0x2b8]
call fcn.1400095cc
mov rbx, rax
mov qword [rsp + 0x88], r12
call fcn.1400102e4
mov rcx, rax
test rax, rax
je 0x140052e2b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
cmp qword [rbx + 0x18], 8
jb 0x140052c0c
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.1400635e0
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x198]
call fcn.140002c5c
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 0x140052c9d
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 0x140052ce5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052ce0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052e36
call fcn.1400041d4
mov qword [rsp + 0x2c8], r15
mov qword [rsp + 0x2d0], 7
mov word [rsp + 0x2b8], r15w
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x140052d55
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140052d50
test rbx, rbx
je 0x140052d50
mov rcx, qword [rbx]
test rcx, rcx
je 0x140052d31
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140052d43
call fcn.1400041d4
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400041d4
mov qword [rsp + 0x78], r15
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
je 0x140052d79
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.1400287d0
add qword [rsi + 8], 0x138
jmp 0x140052d8c
lea r8, [rsp + 0xd0]
mov rdx, rax
mov rcx, rsi
call fcn.1400282e0
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.140028540
inc r14d
jmp 0x1400525a0
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140052dd3
lea rcx, [rsp + 0x210]
call fcn.140017d20
movzx eax, bl
mov rcx, qword [rsp + 0x920]
xor rcx, rsp
call fcn.140220e50
mov rbx, qword [rsp + 0x970]
add rsp, 0x930
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
mov ecx, eax
call fcn.140221f60
nop
call fcn.14022a144
nop
mov ecx, 0x80004005
call fcn.140002dfc
nop
call fcn.14022a144
int3