Function at 0x4e5277
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.00631840
push 0xffffffffffffffff
push 0x663301
mov eax, dword fs:[0]
push eax
sub esp, 0x5e8
mov eax, dword [0x6f2fc4]
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.004e5108
mov eax, dword [ebp - 0x18]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
call dword [eax + 0x24]
test al, al
jne 0x4e52e0
mov dword [ebp - 4], 1
jmp 0x4e7331
push 0x682d04
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea ebx, [ebp + 0x1a8]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
lea eax, [ebp - 0x140]
push eax
call fcn.00460cb9
pop ecx
mov ebx, eax
mov byte [ebp - 4], 3
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0
call fcn.00403e40
push 0x682d02
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 4
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
push str.__________System__________
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 5
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403e40
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00460188
pop ecx
cmp eax, 0xe
ja case.default.0x4e53b2
jmp dword [eax*4 + 0x4e736b]
lea eax, [ebp - 0x258]
push 0x682de8
push eax
call fcn.00460a56
mov esi, eax
push 0x682df8
lea eax, [ebp - 0x1cc]
push 0x682e00
push eax
mov byte [ebp - 4], 6
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x140]
push eax
mov byte [ebp - 4], 7
call fcn.0040372a
add esp, 0x20
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 8
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x140]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x1cc]
call fcn.00403e40
lea ecx, [ebp - 0x258]
jmp 0x4e5add
lea eax, [ebp - 0x1e8]
push str.Windows95
push eax
call fcn.00460a56
mov esi, eax
push 0x682e18
lea eax, [ebp - 0x204]
push 0x682e20
push eax
mov byte [ebp - 4], 9
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x220]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040372a
add esp, 0x20
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0xb
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x220]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x204]
call fcn.00403e40
lea ecx, [ebp - 0x1e8]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp + 0x1a8]
push str.Windows95_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682e44
lea eax, [ebp - 0x94]
push 0x682e4c
push eax
mov byte [ebp - 4], 0xc
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x23c]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0xe
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x23c]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.00403e40
lea ecx, [ebp + 0x1a8]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x300]
push str.Windows95OSR2_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682e74
lea eax, [ebp - 0x4dc]
push 0x682e7c
push eax
mov byte [ebp - 4], 0xf
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x10
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x4dc]
call fcn.00403e40
lea ecx, [ebp - 0x300]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x4f8]
push str.Windows98_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682ea0
lea eax, [ebp - 0x338]
push 0x682ea8
push eax
mov byte [ebp - 4], 0x12
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x418]
push eax
mov byte [ebp - 4], 0x13
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x14
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x418]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x338]
call fcn.00403e40
lea ecx, [ebp - 0x4f8]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x3a8]
push str.Windows98SE_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682ecc
lea eax, [ebp - 0x450]
push 0x682ed4
push eax
mov byte [ebp - 4], 0x15
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x370]
push eax
mov byte [ebp - 4], 0x16
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x17
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x370]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x450]
call fcn.00403e40
lea ecx, [ebp - 0x3a8]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x2ac]
push str.WindowsME_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682ef8
lea eax, [ebp - 0x290]
push 0x682f00
push eax
mov byte [ebp - 4], 0x18
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x4c0]
push eax
mov byte [ebp - 4], 0x19
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x1a
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x4c0]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x290]
call fcn.00403e40
lea ecx, [ebp - 0x2ac]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x38c]
push str.WindowsNT_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682f24
lea eax, [ebp - 0x354]
push 0x682f2c
push eax
mov byte [ebp - 4], 0x1b
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x31c]
push eax
mov byte [ebp - 4], 0x1c
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x1d
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x31c]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x354]
call fcn.00403e40
lea ecx, [ebp - 0x38c]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x434]
push str.Windows2000_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682f50
lea eax, [ebp - 0x3fc]
push 0x682f58
push eax
mov byte [ebp - 4], 0x1e
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x3c4]
push eax
mov byte [ebp - 4], 0x1f
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x20
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x3c4]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00403e40
lea ecx, [ebp - 0x434]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x274]
push str.WindowsXP_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682f7c
lea eax, [ebp - 0x4a4]
push 0x682f84
push eax
mov byte [ebp - 4], 0x21
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x22
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x23
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x46c]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x4a4]
call fcn.00403e40
lea ecx, [ebp - 0x274]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x2e4]
push str.Windows2003Server_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682fb0
lea eax, [ebp - 0x3e0]
push 0x682fb8
push eax
mov byte [ebp - 4], 0x24
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x514]
push eax
mov byte [ebp - 4], 0x25
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x26
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x514]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x3e0]
call fcn.00403e40
lea ecx, [ebp - 0x2e4]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x1b0]
push str.WindowsVista_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x682fdc
lea eax, [ebp - 0x488]
push 0x682fe4
push eax
mov byte [ebp - 4], 0x27
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x2c8]
push eax
mov byte [ebp - 4], 0x28
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x29
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2c8]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x488]
call fcn.00403e40
lea ecx, [ebp - 0x1b0]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x178]
push str.Windows7_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x683004
lea eax, [ebp - 0x15c]
push 0x68300c
push eax
mov byte [ebp - 4], 0x2a
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x194]
push eax
mov byte [ebp - 4], 0x2b
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x2c
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x194]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x15c]
call fcn.00403e40
lea ecx, [ebp - 0x178]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0xcc]
push str.Windows8_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x68302c
lea eax, [ebp - 0x108]
push 0x683034
push eax
mov byte [ebp - 4], 0x2d
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 4], 0x2e
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x2f
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x124]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.00403e40
lea ecx, [ebp - 0xcc]
jmp 0x4e5add
push dword [ebp - 0x1c]
lea eax, [ebp - 0x40]
push str.Windows8_Later_ServicePack__d
push eax
call fcn.00460a56
mov esi, eax
push 0x68305c
lea eax, [ebp - 0x78]
push 0x683064
push eax
mov byte [ebp - 4], 0x30
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x31
call fcn.0040372a
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x32
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xb0]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00403e40
lea ecx, [ebp - 0x40]
push ebx
push 1
mov byte [ebp - 4], bl
call fcn.00403e40
lea eax, [ebp - 0xb0]
push eax
call fcn.004e4ff4
mov esi, eax
mov dword [esp], 0x68306c
lea eax, [ebp - 0x78]
push 0x683074
push eax
mov byte [ebp - 4], 0x33
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x34
call fcn.0040372a
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x35
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00403e40
lea eax, [ebp - 0xb0]
push eax
call fcn.004e4fd6
mov esi, eax
mov dword [esp], 0x68307c
lea eax, [ebp - 0x78]
push 0x683088
push eax
mov byte [ebp - 4], 0x36
call fcn.00460a56
push esi
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x37
call fcn.0040372a
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x38
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00403e40
push 0x64
call fcn.00589ad4
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
mov esi, eax
test eax, eax
jge 0x4e5be1
fadd dword [0x6b62d0]
fdiv qword [0x6b6468]
push ecx
lea eax, [ebp + 0x41c4]
fstp qword [esp]
push 0x683090
push eax
call fcn.0063186b
lea eax, [ebp + 0x41c4]
push eax
push esi
push 0x683094
lea eax, [ebp - 0x40]
push str._40s_:__d_MHz____s_GHz__
push eax
call fcn.00460a56
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x39
call fcn.004e50a2
xor ebx, ebx
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00403e40
push 0x6830c4
lea eax, [ebp - 0x40]
push str._40s_:
push eax
call fcn.00460a56
add esp, 0xc
push eax
mov byte [ebp - 4], 0x3a
call fcn.004e4f8d
push ebx
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00403e40
call fcn.00589caf
test al, 1
je 0x4e5ca0
push str.MMX
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea eax, [ebp + 0x1a8]
push eax
mov byte [ebp - 4], 0x3b
call fcn.004e4f8d
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403e40
call fcn.00589caf
shr eax, 1
test al, 1
je 0x4e5cde
push str.SSE
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3c
call fcn.004e4f8d
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403e40
call fcn.00589caf
shr eax, 2
test al, 1
je 0x4e5d1d
push str.SSE2
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3d
call fcn.004e4f8d
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403e40
call fcn.00589caf
shr eax, 3
test al, 1
je 0x4e5d5c
push str.3DNow_
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3e
call fcn.004e4f8d
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403e40
call fcn.00589caf
shr eax, 4
test al, 1
je 0x4e5d9b
push str.E3DNow_
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3f
call fcn.004e4f8d
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403e40
push 0x682d03
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea ebx, [ebp + 0x1a8]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x40
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
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 [0x67911c]
mov eax, dword [ebp - 0xe4]
shr eax, 0x14
push eax
push 0x683108
lea eax, [ebp - 0x40]
push 0x683118
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x41
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403e40
mov eax, dword [ebp - 0xe0]
shr eax, 0x14
push eax
push 0x683128
lea eax, [ebp - 0x78]
push 0x683138
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x42
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403e40
mov eax, dword [ebp - 0xd4]
shr eax, 0x14
push eax
push 0x683148
lea eax, [ebp - 0xb0]
push 0x683158
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x43
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.00403e40
mov eax, dword [ebp - 0xd0]
shr eax, 0x14
push eax
push 0x683168
push str._40s_:__6dMB
lea eax, [ebp - 0xcc]
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x44
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00403e40
push 0x682d25
lea ecx, [ebp - 0x5c]
call fcn.00403fb6
lea ebx, [ebp - 0x5c]
mov byte [ebp - 4], 0x45
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
push str.__________Display__________
lea ecx, [ebp - 0x94]
call fcn.00403fb6
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x46
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], bl
call fcn.00403e40
mov esi, 0x1a8
push esi
lea eax, [ebp]
push ebx
push eax
call fcn.006318f0
add esp, 0xc
push ebx
lea eax, [ebp]
push eax
push ebx
push ebx
mov dword [ebp], esi
call dword [0x6792a4]
test eax, eax
je 0x4e5fcc
lea eax, [ebp + 4]
push eax
push 0x6831a4
lea eax, [ebp - 0x40]
push 0x6831b4
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x47
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403e40
lea eax, [ebp + 0x24]
push eax
push 0x6831c0
lea eax, [ebp - 0x78]
push str._40s_:__s
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x48
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403e40
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004602ee
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0xe4]
shr eax, 0x14
push eax
push 0x6831dc
lea eax, [ebp - 0x40]
push 0x6831e8
push eax
call fcn.00460a56
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x49
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403e40
mov eax, dword [edi + 0xe8]
shr eax, 0x14
push eax
push 0x6831f8
lea eax, [ebp - 0x78]
push str._40s_:__6d_MB
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403e40
push 0x682d26
lea ecx, [ebp - 0x94]
call fcn.00403fb6
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x4b
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
push 0x683214
lea eax, [ebp - 0xb0]
push str._40s
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
mov byte [ebp - 4], 0x4c
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00403e40
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.004b69f4
push dword [ebp - 0x50]
lea eax, [ebp - 0xcc]
push str.Width
push 0x683238
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4d
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [ebp - 0x4c]
lea eax, [ebp - 0x108]
push str.Height
push 0x68324c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4e
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [ebp - 0x48]
lea eax, [ebp - 0x124]
push str.RefreshRate
push str._40s_:__d
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4f
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0
call fcn.00403e40
mov eax, dword [ebp - 0x44]
add eax, 0xffffffec
cmp eax, 0xa
ja case.0x4e6190.28
jmp dword [eax*4 + 0x4e73a7]
push 0x683270
lea eax, [ebp - 0x40]
push str._40s_:_R8G8B8
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x50
call fcn.004e50a2
lea ecx, [ebp - 0x40]
jmp 0x4e639d
push 0x683288
lea eax, [ebp - 0x78]
push str._40s_:_A8R8G8B8
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x51
call fcn.004e50a2
lea ecx, [ebp - 0x78]
jmp 0x4e639d
push 0x6832a0
lea eax, [ebp - 0xb0]
push str._40s_:_X8R8G8B8
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x52
call fcn.004e50a2
lea ecx, [ebp - 0xb0]
jmp 0x4e639d
push 0x6832b8
lea eax, [ebp - 0xcc]
push str._40s_:_R5G6B5
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x53
call fcn.004e50a2
lea ecx, [ebp - 0xcc]
jmp 0x4e639d
push 0x6832d0
lea eax, [ebp - 0x108]
push str._40s_:_A1R5G5B5
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x54
call fcn.004e50a2
lea ecx, [ebp - 0x108]
jmp 0x4e639d
push 0x6832e8
lea eax, [ebp - 0x124]
push str._40s_:_X1R5G5B5
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x55
call fcn.004e50a2
lea ecx, [ebp - 0x124]
jmp 0x4e639d
push 0x683300
lea eax, [ebp - 0x178]
push str._40s_:_A4R4G4B4
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x56
call fcn.004e50a2
lea ecx, [ebp - 0x178]
jmp 0x4e639d
push 0x683318
lea eax, [ebp - 0x15c]
push str._40s_:_X4R4G4B4
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x57
call fcn.004e50a2
lea ecx, [ebp - 0x15c]
jmp 0x4e639d
push 0x683330
lea eax, [ebp - 0x194]
push str._40s_:_R3G3B2
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x58
call fcn.004e50a2
lea ecx, [ebp - 0x194]
jmp 0x4e639d
push str.Format
lea eax, [ebp - 0x1b0]
push str._40s_:_A8R3G3B2
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x59
call fcn.004e50a2
lea ecx, [ebp - 0x1b0]
jmp 0x4e639d
push str.Format_:__d_Unknown__d3ddm.Format
lea ecx, [ebp - 0x94]
call fcn.00403fb6
lea ebx, [ebp - 0x94]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5a
call fcn.004e50a2
mov ecx, ebx
push 0
push 1
mov byte [ebp - 4], 0
call fcn.00403e40
push 0x682d27
lea ecx, [ebp - 0x94]
call fcn.00403fb6
lea ebx, [ebp - 0x94]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5b
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
push str.__________Display_Device_Caps__________
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 0x5c
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
mov eax, dword [edi + 0x10]
mov ecx, eax
dec ecx
je 0x4e649d
dec ecx
je 0x4e646e
dec ecx
je 0x4e6445
push eax
push str.DeviceType
lea eax, [ebp - 0x40]
push str._40s_:_0x_X_Unkown_
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x60
call fcn.004e50a2
lea ecx, [ebp - 0x40]
jmp 0x4e64ca
push 0x6833dc
lea eax, [ebp - 0x78]
push str._40s_:_SW
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5f
call fcn.004e50a2
lea ecx, [ebp - 0x78]
jmp 0x4e64ca
push 0x6833c4
lea eax, [ebp - 0xb0]
push str._40s_:_REF
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5e
call fcn.004e50a2
lea ecx, [ebp - 0xb0]
jmp 0x4e64ca
push 0x6833ac
lea eax, [ebp - 0xcc]
push str._40s_:_HAL
push eax
call fcn.00460a56
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5d
call fcn.004e50a2
lea ecx, [ebp - 0xcc]
push 0
push 1
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x14]
lea eax, [ebp - 0x40]
push str.AdapterOrdinal
push 0x683424
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x61
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x18]
lea eax, [ebp - 0x78]
push str.Caps
push 0x68343c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x62
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x1c]
lea eax, [ebp - 0xb0]
push str.Caps2
push 0x683454
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x63
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x20]
lea eax, [ebp - 0xcc]
push str.Caps3
push 0x68346c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x64
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x24]
lea eax, [ebp - 0x108]
push str.PresentationIntervals
push 0x683494
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x65
call fcn.004e50a2
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x108]
call fcn.00403e40
push dword [edi + 0x28]
lea eax, [ebp - 0x124]
push str.CursorCaps
push 0x6834b0
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x66
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x2c]
lea eax, [ebp - 0x178]
push str.DevCaps
push 0x6834c8
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x67
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x30]
lea eax, [ebp - 0x15c]
push str.PrimitiveMiscCaps
push 0x6834ec
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x68
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x34]
lea eax, [ebp - 0x194]
push str.RasterCaps
push 0x683508
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x69
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x38]
lea eax, [ebp - 0x1b0]
push str.ZCmpCaps
push 0x683524
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6a
call fcn.004e50a2
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00403e40
push dword [edi + 0x3c]
lea eax, [ebp - 0x488]
push str.SrcBlendCaps
push 0x683544
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6b
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x40]
lea eax, [ebp - 0x2c8]
push str.DestBlendCaps
push 0x683564
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6c
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x44]
lea eax, [ebp - 0x2e4]
push str.AlphaCmpCaps
push 0x683584
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6d
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x48]
lea eax, [ebp - 0x3e0]
push str.ShadeCaps
push 0x6835a0
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6e
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x4c]
lea eax, [ebp - 0x514]
push str.TextureCaps
push 0x6835bc
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6f
call fcn.004e50a2
push 0
mov byte [ebp - 4], 0
push 1
lea ecx, [ebp - 0x514]
call fcn.00403e40
push dword [edi + 0x50]
lea eax, [ebp - 0x274]
push str.TextureFilterCaps
push 0x6835e0
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x70
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x54]
lea eax, [ebp - 0x4a4]
push str.CubeTextureFilterCaps
push 0x683608
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x71
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x58]
lea eax, [ebp - 0x46c]
push str.VolumeTextureFilterCaps
push 0x683630
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x72
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x5c]
lea eax, [ebp - 0x434]
push str.TextureAddressCaps
push 0x683654
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x60]
lea eax, [ebp - 0x3fc]
push str.VolumeTextureAddressCaps
push 0x683680
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x74
call fcn.004e50a2
push 0
mov byte [ebp - 4], 0
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00403e40
push dword [edi + 0x64]
lea eax, [ebp - 0x3c4]
push str.LineCaps
push 0x68369c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x75
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x3c4]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x68]
lea eax, [ebp - 0x38c]
push str.MaxTextureWidth
push 0x6836bc
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x76
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x6c]
lea eax, [ebp - 0x354]
push str.MaxTextureHeight
push 0x6836e0
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x77
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x70]
lea eax, [ebp - 0x31c]
push str.MaxVolumeExtent
push 0x683700
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x78
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x74]
lea eax, [ebp - 0x2ac]
push str.MaxTextureRepeat
push 0x683724
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x79
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x78]
lea eax, [ebp - 0x290]
push str.MaxTextureAspectRatio
push 0x68374c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x7a
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x7c]
lea eax, [ebp - 0x4c0]
push str.MaxAnisotropy
push 0x68376c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x7b
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 0
call fcn.00403e40
fld dword [edi + 0x80]
push ecx
push ecx
fstp qword [esp]
push str.MaxVertexW
lea eax, [ebp + 0x11c4]
push 0x683788
push eax
call fcn.0063186b
add esp, 0x14
lea eax, [ebp + 0x11c4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00403fb6
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x7c
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
fld dword [edi + 0x84]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandLeft
lea eax, [ebp + 0x1c4]
push 0x6837a4
push eax
call fcn.0063186b
add esp, 0x14
lea eax, [ebp + 0x1c4]
push eax
lea ecx, [ebp + 0x1a8]
call fcn.00403fb6
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 0x7d
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
fld dword [edi + 0x88]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandTop
lea eax, [ebp + 0x9c4]
push 0x6837c0
push eax
call fcn.0063186b
add esp, 0x14
lea eax, [ebp + 0x9c4]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00403fb6
lea ebx, [ebp - 0x5c]
mov byte [ebp - 4], 0x7e
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
fld dword [edi + 0x8c]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandRight
lea eax, [ebp + 0x29c4]
push 0x6837dc
push eax
call fcn.0063186b
add esp, 0x14
lea eax, [ebp + 0x29c4]
push eax
lea ecx, [ebp - 0x23c]
call fcn.00403fb6
lea ebx, [ebp - 0x23c]
mov byte [ebp - 4], 0x7f
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
fld dword [edi + 0x90]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandBottom
lea eax, [ebp + 0x21c4]
push 0x6837f8
push eax
call fcn.0063186b
add esp, 0x14
lea eax, [ebp + 0x21c4]
push eax
lea ecx, [ebp - 0x1e8]
call fcn.00403fb6
lea ebx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x80
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
fld dword [edi + 0x94]
push ecx
push ecx
fstp qword [esp]
push str.ExtentsAdjust
lea eax, [ebp + 0x31c4]
push 0x683814
push eax
call fcn.0063186b
add esp, 0x14
lea eax, [ebp + 0x31c4]
push eax
lea ecx, [ebp - 0x204]
call fcn.00403fb6
lea ebx, [ebp - 0x204]
mov byte [ebp - 4], 0x81
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x98]
lea eax, [ebp - 0x3a8]
push str.StencilCaps
push 0x68382c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x82
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0x9c]
lea eax, [ebp - 0x450]
push str.FVFCaps
push 0x683844
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x83
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xa0]
lea eax, [ebp - 0x370]
push str.TextureOpCaps
push 0x683864
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x84
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xa4]
lea eax, [ebp - 0x4f8]
push str.MaxTextureBlendStages
push 0x68388c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x85
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xa8]
lea eax, [ebp - 0x338]
push str.MaxSimultaneousTextures
push 0x6838b4
push eax
call fcn.00460a56
add esp, 0x10
mov byte [ebp - 4], 0x86
mov ebx, eax
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xac]
lea eax, [ebp - 0x418]
push str.VertexProcessingCaps
push 0x6838dc
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x87
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xb0]
lea eax, [ebp - 0x300]
push str.MaxActiveLights
push 0x6838fc
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x88
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xb4]
lea eax, [ebp - 0x4dc]
push str.MaxUserClipPlanes
push 0x683920
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x89
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xb8]
lea eax, [ebp - 0x584]
push str.MaxVertexBlendMatrices
push 0x683948
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8a
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x584]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xbc]
lea eax, [ebp - 0x54c]
push str.MaxVertexBlendMatrixIndex
push 0x683974
push eax
call fcn.00460a56
add esp, 0x10
mov byte [ebp - 4], 0x8b
mov ebx, eax
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x54c]
mov byte [ebp - 4], 0
call fcn.00403e40
fld dword [edi + 0xc0]
push ecx
push ecx
fstp qword [esp]
push str.MaxPointSize
lea eax, [ebp + 0x39c4]
push 0x683994
push eax
call fcn.0063186b
add esp, 0x14
lea eax, [ebp + 0x39c4]
push eax
lea ecx, [ebp - 0x220]
call fcn.00403fb6
lea ebx, [ebp - 0x220]
mov byte [ebp - 4], 0x8c
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xc4]
lea eax, [ebp - 0x530]
push str.MaxPrimitiveCount
push 0x6839b4
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8d
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xc8]
lea eax, [ebp - 0x5bc]
push str.MaxVertexIndex
push 0x6839d4
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8e
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x5bc]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xcc]
lea eax, [ebp - 0x5f4]
push str.MaxStreams
push 0x6839f0
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8f
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x5f4]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xd0]
lea eax, [ebp - 0x568]
push str.MaxStreamStride
push 0x683a10
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x90
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xd4]
lea eax, [ebp - 0x5d8]
push str.VertexShaderVersion
push 0x683a34
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x91
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xd8]
lea eax, [ebp - 0x5a0]
push str.MaxVertexShaderConst
push 0x683a5c
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x92
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0x5a0]
mov byte [ebp - 4], 0
call fcn.00403e40
push dword [edi + 0xdc]
lea eax, [ebp - 0xe8]
push str.PixelShaderVersion
push str._40s_:_0x_08X
push eax
call fcn.00460a56
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x93
call fcn.004e50a2
push 0
push 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0
call fcn.00403e40
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.0063186b
add esp, 0x14
lea eax, [ebp + 0x19c4]
push eax
lea ecx, [ebp - 0x258]
call fcn.00403fb6
lea ebx, [ebp - 0x258]
mov byte [ebp - 4], 0x94
call fcn.004e50a2
push 0
mov byte [ebp - 4], 0
push 1
mov ecx, ebx
call fcn.00403e40
push 0x682d7b
lea ecx, [ebp - 0x1cc]
call fcn.00403fb6
lea ebx, [ebp - 0x1cc]
mov byte [ebp - 4], 0x95
call fcn.004e50a2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00403e40
push str.__________Display_Format__________
lea ecx, [ebp - 0x140]
call fcn.00403fb6
lea ebx, [ebp - 0x140]
mov byte [ebp - 4], 0x96
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], bl
call fcn.00403e40
mov ecx, dword [edi + 0xc]
call fcn.0051a3d6
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 0x4e732a
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
call fcn.0051a3d6
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 0x4e731b
push ebx
lea ecx, [ebp + 0x1a8]
mov dword [ebp + 0x1c0], 0xf
call fcn.00403f05
mov eax, dword [ebp - 0x44]
add eax, 0xffffffec
mov byte [ebp - 4], 0x97
cmp eax, 0xa
ja case.0x4e725c.28
jmp dword [eax*4 + 0x4e73d3]
push str.R8G8B8
jmp 0x4e72ae
push str.A8R8G8B8
jmp 0x4e72ae
push str.X8R8G8B8
jmp 0x4e72ae
push str.R5G6B5
jmp 0x4e72ae
push str.A1R5G5B5
jmp 0x4e72ae
push str.X1R5G5B5
jmp 0x4e72ae
push str.A4R4G4B4
jmp 0x4e72ae
push str.X4R4G4B4
jmp 0x4e72ae
push str.R3G3B2
jmp 0x4e72ae
push str.A8R3G3B2
jmp 0x4e72ae
push str.Unknown
lea ecx, [ebp + 0x1a8]
call fcn.00403f93
cmp dword [ebp + 0x1c0], 0x10
mov eax, dword [ebp + 0x1ac]
jae 0x4e72ce
lea eax, [ebp + 0x1ac]
push eax
push dword [ebp - 0x48]
lea eax, [ebp - 0xe8]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push 0x683b48
push eax
call fcn.00460a56
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x98
call fcn.004e50a2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xe8]
call fcn.00403e40
push ebx
push 1
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00403e40
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jb 0x4e7210
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.00517b92
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.0062fed8
add ebp, 0x4248
leave
ret