Function at 0x4d337a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b56f1
mov eax, dword fs:[0]
push eax
mov eax, 0x21d4
call fcn.005685b0
mov eax, dword [0x6274d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2114], eax
mov eax, dword [ebp + 0xc]
mov edi, ecx
mov ebx, edx
mov dword [ebp - 0x212c], edi
mov dword [ebp - 0x2128], ebx
mov dword [ebp - 0x213c], eax
and dword [ebp - 4], 0
lea ecx, [ebp - 0xc4]
call fcn.00409083
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11c]
call fcn.00409083
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe0]
call fcn.00409083
mov byte [ebp - 4], 3
push 1
lea esi, [ebp - 0xc4]
call fcn.004cf3d4
pop ecx
lea eax, [ebp - 0x2110]
push eax
call fcn.004c6eb2
mov byte [ebp - 4], 4
test ebx, ebx
jne 0x4d342f
lea eax, [ebp - 0x2110]
mov dword [ebp - 0x2128], eax
mov ebx, eax
mov al, byte [ebx + 0x1fe4]
test al, al
jne 0x4d3522
push dword [ebp - 0x213c]
mov ecx, ebx
push 0
call fcn.004c777e
mov esi, eax
test esi, esi
je 0x4d3522
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov edi, eax
mov byte [ebp - 4], 5
push str.Shim_Module_probe_failed:
push edi
call fcn.0040fa1f
pop ecx
pop ecx
push esi
push edi
call fcn.0040d432
lea eax, [ebp - 0x2c]
push eax
mov eax, edi
call fcn.00409b30
mov byte [ebp - 4], 6
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4d3497
lea eax, [ebp - 0x2c]
xor ecx, ecx
push eax
inc ecx
call fcn.0047c666
pop ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2110]
call fcn.004c70a5
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe0]
call fcn.004090d2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11c]
call fcn.004090d2
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc4]
call fcn.004090d2
or dword [ebp - 4], 0xffffffff
lea ebx, [ebp + 0x10]
call fcn.00464d28
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055d7fe
leave
ret 0x18
push str._shim__n
push dword [ebp - 0x2114]
call fcn.004090e2
lea eax, [ebp - 0x48]
push str._version_2.1.43__version__n
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 7
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x48]
call fcn.004090d2
cmp dword [edi + 0x30], 0
je 0x4d36bd
push 0x5d9cf8
lea esi, [ebp - 0x2c]
call fcn.00409096
mov byte [ebp - 4], 8
lea eax, [edi + 4]
cmp dword [eax + 0x14], 8
jb 0x4d358f
mov eax, dword [eax]
mov dword [ebp - 0x211c], eax
lea eax, [edi + 0x3c]
cmp dword [eax + 0x14], 8
jb 0x4d35a0
mov eax, dword [eax]
cmp dword [edi + 0x34], 8
mov dword [ebp - 0x2124], eax
jb 0x4d35b1
mov ebx, dword [edi + 0x20]
jmp 0x4d35b4
lea ebx, [edi + 0x20]
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov esi, eax
mov byte [ebp - 4], 9
push esi
lea ecx, [ebp - 0xc4]
call fcn.0040fbd3
mov dword [esp], str._generator_name
push esi
call fcn.0040fa1f
push ebx
push esi
call fcn.0040fa1f
push str._moduleVersion
push esi
call fcn.0040fa1f
push dword [ebp - 0x2124]
push esi
call fcn.0040fa1f
push str._architecture
push esi
call fcn.0040fa1f
push esi
lea ecx, [ebp - 0x2c]
call fcn.0040fbd3
add esp, 0x2c
push str._revision
push esi
call fcn.0040fa1f
push dword [0x5caddc]
push esi
call fcn.0040fa1f
push str._buildType
push esi
call fcn.0040fa1f
push dword [0x5cade0]
push esi
call fcn.0040fa1f
push str._buildTime
push esi
call fcn.0040fa1f
push dword [0x5cade4]
push esi
call fcn.0040fa1f
push 0x5ee640
push esi
call fcn.0040fa1f
push dword [ebp - 0x211c]
push esi
call fcn.0040fa1f
add esp, 0x40
lea eax, [ebp - 0x48]
push eax
mov eax, esi
call fcn.00409b30
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x2114]
push 0
lea eax, [ebp - 0x48]
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 8
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.004090d2
lea eax, [edi + 4]
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x2120], eax
jb 0x4d36d0
mov ebx, dword [eax]
jmp 0x4d36d2
mov ebx, eax
mov ecx, dword [ebp - 0x2128]
mov eax, dword [ecx + 0x1fec]
mov ecx, dword [ecx + 0x1fe8]
cmp eax, ecx
jb 0x4d36ec
sub eax, ecx
jmp 0x4d36ef
sub eax, ecx
dec eax
mov dword [ebp - 0x2134], eax
fild dword [ebp - 0x2134]
test eax, eax
jns 0x4d3705
fadd qword [0x5f8ad8]
fdiv qword [0x5f8ac0]
lea eax, [ebp - 0x2c]
push eax
push ecx
lea edi, [ebp - 0x2140]
fstp qword [ebp - 0x2138]
call fcn.00476f76
pop ecx
push eax
call fcn.00477171
mov edi, eax
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov esi, eax
mov byte [ebp - 4], 0xc
push esi
lea ecx, [ebp - 0xc4]
call fcn.0040fbd3
mov dword [esp], str._instance_gmt_time
push esi
call fcn.0040fa1f
push esi
mov ecx, edi
call fcn.0040fbd3
add esp, 0xc
push str._scan_time
push esi
call fcn.0040fa1f
pop ecx
pop ecx
test esi, esi
jne 0x4d3779
xor eax, eax
jmp 0x4d3780
mov eax, dword [esi]
mov eax, dword [eax + 4]
add eax, esi
mov ecx, dword [eax + 0x14]
and ecx, 0xffffefff
or ecx, 0x2000
push 0
mov dword [eax + 0x14], ecx
lea eax, [ebp - 0xf8]
push 3
push eax
call fcn.0057d22a
add esp, 0xc
mov ecx, eax
call fcn.0040d109
fld qword [ebp - 0x2138]
push ecx
push ecx
mov esi, eax
fstp qword [esp]
push esi
call fcn.004654d4
push 0x5ee694
push esi
call fcn.0040fa1f
push ebx
push esi
call fcn.0040fa1f
add esp, 0x10
lea eax, [ebp - 0x48]
push eax
mov eax, esi
call fcn.00409b30
mov byte [ebp - 4], 0xd
mov esi, dword [ebp - 0x2114]
push 0
lea eax, [ebp - 0x48]
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.004090d2
push dword [ebp - 0x212c]
lea ecx, [ebp - 0xe0]
lea ebx, [ebp + 0x10]
call fcn.004d5a17
test al, al
je 0x4d3858
push 0
lea eax, [ebp - 0xe0]
push eax
or eax, 0xffffffff
call fcn.0040ab69
push 0x5c26ec
lea eax, [ebp - 0xe0]
push eax
call fcn.0040ad38
lea eax, [ebp - 0x2c]
push str._hardware_
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x2120]
cmp dword [ecx + 0x14], 8
jb 0x4d3880
mov ecx, dword [ecx]
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0xf
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov esi, dword [ebp - 0x2128]
mov al, byte [esi + 0xf]
test al, al
je 0x4d3a53
push str.WriteShimSection____Now_write_CPUs
push 4
pop ecx
call fcn.0047c666
mov eax, dword [esi + 0x1ee8]
and dword [ebp - 0x2118], 0
pop ecx
mov ecx, dword [esi + 0x1eec]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x4d39c9
mov ecx, dword [ebp - 0x2118]
lea eax, [eax + ecx*4]
mov ebx, dword [eax]
lea ecx, [ebp - 0x2c]
call fcn.00409083
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x78]
call fcn.00409083
mov byte [ebp - 4], 0x11
test ebx, ebx
jne 0x4d3f1b
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x78]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.004090d2
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov esi, eax
mov byte [ebp - 4], 0x13
push str.Error_when_write_cpu
push esi
call fcn.0040fa1f
pop ecx
pop ecx
push dword [ebp - 0x2118]
push esi
call fcn.0040d432
lea eax, [ebp - 0x48]
push eax
mov eax, esi
call fcn.00409b30
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4d397b
lea eax, [ebp - 0x48]
push eax
push 4
pop ecx
call fcn.0047c666
pop ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov ecx, dword [ebp - 0x2128]
mov eax, dword [ecx + 0x1ee8]
mov ecx, dword [ecx + 0x1eec]
inc dword [ebp - 0x2118]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x2118], ecx
jb 0x4d38f2
push str.WriteShimSection____Now_write_Processors
push 4
pop ecx
call fcn.0047c666
and dword [ebp - 0xf8], 0
pop ecx
call fcn.004d6842
mov dword [ebp - 0xfc], eax
mov dword [eax], eax
mov eax, dword [ebp - 0xfc]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0xfc]
mov dword [eax + 8], eax
mov eax, dword [ebp - 0xfc]
mov byte [eax + 0x28], 1
mov eax, dword [ebp - 0xfc]
mov byte [eax + 0x29], 1
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x100]
push eax
call fcn.004decea
pop ecx
test al, al
je 0x4d3a3d
push dword [ebp - 0x2114]
lea ecx, [ebp - 0x100]
push dword [ebp - 0x212c]
call fcn.004cf40e
mov byte [ebp - 4], 4
lea eax, [ebp - 0x100]
push eax
call fcn.004d6430
mov esi, dword [ebp - 0x2128]
mov al, byte [esi + 0xe]
lea edi, [esi + 0x1e30]
mov ebx, str.Vendor
test al, al
je 0x4d3aab
lea ecx, [ebp - 0x78]
call fcn.00409083
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2c]
call fcn.00409083
mov byte [ebp - 4], 0x1c
test edi, edi
jne 0x4d4177
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
push str.Write_CS_info_failed_
push 4
pop ecx
call fcn.0047c666
pop ecx
push str.WriteShimSection____Now_write_MoboInfo
push 4
pop ecx
call fcn.0047c666
mov edi, dword [esi + 0x24]
pop ecx
lea ecx, [ebp - 0x78]
call fcn.00409083
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2c]
call fcn.00409083
mov byte [ebp - 4], 0x1f
test edi, edi
jne 0x4d42ce
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
push str.Error_when_write_MOBO_info_
push 4
pop ecx
call fcn.0047c666
pop ecx
mov eax, dword [ebp - 0x2128]
mov ebx, dword [eax + 0x1fa8]
lea ecx, [ebp - 0x78]
call fcn.00409083
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2c]
call fcn.00409083
mov byte [ebp - 4], 0x22
test ebx, ebx
jne 0x4d44b4
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
push str.Error_when_write_BIOS_info_
push 4
pop ecx
call fcn.0047c666
pop ecx
mov esi, dword [ebp - 0x2128]
push str.WriteShimSection____Now_write_HDs
push 4
pop ecx
call fcn.0047c666
mov eax, dword [esi + 0x1fb8]
pop ecx
mov ecx, dword [esi + 0x1fb4]
sub eax, ecx
mov edi, 0xac
cdq
mov ebx, edi
idiv ebx
and dword [ebp - 0x2118], 0
test eax, eax
je 0x4d3c4d
and dword [ebp - 0x211c], 0
push dword [ebp - 0x2118]
add ecx, dword [ebp - 0x211c]
push dword [ebp - 0x2114]
mov ebx, dword [ebp - 0x212c]
call fcn.004cf7d4
test al, al
jne 0x4d3c22
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov ebx, eax
mov byte [ebp - 4], 0x24
push str.Error_when_write_harddisk
push ebx
call fcn.0040fa1f
pop ecx
pop ecx
push dword [ebp - 0x2118]
push ebx
call fcn.0040d432
lea eax, [ebp - 0x48]
push eax
mov eax, ebx
call fcn.00409b30
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4d3bfd
lea eax, [ebp - 0x48]
push eax
push 4
pop ecx
call fcn.0047c666
pop ecx
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov ecx, dword [esi + 0x1fb4]
mov eax, dword [esi + 0x1fb8]
sub eax, ecx
cdq
mov ebx, edi
idiv ebx
inc dword [ebp - 0x2118]
add dword [ebp - 0x211c], edi
cmp dword [ebp - 0x2118], eax
jb 0x4d3b96
push str.WriteShimSection____Now_write_NvidiaDriver
push 4
pop ecx
call fcn.0047c666
pop ecx
lea ecx, [esi + 0x1f44]
xor edi, edi
cmp dword [ecx], edi
je 0x4d3c78
push dword [ebp - 0x2114]
push dword [ebp - 0x212c]
call fcn.004cf90f
push str.WriteShimSection____Now_write_DispAdapters
push 4
pop ecx
call fcn.0047c666
mov eax, dword [esi + 0x1f14]
pop ecx
mov ecx, dword [esi + 0x1f18]
sub ecx, eax
sar ecx, 2
mov dword [ebp - 0x2124], edi
mov dword [ebp - 0x2118], edi
test ecx, ecx
je 0x4d4c1d
mov ebx, dword [ebp - 0x2118]
mov ecx, ebx
shl ecx, 2
mov edi, dword [eax + ecx]
mov dword [ebp - 0x213c], ecx
lea ecx, [ebp - 0x78]
call fcn.00409083
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2c]
call fcn.00409083
mov byte [ebp - 4], 0x27
test edi, edi
je 0x4d4b9f
push 2
lea esi, [ebp - 0x78]
call fcn.004cf3d4
pop ecx
push 3
lea esi, [ebp - 0x2c]
call fcn.004cf3d4
pop ecx
push dword [edi + 4]
lea eax, [ebp - 0x5c]
push str.DisplayDevice
push eax
call fcn.0045d000
mov byte [ebp - 4], 0x28
push str.Handle
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0xc]
call fcn.004cec73
push str.Description
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x28]
call fcn.004cec73
push str.FullDeviceID
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x60]
call fcn.004cec73
movzx eax, byte [edi + 0x8c]
push eax
push str.IsNVIDIADriver
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push eax
call fcn.004cebbe
push str.DeviceName
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x44]
call fcn.004cec73
mov esi, dword [edi + 0x7c]
push str.VendorID
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push esi
mov esi, str._08X
add eax, 0x20
push esi
push eax
call fcn.004783df
mov ebx, dword [edi + 0x80]
add esp, 0xc
push 0x5e550c
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push ebx
add eax, 0x20
push esi
push eax
call fcn.004783df
mov ebx, dword [edi + 0x84]
add esp, 0xc
push str.SUBSYS
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push ebx
push esi
add eax, 0x20
push eax
call fcn.004783df
mov ebx, dword [edi + 0x88]
add esp, 0xc
push 0x5eb938
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push ebx
add eax, 0x20
push esi
push eax
call fcn.004783df
add esp, 0xc
cmp byte [edi + 0x8c], 0
je 0x4d4930
push str.Title
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x90]
call fcn.004cec73
push str.GeForcePackageVersion
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0xac]
call fcn.004cec73
mov esi, dword [edi + 0xd0]
push str.GPUCount
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push esi
mov esi, 0x5ec59c
add eax, 0x20
push esi
push eax
call fcn.004783df
movzx eax, byte [edi + 0xc8]
add esp, 0xc
push eax
push str.IsSLIEnabled
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push eax
call fcn.004cebbe
mov ebx, dword [edi + 0xd4]
push str.SLIWay
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push ebx
add eax, 0x20
push esi
push eax
call fcn.004783df
movzx eax, byte [edi + 0xc9]
add esp, 0xc
push eax
push str.IsDisplayDriverVersionPure
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push eax
call fcn.004cebbe
mov ebx, dword [edi + 0xcc]
push str.DrvSecurityLevel
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push ebx
add eax, 0x20
push esi
push eax
call fcn.004783df
mov eax, dword [edi + 0xd8]
add esp, 0xc
dec eax
je 0x4d484b
dec eax
je 0x4d4844
dec eax
je 0x4d483d
mov esi, str.Unknown
jmp 0x4d4850
push 2
lea esi, [ebp - 0x2c]
call fcn.004cf3d4
pop ecx
push 3
lea esi, [ebp - 0x78]
call fcn.004cf3d4
pop ecx
push dword [ebx]
lea eax, [ebp - 0xa8]
push str.Processor
push eax
call fcn.0045d000
mov byte [ebp - 4], 0x12
push str.Name
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 4]
call fcn.004cec73
mov esi, dword [ebx + 0x7c]
push str.CPUID
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push esi
add eax, 0x20
push str._08X
push eax
call fcn.004783df
mov esi, dword [ebx + 0x74]
add esp, 0xc
push str.BrandId
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push esi
mov esi, 0x5ec59c
add eax, 0x20
push esi
push eax
call fcn.004783df
add esp, 0xc
push str.Manufacturer
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x80]
call fcn.004cec73
push 0xa
mov edi, 0x5ec510
push edi
push dword [ebx + 0x9c]
lea eax, [ebp - 0xa8]
push str.BusSpeed
push eax
call fcn.004cf0fe
call fcn.004cebe2
push 0xa
push edi
push dword [ebx + 0xa0]
lea eax, [ebp - 0xa8]
push str.MaxFrequency
push eax
call fcn.004cf0fe
call fcn.004cebe2
mov edi, dword [ebx + 0xa4]
push str.LegacyFamily
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
mov edi, dword [ebx + 0xac]
add esp, 0xc
push str.Family
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
mov edi, dword [ebx + 0xb0]
add esp, 0xc
push str.LegacyModel
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
mov edi, dword [ebx + 0xb8]
add esp, 0xc
push str.Model
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
mov edi, dword [ebx + 0xbc]
add esp, 0xc
push str.Stepping
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
mov ebx, dword [ebx + 0xc0]
add esp, 0xc
sub ebx, 0
je 0x4d40f0
dec ebx
je 0x4d40e9
dec ebx
je 0x4d40e2
mov esi, str.Unknown
jmp 0x4d40f5
mov esi, 0x5d9cf8
jmp 0x4d40f5
mov esi, 0x5eede4
jmp 0x4d40f5
mov esi, str.IA64
push str.Architecture
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
test esi, esi
je 0x4d4114
lea ebx, [eax + 0x20]
mov ecx, esi
call fcn.00477a02
mov eax, dword [ebp - 0x2120]
cmp dword [eax + 0x14], 8
jb 0x4d4122
mov eax, dword [eax]
cmp dword [ebp - 0x64], 8
mov esi, dword [ebp - 0x78]
jae 0x4d412e
lea esi, [ebp - 0x78]
cmp dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x2c]
jae 0x4d413a
lea ecx, [ebp - 0x2c]
push esi
push dword [ebp - 0x2114]
mov edx, eax
lea edi, [ebp - 0xa8]
call fcn.004cf276
mov byte [ebp - 4], 0x11
mov eax, edi
push eax
call fcn.004cf09b
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x78]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.004090d2
jmp 0x4d39a0
push 2
lea esi, [ebp - 0x78]
call fcn.004cf3d4
pop ecx
push 3
lea esi, [ebp - 0x2c]
call fcn.004cf3d4
pop ecx
push 0xffffffffffffffff
push str.ComputerSystem
lea eax, [ebp - 0xa8]
push eax
call fcn.0045d000
mov byte [ebp - 4], 0x1d
push str.Name
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x38]
call fcn.004cec73
push str.Caption
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
mov eax, edi
call fcn.004cec73
push ebx
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x54]
call fcn.004cec73
push str.Description
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x1c]
call fcn.004cec73
push str.Version
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x70]
call fcn.004cec73
push str.SKUNumber
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x8c]
call fcn.004cec73
movzx eax, byte [edi + 0xa8]
push eax
push str.IsOptimus
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push eax
call fcn.004cebbe
mov eax, dword [ebp - 0x2120]
cmp dword [eax + 0x14], 8
jb 0x4d4273
mov edx, dword [eax]
jmp 0x4d4275
mov edx, eax
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4d4281
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x64], 8
mov ecx, dword [ebp - 0x78]
jae 0x4d428d
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x2114]
lea edi, [ebp - 0xa8]
call fcn.004cf276
mov byte [ebp - 4], 0x1c
mov eax, edi
push eax
call fcn.004cf09b
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
mov esi, dword [ebp - 0x2128]
jmp 0x4d3aab
push 2
lea esi, [ebp - 0x78]
call fcn.004cf3d4
pop ecx
push 3
lea esi, [ebp - 0x2c]
call fcn.004cf3d4
pop ecx
push 0xffffffffffffffff
push str.MotherBoard
lea eax, [ebp - 0xa8]
push eax
call fcn.0045d000
mov byte [ebp - 4], 0x20
push ebx
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
mov eax, edi
call fcn.004cec73
push str.Model
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x1c]
call fcn.004cec73
push str.Version
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x38]
call fcn.004cec73
push str.BIOSVendor
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0xa8]
call fcn.004cec73
push str.BIOSVersion
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0xc4]
call fcn.004cec73
push str.BIOSReleaseDate
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0xe0]
call fcn.004cec73
push str.nForcePackageVersion
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x8c]
call fcn.004cec73
push str.Type
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x134]
call fcn.004cec73
push str.ChipsetName
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x54]
call fcn.004cec73
push 0x5ec8a8
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0xfc]
call fcn.004cec73
push str.ChipsetUID
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x70]
call fcn.004cec73
push str.SouthBridge
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x118]
call fcn.004cec73
mov eax, dword [ebp - 0x2120]
cmp dword [eax + 0x14], 8
jb 0x4d445f
mov edx, dword [eax]
jmp 0x4d4461
mov edx, eax
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4d446d
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x64], 8
mov ecx, dword [ebp - 0x78]
jae 0x4d4479
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x2114]
lea edi, [ebp - 0xa8]
call fcn.004cf276
mov byte [ebp - 4], 0x1f
mov eax, edi
push eax
call fcn.004cf09b
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
jmp 0x4d3b02
push 2
lea esi, [ebp - 0x78]
call fcn.004cf3d4
pop ecx
push 3
lea esi, [ebp - 0x2c]
call fcn.004cf3d4
pop ecx
push 0xffffffffffffffff
push str.BIOS
lea eax, [ebp - 0x5c]
push eax
call fcn.0045d000
mov byte [ebp - 4], 0x23
push str.BiosCharacteristics
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
mov eax, ebx
call fcn.004cec73
push str.BIOSVersion
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x1c]
call fcn.004cec73
push str.BuildNumber
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x38]
call fcn.004cec73
push str.Caption
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x54]
call fcn.004cec73
push str.CodeSet
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x70]
call fcn.004cec73
push str.CurrentLanguage
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x8c]
call fcn.004cec73
push str.Description
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0xa8]
call fcn.004cec73
push str.IdentificationCode
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0xc4]
call fcn.004cec73
mov esi, dword [ebx + 0xe0]
push str.InstallableLanguages
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push esi
mov esi, 0x5ec59c
push esi
add eax, 0x20
push eax
call fcn.004783df
add esp, 0xc
push str.InstallDate
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0xe4]
call fcn.004cec73
push str.LanguageEdition
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x100]
call fcn.004cec73
push str.ListOfLanguages
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x11c]
call fcn.004cec73
push str.Manufacturer
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x138]
call fcn.004cec73
push str.Name
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x154]
call fcn.004cec73
push str.OtherTargetOS
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x170]
call fcn.004cec73
mov edi, dword [ebx + 0x18c]
push str.PrimaryBIOS
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
add esp, 0xc
push str.ReleaseDate
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x190]
call fcn.004cec73
push str.SerialNumber
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x1ac]
call fcn.004cec73
push str.SMBIOSBIOSVersion
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x1c8]
call fcn.004cec73
mov edi, dword [ebx + 0x1e4]
push str.SMBIOSMajorVersion
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
mov edi, dword [ebx + 0x1e8]
add esp, 0xc
push str.SMBIOSMinorVersion
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
mov edi, dword [ebx + 0x1ec]
add esp, 0xc
push str.SMBIOSPresent
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
add esp, 0xc
push str.SoftwareElementID
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x1f0]
call fcn.004cec73
mov edi, dword [ebx + 0x20c]
push str.SoftwareElementState
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
add esp, 0xc
push str.Status
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x210]
call fcn.004cec73
mov edi, dword [ebx + 0x22c]
push str.TargetOperatingSystem
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
push edi
add eax, 0x20
push esi
push eax
call fcn.004783df
add esp, 0xc
push str.Version
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [ebx + 0x230]
call fcn.004cec73
mov eax, dword [ebp - 0x2120]
cmp dword [eax + 0x14], 8
jb 0x4d47eb
mov eax, dword [eax]
cmp dword [ebp - 0x18], 8
mov esi, dword [ebp - 0x2c]
jae 0x4d47f7
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x64], 8
mov ecx, dword [ebp - 0x78]
jae 0x4d4803
lea ecx, [ebp - 0x78]
push esi
push dword [ebp - 0x2114]
mov edx, eax
lea edi, [ebp - 0x5c]
call fcn.004cf276
mov byte [ebp - 4], 0x22
mov eax, edi
push eax
call fcn.004cf09b
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
jmp 0x4d3b54
mov esi, str.Develop
jmp 0x4d4850
mov esi, str.Release
jmp 0x4d4850
mov esi, str.Debug
push str.DrvCompileType
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf0fe
test esi, esi
je 0x4d486c
lea ebx, [eax + 0x20]
mov ecx, esi
call fcn.00477a02
mov eax, dword [edi + 0xe0]
sub eax, dword [edi + 0xdc]
and dword [ebp - 0x211c], 0
sar eax, 2
test eax, eax
je 0x4d4930
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf1c5
mov ecx, dword [ebp - 0x211c]
push 0xa
mov esi, eax
mov eax, dword [edi + 0xdc]
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi]
push 0
push ecx
push 0x5c6ec8
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [esi]
push str.DrvFileInfo
push 0x5c6b8c
mov ecx, esi
call dword [eax + 0x10]
cmp dword [ebx + 0x14], 8
jb 0x4d48d0
mov eax, dword [ebx]
jmp 0x4d48d2
mov eax, ebx
mov edx, dword [esi]
push eax
push str.file_name
mov ecx, esi
call dword [edx + 0x10]
lea eax, [ebx + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4d48ea
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push str.file_version
mov ecx, esi
call dword [edx + 0x10]
lea eax, [ebx + 0x38]
cmp dword [eax + 0x14], 8
jb 0x4d4902
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push str.file_date
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [edi + 0xe0]
sub eax, dword [edi + 0xdc]
inc dword [ebp - 0x211c]
sar eax, 2
cmp dword [ebp - 0x211c], eax
jb 0x4d488a
mov eax, dword [edi + 0xf0]
sub eax, dword [edi + 0xec]
and dword [ebp - 0x211c], 0
sar eax, 2
test eax, eax
je 0x4d4aa1
lea eax, [ebp - 0x5c]
push eax
call fcn.004cf1c5
mov ecx, dword [ebp - 0x211c]
push 0xa
mov esi, eax
mov eax, dword [edi + 0xec]
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi]
push 0
push ecx
push 0x5c6ec8
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [esi]
push str.Monitor
push 0x5c6b8c
mov ecx, esi
call dword [eax + 0x10]
lea eax, [ebx + 0x38]
cmp dword [eax + 0x14], 8
jb 0x4d4995
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push str.caption
mov ecx, esi
call dword [edx + 0x10]
cmp dword [ebx + 0x64], 0
je 0x4d49c0
lea eax, [ebx + 0x54]
cmp dword [eax + 0x14], 8
jb 0x4d49b3
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push str.status
mov ecx, esi
call dword [edx + 0x10]
cmp dword [ebx + 0x14], 8
jb 0x4d49ca
mov eax, dword [ebx]
jmp 0x4d49cc
mov eax, ebx
mov edx, dword [esi]
push eax
push str.device_id
mov ecx, esi
call dword [edx + 0x10]
lea eax, [ebx + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4d49e4
mov eax, dword [eax]
mov edx, dword [esi]
push eax
push str.device_description
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0xa
push 0
push dword [ebx + 0x78]
mov ecx, esi
push str.screen_height
call dword [eax + 0x30]
mov eax, dword [esi]
push 0xa
push 0
push dword [ebx + 0x7c]
mov ecx, esi
push str.screen_width
call dword [eax + 0x30]
mov eax, dword [esi]
push 0xa
push 0
push dword [ebx + 0x70]
mov ecx, esi
push str.x_position
call dword [eax + 0x30]
mov eax, dword [esi]
push 0xa
push 0
push dword [ebx + 0x74]
mov ecx, esi
push str.y_position
call dword [eax + 0x30]
mov eax, dword [esi]
push 0xa
push 0
push dword [ebx + 0x84]
mov ecx, esi
push str.bits_per_pixel
call dword [eax + 0x30]
mov eax, dword [esi]
push 0xa
push 0x5ec508
push dword [ebx + 0x80]
mov ecx, esi
push str.frequency
call dword [eax + 0x30]
movzx ecx, byte [ebx + 0x88]
mov eax, dword [esi]
push ecx
push str.VRRCapable
mov ecx, esi
call dword [eax + 0x18]
mov eax, dword [edi + 0xf0]
sub eax, dword [edi + 0xec]
inc dword [ebp - 0x211c]
sar eax, 2
cmp dword [ebp - 0x211c], eax
jb 0x4d494e
mov edx, dword [ebp - 0x2120]
cmp dword [edx + 0x14], 8
jb 0x4d4aaf
mov edx, dword [edx]
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4d4abb
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x64], 8
mov ecx, dword [ebp - 0x78]
jae 0x4d4ac7
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x2114]
lea edi, [ebp - 0x5c]
call fcn.004cf276
mov byte [ebp - 4], 0x27
mov eax, edi
push eax
call fcn.004cf09b
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
mov esi, dword [ebp - 0x2128]
mov eax, dword [esi + 0x1f14]
mov edi, dword [ebp - 0x213c]
mov eax, dword [eax + edi]
mov ecx, dword [eax + 0xf0]
add eax, 0xec
sub ecx, dword [eax]
xor ebx, ebx
sar ecx, 2
test ecx, ecx
je 0x4d4b7a
mov eax, dword [eax]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x89], 0
jne 0x4d4b5c
push dword [ebp - 0x2118]
lea ecx, [eax + 0x8a]
push dword [ebp - 0x2124]
push dword [ebp - 0x2114]
push dword [ebp - 0x212c]
call fcn.004d05e0
inc dword [ebp - 0x2124]
mov eax, dword [esi + 0x1f14]
mov eax, dword [eax + edi]
mov ecx, dword [eax + 0xf0]
add eax, 0xec
sub ecx, dword [eax]
inc ebx
sar ecx, 2
cmp ebx, ecx
jb 0x4d4b25
mov eax, dword [esi + 0x1f14]
mov ecx, dword [esi + 0x1f18]
inc dword [ebp - 0x2118]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x2118], ecx
jb 0x4d3cab
jmp 0x4d4c1d
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.004090d2
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov esi, eax
mov byte [ebp - 4], 0x29
push str.Error_when_write_Display_device
push esi
call fcn.0040fa1f
pop ecx
pop ecx
push ebx
push esi
call fcn.0040d432
lea eax, [ebp - 0x48]
push eax
mov eax, esi
call fcn.00409b30
mov byte [ebp - 4], 0x2a
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4d4bf8
lea eax, [ebp - 0x48]
push eax
push 4
pop ecx
call fcn.0047c666
pop ecx
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov edi, dword [ebp - 0x2128]
mov eax, dword [edi + 0x1f24]
mov ecx, dword [edi + 0x1f28]
and dword [ebp - 0x2118], 0
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x4d4e0f
mov esi, dword [ebp - 0x2118]
mov eax, dword [eax + esi*4]
mov ecx, dword [eax + 0xc4]
mov ebx, dword [eax + 0xc8]
or dword [ebp - 0x2124], 0xffffffff
xor eax, eax
mov dword [ebp - 0x2134], ecx
mov ecx, dword [edi + 0x1f74]
mov dword [ebp - 0x213c], eax
mov dword [ebp - 0x2144], eax
mov dword [ebp - 0x2148], eax
mov dword [ebp - 0x211c], eax
mov eax, dword [edi + 0x1f70]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x4d4d0b
mov ecx, dword [ebp - 0x211c]
mov eax, dword [eax + ecx*4]
add eax, 0x74
cmp dword [eax + 0x14], 8
jb 0x4d4ca8
mov eax, dword [eax]
lea ecx, [ebp - 0x2148]
push ecx
lea ecx, [ebp - 0x2144]
push ecx
lea ecx, [ebp - 0x213c]
push ecx
push str.PCI_bus__x__device__x__function__x
push eax
call fcn.0055faa6
mov eax, dword [ebp - 0x2144]
mov ecx, dword [ebp - 0x2148]
lea eax, [ecx + eax*8]
add esp, 0x14
cmp eax, ebx
jne 0x4d4cec
mov eax, dword [ebp - 0x2134]
cmp dword [ebp - 0x213c], eax
je 0x4d4d0b
mov eax, dword [edi + 0x1f70]
mov ecx, dword [edi + 0x1f74]
inc dword [ebp - 0x211c]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x211c], ecx
jb 0x4d4c94
mov ecx, dword [edi + 0x1f14]
mov eax, dword [edi + 0x1f18]
sub eax, ecx
sar eax, 2
xor ebx, ebx
test eax, eax
je 0x4d4d5b
mov eax, dword [edi + 0x1f24]
mov eax, dword [eax + esi*4]
lea ecx, [ecx + ebx*4]
mov ecx, dword [ecx]
add eax, 0x44
add ecx, 0xc
call fcn.0040cec3
test al, al
je 0x4d4d45
mov dword [ebp - 0x2124], ebx
mov ecx, dword [edi + 0x1f14]
mov eax, dword [edi + 0x1f18]
sub eax, ecx
inc ebx
sar eax, 2
cmp ebx, eax
jb 0x4d4d22
push dword [ebp - 0x2124]
mov eax, dword [edi + 0x1f24]
push dword [ebp - 0x2114]
mov ecx, dword [eax + esi*4]
push dword [ebp - 0x212c]
call fcn.004d1254
test al, al
je 0x4d4da4
mov eax, dword [edi + 0x1f24]
mov ecx, dword [edi + 0x1f28]
inc dword [ebp - 0x2118]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x2118], ecx
jb 0x4d4c43
jmp 0x4d4e0f
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov esi, eax
mov byte [ebp - 4], 0x2b
push str.Error_when_write_gpu_info
push esi
call fcn.0040fa1f
pop ecx
pop ecx
push dword [ebp - 0x2124]
push esi
call fcn.0040d526
lea eax, [ebp - 0x48]
push eax
mov eax, esi
call fcn.00409b30
mov byte [ebp - 4], 0x2c
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4d4dea
lea eax, [ebp - 0x48]
push eax
push 4
pop ecx
call fcn.0047c666
pop ecx
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov ecx, dword [edi + 0x1f34]
mov eax, dword [edi + 0x1f38]
sub eax, ecx
push 0x1c
cdq
pop ebx
idiv ebx
xor esi, esi
mov dword [ebp - 0x2124], esi
test eax, eax
je 0x4d4e67
push dword [ebp - 0x2114]
add ecx, esi
push dword [ebp - 0x212c]
call fcn.004d30c1
mov ecx, dword [edi + 0x1f34]
mov eax, dword [edi + 0x1f38]
sub eax, ecx
push 0x1c
cdq
pop ebx
idiv ebx
inc dword [ebp - 0x2124]
add esi, 0x1c
cmp dword [ebp - 0x2124], eax
jb 0x4d4e2f
mov ebx, dword [ebp - 0x212c]
mov edx, dword [ebp - 0x2114]
mov ecx, ebx
call fcn.004cfd19
mov edx, dword [ebp - 0x2114]
mov ecx, ebx
call fcn.004cffeb
push dword [ebp - 0x2114]
mov ecx, ebx
call fcn.004d02bb
lea eax, [ebp - 0xe0]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x2134], esp
push str.hardware
call fcn.00409096
mov byte [ebp - 4], 0x2d
push ebx
mov byte [ebp - 4], 4
lea esi, [ebp + 0x10]
call fcn.004d5981
test al, al
je 0x4d4eed
mov esi, dword [ebp - 0x2114]
push 0
lea eax, [ebp - 0xe0]
push eax
or eax, 0xffffffff
call fcn.0040ab69
push 0x5c26ec
lea eax, [ebp - 0xe0]
push eax
call fcn.0040ad38
lea ecx, [ebp - 0x100]
call fcn.00409083
mov byte [ebp - 4], 0x2e
push 2
lea esi, [ebp - 0xc4]
call fcn.004cf3d4
lea eax, [ebp - 0x2c]
mov dword [esp], str.____Insert_additional_hardware_here___
push eax
mov ebx, esi
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x2120]
cmp dword [ecx + 0x14], 8
jb 0x4d4f2f
mov ecx, dword [ecx]
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x30
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2c]
call fcn.004090d2
lea eax, [ebp - 0x78]
push str.__hardware_
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x2120]
cmp dword [ecx + 0x14], 8
jb 0x4d4f90
mov ecx, dword [ecx]
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x32
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x78]
call fcn.004090d2
lea eax, [ebp - 0x2c]
push str._software_
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x2120]
cmp dword [ecx + 0x14], 8
jb 0x4d4ff1
mov ecx, dword [ecx]
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x34
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2c]
call fcn.004090d2
push str.WriteShimSection____Now_write_OS
push 4
pop ebx
mov ecx, ebx
call fcn.0047c666
cmp byte [edi + 0xd], 0
pop ecx
lea ecx, [edi + 0x28]
je 0x4d5060
push esi
push dword [ebp - 0x212c]
call fcn.004d28f0
test al, al
jne 0x4d5060
push str.Write_OS_info_failed_
mov ecx, ebx
call fcn.0047c666
pop ecx
push str.WriteShimSection____Now_write_.NET_FW_info
mov ecx, ebx
call fcn.0047c666
pop ecx
push esi
push dword [ebp - 0x212c]
lea ecx, [edi + 0x1f98]
call fcn.004d3241
push str.WriteShimSection____Now_write_PCI_Device
mov ecx, ebx
call fcn.0047c666
mov eax, dword [edi + 0x1f70]
and dword [ebp - 0x2118], 0
pop ecx
mov ecx, dword [edi + 0x1f74]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x4d511e
mov ecx, dword [ebp - 0x2118]
lea eax, [eax + ecx*4]
mov edi, dword [eax]
lea ecx, [ebp - 0x78]
call fcn.00409083
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2c]
call fcn.00409083
mov byte [ebp - 4], 0x36
test edi, edi
jne 0x4d51ad
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x78]
call fcn.004090d2
push str.Write_PCI_device_failed_
push 4
pop ecx
call fcn.0047c666
pop ecx
mov ecx, dword [ebp - 0x2128]
mov eax, dword [ecx + 0x1f70]
mov ecx, dword [ecx + 0x1f74]
inc dword [ebp - 0x2118]
sub ecx, eax
sar ecx, 2
cmp dword [ebp - 0x2118], ecx
jb 0x4d50a8
lea eax, [ebp - 0xe0]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x2134], esp
push str.software
call fcn.00409096
mov byte [ebp - 4], 0x38
push dword [ebp - 0x212c]
mov byte [ebp - 4], 0x2e
lea esi, [ebp + 0x10]
call fcn.004d5981
test al, al
je 0x4d517c
mov esi, dword [ebp - 0x2114]
push 0
lea eax, [ebp - 0xe0]
push eax
or eax, 0xffffffff
call fcn.0040ab69
push 0x5c26ec
lea eax, [ebp - 0xe0]
push eax
call fcn.0040ad38
lea eax, [ebp - 0x2c]
push str.____Insert_additional_software_here___
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x39
mov edi, dword [ebp - 0x2120]
cmp dword [edi + 0x14], 8
jb 0x4d5348
mov ecx, dword [edi]
jmp 0x4d534a
push 2
lea esi, [ebp - 0x78]
call fcn.004cf3d4
pop ecx
push 3
lea esi, [ebp - 0x2c]
call fcn.004cf3d4
pop ecx
push dword [edi]
lea eax, [ebp - 0xa8]
push str.PCIDevice
push eax
call fcn.0045d000
mov byte [ebp - 4], 0x37
mov esi, dword [edi + 0x108]
push str.VendorID
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push esi
mov esi, str._08X
add eax, 0x20
push esi
push eax
call fcn.004783df
mov ebx, dword [edi + 0x10c]
add esp, 0xc
push 0x5e550c
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push ebx
add eax, 0x20
push esi
push eax
call fcn.004783df
mov ebx, dword [edi + 0x110]
add esp, 0xc
push str.SUBSYS
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push ebx
add eax, 0x20
push esi
push eax
call fcn.004783df
mov ebx, dword [edi + 0x114]
add esp, 0xc
push 0x5eb938
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
push ebx
add eax, 0x20
push esi
push eax
call fcn.004783df
add esp, 0xc
push str.DriverProvider
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x3c]
call fcn.004cec73
push str.DriverVersion
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x58]
call fcn.004cec73
push str.DeviceDescription
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0xb0]
call fcn.004cec73
push str.Identity
lea eax, [ebp - 0xa8]
push eax
call fcn.004cf0fe
mov ecx, eax
lea eax, [edi + 0x118]
call fcn.004cec73
mov eax, dword [ebp - 0x2120]
cmp dword [eax + 0x14], 8
jb 0x4d52f3
mov eax, dword [eax]
cmp dword [ebp - 0x18], 8
mov esi, dword [ebp - 0x2c]
jae 0x4d52ff
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x64], 8
mov ecx, dword [ebp - 0x78]
jae 0x4d530b
lea ecx, [ebp - 0x78]
push esi
push dword [ebp - 0x2114]
mov edx, eax
lea edi, [ebp - 0xa8]
call fcn.004cf276
mov byte [ebp - 4], 0x36
mov eax, edi
push eax
call fcn.004cf09b
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2c]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x78]
call fcn.004090d2
jmp 0x4d50f9
mov ecx, edi
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x3a
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2c]
call fcn.004090d2
lea eax, [ebp - 0x78]
push str.__software_
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x3b
cmp dword [edi + 0x14], 8
jb 0x4d53a7
mov ecx, dword [edi]
jmp 0x4d53a9
mov ecx, edi
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x3c
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x78]
call fcn.004090d2
lea eax, [ebp - 0x2c]
push str._network_environment_
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x3d
cmp dword [edi + 0x14], 8
jb 0x4d5406
mov ecx, dword [edi]
jmp 0x4d5408
mov ecx, edi
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x3e
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2c]
call fcn.004090d2
lea eax, [ebp - 0xe0]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x2134], esp
push str.network_environment
call fcn.00409096
mov byte [ebp - 4], 0x3f
push dword [ebp - 0x212c]
mov byte [ebp - 4], 0x2e
lea esi, [ebp + 0x10]
call fcn.004d5981
test al, al
je 0x4d549f
mov esi, dword [ebp - 0x2114]
push 0
lea eax, [ebp - 0xe0]
push eax
or eax, 0xffffffff
call fcn.0040ab69
push 0x5c26ec
lea eax, [ebp - 0xe0]
push eax
call fcn.0040ad38
lea eax, [ebp - 0x2c]
push str.____Insert_additional_network_environment_here___
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x40
cmp dword [edi + 0x14], 8
jb 0x4d54c3
mov ecx, dword [edi]
jmp 0x4d54c5
mov ecx, edi
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x41
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2c]
call fcn.004090d2
lea eax, [ebp - 0x78]
push str.__network_environment_
push eax
lea ebx, [ebp - 0xc4]
call fcn.0040cf5b
pop ecx
pop ecx
mov byte [ebp - 4], 0x42
cmp dword [edi + 0x14], 8
jb 0x4d5522
mov ecx, dword [edi]
jmp 0x4d5524
mov ecx, edi
push ecx
push eax
lea eax, [ebp - 0x48]
call fcn.0040d052
pop ecx
pop ecx
mov byte [ebp - 4], 0x43
mov esi, dword [ebp - 0x2114]
push 0
push eax
or eax, 0xffffffff
call fcn.0040ab69
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x78]
call fcn.004090d2
push str.____Insert_additional_sections_here___
push esi
call fcn.004090e2
cmp dword [edi + 0x14], 8
jb 0x4d5570
mov edi, dword [edi]
push edi
push esi
call fcn.004090e2
push str.__shim__n
push esi
call fcn.004090e2
mov esi, dword [esi + 0x10]
lea eax, [ebp - 0x21e0]
push eax
call fcn.00409ac6
mov edi, eax
mov byte [ebp - 4], 0x44
push str.Exit_WriteShimSection_length
push edi
call fcn.0040fa1f
pop ecx
pop ecx
push esi
push edi
call fcn.0040d432
lea eax, [ebp - 0x48]
push eax
mov eax, edi
call fcn.00409b30
mov byte [ebp - 4], 0x45
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4d55c6
lea eax, [ebp - 0x48]
push eax
push 4
pop ecx
call fcn.0047c666
pop ecx
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x48]
call fcn.004090d2
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x21e0]
call fcn.004021a3
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x100]
call fcn.004090d2
xor esi, esi
jmp 0x4d34bc