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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x59765c
mov eax, dword fs:[0]
push eax
sub esp, 0x74
push ebx
push ebp
push esi
push edi
mov eax, dword [0x614b80]
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.0043b760
mov ecx, eax
call fcn.00437590
test eax, eax
je 0x48bc62
call fcn.0043b760
mov ecx, eax
call fcn.00437590
mov eax, dword [eax + 8]
test eax, eax
je 0x48bc62
mov ebx, dword [eax + 4]
mov dword [esp + 0x80], ebx
test ebx, ebx
je 0x48bc62
mov esi, dword [ebx + 4]
test esi, esi
je 0x48bc62
mov ecx, esi
call fcn.00458070
cmp eax, 0x1002
jne 0x48bc43
mov ecx, esi
call fcn.00455e10
mov ebx, eax
test ebx, ebx
je case.0x48bba0.39170
cmp byte [ebx + 0x16], 0
jne case.0x48bba0.39170
lea eax, [esp + 0x18]
push eax
push 0x10
mov ecx, ebx
call fcn.00475660
test eax, eax
je 0x48a70a
mov eax, dword [esp + 0x18]
test al, 1
jne 0x48a70a
mov ecx, eax
shr ecx, 1
and ecx, 3
sub ecx, 2
je 0x48a67b
and eax, 0xfffffff0
mov dword [esp + 0x74], eax
jbe 0x48a70a
push 0x2000000
push eax
push 0
call fcn.0043b760
mov ecx, eax
call fcn.0043a400
mov edi, eax
test edi, edi
jne 0x48a704
push 0x14
call fcn.00568473
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], 1
test eax, eax
je 0x48a6e9
mov ecx, dword [esp + 0x74]
push 0xffffffffffffffff
push ecx
push edi
mov ecx, eax
call fcn.0049cee0
mov edi, eax
jmp 0x48a6eb
lea edx, [esp + 0x78]
push edx
and eax, 0xfffffff0
push 0x14
mov ecx, ebx
mov dword [esp + 0x7c], eax
call fcn.00475660
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
test eax, eax
ja 0x48a6a0
test ecx, ecx
jbe 0x48a70a
push 0x2000000
push eax
push ecx
call fcn.0043b760
mov ecx, eax
call fcn.0043a400
mov edi, eax
test edi, edi
jne 0x48a704
push 0x14
call fcn.00568473
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], edi
test eax, eax
je 0x48a6e9
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
push 0xffffffffffffffff
push ecx
push edx
mov ecx, eax
call fcn.0049cee0
mov edi, eax
jmp 0x48a6eb
xor edi, edi
mov dword [esp + 0x90], 0xffffffff
call fcn.0043b760
mov ecx, dword [eax + 0x20]
push edi
call fcn.0044e4e0
mov dword [esi + 0x64c], edi
lea eax, [esp + 0x18]
push eax
push 0x18
mov ecx, ebx
call fcn.00475660
test eax, eax
je 0x48a82a
mov eax, dword [esp + 0x18]
test al, 1
jne 0x48a82a
mov ecx, eax
shr ecx, 1
and ecx, 3
sub ecx, 2
je 0x48a797
and eax, 0xfffffff0
mov dword [esp + 0x74], eax
jbe 0x48a82a
push 0x2000000
push eax
push 0
call fcn.0043b760
mov ecx, eax
call fcn.0043a400
mov edi, eax
test edi, edi
jne 0x48a824
push 0x14
call fcn.00568473
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], 3
test eax, eax
je 0x48a809
mov ecx, dword [esp + 0x74]
push 0xffffffffffffffff
push ecx
push edi
mov ecx, eax
call fcn.0049cee0
mov edi, eax
jmp 0x48a80b
lea edx, [esp + 0x78]
push edx
and eax, 0xfffffff0
push 0x1c
mov ecx, ebx
mov dword [esp + 0x7c], eax
call fcn.00475660
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
test eax, eax
ja 0x48a7bc
test ecx, ecx
jbe 0x48a82a
push 0x2000000
push eax
push ecx
call fcn.0043b760
mov ecx, eax
call fcn.0043a400
mov edi, eax
test edi, edi
jne 0x48a824
push 0x14
call fcn.00568473
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], 2
test eax, eax
je 0x48a809
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
push 0xffffffffffffffff
push ecx
push edx
mov ecx, eax
call fcn.0049cee0
mov edi, eax
jmp 0x48a80b
xor edi, edi
mov dword [esp + 0x90], 0xffffffff
call fcn.0043b760
mov ecx, dword [eax + 0x20]
push edi
call fcn.0044e4e0
mov dword [esi + 0x654], edi
mov eax, 0x6978
mov dword [esi + 0x5a8], eax
mov dword [esi + 0x5a4], eax
mov eax, dword [esp + 0x6c]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.00455d70
cmp dword [esi + 0x4b0], 0xffffffff
jne 0x48a85c
mov dword [esi + 0x4b0], 0x2000000
mov edi, 1
cmp ebp, 0xffffffff
jne 0x48a8e3
call fcn.0043b760
cmp dword [eax + 0x1c], 0
je 0x48a8e3
call fcn.0043b760
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [eax + 0x1c]
push 0
push 0xc0000
push 0
call fcn.0054f343
mov eax, dword [esp + 0x18]
mov edx, eax
and edx, 0xff00
cmp edx, 0xaa00
jne 0x48a8ab
cmp al, 0x55
jne 0x48a8ab
mov ebp, 0xc0000
jmp 0x48a8e3
call fcn.0043b760
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [eax + 0x1c]
push 0
push 0xe0000
push 0
call fcn.0054f343
mov eax, dword [esp + 0x18]
mov edx, eax
and edx, 0xff00
cmp edx, 0xaa00
jne 0x48a8e3
cmp al, 0x55
jne 0x48a8e3
mov ebp, 0xe0000
mov eax, dword [ebx + 0x18]
movzx eax, word [eax + 6]
cmp eax, 0x7103
jg 0x48ae51
cmp eax, 0x7100
jge case.0x48aead.29248
cmp eax, 0x5549
jg 0x48ab00
je 0x48a9a4
cmp eax, 0x4a4e
jg 0x48a9b3
je 0x48aa29
cmp eax, 0x4148
jg 0x48a965
je 0x48aa29
cmp eax, 0x3154
jg 0x48a955
je 0x48aa29
sub eax, 0x3150
je 0x48aa29
sub eax, 2
je 0x48aa29
jmp case.0x48af09.38154
cmp eax, 0x4146
je 0x48aa29
jmp case.0x48af09.38154
cmp eax, 0x4a4a
jg 0x48a999
cmp eax, 0x4a49
jge 0x48a9a4
cmp eax, 0x4150
jl case.0x48af09.38154
cmp eax, 0x4152
jle 0x48aa29
cmp eax, 0x4155
je 0x48aa29
jmp case.0x48af09.38154
cmp eax, 0x4a4d
jne case.0x48af09.38154
mov dword [esi + 0x4b0], 0x2040000
jmp case.0x48af09.38154
cmp eax, 0x4e52
jg 0x48a9ff
cmp eax, 0x4e50
jge 0x48aa29
cmp eax, 0x4e46
jg 0x48a9e8
je 0x48aa29
cmp eax, 0x4b49
jl case.0x48af09.38154
cmp eax, 0x4b4c
jle 0x48a9a4
cmp eax, 0x4e44
je 0x48aa29
jmp case.0x48af09.38154
cmp eax, 0x4e48
jl case.0x48af09.38154
cmp eax, 0x4e4a
jle 0x48aa29
jmp case.0x48af09.38154
cmp eax, 0x5462
jg 0x48aa1e
cmp eax, 0x5460
jge 0x48aa29
sub eax, 0x4e54
je 0x48aa29
sub eax, 2
je 0x48aa29
jmp case.0x48af09.38154
cmp eax, 0x5464
jne case.0x48af09.38154
mov dword [esi + 0x4b0], 0x2030000
cmp ebp, 0xffffffff
je case.0x48af09.38154
call fcn.0043b760
cmp dword [eax + 0x1c], 0
je case.0x48af09.38154
call fcn.0043b760
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0054f343
mov eax, dword [esp + 0x40]
and eax, 0xffff
mov dword [esp + 0x40], eax
dec eax
cmp eax, 0x6ffe
ja case.0x48af09.38154
call fcn.0043b760
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.0054f343
mov eax, dword [esp + 0x44]
and eax, 0xffff
mov dword [esp + 0x44], eax
dec eax
cmp eax, 0x6ffe
ja case.0x48af09.38154
call fcn.0043b760
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.0054f343
mov eax, dword [esp + 0x18]
and eax, 0xffff
lea edx, [eax - 0xb]
mov dword [esp + 0x18], eax
cmp edx, 0x2704
ja case.0x48af09.38154
lea eax, [eax + eax*4]
add eax, eax
mov dword [esi + 0x5a8], eax
mov dword [esi + 0x5a4], eax
jmp case.0x48af09.38154
cmp eax, 0x5d52
jg 0x48ac9a
je 0x48a9a4
cmp eax, 0x5653
jg 0x48ab81
cmp eax, 0x5652
jge 0x48a9a4
cmp eax, 0x5551
jg 0x48ab5b
cmp eax, 0x5550
jge 0x48a9a4
cmp eax, 0x554b
je 0x48a9a4
cmp eax, 0x554c
jle case.0x48af09.38154
cmp eax, 0x554e
jle 0x48a9a4
jmp case.0x48af09.38154
cmp eax, 0x564a
jl case.0x48af09.38154
cmp eax, 0x564b
jle 0x48a9a4
cmp eax, 0x564f
je 0x48a9a4
jmp case.0x48af09.38154
cmp eax, 0x5d4e
jg 0x48ac8a
cmp eax, 0x5d4d
jge 0x48a9a4
cmp eax, 0x5960
je 0x48abb9
cmp eax, 0x5d47
jle case.0x48af09.38154
cmp eax, 0x5d4a
jle 0x48a9a4
jmp case.0x48af09.38154
mov dword [esi + 0x4b0], 0x2020000
cmp ebp, 0xffffffff
je case.0x48af09.38154
call fcn.0043b760
cmp dword [eax + 0x1c], 0
je case.0x48af09.38154
call fcn.0043b760
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0054f343
mov eax, dword [esp + 0x48]
and eax, 0xffff
mov dword [esp + 0x48], eax
dec eax
cmp eax, 0x6ffe
ja case.0x48af09.38154
call fcn.0043b760
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.0054f343
mov eax, dword [esp + 0x4c]
and eax, 0xffff
mov dword [esp + 0x4c], eax
dec eax
cmp eax, 0x6ffe
ja case.0x48af09.38154
call fcn.0043b760
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.0054f343
mov eax, dword [esp + 0x18]
and eax, 0xffff
lea edx, [eax - 0xb]
mov dword [esp + 0x18], eax
cmp edx, 0x2704
ja case.0x48af09.38154
lea eax, [eax + eax*4]
add eax, eax
mov dword [esi + 0x5a4], eax
jmp case.0x48af09.38154
cmp eax, 0x5d50
je 0x48a9a4
jmp case.0x48af09.38154
cmp eax, 0x689e
jg 0x48ae35
je case.0x48ae4a.26808
cmp eax, 0x6739
jg 0x48ae0f
cmp eax, 0x6738
jge case.0x48ae4a.26808
cmp eax, 0x5e48
je 0x48a9a4
cmp eax, 0x6718
jne case.0x48af09.38154
cmp ebp, 0xffffffff
je 0x48ade6
call fcn.0043b760
cmp dword [eax + 0x1c], 0
je 0x48ade6
call fcn.0043b760
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0x20]
push edx
push 0x48
push ebp
push 0
call fcn.0054f343
and dword [esp + 0x20], 0xffff
call fcn.0043b760
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.0054f343
cmp dword [esp + 0x1c], 0x4d4f5441
jne 0x48ade6
call fcn.0043b760
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.0054f343
and dword [esp + 0x50], 0xffff
call fcn.0043b760
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.0054f343
and dword [esp + 0x24], 0xffff
call fcn.0043b760
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.0054f343
movzx eax, word [esp + 0x1c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x1c], eax
mov dword [esi + 0x5a8], eax
mov dword [esi + 0x5a4], eax
call fcn.0043b760
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.0054f343
movzx eax, word [esp + 0x1c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x1c], eax
shr eax, 2
mov dword [esi + 0x5a8], 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.0x48af09.38154
cmp eax, 0x6898
jl case.0x48af09.38154
cmp eax, 0x6899
jle case.0x48ae4a.26808
cmp eax, 0x689c
je case.0x48ae4a.26808
jmp case.0x48af09.38154
sub eax, 0x68b8
cmp eax, 0x20
ja case.0x48af09.38154
movzx ecx, byte [eax + 0x48bc84]
jmp dword [ecx*4 + 0x48bc7c]
cmp eax, 0x7211
jg 0x48ae7d
cmp eax, 0x7210
jge case.0x48aead.29248
sub eax, 0x7105
cmp eax, 0xd9
ja case.0x48af09.38154
movzx eax, byte [eax + 0x48bcb0]
jmp dword [eax*4 + 0x48bca8]
cmp eax, 0x9501
jg 0x48aee1
je case.0x48af09.38148
cmp eax, 0x9403
jg 0x48aec3
cmp eax, 0x9400
jge case.0x48af09.38148
sub eax, 0x7240
cmp eax, 0x53
ja case.0x48af09.38154
movzx ecx, byte [eax + 0x48bd94]
jmp dword [ecx*4 + 0x48bd8c]
mov dword [esi + 0x4b0], 0x2050000
jmp case.0x48af09.38154
sub eax, 0x9405
cmp eax, 0xc7
ja case.0x48af09.38154
movzx edx, byte [eax + 0x48bdf4]
jmp dword [edx*4 + 0x48bde8]
cmp eax, 0x9610
jg 0x48b0de
je 0x48b0f5
sub eax, 0x9504
cmp eax, 0xcb
ja case.0x48af09.38154
movzx eax, byte [eax + 0x48bec8]
jmp dword [eax*4 + 0x48bebc]
cmp ebp, 0xffffffff
je 0x48b1d8
call fcn.0043b760
cmp dword [eax + 0x1c], 0
je 0x48b1d8
call fcn.0043b760
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0054f343
and dword [esp + 0x28], 0xffff
call fcn.0043b760
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.0054f343
cmp dword [esp + 0x2c], 0x4d4f5441
jne 0x48b1d8
call fcn.0043b760
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.0054f343
and dword [esp + 0x54], 0xffff
call fcn.0043b760
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.0054f343
and dword [esp + 0x58], 0xffff
call fcn.0043b760
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.0054f343
movzx eax, word [esp + 0x2c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x2c], eax
jmp 0x48b1cc
cmp ebp, 0xffffffff
je 0x48b0cf
call fcn.0043b760
cmp dword [eax + 0x1c], 0
je 0x48b0cf
call fcn.0043b760
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0x30]
push edx
push 0x48
push ebp
push 0
call fcn.0054f343
and dword [esp + 0x30], 0xffff
call fcn.0043b760
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.0054f343
cmp dword [esp + 0x34], 0x4d4f5441
jne 0x48b0cf
call fcn.0043b760
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.0054f343
and dword [esp + 0x5c], 0xffff
call fcn.0043b760
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.0054f343
and dword [esp + 0x60], 0xffff
call fcn.0043b760
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.0054f343
movzx eax, word [esp + 0x34]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x34], eax
mov dword [esi + 0x5a8], eax
mov dword [esi + 0x5a4], eax
mov dword [esi + 0x4b0], 0x2070000
jmp case.0x48af09.38154
sub eax, 0x9612
je 0x48b0f5
sub eax, 2
je 0x48b0f5
sub eax, 0xfc
jne case.0x48af09.38154
cmp ebp, 0xffffffff
je 0x48b1d8
call fcn.0043b760
cmp dword [eax + 0x1c], 0
je 0x48b1d8
call fcn.0043b760
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [eax + 0x1c]
push 0x48
push ebp
push 0
call fcn.0054f343
and dword [esp + 0x38], 0xffff
call fcn.0043b760
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.0054f343
cmp dword [esp + 0x3c], 0x4d4f5441
jne 0x48b1d8
call fcn.0043b760
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.0054f343
and dword [esp + 0x64], 0xffff
call fcn.0043b760
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.0054f343
and dword [esp + 0x68], 0xffff
call fcn.0043b760
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.0054f343
movzx eax, word [esp + 0x3c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x3c], eax
mov dword [esi + 0x5a4], eax
mov dword [esi + 0x5a8], eax
mov dword [esi + 0x4b0], 0x2060000
mov ecx, dword [ebx + 0x18]
movzx eax, word [ecx + 6]
cmp eax, 0x6898
jg 0x48b5e2
je 0x48b5cf
cmp eax, 0x6640
jg 0x48b32f
je 0x48b325
cmp eax, 0x4750
jg 0x48b297
je 0x48b284
cmp eax, 0x1316
jg 0x48b257
je 0x48b244
sub eax, 0x130f
je 0x48b231
sub eax, 4
jne case.0x48bba0.39170
push str.AMD_Radeon_R7
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_R5
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
sub eax, 0x4744
je 0x48b271
sub eax, 5
jne case.0x48bba0.39170
push str.ATI_Mach64_GI__Rage_Pro_
jmp 0x48bc21
push str.ATI_Mach64_GD__Rage_Pro_
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Mach64_GP__Rage_Pro_
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
cmp eax, 0x515e
jg 0x48b2ef
je 0x48b2e5
sub eax, 0x4751
je 0x48b2d2
sub eax, 1
je 0x48b2bf
sub eax, 3
jne case.0x48bba0.39170
push str.ATI_Mach64_GT__Rage_II_
jmp 0x48bc21
push str.ATI_Mach64_GR__Rage_XL_XC_
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Mach64_GQ__Rage_Pro_
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.ATI_ES1000
jmp 0x48bc21
sub eax, 0x5964
je 0x48b312
sub eax, 1
jne case.0x48bba0.39170
push str.ATI_FireMV_2200_PCI
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Radeon_9200_SE
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_8950
jmp 0x48bc21
cmp eax, 0x6798
jg 0x48b4af
je 0x48b4a5
sub eax, 0x6646
cmp eax, 0xf3
ja case.0x48bba0.39170
movzx edx, byte [eax + 0x48bfc8]
jmp dword [edx*4 + 0x48bf94]
cmp byte [ecx + 0xc], 0x80
jne 0x48b37a
push str.AMD_Radeon_R9_M385
lea eax, [esi + 0x10]
push 0x100
push eax
call fcn.0057a7c3
add esp, 0xc
push str.AMD_Radeon_R9_M280X
jmp 0x48bc21
cmp byte [ecx + 0xc], 0x80
jne 0x48b3a0
push str.AMD_Radeon_R9_M380
lea edx, [esi + 0x10]
push 0x100
push edx
call fcn.0057a7c3
add esp, 0xc
push str.AMD_Radeon_R9_M270X
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_FirePro_W5100
jmp 0x48bc21
push str.AMD_Radeon_R7_200
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_7700
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_R7_200
jmp 0x48bc21
push str.AMD_Radeon_R7_300
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
movzx eax, byte [ecx + 0xc]
sub eax, 0x81
je 0x48b423
sub eax, 2
je 0x48b439
push str.AMD_Radeon_HD_8600M
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_R5_M335
lea eax, [esi + 0x10]
push 0x100
push eax
call fcn.0057a7c3
add esp, 0xc
push str.AMD_Radeon_R5_M330
lea ecx, [esi + 0x10]
push 0x100
push ecx
call fcn.0057a7c3
add esp, 0xc
push str.AMD_Radeon_HD_8600M
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_VII
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_6850
jmp 0x48bc21
push str.AMD_Radeon_HD_6870
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_6970
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_7970
jmp 0x48bc21
sub eax, 0x6810
cmp eax, 0x6f
ja case.0x48bba0.39170
movzx edx, byte [eax + 0x48c0e4]
jmp dword [edx*4 + 0x48c0bc]
cmp byte [ecx + 0xc], 0
jne 0x48b4e7
push str.AMD_Radeon_HD_8800
lea eax, [esi + 0x10]
push 0x100
push eax
call fcn.0057a7c3
add esp, 0xc
push str.AMD_Radeon_R9_270
jmp 0x48bc21
cmp byte [ecx + 0xc], 0
jne 0x48b50d
push str.AMD_Radeon_HD_8800
lea edx, [esi + 0x10]
push 0x100
push edx
call fcn.0057a7c3
add esp, 0xc
push str.AMD_Radeon_R7_300
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_7800
jmp 0x48bc21
push str.AMD_Radeon_HD_7800
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_7700M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_7730M
jmp 0x48bc21
push str.AMD_Radeon_HD_7700
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_7600M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
movzx eax, byte [ecx + 0xc]
sub eax, 0xc0
je 0x48b5c5
sub eax, 1
je 0x48b5b2
sub eax, 2
je 0x48b59f
push str.AMD_Radeon_RX_Vega
jmp 0x48bc21
push str.AMD_Radeon_RX_Vega_56
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_Vega_64
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_RX_Vega_64
jmp 0x48bc21
push str.ATI_Radeon_HD_5870
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
cmp eax, 0x9440
jg 0x48ba29
je 0x48ba1f
cmp eax, 0x71c0
jg 0x48b714
je 0x48b701
cmp eax, 0x68c1
jg 0x48b689
je 0x48b676
sub eax, 0x6899
cmp eax, 0x25
ja case.0x48bba0.39170
movzx eax, byte [eax + 0x48c16c]
jmp dword [eax*4 + 0x48c154]
push str.ATI_Radeon_HD_5850
jmp 0x48bc21
push str.ATI_Radeon_HD_5900
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Radeon_HD_5830
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.ATI_Radeon_HD_5770
jmp 0x48bc21
push str.ATI_Radeon_HD_5750
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Mobility_Radeon_HD_5650
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
cmp eax, 0x6939
jg 0x48b6d2
je 0x48b6bf
sub eax, 0x68d8
je 0x48b6ac
sub eax, 0x60
jne case.0x48bba0.39170
push str.ATI_Radeon_R9_380X
jmp 0x48bc21
push str.ATI_Radeon_HD_5670
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Radeon_R9_380
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
cmp eax, 0x6fdf
je 0x48b6ee
cmp eax, 0x7188
jne case.0x48bba0.39170
push str.ATI_Mobility_Radeon_X2300
jmp 0x48bc21
push str.AMD_Radeon_RX_580_2048SP
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Radeon_X1600
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
cmp eax, 0x73ef
jg 0x48b8d6
je 0x48b883
sub eax, 0x731f
cmp eax, 0xc0
ja case.0x48bba0.39170
movzx edx, byte [eax + 0x48c1ac]
jmp dword [edx*4 + 0x48c194]
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff40
cmp eax, 0xa
ja case.0x48bba0.39170
movzx eax, byte [eax + 0x48c284]
jmp dword [eax*4 + 0x48c270]
push str.AMD_Radeon_RX_5700_XT
jmp 0x48bc21
push str.AMD_Radeon_RX_5700_XT
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_5700
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_RX_5600_XT
jmp 0x48bc21
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff3f
cmp eax, 0xe
ja case.0x48bba0.39170
movzx edx, byte [eax + 0x48c2a4]
jmp dword [edx*4 + 0x48c290]
push str.AMD_Radeon_RX_5500M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_RX_5500_XT
jmp 0x48bc21
push str.AMD_Radeon_RX_5500
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_5300
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_RX_6900_XT
jmp 0x48bc21
movzx eax, byte [ecx + 0xc]
sub eax, 0xc0
je case.0x48b73c.29615
sub eax, 1
je 0x48b836
sub eax, 2
jne case.0x48bba0.39170
push str.AMD_Radeon_RX_6800
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_6800_XT
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
movzx eax, byte [ecx + 0xc]
sub eax, 0xc1
je 0x48b870
sub eax, 1
jne case.0x48bba0.39170
push str.AMD_Radeon_RX_6850M_XT
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_6700_XT
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff40
cmp eax, 4
ja case.0x48bba0.39170
jmp dword [eax*4 + 0x48c2b4]
push str.AMD_Radeon_RX_6800S
jmp 0x48bc21
push str.AMD_Radeon_RX_6700S
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_6650M
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_RX_6650M_XT
jmp 0x48bc21
sub eax, 0x73ff
cmp eax, 0x81
ja case.0x48bba0.39170
movzx edx, byte [eax + 0x48c2e0]
jmp dword [edx*4 + 0x48c2c8]
movzx eax, byte [ecx + 0xc]
sub eax, 0xc1
je 0x48b92a
sub eax, 6
je 0x48b920
sub eax, 0x18
jne case.0x48bba0.39170
push str.AMD_Radeon_RX_6750_GRE
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_RX_6600
jmp 0x48bc21
push str.AMD_Radeon_RX_6600_XT
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff3f
cmp eax, 0xe
ja case.0x48bba0.39170
movzx eax, byte [eax + 0x48c378]
jmp dword [eax*4 + 0x48c364]
push str.AMD_Radeon_RX_6500_XT
jmp 0x48bc21
push str.AMD_Radeon_RX_6500M
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_6400
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_RX_6300M
jmp 0x48bc21
movzx eax, byte [ecx + 0xc]
sub eax, 0xc8
je 0x48b9be
sub eax, 4
jne case.0x48bba0.39170
push str.AMD_Radeon_RX_7900_XT
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_RX_7900_XTX
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
movzx eax, byte [ecx + 0xc]
sub eax, 0xc8
je 0x48b9ef
sub eax, 0x37
jne case.0x48bba0.39170
push str.AMD_Radeon_RX_7700_XT
jmp 0x48bc21
push str.AMD_Radeon_RX_7800_XT
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
cmp byte [ecx + 0xc], 0xcf
jne case.0x48bba0.39170
push str.AMD_Radeon_RX_7600
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.ATI_Radeon_HD_4870
jmp 0x48bc21
cmp eax, 0x9802
jg 0x48bb32
je 0x48bb28
cmp eax, 0x9490
jg 0x48babf
je 0x48baac
sub eax, 0x9441
cmp eax, 0x1f
ja case.0x48bba0.39170
movzx edx, byte [eax + 0x48c3a0]
jmp dword [edx*4 + 0x48c388]
push str.ATI_Radeon_HD_4870_X2
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.ATI_Radeon_HD_4850
jmp 0x48bc21
push str.ATI_Radeon_HD_4850_X2
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.ATI_Radeon_HD_4830
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.ATI_Radeon_HD_4890
jmp 0x48bc21
push str.ATI_Radeon_HD_4670
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
cmp eax, 0x9610
jg 0x48bb0a
je 0x48baf7
cmp eax, 0x9498
je 0x48baed
cmp eax, 0x954f
jne case.0x48bba0.39170
push str.ATI_Radeon_HD_4350
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.ATI_Radeon_HD_4650
jmp 0x48bc21
push str.AMD_Radeon_HD_3200
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
cmp eax, 0x9644
jne case.0x48bba0.39170
push str.AMD_Radeon_HD_6410D
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_6310
jmp 0x48bc21
cmp eax, 0x9900
jg 0x48bb89
je 0x48bb76
sub eax, 0x9803
je 0x48bb28
sub eax, 1
je 0x48bb63
sub eax, 1
jne case.0x48bba0.39170
push str.AMD_Radeon_HD_6250
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_6250
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_7660G
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
sub eax, 0x9901
cmp eax, 0x9c
ja case.0x48bba0.39170
movzx eax, byte [eax + 0x48c3ec]
jmp dword [eax*4 + 0x48c3c0]
push str.AMD_Radeon_HD_7660D
jmp 0x48bc21
push str.AMD_Radeon_HD_8650G
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_8670D
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_8550G
jmp 0x48bc21
push str.AMD_Radeon_HD_8570D
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_8610G
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_8410G
jmp 0x48bc21
push str.AMD_Radeon_HD_8310G
push 0x100
lea edx, [esi + 0x10]
push edx
jmp 0x48bc2a
push str.AMD_Radeon_HD_8650D
push 0x100
lea eax, [esi + 0x10]
push eax
jmp 0x48bc2a
push str.AMD_Radeon_HD_8550D
push 0x100
lea ecx, [esi + 0x10]
push ecx
call fcn.0057a7c3
add esp, 0xc
mov ecx, dword [esp + 0x6c]
push esi
call fcn.004879a0
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x48bc62
mov eax, dword [ebx + 8]
test eax, eax
je 0x48bc62
mov esi, dword [eax + 4]
mov ebx, eax
mov dword [esp + 0x80], ebx
test esi, esi
jne 0x48a5c1
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