Function at 0x42efa0
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xffffffffffffffff
push 0x45beb6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x188
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0x45d66d
lea ecx, [esp + 0x18]
call fcn.00402330
push 0x45d66d
lea ecx, [esp + 0x14]
mov dword [esp + 0x1a4], 0
call fcn.00402330
mov eax, dword [esi + 4]
push 0
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], 0x17c
mov ecx, dword [eax]
push eax
mov byte [esp + 0x1ac], 1
call dword [ecx + 0x2c]
test byte [esp + 0x20], 1
mov eax, str._DDCAPS_3D
lea edx, [eax + 1]
je 0x42f024
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f017
lea ecx, [esp + 0x14]
jmp 0x42f02f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f024
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_3D
call fcn.00420d90
test byte [esp + 0x20], 2
mov eax, str._DDCAPS_ALIGNBOUNDARYDEST
lea edx, [eax + 1]
je 0x42f060
jmp 0x42f050
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f050
lea ecx, [esp + 0x14]
jmp 0x42f06b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f060
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNBOUNDARYDEST
call fcn.00420d90
test byte [esp + 0x20], 8
mov eax, str._DDCAPS_ALIGNBOUNDARYSRC
lea edx, [eax + 1]
je 0x42f094
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f087
lea ecx, [esp + 0x14]
jmp 0x42f09f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f094
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNBOUNDARYSRC
call fcn.00420d90
test byte [esp + 0x20], 4
mov eax, str._DDCAPS_ALIGNSIZEDEST
lea edx, [eax + 1]
je 0x42f0d0
jmp 0x42f0c0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f0c0
lea ecx, [esp + 0x14]
jmp 0x42f0db
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f0d0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSIZEDEST
call fcn.00420d90
test byte [esp + 0x20], 0x10
mov eax, str._DDCAPS_ALIGNSIZESRC
lea edx, [eax + 1]
je 0x42f104
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f0f7
lea ecx, [esp + 0x14]
jmp 0x42f10f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f104
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSIZESRC
call fcn.00420d90
test byte [esp + 0x20], 0x20
mov eax, str._DDCAPS_ALIGNSTRIDE
lea edx, [eax + 1]
je 0x42f140
jmp 0x42f130
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f130
lea ecx, [esp + 0x14]
jmp 0x42f14b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f140
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSTRIDE
call fcn.00420d90
test dword [esp + 0x20], 0x800000
mov eax, str._DDCAPS_ALPHA
lea edx, [eax + 1]
je 0x42f180
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f170
lea ecx, [esp + 0x14]
jmp 0x42f18b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f180
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALPHA
call fcn.00420d90
test dword [esp + 0x20], 0x8000000
mov eax, str._DDCAPS_BANKSWITCHED
lea edx, [eax + 1]
je 0x42f1c0
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f1b0
lea ecx, [esp + 0x14]
jmp 0x42f1cb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f1c0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BANKSWITCHED
call fcn.00420d90
test byte [esp + 0x20], 0x40
mov eax, str._DDCAPS_BLT
lea edx, [eax + 1]
je 0x42f1f4
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f1e7
lea ecx, [esp + 0x14]
jmp 0x42f1ff
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f1f4
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLT
call fcn.00420d90
test dword [esp + 0x20], 0x4000000
mov eax, str._DDCAPS_BLTCOLORFILL
lea edx, [eax + 1]
je 0x42f230
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f220
lea ecx, [esp + 0x14]
jmp 0x42f23b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f230
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTCOLORFILL
call fcn.00420d90
test dword [esp + 0x20], 0x10000000
mov eax, str._DDCAPS_BLTDEPTHFILL
lea edx, [eax + 1]
je 0x42f270
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f260
lea ecx, [esp + 0x14]
jmp 0x42f27b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f270
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTDEPTHFILL
call fcn.00420d90
mov eax, dword [esp + 0x20]
test ah, 1
mov eax, str._DDCAPS_BLTFOURCC
lea edx, [eax + 1]
je 0x42f2b0
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f2a0
lea ecx, [esp + 0x14]
jmp 0x42f2bb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f2b0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTFOURCC
call fcn.00420d90
mov al, byte [esp + 0x20]
test al, al
mov eax, str._DDCAPS_BLTQUEUE
lea edx, [eax + 1]
jns 0x42f2e5
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f2d8
lea ecx, [esp + 0x14]
jmp 0x42f2f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f2e5
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTQUEUE
call fcn.00420d90
mov eax, dword [esp + 0x20]
test ah, 2
mov eax, str._DDCAPS_BLTSTRETCH
lea edx, [eax + 1]
je 0x42f320
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f310
lea ecx, [esp + 0x14]
jmp 0x42f32b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f320
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTSTRETCH
call fcn.00420d90
mov eax, dword [esp + 0x20]
mov ebx, 0x80000000
test ebx, eax
mov eax, str._DDCAPS_CANBLTSYSMEM
lea edx, [eax + 1]
je 0x42f360
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f350
lea ecx, [esp + 0x14]
jmp 0x42f36b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f360
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANBLTSYSMEM
call fcn.00420d90
mov eax, dword [esp + 0x20]
mov ebp, 0x20000000
test ebp, eax
mov eax, str._DDCAPS_CANCLIP
lea edx, [eax + 1]
je 0x42f3a0
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f390
lea ecx, [esp + 0x14]
jmp 0x42f3ab
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f3a0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANCLIP
call fcn.00420d90
mov eax, dword [esp + 0x20]
mov esi, 0x40000000
test esi, eax
mov eax, str._DDCAPS_CANCLIPSTRETCHED
lea edx, [eax + 1]
je 0x42f3e0
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f3d0
lea ecx, [esp + 0x14]
jmp 0x42f3eb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f3e0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANCLIPSTRETCHED
call fcn.00420d90
test dword [esp + 0x20], 0x400000
je 0x42f42a
mov eax, str._DDCAPS_COLORKEY
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f410
sub eax, edx
push eax
push str._DDCAPS_COLORKEY
lea ecx, [esp + 0x1c]
call fcn.00420d90
jmp 0x42f438
push str._DDCAPS_COLORKEY
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x20], 0x1000000
push str._DDCAPS_COLORKEYHWASSIST
lea ecx, [esp + 0x18]
jne 0x42f44f
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x20]
test ah, 4
push str._DDCAPS_GDI
lea ecx, [esp + 0x18]
jne 0x42f46a
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x20], 0x2000000
push str._DDCAPS_NOHARDWARE
lea ecx, [esp + 0x18]
jne 0x42f486
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x20]
test ah, 8
push str._DDCAPS_OVERLAY
lea ecx, [esp + 0x18]
jne 0x42f4a1
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x20]
test ah, 0x10
push str._DDCAPS_OVERLAYCANTCLIP
lea ecx, [esp + 0x18]
jne 0x42f4bc
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x20]
test ah, 0x20
push str._DDCAPS_OVERLAYFOURCC
lea ecx, [esp + 0x18]
jne 0x42f4d7
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x20]
test ah, 0x40
push str._DDCAPS_OVERLAYSTRETCH
lea ecx, [esp + 0x18]
jne 0x42f4f2
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x20]
test ah, ah
push str._DDCAPS_PALETTE
lea ecx, [esp + 0x18]
js 0x42f50c
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x20], 0x10000
push str._DDCAPS_PALETTEVSYNC
lea ecx, [esp + 0x18]
jne 0x42f528
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x20], 0x20000
push str._DDCAPS_READSCANLINE
lea ecx, [esp + 0x18]
jne 0x42f544
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x20], 0x80000
push str._DDCAPS_VBI
lea ecx, [esp + 0x18]
jne 0x42f560
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x20], 0x100000
push str._DDCAPS_ZBLTS
lea ecx, [esp + 0x18]
jne 0x42f57c
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x20]
mov edi, 0x200000
test edi, eax
push str._DDCAPS_ZOVERLAYS
lea ecx, [esp + 0x18]
jne 0x42f59b
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.dwCaps
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str._t_s:_s
call fcn.00402330
mov edx, dword [0x47c170]
mov eax, dword [edx + 4]
push eax
call fcn.0041fde0
mov ecx, dword [esp + 0x24]
push 0x45d66d
push ecx
call fcn.0043f1fd
add esp, 0x1c
test eax, eax
je 0x42f611
mov edx, dword [esp + 0x10]
push edx
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s__s
call fcn.00402330
mov eax, dword [0x47c170]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041fde0
add esp, 0x10
push 0x45d66d
lea ecx, [esp + 0x18]
call fcn.004022f0
push 0x45d66d
lea ecx, [esp + 0x14]
call fcn.004022f0
test dword [esp + 0x24], edi
push str._DDCAPS_ZOVERLAYS
lea ecx, [esp + 0x18]
jne 0x42f640
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x24], 8
push str._DDCAPS2_AUTOFLIPOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f659
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, 0x40
push str._DDCAPS2_CANBOBHARDWARE
lea ecx, [esp + 0x18]
jne 0x42f674
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x24], 0x10
push str._DDCAPS2_CANBOBINTERLEAVED
lea ecx, [esp + 0x18]
jne 0x42f68d
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x24], 0x20
push str._DDCAPS2_CANBOBNONINTERLEAVED
lea ecx, [esp + 0x18]
jne 0x42f6a6
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], 0x100000
push str._DDCAPS2_CANCALIBRATEGAMMA
lea ecx, [esp + 0x18]
jne 0x42f6c2
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, 1
push str._DDCAPS2_CANDROPZ16BIT
lea ecx, [esp + 0x18]
jne 0x42f6dd
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, 0x20
push str._DDCAPS2_CANFLIPODDEVEN
lea ecx, [esp + 0x18]
jne 0x42f6f8
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], 0x800000
push str._DDCAPS2_CANMANAGETEXTURE
lea ecx, [esp + 0x18]
jne 0x42f714
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], 0x80000
push str._DDCAPS2_CANRENDERWINDOWED
lea ecx, [esp + 0x18]
jne 0x42f730
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x24], 1
push str._DDCAPS2_CERTIFIED
lea ecx, [esp + 0x18]
jne 0x42f749
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov al, byte [esp + 0x24]
test al, al
push str._DDCAPS2_COLORCONTROLPRIMARY
lea ecx, [esp + 0x18]
js 0x42f763
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x24], 0x40
push str._DDCAPS2_COLORCONTROLOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f77c
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, ah
push str._DDCAPS2_COPYFOURCC
lea ecx, [esp + 0x18]
js 0x42f796
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], edi
push str._DDCAPS2_FLIPINTERVAL
lea ecx, [esp + 0x18]
jne 0x42f7ae
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], 0x400000
push str._DDCAPS2_FLIPNOVSYNC
lea ecx, [esp + 0x18]
jne 0x42f7ca
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x24], 2
push str._DDCAPS2_NO2DDURING3DSCENE
lea ecx, [esp + 0x18]
jne 0x42f7e3
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, 2
push str._DDCAPS2_NONLOCALVIDMEM
lea ecx, [esp + 0x18]
jne 0x42f7fe
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, 4
push str._DDCAPS2_NONLOCALVIDMEMCAPS
lea ecx, [esp + 0x18]
jne 0x42f819
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, 8
push str._DDCAPS2_NOPAGELOCKREQUIRED
lea ecx, [esp + 0x18]
jne 0x42f834
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], 0x20000
push str._DDCAPS2_PRIMARYGAMMA
lea ecx, [esp + 0x18]
jne 0x42f850
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], 0x2000000
push str._DDCAPS2_STEREO
lea ecx, [esp + 0x18]
jne 0x42f86c
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x24], 0x1000000
push str._DDCAPS2_TEXMANINNONLOCALVIDMEM
lea ecx, [esp + 0x18]
jne 0x42f888
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x24], 4
push str._DDCAPS2_VIDEOPORT
lea ecx, [esp + 0x18]
jne 0x42f8a1
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x24]
test ah, 0x10
push str._DDCAPS2_WIDESURFACES
lea ecx, [esp + 0x18]
jne 0x42f8bc
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push str.dwCaps2
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str._t_s:_s
call fcn.00402330
mov ecx, dword [0x47c170]
mov edx, dword [ecx + 4]
push edx
call fcn.0041fde0
mov eax, dword [esp + 0x24]
push 0x45d66d
push eax
call fcn.0043f1fd
add esp, 0x1c
test eax, eax
je 0x42f933
mov ecx, dword [esp + 0x10]
push ecx
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s__s
call fcn.00402330
mov edx, dword [0x47c170]
mov eax, dword [edx + 4]
push eax
call fcn.0041fde0
add esp, 0x10
push 0x45d66d
lea ecx, [esp + 0x18]
call fcn.004022f0
push 0x45d66d
lea ecx, [esp + 0x14]
call fcn.004022f0
test byte [esp + 0x28], 1
push str._DDCKEYCAPS_DESTBLT
lea ecx, [esp + 0x18]
jne 0x42f963
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x28], 2
push str._DDCKEYCAPS_DESTBLTCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42f97c
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x28], 4
push str._DDCKEYCAPS_DESTBLTCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42f995
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x28], 8
push str._DDCKEYCAPS_DESTBLTYUV
lea ecx, [esp + 0x18]
jne 0x42f9ae
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x28], 0x10
push str._DDCKEYCAPS_DESTOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f9c7
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x28], 0x20
push str._DDCKEYCAPS_DESTOVERLAYCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42f9e0
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x28], 0x40
push str._DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42f9f9
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov al, byte [esp + 0x28]
test al, al
push str._DDCKEYCAPS_DESTOVERLAYONEACTIVE
lea ecx, [esp + 0x18]
js 0x42fa13
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, 1
push str._DDCKEYCAPS_DESTOVERLAYYUV
lea ecx, [esp + 0x18]
jne 0x42fa2e
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
mov edi, 0x40000
test edi, eax
push str._DDCKEYCAPS_NOCOSTOVERLAY
lea ecx, [esp + 0x18]
jne 0x42fa4d
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, 2
push str._DDCKEYCAPS_SRCBLT
lea ecx, [esp + 0x18]
jne 0x42fa68
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, 4
push str._DDCKEYCAPS_SRCBLTCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42fa83
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, 8
push str._DDCKEYCAPS_SRCBLTCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42fa9e
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, 0x10
push str._DDCKEYCAPS_SRCBLTYUV
lea ecx, [esp + 0x18]
jne 0x42fab9
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, 0x20
push str._DDCKEYCAPS_SRCOVERLAY
lea ecx, [esp + 0x18]
jne 0x42fad4
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, 0x40
push str._DDCKEYCAPS_SRCOVERLAYCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42faef
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x28]
test ah, ah
push str._DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV
lea ecx, [esp + 0x18]
js 0x42fb09
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x28], 0x10000
push str._DDCKEYCAPS_SRCOVERLAYONEACTIVE
lea ecx, [esp + 0x18]
jne 0x42fb25
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x28], 0x20000
push str._DDCKEYCAPS_SRCOVERLAYYUV
lea ecx, [esp + 0x18]
jne 0x42fb41
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push edx
push str.dwCKeyCaps
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str._t_s:_s
call fcn.00402330
mov eax, dword [0x47c170]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041fde0
mov edx, dword [esp + 0x24]
push 0x45d66d
push edx
call fcn.0043f1fd
add esp, 0x1c
test eax, eax
je 0x42fbb7
mov eax, dword [esp + 0x10]
push eax
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s__s
call fcn.00402330
mov ecx, dword [0x47c170]
mov edx, dword [ecx + 4]
push edx
call fcn.0041fde0
add esp, 0x10
push 0x45d66d
lea ecx, [esp + 0x18]
call fcn.004022f0
push 0x45d66d
lea ecx, [esp + 0x14]
call fcn.004022f0
test byte [esp + 0x2c], 1
push str._DDFXCAPS_BLTALPHA
lea ecx, [esp + 0x18]
jne 0x42fbe7
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x2c], 0x20
push str._DDFXCAPS_BLTARITHSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42fc00
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x2c], 0x10
push str._DDFXCAPS_BLTARITHSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42fc19
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x2c], 0x20
push str._DDFXCAPS_BLTFILTER
lea ecx, [esp + 0x18]
jne 0x42fc32
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x2c], 0x40
push str._DDFXCAPS_BLTMIRRORLEFTRIGHT
lea ecx, [esp + 0x18]
jne 0x42fc4b
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov al, byte [esp + 0x2c]
test al, al
push str._DDFXCAPS_BLTMIRRORUPDOWN
lea ecx, [esp + 0x18]
js 0x42fc65
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, 1
push str._DDFXCAPS_BLTROTATION
lea ecx, [esp + 0x18]
jne 0x42fc80
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, 2
push str._DDFXCAPS_BLTROTATION90
lea ecx, [esp + 0x18]
jne 0x42fc9b
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, 4
push str._DDFXCAPS_BLTSHRINKX
lea ecx, [esp + 0x18]
jne 0x42fcb6
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, 8
push str._DDFXCAPS_BLTSHRINKXN
lea ecx, [esp + 0x18]
jne 0x42fcd1
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, 0x10
push str._DDFXCAPS_BLTSHRINKY
lea ecx, [esp + 0x18]
jne 0x42fcec
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, 0x20
push str._DDFXCAPS_BLTSHRINKYN
lea ecx, [esp + 0x18]
jne 0x42fd07
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, 0x40
push str._DDFXCAPS_BLTSTRETCHX
lea ecx, [esp + 0x18]
jne 0x42fd22
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x2c]
test ah, ah
push str._DDFXCAPS_BLTSTRETCHXN
lea ecx, [esp + 0x18]
js 0x42fd3c
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x10000
push str._DDFXCAPS_BLTSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42fd58
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x20000
push str._DDFXCAPS_BLTSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42fd74
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x2c], 4
push str._DDFXCAPS_OVERLAYALPHA
lea ecx, [esp + 0x18]
jne 0x42fd8d
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], edi
push str._DDFXCAPS_OVERLAYARITHSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42fda5
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x2c], 8
push str._DDFXCAPS_OVERLAYARITHSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42fdbe
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], edi
push str._DDFXCAPS_OVERLAYFILTER
lea ecx, [esp + 0x18]
jne 0x42fdd6
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x8000000
push str._DDFXCAPS_OVERLAYMIRRORLEFTRIGHT
lea ecx, [esp + 0x18]
jne 0x42fdf2
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x10000000
push str._DDFXCAPS_OVERLAYMIRRORUPDOWN
lea ecx, [esp + 0x18]
jne 0x42fe0e
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x80000
push str._DDFXCAPS_OVERLAYSHRINKX
lea ecx, [esp + 0x18]
jne 0x42fe2a
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x100000
push str._DDFXCAPS_OVERLAYSHRINKXN
lea ecx, [esp + 0x18]
jne 0x42fe46
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x200000
push str._DDFXCAPS_OVERLAYSHRINKY
lea ecx, [esp + 0x18]
jne 0x42fe62
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x400000
push str._DDFXCAPS_OVERLAYSHRINKYN
lea ecx, [esp + 0x18]
jne 0x42fe7e
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x800000
push str._DDFXCAPS_OVERLAYSTRETCHX
lea ecx, [esp + 0x18]
jne 0x42fe9a
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x1000000
push str._DDFXCAPS_OVERLAYSTRETCHXN
lea ecx, [esp + 0x18]
jne 0x42feb6
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x2000000
push str._DDFXCAPS_OVERLAYSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42fed2
lea ecx, [esp + 0x14]
call fcn.0042eb90
test dword [esp + 0x2c], 0x4000000
push str._DDFXCAPS_OVERLAYSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42feee
lea ecx, [esp + 0x14]
call fcn.0042eb90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.dwFXCaps
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str._t_s:_s
call fcn.00402330
mov edx, dword [0x47c170]
mov eax, dword [edx + 4]
push eax
call fcn.0041fde0
mov ecx, dword [esp + 0x24]
push 0x45d66d
push ecx
call fcn.0043f1fd
add esp, 0x1c
test eax, eax
je 0x42ff64
mov edx, dword [esp + 0x10]
push edx
push str._unsupported_
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._t_s__s
call fcn.00402330
mov eax, dword [0x47c170]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041fde0
add esp, 0x10
push 0x45d66d
lea ecx, [esp + 0x18]
call fcn.004022f0
push 0x45d66d
lea ecx, [esp + 0x14]
call fcn.004022f0
test byte [esp + 0x30], 1
push str._DDFXALPHACAPS_BLTALPHAEDGEBLEND
lea ecx, [esp + 0x18]
jne 0x42ff94
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x30], 2
push str._DDFXALPHACAPS_BLTALPHAPIXELS
lea ecx, [esp + 0x18]
jne 0x42ffad
lea ecx, [esp + 0x14]
call fcn.0042eb90
test byte [esp + 0x30], 4
push str._DDFXALPHACAPS_BLTALPHAPIXELSNEG
lea ecx, [esp + 0x18]
jne 0x42ffc6