Function at 0x1007dfb0
Capabilities:
Enumerate pe sections
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101748fb
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10206870]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov dword [esp + 0x18], ecx
xor ebx, ebx
mov dword [esp + 0x38], vtable.CTList_class_CDevice_.0
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], ebx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
cmp eax, ebx
je 0x1007e080
mov ebp, dword [eax + 4]
cmp ebp, ebx
je 0x1007e080
mov edi, dword [ebp + 4]
cmp edi, ebx
je 0x1007e080
call fcn.1013c470
mov esi, dword [eax + 0x30]
mov ecx, dword [esi + 4]
xor eax, eax
cmp ecx, ebx
je 0x1007e06c
cmp dword [ecx + 4], edi
je 0x1007e048
mov eax, ecx
mov ecx, dword [ecx + 8]
cmp ecx, ebx
je 0x1007e06c
mov edx, dword [ecx + 8]
mov dword [esp + 0x14], edx
jmp 0x1007e031
push 1
cmp eax, ebx
je 0x1007e05d
mov edx, dword [esp + 0x18]
mov dword [eax + 8], edx
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
jmp 0x1007e069
mov eax, dword [ecx + 8]
mov dword [esi + 4], eax
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
dec dword [esi + 8]
cmp ebp, ebx
je 0x1007e080
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x1007e080
mov edi, dword [eax + 4]
mov ebp, eax
cmp edi, ebx
jne 0x1007e020
mov edi, dword [esp + 0x18]
mov ebx, dword [edi + 0xc]
call fcn.10004650
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1007e0ba
mov esi, dword [eax + 4]
test esi, esi
je 0x1007e0ba
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1007e0ba
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
test esi, esi
je 0x1007e0ba
mov esi, dword [esi + 8]
test esi, esi
je 0x1007e0ba
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x1007e0a1
mov ebx, dword [edi + 0x10]
call fcn.10004650
push 0x110
call fcn.1003ddbb
mov esi, eax
add esp, 4
test esi, esi
je 0x1007e10a
push 0x101c6c30
lea eax, [esi + 4]
push 0x100
push eax
mov byte [eax], 0
mov dword [esi + 0x104], 0x60000
mov dword [esi + 0x108], edi
mov dword [esi], vtable.CDisplayAPI_D3D.0
call fcn.1013b440
add esp, 0xc
mov dword [esp + 0x14], esi
jmp 0x1007e116
mov dword [esp + 0x14], 0
mov esi, dword [esp + 0x14]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007eb90
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1007eb7e
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
test eax, eax
je 0x1007eb7e
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x1007eb7e
mov ebp, 0x82000000
mov edi, eax
mov eax, dword [ebx + 0x460]
mov esi, dword [ebx + 0x3d4]
test eax, eax
je 0x1007e18d
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1007e18d
mov eax, dword [ecx + 4]
test eax, eax
je 0x1007e18d
mov edx, dword [esp + 0x14]
cmp dword [eax], edx
je 0x1007e1bf
test ecx, ecx
je 0x1007e18d
mov eax, dword [ecx + 8]
test eax, eax
je 0x1007e18d
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x1007e175
push 8
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007e1a4
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
jmp 0x1007e1a6
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov edi, dword [ebx + 0x460]
push eax
call fcn.10003080
mov edi, dword [esp + 0x34]
call fcn.100e35a0
mov eax, dword [ebx + 0x3f8]
cmp eax, 0x18ca
jg 0x1007e868
je 0x1007e7b0
cmp eax, 0x10de
jg 0x1007e561
je 0x1007e54a
sub eax, 0x1002
je 0x1007e533
sub eax, 0x11
je 0x1007e3bd
sub eax, 0x18
jne case.0x1007e8db.259
push 0x101a5fe4
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], 0x8000000
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
add esp, 0xc
cmp eax, 0x525
jg 0x1007e339
je 0x1007e2fd
sub eax, 0x519
cmp eax, 8
ja case.0x1007e8db.259
jmp dword [eax*4 + 0x1007f6c0]
push 0x101a5ff4
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a600c
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6024
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a603c
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6054
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push str.Matrox_G200_PCI
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push str.Matrox_G200_AGP
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
cmp dword [ebx + 0x400], 0x80
jl 0x1007e321
push str.Matrox_G450_AGP
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push str.Matrox_G400_AGP
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
cmp eax, 0x2527
jg 0x1007e39a
je 0x1007e382
sub eax, 0x1000
je 0x1007e36a
sub eax, 1
jne case.0x1007e8db.259
push str.Matrox_G100_AGP
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push str.Matrox_G100_PCI
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push str.Matrox_G550_AGP
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
cmp eax, 0x2537
jne case.0x1007e8db.259
push str.Matrox_P650
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6198
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], ebp
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
add eax, 0xffffff60
add esp, 0xc
cmp eax, 0x36
ja case.0x1007e8db.259
movzx edx, byte [eax + 0x1007f71c]
jmp dword [edx*4 + 0x1007f6e4]
push 0x101a61b0
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a61bc
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a61c8
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a61d4
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a61e0
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a61ec
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a61f8
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6204
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6210
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a621c
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6228
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6234
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6240
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
mov dword [ebx + 0x390], 0x2000000
mov dword [esp + 0x20], 1
jmp case.0x1007e8db.259
mov dword [ebx + 0x390], 0x1000000
mov dword [esp + 0x1c], 1
jmp case.0x1007e8db.259
sub eax, 0x10ea
je 0x1007e6ca
sub eax, 0x21
je 0x1007e666
sub eax, 0x10f
jne case.0x1007e8db.259
push 0x101a6110
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], 0x81000000
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
dec eax
add esp, 0xc
cmp eax, 0x56
ja case.0x1007e8db.259
movzx eax, byte [eax + 0x1007f774]
jmp dword [eax*4 + 0x1007f754]
push 0x101a6128
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6134
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6144
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6154
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6164
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6174
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6184
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push str.Chromatic_Research_Adapter
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], 0x85000000
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
add esp, 0xc
sub eax, 1
je 0x1007e6b2
sub eax, 3
jne case.0x1007e8db.259
push str.Mpact_2
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push str.Mpact_Media
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5ee0
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], 0x20000000
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
add esp, 0xc
cmp eax, 0x5050
jg 0x1007e770
je 0x1007e758
sub eax, 0x2000
je 0x1007e740
sub eax, 0x10
je 0x1007e728
sub eax, 0x2ff0
jne case.0x1007e8db.259
push 0x101a5f34
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5f14
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5ef8
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5f50
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
sub eax, 0x5202
je 0x1007e798
sub eax, 0x50
jne case.0x1007e8db.259
push 0x101a5f88
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5f6c
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a624c
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], 0x84000000
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
add eax, 0xffffffe0
add esp, 0xc
cmp eax, 0x27
ja case.0x1007e8db.259
movzx ecx, byte [eax + 0x1007f7e4]
jmp dword [ecx*4 + 0x1007f7cc]
push 0x101a6258
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6268
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6278
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6288
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a629c
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
cmp eax, 0x5333
jg 0x1007ead5
je 0x1007ea94
cmp eax, 0x1a03
je 0x1007ea80
cmp eax, 0x1d17
je 0x1007e9fb
cmp eax, 0x1ed5
jne case.0x1007e8db.259
push 0x101a62d8
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], 0x87000000
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
add esp, 0xc
cmp eax, 0x201
jg 0x1007e95a
je 0x1007e942
sub eax, 0x100
cmp eax, 5
ja case.0x1007e8db.259
jmp dword [eax*4 + 0x1007f80c]
push 0x101a6328
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6330
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6338
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6340
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6310
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
cmp eax, 0x300
jg 0x1007e9bb
je 0x1007e9a3
sub eax, 0x202
je 0x1007e98b
sub eax, 1
jne case.0x1007e8db.259
push 0x101a6320
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6318
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a62fc
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
sub eax, 0x301
je 0x1007e9e3
sub eax, 0x22
jne case.0x1007e8db.259
push 0x101a62f0
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a6308
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5fa4
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], 0x40000000
call fcn.1013b440
mov eax, dword [ebx + 0x3fc]
add esp, 0xc
sub eax, 0x3a02
je 0x1007ea68
sub eax, 1
je 0x1007ea50
sub eax, 0x2fe
jne case.0x1007e8db.259
push 0x101a5fd4
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5fc4
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
push 0x101a5fb4
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
mov dword [ebx + 0x390], 0x10000000
mov dword [esp + 0x28], 1
jmp case.0x1007e8db.259
push 0x101a60e8
lea esi, [ebx + 0x10]
push 0x100
push esi
mov dword [ebx + 0x390], VariantClear
call fcn.1013b440
add esp, 0xc
cmp dword [ebx + 0x3fc], 0x8811
jne case.0x1007e8db.259
push 0x101a60fc
push 0x100
push esi
call fcn.1013b440
add esp, 0xc
jmp case.0x1007e8db.259
cmp eax, 0x6766
je 0x1007eaf7
cmp eax, 0x8086
jne case.0x1007e8db.259
mov dword [ebx + 0x390], 0x4000000
mov dword [esp + 0x24], 1
jmp case.0x1007e8db.259
mov dword [ebx + 0x390], 0x86000000
mov dword [esp + 0x2c], 1
mov eax, dword [ebx + 0x404]
test eax, eax
je 0x1007eb58
cmp eax, 0xffff
je 0x1007eb58
mov edx, dword [ebx + 0x408]
push edx
push eax
push str.0x_04X__0x_04X_
lea esi, [ebx + 0x290]
push 0x80
push esi
call fcn.1003de20
add esp, 0x14
call fcn.1013c470
cmp dword [eax + 0x3c], 0
je 0x1007eb58
call fcn.1013c470
mov eax, dword [ebx + 0x404]
mov ecx, esi
call fcn.10073850
push ebx
call fcn.100e4020
test edi, edi
je 0x1007eb7a
mov eax, dword [edi + 8]
test eax, eax
je 0x1007eb7a
mov ebx, dword [eax + 4]
mov edi, eax
mov dword [esp + 0x34], edi
test ebx, ebx
jne 0x1007e153
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
push esi
call fcn.10006340
jmp 0x1007f29e
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
call fcn.1013c470
cmp dword [eax + 0x3c], 0
je 0x1007f29e
call fcn.1013c470
mov eax, dword [eax + 0x3c]
lea ecx, [esp + 0x38]
push ecx
push 0xffffffffffffffff
push 3
mov ecx, eax
call fcn.100747f0
test eax, eax
jle 0x1007f29e
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
test eax, eax
je 0x1007f29e
mov edi, dword [eax + 4]
test edi, edi
je 0x1007f29e
mov ebp, dword [esp + 0x18]
jmp 0x1007ebf0
push 0x548
call fcn.1003ddbb
add esp, 4
mov dword [esp + 0x14], eax
mov ebx, 1
mov byte [esp + 0x50], bl
test eax, eax
je 0x1007ec18
push eax
call fcn.100e42f0
mov esi, eax
jmp 0x1007ec1a
xor esi, esi
mov byte [esp + 0x50], 0
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push edi
mov ecx, esi
call eax
movzx ecx, byte [edi + 0x14]
mov dword [esi + 0x3ec], ecx
movzx edx, byte [edi + 0x15]
mov dword [esi + 0x3f0], edx
movzx eax, byte [edi + 0x16]
mov dword [esi + 0x3f4], eax
mov ecx, dword [edi + 0x18]
movzx eax, word [ecx + 4]
movzx edx, ax
mov dword [esi + 0x3f8], edx
mov eax, dword [edi + 0x18]
movzx eax, word [eax + 6]
movzx ecx, ax
mov dword [esi + 0x3fc], ecx
cmp dword [edi + 0x1c], 0
je 0x1007ec7c
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
movzx eax, ax
jmp 0x1007ec7f
or eax, 0xffffffff
movzx ecx, ax
mov dword [esi + 0x404], ecx
cmp dword [edi + 0x1c], 0
je 0x1007ec9d
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
movzx eax, ax
jmp 0x1007eca0
or eax, 0xffffffff
movzx ecx, ax
mov eax, dword [esi + 0x3f8]
cmp eax, 0x12d2
mov dword [esi + 0x408], ecx
jg 0x1007f04b
je 0x1007efd5
cmp eax, 0x10de
jg 0x1007eea9
je 0x1007ee96
sub eax, 0x1002
je 0x1007ee83
sub eax, 0x11
je 0x1007edbf
sub eax, 0x18
jne case.0x1007f177.259
push str.Matrox_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x8000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
add esp, 0xc
cmp eax, 0x525
jg 0x1007ed8e
je 0x1007ed6e
sub eax, 0x519
cmp eax, 8
ja case.0x1007f177.259
jmp dword [eax*4 + 0x1007f824]
push str.Matrox_MGA_2064W_PCI
jmp 0x1007f246
push str.Matrox_MGA_1064SG_PCI
jmp 0x1007f246
push str.Matrox_MGA_2164W_PCI
jmp 0x1007f246
push str.Matrox_MGA_1064SG_AGP
jmp 0x1007f246
push str.Matrox_MGA_2164W_AGP
jmp 0x1007f246
push str.Matrox_G200
jmp 0x1007f246
cmp dword [esi + 0x400], 0x80
jl 0x1007ed84
push str.Matrox_G450
jmp 0x1007f246
push str.Matrox_G400
jmp 0x1007f246
cmp eax, 0x1000
jl case.0x1007f177.259
cmp eax, 0x1001
jle 0x1007edb5
cmp eax, 0x2527
jne case.0x1007f177.259
push str.Matrox_G550
jmp 0x1007f246
push str.Matrox_G100
jmp 0x1007f246
push str.Cirrus_Logic_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x82000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
add eax, 0xffffff60
add esp, 0xc
cmp eax, 0x36
ja case.0x1007f177.259
movzx edx, byte [eax + 0x1007f880]
jmp dword [edx*4 + 0x1007f848]
push str.CL_GD5430
jmp 0x1007f246
push str.CL_GD5432
jmp 0x1007f246
push str.CL_GD5434_4
jmp 0x1007f246
push str.CL_GD5434_8
jmp 0x1007f246
push str.CL_GD5436
jmp 0x1007f246
push str.CL_GD5440
jmp 0x1007f246
push str.CL_GD5446
jmp 0x1007f246
push str.CL_GD5480
jmp 0x1007f246
push 0x101a6638
jmp 0x1007f246
push str.CL_GD5462
jmp 0x1007f246
push 0x101a6650
jmp 0x1007f246
push str.CL_GD5464
jmp 0x1007f246
push str.CL_GD5465
jmp 0x1007f246
mov dword [esi + 0x390], 0x2000000
mov dword [esp + 0x20], ebx
jmp case.0x1007f177.259
mov dword [esi + 0x390], 0x1000000
mov dword [esp + 0x1c], ebx
jmp case.0x1007f177.259
cmp eax, 0x10ea
je 0x1007ef43
cmp eax, 0x121a
jne case.0x1007f177.259
push str.3Dfx_Graphics_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x81000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
dec eax
add esp, 0xc
cmp eax, 0x56
ja case.0x1007f177.259
movzx eax, byte [eax + 0x1007f8d8]
jmp dword [eax*4 + 0x1007f8b8]
push str.3Dfx_Voodoo
jmp 0x1007f246
push str.3Dfx_Voodoo_2
jmp 0x1007f246
push 0x101a656c
jmp 0x1007f246
push str.3Dfx_Banshee
jmp 0x1007f246
push str.3Dfx_Voodoo_3
jmp 0x1007f246
push str.3Dfx_Voodoo_4_5
jmp 0x1007f246
push str.3Dfx_Voodoo_3000
jmp 0x1007f246
push str.Intergraphics_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x20000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
add esp, 0xc
cmp eax, 0x5050
jg 0x1007efb1
je 0x1007efa7
sub eax, 0x2000
je 0x1007ef9d
sub eax, 0x10
je 0x1007ef93
sub eax, 0x2ff0
jne case.0x1007f177.259
push str.Intergraphics_CyberPro_5000
jmp 0x1007f246
push str.Intergraphics_CyberPro_2000A
jmp 0x1007f246
push str.Intergraphics_CyberPro_2000
jmp 0x1007f246
push str.Intergraphics_CyberPro_5050
jmp 0x1007f246
sub eax, 0x5202
je 0x1007efcb
sub eax, 0x50
jne case.0x1007f177.259
push str.Intergraphics_CyberPro_5252
jmp 0x1007f246
push str.Intergraphics_CyberPro_5202
jmp 0x1007f246
push str.NVIDIA___SGS_Thomson_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x1000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
add esp, 0xc
cmp eax, 8
je 0x1007f018
cmp eax, 0x18
jne 0x1007f031
push 0x101a66f4
push 0x80
lea ecx, [esi + 0x210]
push ecx
jmp 0x1007f029
push 0x101a66f0
push 0x80
lea edx, [esi + 0x210]
push edx
call fcn.1013b440
add esp, 0xc
cmp dword [esi + 0x404], 0x10b4
jne case.0x1007f177.259
push str.STB_Velocity_128
jmp 0x1007f246
cmp eax, 0x1ed5
jg 0x1007f1f7
je 0x1007f13a
cmp eax, 0x18ca
je 0x1007f0c8
cmp eax, 0x1d17
jne case.0x1007f177.259
push str.Zhaoxin_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x40000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
add esp, 0xc
sub eax, 0x3a02
je 0x1007f0be
sub eax, ebx
je 0x1007f0b4
sub eax, 0x2fe
jne case.0x1007f177.259
push str.Zhaoxin_C_1080
jmp 0x1007f246
push str.Zhaoxin_C_860
jmp 0x1007f246
push str.Zhaoxin_C_320
jmp 0x1007f246
push str.XGI_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x84000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
add eax, 0xffffffe0
add esp, 0xc
cmp eax, 0x27
ja case.0x1007f177.259
movzx eax, byte [eax + 0x1007f948]
jmp dword [eax*4 + 0x1007f930]
push str.Volari_Z7_Z9
jmp 0x1007f246
push str.Volari_Z9s_Z9m
jmp 0x1007f246
push str.Volari_Z11_Z11m
jmp 0x1007f246
push str.Volari_V3XT_V5_V8
jmp 0x1007f246
push str.Volari_8300
jmp 0x1007f246
push str.Moore_Threads_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], 0x87000000
call fcn.1013b440
mov eax, dword [esi + 0x3fc]
add esp, 0xc
cmp eax, 0x201
jg 0x1007f1b0
je 0x1007f1a6
sub eax, 0x100
cmp eax, 5
ja case.0x1007f177.259
jmp dword [eax*4 + 0x1007f970]
push str.MTT_S50
jmp 0x1007f246
push str.MTT_S30
jmp 0x1007f246
push 0x101a676c
jmp 0x1007f246
push str.MTT_S10
jmp 0x1007f246
push str.MTT_S80
jmp 0x1007f246
cmp eax, 0x300
jg 0x1007f1dd
je 0x1007f1d6
sub eax, 0x202
je 0x1007f1cf
sub eax, ebx
jne case.0x1007f177.259
push str.MTT_S60
jmp 0x1007f246
push str.MTT_S70
jmp 0x1007f246
push str.MTT_S90_ES
jmp 0x1007f246
sub eax, 0x301
je 0x1007f1f0
sub eax, 0x22
jne case.0x1007f177.259
push str.MTT_S4000
jmp 0x1007f246
push str.MTT_S90
jmp 0x1007f246
cmp eax, 0x5333
je 0x1007f215
cmp eax, 0x8086
jne case.0x1007f177.259
mov dword [esi + 0x390], 0x4000000
mov dword [esp + 0x24], ebx
jmp case.0x1007f177.259
push str.S3_Graphics_Adapter
lea edi, [esi + 0x10]
push 0x100
push edi
mov dword [esi + 0x390], VariantClear
call fcn.1013b440
add esp, 0xc
cmp dword [esi + 0x3fc], 0x8811
jne case.0x1007f177.259
push str.S3_Trio_32_64_64V
push 0x100
push edi
call fcn.1013b440
add esp, 0xc
call fcn.100e36b0
push esi
call fcn.100e4020
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x388], eax
mov ecx, dword [ebp + 0xc]
push esi
call fcn.100014e0
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x30]
push esi
call fcn.100014e0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1007f29e
mov eax, dword [eax + 8]
test eax, eax
je 0x1007f29e
mov edi, dword [eax + 4]
mov dword [esp + 0x34], eax
test edi, edi
jne 0x1007ebf0
push 0x10c
call fcn.1003ddbb
mov ebp, dword [esp + 0x1c]
mov esi, eax
add esp, 4
test esi, esi
je 0x1007f2e6
push 0x101c1170
lea eax, [esi + 4]
push 0x100
push eax
mov byte [eax], 0
mov dword [esi + 0x104], 0x80000
mov dword [esi + 0x108], ebp
mov dword [esi], vtable.CDisplayAPI_PDH.0
call fcn.1013b440
add esp, 0xc
jmp 0x1007f2e8
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f300
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f30a
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
cmp dword [esp + 0x1c], 0
je 0x1007f40b
push 0x10c
call fcn.1003ddbb
mov esi, eax
add esp, 4
test esi, esi
je 0x1007f359
push 0x101c20b8
lea eax, [esi + 4]
push 0x100
push eax
mov byte [eax], 0
mov dword [esi + 0x104], 0x20005
mov dword [esi + 0x108], ebp
mov dword [esi], vtable.NVIDIA_DirectIO_DisplayAPI.0
call fcn.1013b440
add esp, 0xc
jmp 0x1007f35b
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f373
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f37d
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
test byte [ebp + 0x14], 1
je 0x1007f40b
push 0x248
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007f3a5
mov ecx, ebp
mov esi, eax
call fcn.100cc780
mov esi, eax
jmp 0x1007f3a7
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f3bf
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f3c9
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
push 0x504
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007f3e7
mov ecx, ebp
mov esi, eax
call fcn.100d2ca0
mov esi, eax
jmp 0x1007f3e9
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f401
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f40b
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
cmp dword [esp + 0x20], 0
je 0x1007f4c6
push 0x10c
call fcn.1003ddbb
mov esi, eax
add esp, 4
test esi, esi
je 0x1007f45a
push 0x101c73b0
lea eax, [esi + 4]
push 0x100
push eax
mov byte [eax], 0
mov dword [esi + 0x104], 0x30007
mov dword [esi + 0x108], ebp
mov dword [esi], vtable.ATI_DirectIO_DisplayAPI.0
call fcn.1013b440
add esp, 0xc
jmp 0x1007f45c
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f474
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f47e
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
test byte [ebp + 0x14], 1
je 0x1007f4c6
push 0x114c
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007f4a2
mov ecx, ebp
mov esi, eax
call fcn.100dfe40
mov esi, eax
jmp 0x1007f4a4
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f4bc
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f4c6
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
cmp dword [esp + 0x24], 0
je 0x1007f5a1
push 0x110
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007f4ef
mov ecx, ebp
mov esi, eax
call fcn.100d7120
mov esi, eax
jmp 0x1007f4f1
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f509
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f513
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
test byte [ebp + 0x14], 1
je 0x1007f5a1
push 0x190
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007f53b
mov ecx, ebp
mov esi, eax
call fcn.100d6500
mov esi, eax
jmp 0x1007f53d
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f555
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f55f
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
push 0x20c
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007f57d
mov ecx, ebp
mov esi, eax
call fcn.100d4fa0
mov esi, eax
jmp 0x1007f57f
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f597
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f5a1
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
cmp dword [esp + 0x28], 0
je 0x1007f610
push 0x10c
call fcn.1003ddbb
mov esi, eax
add esp, 4
test esi, esi
je 0x1007f5ec
push 0x101c87dc
lea eax, [esi + 4]
push 0x100
push eax
mov byte [eax], 0
mov dword [esi + 0x104], 0x50001
mov dword [esi + 0x108], ebp
mov dword [esi], vtable.ASpeed_DirectIO_DisplayAPI.0
call fcn.1013b440
add esp, 0xc
jmp 0x1007f5ee
xor esi, esi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f606
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f610
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
cmp dword [esp + 0x2c], 0
je 0x1007f666
push 0x110
call fcn.1003ddbb
add esp, 4
mov dword [esp + 0x2c], eax
mov byte [esp + 0x50], 2
test eax, eax
je 0x1007f63d
push ebp
mov ebx, eax
call fcn.100d8750
mov esi, eax
jmp 0x1007f63f
xor esi, esi
mov byte [esp + 0x50], 0
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
test eax, eax
je 0x1007f65c
mov edi, dword [ebp + 0x10]
push esi
call fcn.10006340
jmp 0x1007f666
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov eax, dword [ebp + 0xc]
mov esi, 1
cmp dword [eax + 8], esi
jne 0x1007f68b
test eax, eax
je 0x1007f68b
mov eax, dword [eax + 4]
test eax, eax
je 0x1007f68b
mov eax, dword [eax + 4]
test eax, eax
je 0x1007f68b
mov dword [eax + 0x3c8], esi
push ebp
call fcn.1007ddc0
mov eax, ebp
call fcn.1007df70
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 0xffffffff
call fcn.100014a0
mov eax, esi
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret