Function at 0x4f9fad
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x670b2a
mov eax, dword fs:[0]
push eax
mov eax, 0x4838
call fcn.0062f3b0
mov eax, dword [0x6d35d0]
xor eax, ebp
mov dword [ebp - 0x14], 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 - 0x4270], eax
lea eax, [ebp - 0x4268]
push eax
call fcn.004fc1c8
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x4268]
lea ecx, [ebp - 0x4268]
call dword [eax + 0x24]
test al, al
jne 0x4fa018
mov dword [ebp - 4], 1
jmp 0x4fc05a
push 0x68fd20
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea ecx, [ebp - 0x40b0]
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 2
call fcn.004fc125
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
lea ecx, [ebp - 0x4390]
call fcn.004afd30
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.004fc125
lea ecx, [ebp - 0x4390]
mov byte [ebp - 4], bl
call fcn.00404660
push 0x68911e
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], 4
call fcn.004fc125
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
push str.__________System__________
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], 5
call fcn.004fc125
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
lea edi, [ebp - 0x426c]
mov dword [ebp - 0x426c], ebx
call fcn.004afa06
cmp eax, 0xd
ja case.default.0x4fa0e3
jmp dword [eax*4 + 0x4fc095]
push 0x68fd60
lea esi, [ebp - 0x44a8]
call fcn.004af643
mov edi, eax
mov byte [ebp - 4], 6
mov dword [esp], 0x68fd70
push 0x68fd78
lea esi, [ebp - 0x441c]
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x4390]
mov byte [ebp - 4], 7
call fcn.0041c0b0
add esp, 0x10
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 8
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x441c]
call fcn.00404660
lea ecx, [ebp - 0x44a8]
jmp 0x4fa724
push str.Windows95
lea esi, [ebp - 0x4438]
call fcn.004af643
mov edi, eax
mov byte [ebp - 4], 9
mov dword [esp], 0x68fd90
push 0x68fd98
lea esi, [ebp - 0x4454]
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x4470]
mov byte [ebp - 4], 0xa
call fcn.0041c0b0
add esp, 0x10
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0xb
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x4454]
call fcn.00404660
lea ecx, [ebp - 0x4438]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x40b0]
push str.Windows95_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fdbc
push 0x68fdc4
lea esi, [ebp - 0x42c4]
mov byte [ebp - 4], 0xc
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x448c]
mov byte [ebp - 4], 0xd
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0xe
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x42c4]
call fcn.00404660
lea ecx, [ebp - 0x40b0]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x44e0]
push str.Windows95OSR2_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fdec
push 0x68fdf4
lea esi, [ebp - 0x46d8]
mov byte [ebp - 4], 0xf
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x42a8]
mov byte [ebp - 4], 0x10
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x11
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x46d8]
call fcn.00404660
lea ecx, [ebp - 0x44e0]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x46f4]
push str.Windows98_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fe18
push 0x68fe20
lea esi, [ebp - 0x4534]
mov byte [ebp - 4], 0x12
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x4614]
mov byte [ebp - 4], 0x13
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x14
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x4534]
call fcn.00404660
lea ecx, [ebp - 0x46f4]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x45a4]
push str.Windows98SE_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fe44
push 0x68fe4c
lea esi, [ebp - 0x464c]
mov byte [ebp - 4], 0x15
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x456c]
mov byte [ebp - 4], 0x16
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x17
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x464c]
call fcn.00404660
lea ecx, [ebp - 0x45a4]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x4684]
push str.WindowsME_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fe70
push 0x68fe78
lea esi, [ebp - 0x45dc]
mov byte [ebp - 4], 0x18
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x46bc]
mov byte [ebp - 4], 0x19
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x1a
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x45dc]
call fcn.00404660
lea ecx, [ebp - 0x4684]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x4588]
push str.WindowsNT_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fe9c
push 0x68fea4
lea esi, [ebp - 0x4550]
mov byte [ebp - 4], 0x1b
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x4518]
mov byte [ebp - 4], 0x1c
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x1d
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x4550]
call fcn.00404660
lea ecx, [ebp - 0x4588]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x4630]
push str.Windows2000_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fec8
push 0x68fed0
lea esi, [ebp - 0x45f8]
mov byte [ebp - 4], 0x1e
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x45c0]
mov byte [ebp - 4], 0x1f
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x20
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x45f8]
call fcn.00404660
lea ecx, [ebp - 0x4630]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x44c4]
push str.WindowsXP_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68fef4
push 0x68fefc
lea esi, [ebp - 0x46a0]
mov byte [ebp - 4], 0x21
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x4668]
mov byte [ebp - 4], 0x22
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x23
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x46a0]
call fcn.00404660
lea ecx, [ebp - 0x44c4]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x4400]
push str.Windows2003Server_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68ff28
push 0x68ff30
lea esi, [ebp - 0x44fc]
mov byte [ebp - 4], 0x24
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x4710]
mov byte [ebp - 4], 0x25
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x26
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x44fc]
call fcn.00404660
lea ecx, [ebp - 0x4400]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x43c8]
push str.WindowsVista_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68ff54
push 0x68ff5c
lea esi, [ebp - 0x43ac]
mov byte [ebp - 4], 0x27
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x43e4]
mov byte [ebp - 4], 0x28
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x29
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x43ac]
call fcn.00404660
lea ecx, [ebp - 0x43c8]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x4318]
push str.Windows7_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68ff7c
push 0x68ff84
lea esi, [ebp - 0x4370]
mov byte [ebp - 4], 0x2a
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x4354]
mov byte [ebp - 4], 0x2b
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x2c
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x4370]
call fcn.00404660
lea ecx, [ebp - 0x4318]
jmp 0x4fa724
push dword [ebp - 0x426c]
lea esi, [ebp - 0x428c]
push str.WindowsVista_Later_ServicePack__d
call fcn.004af643
mov edi, eax
push 0x68ffb0
push 0x68ffb8
lea esi, [ebp - 0x42e0]
mov byte [ebp - 4], 0x2d
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x42fc]
mov byte [ebp - 4], 0x2e
call fcn.0041c0b0
add esp, 0x18
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x2f
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x42e0]
call fcn.00404660
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], bl
call fcn.00404660
lea eax, [ebp - 0x42fc]
push eax
call fcn.004fc396
mov edi, eax
mov byte [ebp - 4], 0x30
mov dword [esp], 0x68ffc0
push 0x68ffc8
lea esi, [ebp - 0x42e0]
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x428c]
mov byte [ebp - 4], 0x31
call fcn.0041c0b0
add esp, 0x10
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x32
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x42e0]
call fcn.00404660
lea ecx, [ebp - 0x42fc]
mov byte [ebp - 4], bl
call fcn.00404660
lea eax, [ebp - 0x42fc]
push eax
call fcn.004fc2c9
mov edi, eax
mov byte [ebp - 4], 0x33
mov dword [esp], 0x68ffd0
push 0x68ffdc
lea esi, [ebp - 0x42e0]
call fcn.004af643
push edi
push eax
lea edi, [ebp - 0x428c]
mov byte [ebp - 4], 0x34
call fcn.0041c0b0
add esp, 0x10
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x35
call fcn.004fc125
mov ecx, edi
call fcn.00404660
lea ecx, [ebp - 0x42e0]
call fcn.00404660
lea ecx, [ebp - 0x42fc]
mov byte [ebp - 4], bl
call fcn.00404660
call fcn.0051d3db
mov dword [ebp - 0x426c], eax
fild dword [ebp - 0x426c]
mov esi, eax
test eax, eax
jge 0x4fa825
fadd dword [0x6a1478]
fdiv qword [0x6a1520]
push ecx
push ecx
lea eax, [ebp - 0x94]
fstp qword [esp]
push 0x68ffe4
push eax
call fcn.0062df7d
lea eax, [ebp - 0x94]
push eax
push esi
push 0x68ffe8
push str._40s_:__d_MHz____s_GHz__
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0x20
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x36
call fcn.004fc125
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], bl
call fcn.00404660
push 0x690018
push str._40s_:
lea esi, [ebp - 0x428c]
call fcn.004af643
pop ecx
pop ecx
push eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x37
call fcn.004fc183
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], bl
call fcn.00404660
call fcn.004fc2e7
mov eax, dword [eax + 4]
test al, 1
je 0x4fa8ef
push str.MMX
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea eax, [ebp - 0x40b0]
push eax
mov byte [ebp - 4], 0x38
call fcn.004fc183
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
call fcn.004fc2e7
mov eax, dword [eax + 4]
shr eax, 1
test al, 1
je 0x4fa931
push str.SSE
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea eax, [ebp - 0x40b0]
push eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x39
call fcn.004fc183
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
call fcn.004fc2e7
mov eax, dword [eax + 4]
shr eax, 2
test al, 1
je 0x4fa974
push str.SSE2
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea eax, [ebp - 0x40b0]
push eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x3a
call fcn.004fc183
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
call fcn.004fc2e7
mov eax, dword [eax + 4]
shr eax, 3
test al, 1
je 0x4fa9b7
push str.3DNow_
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea eax, [ebp - 0x40b0]
push eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x3b
call fcn.004fc183
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
call fcn.004fc2e7
mov eax, dword [eax + 4]
shr eax, 4
test al, 1
je 0x4fa9fa
push str.E3DNow_
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea eax, [ebp - 0x40b0]
push eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x3c
call fcn.004fc183
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
push 0x68911f
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea ecx, [ebp - 0x40b0]
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x3d
call fcn.004fc125
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], bl
call fcn.00404660
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x4338]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x4338]
push eax
call dword [0x6770d8]
mov eax, dword [ebp - 0x4330]
shr eax, 0x14
push eax
push 0x69005c
push 0x69006c
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x3e
call fcn.004fc125
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], bl
call fcn.00404660
mov eax, dword [ebp - 0x432c]
shr eax, 0x14
push eax
push 0x69007c
push 0x69008c
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x3f
call fcn.004fc125
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], bl
call fcn.00404660
mov eax, dword [ebp - 0x4320]
shr eax, 0x14
push eax
push 0x69009c
push 0x6900ac
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x40
call fcn.004fc125
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], bl
call fcn.00404660
mov eax, dword [ebp - 0x431c]
shr eax, 0x14
push eax
push 0x6900bc
push str._40s_:__6dMB
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x41
call fcn.004fc125
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x428c]
call fcn.00404660
push 0x689157
lea ecx, [ebp - 0x42a8]
call fcn.00404ce0
lea ecx, [ebp - 0x42a8]
mov byte [ebp - 4], 0x42
call fcn.004fc125
lea ecx, [ebp - 0x42a8]
mov byte [ebp - 4], bl
call fcn.00404660
push str.__________Display__________
lea ecx, [ebp - 0x42c4]
call fcn.00404ce0
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], 0x43
call fcn.004fc125
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], bl
call fcn.00404660
mov esi, 0x1a8
push esi
lea eax, [ebp - 0x425c]
push ebx
push eax
call fcn.00631280
add esp, 0xc
push ebx
lea eax, [ebp - 0x425c]
push eax
push ebx
push ebx
mov dword [ebp - 0x425c], esi
call dword [0x67730c]
test eax, eax
je 0x4fac51
lea eax, [ebp - 0x4258]
push eax
push 0x6900f8
push 0x690108
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x44
call fcn.004fc125
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], bl
call fcn.00404660
lea eax, [ebp - 0x4238]
push eax
push 0x690114
push str._40s_:__s
lea esi, [ebp - 0x42e0]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x45
call fcn.004fc125
lea ecx, [ebp - 0x42e0]
mov byte [ebp - 4], bl
call fcn.00404660
lea eax, [ebp - 0x426c]
push eax
lea ebx, [ebp - 0x4374]
call fcn.004b0524
mov ebx, dword [ebp - 0x4270]
mov eax, dword [ebx + 0xe4]
pop ecx
shr eax, 0x14
push eax
push 0x690130
push 0x69013c
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x46
call fcn.004fc125
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], 0
call fcn.00404660
mov eax, dword [ebx + 0xe8]
shr eax, 0x14
push eax
push 0x69014c
push str._40s_:__6d_MB
lea esi, [ebp - 0x42e0]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x47
call fcn.004fc125
lea ecx, [ebp - 0x42e0]
mov byte [ebp - 4], 0
call fcn.00404660
push 0x68916e
lea ecx, [ebp - 0x42c4]
call fcn.00404ce0
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], 0x48
call fcn.004fc125
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], 0
call fcn.00404660
push 0x690168
push str._40s
lea esi, [ebp - 0x42fc]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x49
call fcn.004fc125
lea ecx, [ebp - 0x42fc]
mov byte [ebp - 4], 0
call fcn.00404660
mov ecx, dword [ebx + 0xc]
xor eax, eax
lea edi, [ebp - 0x429c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x429c]
push eax
call fcn.004fc68c
push dword [ebp - 0x429c]
lea esi, [ebp - 0x4318]
push str.Width
push 0x69018c
call fcn.004af643
add esp, 0xc
mov byte [ebp - 4], 0x4a
mov ecx, eax
lea esi, [ebp - 0x4268]
call fcn.004fc125
lea ecx, [ebp - 0x4318]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebp - 0x4298]
lea esi, [ebp - 0x4370]
push str.Height
push 0x6901a0
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x4b
call fcn.004fc125
lea ecx, [ebp - 0x4370]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebp - 0x4294]
lea esi, [ebp - 0x4354]
push str.RefreshRate
push str._40s_:__d
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x4c
call fcn.004fc125
lea ecx, [ebp - 0x4354]
mov byte [ebp - 4], 0
call fcn.00404660
mov eax, dword [ebp - 0x4290]
add eax, 0xffffffec
cmp eax, 0xa
ja case.0x4fae3a.28
jmp dword [eax*4 + 0x4fc0cd]
push 0x6901c4
push str._40s_:_R8G8B8
lea esi, [ebp - 0x428c]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x4d
call fcn.004fc125
lea ecx, [ebp - 0x428c]
jmp 0x4fb064
push 0x6901dc
push str._40s_:_A8R8G8B8
lea esi, [ebp - 0x42e0]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x4e
call fcn.004fc125
lea ecx, [ebp - 0x42e0]
jmp 0x4fb064
push 0x6901f4
push str._40s_:_X8R8G8B8
lea esi, [ebp - 0x42fc]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x4f
call fcn.004fc125
lea ecx, [ebp - 0x42fc]
jmp 0x4fb064
push 0x69020c
push str._40s_:_R5G6B5
lea esi, [ebp - 0x4318]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x50
call fcn.004fc125
lea ecx, [ebp - 0x4318]
jmp 0x4fb064
push 0x690224
push str._40s_:_A1R5G5B5
lea esi, [ebp - 0x4370]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x51
call fcn.004fc125
lea ecx, [ebp - 0x4370]
jmp 0x4fb064
push 0x69023c
push str._40s_:_X1R5G5B5
lea esi, [ebp - 0x4354]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x52
call fcn.004fc125
lea ecx, [ebp - 0x4354]
jmp 0x4fb064
push 0x690254
push str._40s_:_A4R4G4B4
lea esi, [ebp - 0x43c8]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x53
call fcn.004fc125
lea ecx, [ebp - 0x43c8]
jmp 0x4fb064
push 0x69026c
push str._40s_:_X4R4G4B4
lea esi, [ebp - 0x43ac]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x54
call fcn.004fc125
lea ecx, [ebp - 0x43ac]
jmp 0x4fb064
push 0x690284
push str._40s_:_R3G3B2
lea esi, [ebp - 0x43e4]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x55
call fcn.004fc125
lea ecx, [ebp - 0x43e4]
jmp 0x4fb064
push str.Format
push str._40s_:_A8R3G3B2
lea esi, [ebp - 0x4400]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x56
call fcn.004fc125
lea ecx, [ebp - 0x4400]
jmp 0x4fb064
push str.Format_:__d_Unknown__d3ddm.Format
lea ecx, [ebp - 0x42c4]
call fcn.00404ce0
lea ecx, [ebp - 0x42c4]
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x57
call fcn.004fc125
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], 0
call fcn.00404660
push 0x68916f
lea ecx, [ebp - 0x42c4]
call fcn.00404ce0
lea ecx, [ebp - 0x42c4]
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x58
call fcn.004fc125
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], 0
call fcn.00404660
push str.__________Display_Device_Caps__________
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], 0x59
call fcn.004fc125
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], 0
call fcn.00404660
mov eax, dword [ebx + 0x10]
mov ecx, eax
dec ecx
je 0x4fb176
dec ecx
je 0x4fb146
dec ecx
je 0x4fb116
push eax
push str.DeviceType
push str._40s_:_0x_X_Unkown_
lea esi, [ebp - 0x428c]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x5d
call fcn.004fc125
lea ecx, [ebp - 0x428c]
jmp 0x4fb1a4
push 0x690330
push str._40s_:_SW
lea esi, [ebp - 0x42e0]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x5c
call fcn.004fc125
lea ecx, [ebp - 0x42e0]
jmp 0x4fb1a4
push 0x690318
push str._40s_:_REF
lea esi, [ebp - 0x42fc]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x5b
call fcn.004fc125
lea ecx, [ebp - 0x42fc]
jmp 0x4fb1a4
push 0x690300
push str._40s_:_HAL
lea esi, [ebp - 0x4318]
call fcn.004af643
pop ecx
pop ecx
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x5a
call fcn.004fc125
lea ecx, [ebp - 0x4318]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x14]
lea esi, [ebp - 0x428c]
push str.AdapterOrdinal
push 0x690378
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x5e
call fcn.004fc125
lea ecx, [ebp - 0x428c]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x18]
lea esi, [ebp - 0x42e0]
push str.Caps
push 0x690390
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x5f
call fcn.004fc125
lea ecx, [ebp - 0x42e0]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x1c]
lea esi, [ebp - 0x42fc]
push str.Caps2
push 0x6903a8
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x60
call fcn.004fc125
lea ecx, [ebp - 0x42fc]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x20]
lea esi, [ebp - 0x4318]
push str.Caps3
push 0x6903c0
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x61
call fcn.004fc125
lea ecx, [ebp - 0x4318]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x24]
lea esi, [ebp - 0x4370]
push str.PresentationIntervals
push 0x6903e8
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x62
call fcn.004fc125
lea ecx, [ebp - 0x4370]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x28]
lea esi, [ebp - 0x4354]
push str.CursorCaps
push 0x690404
call fcn.004af643
add esp, 0xc
mov byte [ebp - 4], 0x63
mov ecx, eax
lea esi, [ebp - 0x4268]
call fcn.004fc125
lea ecx, [ebp - 0x4354]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x2c]
lea esi, [ebp - 0x43c8]
push str.DevCaps
push 0x69041c
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x64
call fcn.004fc125
lea ecx, [ebp - 0x43c8]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x30]
lea esi, [ebp - 0x43ac]
push str.PrimitiveMiscCaps
push 0x690440
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x65
call fcn.004fc125
lea ecx, [ebp - 0x43ac]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x34]
lea esi, [ebp - 0x43e4]
push str.RasterCaps
push 0x69045c
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x66
call fcn.004fc125
lea ecx, [ebp - 0x43e4]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x38]
lea esi, [ebp - 0x4400]
push str.ZCmpCaps
push 0x690478
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x67
call fcn.004fc125
lea ecx, [ebp - 0x4400]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x3c]
lea esi, [ebp - 0x44fc]
push str.SrcBlendCaps
push 0x690498
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x68
call fcn.004fc125
lea ecx, [ebp - 0x44fc]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x40]
lea esi, [ebp - 0x4710]
push str.DestBlendCaps
push 0x6904b8
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x69
call fcn.004fc125
lea ecx, [ebp - 0x4710]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x44]
lea esi, [ebp - 0x44c4]
push str.AlphaCmpCaps
push 0x6904d8
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x6a
call fcn.004fc125
lea ecx, [ebp - 0x44c4]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x48]
lea esi, [ebp - 0x46a0]
push str.ShadeCaps
push 0x6904f4
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x6b
call fcn.004fc125
lea ecx, [ebp - 0x46a0]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x4c]
lea esi, [ebp - 0x4668]
push str.TextureCaps
push 0x690510
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x6c
call fcn.004fc125
lea ecx, [ebp - 0x4668]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x50]
lea esi, [ebp - 0x4630]
push str.TextureFilterCaps
push 0x690534
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x6d
call fcn.004fc125
lea ecx, [ebp - 0x4630]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x54]
lea esi, [ebp - 0x45f8]
push str.CubeTextureFilterCaps
push 0x69055c
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x6e
call fcn.004fc125
lea ecx, [ebp - 0x45f8]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x58]
push str.VolumeTextureFilterCaps
push 0x690584
lea esi, [ebp - 0x45c0]
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x6f
call fcn.004fc125
lea ecx, [ebp - 0x45c0]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x5c]
lea esi, [ebp - 0x4588]
push str.TextureAddressCaps
push 0x6905a8
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x70
call fcn.004fc125
lea ecx, [ebp - 0x4588]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x60]
lea esi, [ebp - 0x4550]
push str.VolumeTextureAddressCaps
push 0x6905d4
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x71
call fcn.004fc125
lea ecx, [ebp - 0x4550]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x64]
lea esi, [ebp - 0x4518]
push str.LineCaps
push 0x6905f0
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x72
call fcn.004fc125
lea ecx, [ebp - 0x4518]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x68]
lea esi, [ebp - 0x4684]
push str.MaxTextureWidth
push 0x690610
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x73
call fcn.004fc125
lea ecx, [ebp - 0x4684]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x6c]
lea esi, [ebp - 0x45dc]
push str.MaxTextureHeight
push 0x690634
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x74
call fcn.004fc125
lea ecx, [ebp - 0x45dc]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x70]
lea esi, [ebp - 0x46bc]
push str.MaxVolumeExtent
push 0x690654
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x75
call fcn.004fc125
lea ecx, [ebp - 0x46bc]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x74]
lea esi, [ebp - 0x45a4]
push str.MaxTextureRepeat
push 0x690678
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x76
call fcn.004fc125
lea ecx, [ebp - 0x45a4]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x78]
lea esi, [ebp - 0x464c]
push str.MaxTextureAspectRatio
push 0x6906a0
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x77
call fcn.004fc125
lea ecx, [ebp - 0x464c]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x7c]
lea esi, [ebp - 0x456c]
push str.MaxAnisotropy
push 0x6906c0
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x78
call fcn.004fc125
lea ecx, [ebp - 0x456c]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0x80]
push ecx
push ecx
fstp qword [esp]
push str.MaxVertexW
lea eax, [ebp - 0x4094]
push 0x6906dc
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x4094]
push eax
lea ecx, [ebp - 0x42c4]
call fcn.00404ce0
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], 0x79
call fcn.004fc125
lea ecx, [ebp - 0x42c4]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0x84]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandLeft
lea eax, [ebp - 0x3894]
push 0x6906f8
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x3894]
push eax
lea ecx, [ebp - 0x40b0]
call fcn.00404ce0
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], 0x7a
call fcn.004fc125
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0x88]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandTop
lea eax, [ebp - 0x2894]
push 0x690714
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x2894]
push eax
lea ecx, [ebp - 0x42a8]
call fcn.00404ce0
lea ecx, [ebp - 0x42a8]
mov byte [ebp - 4], 0x7b
call fcn.004fc125
lea ecx, [ebp - 0x42a8]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0x8c]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandRight
lea eax, [ebp - 0x2094]
push 0x690730
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x2094]
push eax
lea ecx, [ebp - 0x448c]
call fcn.00404ce0
lea ecx, [ebp - 0x448c]
mov byte [ebp - 4], 0x7c
call fcn.004fc125
lea ecx, [ebp - 0x448c]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0x90]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandBottom
lea eax, [ebp - 0x1894]
push 0x69074c
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x1894]
push eax
lea ecx, [ebp - 0x4438]
call fcn.00404ce0
lea ecx, [ebp - 0x4438]
mov byte [ebp - 4], 0x7d
call fcn.004fc125
lea ecx, [ebp - 0x4438]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0x94]
push ecx
push ecx
fstp qword [esp]
push str.ExtentsAdjust
lea eax, [ebp - 0x1094]
push 0x690768
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x1094]
push eax
lea ecx, [ebp - 0x4454]
call fcn.00404ce0
lea ecx, [ebp - 0x4454]
mov byte [ebp - 4], 0x7e
call fcn.004fc125
lea ecx, [ebp - 0x4454]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x98]
lea esi, [ebp - 0x46f4]
push str.StencilCaps
push 0x690780
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x7f
call fcn.004fc125
lea ecx, [ebp - 0x46f4]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0x9c]
lea esi, [ebp - 0x4534]
push str.FVFCaps
push 0x690798
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x80
call fcn.004fc125
lea ecx, [ebp - 0x4534]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xa0]
lea esi, [ebp - 0x4614]
push str.TextureOpCaps
push 0x6907b8
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x81
call fcn.004fc125
lea ecx, [ebp - 0x4614]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xa4]
lea esi, [ebp - 0x44e0]
push str.MaxTextureBlendStages
push 0x6907e0
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x82
call fcn.004fc125
lea ecx, [ebp - 0x44e0]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xa8]
lea esi, [ebp - 0x46d8]
push str.MaxSimultaneousTextures
push 0x690808
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x83
call fcn.004fc125
lea ecx, [ebp - 0x46d8]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xac]
lea esi, [ebp - 0x47b8]
push str.VertexProcessingCaps
push 0x690830
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x84
call fcn.004fc125
lea ecx, [ebp - 0x47b8]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xb0]
lea esi, [ebp - 0x4844]
push str.MaxActiveLights
push 0x690850
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x85
call fcn.004fc125
lea ecx, [ebp - 0x4844]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xb4]
lea esi, [ebp - 0x4828]
push str.MaxUserClipPlanes
push 0x690874
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x86
call fcn.004fc125
lea ecx, [ebp - 0x4828]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xb8]
lea esi, [ebp - 0x4780]
push str.MaxVertexBlendMatrices
push 0x69089c
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x87
call fcn.004fc125
lea ecx, [ebp - 0x4780]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xbc]
lea esi, [ebp - 0x47f0]
push str.MaxVertexBlendMatrixIndex
push 0x6908c8
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x88
call fcn.004fc125
lea ecx, [ebp - 0x47f0]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0xc0]
push ecx
push ecx
fstp qword [esp]
push str.MaxPointSize
lea eax, [ebp - 0x894]
push 0x6908e8
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x894]
push eax
lea ecx, [ebp - 0x4470]
call fcn.00404ce0
lea ecx, [ebp - 0x4470]
mov byte [ebp - 4], 0x89
call fcn.004fc125
lea ecx, [ebp - 0x4470]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xc4]
lea esi, [ebp - 0x472c]
push str.MaxPrimitiveCount
push 0x690908
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x8a
call fcn.004fc125
lea ecx, [ebp - 0x472c]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xc8]
lea esi, [ebp - 0x4748]
push str.MaxVertexIndex
push 0x690928
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x8b
call fcn.004fc125
lea ecx, [ebp - 0x4748]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xcc]
lea esi, [ebp - 0x4764]
push str.MaxStreams
push 0x690944
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x8c
call fcn.004fc125
lea ecx, [ebp - 0x4764]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xd0]
lea esi, [ebp - 0x479c]
push str.MaxStreamStride
push 0x690964
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x8d
call fcn.004fc125
lea ecx, [ebp - 0x479c]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xd4]
lea esi, [ebp - 0x47d4]
push str.VertexShaderVersion
push 0x690988
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x8e
call fcn.004fc125
lea ecx, [ebp - 0x47d4]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xd8]
lea esi, [ebp - 0x480c]
push str.MaxVertexShaderConst
push 0x6909b0
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x8f
call fcn.004fc125
lea ecx, [ebp - 0x480c]
mov byte [ebp - 4], 0
call fcn.00404660
push dword [ebx + 0xdc]
lea esi, [ebp - 0x4334]
push str.PixelShaderVersion
push str._40s_:_0x_08X
call fcn.004af643
add esp, 0xc
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x90
call fcn.004fc125
lea ecx, [ebp - 0x4334]
mov byte [ebp - 4], 0
call fcn.00404660
fld dword [ebx + 0xe0]
push ecx
push ecx
fstp qword [esp]
push str.MaxPixelShaderValue
lea eax, [ebp - 0x3094]
push str._40s_:__f
push eax
call fcn.0062df7d
add esp, 0x14
lea eax, [ebp - 0x3094]
push eax
lea ecx, [ebp - 0x44a8]
call fcn.00404ce0
lea ecx, [ebp - 0x44a8]
mov byte [ebp - 4], 0x91
call fcn.004fc125
lea ecx, [ebp - 0x44a8]
mov byte [ebp - 4], 0
call fcn.00404660
push 0x689182
lea ecx, [ebp - 0x441c]
call fcn.00404ce0
lea ecx, [ebp - 0x441c]
mov byte [ebp - 4], 0x92
call fcn.004fc125
lea ecx, [ebp - 0x441c]
mov byte [ebp - 4], 0
call fcn.00404660
push str.__________Display_Format__________
lea ecx, [ebp - 0x4390]
call fcn.00404ce0
lea ecx, [ebp - 0x4390]
mov byte [ebp - 4], 0x93
call fcn.004fc125
lea ecx, [ebp - 0x4390]
mov byte [ebp - 4], 0
call fcn.00404660
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
and dword [ebp - 0x426c], 0
mov dword [ebp - 0x4270], eax
test eax, eax
jbe 0x4fc053
xor eax, eax
lea edx, [ebp - 0x429c]
push edx
push dword [ebp - 0x426c]
lea edi, [ebp - 0x429c]
stosd dword es:[edi], eax
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x1c]
test eax, eax
jne 0x4fc03b
push eax
lea ecx, [ebp - 0x40b0]
mov dword [ebp - 0x4098], 0xf
call fcn.00404be0
mov byte [ebp - 4], 0x94
mov eax, dword [ebp - 0x4290]
add eax, 0xffffffec
cmp eax, 0xa
ja case.0x4fbf77.28
jmp dword [eax*4 + 0x4fc0f9]
mov edx, str.R8G8B8
jmp 0x4fbfc9
mov edx, str.A8R8G8B8
jmp 0x4fbfc9
mov edx, str.X8R8G8B8
jmp 0x4fbfc9
mov edx, str.R5G6B5
jmp 0x4fbfc9
mov edx, str.A1R5G5B5
jmp 0x4fbfc9
mov edx, str.X1R5G5B5
jmp 0x4fbfc9
mov edx, str.A4R4G4B4
jmp 0x4fbfc9
mov edx, str.X4R4G4B4
jmp 0x4fbfc9
mov edx, str.R3G3B2
jmp 0x4fbfc9
mov edx, str.A8R3G3B2
jmp 0x4fbfc9
mov edx, str.Unknown
lea eax, [ebp - 0x40b0]
push eax
call fcn.00415f80
cmp dword [ebp - 0x4098], 0x10
mov eax, dword [ebp - 0x40ac]
jae 0x4fbfea
lea eax, [ebp - 0x40ac]
push eax
push dword [ebp - 0x4294]
lea esi, [ebp - 0x4334]
push dword [ebp - 0x4298]
push dword [ebp - 0x429c]
push 0x690a9c
call fcn.004af643
add esp, 0x14
mov ecx, eax
lea esi, [ebp - 0x4268]
mov byte [ebp - 4], 0x95
call fcn.004fc125
lea ecx, [ebp - 0x4334]
call fcn.00404660
lea ecx, [ebp - 0x40b0]
mov byte [ebp - 4], 0
call fcn.00404660
inc dword [ebp - 0x426c]
mov eax, dword [ebp - 0x426c]
cmp eax, dword [ebp - 0x4270]
jb 0x4fbf23
mov dword [ebp - 4], 0x96
mov eax, dword [ebp - 0x4268]
lea ecx, [ebp - 0x4268]
call dword [eax + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4268]
call fcn.0051ea32
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0062c8b8
leave
ret 4