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

Disassembly:
push ebp
lea ebp, [esp - 0x4248]
mov eax, 0x4248
call fcn.0062e230
push 0xffffffffffffffff
push 0x65fc50
mov eax, dword fs:[0]
push eax
sub esp, 0x5e8
mov eax, dword [0x6ee104]
xor eax, ebp
mov dword [ebp + 0x4244], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x24], ecx
call fcn.004e0639
mov eax, dword [ebp - 0x18]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
call dword [eax + 0x24]
test al, al
jne 0x4e0811
mov dword [ebp - 4], 1
jmp 0x4e2862
push 0x67ebc4
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea ebx, [ebp + 0x1a8]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
lea eax, [ebp - 0x140]
push eax
call fcn.0045bf0b
pop ecx
mov ebx, eax
mov byte [ebp - 4], 3
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0
call fcn.00403f20
push 0x67ebc2
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 4
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push str.__________System__________
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 5
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403f20
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], ebx
call fcn.0045b3da
pop ecx
cmp eax, 0xe
ja case.default.0x4e08e3
jmp dword [eax*4 + 0x4e289c]
lea eax, [ebp - 0x258]
push 0x67eca8
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ecb8
lea eax, [ebp - 0x1cc]
push 0x67ecc0
push eax
mov byte [ebp - 4], 6
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x140]
push eax
mov byte [ebp - 4], 7
call fcn.0040375e
add esp, 0x20
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 8
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x140]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x1cc]
call fcn.00403f20
lea ecx, [ebp - 0x258]
jmp 0x4e100e
lea eax, [ebp - 0x1e8]
push str.Windows95
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ecd8
lea eax, [ebp - 0x204]
push 0x67ece0
push eax
mov byte [ebp - 4], 9
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x220]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040375e
add esp, 0x20
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0xb
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x220]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x204]
call fcn.00403f20
lea ecx, [ebp - 0x1e8]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp + 0x1a8]
push str.Windows95_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ed04
lea eax, [ebp - 0x94]
push 0x67ed0c
push eax
mov byte [ebp - 4], 0xc
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x23c]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0xe
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x23c]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.00403f20
lea ecx, [ebp + 0x1a8]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x300]
push str.Windows95OSR2_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ed34
lea eax, [ebp - 0x4dc]
push 0x67ed3c
push eax
mov byte [ebp - 4], 0xf
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x10
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x4dc]
call fcn.00403f20
lea ecx, [ebp - 0x300]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x4f8]
push str.Windows98_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ed60
lea eax, [ebp - 0x338]
push 0x67ed68
push eax
mov byte [ebp - 4], 0x12
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x418]
push eax
mov byte [ebp - 4], 0x13
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x14
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x418]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x338]
call fcn.00403f20
lea ecx, [ebp - 0x4f8]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x3a8]
push str.Windows98SE_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ed8c
lea eax, [ebp - 0x450]
push 0x67ed94
push eax
mov byte [ebp - 4], 0x15
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x370]
push eax
mov byte [ebp - 4], 0x16
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x17
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x370]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x450]
call fcn.00403f20
lea ecx, [ebp - 0x3a8]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x2ac]
push str.WindowsME_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67edb8
lea eax, [ebp - 0x290]
push 0x67edc0
push eax
mov byte [ebp - 4], 0x18
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x4c0]
push eax
mov byte [ebp - 4], 0x19
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x1a
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x4c0]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x290]
call fcn.00403f20
lea ecx, [ebp - 0x2ac]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x38c]
push str.WindowsNT_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ede4
lea eax, [ebp - 0x354]
push 0x67edec
push eax
mov byte [ebp - 4], 0x1b
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x31c]
push eax
mov byte [ebp - 4], 0x1c
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x1d
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x31c]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x354]
call fcn.00403f20
lea ecx, [ebp - 0x38c]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x434]
push str.Windows2000_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ee10
lea eax, [ebp - 0x3fc]
push 0x67ee18
push eax
mov byte [ebp - 4], 0x1e
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x3c4]
push eax
mov byte [ebp - 4], 0x1f
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x20
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x3c4]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00403f20
lea ecx, [ebp - 0x434]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x274]
push str.WindowsXP_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ee3c
lea eax, [ebp - 0x4a4]
push 0x67ee44
push eax
mov byte [ebp - 4], 0x21
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x22
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x23
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x46c]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x4a4]
call fcn.00403f20
lea ecx, [ebp - 0x274]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x2e4]
push str.Windows2003Server_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ee70
lea eax, [ebp - 0x3e0]
push 0x67ee78
push eax
mov byte [ebp - 4], 0x24
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x514]
push eax
mov byte [ebp - 4], 0x25
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x26
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x514]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x3e0]
call fcn.00403f20
lea ecx, [ebp - 0x2e4]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x1b0]
push str.WindowsVista_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ee9c
lea eax, [ebp - 0x488]
push 0x67eea4
push eax
mov byte [ebp - 4], 0x27
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x2c8]
push eax
mov byte [ebp - 4], 0x28
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x29
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2c8]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x488]
call fcn.00403f20
lea ecx, [ebp - 0x1b0]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x178]
push str.Windows7_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67eec4
lea eax, [ebp - 0x15c]
push 0x67eecc
push eax
mov byte [ebp - 4], 0x2a
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x194]
push eax
mov byte [ebp - 4], 0x2b
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x2c
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x194]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x15c]
call fcn.00403f20
lea ecx, [ebp - 0x178]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0xcc]
push str.Windows8_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67eeec
lea eax, [ebp - 0x108]
push 0x67eef4
push eax
mov byte [ebp - 4], 0x2d
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 4], 0x2e
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x2f
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x124]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.00403f20
lea ecx, [ebp - 0xcc]
jmp 0x4e100e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x40]
push str.Windows8_Later_ServicePack__d
push eax
call fcn.0045bca8
mov esi, eax
push 0x67ef1c
lea eax, [ebp - 0x78]
push 0x67ef24
push eax
mov byte [ebp - 4], 0x30
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x31
call fcn.0040375e
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x32
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xb0]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00403f20
lea ecx, [ebp - 0x40]
push ebx
push 1
mov byte [ebp - 4], bl
call fcn.00403f20
lea eax, [ebp - 0xb0]
push eax
call fcn.004e0525
mov esi, eax
mov dword [esp], 0x67ef2c
lea eax, [ebp - 0x78]
push 0x67ef34
push eax
mov byte [ebp - 4], 0x33
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x34
call fcn.0040375e
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x35
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00403f20
lea eax, [ebp - 0xb0]
push eax
call fcn.004e0507
mov esi, eax
mov dword [esp], 0x67ef3c
lea eax, [ebp - 0x78]
push 0x67ef48
push eax
mov byte [ebp - 4], 0x36
call fcn.0045bca8
push esi
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x37
call fcn.0040375e
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x38
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00403f20
push 0x64
call fcn.00586673
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
mov esi, eax
test eax, eax
jge 0x4e1112
fadd dword [0x6b1fe8]
fdiv qword [0x6b2180]
push ecx
lea eax, [ebp + 0x41c4]
fstp qword [esp]
push 0x67ef50
push eax
call fcn.0062e25b
lea eax, [ebp + 0x41c4]
push eax
push esi
push 0x67ef54
lea eax, [ebp - 0x40]
push str._40s_:__d_MHz____s_GHz__
push eax
call fcn.0045bca8
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x39
call fcn.004e05d3
xor ebx, ebx
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00403f20
push 0x67ef84
lea eax, [ebp - 0x40]
push str._40s_:
push eax
call fcn.0045bca8
add esp, 0xc
push eax
mov byte [ebp - 4], 0x3a
call fcn.004e04be
push ebx
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00403f20
call fcn.0058684e
test al, 1
je 0x4e11d1
push str.MMX
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea eax, [ebp + 0x1a8]
push eax
mov byte [ebp - 4], 0x3b
call fcn.004e04be
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403f20
call fcn.0058684e
shr eax, 1
test al, 1
je 0x4e120f
push str.SSE
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3c
call fcn.004e04be
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403f20
call fcn.0058684e
shr eax, 2
test al, 1
je 0x4e124e
push str.SSE2
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3d
call fcn.004e04be
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403f20
call fcn.0058684e
shr eax, 3
test al, 1
je 0x4e128d
push str.3DNow_
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3e
call fcn.004e04be
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403f20
call fcn.0058684e
shr eax, 4
test al, 1
je 0x4e12cc
push str.E3DNow_
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3f
call fcn.004e04be
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403f20
push 0x67ebc3
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea ebx, [ebp + 0x1a8]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x40
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0xec]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xec]
push eax
call dword [0x67511c]
mov eax, dword [ebp - 0xe4]
shr eax, 0x14
push eax
push 0x67efc8
lea eax, [ebp - 0x40]
push 0x67efd8
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x41
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403f20
mov eax, dword [ebp - 0xe0]
shr eax, 0x14
push eax
push 0x67efe8
lea eax, [ebp - 0x78]
push 0x67eff8
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x42
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403f20
mov eax, dword [ebp - 0xd4]
shr eax, 0x14
push eax
push 0x67f008
lea eax, [ebp - 0xb0]
push 0x67f018
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x43
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.00403f20
mov eax, dword [ebp - 0xd0]
shr eax, 0x14
push eax
push 0x67f028
push str._40s_:__6dMB
lea eax, [ebp - 0xcc]
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x44
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00403f20
push 0x67ebe5
lea ecx, [ebp - 0x5c]
call fcn.00404096
lea ebx, [ebp - 0x5c]
mov byte [ebp - 4], 0x45
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push str.__________Display__________
lea ecx, [ebp - 0x94]
call fcn.00404096
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x46
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], bl
call fcn.00403f20
mov esi, 0x1a8
push esi
lea eax, [ebp]
push ebx
push eax
call fcn.0062e2e0
add esp, 0xc
push ebx
lea eax, [ebp]
push eax
push ebx
push ebx
mov dword [ebp], esi
call dword [0x6752a4]
test eax, eax
je 0x4e14fd
lea eax, [ebp + 4]
push eax
push 0x67f064
lea eax, [ebp - 0x40]
push 0x67f074
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x47
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403f20
lea eax, [ebp + 0x24]
push eax
push 0x67f080
lea eax, [ebp - 0x78]
push str._40s_:__s
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x48
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403f20
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0045b540
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0xe4]
shr eax, 0x14
push eax
push 0x67f09c
lea eax, [ebp - 0x40]
push 0x67f0a8
push eax
call fcn.0045bca8
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x49
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403f20
mov eax, dword [edi + 0xe8]
shr eax, 0x14
push eax
push 0x67f0b8
lea eax, [ebp - 0x78]
push str._40s_:__6d_MB
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403f20
push 0x67ebe6
lea ecx, [ebp - 0x94]
call fcn.00404096
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x4b
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push 0x67f0d4
lea eax, [ebp - 0xb0]
push str._40s
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
mov byte [ebp - 4], 0x4c
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00403f20
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x24]
push ebx
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [edi + 0xc]
call fcn.004b1e53
push dword [ebp - 0x50]
lea eax, [ebp - 0xcc]
push str.Width
push 0x67f0f8
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4d
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [ebp - 0x4c]
lea eax, [ebp - 0x108]
push str.Height
push 0x67f10c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4e
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [ebp - 0x48]
lea eax, [ebp - 0x124]
push str.RefreshRate
push str._40s_:__d
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4f
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0
call fcn.00403f20
mov eax, dword [ebp - 0x44]
add eax, 0xffffffec
cmp eax, 0xa
ja case.0x4e16c1.28
jmp dword [eax*4 + 0x4e28d8]
push 0x67f130
lea eax, [ebp - 0x40]
push str._40s_:_R8G8B8
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x50
call fcn.004e05d3
lea ecx, [ebp - 0x40]
jmp 0x4e18ce
push 0x67f148
lea eax, [ebp - 0x78]
push str._40s_:_A8R8G8B8
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x51
call fcn.004e05d3
lea ecx, [ebp - 0x78]
jmp 0x4e18ce
push 0x67f160
lea eax, [ebp - 0xb0]
push str._40s_:_X8R8G8B8
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x52
call fcn.004e05d3
lea ecx, [ebp - 0xb0]
jmp 0x4e18ce
push 0x67f178
lea eax, [ebp - 0xcc]
push str._40s_:_R5G6B5
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x53
call fcn.004e05d3
lea ecx, [ebp - 0xcc]
jmp 0x4e18ce
push 0x67f190
lea eax, [ebp - 0x108]
push str._40s_:_A1R5G5B5
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x54
call fcn.004e05d3
lea ecx, [ebp - 0x108]
jmp 0x4e18ce
push 0x67f1a8
lea eax, [ebp - 0x124]
push str._40s_:_X1R5G5B5
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x55
call fcn.004e05d3
lea ecx, [ebp - 0x124]
jmp 0x4e18ce
push 0x67f1c0
lea eax, [ebp - 0x178]
push str._40s_:_A4R4G4B4
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x56
call fcn.004e05d3
lea ecx, [ebp - 0x178]
jmp 0x4e18ce
push 0x67f1d8
lea eax, [ebp - 0x15c]
push str._40s_:_X4R4G4B4
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x57
call fcn.004e05d3
lea ecx, [ebp - 0x15c]
jmp 0x4e18ce
push 0x67f1f0
lea eax, [ebp - 0x194]
push str._40s_:_R3G3B2
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x58
call fcn.004e05d3
lea ecx, [ebp - 0x194]
jmp 0x4e18ce
push str.Format
lea eax, [ebp - 0x1b0]
push str._40s_:_A8R3G3B2
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x59
call fcn.004e05d3
lea ecx, [ebp - 0x1b0]
jmp 0x4e18ce
push str.Format_:__d_Unknown__d3ddm.Format
lea ecx, [ebp - 0x94]
call fcn.00404096
lea ebx, [ebp - 0x94]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5a
call fcn.004e05d3
mov ecx, ebx
push 0
push 1
mov byte [ebp - 4], 0
call fcn.00403f20
push 0x67ebe7
lea ecx, [ebp - 0x94]
call fcn.00404096
lea ebx, [ebp - 0x94]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5b
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push str.__________Display_Device_Caps__________
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 0x5c
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
mov eax, dword [edi + 0x10]
mov ecx, eax
dec ecx
je 0x4e19ce
dec ecx
je 0x4e199f
dec ecx
je 0x4e1976
push eax
push str.DeviceType
lea eax, [ebp - 0x40]
push str._40s_:_0x_X_Unkown_
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x60
call fcn.004e05d3
lea ecx, [ebp - 0x40]
jmp 0x4e19fb
push 0x67f29c
lea eax, [ebp - 0x78]
push str._40s_:_SW
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5f
call fcn.004e05d3
lea ecx, [ebp - 0x78]
jmp 0x4e19fb
push 0x67f284
lea eax, [ebp - 0xb0]
push str._40s_:_REF
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5e
call fcn.004e05d3
lea ecx, [ebp - 0xb0]
jmp 0x4e19fb
push 0x67f26c
lea eax, [ebp - 0xcc]
push str._40s_:_HAL
push eax
call fcn.0045bca8
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5d
call fcn.004e05d3
lea ecx, [ebp - 0xcc]
push 0
push 1
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x14]
lea eax, [ebp - 0x40]
push str.AdapterOrdinal
push 0x67f2e4
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x61
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x18]
lea eax, [ebp - 0x78]
push str.Caps
push 0x67f2fc
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x62
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x1c]
lea eax, [ebp - 0xb0]
push str.Caps2
push 0x67f314
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x63
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x20]
lea eax, [ebp - 0xcc]
push str.Caps3
push 0x67f32c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x64
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x24]
lea eax, [ebp - 0x108]
push str.PresentationIntervals
push 0x67f354
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x65
call fcn.004e05d3
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x108]
call fcn.00403f20
push dword [edi + 0x28]
lea eax, [ebp - 0x124]
push str.CursorCaps
push 0x67f370
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x66
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x2c]
lea eax, [ebp - 0x178]
push str.DevCaps
push 0x67f388
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x67
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x30]
lea eax, [ebp - 0x15c]
push str.PrimitiveMiscCaps
push 0x67f3ac
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x68
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x34]
lea eax, [ebp - 0x194]
push str.RasterCaps
push 0x67f3c8
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x69
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x38]
lea eax, [ebp - 0x1b0]
push str.ZCmpCaps
push 0x67f3e4
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6a
call fcn.004e05d3
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00403f20
push dword [edi + 0x3c]
lea eax, [ebp - 0x488]
push str.SrcBlendCaps
push 0x67f404
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6b
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x40]
lea eax, [ebp - 0x2c8]
push str.DestBlendCaps
push 0x67f424
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6c
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x44]
lea eax, [ebp - 0x2e4]
push str.AlphaCmpCaps
push 0x67f444
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6d
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x48]
lea eax, [ebp - 0x3e0]
push str.ShadeCaps
push 0x67f460
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6e
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x4c]
lea eax, [ebp - 0x514]
push str.TextureCaps
push 0x67f47c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6f
call fcn.004e05d3
push 0
mov byte [ebp - 4], 0
push 1
lea ecx, [ebp - 0x514]
call fcn.00403f20
push dword [edi + 0x50]
lea eax, [ebp - 0x274]
push str.TextureFilterCaps
push 0x67f4a0
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x70
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x54]
lea eax, [ebp - 0x4a4]
push str.CubeTextureFilterCaps
push 0x67f4c8
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x71
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x58]
lea eax, [ebp - 0x46c]
push str.VolumeTextureFilterCaps
push 0x67f4f0
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x72
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x5c]
lea eax, [ebp - 0x434]
push str.TextureAddressCaps
push 0x67f514
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x60]
lea eax, [ebp - 0x3fc]
push str.VolumeTextureAddressCaps
push 0x67f540
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x74
call fcn.004e05d3
push 0
mov byte [ebp - 4], 0
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00403f20
push dword [edi + 0x64]
lea eax, [ebp - 0x3c4]
push str.LineCaps
push 0x67f55c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x75
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x3c4]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x68]
lea eax, [ebp - 0x38c]
push str.MaxTextureWidth
push 0x67f57c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x76
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x6c]
lea eax, [ebp - 0x354]
push str.MaxTextureHeight
push 0x67f5a0
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x77
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x70]
lea eax, [ebp - 0x31c]
push str.MaxVolumeExtent
push 0x67f5c0
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x78
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x74]
lea eax, [ebp - 0x2ac]
push str.MaxTextureRepeat
push 0x67f5e4
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x79
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x78]
lea eax, [ebp - 0x290]
push str.MaxTextureAspectRatio
push 0x67f60c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x7a
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x7c]
lea eax, [ebp - 0x4c0]
push str.MaxAnisotropy
push 0x67f62c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x7b
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0x80]
push ecx
push ecx
fstp qword [esp]
push str.MaxVertexW
lea eax, [ebp + 0x11c4]
push 0x67f648
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x11c4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00404096
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x7c
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0x84]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandLeft
lea eax, [ebp + 0x1c4]
push 0x67f664
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x1c4]
push eax
lea ecx, [ebp + 0x1a8]
call fcn.00404096
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 0x7d
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0x88]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandTop
lea eax, [ebp + 0x9c4]
push 0x67f680
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x9c4]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00404096
lea ebx, [ebp - 0x5c]
mov byte [ebp - 4], 0x7e
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0x8c]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandRight
lea eax, [ebp + 0x29c4]
push 0x67f69c
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x29c4]
push eax
lea ecx, [ebp - 0x23c]
call fcn.00404096
lea ebx, [ebp - 0x23c]
mov byte [ebp - 4], 0x7f
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0x90]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandBottom
lea eax, [ebp + 0x21c4]
push 0x67f6b8
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x21c4]
push eax
lea ecx, [ebp - 0x1e8]
call fcn.00404096
lea ebx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x80
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0x94]
push ecx
push ecx
fstp qword [esp]
push str.ExtentsAdjust
lea eax, [ebp + 0x31c4]
push 0x67f6d4
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x31c4]
push eax
lea ecx, [ebp - 0x204]
call fcn.00404096
lea ebx, [ebp - 0x204]
mov byte [ebp - 4], 0x81
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x98]
lea eax, [ebp - 0x3a8]
push str.StencilCaps
push 0x67f6ec
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x82
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0x9c]
lea eax, [ebp - 0x450]
push str.FVFCaps
push 0x67f704
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x83
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xa0]
lea eax, [ebp - 0x370]
push str.TextureOpCaps
push 0x67f724
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x84
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xa4]
lea eax, [ebp - 0x4f8]
push str.MaxTextureBlendStages
push 0x67f74c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x85
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xa8]
lea eax, [ebp - 0x338]
push str.MaxSimultaneousTextures
push 0x67f774
push eax
call fcn.0045bca8
add esp, 0x10
mov byte [ebp - 4], 0x86
mov ebx, eax
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xac]
lea eax, [ebp - 0x418]
push str.VertexProcessingCaps
push 0x67f79c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x87
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xb0]
lea eax, [ebp - 0x300]
push str.MaxActiveLights
push 0x67f7bc
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x88
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xb4]
lea eax, [ebp - 0x4dc]
push str.MaxUserClipPlanes
push 0x67f7e0
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x89
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xb8]
lea eax, [ebp - 0x584]
push str.MaxVertexBlendMatrices
push 0x67f808
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8a
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x584]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xbc]
lea eax, [ebp - 0x54c]
push str.MaxVertexBlendMatrixIndex
push 0x67f834
push eax
call fcn.0045bca8
add esp, 0x10
mov byte [ebp - 4], 0x8b
mov ebx, eax
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x54c]
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0xc0]
push ecx
push ecx
fstp qword [esp]
push str.MaxPointSize
lea eax, [ebp + 0x39c4]
push 0x67f854
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x39c4]
push eax
lea ecx, [ebp - 0x220]
call fcn.00404096
lea ebx, [ebp - 0x220]
mov byte [ebp - 4], 0x8c
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xc4]
lea eax, [ebp - 0x530]
push str.MaxPrimitiveCount
push 0x67f874
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8d
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xc8]
lea eax, [ebp - 0x5bc]
push str.MaxVertexIndex
push 0x67f894
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8e
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x5bc]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xcc]
lea eax, [ebp - 0x5f4]
push str.MaxStreams
push 0x67f8b0
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8f
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x5f4]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xd0]
lea eax, [ebp - 0x568]
push str.MaxStreamStride
push 0x67f8d0
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x90
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xd4]
lea eax, [ebp - 0x5d8]
push str.VertexShaderVersion
push 0x67f8f4
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x91
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xd8]
lea eax, [ebp - 0x5a0]
push str.MaxVertexShaderConst
push 0x67f91c
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x92
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0x5a0]
mov byte [ebp - 4], 0
call fcn.00403f20
push dword [edi + 0xdc]
lea eax, [ebp - 0xe8]
push str.PixelShaderVersion
push str._40s_:_0x_08X
push eax
call fcn.0045bca8
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x93
call fcn.004e05d3
push 0
push 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0
call fcn.00403f20
fld dword [edi + 0xe0]
push ecx
push ecx
fstp qword [esp]
push str.MaxPixelShaderValue
lea eax, [ebp + 0x19c4]
push str._40s_:__f
push eax
call fcn.0062e25b
add esp, 0x14
lea eax, [ebp + 0x19c4]
push eax
lea ecx, [ebp - 0x258]
call fcn.00404096
lea ebx, [ebp - 0x258]
mov byte [ebp - 4], 0x94
call fcn.004e05d3
push 0
mov byte [ebp - 4], 0
push 1
mov ecx, ebx
call fcn.00403f20
push 0x67ec3b
lea ecx, [ebp - 0x1cc]
call fcn.00404096
lea ebx, [ebp - 0x1cc]
mov byte [ebp - 4], 0x95
call fcn.004e05d3
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403f20
push str.__________Display_Format__________
lea ecx, [ebp - 0x140]
call fcn.00404096
lea ebx, [ebp - 0x140]
mov byte [ebp - 4], 0x96
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], bl
call fcn.00403f20
mov ecx, dword [edi + 0xc]
call fcn.005d26ce
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x18]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
cmp eax, ebx
jbe 0x4e285b
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
call fcn.005d26ce
mov ecx, dword [eax]
lea edx, [ebp - 0x50]
push edx
push dword [ebp - 0x1c]
push ebx
push eax
call dword [ecx + 0x1c]
test eax, eax
jne 0x4e284c
push ebx
lea ecx, [ebp + 0x1a8]
mov dword [ebp + 0x1c0], 0xf
call fcn.00403fe5
mov eax, dword [ebp - 0x44]
add eax, 0xffffffec
mov byte [ebp - 4], 0x97
cmp eax, 0xa
ja case.0x4e278d.28
jmp dword [eax*4 + 0x4e2904]
push str.R8G8B8
jmp 0x4e27df
push str.A8R8G8B8
jmp 0x4e27df
push str.X8R8G8B8
jmp 0x4e27df
push str.R5G6B5
jmp 0x4e27df
push str.A1R5G5B5
jmp 0x4e27df
push str.X1R5G5B5
jmp 0x4e27df
push str.A4R4G4B4
jmp 0x4e27df
push str.X4R4G4B4
jmp 0x4e27df
push str.R3G3B2
jmp 0x4e27df
push str.A8R3G3B2
jmp 0x4e27df
push str.Unknown
lea ecx, [ebp + 0x1a8]
call fcn.00404073
cmp dword [ebp + 0x1c0], 0x10
mov eax, dword [ebp + 0x1ac]
jae 0x4e27ff
lea eax, [ebp + 0x1ac]
push eax
push dword [ebp - 0x48]
lea eax, [ebp - 0xe8]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push 0x67fa08
push eax
call fcn.0045bca8
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x98
call fcn.004e05d3
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xe8]
call fcn.00403f20
push ebx
push 1
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403f20
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jb 0x4e2741
mov dword [ebp - 4], 0x99
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call dword [eax + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00505453
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x4244]
xor ecx, ebp
call fcn.0062c8c8
add ebp, 0x4248
leave
ret