Function at 0x42ed30
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xffffffffffffffff
push 0x45bc36
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 0x42edb4
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42eda7
lea ecx, [esp + 0x14]
jmp 0x42edbf
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42edb4
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_3D
call fcn.00420d60
test byte [esp + 0x20], 2
mov eax, str._DDCAPS_ALIGNBOUNDARYDEST
lea edx, [eax + 1]
je 0x42edf0
jmp 0x42ede0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ede0
lea ecx, [esp + 0x14]
jmp 0x42edfb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42edf0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNBOUNDARYDEST
call fcn.00420d60
test byte [esp + 0x20], 8
mov eax, str._DDCAPS_ALIGNBOUNDARYSRC
lea edx, [eax + 1]
je 0x42ee24
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee17
lea ecx, [esp + 0x14]
jmp 0x42ee2f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee24
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNBOUNDARYSRC
call fcn.00420d60
test byte [esp + 0x20], 4
mov eax, str._DDCAPS_ALIGNSIZEDEST
lea edx, [eax + 1]
je 0x42ee60
jmp 0x42ee50
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee50
lea ecx, [esp + 0x14]
jmp 0x42ee6b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee60
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSIZEDEST
call fcn.00420d60
test byte [esp + 0x20], 0x10
mov eax, str._DDCAPS_ALIGNSIZESRC
lea edx, [eax + 1]
je 0x42ee94
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee87
lea ecx, [esp + 0x14]
jmp 0x42ee9f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee94
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSIZESRC
call fcn.00420d60
test byte [esp + 0x20], 0x20
mov eax, str._DDCAPS_ALIGNSTRIDE
lea edx, [eax + 1]
je 0x42eed0
jmp 0x42eec0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42eec0
lea ecx, [esp + 0x14]
jmp 0x42eedb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42eed0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSTRIDE
call fcn.00420d60
test dword [esp + 0x20], 0x800000
mov eax, str._DDCAPS_ALPHA
lea edx, [eax + 1]
je 0x42ef10
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ef00
lea ecx, [esp + 0x14]
jmp 0x42ef1b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ef10
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALPHA
call fcn.00420d60
test dword [esp + 0x20], 0x8000000
mov eax, str._DDCAPS_BANKSWITCHED
lea edx, [eax + 1]
je 0x42ef50
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ef40
lea ecx, [esp + 0x14]
jmp 0x42ef5b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ef50
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BANKSWITCHED
call fcn.00420d60
test byte [esp + 0x20], 0x40
mov eax, str._DDCAPS_BLT
lea edx, [eax + 1]
je 0x42ef84
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ef77
lea ecx, [esp + 0x14]
jmp 0x42ef8f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ef84
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLT
call fcn.00420d60
test dword [esp + 0x20], 0x4000000
mov eax, str._DDCAPS_BLTCOLORFILL
lea edx, [eax + 1]
je 0x42efc0
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42efb0
lea ecx, [esp + 0x14]
jmp 0x42efcb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42efc0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTCOLORFILL
call fcn.00420d60
test dword [esp + 0x20], 0x10000000
mov eax, str._DDCAPS_BLTDEPTHFILL
lea edx, [eax + 1]
je 0x42f000
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42eff0
lea ecx, [esp + 0x14]
jmp 0x42f00b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f000
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTDEPTHFILL
call fcn.00420d60
mov eax, dword [esp + 0x20]
test ah, 1
mov eax, str._DDCAPS_BLTFOURCC
lea edx, [eax + 1]
je 0x42f040
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f030
lea ecx, [esp + 0x14]
jmp 0x42f04b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f040
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTFOURCC
call fcn.00420d60
mov al, byte [esp + 0x20]
test al, al
mov eax, str._DDCAPS_BLTQUEUE
lea edx, [eax + 1]
jns 0x42f075
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f068
lea ecx, [esp + 0x14]
jmp 0x42f080
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f075
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTQUEUE
call fcn.00420d60
mov eax, dword [esp + 0x20]
test ah, 2
mov eax, str._DDCAPS_BLTSTRETCH
lea edx, [eax + 1]
je 0x42f0b0
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f0a0
lea ecx, [esp + 0x14]
jmp 0x42f0bb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f0b0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTSTRETCH
call fcn.00420d60
mov eax, dword [esp + 0x20]
mov ebx, 0x80000000
test ebx, eax
mov eax, str._DDCAPS_CANBLTSYSMEM
lea edx, [eax + 1]
je 0x42f0f0
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f0e0
lea ecx, [esp + 0x14]
jmp 0x42f0fb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f0f0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANBLTSYSMEM
call fcn.00420d60
mov eax, dword [esp + 0x20]
mov ebp, 0x20000000
test ebp, eax
mov eax, str._DDCAPS_CANCLIP
lea edx, [eax + 1]
je 0x42f130
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f120
lea ecx, [esp + 0x14]
jmp 0x42f13b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f130
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANCLIP
call fcn.00420d60
mov eax, dword [esp + 0x20]
mov esi, 0x40000000
test esi, eax
mov eax, str._DDCAPS_CANCLIPSTRETCHED
lea edx, [eax + 1]
je 0x42f170
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f160
lea ecx, [esp + 0x14]
jmp 0x42f17b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f170
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANCLIPSTRETCHED
call fcn.00420d60
test dword [esp + 0x20], 0x400000
je 0x42f1ba
mov eax, str._DDCAPS_COLORKEY
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f1a0
sub eax, edx
push eax
push str._DDCAPS_COLORKEY
lea ecx, [esp + 0x1c]
call fcn.00420d60
jmp 0x42f1c8
push str._DDCAPS_COLORKEY
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x20], 0x1000000
push str._DDCAPS_COLORKEYHWASSIST
lea ecx, [esp + 0x18]
jne 0x42f1df
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x20]
test ah, 4
push str._DDCAPS_GDI
lea ecx, [esp + 0x18]
jne 0x42f1fa
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x20], 0x2000000
push str._DDCAPS_NOHARDWARE
lea ecx, [esp + 0x18]
jne 0x42f216
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x20]
test ah, 8
push str._DDCAPS_OVERLAY
lea ecx, [esp + 0x18]
jne 0x42f231
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x20]
test ah, 0x10
push str._DDCAPS_OVERLAYCANTCLIP
lea ecx, [esp + 0x18]
jne 0x42f24c
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x20]
test ah, 0x20
push str._DDCAPS_OVERLAYFOURCC
lea ecx, [esp + 0x18]
jne 0x42f267
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x20]
test ah, 0x40
push str._DDCAPS_OVERLAYSTRETCH
lea ecx, [esp + 0x18]
jne 0x42f282
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x20]
test ah, ah
push str._DDCAPS_PALETTE
lea ecx, [esp + 0x18]
js 0x42f29c
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x20], 0x10000
push str._DDCAPS_PALETTEVSYNC
lea ecx, [esp + 0x18]
jne 0x42f2b8
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x20], 0x20000
push str._DDCAPS_READSCANLINE
lea ecx, [esp + 0x18]
jne 0x42f2d4
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x20], 0x80000
push str._DDCAPS_VBI
lea ecx, [esp + 0x18]
jne 0x42f2f0
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x20], 0x100000
push str._DDCAPS_ZBLTS
lea ecx, [esp + 0x18]
jne 0x42f30c
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x20]
mov edi, 0x200000
test edi, eax
push str._DDCAPS_ZOVERLAYS
lea ecx, [esp + 0x18]
jne 0x42f32b
lea ecx, [esp + 0x14]
call fcn.0042e920
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.0041fdb0
mov ecx, dword [esp + 0x24]
push 0x45d66d
push ecx
call fcn.0043ef8d
add esp, 0x1c
test eax, eax
je 0x42f3a1
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.0041fdb0
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 0x42f3d0
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x24], 8
push str._DDCAPS2_AUTOFLIPOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f3e9
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, 0x40
push str._DDCAPS2_CANBOBHARDWARE
lea ecx, [esp + 0x18]
jne 0x42f404
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x24], 0x10
push str._DDCAPS2_CANBOBINTERLEAVED
lea ecx, [esp + 0x18]
jne 0x42f41d
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x24], 0x20
push str._DDCAPS2_CANBOBNONINTERLEAVED
lea ecx, [esp + 0x18]
jne 0x42f436
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], 0x100000
push str._DDCAPS2_CANCALIBRATEGAMMA
lea ecx, [esp + 0x18]
jne 0x42f452
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, 1
push str._DDCAPS2_CANDROPZ16BIT
lea ecx, [esp + 0x18]
jne 0x42f46d
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, 0x20
push str._DDCAPS2_CANFLIPODDEVEN
lea ecx, [esp + 0x18]
jne 0x42f488
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], 0x800000
push str._DDCAPS2_CANMANAGETEXTURE
lea ecx, [esp + 0x18]
jne 0x42f4a4
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], 0x80000
push str._DDCAPS2_CANRENDERWINDOWED
lea ecx, [esp + 0x18]
jne 0x42f4c0
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x24], 1
push str._DDCAPS2_CERTIFIED
lea ecx, [esp + 0x18]
jne 0x42f4d9
lea ecx, [esp + 0x14]
call fcn.0042e920
mov al, byte [esp + 0x24]
test al, al
push str._DDCAPS2_COLORCONTROLPRIMARY
lea ecx, [esp + 0x18]
js 0x42f4f3
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x24], 0x40
push str._DDCAPS2_COLORCONTROLOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f50c
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, ah
push str._DDCAPS2_COPYFOURCC
lea ecx, [esp + 0x18]
js 0x42f526
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], edi
push str._DDCAPS2_FLIPINTERVAL
lea ecx, [esp + 0x18]
jne 0x42f53e
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], 0x400000
push str._DDCAPS2_FLIPNOVSYNC
lea ecx, [esp + 0x18]
jne 0x42f55a
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x24], 2
push str._DDCAPS2_NO2DDURING3DSCENE
lea ecx, [esp + 0x18]
jne 0x42f573
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, 2
push str._DDCAPS2_NONLOCALVIDMEM
lea ecx, [esp + 0x18]
jne 0x42f58e
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, 4
push str._DDCAPS2_NONLOCALVIDMEMCAPS
lea ecx, [esp + 0x18]
jne 0x42f5a9
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, 8
push str._DDCAPS2_NOPAGELOCKREQUIRED
lea ecx, [esp + 0x18]
jne 0x42f5c4
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], 0x20000
push str._DDCAPS2_PRIMARYGAMMA
lea ecx, [esp + 0x18]
jne 0x42f5e0
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], 0x2000000
push str._DDCAPS2_STEREO
lea ecx, [esp + 0x18]
jne 0x42f5fc
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x24], 0x1000000
push str._DDCAPS2_TEXMANINNONLOCALVIDMEM
lea ecx, [esp + 0x18]
jne 0x42f618
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x24], 4
push str._DDCAPS2_VIDEOPORT
lea ecx, [esp + 0x18]
jne 0x42f631
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x24]
test ah, 0x10
push str._DDCAPS2_WIDESURFACES
lea ecx, [esp + 0x18]
jne 0x42f64c
lea ecx, [esp + 0x14]
call fcn.0042e920
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.0041fdb0
mov eax, dword [esp + 0x24]
push 0x45d66d
push eax
call fcn.0043ef8d
add esp, 0x1c
test eax, eax
je 0x42f6c3
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.0041fdb0
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 0x42f6f3
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x28], 2
push str._DDCKEYCAPS_DESTBLTCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42f70c
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x28], 4
push str._DDCKEYCAPS_DESTBLTCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42f725
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x28], 8
push str._DDCKEYCAPS_DESTBLTYUV
lea ecx, [esp + 0x18]
jne 0x42f73e
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x28], 0x10
push str._DDCKEYCAPS_DESTOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f757
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x28], 0x20
push str._DDCKEYCAPS_DESTOVERLAYCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42f770
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x28], 0x40
push str._DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42f789
lea ecx, [esp + 0x14]
call fcn.0042e920
mov al, byte [esp + 0x28]
test al, al
push str._DDCKEYCAPS_DESTOVERLAYONEACTIVE
lea ecx, [esp + 0x18]
js 0x42f7a3
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, 1
push str._DDCKEYCAPS_DESTOVERLAYYUV
lea ecx, [esp + 0x18]
jne 0x42f7be
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
mov edi, 0x40000
test edi, eax
push str._DDCKEYCAPS_NOCOSTOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f7dd
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, 2
push str._DDCKEYCAPS_SRCBLT
lea ecx, [esp + 0x18]
jne 0x42f7f8
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, 4
push str._DDCKEYCAPS_SRCBLTCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42f813
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, 8
push str._DDCKEYCAPS_SRCBLTCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42f82e
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, 0x10
push str._DDCKEYCAPS_SRCBLTYUV
lea ecx, [esp + 0x18]
jne 0x42f849
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, 0x20
push str._DDCKEYCAPS_SRCOVERLAY
lea ecx, [esp + 0x18]
jne 0x42f864
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, 0x40
push str._DDCKEYCAPS_SRCOVERLAYCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42f87f
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x28]
test ah, ah
push str._DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV
lea ecx, [esp + 0x18]
js 0x42f899
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x28], 0x10000
push str._DDCKEYCAPS_SRCOVERLAYONEACTIVE
lea ecx, [esp + 0x18]
jne 0x42f8b5
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x28], 0x20000
push str._DDCKEYCAPS_SRCOVERLAYYUV
lea ecx, [esp + 0x18]
jne 0x42f8d1
lea ecx, [esp + 0x14]
call fcn.0042e920
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.0041fdb0
mov edx, dword [esp + 0x24]
push 0x45d66d
push edx
call fcn.0043ef8d
add esp, 0x1c
test eax, eax
je 0x42f947
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.0041fdb0
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 0x42f977
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x2c], 0x20
push str._DDFXCAPS_BLTARITHSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42f990
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x2c], 0x10
push str._DDFXCAPS_BLTARITHSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42f9a9
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x2c], 0x20
push str._DDFXCAPS_BLTFILTER
lea ecx, [esp + 0x18]
jne 0x42f9c2
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x2c], 0x40
push str._DDFXCAPS_BLTMIRRORLEFTRIGHT
lea ecx, [esp + 0x18]
jne 0x42f9db
lea ecx, [esp + 0x14]
call fcn.0042e920
mov al, byte [esp + 0x2c]
test al, al
push str._DDFXCAPS_BLTMIRRORUPDOWN
lea ecx, [esp + 0x18]
js 0x42f9f5
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, 1
push str._DDFXCAPS_BLTROTATION
lea ecx, [esp + 0x18]
jne 0x42fa10
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, 2
push str._DDFXCAPS_BLTROTATION90
lea ecx, [esp + 0x18]
jne 0x42fa2b
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, 4
push str._DDFXCAPS_BLTSHRINKX
lea ecx, [esp + 0x18]
jne 0x42fa46
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, 8
push str._DDFXCAPS_BLTSHRINKXN
lea ecx, [esp + 0x18]
jne 0x42fa61
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, 0x10
push str._DDFXCAPS_BLTSHRINKY
lea ecx, [esp + 0x18]
jne 0x42fa7c
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, 0x20
push str._DDFXCAPS_BLTSHRINKYN
lea ecx, [esp + 0x18]
jne 0x42fa97
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, 0x40
push str._DDFXCAPS_BLTSTRETCHX
lea ecx, [esp + 0x18]
jne 0x42fab2
lea ecx, [esp + 0x14]
call fcn.0042e920
mov eax, dword [esp + 0x2c]
test ah, ah
push str._DDFXCAPS_BLTSTRETCHXN
lea ecx, [esp + 0x18]
js 0x42facc
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x10000
push str._DDFXCAPS_BLTSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42fae8
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x20000
push str._DDFXCAPS_BLTSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42fb04
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x2c], 4
push str._DDFXCAPS_OVERLAYALPHA
lea ecx, [esp + 0x18]
jne 0x42fb1d
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], edi
push str._DDFXCAPS_OVERLAYARITHSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42fb35
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x2c], 8
push str._DDFXCAPS_OVERLAYARITHSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42fb4e
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], edi
push str._DDFXCAPS_OVERLAYFILTER
lea ecx, [esp + 0x18]
jne 0x42fb66
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x8000000
push str._DDFXCAPS_OVERLAYMIRRORLEFTRIGHT
lea ecx, [esp + 0x18]
jne 0x42fb82
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x10000000
push str._DDFXCAPS_OVERLAYMIRRORUPDOWN
lea ecx, [esp + 0x18]
jne 0x42fb9e
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x80000
push str._DDFXCAPS_OVERLAYSHRINKX
lea ecx, [esp + 0x18]
jne 0x42fbba
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x100000
push str._DDFXCAPS_OVERLAYSHRINKXN
lea ecx, [esp + 0x18]
jne 0x42fbd6
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x200000
push str._DDFXCAPS_OVERLAYSHRINKY
lea ecx, [esp + 0x18]
jne 0x42fbf2
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x400000
push str._DDFXCAPS_OVERLAYSHRINKYN
lea ecx, [esp + 0x18]
jne 0x42fc0e
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x800000
push str._DDFXCAPS_OVERLAYSTRETCHX
lea ecx, [esp + 0x18]
jne 0x42fc2a
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x1000000
push str._DDFXCAPS_OVERLAYSTRETCHXN
lea ecx, [esp + 0x18]
jne 0x42fc46
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x2000000
push str._DDFXCAPS_OVERLAYSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42fc62
lea ecx, [esp + 0x14]
call fcn.0042e920
test dword [esp + 0x2c], 0x4000000
push str._DDFXCAPS_OVERLAYSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42fc7e
lea ecx, [esp + 0x14]
call fcn.0042e920
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.0041fdb0
mov ecx, dword [esp + 0x24]
push 0x45d66d
push ecx
call fcn.0043ef8d
add esp, 0x1c
test eax, eax
je 0x42fcf4
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.0041fdb0
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 0x42fd24
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x30], 2
push str._DDFXALPHACAPS_BLTALPHAPIXELS
lea ecx, [esp + 0x18]
jne 0x42fd3d
lea ecx, [esp + 0x14]
call fcn.0042e920
test byte [esp + 0x30], 4
push str._DDFXALPHACAPS_BLTALPHAPIXELSNEG
lea ecx, [esp + 0x18]
jne 0x42fd56