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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5862ec
mov eax, dword fs:[0]
push eax
sub esp, 0x74
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6015a8]
xor eax, esp
push eax
lea eax, [esp + 0x88]
mov dword fs:[0], eax
mov dword [esp + 0x6c], ecx
xor edi, edi
or ebp, 0xffffffff
call fcn.00461b70
mov ecx, eax
call fcn.0045dc90
test eax, eax
je 0x4b03e9
call fcn.00461b70
mov ecx, eax
call fcn.0045dc90
mov eax, dword [eax + 8]
test eax, eax
je 0x4b03e9
mov ebx, dword [eax + 4]
mov dword [esp + 0x80], ebx
test ebx, ebx
je 0x4b03e9
mov esi, dword [ebx + 4]
test esi, esi
je 0x4b03e9
mov ecx, esi
call fcn.0047ce30
cmp eax, 0x1002
jne 0x4b03ca
mov ecx, esi
call fcn.0047ac60
mov ebx, eax
test ebx, ebx
je case.0x4b0327.39170
cmp byte [ebx + 0x16], 0
jne case.0x4b0327.39170
lea eax, [esp + 0x18]
push eax
push 0x10
mov ecx, ebx
call fcn.00492580
test eax, eax
je 0x4aeeda
mov eax, dword [esp + 0x18]
test al, 1
jne 0x4aeeda
mov ecx, eax
shr ecx, 1
and ecx, 3
sub ecx, 2
je 0x4aee4b
and eax, 0xfffffff0
mov dword [esp + 0x74], eax
jbe 0x4aeeda
push 0x2000000
push eax
push 0
call fcn.00461b70
mov ecx, eax
call fcn.00460820
mov edi, eax
test edi, edi
jne 0x4aeed4
push 0x14
call fcn.00551d80
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], 1
test eax, eax
je 0x4aeeb9
mov ecx, dword [esp + 0x74]
push 0xffffffffffffffff
push ecx
push edi
mov ecx, eax
call fcn.004937e0
mov edi, eax
jmp 0x4aeebb
lea edx, [esp + 0x78]
push edx
and eax, 0xfffffff0
push 0x14
mov ecx, ebx
mov dword [esp + 0x7c], eax
call fcn.00492580
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
test eax, eax
ja 0x4aee70
test ecx, ecx
jbe 0x4aeeda
push 0x2000000
push eax
push ecx
call fcn.00461b70
mov ecx, eax
call fcn.00460820
mov edi, eax
test edi, edi
jne 0x4aeed4
push 0x14
call fcn.00551d80
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], edi
test eax, eax
je 0x4aeeb9
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
push 0xffffffffffffffff
push ecx
push edx
mov ecx, eax
call fcn.004937e0
mov edi, eax
jmp 0x4aeebb
xor edi, edi
mov dword [esp + 0x90], 0xffffffff
call fcn.00461b70
mov ecx, dword [eax + 0x20]
push edi
call fcn.004498ec
mov dword [esi + 0x634], edi
lea eax, [esp + 0x18]
push eax
push 0x18
mov ecx, ebx
call fcn.00492580
test eax, eax
je 0x4aeffa
mov eax, dword [esp + 0x18]
test al, 1
jne 0x4aeffa
mov ecx, eax
shr ecx, 1
and ecx, 3
sub ecx, 2
je 0x4aef67
and eax, 0xfffffff0
mov dword [esp + 0x74], eax
jbe 0x4aeffa
push 0x2000000
push eax
push 0
call fcn.00461b70
mov ecx, eax
call fcn.00460820
mov edi, eax
test edi, edi
jne 0x4aeff4
push 0x14
call fcn.00551d80
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], 3
test eax, eax
je 0x4aefd9
mov ecx, dword [esp + 0x74]
push 0xffffffffffffffff
push ecx
push edi
mov ecx, eax
call fcn.004937e0
mov edi, eax
jmp 0x4aefdb
lea edx, [esp + 0x78]
push edx
and eax, 0xfffffff0
push 0x1c
mov ecx, ebx
mov dword [esp + 0x7c], eax
call fcn.00492580
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
test eax, eax
ja 0x4aef8c
test ecx, ecx
jbe 0x4aeffa
push 0x2000000
push eax
push ecx
call fcn.00461b70
mov ecx, eax
call fcn.00460820
mov edi, eax
test edi, edi
jne 0x4aeff4
push 0x14
call fcn.00551d80
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], 2
test eax, eax
je 0x4aefd9
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
push 0xffffffffffffffff
push ecx
push edx
mov ecx, eax
call fcn.004937e0
mov edi, eax
jmp 0x4aefdb
xor edi, edi
mov dword [esp + 0x90], 0xffffffff
call fcn.00461b70
mov ecx, dword [eax + 0x20]
push edi
call fcn.004498ec
mov dword [esi + 0x63c], edi
mov eax, 0x6978
mov dword [esi + 0x590], eax
mov dword [esi + 0x58c], eax
mov eax, dword [esp + 0x6c]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.0047abc0
cmp dword [esi + 0x4b0], 0xffffffff
jne 0x4af02c
mov dword [esi + 0x4b0], 0x2000000
mov edi, 1
cmp ebp, 0xffffffff
jne 0x4af0b3
call fcn.00461b70
cmp dword [eax + 0x1c], 0
je 0x4af0b3
call fcn.00461b70
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [eax + 0x1c]
push 0
push 0xc0000
push 0
call fcn.0043c482
mov eax, dword [esp + 0x18]
mov edx, eax
and edx, 0xff00
cmp edx, 0xaa00
jne 0x4af07b
cmp al, 0x55
jne 0x4af07b
mov ebp, 0xc0000
jmp 0x4af0b3
call fcn.00461b70
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [eax + 0x1c]
push 0
push 0xe0000
push 0
call fcn.0043c482
mov eax, dword [esp + 0x18]
mov edx, eax
and edx, 0xff00
cmp edx, 0xaa00
jne 0x4af0b3
cmp al, 0x55
jne 0x4af0b3
mov ebp, 0xe0000
mov eax, dword [ebx + 0x18]
movzx eax, word [eax + 6]
cmp eax, 0x7103
jg 0x4af621
cmp eax, 0x7100
jge case.0x4af67d.29248
cmp eax, 0x5549
jg 0x4af2d0
je 0x4af174
cmp eax, 0x4a4e
jg 0x4af183
je 0x4af1f9
cmp eax, 0x4148
jg 0x4af135
je 0x4af1f9
cmp eax, 0x3154
jg 0x4af125
je 0x4af1f9
sub eax, 0x3150
je 0x4af1f9
sub eax, 2
je 0x4af1f9
jmp case.0x4af6d9.38154
cmp eax, 0x4146
je 0x4af1f9
jmp case.0x4af6d9.38154
cmp eax, 0x4a4a
jg 0x4af169
cmp eax, 0x4a49
jge 0x4af174
cmp eax, 0x4150
jl case.0x4af6d9.38154
cmp eax, 0x4152
jle 0x4af1f9
cmp eax, 0x4155
je 0x4af1f9
jmp case.0x4af6d9.38154
cmp eax, 0x4a4d
jne case.0x4af6d9.38154
mov dword [esi + 0x4b0], 0x2040000
jmp case.0x4af6d9.38154
cmp eax, 0x4e52
jg 0x4af1cf
cmp eax, 0x4e50
jge 0x4af1f9
cmp eax, 0x4e46
jg 0x4af1b8
je 0x4af1f9
cmp eax, 0x4b49
jl case.0x4af6d9.38154
cmp eax, 0x4b4c
jle 0x4af174
cmp eax, 0x4e44
je 0x4af1f9
jmp case.0x4af6d9.38154
cmp eax, 0x4e48
jl case.0x4af6d9.38154
cmp eax, 0x4e4a
jle 0x4af1f9
jmp case.0x4af6d9.38154
cmp eax, 0x5462
jg 0x4af1ee
cmp eax, 0x5460
jge 0x4af1f9
sub eax, 0x4e54
je 0x4af1f9
sub eax, 2
je 0x4af1f9
jmp case.0x4af6d9.38154
cmp eax, 0x5464
jne case.0x4af6d9.38154
mov dword [esi + 0x4b0], 0x2030000
cmp ebp, 0xffffffff
je case.0x4af6d9.38154
call fcn.00461b70
cmp dword [eax + 0x1c], 0
je case.0x4af6d9.38154
call fcn.00461b70
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0043c482
mov eax, dword [esp + 0x40]
and eax, 0xffff
mov dword [esp + 0x40], eax
dec eax
cmp eax, 0x6ffe
ja case.0x4af6d9.38154
call fcn.00461b70
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x44]
push edx
add ecx, 0x30
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
mov eax, dword [esp + 0x44]
and eax, 0xffff
mov dword [esp + 0x44], eax
dec eax
cmp eax, 0x6ffe
ja case.0x4af6d9.38154
call fcn.00461b70
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x18]
push edx
add ecx, 0x26
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
mov eax, dword [esp + 0x18]
and eax, 0xffff
lea edx, [eax - 0xb]
mov dword [esp + 0x18], eax
cmp edx, 0x2704
ja case.0x4af6d9.38154
lea eax, [eax + eax*4]
add eax, eax
mov dword [esi + 0x590], eax
mov dword [esi + 0x58c], eax
jmp case.0x4af6d9.38154
cmp eax, 0x5d52
jg 0x4af46a
je 0x4af174
cmp eax, 0x5653
jg 0x4af351
cmp eax, 0x5652
jge 0x4af174
cmp eax, 0x5551
jg 0x4af32b
cmp eax, 0x5550
jge 0x4af174
cmp eax, 0x554b
je 0x4af174
cmp eax, 0x554c
jle case.0x4af6d9.38154
cmp eax, 0x554e
jle 0x4af174
jmp case.0x4af6d9.38154
cmp eax, 0x564a
jl case.0x4af6d9.38154
cmp eax, 0x564b
jle 0x4af174
cmp eax, 0x564f
je 0x4af174
jmp case.0x4af6d9.38154
cmp eax, 0x5d4e
jg 0x4af45a
cmp eax, 0x5d4d
jge 0x4af174
cmp eax, 0x5960
je 0x4af389
cmp eax, 0x5d47
jle case.0x4af6d9.38154
cmp eax, 0x5d4a
jle 0x4af174
jmp case.0x4af6d9.38154
mov dword [esi + 0x4b0], 0x2020000
cmp ebp, 0xffffffff
je case.0x4af6d9.38154
call fcn.00461b70
cmp dword [eax + 0x1c], 0
je case.0x4af6d9.38154
call fcn.00461b70
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0043c482
mov eax, dword [esp + 0x48]
and eax, 0xffff
mov dword [esp + 0x48], eax
dec eax
cmp eax, 0x6ffe
ja case.0x4af6d9.38154
call fcn.00461b70
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x4c]
push edx
add ecx, 0x30
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
mov eax, dword [esp + 0x4c]
and eax, 0xffff
mov dword [esp + 0x4c], eax
dec eax
cmp eax, 0x6ffe
ja case.0x4af6d9.38154
call fcn.00461b70
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x18]
push edx
add ecx, 0x26
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
mov eax, dword [esp + 0x18]
and eax, 0xffff
lea edx, [eax - 0xb]
mov dword [esp + 0x18], eax
cmp edx, 0x2704
ja case.0x4af6d9.38154
lea eax, [eax + eax*4]
add eax, eax
mov dword [esi + 0x58c], eax
jmp case.0x4af6d9.38154
cmp eax, 0x5d50
je 0x4af174
jmp case.0x4af6d9.38154
cmp eax, 0x689e
jg 0x4af605
je case.0x4af61a.26808
cmp eax, 0x6739
jg 0x4af5df
cmp eax, 0x6738
jge case.0x4af61a.26808
cmp eax, 0x5e48
je 0x4af174
cmp eax, 0x6718
jne case.0x4af6d9.38154
cmp ebp, 0xffffffff
je 0x4af5b6
call fcn.00461b70
cmp dword [eax + 0x1c], 0
je 0x4af5b6
call fcn.00461b70
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0x20]
push edx
push 0x48
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x20], 0xffff
call fcn.00461b70
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 4
push edx
push ebp
push 0
call fcn.0043c482
cmp dword [esp + 0x1c], 0x4d4f5441
jne 0x4af5b6
call fcn.00461b70
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 0x20
push edx
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x50], 0xffff
call fcn.00461b70
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 0xc
push edx
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x24], 0xffff
call fcn.00461b70
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 0x52
push edx
push ebp
push 0
call fcn.0043c482
movzx eax, word [esp + 0x1c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x1c], eax
mov dword [esi + 0x590], eax
mov dword [esi + 0x58c], eax
call fcn.00461b70
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 0x54
push edx
push ebp
push 0
call fcn.0043c482
movzx eax, word [esp + 0x1c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x1c], eax
shr eax, 2
mov dword [esi + 0x590], eax
mov eax, dword [ebx + 0x18]
xor edx, edx
mov ecx, 0x6718
cmp word [eax + 6], cx
setne dl
dec edx
and edx, 0x10000
add edx, 0x20c0000
mov dword [esi + 0x4b0], edx
jmp case.0x4af6d9.38154
cmp eax, 0x6898
jl case.0x4af6d9.38154
cmp eax, 0x6899
jle case.0x4af61a.26808
cmp eax, 0x689c
je case.0x4af61a.26808
jmp case.0x4af6d9.38154
sub eax, 0x68b8
cmp eax, 0x20
ja case.0x4af6d9.38154
movzx ecx, byte [eax + 0x4b040c]
jmp dword [ecx*4 + 0x4b0404]
cmp eax, 0x7211
jg 0x4af64d
cmp eax, 0x7210
jge case.0x4af67d.29248
sub eax, 0x7105
cmp eax, 0xd9
ja case.0x4af6d9.38154
movzx eax, byte [eax + 0x4b0438]
jmp dword [eax*4 + 0x4b0430]
cmp eax, 0x9501
jg 0x4af6b1
je case.0x4af6d9.38148
cmp eax, 0x9403
jg 0x4af693
cmp eax, 0x9400
jge case.0x4af6d9.38148
sub eax, 0x7240
cmp eax, 0x53
ja case.0x4af6d9.38154
movzx ecx, byte [eax + 0x4b051c]
jmp dword [ecx*4 + 0x4b0514]
mov dword [esi + 0x4b0], 0x2050000
jmp case.0x4af6d9.38154
sub eax, 0x9405
cmp eax, 0xc7
ja case.0x4af6d9.38154
movzx edx, byte [eax + 0x4b057c]
jmp dword [edx*4 + 0x4b0570]
cmp eax, 0x9610
jg 0x4af8ae
je 0x4af8c5
sub eax, 0x9504
cmp eax, 0xcb
ja case.0x4af6d9.38154
movzx eax, byte [eax + 0x4b0650]
jmp dword [eax*4 + 0x4b0644]
cmp ebp, 0xffffffff
je 0x4af9a8
call fcn.00461b70
cmp dword [eax + 0x1c], 0
je 0x4af9a8
call fcn.00461b70
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x28], 0xffff
call fcn.00461b70
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push edx
add ecx, 4
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
cmp dword [esp + 0x2c], 0x4d4f5441
jne 0x4af9a8
call fcn.00461b70
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x54]
push edx
add ecx, 0x20
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x54], 0xffff
call fcn.00461b70
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x58]
push edx
add ecx, 0xc
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x58], 0xffff
call fcn.00461b70
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x2c]
push edx
add ecx, 0x52
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
movzx eax, word [esp + 0x2c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x2c], eax
jmp 0x4af99c
cmp ebp, 0xffffffff
je 0x4af89f
call fcn.00461b70
cmp dword [eax + 0x1c], 0
je 0x4af89f
call fcn.00461b70
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0x30]
push edx
push 0x48
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x30], 0xffff
call fcn.00461b70
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 4
push edx
push ebp
push 0
call fcn.0043c482
cmp dword [esp + 0x34], 0x4d4f5441
jne 0x4af89f
call fcn.00461b70
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 0x20
push edx
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x5c], 0xffff
call fcn.00461b70
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 0xc
push edx
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x60], 0xffff
call fcn.00461b70
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [eax + 0x1c]
add edx, 0x52
push edx
push ebp
push 0
call fcn.0043c482
movzx eax, word [esp + 0x34]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x34], eax
mov dword [esi + 0x590], eax
mov dword [esi + 0x58c], eax
mov dword [esi + 0x4b0], 0x2070000
jmp case.0x4af6d9.38154
sub eax, 0x9612
je 0x4af8c5
sub eax, 2
je 0x4af8c5
sub eax, 0xfc
jne case.0x4af6d9.38154
cmp ebp, 0xffffffff
je 0x4af9a8
call fcn.00461b70
cmp dword [eax + 0x1c], 0
je 0x4af9a8
call fcn.00461b70
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x38], 0xffff
call fcn.00461b70
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x3c]
push edx
add ecx, 4
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
cmp dword [esp + 0x3c], 0x4d4f5441
jne 0x4af9a8
call fcn.00461b70
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x64]
push edx
add ecx, 0x20
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x64], 0xffff
call fcn.00461b70
mov ecx, dword [esp + 0x64]
lea edx, [esp + 0x68]
push edx
add ecx, 0xc
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
and dword [esp + 0x68], 0xffff
call fcn.00461b70
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x3c]
push edx
add ecx, 0x52
push ecx
mov ecx, dword [eax + 0x1c]
push ebp
push 0
call fcn.0043c482
movzx eax, word [esp + 0x3c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x3c], eax
mov dword [esi + 0x58c], eax
mov dword [esi + 0x590], eax
mov dword [esi + 0x4b0], 0x2060000
mov ecx, dword [ebx + 0x18]
movzx eax, word [ecx + 6]
cmp eax, 0x6898
jg 0x4afdb2
je 0x4afd9f
cmp eax, 0x6640
jg 0x4afaff
je 0x4afaf5
cmp eax, 0x4750
jg 0x4afa67
je 0x4afa54
cmp eax, 0x1316
jg 0x4afa27
je 0x4afa14
sub eax, 0x130f
je 0x4afa01
sub eax, 4
jne case.0x4b0327.39170
push str.AMD_Radeon_R7
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_R5
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
sub eax, 0x4744
je 0x4afa41
sub eax, 5
jne case.0x4b0327.39170
push str.ATI_Mach64_GI__Rage_Pro_
jmp 0x4b03a8
push str.ATI_Mach64_GD__Rage_Pro_
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Mach64_GP__Rage_Pro_
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
cmp eax, 0x515e
jg 0x4afabf
je 0x4afab5
sub eax, 0x4751
je 0x4afaa2
sub eax, 1
je 0x4afa8f
sub eax, 3
jne case.0x4b0327.39170
push str.ATI_Mach64_GT__Rage_II_
jmp 0x4b03a8
push str.ATI_Mach64_GR__Rage_XL_XC_
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Mach64_GQ__Rage_Pro_
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.ATI_ES1000
jmp 0x4b03a8
sub eax, 0x5964
je 0x4afae2
sub eax, 1
jne case.0x4b0327.39170
push str.ATI_FireMV_2200_PCI
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Radeon_9200_SE
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_8950
jmp 0x4b03a8
cmp eax, 0x6798
jg 0x4afc7f
je 0x4afc75
sub eax, 0x6646
cmp eax, 0xf3
ja case.0x4b0327.39170
movzx edx, byte [eax + 0x4b0750]
jmp dword [edx*4 + 0x4b071c]
cmp byte [ecx + 0xc], 0x80
jne 0x4afb4a
push str.AMD_Radeon_R9_M385
lea eax, [esi + 0x10]
push 0x100
push eax
call fcn.00564635
add esp, 0xc
push str.AMD_Radeon_R9_M280X
jmp 0x4b03a8
cmp byte [ecx + 0xc], 0x80
jne 0x4afb70
push str.AMD_Radeon_R9_M380
lea edx, [esi + 0x10]
push 0x100
push edx
call fcn.00564635
add esp, 0xc
push str.AMD_Radeon_R9_M270X
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_FirePro_W5100
jmp 0x4b03a8
push str.AMD_Radeon_R7_200
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_7700
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_R7_200
jmp 0x4b03a8
push str.AMD_Radeon_R7_300
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
movzx eax, byte [ecx + 0xc]
sub eax, 0x81
je 0x4afbf3
sub eax, 2
je 0x4afc09
push str.AMD_Radeon_HD_8600M
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_R5_M335
lea eax, [esi + 0x10]
push 0x100
push eax
call fcn.00564635
add esp, 0xc
push str.AMD_Radeon_R5_M330
lea ecx, [esi + 0x10]
push 0x100
push ecx
call fcn.00564635
add esp, 0xc
push str.AMD_Radeon_HD_8600M
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_VII
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_6850
jmp 0x4b03a8
push str.AMD_Radeon_HD_6870
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_6970
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_7970
jmp 0x4b03a8
sub eax, 0x6810
cmp eax, 0x6f
ja case.0x4b0327.39170
movzx edx, byte [eax + 0x4b086c]
jmp dword [edx*4 + 0x4b0844]
cmp byte [ecx + 0xc], 0
jne 0x4afcb7
push str.AMD_Radeon_HD_8800
lea eax, [esi + 0x10]
push 0x100
push eax
call fcn.00564635
add esp, 0xc
push str.AMD_Radeon_R9_270
jmp 0x4b03a8
cmp byte [ecx + 0xc], 0
jne 0x4afcdd
push str.AMD_Radeon_HD_8800
lea edx, [esi + 0x10]
push 0x100
push edx
call fcn.00564635
add esp, 0xc
push str.AMD_Radeon_R7_300
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_7800
jmp 0x4b03a8
push str.AMD_Radeon_HD_7800
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_7700M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_7730M
jmp 0x4b03a8
push str.AMD_Radeon_HD_7700
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_7600M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
movzx eax, byte [ecx + 0xc]
sub eax, 0xc0
je 0x4afd95
sub eax, 1
je 0x4afd82
sub eax, 2
je 0x4afd6f
push str.AMD_Radeon_RX_Vega
jmp 0x4b03a8
push str.AMD_Radeon_RX_Vega_56
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_RX_Vega_64
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_RX_Vega_64
jmp 0x4b03a8
push str.ATI_Radeon_HD_5870
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
cmp eax, 0x9440
jg 0x4b01b0
je 0x4b01a6
cmp eax, 0x71c0
jg 0x4afee4
je 0x4afed1
cmp eax, 0x68c1
jg 0x4afe59
je 0x4afe46
sub eax, 0x6899
cmp eax, 0x25
ja case.0x4b0327.39170
movzx eax, byte [eax + 0x4b08f4]
jmp dword [eax*4 + 0x4b08dc]
push str.ATI_Radeon_HD_5850
jmp 0x4b03a8
push str.ATI_Radeon_HD_5900
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Radeon_HD_5830
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.ATI_Radeon_HD_5770
jmp 0x4b03a8
push str.ATI_Radeon_HD_5750
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Mobility_Radeon_HD_5650
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
cmp eax, 0x6939
jg 0x4afea2
je 0x4afe8f
sub eax, 0x68d8
je 0x4afe7c
sub eax, 0x60
jne case.0x4b0327.39170
push str.ATI_Radeon_R9_380X
jmp 0x4b03a8
push str.ATI_Radeon_HD_5670
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Radeon_R9_380
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
cmp eax, 0x6fdf
je 0x4afebe
cmp eax, 0x7188
jne case.0x4b0327.39170
push str.ATI_Mobility_Radeon_X2300
jmp 0x4b03a8
push str.AMD_Radeon_RX_580_2048SP
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Radeon_X1600
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
cmp eax, 0x73ef
jg 0x4b00a6
je 0x4b0053
sub eax, 0x731f
cmp eax, 0xc0
ja case.0x4b0327.39170
movzx edx, byte [eax + 0x4b0934]
jmp dword [edx*4 + 0x4b091c]
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff40
cmp eax, 0xa
ja case.0x4b0327.39170
movzx eax, byte [eax + 0x4b0a0c]
jmp dword [eax*4 + 0x4b09f8]
push str.AMD_Radeon_RX_5700_XT
jmp 0x4b03a8
push str.AMD_Radeon_RX_5700_XT
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_RX_5700
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_RX_5600_XT
jmp 0x4b03a8
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff3f
cmp eax, 0xe
ja case.0x4b0327.39170
movzx edx, byte [eax + 0x4b0a2c]
jmp dword [edx*4 + 0x4b0a18]
push str.AMD_Radeon_RX_5500M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_RX_5500_XT
jmp 0x4b03a8
push str.AMD_Radeon_RX_5500
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_RX_5300
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_RX_6900_XT
jmp 0x4b03a8
movzx eax, byte [ecx + 0xc]
sub eax, 0xc0
je case.0x4aff0c.29615
sub eax, 1
je 0x4b0006
sub eax, 2
jne case.0x4b0327.39170
push str.AMD_Radeon_RX_6800
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_RX_6800_XT
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
movzx eax, byte [ecx + 0xc]
sub eax, 0xc1
je 0x4b0040
sub eax, 1
jne case.0x4b0327.39170
push str.AMD_Radeon_RX_6850M_XT
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_RX_6700_XT
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff40
cmp eax, 4
ja case.0x4b0327.39170
jmp dword [eax*4 + 0x4b0a3c]
push str.AMD_Radeon_RX_6800S
jmp 0x4b03a8
push str.AMD_Radeon_RX_6700S
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_RX_6650M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_RX_6650M_XT
jmp 0x4b03a8
sub eax, 0x73ff
cmp eax, 0x81
ja case.0x4b0327.39170
movzx edx, byte [eax + 0x4b0a64]
jmp dword [edx*4 + 0x4b0a50]
movzx eax, byte [ecx + 0xc]
sub eax, 0xc1
je 0x4b00eb
sub eax, 6
jne case.0x4b0327.39170
push str.AMD_Radeon_RX_6600
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_RX_6600_XT
jmp 0x4b03a8
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff3f
cmp eax, 0xe
ja case.0x4b0327.39170
movzx edx, byte [eax + 0x4b0afc]
jmp dword [edx*4 + 0x4b0ae8]
push str.AMD_Radeon_RX_6500_XT
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_RX_6500M
jmp 0x4b03a8
push str.AMD_Radeon_RX_6400
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_RX_6300M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
movzx eax, byte [ecx + 0xc]
sub eax, 0xc8
je 0x4b0176
sub eax, 4
jne case.0x4b0327.39170
push str.AMD_Radeon_RX_7900_XT
jmp 0x4b03a8
push str.AMD_Radeon_RX_7900_XTX
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
cmp byte [ecx + 0xc], 0xcf
jne case.0x4b0327.39170
push str.AMD_Radeon_RX_7600
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.ATI_Radeon_HD_4870
jmp 0x4b03a8
cmp eax, 0x9802
jg 0x4b02b9
je 0x4b02af
cmp eax, 0x9490
jg 0x4b0246
je 0x4b0233
sub eax, 0x9441
cmp eax, 0x1f
ja case.0x4b0327.39170
movzx edx, byte [eax + 0x4b0b24]
jmp dword [edx*4 + 0x4b0b0c]
push str.ATI_Radeon_HD_4870_X2
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.ATI_Radeon_HD_4850
jmp 0x4b03a8
push str.ATI_Radeon_HD_4850_X2
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.ATI_Radeon_HD_4830
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.ATI_Radeon_HD_4890
jmp 0x4b03a8
push str.ATI_Radeon_HD_4670
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
cmp eax, 0x9610
jg 0x4b0291
je 0x4b027e
cmp eax, 0x9498
je 0x4b0274
cmp eax, 0x954f
jne case.0x4b0327.39170
push str.ATI_Radeon_HD_4350
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.ATI_Radeon_HD_4650
jmp 0x4b03a8
push str.AMD_Radeon_HD_3200
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
cmp eax, 0x9644
jne case.0x4b0327.39170
push str.AMD_Radeon_HD_6410D
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_6310
jmp 0x4b03a8
cmp eax, 0x9900
jg 0x4b0310
je 0x4b02fd
sub eax, 0x9803
je 0x4b02af
sub eax, 1
je 0x4b02ea
sub eax, 1
jne case.0x4b0327.39170
push str.AMD_Radeon_HD_6250
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_6250
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_7660G
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
sub eax, 0x9901
cmp eax, 0x9c
ja case.0x4b0327.39170
movzx eax, byte [eax + 0x4b0b70]
jmp dword [eax*4 + 0x4b0b44]
push str.AMD_Radeon_HD_7660D
jmp 0x4b03a8
push str.AMD_Radeon_HD_8650G
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_8670D
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_8550G
jmp 0x4b03a8
push str.AMD_Radeon_HD_8570D
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_8610G
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_8410G
jmp 0x4b03a8
push str.AMD_Radeon_HD_8310G
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x4b03b1
push str.AMD_Radeon_HD_8650D
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x4b03b1
push str.AMD_Radeon_HD_8550D
push 0x100
lea ecx, [esi + 0x10]
push ecx
call fcn.00564635
add esp, 0xc
mov ecx, dword [esp + 0x6c]
push esi
call fcn.004ac2c0
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x4b03e9
mov eax, dword [ebx + 8]
test eax, eax
je 0x4b03e9
mov esi, dword [eax + 4]
mov ebx, eax
mov dword [esp + 0x80], ebx
test esi, esi
jne 0x4aed91
mov eax, edi
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret