Function at 0x14001bfa0
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x880
mov rax, qword [0x140040150]
xor rax, rsp
mov qword [rsp + 0x870], rax
mov r15, rcx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x14001d77b
xor r12d, r12d
mov qword [rsp + 0xb8], r12
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [0x140033260]
xor edx, edx
lea r8d, [r12 + 1]
lea rcx, [0x140033270]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14001c025
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x14001d77b
mov qword [rsp + 0xb0], r12
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.14002bc78
mov rbx, rax
mov qword [rsp + 0x100], rax
test rax, rax
je 0x14001c07c
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14001d7a9
jmp 0x14001c07f
mov rbx, r12
mov qword [rsp + 0x168], rbx
test rbx, rbx
je 0x14001d7b4
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0xb8]
mov rax, rdi
call qword [0x140031948]
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x14001c10c
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001c0ed
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14001c0ff
call fcn.14002ba00
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14002ba00
test edi, edi
jns 0x14001c130
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x14001d77b
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x14001c19b
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x14001d77b
mov qword [rsp + 0xf8], r12
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax]
mov r14, qword [rcx + 0xa0]
mov ecx, 0x18
call fcn.14002bc78
mov rbx, rax
mov qword [rsp + 0xe8], rax
test rax, rax
je 0x14001c1eb
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.SELECT_Availability__AdapterCompatibility__AdapterRAM__Caption__Description__DriverDate__DriverVersion__VideoModeDescription__PNPDeviceID_InstalledDisplayDrivers_CurrentHorizontalResolution_CurrentVerticalResolution_CurrentNumberOfColors__CurrentScanMode_CurrentBitsPerPixel_VideoProcessor_Name_FROM_Win32_VideoController
call fcn.14002cc80
mov qword [rbx], rax
jmp 0x14001c1ee
mov rbx, r12
mov qword [rsp + 0x158], rbx
test rbx, rbx
je 0x14001d7be
mov rsi, qword [rbx]
mov ecx, 0x18
call fcn.14002bc78
mov rdi, rax
mov qword [rsp + 0xe8], rax
test rax, rax
je 0x14001c238
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x140031e74]
call fcn.14002cc80
mov qword [rdi], rax
jmp 0x14001c23b
mov rdi, r12
mov qword [rsp + 0x160], rdi
test rdi, rdi
je 0x14001d7c9
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 0x20
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0xb0]
mov rax, r14
call qword [0x140031948]
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14001c2bd
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001c29d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14001c2af
call fcn.14002ba00
mov qword [rdi + 8], r12
mov edx, 0x18
mov rcx, rdi
call fcn.14002ba00
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14001c2fc
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001c2dd
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14001c2ef
call fcn.14002ba00
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14002ba00
test esi, esi
jns 0x14001c335
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x14001d77b
mov qword [rsp + 0x68], r12
mov dword [rsp + 0xd8], r12d
lea rsi, [0x140033294]
nop dword [rax]
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14001d735
mov rax, qword [rcx]
lea rdx, [rsp + 0xd8]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x68]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
je 0x14001c39b
cmp dword [rsp + 0xd8], 0
je 0x14001d735
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d7d4
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xf0]
cmp rsi, 0x10000
jae 0x14001c3e0
movzx edx, si
call fcn.14000b280
jmp 0x14001c3ec
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d7df
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0xa8]
cmp rsi, 0x10000
jae 0x14001c431
movzx edx, si
call fcn.14000b280
jmp 0x14001c43d
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d7ea
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0xa0]
cmp rsi, 0x10000
jae 0x14001c482
movzx edx, si
call fcn.14000b280
jmp 0x14001c48e
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d7f5
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0xe0], rax
lea rcx, [rsp + 0xe0]
cmp rsi, 0x10000
jae 0x14001c4d3
movzx edx, si
call fcn.14000b280
jmp 0x14001c4df
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d800
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0x98], rax
lea rcx, [rsp + 0x98]
cmp rsi, 0x10000
jae 0x14001c524
movzx edx, si
call fcn.14000b280
jmp 0x14001c530
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d80b
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x90]
cmp rsi, 0x10000
jae 0x14001c575
movzx edx, si
call fcn.14000b280
jmp 0x14001c581
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d816
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x88]
cmp rsi, 0x10000
jae 0x14001c5c6
movzx edx, si
call fcn.14000b280
jmp 0x14001c5d2
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d821
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x80]
cmp rsi, 0x10000
jae 0x14001c617
movzx edx, si
call fcn.14000b280
jmp 0x14001c623
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d82c
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
cmp rsi, 0x10000
jae 0x14001c662
movzx edx, si
call fcn.14000b280
jmp 0x14001c66e
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d837
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
cmp rsi, 0x10000
jae 0x14001c6ad
movzx edx, si
call fcn.14000b280
jmp 0x14001c6b9
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
call fcn.140001550
mov rcx, rax
test rax, rax
je 0x14001d842
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x140031948]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
cmp rsi, 0x10000
jae 0x14001c6f8
movzx edx, si
call fcn.14000b280
jmp 0x14001c704
xor r8d, r8d
mov rdx, rsi
call fcn.14000b4a0
nop
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, [0x140031e78]
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001c7ef
movzx edx, word [rsp + 0xc8]
lea rcx, [rsp + 0x148]
call fcn.14001b790
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0xa8]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001c7c4
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001c7b2
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001c7b2
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001c7a4
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0xa8], rax
jmp 0x14001c7c4
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xa8]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x148]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c7ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.AdapterCompatibility
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001c954
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x14001c954
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0xa0]
call fcn.14000ae20
lea rcx, [rsp + 0xa0]
call fcn.140020fa0
mov rax, qword [rsp + 0xa0]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0xa0]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0xa0]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001c929
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001c917
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001c917
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001c909
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0xa0], rax
jmp 0x14001c929
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xa0]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x150]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c954
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.AdapterRAM
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001c9ac
mov rax, qword [rsp + 0xc8]
test eax, eax
je 0x14001c9ac
shr eax, 0x14
mov r8d, eax
lea rdx, str._u_MB
lea rcx, [rsp + 0xe0]
call fcn.14000bb30
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.Caption
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001cb11
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x14001cb11
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x270]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x98]
call fcn.14000ae20
lea rcx, [rsp + 0x98]
call fcn.140020fa0
mov rax, qword [rsp + 0x98]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x98]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x98]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001cae6
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001cad4
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001cad4
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001cac6
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x98], rax
jmp 0x14001cae6
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x98]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001cb11
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.Description
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001cc76
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x14001cc76
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x370]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x90]
call fcn.14000ae20
lea rcx, [rsp + 0x90]
call fcn.140020fa0
mov rax, qword [rsp + 0x90]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x90]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x90]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001cc4b
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001cc39
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001cc39
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001cc2b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x90], rax
jmp 0x14001cc4b
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x90]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001cc76
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.DriverDate
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001cddb
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x14001cddb
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x470]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x470]
lea rcx, [rsp + 0x88]
call fcn.14000ae20
lea rcx, [rsp + 0x88]
call fcn.140020fa0
mov rax, qword [rsp + 0x88]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x88]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x88]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001cdb0
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001cd9e
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001cd9e
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001cd90
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x88], rax
jmp 0x14001cdb0
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x88]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001cddb
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.DriverVersion
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001cf40
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x14001cf40
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x570]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x570]
lea rcx, [rsp + 0x80]
call fcn.14000ae20
lea rcx, [rsp + 0x80]
call fcn.140020fa0
mov rax, qword [rsp + 0x80]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x80]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x80]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001cf15
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001cf03
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001cf03
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001cef5
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x80], rax
jmp 0x14001cf15
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x80]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001cf40
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.VideoModeDescription
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001d090
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x14001d090
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x670]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x670]
lea rcx, [rsp + 0x78]
call fcn.14000ae20
lea rcx, [rsp + 0x78]
call fcn.140020fa0
mov rax, qword [rsp + 0x78]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x78]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x78]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001d065
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001d056
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001d056
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001d04b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x78], rax
jmp 0x14001d065
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x78]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d090
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.PNPDeviceID
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001d1e0
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x14001d1e0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x770]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x770]
lea rcx, [rsp + 0x70]
call fcn.14000ae20
lea rcx, [rsp + 0x70]
call fcn.140020fa0
mov rax, qword [rsp + 0x70]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x70]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x70]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001d1b5
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001d1a6
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001d1a6
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001d19b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x70], rax
jmp 0x14001d1b5
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x70]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d1e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.InstalledDisplayDrivers
mov rax, qword [rax + 0x20]
call qword [0x140031948]
test eax, eax
jne 0x14001d48a
mov rax, qword [rsp + 0xc8]
mov rdx, rsi
test rax, rax
cmovne rdx, rax
test rdx, rdx
jne 0x14001d232
mov eax, r12d
jmp 0x14001d24a
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14001d240
mov r8d, eax
lea rcx, [rsp + 0x60]
call fcn.14000b4a0
mov rax, qword [rsp + 0x60]
mov r9d, 0x1000
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x60]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x60]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001d2ec
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001d2dd
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001d2dd
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001d2d2
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x14001d2ec
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x138]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d317
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.14001d850
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x60]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001d395
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001d386
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001d386
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001d37b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x14001d395
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d3c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
lea rcx, [rsp + 0x60]
call fcn.140020fa0
mov rax, qword [rsp + 0x60]
mov r9d, 0x64
cmp dword [rax - 0x10], r9d
cmovl r9d, dword [rax - 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x60]
call fcn.14001dcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x60]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001d45f
mov eax, dword [rbx + 0x10]
shr eax, 0x1f
test al, al
jne 0x14001d450
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001d450
call fcn.14000b3a0
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001d445
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [0x140031948]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x14001d45f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000b4a0
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d48a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
lea rdx, str._gpuinfo_availability__s__adapterCompatibility__s__adapterRAM__s__caption__s__description__s__driverDate__s__driverVersion__s__videoModeDescription__s__pnpDeviceID__s__installedDisplayDrivers__s___
lea rcx, [rsp + 0xf0]
call fcn.14000bb30
mov rdx, qword [rsp + 0xf0]
lea rbx, [rdx - 0x18]
mov r8d, dword [rbx + 8]
mov rcx, r15
call fcn.14000b070
mov r8d, 1
lea rdx, [0x1400345f8]
mov rcx, r15
call fcn.14000b070
lea rcx, [rsp + 0xc0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d584
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d5ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d5d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d602
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d62e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d65a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d686
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d6b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d6de
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001d70a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140031948]
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x14001c350
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 8]
call qword [0x140031948]
jmp 0x14001c350
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031948]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rcx, qword [rsp + 0x870]
xor rcx, rsp
call fcn.14002b9e0
lea r11, [rsp + 0x880]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
mov ecx, 0x8007000e
call fcn.14002cc70
nop
mov ecx, 0x8007000e
call fcn.14002cc70
mov ecx, 0x8007000e
call fcn.14002cc70
nop
mov ecx, 0x8007000e
call fcn.14002cc70
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
int3