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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x515816
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x108
mov eax, dword [0x5594e8]
xor eax, dword [ebp + 4]
push ebx
push esi
push edi
mov esi, ecx
push 0x5245f0
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], eax
call fcn.00402110
push 0x5245f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x120], 0
call fcn.00402110
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
mov byte [esp + 0x124], 1
call dword [ecx + 0xc]
push str.Direct3DDevice_caps:
push str.UveGraphics::dump3DDeviceCaps
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._s__:__s
call fcn.00402110
mov eax, dword [0x55cd0c]
mov ecx, dword [eax + 0x85c]
push ecx
call fcn.00475320
mov eax, dword [esp + 0x28]
add esp, 0x10
test eax, 0x20000
mov eax, str._D3DDEVCAPS_CANBLTSYSTONONLOCAL
lea edx, [eax + 1]
je 0x4b1af1
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1ae4
lea ecx, [esp + 0x10]
jmp 0x4b1afc
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1af1
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_CANBLTSYSTONONLOCAL
call fcn.0041f860
mov eax, dword [esp + 0x18]
test ah, 8
mov eax, str._D3DDEVCAPS_CANRENDERAFTERFLIP
lea edx, [eax + 1]
je 0x4b1b30
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1b20
lea ecx, [esp + 0x10]
jmp 0x4b1b3b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1b30
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_CANRENDERAFTERFLIP
call fcn.0041f860
mov eax, dword [esp + 0x18]
test ah, 4
mov eax, str._D3DDEVCAPS_DRAWPRIMTLVERTEX
lea edx, [eax + 1]
je 0x4b1b70
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1b60
lea ecx, [esp + 0x10]
jmp 0x4b1b7b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1b70
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_DRAWPRIMTLVERTEX
call fcn.0041f860
test byte [esp + 0x18], 0x10
mov eax, str._D3DDEVCAPS_EXECUTESYSTEMMEMORY
lea edx, [eax + 1]
je 0x4b1ba4
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1b97
lea ecx, [esp + 0x10]
jmp 0x4b1baf
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1ba4
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_EXECUTESYSTEMMEMORY
call fcn.0041f860
test byte [esp + 0x18], 0x20
mov eax, str._D3DDEVCAPS_EXECUTEVIDEOMEMORY
lea edx, [eax + 1]
je 0x4b1be0
jmp 0x4b1bd0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1bd0
lea ecx, [esp + 0x10]
jmp 0x4b1beb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1be0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_EXECUTEVIDEOMEMORY
call fcn.0041f860
test byte [esp + 0x18], 1
mov eax, str._D3DDEVCAPS_FLOATTLVERTEX
lea edx, [eax + 1]
je 0x4b1c14
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1c07
lea ecx, [esp + 0x10]
jmp 0x4b1c1f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1c14
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_FLOATTLVERTEX
call fcn.0041f860
test dword [esp + 0x18], 0x80000
mov eax, str._D3DDEVCAPS_HWRASTERIZATION
lea edx, [eax + 1]
je 0x4b1c50
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1c40
lea ecx, [esp + 0x10]
jmp 0x4b1c5b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1c50
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_HWRASTERIZATION
call fcn.0041f860
test dword [esp + 0x18], 0x10000
mov eax, str._D3DDEVCAPS_HWTRANSFORMANDLIGHT
lea edx, [eax + 1]
je 0x4b1c90
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1c80
lea ecx, [esp + 0x10]
jmp 0x4b1c9b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1c90
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_HWTRANSFORMANDLIGHT
call fcn.0041f860
mov eax, dword [esp + 0x18]
test ah, 0x40
mov eax, str._D3DDEVCAPS_SEPARATETEXTUREMEMORIES
lea edx, [eax + 1]
je 0x4b1cd0
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1cc0
lea ecx, [esp + 0x10]
jmp 0x4b1cdb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1cd0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_SEPARATETEXTUREMEMORIES
call fcn.0041f860
test byte [esp + 0x18], 4
mov eax, str._D3DDEVCAPS_SORTDECREASINGZ
lea edx, [eax + 1]
je 0x4b1d04
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1cf7
lea ecx, [esp + 0x10]
jmp 0x4b1d0f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1d04
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_SORTDECREASINGZ
call fcn.0041f860
test byte [esp + 0x18], 8
mov eax, str._D3DDEVCAPS_SORTEXACT
lea edx, [eax + 1]
je 0x4b1d40
jmp 0x4b1d30
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1d30
lea ecx, [esp + 0x10]
jmp 0x4b1d4b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1d40
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_SORTEXACT
call fcn.0041f860
test byte [esp + 0x18], 2
mov eax, str._D3DDEVCAPS_SORTINCREASINGZ
lea edx, [eax + 1]
je 0x4b1d74
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1d67
lea ecx, [esp + 0x10]
jmp 0x4b1d7f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1d74
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_SORTINCREASINGZ
call fcn.0041f860
mov eax, dword [esp + 0x18]
mov esi, 0x1000
test esi, eax
mov eax, str._D3DDEVCAPS_TEXTURENONLOCALVIDMEM
lea edx, [eax + 1]
je 0x4b1db0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1da1
lea ecx, [esp + 0x10]
jmp 0x4b1dbb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1db0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_TEXTURENONLOCALVIDMEM
call fcn.0041f860
mov eax, dword [esp + 0x18]
mov edi, 0x100
test edi, eax
mov eax, str._D3DDEVCAPS_TEXTURESYSTEMMEMORY
lea edx, [eax + 1]
je 0x4b1df0
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1de0
lea ecx, [esp + 0x10]
jmp 0x4b1dfb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1df0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_TEXTURESYSTEMMEMORY
call fcn.0041f860
mov eax, dword [esp + 0x18]
mov ebx, 0x200
test ebx, eax
mov eax, str._D3DDEVCAPS_TEXTUREVIDEOMEMORY
lea edx, [eax + 1]
je 0x4b1e30
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1e20
lea ecx, [esp + 0x10]
jmp 0x4b1e3b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1e30
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_TEXTUREVIDEOMEMORY
call fcn.0041f860
test byte [esp + 0x18], 0x40
mov eax, str._D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
lea edx, [eax + 1]
je 0x4b1e64
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1e57
lea ecx, [esp + 0x10]
jmp 0x4b1e6f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1e64
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
call fcn.0041f860
mov al, byte [esp + 0x18]
test al, al
mov eax, str._D3DDEVCAPS_TLVERTEXVIDEOMEMORY
lea edx, [eax + 1]
jns 0x4b1ea0
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1e90
lea ecx, [esp + 0x10]
jmp 0x4b1eab
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1ea0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DDEVCAPS_TLVERTEXVIDEOMEMORY
call fcn.0041f860
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
push edx
push eax
push str.dwDevCaps
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s:_s
call fcn.00402110
mov ecx, dword [0x55cd0c]
mov edx, dword [ecx + 0x85c]
push edx
call fcn.00475320
mov eax, dword [esp + 0x20]
push 0x5245f0
push eax
call fcn.004edc73
add esp, 0x1c
test eax, eax
je 0x4b1f30
mov ecx, dword [esp + 0xc]
push ecx
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._t_s__s
call fcn.00402110
mov edx, dword [0x55cd0c]
mov eax, dword [edx + 0x85c]
push eax
call fcn.00475320
add esp, 0x10
mov eax, 0x5245f0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1f38
sub eax, edx
push eax
push 0x5245f0
lea ecx, [esp + 0x18]
call fcn.00401ee0
mov eax, 0x5245f0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1f58
sub eax, edx
push eax
push 0x5245f0
lea ecx, [esp + 0x14]
call fcn.00401ee0
test byte [esp + 0x20], 8
mov eax, str._D3DPMISCCAPS_CONFORMANT
lea edx, [eax + 1]
je 0x4b1f90
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1f80
lea ecx, [esp + 0x10]
jmp 0x4b1f9b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1f90
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPMISCCAPS_CONFORMANT
call fcn.0041f860
test byte [esp + 0x20], 0x40
mov eax, str._D3DPMISCCAPS_CULLCCW
lea edx, [eax + 1]
je 0x4b1fc4
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1fb7
lea ecx, [esp + 0x10]
jmp 0x4b1fcf
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1fc4
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPMISCCAPS_CULLCCW
call fcn.0041f860
test byte [esp + 0x20], 0x20
mov eax, str._D3DPMISCCAPS_CULLCW
lea edx, [eax + 1]
je 0x4b2000
jmp 0x4b1ff0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b1ff0
lea ecx, [esp + 0x10]
jmp 0x4b200b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2000
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPMISCCAPS_CULLCW
call fcn.0041f860
test byte [esp + 0x20], 0x10
mov eax, str._D3DPMISCCAPS_CULLNONE
lea edx, [eax + 1]
je 0x4b2034
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2027
lea ecx, [esp + 0x10]
jmp 0x4b203f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2034
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPMISCCAPS_CULLNONE
call fcn.0041f860
test byte [esp + 0x20], 4
mov eax, str._D3DPMISCCAPS_LINEPATTERNREP
lea edx, [eax + 1]
je 0x4b2070
jmp 0x4b2060
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2060
lea ecx, [esp + 0x10]
jmp 0x4b207b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2070
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPMISCCAPS_LINEPATTERNREP
call fcn.0041f860
test byte [esp + 0x20], 1
mov eax, str._D3DPMISCCAPS_MASKPLANES
lea edx, [eax + 1]
je 0x4b20a4
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2097
lea ecx, [esp + 0x10]
jmp 0x4b20af
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b20a4
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPMISCCAPS_MASKPLANES
call fcn.0041f860
test byte [esp + 0x20], 2
mov eax, str._D3DPMISCCAPS_MASKZ
lea edx, [eax + 1]
je 0x4b20e0
jmp 0x4b20d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b20d0
lea ecx, [esp + 0x10]
jmp 0x4b20eb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b20e0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPMISCCAPS_MASKZ
call fcn.0041f860
test byte [esp + 0x20], 0x20
mov eax, str._DDFXCAPS_BLTARITHSTRETCHY
lea edx, [eax + 1]
je 0x4b2114
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2107
lea ecx, [esp + 0x10]
jmp 0x4b211f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2114
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._DDFXCAPS_BLTARITHSTRETCHY
call fcn.0041f860
test byte [esp + 0x20], 0x20
mov eax, str._DDFXCAPS_BLTARITHSTRETCHY
lea edx, [eax + 1]
je 0x4b2150
jmp 0x4b2140
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2140
lea ecx, [esp + 0x10]
jmp 0x4b215b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2150
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._DDFXCAPS_BLTARITHSTRETCHY
call fcn.0041f860
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push ecx
push edx
push str.dpcLineCaps.dwMiscCaps
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s:_s
call fcn.00402110
mov eax, dword [0x55cd0c]
mov ecx, dword [eax + 0x85c]
push ecx
call fcn.00475320
mov edx, dword [esp + 0x20]
push 0x5245f0
push edx
call fcn.004edc73
add esp, 0x1c
test eax, eax
je 0x4b21df
mov eax, dword [esp + 0xc]
push eax
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._t_s__s
call fcn.00402110
mov ecx, dword [0x55cd0c]
mov edx, dword [ecx + 0x85c]
push edx
call fcn.00475320
add esp, 0x10
mov eax, 0x5245f0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b21e7
sub eax, edx
push eax
push 0x5245f0
lea ecx, [esp + 0x18]
call fcn.00401ee0
mov eax, 0x5245f0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2207
sub eax, edx
push eax
push 0x5245f0
lea ecx, [esp + 0x14]
call fcn.00401ee0
test dword [esp + 0x24], 0x20000
mov eax, str._D3DPRASTERCAPS_ANISOTROPY
lea edx, [eax + 1]
je 0x4b2240
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2231
lea ecx, [esp + 0x10]
jmp 0x4b224b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2240
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPRASTERCAPS_ANISOTROPY
call fcn.0041f860
test dword [esp + 0x24], esi
mov eax, str._D3DPRASTERCAPS_ANTIALIASEDGES
lea edx, [eax + 1]
je 0x4b2273
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2266
lea ecx, [esp + 0x10]
jmp 0x4b227e
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2273
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPRASTERCAPS_ANTIALIASEDGES
call fcn.0041f860
mov eax, dword [esp + 0x24]
test ah, 4
mov eax, str._D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT
lea edx, [eax + 1]
je 0x4b22b0
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b22a0
lea ecx, [esp + 0x10]
jmp 0x4b22bb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b22b0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT
call fcn.0041f860
mov eax, dword [esp + 0x24]
test ah, 8
mov eax, str._D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT
lea edx, [eax + 1]
je 0x4b22f0
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b22e0
lea ecx, [esp + 0x10]
jmp 0x4b22fb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b22f0
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT
call fcn.0041f860
test byte [esp + 0x24], 1
mov eax, str._D3DPRASTERCAPS_DITHER
lea edx, [eax + 1]
je 0x4b2324
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2317
lea ecx, [esp + 0x10]
jmp 0x4b232f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2324
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPRASTERCAPS_DITHER
call fcn.0041f860
test dword [esp + 0x24], 0x10000
mov eax, str._D3DPRASTERCAPS_FOGRANGE
lea edx, [eax + 1]
je 0x4b2360
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2350
lea ecx, [esp + 0x10]
jmp 0x4b236b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2360
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPRASTERCAPS_FOGRANGE
call fcn.0041f860
test dword [esp + 0x24], edi
mov eax, str._D3DPRASTERCAPS_FOGTABLE
lea edx, [eax + 1]
je 0x4b2393
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2386
lea ecx, [esp + 0x10]
jmp 0x4b239e
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b2393
lea ecx, [esp + 0xc]
sub eax, edx
push eax
push str._D3DPRASTERCAPS_FOGTABLE
call fcn.0041f860
mov al, byte [esp + 0x24]
test al, al
push str._D3DPRASTERCAPS_FOGVERTEX
lea ecx, [esp + 0x14]
js 0x4b23c0
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x24]
mov edi, 0x2000
test edi, eax
push str._D3DPRASTERCAPS_MIPMAPLODBIAS
lea ecx, [esp + 0x14]
jne 0x4b23df
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x24], 8
push str._D3DPRASTERCAPS_PAT
lea ecx, [esp + 0x14]
jne 0x4b23f8
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x24], 2
push str._D3DPRASTERCAPS_ROP2
lea ecx, [esp + 0x14]
jne 0x4b2411
lea ecx, [esp + 0x10]
call fcn.004522d0
test dword [esp + 0x24], ebx
push str._D3DPRASTERCAPS_STIPPLE
lea ecx, [esp + 0x14]
jne 0x4b2429
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x24], 0x20
push str._D3DPRASTERCAPS_SUBPIXEL
lea ecx, [esp + 0x14]
jne 0x4b2442
lea ecx, [esp + 0x10]
call fcn.004522d0
test dword [esp + 0x24], 0x80000
push str._D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT
lea ecx, [esp + 0x14]
jne 0x4b245e
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x24]
mov ebx, 0x40000
test ebx, eax
push str._D3DPRASTERCAPS_WBUFFER
lea ecx, [esp + 0x14]
jne 0x4b247d
lea ecx, [esp + 0x10]
call fcn.004522d0
test dword [esp + 0x24], 0x100000
push str._D3DPRASTERCAPS_WFOG
lea ecx, [esp + 0x14]
jne 0x4b2499
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x24], 4
push str._D3DPRASTERCAPS_XOR
lea ecx, [esp + 0x14]
jne 0x4b24b2
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x24]
test ah, 0x40
push str._D3DPRASTERCAPS_ZBIAS
lea ecx, [esp + 0x14]
jne 0x4b24cd
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x24]
mov esi, 0x8000
test esi, eax
push str._D3DPRASTERCAPS_ZBUFFERLESSHSR
lea ecx, [esp + 0x14]
jne 0x4b24ec
lea ecx, [esp + 0x10]
call fcn.004522d0
test dword [esp + 0x24], 0x200000
push str._D3DPRASTERCAPS_ZFOG
lea ecx, [esp + 0x14]
jne 0x4b2508
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x24], 0x10
push str._D3DPRASTERCAPS_ZTEST
lea ecx, [esp + 0x14]
jne 0x4b2521
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push str.dpcLineCaps.dwRasterCaps
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s:_s
call fcn.00402110
mov edx, dword [0x55cd0c]
mov eax, dword [edx + 0x85c]
push eax
call fcn.00475320
mov ecx, dword [esp + 0x20]
push 0x5245f0
push ecx
call fcn.004edc73
add esp, 0x1c
test eax, eax
je 0x4b259d
mov edx, dword [esp + 0xc]
push edx
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._t_s__s
call fcn.00402110
mov eax, dword [0x55cd0c]
mov ecx, dword [eax + 0x85c]
push ecx
call fcn.00475320
add esp, 0x10
push 0x5245f0
lea ecx, [esp + 0x14]
call fcn.004020d0
push 0x5245f0
lea ecx, [esp + 0x10]
call fcn.004020d0
mov al, byte [esp + 0x28]
test al, al
push str._D3DPCMPCAPS_ALWAYS
lea ecx, [esp + 0x14]
js 0x4b25ce
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x28], 4
push str._D3DPCMPCAPS_EQUAL
lea ecx, [esp + 0x14]
jne 0x4b25e7
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x28], 0x10
push str._D3DPCMPCAPS_GREATER
lea ecx, [esp + 0x14]
jne 0x4b2600
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x28], 0x40
push str._D3DPCMPCAPS_GREATEREQUAL
lea ecx, [esp + 0x14]
jne 0x4b2619
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x28], 2
push str._D3DPCMPCAPS_LESS
lea ecx, [esp + 0x14]
jne 0x4b2632
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x28], 8
push str._D3DPCMPCAPS_LESSEQUAL
lea ecx, [esp + 0x14]
jne 0x4b264b
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x28], 1
push str._D3DPCMPCAPS_NEVER
lea ecx, [esp + 0x14]
jne 0x4b2664
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x28], 0x20
push str._D3DPCMPCAPS_NOTEQUAL
lea ecx, [esp + 0x14]
jne 0x4b267d
lea ecx, [esp + 0x10]
call fcn.004522d0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
push edx
push eax
push str.dpcLineCaps.dwZCmpCaps
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s:_s
call fcn.00402110
mov ecx, dword [0x55cd0c]
mov edx, dword [ecx + 0x85c]
push edx
call fcn.00475320
mov eax, dword [esp + 0x20]
push 0x5245f0
push eax
call fcn.004edc73
add esp, 0x1c
test eax, eax
je 0x4b26fa
mov ecx, dword [esp + 0xc]
push ecx
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._t_s__s
call fcn.00402110
mov edx, dword [0x55cd0c]
mov eax, dword [edx + 0x85c]
push eax
call fcn.00475320
add esp, 0x10
push 0x5245f0
lea ecx, [esp + 0x14]
call fcn.004020d0
push 0x5245f0
lea ecx, [esp + 0x10]
call fcn.004020d0
mov eax, dword [esp + 0x2c]
test ah, 0x10
push str._D3DPBLENDCAPS_BOTHINVSRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b272c
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x2c]
test ah, 8
push str._D3DPBLENDCAPS_BOTHSRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b2747
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x2c], 0x40
push str._D3DPBLENDCAPS_DESTALPHA
lea ecx, [esp + 0x14]
jne 0x4b2760
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x2c]
test ah, 1
push str._D3DPBLENDCAPS_DESTCOLOR
lea ecx, [esp + 0x14]
jne 0x4b277b
lea ecx, [esp + 0x10]
call fcn.004522d0
mov al, byte [esp + 0x2c]
test al, al
push str._D3DPBLENDCAPS_INVDESTALPHA
lea ecx, [esp + 0x14]
js 0x4b2795
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x2c]
test ah, 2
push str._D3DPBLENDCAPS_INVDESTCOLOR
lea ecx, [esp + 0x14]
jne 0x4b27b0
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x2c], 0x20
push str._D3DPBLENDCAPS_INVSRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b27c9
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x2c], 8
push str._D3DPBLENDCAPS_INVSRCCOLOR
lea ecx, [esp + 0x14]
jne 0x4b27e2
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x2c], 2
push str._D3DPBLENDCAPS_ONE
lea ecx, [esp + 0x14]
jne 0x4b27fb
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x2c], 0x10
push str._D3DPBLENDCAPS_SRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b2814
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x2c]
test ah, 4
push str._D3DPBLENDCAPS_SRCALPHASAT
lea ecx, [esp + 0x14]
jne 0x4b282f
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x2c], 4
push str._D3DPBLENDCAPS_SRCCOLOR
lea ecx, [esp + 0x14]
jne 0x4b2848
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x2c], 1
push str._D3DPBLENDCAPS_ZERO
lea ecx, [esp + 0x14]
jne 0x4b2861
lea ecx, [esp + 0x10]
call fcn.004522d0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push ecx
push edx
push str.dpcLineCaps.dwSrcBlendCaps
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s:_s
call fcn.00402110
mov eax, dword [0x55cd0c]
mov ecx, dword [eax + 0x85c]
push ecx
call fcn.00475320
mov edx, dword [esp + 0x20]
push 0x5245f0
push edx
call fcn.004edc73
add esp, 0x1c
test eax, eax
je 0x4b28dd
mov eax, dword [esp + 0xc]
push eax
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._t_s__s
call fcn.00402110
mov ecx, dword [0x55cd0c]
mov edx, dword [ecx + 0x85c]
push edx
call fcn.00475320
add esp, 0x10
push 0x5245f0
lea ecx, [esp + 0x14]
call fcn.004020d0
push 0x5245f0
lea ecx, [esp + 0x10]
call fcn.004020d0
mov eax, dword [esp + 0x30]
test ah, 0x10
push str._D3DPBLENDCAPS_BOTHINVSRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b290f
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x30]
test ah, 8
push str._D3DPBLENDCAPS_BOTHSRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b292a
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x30], 0x40
push str._D3DPBLENDCAPS_DESTALPHA
lea ecx, [esp + 0x14]
jne 0x4b2943
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x30]
test ah, 1
push str._D3DPBLENDCAPS_DESTCOLOR
lea ecx, [esp + 0x14]
jne 0x4b295e
lea ecx, [esp + 0x10]
call fcn.004522d0
mov al, byte [esp + 0x30]
test al, al
push str._D3DPBLENDCAPS_INVDESTALPHA
lea ecx, [esp + 0x14]
js 0x4b2978
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x30]
test ah, 2
push str._D3DPBLENDCAPS_INVDESTCOLOR
lea ecx, [esp + 0x14]
jne 0x4b2993
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x30], 0x20
push str._D3DPBLENDCAPS_INVSRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b29ac
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x30], 8
push str._D3DPBLENDCAPS_INVSRCCOLOR
lea ecx, [esp + 0x14]
jne 0x4b29c5
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x30], 2
push str._D3DPBLENDCAPS_ONE
lea ecx, [esp + 0x14]
jne 0x4b29de
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x30], 0x10
push str._D3DPBLENDCAPS_SRCALPHA
lea ecx, [esp + 0x14]
jne 0x4b29f7
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0x30]
test ah, 4
push str._D3DPBLENDCAPS_SRCALPHASAT
lea ecx, [esp + 0x14]
jne 0x4b2a12
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x30], 4
push str._D3DPBLENDCAPS_SRCCOLOR
lea ecx, [esp + 0x14]
jne 0x4b2a2b
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x30], 1
push str._D3DPBLENDCAPS_ZERO
lea ecx, [esp + 0x14]
jne 0x4b2a44
lea ecx, [esp + 0x10]
call fcn.004522d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push str.dpcLineCaps.dwDestBlendCaps
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s:_s
call fcn.00402110
mov edx, dword [0x55cd0c]
mov eax, dword [edx + 0x85c]
push eax
call fcn.00475320
mov ecx, dword [esp + 0x20]
push 0x5245f0
push ecx
call fcn.004edc73
add esp, 0x1c
test eax, eax
je 0x4b2ac0
mov edx, dword [esp + 0xc]
push edx
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str._t_s__s
call fcn.00402110
mov eax, dword [0x55cd0c]
mov ecx, dword [eax + 0x85c]
push ecx
call fcn.00475320
add esp, 0x10
push 0x5245f0
lea ecx, [esp + 0x14]
call fcn.004020d0
push 0x5245f0
lea ecx, [esp + 0x10]
call fcn.004020d0
mov al, byte [esp + 0x34]
test al, al
push str._D3DPCMPCAPS_ALWAYS
lea ecx, [esp + 0x14]
js 0x4b2af1
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x34], 4
push str._D3DPCMPCAPS_EQUAL
lea ecx, [esp + 0x14]
jne 0x4b2b0a
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x34], 0x10
push str._D3DPCMPCAPS_GREATER
lea ecx, [esp + 0x14]
jne 0x4b2b23
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x34], 0x40
push str._D3DPCMPCAPS_GREATEREQUAL
lea ecx, [esp + 0x14]
jne 0x4b2b3c
lea ecx, [esp + 0x10]
call fcn.004522d0
test byte [esp + 0x34], 2
push str._D3DPCMPCAPS_LESS
lea ecx, [esp + 0x14]
jne 0x4b2b55