Function at 0x50e290
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.0064b400
push 0xffffffffffffffff
push 0x67d916
mov eax, dword fs:[0]
push eax
sub esp, 0x5e8
mov eax, dword [0x70c004]
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.0050e11f
mov eax, dword [ebp - 0x18]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
call dword [eax + 0x24]
test al, al
jne 0x50e2f9
mov dword [ebp - 4], 1
jmp 0x51034a
push 0x69e16c
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea ebx, [ebp + 0x1a8]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
lea eax, [ebp - 0x140]
push eax
call fcn.0047b2a0
pop ecx
mov ebx, eax
mov byte [ebp - 4], 3
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0
call fcn.00405070
push 0x69e16a
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 4
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
push str.__________System__________
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 5
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00405070
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], ebx
call fcn.0047a76f
pop ecx
cmp eax, 0xe
ja case.default.0x50e3cb
jmp dword [eax*4 + 0x510384]
lea eax, [ebp - 0x258]
push 0x69e250
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e260
lea eax, [ebp - 0x1cc]
push 0x69e268
push eax
mov byte [ebp - 4], 6
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x140]
push eax
mov byte [ebp - 4], 7
call fcn.004043b0
add esp, 0x20
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 8
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x140]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x1cc]
call fcn.00405070
lea ecx, [ebp - 0x258]
jmp 0x50eaf6
lea eax, [ebp - 0x1e8]
push str.Windows95
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e280
lea eax, [ebp - 0x204]
push 0x69e288
push eax
mov byte [ebp - 4], 9
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x220]
push eax
mov byte [ebp - 4], 0xa
call fcn.004043b0
add esp, 0x20
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0xb
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x220]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x204]
call fcn.00405070
lea ecx, [ebp - 0x1e8]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp + 0x1a8]
push str.Windows95_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e2ac
lea eax, [ebp - 0x94]
push 0x69e2b4
push eax
mov byte [ebp - 4], 0xc
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x23c]
push eax
mov byte [ebp - 4], 0xd
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0xe
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x23c]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.00405070
lea ecx, [ebp + 0x1a8]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x300]
push str.Windows95OSR2_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e2dc
lea eax, [ebp - 0x4dc]
push 0x69e2e4
push eax
mov byte [ebp - 4], 0xf
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x10
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x4dc]
call fcn.00405070
lea ecx, [ebp - 0x300]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x4f8]
push str.Windows98_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e308
lea eax, [ebp - 0x338]
push 0x69e310
push eax
mov byte [ebp - 4], 0x12
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x418]
push eax
mov byte [ebp - 4], 0x13
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x14
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x418]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x338]
call fcn.00405070
lea ecx, [ebp - 0x4f8]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x3a8]
push str.Windows98SE_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e334
lea eax, [ebp - 0x450]
push 0x69e33c
push eax
mov byte [ebp - 4], 0x15
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x370]
push eax
mov byte [ebp - 4], 0x16
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x17
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x370]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x450]
call fcn.00405070
lea ecx, [ebp - 0x3a8]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x2ac]
push str.WindowsME_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e360
lea eax, [ebp - 0x290]
push 0x69e368
push eax
mov byte [ebp - 4], 0x18
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x4c0]
push eax
mov byte [ebp - 4], 0x19
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x1a
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x4c0]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x290]
call fcn.00405070
lea ecx, [ebp - 0x2ac]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x38c]
push str.WindowsNT_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e38c
lea eax, [ebp - 0x354]
push 0x69e394
push eax
mov byte [ebp - 4], 0x1b
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x31c]
push eax
mov byte [ebp - 4], 0x1c
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x1d
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x31c]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x354]
call fcn.00405070
lea ecx, [ebp - 0x38c]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x434]
push str.Windows2000_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e3b8
lea eax, [ebp - 0x3fc]
push 0x69e3c0
push eax
mov byte [ebp - 4], 0x1e
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x3c4]
push eax
mov byte [ebp - 4], 0x1f
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x20
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x3c4]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00405070
lea ecx, [ebp - 0x434]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x274]
push str.WindowsXP_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e3e4
lea eax, [ebp - 0x4a4]
push 0x69e3ec
push eax
mov byte [ebp - 4], 0x21
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x22
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x23
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x46c]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x4a4]
call fcn.00405070
lea ecx, [ebp - 0x274]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x2e4]
push str.Windows2003Server_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e418
lea eax, [ebp - 0x3e0]
push 0x69e420
push eax
mov byte [ebp - 4], 0x24
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x514]
push eax
mov byte [ebp - 4], 0x25
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x26
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x514]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x3e0]
call fcn.00405070
lea ecx, [ebp - 0x2e4]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x1b0]
push str.WindowsVista_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e444
lea eax, [ebp - 0x488]
push 0x69e44c
push eax
mov byte [ebp - 4], 0x27
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x2c8]
push eax
mov byte [ebp - 4], 0x28
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x29
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2c8]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x488]
call fcn.00405070
lea ecx, [ebp - 0x1b0]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x178]
push str.Windows7_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e46c
lea eax, [ebp - 0x15c]
push 0x69e474
push eax
mov byte [ebp - 4], 0x2a
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x194]
push eax
mov byte [ebp - 4], 0x2b
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x2c
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x194]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x15c]
call fcn.00405070
lea ecx, [ebp - 0x178]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0xcc]
push str.Windows8_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e494
lea eax, [ebp - 0x108]
push 0x69e49c
push eax
mov byte [ebp - 4], 0x2d
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 4], 0x2e
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x2f
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x124]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.00405070
lea ecx, [ebp - 0xcc]
jmp 0x50eaf6
push dword [ebp - 0x1c]
lea eax, [ebp - 0x40]
push str.Windows8_Later_ServicePack__d
push eax
call fcn.0047b03d
mov esi, eax
push 0x69e4c4
lea eax, [ebp - 0x78]
push 0x69e4cc
push eax
mov byte [ebp - 4], 0x30
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x31
call fcn.004043b0
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x32
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xb0]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00405070
lea ecx, [ebp - 0x40]
push ebx
push 1
mov byte [ebp - 4], bl
call fcn.00405070
lea eax, [ebp - 0xb0]
push eax
call fcn.0050e00b
mov esi, eax
mov dword [esp], 0x69e4d4
lea eax, [ebp - 0x78]
push 0x69e4dc
push eax
mov byte [ebp - 4], 0x33
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x34
call fcn.004043b0
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x35
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00405070
lea eax, [ebp - 0xb0]
push eax
call fcn.0050dfed
mov esi, eax
mov dword [esp], 0x69e4e4
lea eax, [ebp - 0x78]
push 0x69e4f0
push eax
mov byte [ebp - 4], 0x36
call fcn.0047b03d
push esi
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x37
call fcn.004043b0
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x38
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00405070
push 0x64
call fcn.005c019e
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
mov esi, eax
test eax, eax
jge 0x50ebfa
fadd dword [0x6cfbe0]
fdiv qword [0x6cfda0]
push ecx
lea eax, [ebp + 0x41c4]
fstp qword [esp]
push 0x69e4f8
push eax
call fcn.0064b42b
lea eax, [ebp + 0x41c4]
push eax
push esi
push 0x69e4fc
lea eax, [ebp - 0x40]
push str._40s_:__d_MHz____s_GHz__
push eax
call fcn.0047b03d
add esp, 0x24
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x39
call fcn.0050e0b9
xor ebx, ebx
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00405070
push 0x69e52c
lea eax, [ebp - 0x40]
push str._40s_:
push eax
call fcn.0047b03d
add esp, 0xc
push eax
mov byte [ebp - 4], 0x3a
call fcn.0050dfa4
push ebx
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00405070
call fcn.005c0379
test al, 1
je 0x50ecb9
push str.MMX
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea eax, [ebp + 0x1a8]
push eax
mov byte [ebp - 4], 0x3b
call fcn.0050dfa4
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00405070
call fcn.005c0379
shr eax, 1
test al, 1
je 0x50ecf7
push str.SSE
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3c
call fcn.0050dfa4
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00405070
call fcn.005c0379
shr eax, 2
test al, 1
je 0x50ed36
push str.SSE2
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3d
call fcn.0050dfa4
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00405070
call fcn.005c0379
shr eax, 3
test al, 1
je 0x50ed75
push str.3DNow_
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3e
call fcn.0050dfa4
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00405070
call fcn.005c0379
shr eax, 4
test al, 1
je 0x50edb4
push str.E3DNow_
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea eax, [ebp + 0x1a8]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x3f
call fcn.0050dfa4
push ebx
push edi
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00405070
push 0x69e16b
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea ebx, [ebp + 0x1a8]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x40
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
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 [0x69411c]
mov eax, dword [ebp - 0xe4]
shr eax, 0x14
push eax
push 0x69e570
lea eax, [ebp - 0x40]
push 0x69e580
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x41
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00405070
mov eax, dword [ebp - 0xe0]
shr eax, 0x14
push eax
push 0x69e590
lea eax, [ebp - 0x78]
push 0x69e5a0
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x42
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00405070
mov eax, dword [ebp - 0xd4]
shr eax, 0x14
push eax
push 0x69e5b0
lea eax, [ebp - 0xb0]
push 0x69e5c0
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x43
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.00405070
mov eax, dword [ebp - 0xd0]
shr eax, 0x14
push eax
push 0x69e5d0
push str._40s_:__6dMB
lea eax, [ebp - 0xcc]
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x44
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00405070
push 0x69e18d
lea ecx, [ebp - 0x5c]
call fcn.004052b0
lea ebx, [ebp - 0x5c]
mov byte [ebp - 4], 0x45
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
push str.__________Display__________
lea ecx, [ebp - 0x94]
call fcn.004052b0
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x46
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], bl
call fcn.00405070
mov esi, 0x1a8
push esi
lea eax, [ebp]
push ebx
push eax
call fcn.0064b4b0
add esp, 0xc
push ebx
lea eax, [ebp]
push eax
push ebx
push ebx
mov dword [ebp], esi
call dword [0x6942a4]
test eax, eax
je 0x50efe5
lea eax, [ebp + 4]
push eax
push 0x69e60c
lea eax, [ebp - 0x40]
push 0x69e61c
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x47
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00405070
lea eax, [ebp + 0x24]
push eax
push 0x69e628
lea eax, [ebp - 0x78]
push str._40s_:__s
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x48
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00405070
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0047a8d5
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0xe4]
shr eax, 0x14
push eax
push 0x69e644
lea eax, [ebp - 0x40]
push 0x69e650
push eax
call fcn.0047b03d
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x49
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00405070
mov eax, dword [edi + 0xe8]
shr eax, 0x14
push eax
push 0x69e660
lea eax, [ebp - 0x78]
push str._40s_:__6d_MB
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00405070
push 0x69e18e
lea ecx, [ebp - 0x94]
call fcn.004052b0
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x4b
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
push 0x69e67c
lea eax, [ebp - 0xb0]
push str._40s
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
mov byte [ebp - 4], 0x4c
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00405070
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.004df352
push dword [ebp - 0x50]
lea eax, [ebp - 0xcc]
push str.Width
push 0x69e6a0
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4d
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [ebp - 0x4c]
lea eax, [ebp - 0x108]
push str.Height
push 0x69e6b4
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4e
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [ebp - 0x48]
lea eax, [ebp - 0x124]
push str.RefreshRate
push str._40s_:__d
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x4f
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0
call fcn.00405070
mov eax, dword [ebp - 0x44]
add eax, 0xffffffec
cmp eax, 0xa
ja case.0x50f1a9.28
jmp dword [eax*4 + 0x5103c0]
push 0x69e6d8
lea eax, [ebp - 0x40]
push str._40s_:_R8G8B8
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x50
call fcn.0050e0b9
lea ecx, [ebp - 0x40]
jmp 0x50f3b6
push 0x69e6f0
lea eax, [ebp - 0x78]
push str._40s_:_A8R8G8B8
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x51
call fcn.0050e0b9
lea ecx, [ebp - 0x78]
jmp 0x50f3b6
push 0x69e708
lea eax, [ebp - 0xb0]
push str._40s_:_X8R8G8B8
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x52
call fcn.0050e0b9
lea ecx, [ebp - 0xb0]
jmp 0x50f3b6
push 0x69e720
lea eax, [ebp - 0xcc]
push str._40s_:_R5G6B5
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x53
call fcn.0050e0b9
lea ecx, [ebp - 0xcc]
jmp 0x50f3b6
push 0x69e738
lea eax, [ebp - 0x108]
push str._40s_:_A1R5G5B5
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x54
call fcn.0050e0b9
lea ecx, [ebp - 0x108]
jmp 0x50f3b6
push 0x69e750
lea eax, [ebp - 0x124]
push str._40s_:_X1R5G5B5
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x55
call fcn.0050e0b9
lea ecx, [ebp - 0x124]
jmp 0x50f3b6
push 0x69e768
lea eax, [ebp - 0x178]
push str._40s_:_A4R4G4B4
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x56
call fcn.0050e0b9
lea ecx, [ebp - 0x178]
jmp 0x50f3b6
push 0x69e780
lea eax, [ebp - 0x15c]
push str._40s_:_X4R4G4B4
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x57
call fcn.0050e0b9
lea ecx, [ebp - 0x15c]
jmp 0x50f3b6
push 0x69e798
lea eax, [ebp - 0x194]
push str._40s_:_R3G3B2
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x58
call fcn.0050e0b9
lea ecx, [ebp - 0x194]
jmp 0x50f3b6
push str.Format
lea eax, [ebp - 0x1b0]
push str._40s_:_A8R3G3B2
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x59
call fcn.0050e0b9
lea ecx, [ebp - 0x1b0]
jmp 0x50f3b6
push str.Format_:__d_Unknown__d3ddm.Format
lea ecx, [ebp - 0x94]
call fcn.004052b0
lea ebx, [ebp - 0x94]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5a
call fcn.0050e0b9
mov ecx, ebx
push 0
push 1
mov byte [ebp - 4], 0
call fcn.00405070
push 0x69e18f
lea ecx, [ebp - 0x94]
call fcn.004052b0
lea ebx, [ebp - 0x94]
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5b
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
push str.__________Display_Device_Caps__________
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 0x5c
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
mov eax, dword [edi + 0x10]
mov ecx, eax
dec ecx
je 0x50f4b6
dec ecx
je 0x50f487
dec ecx
je 0x50f45e
push eax
push str.DeviceType
lea eax, [ebp - 0x40]
push str._40s_:_0x_X_Unkown_
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x60
call fcn.0050e0b9
lea ecx, [ebp - 0x40]
jmp 0x50f4e3
push 0x69e844
lea eax, [ebp - 0x78]
push str._40s_:_SW
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5f
call fcn.0050e0b9
lea ecx, [ebp - 0x78]
jmp 0x50f4e3
push 0x69e82c
lea eax, [ebp - 0xb0]
push str._40s_:_REF
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5e
call fcn.0050e0b9
lea ecx, [ebp - 0xb0]
jmp 0x50f4e3
push 0x69e814
lea eax, [ebp - 0xcc]
push str._40s_:_HAL
push eax
call fcn.0047b03d
add esp, 0xc
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x5d
call fcn.0050e0b9
lea ecx, [ebp - 0xcc]
push 0
push 1
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x14]
lea eax, [ebp - 0x40]
push str.AdapterOrdinal
push 0x69e88c
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x61
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x18]
lea eax, [ebp - 0x78]
push str.Caps
push 0x69e8a4
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x62
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x1c]
lea eax, [ebp - 0xb0]
push str.Caps2
push 0x69e8bc
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x63
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x20]
lea eax, [ebp - 0xcc]
push str.Caps3
push 0x69e8d4
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x64
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x24]
lea eax, [ebp - 0x108]
push str.PresentationIntervals
push 0x69e8fc
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x65
call fcn.0050e0b9
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x108]
call fcn.00405070
push dword [edi + 0x28]
lea eax, [ebp - 0x124]
push str.CursorCaps
push 0x69e918
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x66
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x2c]
lea eax, [ebp - 0x178]
push str.DevCaps
push 0x69e930
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x67
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x30]
lea eax, [ebp - 0x15c]
push str.PrimitiveMiscCaps
push 0x69e954
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x68
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x34]
lea eax, [ebp - 0x194]
push str.RasterCaps
push 0x69e970
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x69
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x38]
lea eax, [ebp - 0x1b0]
push str.ZCmpCaps
push 0x69e98c
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6a
call fcn.0050e0b9
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00405070
push dword [edi + 0x3c]
lea eax, [ebp - 0x488]
push str.SrcBlendCaps
push 0x69e9ac
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6b
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x40]
lea eax, [ebp - 0x2c8]
push str.DestBlendCaps
push 0x69e9cc
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6c
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x44]
lea eax, [ebp - 0x2e4]
push str.AlphaCmpCaps
push 0x69e9ec
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6d
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x48]
lea eax, [ebp - 0x3e0]
push str.ShadeCaps
push 0x69ea08
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6e
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x4c]
lea eax, [ebp - 0x514]
push str.TextureCaps
push 0x69ea24
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x6f
call fcn.0050e0b9
push 0
mov byte [ebp - 4], 0
push 1
lea ecx, [ebp - 0x514]
call fcn.00405070
push dword [edi + 0x50]
lea eax, [ebp - 0x274]
push str.TextureFilterCaps
push 0x69ea48
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x70
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x54]
lea eax, [ebp - 0x4a4]
push str.CubeTextureFilterCaps
push 0x69ea70
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x71
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x58]
lea eax, [ebp - 0x46c]
push str.VolumeTextureFilterCaps
push 0x69ea98
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x72
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x5c]
lea eax, [ebp - 0x434]
push str.TextureAddressCaps
push 0x69eabc
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x60]
lea eax, [ebp - 0x3fc]
push str.VolumeTextureAddressCaps
push 0x69eae8
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x74
call fcn.0050e0b9
push 0
mov byte [ebp - 4], 0
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00405070
push dword [edi + 0x64]
lea eax, [ebp - 0x3c4]
push str.LineCaps
push 0x69eb04
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x75
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x3c4]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x68]
lea eax, [ebp - 0x38c]
push str.MaxTextureWidth
push 0x69eb24
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x76
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x6c]
lea eax, [ebp - 0x354]
push str.MaxTextureHeight
push 0x69eb48
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x77
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x70]
lea eax, [ebp - 0x31c]
push str.MaxVolumeExtent
push 0x69eb68
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x78
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x74]
lea eax, [ebp - 0x2ac]
push str.MaxTextureRepeat
push 0x69eb8c
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x79
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x78]
lea eax, [ebp - 0x290]
push str.MaxTextureAspectRatio
push 0x69ebb4
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x7a
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x7c]
lea eax, [ebp - 0x4c0]
push str.MaxAnisotropy
push 0x69ebd4
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x7b
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 0
call fcn.00405070
fld dword [edi + 0x80]
push ecx
push ecx
fstp qword [esp]
push str.MaxVertexW
lea eax, [ebp + 0x11c4]
push 0x69ebf0
push eax
call fcn.0064b42b
add esp, 0x14
lea eax, [ebp + 0x11c4]
push eax
lea ecx, [ebp - 0x94]
call fcn.004052b0
lea ebx, [ebp - 0x94]
mov byte [ebp - 4], 0x7c
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
fld dword [edi + 0x84]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandLeft
lea eax, [ebp + 0x1c4]
push 0x69ec0c
push eax
call fcn.0064b42b
add esp, 0x14
lea eax, [ebp + 0x1c4]
push eax
lea ecx, [ebp + 0x1a8]
call fcn.004052b0
lea ebx, [ebp + 0x1a8]
mov byte [ebp - 4], 0x7d
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
fld dword [edi + 0x88]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandTop
lea eax, [ebp + 0x9c4]
push 0x69ec28
push eax
call fcn.0064b42b
add esp, 0x14
lea eax, [ebp + 0x9c4]
push eax
lea ecx, [ebp - 0x5c]
call fcn.004052b0
lea ebx, [ebp - 0x5c]
mov byte [ebp - 4], 0x7e
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
fld dword [edi + 0x8c]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandRight
lea eax, [ebp + 0x29c4]
push 0x69ec44
push eax
call fcn.0064b42b
add esp, 0x14
lea eax, [ebp + 0x29c4]
push eax
lea ecx, [ebp - 0x23c]
call fcn.004052b0
lea ebx, [ebp - 0x23c]
mov byte [ebp - 4], 0x7f
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
fld dword [edi + 0x90]
push ecx
push ecx
fstp qword [esp]
push str.GuardBandBottom
lea eax, [ebp + 0x21c4]
push 0x69ec60
push eax
call fcn.0064b42b
add esp, 0x14
lea eax, [ebp + 0x21c4]
push eax
lea ecx, [ebp - 0x1e8]
call fcn.004052b0
lea ebx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x80
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
fld dword [edi + 0x94]
push ecx
push ecx
fstp qword [esp]
push str.ExtentsAdjust
lea eax, [ebp + 0x31c4]
push 0x69ec7c
push eax
call fcn.0064b42b
add esp, 0x14
lea eax, [ebp + 0x31c4]
push eax
lea ecx, [ebp - 0x204]
call fcn.004052b0
lea ebx, [ebp - 0x204]
mov byte [ebp - 4], 0x81
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x98]
lea eax, [ebp - 0x3a8]
push str.StencilCaps
push 0x69ec94
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x82
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0x9c]
lea eax, [ebp - 0x450]
push str.FVFCaps
push 0x69ecac
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x83
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xa0]
lea eax, [ebp - 0x370]
push str.TextureOpCaps
push 0x69eccc
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x84
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xa4]
lea eax, [ebp - 0x4f8]
push str.MaxTextureBlendStages
push 0x69ecf4
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x85
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xa8]
lea eax, [ebp - 0x338]
push str.MaxSimultaneousTextures
push 0x69ed1c
push eax
call fcn.0047b03d
add esp, 0x10
mov byte [ebp - 4], 0x86
mov ebx, eax
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xac]
lea eax, [ebp - 0x418]
push str.VertexProcessingCaps
push 0x69ed44
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x87
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xb0]
lea eax, [ebp - 0x300]
push str.MaxActiveLights
push 0x69ed64
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x88
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xb4]
lea eax, [ebp - 0x4dc]
push str.MaxUserClipPlanes
push 0x69ed88
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x89
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xb8]
lea eax, [ebp - 0x584]
push str.MaxVertexBlendMatrices
push 0x69edb0
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8a
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x584]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xbc]
lea eax, [ebp - 0x54c]
push str.MaxVertexBlendMatrixIndex
push 0x69eddc
push eax
call fcn.0047b03d
add esp, 0x10
mov byte [ebp - 4], 0x8b
mov ebx, eax
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x54c]
mov byte [ebp - 4], 0
call fcn.00405070
fld dword [edi + 0xc0]
push ecx
push ecx
fstp qword [esp]
push str.MaxPointSize
lea eax, [ebp + 0x39c4]
push 0x69edfc
push eax
call fcn.0064b42b
add esp, 0x14
lea eax, [ebp + 0x39c4]
push eax
lea ecx, [ebp - 0x220]
call fcn.004052b0
lea ebx, [ebp - 0x220]
mov byte [ebp - 4], 0x8c
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xc4]
lea eax, [ebp - 0x530]
push str.MaxPrimitiveCount
push 0x69ee1c
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8d
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xc8]
lea eax, [ebp - 0x5bc]
push str.MaxVertexIndex
push 0x69ee3c
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8e
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x5bc]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xcc]
lea eax, [ebp - 0x5f4]
push str.MaxStreams
push 0x69ee58
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x8f
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x5f4]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xd0]
lea eax, [ebp - 0x568]
push str.MaxStreamStride
push 0x69ee78
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x90
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xd4]
lea eax, [ebp - 0x5d8]
push str.VertexShaderVersion
push 0x69ee9c
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x91
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xd8]
lea eax, [ebp - 0x5a0]
push str.MaxVertexShaderConst
push 0x69eec4
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x92
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0x5a0]
mov byte [ebp - 4], 0
call fcn.00405070
push dword [edi + 0xdc]
lea eax, [ebp - 0xe8]
push str.PixelShaderVersion
push str._40s_:_0x_08X
push eax
call fcn.0047b03d
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 0x93
call fcn.0050e0b9
push 0
push 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0
call fcn.00405070
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.0064b42b
add esp, 0x14
lea eax, [ebp + 0x19c4]
push eax
lea ecx, [ebp - 0x258]
call fcn.004052b0
lea ebx, [ebp - 0x258]
mov byte [ebp - 4], 0x94
call fcn.0050e0b9
push 0
mov byte [ebp - 4], 0
push 1
mov ecx, ebx
call fcn.00405070
push 0x69e1e3
lea ecx, [ebp - 0x1cc]
call fcn.004052b0
lea ebx, [ebp - 0x1cc]
mov byte [ebp - 4], 0x95
call fcn.0050e0b9
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.00405070
push str.__________Display_Format__________
lea ecx, [ebp - 0x140]
call fcn.004052b0
lea ebx, [ebp - 0x140]
mov byte [ebp - 4], 0x96
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], bl
call fcn.00405070
mov ecx, dword [edi + 0xc]
call fcn.0045d483
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 0x510343
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
call fcn.0045d483
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 0x510334
push ebx
lea ecx, [ebp + 0x1a8]
mov dword [ebp + 0x1c0], 0xf
call fcn.00405180
mov eax, dword [ebp - 0x44]
add eax, 0xffffffec
mov byte [ebp - 4], 0x97
cmp eax, 0xa
ja case.0x510275.28
jmp dword [eax*4 + 0x5103ec]
push str.R8G8B8
jmp 0x5102c7
push str.A8R8G8B8
jmp 0x5102c7
push str.X8R8G8B8
jmp 0x5102c7
push str.R5G6B5
jmp 0x5102c7
push str.A1R5G5B5
jmp 0x5102c7
push str.X1R5G5B5
jmp 0x5102c7
push str.A4R4G4B4
jmp 0x5102c7
push str.X4R4G4B4
jmp 0x5102c7
push str.R3G3B2
jmp 0x5102c7
push str.A8R3G3B2
jmp 0x5102c7
push str.Unknown
lea ecx, [ebp + 0x1a8]
call fcn.00405280
cmp dword [ebp + 0x1c0], 0x10
mov eax, dword [ebp + 0x1ac]
jae 0x5102e7
lea eax, [ebp + 0x1ac]
push eax
push dword [ebp - 0x48]
lea eax, [ebp - 0xe8]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push 0x69efb0
push eax
call fcn.0047b03d
add esp, 0x18
mov ebx, eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 0x98
call fcn.0050e0b9
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xe8]
call fcn.00405070
push ebx
push 1
lea ecx, [ebp + 0x1a8]
mov byte [ebp - 4], bl
call fcn.00405070
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jb 0x510229
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.00598706
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.00649a98
add ebp, 0x4248
leave
ret