Function at 0x140056d90
Capabilities:
Inspect section memory permissions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rsi, rcx
lea rax, vtable.CTList_class_CDevice_.0
mov qword [rsp + 0x30], rax
and qword [rsp + 0x38], 0
and dword [rsp + 0x40], 0
xor r15d, r15d
xor r14d, r14d
mov dword [rsp + 0xa0], r14d
and dword [rsp + 0xa8], r14d
and dword [rsp + 0xb0], r14d
and dword [rsp + 0xb8], r14d
mov rbx, qword [rcx + 0x18]
test rbx, rbx
je 0x140056e35
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140056e02
mov rdi, qword [rbx + 8]
jmp 0x140056e04
xor edi, edi
test rdi, rdi
je 0x140056e35
call fcn.140045fd8
mov rdx, rdi
mov rcx, qword [rax + 0x60]
call fcn.14004a810
test rbx, rbx
je 0x140056e2e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140056e35
mov rdi, qword [rbx + 8]
jmp 0x140056e30
xor edi, edi
test rdi, rdi
jne 0x140056e09
mov rcx, qword [rsi + 0x18]
call fcn.1400445c0
mov rbx, qword [rsi + 0x20]
test rbx, rbx
je 0x140056e7e
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140056e56
mov rcx, qword [rbx + 8]
jmp 0x140056e58
xor ecx, ecx
test rcx, rcx
je 0x140056e7e
mov rax, qword [rcx]
call qword [rax + 0x10]
test rbx, rbx
je 0x140056e77
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140056e7e
mov rcx, qword [rbx + 8]
jmp 0x140056e79
xor ecx, ecx
test rcx, rcx
jne 0x140056e5d
mov rcx, qword [rsi + 0x20]
call fcn.14004cfb4
mov ecx, 0x120
call fcn.14013f12c
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140056eab
mov rdx, rsi
mov rcx, rax
call fcn.14009b59c
mov r13, rax
jmp 0x140056eae
xor r13d, r13d
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x140057944
mov rax, qword [rsi + 0x18]
mov r12d, 1
test rax, rax
je 0x140057933
mov r14, qword [rax + 8]
test r14, r14
je 0x140056ee2
mov rbp, qword [r14 + 8]
jmp 0x140056ee4
xor ebp, ebp
test rbp, rbp
je 0x14005792b
mov edi, 0x100
mov r8d, dword [rbp + 0x504]
mov rdx, r13
mov rcx, rbp
call fcn.14005fbb0
mov rcx, rbp
call fcn.14005fccc
mov r11d, dword [rbp + 0x528]
cmp r11d, 0x18ca
jg 0x140057641
cmp r11d, 0x18ca
je 0x140057589
sub r11d, 0x1002
je 0x140057572
sub r11d, 0x11
je 0x1400573a0
sub r11d, 0x18
je 0x1400571c8
sub r11d, 0xb3
je 0x1400571b6
sub r11d, 0xc
je 0x1400570d7
sub r11d, 0x21
je 0x140057076
cmp r11d, 0x10f
jne 0x1400578f2
mov dword [rbp + 0x4c0], 0x81000000
lea r8, str.3Dfx_Graphics_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, r12d
je 0x14005705e
sub eax, r12d
je 0x140057046
sub eax, r12d
je 0x14005702e
sub eax, r12d
je 0x140057016
sub eax, r12d
je 0x140056ffe
sub eax, 4
je 0x140056fe6
cmp eax, 0x4e
jne 0x1400578f2
lea r8, str.3Dfx_Voodoo_3000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.3Dfx_Voodoo_4_5
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.3Dfx_Voodoo_3
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.3Dfx_Banshee
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.3Dfx_Banshee
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.3Dfx_Voodoo_2
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.3Dfx_Voodoo
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x85000000
lea r8, str.Chromatic_Research_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, r12d
je 0x1400570bf
cmp eax, 3
jne 0x1400578f2
lea r8, str.Mpact_2
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Mpact_Media
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x20000000
lea r8, str.Intergraphics_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, 0x2000
je 0x14005719e
sub eax, 0x10
je 0x140057186
sub eax, 0x2ff0
je 0x14005716e
sub eax, 0x50
je 0x140057156
sub eax, 0x1b2
je 0x14005713e
cmp eax, 0x50
jne 0x1400578f2
lea r8, str.Intergraphics_CyberPro_5252
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Intergraphics_CyberPro_5202
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Intergraphics_CyberPro_5050
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Intergraphics_CyberPro_5000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Intergraphics_CyberPro_2000A
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Intergraphics_CyberPro_2000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x1000000
mov r15d, r12d
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x8000000
lea r8, str.Matrox_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov r11d, dword [rbp + 0x52c]
mov eax, 0x521
cmp r11d, eax
jg 0x1400572d6
cmp r11d, eax
je 0x1400572be
sub r11d, 0x519
je 0x1400572a6
sub r11d, r12d
je 0x14005728e
sub r11d, r12d
je 0x140057276
sub r11d, 3
je 0x14005725e
sub r11d, r12d
je 0x140057246
cmp r11d, r12d
jne 0x1400578f2
lea r8, str.Matrox_G200_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_MGA_2164W_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_MGA_1064SG_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_MGA_2164W_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_MGA_1064SG_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_MGA_2064W_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_G200_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
sub r11d, 0x525
je 0x140057364
sub r11d, 0xadb
je 0x14005734c
sub r11d, r12d
je 0x140057334
sub r11d, 0x1526
je 0x14005731c
cmp r11d, 0x10
jne 0x1400578f2
lea r8, str.Matrox_P650
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_G550_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_G100_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_G100_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
cmp dword [rbp + 0x530], 0x80
jl 0x140057388
lea r8, str.Matrox_G450_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Matrox_G400_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x82000000
lea r8, str.Cirrus_Logic_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov r11d, dword [rbp + 0x52c]
cmp r11d, 0xb8
jg 0x1400574b5
cmp r11d, 0xb8
je 0x14005749d
sub r11d, 0xa0
je 0x140057485
sub r11d, 2
je 0x14005746d
sub r11d, 2
je 0x140057455
sub r11d, 4
je 0x14005743d
sub r11d, 4
je 0x140057425
cmp r11d, 4
jne 0x1400578f2
lea r8, str.CL_GD5440
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5436
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5434_8
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5434_4
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5432
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5430
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5446
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
sub r11d, 0xbc
je 0x14005755a
sub r11d, 0x14
je 0x140057542
sub r11d, 2
je 0x14005752a
sub r11d, 2
je 0x140057512
sub r11d, r12d
je 0x1400574fa
cmp r11d, r12d
jne 0x1400578f2
lea r8, str.CL_GD5465
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5464
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5464
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5462
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5462
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.CL_GD5480
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x2000000
mov dword [rsp + 0xa0], r12d
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x84000000
lea r8, str.XGI_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, 0x20
je 0x140057629
sub eax, r12d
je 0x140057611
sub eax, 6
je 0x1400575f9
sub eax, 0x19
je 0x1400575e1
cmp eax, 7
jne 0x1400578f2
lea r8, str.Volari_8300
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Volari_V3XT_V5_V8
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Volari_Z11_Z11m
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Volari_Z9s_Z9m
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Volari_Z7_Z9
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
cmp r11d, 0x1a03
je 0x1400578e0
cmp r11d, 0x1d17
je 0x14005786b
cmp r11d, 0x1ed5
je 0x1400576fa
cmp r11d, 0x5333
je 0x1400576b5
cmp r11d, 0x6766
je 0x14005769e
cmp r11d, 0x8086
jne 0x1400578f2
mov dword [rbp + 0x4c0], 0x4000000
mov dword [rsp + 0xa8], r12d
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x86000000
mov dword [rsp + 0xb8], r12d
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x80000000
lea r8, str.S3_Graphics_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
cmp dword [rbp + 0x52c], 0x8811
jne 0x1400578f2
lea r8, str.S3_Trio_32_64_64V
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x87000000
lea r8, str.Moore_Threads_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov r11d, dword [rbp + 0x52c]
cmp r11d, 0x202
jg 0x1400577ea
cmp r11d, 0x202
je 0x1400577d2
sub r11d, edi
je 0x1400577ba
sub r11d, r12d
je 0x1400577a2
sub r11d, r12d
je 0x14005778a
sub r11d, 3
je 0x140057772
cmp r11d, 0xfc
jne 0x1400578f2
lea r8, str.MTT_S80
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S50
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S30
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S10
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S10
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S70
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
sub r11d, 0x203
je 0x140057853
sub r11d, 0xfd
je 0x14005783b
sub r11d, r12d
je 0x140057823
cmp r11d, 0x22
jne 0x1400578f2
lea r8, str.MTT_S4000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S90
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S90_ES
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.MTT_S60
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x40000000
lea r8, str.Zhaoxin_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, 0x3a02
je 0x1400578cb
sub eax, r12d
je 0x1400578b6
cmp eax, 0x2fe
jne 0x1400578f2
lea r8, str.Zhaoxin_C_1080
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Zhaoxin_C_860
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
lea r8, str.Zhaoxin_C_320
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400578f2
mov dword [rbp + 0x4c0], 0x10000000
mov dword [rsp + 0xb0], r12d
mov rcx, rbp
call fcn.14005f590
mov rcx, rbp
call fcn.14006206c
test r14, r14
je 0x140057916
mov r14, qword [r14 + 0x10]
test r14, r14
je 0x140057921
mov rbp, qword [r14 + 8]
jmp 0x140057918
xor ebp, ebp
test rbp, rbp
jne 0x140056ef2
mov r14d, dword [rsp + 0xa0]
jmp 0x140057933
mov r14d, dword [rsp + 0xa0]
mov rdx, r13
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x140058402
mov rax, qword [r13]
mov r12d, 1
mov edx, r12d
mov rcx, r13
call qword [rax]
call fcn.140045fd8
cmp qword [rax + 0x78], 0
je 0x140058402
call fcn.140045fd8
lea r9, [rsp + 0x30]
or r8d, 0xffffffff
lea edx, [r12 + 2]
mov rcx, qword [rax + 0x78]
call fcn.14004abcc
test eax, eax
jle 0x140058402
mov r13, qword [rsp + 0x38]
test r13, r13
je 0x14005799a
mov rbx, qword [r13 + 8]
jmp 0x14005799c
xor ebx, ebx
test rbx, rbx
je 0x140058402
mov edi, 0x100
mov ecx, 0x6a8
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x1400579ce
mov rcx, rax
call fcn.14005f6d0
mov rbp, rax
jmp 0x1400579d0
xor ebp, ebp
mov rax, qword [rbp]
mov rdx, rbx
mov rcx, rbp
call qword [rax + 0x20]
movzx r11d, byte [rbx + 0x24]
mov dword [rbp + 0x51c], r11d
movzx eax, byte [rbx + 0x25]
mov dword [rbp + 0x520], eax
movzx eax, byte [rbx + 0x26]
mov dword [rbp + 0x524], eax
mov rax, qword [rbx + 0x28]
movzx eax, word [rax + 8]
mov dword [rbp + 0x528], eax
mov rax, qword [rbx + 0x28]
movzx eax, word [rax + 0xa]
mov dword [rbp + 0x52c], eax
cmp qword [rbx + 0x30], 0
je 0x140057a30
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
movzx r11d, ax
jmp 0x140057a34
or r11d, 0xffffffff
movzx eax, r11w
mov dword [rbp + 0x534], eax
cmp qword [rbx + 0x30], 0
je 0x140057a55
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x18]
movzx r11d, ax
jmp 0x140057a59
or r11d, 0xffffffff
movzx eax, r11w
mov dword [rbp + 0x538], eax
mov ecx, dword [rbp + 0x528]
mov eax, 0x12d2
cmp ecx, eax
jg 0x1400580a5
cmp ecx, eax
je 0x14005801f
sub ecx, 0x1002
je 0x14005800d
sub ecx, 0x11
je 0x140057e3e
sub ecx, 0x18
je 0x140057ca8
sub ecx, 0xb3
je 0x140057c96
sub ecx, 0xc
je 0x140057bb7
cmp ecx, 0x130
jne 0x1400583c8
mov dword [rbp + 0x4c0], 0x81000000
lea r8, str.3Dfx_Graphics_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, r12d
je 0x140057b9f
sub eax, r12d
je 0x140057b87
sub eax, r12d
je 0x140057b6f
sub eax, r12d
je 0x140057b57
sub eax, r12d
je 0x140057b3f
sub eax, 4
je 0x140057b27
cmp eax, 0x4e
jne 0x1400583c8
lea r8, str.3Dfx_Voodoo_3000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.3Dfx_Voodoo_4_5
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.3Dfx_Voodoo_3
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.3Dfx_Banshee
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.3Dfx_Banshee
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.3Dfx_Voodoo_2
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.3Dfx_Voodoo
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x20000000
lea r8, str.Intergraphics_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, 0x2000
je 0x140057c7e
sub eax, 0x10
je 0x140057c66
sub eax, 0x2ff0
je 0x140057c4e
sub eax, 0x50
je 0x140057c36
sub eax, 0x1b2
je 0x140057c1e
cmp eax, 0x50
jne 0x1400583c8
lea r8, str.Intergraphics_CyberPro_5252
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Intergraphics_CyberPro_5202
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Intergraphics_CyberPro_5050
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Intergraphics_CyberPro_5000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Intergraphics_CyberPro_2000A
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Intergraphics_CyberPro_2000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x1000000
mov r15d, r12d
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x8000000
lea r8, str.Matrox_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov r11d, dword [rbp + 0x52c]
mov eax, 0x51f
cmp r11d, eax
jg 0x140057d74
cmp r11d, eax
je 0x140057d5c
sub r11d, 0x519
je 0x140057d44
sub r11d, r12d
je 0x140057d2c
sub r11d, r12d
je 0x140057d14
cmp r11d, 3
jne 0x1400583c8
lea r8, str.Matrox_MGA_1064SG_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Matrox_MGA_2164W_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Matrox_MGA_1064SG_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Matrox_MGA_2064W_PCI
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Matrox_MGA_2164W_AGP
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
cmp r11d, 0x520
jl 0x1400583c8
cmp r11d, 0x521
jle 0x140057e26
cmp r11d, 0x525
je 0x140057dea
cmp r11d, 0xfff
jle 0x1400583c8
cmp r11d, 0x1001
jle 0x140057dd2
cmp r11d, 0x2527
jne 0x1400583c8
lea r8, str.Matrox_G550
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Matrox_G100
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
cmp dword [rbp + 0x530], 0x80
jl 0x140057e0e
lea r8, str.Matrox_G450
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Matrox_G400
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Matrox_G200
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x82000000
lea r8, str.Cirrus_Logic_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov r11d, dword [rbp + 0x52c]
mov eax, 0xb8
cmp r11d, eax
jg 0x140057f50
cmp r11d, eax
je 0x140057f38
sub r11d, 0xa0
je 0x140057f20
sub r11d, 2
je 0x140057f08
sub r11d, 2
je 0x140057ef0
sub r11d, 4
je 0x140057ed8
sub r11d, 4
je 0x140057ec0
cmp r11d, 4
jne 0x1400583c8
lea r8, str.CL_GD5440
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5436
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5434_8
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5434_4
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5432
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5430
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5446
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
sub r11d, 0xbc
je 0x140057ff5
sub r11d, 0x14
je 0x140057fdd
sub r11d, 2
je 0x140057fc5
sub r11d, 2
je 0x140057fad
sub r11d, r12d
je 0x140057f95
cmp r11d, r12d
jne 0x1400583c8
lea r8, str.CL_GD5465
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5464
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5464
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5462
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5462
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.CL_GD5480
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x2000000
mov r14d, r12d
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x1000000
lea r8, str.NVIDIA___SGS_Thomson_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov r11d, dword [rbp + 0x52c]
cmp r11d, 8
je 0x140058067
cmp r11d, 0x18
jne 0x14005807d
lea rcx, [rbp + 0x220]
lea r8, [0x1401d6bf0]
mov rdx, rdi
call fcn.140044464
jmp 0x14005807d
lea rcx, [rbp + 0x220]
lea r8, [0x1401d6bec]
mov rdx, rdi
call fcn.140044464
cmp dword [rbp + 0x534], 0x10b4
jne 0x1400583c8
lea r8, str.STB_Velocity_128
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
cmp ecx, 0x18ca
je 0x140058325
cmp ecx, 0x1d17
je 0x1400582a3
cmp ecx, 0x1ed5
je 0x140058135
cmp ecx, 0x5333
je 0x1400580f0
cmp ecx, 0x8086
jne 0x1400583c8
mov dword [rbp + 0x4c0], 0x4000000
mov dword [rsp + 0xa8], r12d
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x80000000
lea r8, str.S3_Graphics_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
cmp dword [rbp + 0x52c], 0x8811
jne 0x1400583c8
lea r8, str.S3_Trio_32_64_64V
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x87000000
lea r8, str.Moore_Threads_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov r11d, dword [rbp + 0x52c]
mov eax, 0x202
cmp r11d, eax
jg 0x140058222
cmp r11d, eax
je 0x14005820a
sub r11d, edi
je 0x1400581f2
sub r11d, r12d
je 0x1400581da
sub r11d, r12d
je 0x1400581c2
sub r11d, 3
je 0x1400581aa
cmp r11d, 0xfc
jne 0x1400583c8
lea r8, str.MTT_S80
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S50
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S30
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S10
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S10
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S70
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
sub r11d, 0x203
je 0x14005828b
sub r11d, 0xfd
je 0x140058273
sub r11d, r12d
je 0x14005825b
cmp r11d, 0x22
jne 0x1400583c8
lea r8, str.MTT_S4000
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S90
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S90_ES
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.MTT_S60
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x40000000
lea r8, str.Zhaoxin_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, 0x3a02
je 0x14005830d
sub eax, r12d
je 0x1400582f5
cmp eax, 0x2fe
jne 0x1400583c8
lea r8, str.Zhaoxin_C_1080
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Zhaoxin_C_860
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Zhaoxin_C_320
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
mov dword [rbp + 0x4c0], 0x84000000
lea r8, str.XGI_Adapter
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov eax, dword [rbp + 0x52c]
sub eax, 0x20
je 0x1400583b5
sub eax, r12d
je 0x1400583a0
sub eax, 6
je 0x14005838b
sub eax, 0x19
je 0x140058376
cmp eax, 7
jne 0x1400583c8
lea r8, str.Volari_8300
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Volari_V3XT_V5_V8
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Volari_Z11_Z11m
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Volari_Z9s_Z9m
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
jmp 0x1400583c8
lea r8, str.Volari_Z7_Z9
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140044464
mov rcx, rbp
call fcn.14005f590
mov rcx, rbp
call fcn.14006206c
mov rdx, rbp
mov rcx, rsi
call fcn.14005622c
test r13, r13
je 0x1400583f7
mov r13, qword [r13 + 0x10]
test r13, r13
je 0x140058402
mov rbx, qword [r13 + 8]
jmp 0x1400583f9
xor ebx, ebx
test rbx, rbx
jne 0x1400579aa
mov edi, 0x118
mov rcx, rdi
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14005842c
mov rdx, rsi
mov rcx, rax
call fcn.14009a880
mov rbx, rax
jmp 0x14005842e
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x140058449
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x140058454
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
test r15d, r15d
je 0x140058552
mov rcx, rdi
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x140058482
mov rdx, rsi
mov rcx, rax
call fcn.140080838
mov rbx, rax
jmp 0x140058484
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x14005849f
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x1400584aa
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
test byte [rsi + 0x28], r12b
je 0x140058552
mov ecx, 0x390
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x1400584db
mov rdx, rsi
mov rcx, rax
call fcn.140099ee0
mov rbx, rax
jmp 0x1400584dd
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x1400584f8
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x140058503
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
mov ecx, 0x8e0
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14005852a
mov rdx, rsi
mov rcx, rax
call fcn.140047bfc
mov rbx, rax
jmp 0x14005852c
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x140058547
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x140058552
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
test r14d, r14d
je 0x1400585fd
mov rcx, rdi
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x140058580
mov rdx, rsi
mov rcx, rax
call fcn.140095704
mov rbx, rax
jmp 0x140058582
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x14005859d
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x1400585a8
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
test byte [rsi + 0x28], r12b
je 0x1400585fd
mov ecx, 0x1db0
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x1400585d5
mov rdx, rsi
mov rcx, rax
call fcn.140092ab0
mov rbx, rax
jmp 0x1400585d7
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x1400585f2
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x1400585fd
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
cmp dword [rsp + 0xa8], 0
je 0x140058702
mov ecx, 0x120
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x140058632
mov rdx, rsi
mov rcx, rax
call fcn.140091804
mov rbx, rax
jmp 0x140058634
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x14005864f
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x14005865a
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
test byte [rsi + 0x28], r12b
je 0x140058702
mov ecx, 0x220
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14005868b
mov rdx, rsi
mov rcx, rax
call fcn.140090230
mov rbx, rax
jmp 0x14005868d
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x1400586a8
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x1400586b3
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
mov ecx, 0x318
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x1400586da
mov rdx, rsi
mov rcx, rax
call fcn.14008ed58
mov rbx, rax
jmp 0x1400586dc
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x1400586f7
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x140058702
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
cmp dword [rsp + 0xb0], 0
je 0x140058759
mov rcx, rdi
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x140058731
mov rdx, rsi
mov rcx, rax
call fcn.14008eba8
mov rbx, rax
jmp 0x140058733
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x14005874e
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x140058759
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [rax]
cmp dword [rsp + 0xb8], 0
je 0x1400587b3
mov ecx, 0x120
call fcn.14013f12c
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14005878a
mov rdx, rsi
mov rcx, rax
call fcn.14008d94c
mov rbx, rax
jmp 0x14005878c
xor ebx, ebx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x1400587a7
mov rdx, rbx
mov rcx, qword [rsi + 0x20]
call fcn.140055fb0
jmp 0x1400587b3
mov r8, qword [rbx]
mov edx, r12d
mov rcx, rbx
call qword [r8]
mov rcx, rsi
call fcn.140056b80
mov rcx, rsi
call fcn.140056558
nop
lea rax, vtable.CTList_class_CDevice_.0
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.140002b70
mov eax, r12d
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret