Function at 0x406e82
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xd8
mov eax, 0x44ac44
call fcn.0041708e
mov edi, edx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x78], ecx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x70]
push 4
call fcn.00412e5e
mov esi, eax
and dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
push 3
push 0x45c294
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x40]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [eax + 4]
cmp esi, eax
mov dword [ebp - 0x84], eax
jmp 0x40706d
lea ecx, [ebp - 0x58]
call fcn.00412e5e
push esi
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 2
call fcn.00401e3a
push 4
push str.Name
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.004131c3
push ebx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x40]
call fcn.00402f70
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.00401eae
lea eax, [esi + 0x18]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 0xc
push str.Manufacturer
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00401eae
push 6
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
mov esi, dword [esi + 0x30]
push str.Family
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 5
push str.Model
mov esi, dword [esi + 0x34]
call fcn.004131c3
push ebx
mov byte [ebp - 4], 0xa
push esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 8
push str.Stepping
mov esi, dword [eax + 0x38]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xb
push str.IsHTEnabled
mov al, byte [esi + 0x3c]
mov byte [ebp - 0x90], al
call fcn.004131c3
push ebx
push dword [ebp - 0x90]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x58]
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402f70
push 0x45c294
mov ecx, edi
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00412cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00402f70
add esi, 0x40
cmp esi, dword [ebp - 0x84]
mov dword [ebp - 0x74], esi
push 3
jne 0x406ec8
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 0x14
push str.ProcessorInformation
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xd
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xe
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
push str.ProcessorInformation
mov ecx, edi
call fcn.00413b3a
mov esi, dword [ebp - 0x78]
lea ecx, [ebp - 0x28]
push 0x11
push str.PhysicalProcCount
mov edi, eax
mov esi, dword [esi + 0xc]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xf
push eax
mov ecx, edi
call fcn.0041461c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402f70
mov ecx, dword [ebp - 0x80]
push str.ProcessorInformation
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x78]
push 9
push str.CoreCount
mov esi, dword [eax + 0x10]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x10
push eax
mov ecx, edi
call fcn.0041461c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402f70
mov ecx, dword [ebp - 0x80]
push str.ProcessorInformation
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x78]
push 0x10
push str.LogicalProcCount
mov esi, dword [eax + 0x14]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x11
push eax
mov ecx, edi
call fcn.0041461c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402f70
push 3
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 0xe
push str.ComputerSystem
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x12
call fcn.004131c3
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x28]
push ebx
push esi
push eax
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
push str.ComputerSystem
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
mov esi, eax
add ecx, 0x18
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 4
push str.Name
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x14
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x16
call fcn.00401eae
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push str.ComputerSystem
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
mov esi, eax
add ecx, 0x30
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 7
push str.Caption
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x17
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x19
call fcn.00401eae
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push str.ComputerSystem
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
mov esi, eax
add ecx, 0x48
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 6
push str.Vendor
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x1a
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x1c
call fcn.00401eae
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push str.ComputerSystem
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x78]
push 9
push str.IsOptimus
mov cl, byte [eax + 0x60]
mov byte [ebp - 0x84], cl
lea ecx, [ebp - 0x28]
call fcn.004131c3
push ebx
push dword [ebp - 0x84]
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x1d
push eax
mov ecx, esi
call fcn.00414651
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402f70
push 3
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 0xb
push str.Motherboard
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x1e
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x1f
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
push str.Motherboard
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
mov esi, eax
add ecx, 0x64
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 6
push str.Vendor
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x20
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x22
call fcn.00401eae
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push str.Motherboard
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
mov esi, eax
add ecx, 0x7c
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 5
push str.Model
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x23
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x25
call fcn.00401eae
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push str.Motherboard
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
mov esi, eax
add ecx, 0x94
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 4
push str.Type
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x26
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x28
call fcn.00401eae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
push 4
call fcn.00412e5e
mov esi, eax
push 3
push 0x45c364
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x29
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2a
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
mov eax, dword [ebp - 0x78]
mov esi, dword [eax + 0xac]
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0x84], eax
cmp esi, eax
je 0x40763f
push 3
lea ecx, [ebp - 0x40]
call fcn.00412e5e
push esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0x2b
call fcn.00401e3a
push 5
push str.Model
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2c
call fcn.004131c3
push ebx
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2e
call fcn.00401eae
lea eax, [esi + 0x18]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x58]
call fcn.00401e3a
push 0x10
push str.FirmwareRevision
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2f
call fcn.004131c3
push ebx
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x31
call fcn.00401eae
lea eax, [esi + 0x30]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x58]
call fcn.00401e3a
push 9
push str.MediaType
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x32
call fcn.004131c3
push ebx
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x34
call fcn.00401eae
push 0x45c364
mov ecx, edi
mov byte [ebp - 4], 0x2b
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00412cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00402f70
add esi, 0x48
cmp esi, dword [ebp - 0x84]
jne 0x40751a
push 3
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 8
push str.NVDriver
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x35
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x36
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
push str.NVDriver
mov ecx, edi
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x78]
push 7
push str.Version
mov esi, dword [eax + 0xb8]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x37
push eax
mov ecx, edi
call fcn.0041461c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402f70
mov edi, dword [ebp - 0x80]
mov ecx, edi
push str.NVDriver
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
mov esi, eax
add ecx, 0xbc
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 6
push str.Branch
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x38
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x39
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x3a
call fcn.00401eae
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push str.NVDriver
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x78]
mov cl, byte [eax + 0xd4]
push 5
mov byte [ebp - 0x84], cl
lea ecx, [ebp - 0x28]
push str.IsDCH
call fcn.004131c3
push ebx
push dword [ebp - 0x84]
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x3b
push eax
mov ecx, esi
call fcn.00414651
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402f70
push str.NVDriver
mov ecx, edi
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x78]
push 5
push str.IsCRD
mov cl, byte [eax + 0xd5]
mov byte [ebp - 0x84], cl
lea ecx, [ebp - 0x28]
call fcn.004131c3
push ebx
push dword [ebp - 0x84]
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x3c
push eax
mov ecx, esi
call fcn.00414651
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402f70
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 0xd
push str.DisplayDevice
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x3d
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x3e
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
mov eax, dword [ebp - 0x78]
mov esi, dword [eax + 0xd8]
mov eax, dword [eax + 0xdc]
cmp esi, eax
mov dword [ebp - 0x9c], eax
jmp 0x407de0
push 3
lea ecx, [ebp - 0x58]
call fcn.00412e5e
push esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x3f
call fcn.00401e3a
push 0xb
push str.Description
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x40
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x41
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x42
call fcn.00401eae
lea eax, [esi + 0x18]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 0xc
push str.FullDeviceId
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x43
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x44
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x45
call fcn.00401eae
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x28]
mov al, byte [esi + 0x30]
push 0xa
push str.IsNVDriver
mov byte [ebp - 0x84], al
call fcn.004131c3
push ebx
push dword [ebp - 0x84]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [ebp - 0x58]
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
lea eax, [esi + 0x34]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 4
mov byte [ebp - 4], 0x47
push str.Name
lea ecx, [ebp - 0x28]
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x48
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x49
call fcn.00401eae
push 8
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x28]
mov esi, dword [esi + 0x4c]
push str.VendorId
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
mov edi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 8
push str.DeviceId
mov esi, dword [edi + 0x50]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
mov esi, dword [edi + 0x54]
lea ecx, [ebp - 0x28]
push 9
push str.Subsystem
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4c
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
mov esi, dword [edi + 0x58]
lea ecx, [ebp - 0x28]
push 8
push str.Revision
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x28]
call fcn.00402f70
push 3
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 7
push str.Monitor
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4e
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0x58]
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push str.Monitor
lea ecx, [ebp - 0x58]
call fcn.00413b3a
lea ecx, [edi + 0x5c]
mov esi, eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 6
push str.Status
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x50
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x51
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x52
call fcn.00401eae
push str.Monitor
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3f
call fcn.00413b3a
lea ecx, [edi + 0x74]
mov esi, eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 0x11
push str.DeviceDescription
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x53
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x54
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x55
call fcn.00401eae
push str.Monitor
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3f
call fcn.00413b3a
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 6
push str.Height
mov edi, eax
mov esi, dword [esi + 0x8c]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x56
push eax
mov ecx, edi
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push str.Monitor
lea ecx, [ebp - 0x58]
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x74]
push 5
push str.Width
mov esi, dword [eax + 0x90]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x57
push eax
mov ecx, edi
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push str.Monitor
lea ecx, [ebp - 0x58]
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x74]
push 9
push str.XPosition
mov esi, dword [eax + 0x94]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x58
push eax
mov ecx, edi
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push str.Monitor
lea ecx, [ebp - 0x58]
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x74]
push 9
push str.YPosition
mov esi, dword [eax + 0x98]
call fcn.004131c3
push ebx
mov byte [ebp - 4], 0x59
push esi
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push str.Monitor
lea ecx, [ebp - 0x58]
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x74]
push 0xc
push str.BitsPerPixel
mov esi, dword [eax + 0x9c]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x5a
push eax
mov ecx, edi
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push str.Monitor
lea ecx, [ebp - 0x58]
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x74]
push 9
push str.Frequency
mov esi, dword [eax + 0xa0]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x5b
push eax
mov ecx, edi
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
mov edi, str.Monitor
lea ecx, [ebp - 0x58]
push edi
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x74]
push 0xa
push str.VRRCapable
mov cl, byte [eax + 0xa4]
mov byte [ebp - 0x90], cl
lea ecx, [ebp - 0x28]
call fcn.004131c3
push ebx
push dword [ebp - 0x90]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x5c
push eax
mov ecx, esi
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push edi
lea ecx, [ebp - 0x58]
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x74]
push 0xe
push str.NVAPIDisplayId
mov esi, dword [eax + 0xa8]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x5d
push eax
mov ecx, edi
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00402f70
push str.Monitor
lea ecx, [ebp - 0x58]
call fcn.00413b3a
mov ecx, dword [ebp - 0x74]
mov esi, eax
add ecx, 0xac
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 4
push str.EDID
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x5e
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x5f
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x60
call fcn.00401eae
mov edi, dword [ebp - 0x80]
mov ecx, edi
push str.DisplayDevice
mov byte [ebp - 4], 0x3f
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00412cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00402f70
mov esi, dword [ebp - 0x74]
add esi, 0xc4
cmp esi, dword [ebp - 0x9c]
mov dword [ebp - 0x74], esi
jne 0x407839
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 3
push 0x45c4a8
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x61
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x62
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
mov eax, dword [ebp - 0x78]
mov esi, dword [eax + 0xe4]
mov eax, dword [eax + 0xe8]
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x7c], eax
cmp esi, eax
je 0x408aeb
lea eax, [esi + 0xe4]
mov dword [ebp - 0x74], eax
push 3
lea ecx, [ebp - 0x58]
call fcn.00412e5e
push 0x11
mov dword [ebp - 4], 0x63
lea ecx, [ebp - 0x28]
mov esi, dword [esi]
push str.DisplayDependency
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x64
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x40]
lea eax, [esi - 0xe0]
push eax
call fcn.00401e3a
push 8
push str.LongName
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x65
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x66
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x67
call fcn.00401eae
lea eax, [esi - 0xc8]
mov byte [ebp - 4], 0x63
push eax
lea ecx, [ebp - 0x40]
call fcn.00401e3a
push 9
push str.ShortName
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x68
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x69
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x6a
call fcn.00401eae
push 8
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x28]
mov esi, dword [esi - 0xb0]
push str.RAMWidth
call fcn.004131c3
mov byte [ebp - 4], 0x6b
push ebx
push esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xc
push str.RAMBankCount
mov esi, dword [esi - 0xac]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x6c
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x40]
lea eax, [esi - 0xa8]
push eax
call fcn.00401e3a
push 0xc
push str.VBIOSVersion
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x6d
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x6e
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x6f
call fcn.00401eae
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x28]
mov al, byte [esi - 0x90]
push 0xe
push str.IsUEFIExecuted
mov byte [ebp - 0x9c], al
call fcn.004131c3
push ebx
push dword [ebp - 0x9c]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x70
push eax
lea ecx, [ebp - 0x58]
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [esi - 0x8c]
lea ecx, [ebp - 0x28]
push 0xe
push str.ActualVRAMSize
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xf
push str.VirtualVRAMSize
mov esi, dword [esi - 0x88]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x72
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 7
push str.SMCount
mov esi, dword [eax - 0x84]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x73
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 9
push str.CoreCount
mov esi, dword [eax - 0x80]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x74
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 8
push str.IsMobile
mov al, byte [esi - 0x7c]
mov byte [ebp - 0x84], al
call fcn.004131c3
push ebx
push dword [ebp - 0x84]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [ebp - 0x58]
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [esi - 0x78]
lea ecx, [ebp - 0x28]
push 8
push str.DeviceId
call fcn.004131c3
mov byte [ebp - 4], 0x76
push ebx
push esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 9
push str.Subsystem
mov esi, dword [eax - 0x74]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 8
push str.Revision
mov esi, dword [eax - 0x70]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x78
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x10
push str.ExtendedDeviceId
mov esi, dword [eax - 0x6c]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 7
push str.BusType
mov esi, dword [eax - 0x68]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x7a
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
push 7
push str.RAMType
mov esi, dword [eax - 0x64]
lea ecx, [ebp - 0x28]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x7b
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xa
push str.SystemType
mov esi, dword [eax - 0x60]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x7c
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 9
push str.BrandType
mov esi, dword [eax - 0x5c]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xc
push str.Architecture
mov esi, dword [eax - 0x58]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x14
push str.ArchitectureRevision
mov esi, dword [eax - 0x54]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x7f
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x13
push str.ArchitectureVersion
mov esi, dword [eax - 0x50]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x80
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x1a
push str.ArchitectureImplementation
mov esi, dword [eax - 0x4c]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x81
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xd
push str.EGPUConnector
mov esi, dword [eax - 0x48]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x82
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xa
push str.NVBIOSType
mov esi, dword [eax - 0x44]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x83
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0xc
push str.NVBIOSStatus
mov esi, dword [eax - 0x40]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x84
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x13
push str.NVBIOSExpirationDay
mov esi, dword [eax - 0x3c]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x85
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x15
push str.NVBIOSExpirationMonth
mov esi, dword [eax - 0x38]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x86
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x14
push str.NVBIOSExpirationYear
mov esi, dword [eax - 0x34]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x87
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x40]
lea eax, [esi - 0x30]
push eax
call fcn.00401e3a
push 0xe
push str.NVIBIOSOEMName
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x88
call fcn.004131c3
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x89
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004141f7
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x8a
call fcn.00401eae
push 0x13
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x28]
mov esi, dword [esi - 0x18]
push str.NVBIOSVBIOSDeviceId
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 0x18
push str.NVBIOSCalculatedDeviceId
mov esi, dword [eax - 0x14]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [ebp - 0x58]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x63
call fcn.00402f70
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 4
push str.ECID
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x8d
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x8e
push eax
lea ecx, [ebp - 0x58]
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax - 0x10]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x8c], eax
cmp ecx, eax
je 0x408628
mov edi, ecx
push str.ECID
lea ecx, [ebp - 0x58]
call fcn.00413b3a
push ebx
push edi
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.00412e29
push ebx
push eax
mov ecx, esi
mov byte [ebp - 4], 0x8f
call fcn.00412cfb
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x63
call fcn.00402f70
add edi, 0x18
cmp edi, dword [ebp - 0x8c]
jne 0x4085e8
mov edi, dword [ebp - 0x80]
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 0xa
push str.Connectors
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x90
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x91
push eax
lea ecx, [ebp - 0x58]
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax - 4]
mov eax, dword [eax]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x94], eax
cmp ecx, eax
je 0x4087a5
mov edi, ecx
push 3
lea ecx, [ebp - 0x40]
call fcn.00412e5e
push 4
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0x28]
mov esi, dword [edi]
push str.Type
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x93
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x92
call fcn.00402f70
mov esi, dword [edi + 4]
lea ecx, [ebp - 0x28]
push 9
push str.DisplayId
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x94
push eax
lea ecx, [ebp - 0x40]
call fcn.0041468d
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x92
call fcn.00402f70
mov al, byte [edi + 8]
lea ecx, [ebp - 0x28]
push 9
push str.IsDynamic
mov byte [ebp - 0x98], al
call fcn.004131c3
push ebx
push dword [ebp - 0x98]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x95
push eax
lea ecx, [ebp - 0x40]
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x92
call fcn.00402f70
mov al, byte [edi + 9]
lea ecx, [ebp - 0x28]
push 8
push str.IsActive
mov byte [ebp - 0x88], al
call fcn.004131c3
push ebx
push dword [ebp - 0x88]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x96
push eax
lea ecx, [ebp - 0x40]
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x92
call fcn.00402f70
push str.Connectors
lea ecx, [ebp - 0x58]
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00412cfb
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x40]
call fcn.00402f70
add edi, 0xc
cmp edi, dword [ebp - 0x94]
jne 0x40868b
mov edi, dword [ebp - 0x80]
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 0x10
push str.ActiveConnectors
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x97
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x98
push eax
lea ecx, [ebp - 0x58]
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x94], eax
cmp ecx, eax
je 0x40893d
mov edi, ecx
push 3
lea ecx, [ebp - 0x40]
call fcn.00412e5e
push 8
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0x28]
mov esi, dword [edi]
push str.Platform
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x9a
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x99
call fcn.00402f70
mov esi, dword [edi + 4]
lea ecx, [ebp - 0x28]
push 0xa
push str.Connector0
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x9b
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x99
call fcn.00402f70
mov esi, dword [edi + 8]
lea ecx, [ebp - 0x28]
push 0xa
push str.Connector1
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x9c
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x99
call fcn.00402f70
mov esi, dword [edi + 0xc]
lea ecx, [ebp - 0x28]
push 0xa
push str.Connector2
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x9d
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x99
call fcn.00402f70
mov esi, dword [edi + 0x10]
lea ecx, [ebp - 0x28]
push 0xa
push str.Connector3
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x9e
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x99
call fcn.00402f70
push str.ActiveConnectors
lea ecx, [ebp - 0x58]
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00412cfb
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x63
call fcn.00402f70
add edi, 0x14
cmp edi, dword [ebp - 0x94]
jne 0x408809
mov edi, dword [ebp - 0x80]
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 4
push str.EDID
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x9f
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa0
push eax
lea ecx, [ebp - 0x58]
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x63
call fcn.00402f70
mov esi, dword [ebp - 0x74]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], ecx
cmp eax, ecx
je 0x408aa8
mov edi, eax
push 3
lea ecx, [ebp - 0x40]
call fcn.00412e5e
push 0xd
mov byte [ebp - 4], 0xa1
lea ecx, [ebp - 0x28]
mov esi, dword [edi]
push str.ConnectorMask
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa2
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa1
call fcn.00402f70
mov esi, dword [edi + 4]
lea ecx, [ebp - 0x28]
push 0xe
push str.NVAPIDisplayId
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa3
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa1
call fcn.00402f70
mov esi, dword [edi + 8]
lea ecx, [ebp - 0x28]
push 4
push str.Flag
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa4
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa1
call fcn.00402f70
mov esi, dword [edi + 0xc]
lea ecx, [ebp - 0x28]
push 0xc
push str.ValidateFlag
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa5
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa1
call fcn.00402f70
push str.EDID
lea ecx, [ebp - 0x58]
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00412cfb
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x63
call fcn.00402f70
add edi, 0x10
cmp edi, dword [ebp - 0x94]
jne 0x4089a1
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x74]
push 0x45c4a8
mov ecx, edi
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00412cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00402f70
mov eax, 0x104
add dword [ebp - 0x90], eax
add esi, eax
mov dword [ebp - 0x74], esi
mov esi, dword [ebp - 0x90]
cmp esi, dword [ebp - 0x7c]
jne 0x407e59
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 0xb
push str.SLITopology
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xa6
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa7
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
mov eax, dword [ebp - 0x78]
mov esi, dword [eax + 0xf0]
mov eax, dword [eax + 0xf4]
cmp esi, eax
mov dword [ebp - 0x8c], eax
jmp 0x408cc7
lea ecx, [ebp - 0x40]
call fcn.00412e5e
mov dword [ebp - 4], 0xa8
lea ecx, [ebp - 0x28]
mov al, byte [esi]
push 8
push str.IsActive
mov byte [ebp - 0x7c], al
call fcn.004131c3
push ebx
mov byte [ebp - 4], 0xa9
lea eax, [ebp - 0x28]
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x40]
push eax
call fcn.00414651
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa8
call fcn.00402f70
mov esi, dword [esi + 4]
lea ecx, [ebp - 0x28]
push 8
push str.GPUCount
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xaa
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa8
call fcn.00402f70
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
push 5
push str.Flags
mov esi, dword [esi + 8]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xab
push eax
lea ecx, [ebp - 0x40]
call fcn.0041461c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa8
call fcn.00402f70
push 4
lea ecx, [ebp - 0x70]
call fcn.00412e5e
mov esi, eax
push 3
push 0x45c4a8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xac
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xad
push eax
lea ecx, [ebp - 0x40]
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xa8
call fcn.00402f70
mov esi, dword [ebp - 0x74]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x98], ecx
cmp eax, ecx
je 0x408c9a
mov edi, eax
push 0x45c4a8
lea ecx, [ebp - 0x40]
call fcn.00413b3a
push dword [edi]
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00414230
push ebx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xae
push eax
mov ecx, esi
call fcn.00412cfb
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa8
call fcn.00402f70
add edi, 4
cmp edi, dword [ebp - 0x98]
jne 0x408c54
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x74]
push str.SLITopology
mov ecx, edi
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00412cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00402f70
add esi, 0x18
cmp esi, dword [ebp - 0x8c]
mov dword [ebp - 0x74], esi
push 3
jne 0x408b4e
lea ecx, [ebp - 0xcc]
call fcn.00412e5e
mov esi, eax
push 2
push 0x45c75c
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xaf
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb0
push eax
mov ecx, edi
call fcn.00413138
lea ecx, [ebp - 0x28]
call fcn.00402f70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcc]
call fcn.00402f70
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x78]
push 0xc
push str.MajorVersion
mov esi, dword [eax + 0xfc]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0xb1
push eax
mov ecx, edi
call fcn.0041461c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00402f70
mov ecx, dword [ebp - 0x80]
push 0x45c75c
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x58]
mov eax, dword [ebp - 0x78]
push 0xc
push str.MinorVersion
mov esi, dword [eax + 0x100]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0xb2
push eax
mov ecx, edi
call fcn.0041461c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00402f70
mov ecx, dword [ebp - 0x80]
push 0x45c75c
call fcn.00413b3a
mov edi, eax
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 0x78]
push 0xb
push str.BuildNumber
mov esi, dword [eax + 0x104]
call fcn.004131c3
push ebx
push esi
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0xb3
push eax
mov ecx, edi
call fcn.0041461c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402f70
mov edi, dword [ebp - 0x80]
mov ecx, edi
push 0x45c75c
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x78]
push ebx
push dword [eax + 0x108]
push ecx
push ecx
mov ecx, esp
push str.ProductType
call fcn.00413b25
mov ecx, esi
call fcn.00413a31
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
sub esp, 0x18
add ecx, 0x10c
mov dword [ebp - 0x7c], esp
mov edx, esp
mov esi, eax
push ecx
mov ecx, edx
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xb4
push str.Type
call fcn.00413a07
or dword [ebp - 4], 0xffffffff
mov ecx, esi
push ebx
call fcn.0041399d
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
sub esp, 0x18
add ecx, 0x124
mov dword [ebp - 0x7c], esp
mov edx, esp
mov esi, eax
push ecx
mov ecx, edx
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xb5
push str.Architecture
call fcn.00413a1c
or dword [ebp - 4], 0xffffffff
mov ecx, esi
push ebx
call fcn.0041399d
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
sub esp, 0x18
add ecx, 0x13c
mov dword [ebp - 0x7c], esp
mov edx, esp
mov esi, eax
push ecx
mov ecx, edx
call fcn.00401e3a
push ecx
mov dword [ebp - 4], 0xb6
push ecx
mov ecx, esp
push str.String
call fcn.00413a88
or dword [ebp - 4], 0xffffffff
mov ecx, esi
push ebx
call fcn.0041399d
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
sub esp, 0x18
add ecx, 0x154
mov dword [ebp - 0x7c], esp
mov edx, esp
mov esi, eax
push ecx
mov ecx, edx
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xb7
push str.Link
call fcn.00413a07
or dword [ebp - 4], 0xffffffff
mov ecx, esi
push ebx
call fcn.0041399d
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x78]
push ebx
push dword [eax + 0x16c]
push ecx
push ecx
mov ecx, esp
push str.TotalPhysicalMemory
call fcn.00413c85
mov ecx, esi
call fcn.00413a31
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x78]
push ebx
push dword [eax + 0x170]
push ecx
push ecx
mov ecx, esp
push str.AvailablePhysicalMemory
call fcn.00413d8e
mov ecx, esi
call fcn.00413a31
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
sub esp, 0x18
add ecx, 0x174
mov dword [ebp - 0x7c], esp
mov edx, esp
mov esi, eax
push ecx
mov ecx, edx
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xb8
push str.DirectXVersion
call fcn.00413c46
or dword [ebp - 4], 0xffffffff
mov ecx, esi
push ebx
call fcn.0041399d
push 0x45c75c
mov ecx, edi
call fcn.00413b3a
mov esi, eax
mov eax, dword [ebp - 0x78]
push ebx
push dword [eax + 0x18c]
push ecx
push ecx
mov ecx, esp
push str.Language
call fcn.00413ab2
mov ecx, esi
call fcn.00413a31
mov esi, dword [ebp - 0x78]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x7c], esp
lea eax, [esi + 0x190]
push eax
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xb9
push str.GFEVersion
call fcn.00402167
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push ebx
call fcn.0041399d
push 4
lea ecx, [ebp - 0xb4]
call fcn.00412e5e
push ebx
push eax
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xba
push str.PCIDisplayDevice
call fcn.00413c31
mov ecx, edi
call fcn.00412dc7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.00402f70
lea ecx, [esi + 0x1a8]
call fcn.00412be6
lea ecx, [esi + 0x1a8]
mov dword [ebp - 0x7c], eax
call fcn.00412f30
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x88], ecx
cmp eax, ecx
je 0x4091ef
lea esi, [eax + 8]
push 3
lea ecx, [ebp - 0x58]
call fcn.00412e5e
push ebx
mov dword [ebp - 4], 0xbb
push dword [esi - 8]
push ecx
push ecx
mov ecx, esp
push str.VendorId
call fcn.00413ab2
lea ecx, [ebp - 0x58]
call fcn.00413a31
push ebx
push dword [esi - 4]
push ecx
push ecx
mov ecx, esp
push str.DeviceId
call fcn.00413ab2
lea ecx, [ebp - 0x58]
call fcn.00413a31
push ebx
push dword [esi]
push ecx
push ecx
mov ecx, esp
push str.Subsystem
call fcn.00413c1c
lea ecx, [ebp - 0x58]
call fcn.00413a31
push ebx
push dword [esi + 4]
push ecx
push ecx
mov ecx, esp
push str.Revision
call fcn.00413ab2
lea ecx, [ebp - 0x58]
call fcn.00413a31
sub esp, 0x18
lea eax, [esi + 8]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xbc
push str.DriverProvider
call fcn.00413c46
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xbb
call fcn.0041399d
sub esp, 0x18
lea eax, [esi + 0x20]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xbd
push str.Description
call fcn.00413b25
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xbb
call fcn.0041399d
sub esp, 0x18
lea eax, [esi + 0x38]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xbe
push str.Identity
call fcn.00413ab2
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xbb
call fcn.0041399d
push str.PCIDisplayDevice
mov ecx, edi
call fcn.00413b3a
push ebx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00412cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00402f70
lea esi, [esi + 0x58]
lea eax, [esi - 8]
cmp eax, dword [ebp - 0x88]
jne 0x4090b1
push 3
lea ecx, [ebp - 0xb4]
call fcn.00412e5e
push ebx
push eax
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xbf
mov esi, str.Client
push esi
call fcn.00413a88
mov ecx, edi
call fcn.00412dc7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.00402f70
push esi
mov ecx, edi
call fcn.00413b3a
mov ecx, dword [ebp - 0x78]
sub esp, 0x18
add ecx, 0x1b4
mov dword [ebp - 0x7c], esp
mov edx, esp
mov esi, eax
push ecx
mov ecx, edx
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xc0
push 0x45c834
call fcn.00413988
or dword [ebp - 4], 0xffffffff
mov ecx, esi
push ebx
call fcn.0041399d
push 3
lea ecx, [ebp - 0xe4]
call fcn.00412e5e
push ebx
push eax
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xc1
mov esi, str.Nv3DVision
push esi
call fcn.00402167
mov ecx, edi
call fcn.00412dc7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.00402f70
push esi
mov ecx, edi
call fcn.00413b3a
push ecx
push ecx
mov ecx, esp
mov esi, eax
push str.HasNv3DVision
call fcn.00413c5b
mov eax, dword [ebp - 0x78]
mov ecx, esi
push ebx
movzx edx, byte [eax + 0x1cc]
push edx
call fcn.00413ac7
push str.Nv3DVision
mov ecx, edi
call fcn.00413b3a
sub esp, 0x18
mov esi, eax
mov edx, esp
mov dword [ebp - 0x7c], esp
mov ecx, dword [ebp - 0x78]
add ecx, 0x1d0
push ecx
mov ecx, edx
call fcn.00401e3a
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xc2
push str.Nv3DVisionDriverVersion
call fcn.00413d8e
or dword [ebp - 4], 0xffffffff
mov ecx, esi
push ebx
call fcn.0041399d
call fcn.00417038
ret