Function at 0x42c1f0
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xffffffffffffffff
push 0x458706
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 0x45a67d
lea ecx, [esp + 0x18]
call fcn.004022f0
push 0x45a67d
lea ecx, [esp + 0x14]
mov dword [esp + 0x1a4], 0
call fcn.004022f0
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 0x42c274
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c267
lea ecx, [esp + 0x14]
jmp 0x42c27f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c274
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_3D
call fcn.0042bd40
test byte [esp + 0x20], 2
mov eax, str._DDCAPS_ALIGNBOUNDARYDEST
lea edx, [eax + 1]
je 0x42c2b0
jmp 0x42c2a0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c2a0
lea ecx, [esp + 0x14]
jmp 0x42c2bb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c2b0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNBOUNDARYDEST
call fcn.0042bd40
test byte [esp + 0x20], 8
mov eax, str._DDCAPS_ALIGNBOUNDARYSRC
lea edx, [eax + 1]
je 0x42c2e4
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c2d7
lea ecx, [esp + 0x14]
jmp 0x42c2ef
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c2e4
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNBOUNDARYSRC
call fcn.0042bd40
test byte [esp + 0x20], 4
mov eax, str._DDCAPS_ALIGNSIZEDEST
lea edx, [eax + 1]
je 0x42c320
jmp 0x42c310
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c310
lea ecx, [esp + 0x14]
jmp 0x42c32b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c320
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSIZEDEST
call fcn.0042bd40
test byte [esp + 0x20], 0x10
mov eax, str._DDCAPS_ALIGNSIZESRC
lea edx, [eax + 1]
je 0x42c354
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c347
lea ecx, [esp + 0x14]
jmp 0x42c35f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c354
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSIZESRC
call fcn.0042bd40
test byte [esp + 0x20], 0x20
mov eax, str._DDCAPS_ALIGNSTRIDE
lea edx, [eax + 1]
je 0x42c390
jmp 0x42c380
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c380
lea ecx, [esp + 0x14]
jmp 0x42c39b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c390
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALIGNSTRIDE
call fcn.0042bd40
test dword [esp + 0x20], 0x800000
mov eax, str._DDCAPS_ALPHA
lea edx, [eax + 1]
je 0x42c3d0
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c3c0
lea ecx, [esp + 0x14]
jmp 0x42c3db
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c3d0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_ALPHA
call fcn.0042bd40
test dword [esp + 0x20], 0x8000000
mov eax, str._DDCAPS_BANKSWITCHED
lea edx, [eax + 1]
je 0x42c410
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c400
lea ecx, [esp + 0x14]
jmp 0x42c41b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c410
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BANKSWITCHED
call fcn.0042bd40
test byte [esp + 0x20], 0x40
mov eax, str._DDCAPS_BLT
lea edx, [eax + 1]
je 0x42c444
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c437
lea ecx, [esp + 0x14]
jmp 0x42c44f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c444
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLT
call fcn.0042bd40
test dword [esp + 0x20], 0x4000000
mov eax, str._DDCAPS_BLTCOLORFILL
lea edx, [eax + 1]
je 0x42c480
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c470
lea ecx, [esp + 0x14]
jmp 0x42c48b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c480
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTCOLORFILL
call fcn.0042bd40
test dword [esp + 0x20], 0x10000000
mov eax, str._DDCAPS_BLTDEPTHFILL
lea edx, [eax + 1]
je 0x42c4c0
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c4b0
lea ecx, [esp + 0x14]
jmp 0x42c4cb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c4c0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTDEPTHFILL
call fcn.0042bd40
mov eax, dword [esp + 0x20]
test ah, 1
mov eax, str._DDCAPS_BLTFOURCC
lea edx, [eax + 1]
je 0x42c500
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c4f0
lea ecx, [esp + 0x14]
jmp 0x42c50b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c500
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTFOURCC
call fcn.0042bd40
mov al, byte [esp + 0x20]
test al, al
mov eax, str._DDCAPS_BLTQUEUE
lea edx, [eax + 1]
jns 0x42c535
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c528
lea ecx, [esp + 0x14]
jmp 0x42c540
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c535
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTQUEUE
call fcn.0042bd40
mov eax, dword [esp + 0x20]
test ah, 2
mov eax, str._DDCAPS_BLTSTRETCH
lea edx, [eax + 1]
je 0x42c570
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c560
lea ecx, [esp + 0x14]
jmp 0x42c57b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c570
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_BLTSTRETCH
call fcn.0042bd40
mov eax, dword [esp + 0x20]
mov ebx, DirectSoundCreate
test ebx, eax
mov eax, str._DDCAPS_CANBLTSYSMEM
lea edx, [eax + 1]
je 0x42c5b0
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c5a0
lea ecx, [esp + 0x14]
jmp 0x42c5bb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c5b0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANBLTSYSMEM
call fcn.0042bd40
mov eax, dword [esp + 0x20]
mov ebp, 0x20000000
test ebp, eax
mov eax, str._DDCAPS_CANCLIP
lea edx, [eax + 1]
je 0x42c5f0
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c5e0
lea ecx, [esp + 0x14]
jmp 0x42c5fb
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c5f0
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANCLIP
call fcn.0042bd40
mov eax, dword [esp + 0x20]
mov esi, 0x40000000
test esi, eax
mov eax, str._DDCAPS_CANCLIPSTRETCHED
lea edx, [eax + 1]
je 0x42c630
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c620
lea ecx, [esp + 0x14]
jmp 0x42c63b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c630
lea ecx, [esp + 0x10]
sub eax, edx
push eax
push str._DDCAPS_CANCLIPSTRETCHED
call fcn.0042bd40
test dword [esp + 0x20], 0x400000
je 0x42c67a
mov eax, str._DDCAPS_COLORKEY
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c660
sub eax, edx
push eax
push str._DDCAPS_COLORKEY
lea ecx, [esp + 0x1c]
call fcn.0042bd40
jmp 0x42c688
push str._DDCAPS_COLORKEY
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x20], 0x1000000
push str._DDCAPS_COLORKEYHWASSIST
lea ecx, [esp + 0x18]
jne 0x42c69f
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x20]
test ah, 4
push str._DDCAPS_GDI
lea ecx, [esp + 0x18]
jne 0x42c6ba
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x20], 0x2000000
push str._DDCAPS_NOHARDWARE
lea ecx, [esp + 0x18]
jne 0x42c6d6
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x20]
test ah, 8
push str._DDCAPS_OVERLAY
lea ecx, [esp + 0x18]
jne 0x42c6f1
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x20]
test ah, 0x10
push str._DDCAPS_OVERLAYCANTCLIP
lea ecx, [esp + 0x18]
jne 0x42c70c
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x20]
test ah, 0x20
push str._DDCAPS_OVERLAYFOURCC
lea ecx, [esp + 0x18]
jne 0x42c727
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x20]
test ah, 0x40
push str._DDCAPS_OVERLAYSTRETCH
lea ecx, [esp + 0x18]
jne 0x42c742
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x20]
test ah, ah
push str._DDCAPS_PALETTE
lea ecx, [esp + 0x18]
js 0x42c75c
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x20], 0x10000
push str._DDCAPS_PALETTEVSYNC
lea ecx, [esp + 0x18]
jne 0x42c778
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x20], 0x20000
push str._DDCAPS_READSCANLINE
lea ecx, [esp + 0x18]
jne 0x42c794
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x20], 0x80000
push str._DDCAPS_VBI
lea ecx, [esp + 0x18]
jne 0x42c7b0
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x20], 0x100000
push str._DDCAPS_ZBLTS
lea ecx, [esp + 0x18]
jne 0x42c7cc
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x20]
mov edi, 0x200000
test edi, eax
push str._DDCAPS_ZOVERLAYS
lea ecx, [esp + 0x18]
jne 0x42c7eb
lea ecx, [esp + 0x14]
call fcn.0042be00
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.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 4]
push eax
call fcn.0041f150
mov ecx, dword [esp + 0x24]
push 0x45a67d
push ecx
call fcn.0043c32d
add esp, 0x1c
test eax, eax
je 0x42c861
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.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041f150
add esp, 0x10
push 0x45a67d
lea ecx, [esp + 0x18]
call fcn.004022b0
push 0x45a67d
lea ecx, [esp + 0x14]
call fcn.004022b0
test dword [esp + 0x24], edi
push str._DDCAPS_ZOVERLAYS
lea ecx, [esp + 0x18]
jne 0x42c890
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x24], 8
push str._DDCAPS2_AUTOFLIPOVERLAY
lea ecx, [esp + 0x18]
jne 0x42c8a9
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, 0x40
push str._DDCAPS2_CANBOBHARDWARE
lea ecx, [esp + 0x18]
jne 0x42c8c4
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x24], 0x10
push str._DDCAPS2_CANBOBINTERLEAVED
lea ecx, [esp + 0x18]
jne 0x42c8dd
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x24], 0x20
push str._DDCAPS2_CANBOBNONINTERLEAVED
lea ecx, [esp + 0x18]
jne 0x42c8f6
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], 0x100000
push str._DDCAPS2_CANCALIBRATEGAMMA
lea ecx, [esp + 0x18]
jne 0x42c912
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, 1
push str._DDCAPS2_CANDROPZ16BIT
lea ecx, [esp + 0x18]
jne 0x42c92d
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, 0x20
push str._DDCAPS2_CANFLIPODDEVEN
lea ecx, [esp + 0x18]
jne 0x42c948
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], 0x800000
push str._DDCAPS2_CANMANAGETEXTURE
lea ecx, [esp + 0x18]
jne 0x42c964
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], 0x80000
push str._DDCAPS2_CANRENDERWINDOWED
lea ecx, [esp + 0x18]
jne 0x42c980
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x24], 1
push str._DDCAPS2_CERTIFIED
lea ecx, [esp + 0x18]
jne 0x42c999
lea ecx, [esp + 0x14]
call fcn.0042be00
mov al, byte [esp + 0x24]
test al, al
push str._DDCAPS2_COLORCONTROLPRIMARY
lea ecx, [esp + 0x18]
js 0x42c9b3
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x24], 0x40
push str._DDCAPS2_COLORCONTROLOVERLAY
lea ecx, [esp + 0x18]
jne 0x42c9cc
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, ah
push str._DDCAPS2_COPYFOURCC
lea ecx, [esp + 0x18]
js 0x42c9e6
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], edi
push str._DDCAPS2_FLIPINTERVAL
lea ecx, [esp + 0x18]
jne 0x42c9fe
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], 0x400000
push str._DDCAPS2_FLIPNOVSYNC
lea ecx, [esp + 0x18]
jne 0x42ca1a
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x24], 2
push str._DDCAPS2_NO2DDURING3DSCENE
lea ecx, [esp + 0x18]
jne 0x42ca33
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, 2
push str._DDCAPS2_NONLOCALVIDMEM
lea ecx, [esp + 0x18]
jne 0x42ca4e
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, 4
push str._DDCAPS2_NONLOCALVIDMEMCAPS
lea ecx, [esp + 0x18]
jne 0x42ca69
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, 8
push str._DDCAPS2_NOPAGELOCKREQUIRED
lea ecx, [esp + 0x18]
jne 0x42ca84
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], 0x20000
push str._DDCAPS2_PRIMARYGAMMA
lea ecx, [esp + 0x18]
jne 0x42caa0
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], 0x2000000
push str._DDCAPS2_STEREO
lea ecx, [esp + 0x18]
jne 0x42cabc
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x24], 0x1000000
push str._DDCAPS2_TEXMANINNONLOCALVIDMEM
lea ecx, [esp + 0x18]
jne 0x42cad8
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x24], 4
push str._DDCAPS2_VIDEOPORT
lea ecx, [esp + 0x18]
jne 0x42caf1
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x24]
test ah, 0x10
push str._DDCAPS2_WIDESURFACES
lea ecx, [esp + 0x18]
jne 0x42cb0c
lea ecx, [esp + 0x14]
call fcn.0042be00
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.004022f0
mov ecx, dword [0x477970]
mov edx, dword [ecx + 4]
push edx
call fcn.0041f150
mov eax, dword [esp + 0x24]
push 0x45a67d
push eax
call fcn.0043c32d
add esp, 0x1c
test eax, eax
je 0x42cb83
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.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 4]
push eax
call fcn.0041f150
add esp, 0x10
push 0x45a67d
lea ecx, [esp + 0x18]
call fcn.004022b0
push 0x45a67d
lea ecx, [esp + 0x14]
call fcn.004022b0
test byte [esp + 0x28], 1
push str._DDCKEYCAPS_DESTBLT
lea ecx, [esp + 0x18]
jne 0x42cbb3
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x28], 2
push str._DDCKEYCAPS_DESTBLTCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42cbcc
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x28], 4
push str._DDCKEYCAPS_DESTBLTCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42cbe5
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x28], 8
push str._DDCKEYCAPS_DESTBLTYUV
lea ecx, [esp + 0x18]
jne 0x42cbfe
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x28], 0x10
push str._DDCKEYCAPS_DESTOVERLAY
lea ecx, [esp + 0x18]
jne 0x42cc17
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x28], 0x20
push str._DDCKEYCAPS_DESTOVERLAYCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42cc30
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x28], 0x40
push str._DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42cc49
lea ecx, [esp + 0x14]
call fcn.0042be00
mov al, byte [esp + 0x28]
test al, al
push str._DDCKEYCAPS_DESTOVERLAYONEACTIVE
lea ecx, [esp + 0x18]
js 0x42cc63
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, 1
push str._DDCKEYCAPS_DESTOVERLAYYUV
lea ecx, [esp + 0x18]
jne 0x42cc7e
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
mov edi, 0x40000
test edi, eax
push str._DDCKEYCAPS_NOCOSTOVERLAY
lea ecx, [esp + 0x18]
jne 0x42cc9d
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, 2
push str._DDCKEYCAPS_SRCBLT
lea ecx, [esp + 0x18]
jne 0x42ccb8
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, 4
push str._DDCKEYCAPS_SRCBLTCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42ccd3
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, 8
push str._DDCKEYCAPS_SRCBLTCLRSPACEYUV
lea ecx, [esp + 0x18]
jne 0x42ccee
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, 0x10
push str._DDCKEYCAPS_SRCBLTYUV
lea ecx, [esp + 0x18]
jne 0x42cd09
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, 0x20
push str._DDCKEYCAPS_SRCOVERLAY
lea ecx, [esp + 0x18]
jne 0x42cd24
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, 0x40
push str._DDCKEYCAPS_SRCOVERLAYCLRSPACE
lea ecx, [esp + 0x18]
jne 0x42cd3f
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x28]
test ah, ah
push str._DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV
lea ecx, [esp + 0x18]
js 0x42cd59
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x28], 0x10000
push str._DDCKEYCAPS_SRCOVERLAYONEACTIVE
lea ecx, [esp + 0x18]
jne 0x42cd75
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x28], 0x20000
push str._DDCKEYCAPS_SRCOVERLAYYUV
lea ecx, [esp + 0x18]
jne 0x42cd91
lea ecx, [esp + 0x14]
call fcn.0042be00
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.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041f150
mov edx, dword [esp + 0x24]
push 0x45a67d
push edx
call fcn.0043c32d
add esp, 0x1c
test eax, eax
je 0x42ce07
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.004022f0
mov ecx, dword [0x477970]
mov edx, dword [ecx + 4]
push edx
call fcn.0041f150
add esp, 0x10
push 0x45a67d
lea ecx, [esp + 0x18]
call fcn.004022b0
push 0x45a67d
lea ecx, [esp + 0x14]
call fcn.004022b0
test byte [esp + 0x2c], 1
push str._DDFXCAPS_BLTALPHA
lea ecx, [esp + 0x18]
jne 0x42ce37
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x2c], 0x20
push str._DDFXCAPS_BLTARITHSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42ce50
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x2c], 0x10
push str._DDFXCAPS_BLTARITHSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42ce69
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x2c], 0x20
push str._DDFXCAPS_BLTFILTER
lea ecx, [esp + 0x18]
jne 0x42ce82
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x2c], 0x40
push str._DDFXCAPS_BLTMIRRORLEFTRIGHT
lea ecx, [esp + 0x18]
jne 0x42ce9b
lea ecx, [esp + 0x14]
call fcn.0042be00
mov al, byte [esp + 0x2c]
test al, al
push str._DDFXCAPS_BLTMIRRORUPDOWN
lea ecx, [esp + 0x18]
js 0x42ceb5
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, 1
push str._DDFXCAPS_BLTROTATION
lea ecx, [esp + 0x18]
jne 0x42ced0
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, 2
push str._DDFXCAPS_BLTROTATION90
lea ecx, [esp + 0x18]
jne 0x42ceeb
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, 4
push str._DDFXCAPS_BLTSHRINKX
lea ecx, [esp + 0x18]
jne 0x42cf06
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, 8
push str._DDFXCAPS_BLTSHRINKXN
lea ecx, [esp + 0x18]
jne 0x42cf21
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, 0x10
push str._DDFXCAPS_BLTSHRINKY
lea ecx, [esp + 0x18]
jne 0x42cf3c
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, 0x20
push str._DDFXCAPS_BLTSHRINKYN
lea ecx, [esp + 0x18]
jne 0x42cf57
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, 0x40
push str._DDFXCAPS_BLTSTRETCHX
lea ecx, [esp + 0x18]
jne 0x42cf72
lea ecx, [esp + 0x14]
call fcn.0042be00
mov eax, dword [esp + 0x2c]
test ah, ah
push str._DDFXCAPS_BLTSTRETCHXN
lea ecx, [esp + 0x18]
js 0x42cf8c
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x10000
push str._DDFXCAPS_BLTSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42cfa8
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x20000
push str._DDFXCAPS_BLTSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42cfc4
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x2c], 4
push str._DDFXCAPS_OVERLAYALPHA
lea ecx, [esp + 0x18]
jne 0x42cfdd
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], edi
push str._DDFXCAPS_OVERLAYARITHSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42cff5
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x2c], 8
push str._DDFXCAPS_OVERLAYARITHSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42d00e
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], edi
push str._DDFXCAPS_OVERLAYFILTER
lea ecx, [esp + 0x18]
jne 0x42d026
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x8000000
push str._DDFXCAPS_OVERLAYMIRRORLEFTRIGHT
lea ecx, [esp + 0x18]
jne 0x42d042
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x10000000
push str._DDFXCAPS_OVERLAYMIRRORUPDOWN
lea ecx, [esp + 0x18]
jne 0x42d05e
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x80000
push str._DDFXCAPS_OVERLAYSHRINKX
lea ecx, [esp + 0x18]
jne 0x42d07a
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x100000
push str._DDFXCAPS_OVERLAYSHRINKXN
lea ecx, [esp + 0x18]
jne 0x42d096
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x200000
push str._DDFXCAPS_OVERLAYSHRINKY
lea ecx, [esp + 0x18]
jne 0x42d0b2
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x400000
push str._DDFXCAPS_OVERLAYSHRINKYN
lea ecx, [esp + 0x18]
jne 0x42d0ce
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x800000
push str._DDFXCAPS_OVERLAYSTRETCHX
lea ecx, [esp + 0x18]
jne 0x42d0ea
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x1000000
push str._DDFXCAPS_OVERLAYSTRETCHXN
lea ecx, [esp + 0x18]
jne 0x42d106
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x2000000
push str._DDFXCAPS_OVERLAYSTRETCHY
lea ecx, [esp + 0x18]
jne 0x42d122
lea ecx, [esp + 0x14]
call fcn.0042be00
test dword [esp + 0x2c], 0x4000000
push str._DDFXCAPS_OVERLAYSTRETCHYN
lea ecx, [esp + 0x18]
jne 0x42d13e
lea ecx, [esp + 0x14]
call fcn.0042be00
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.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 4]
push eax
call fcn.0041f150
mov ecx, dword [esp + 0x24]
push 0x45a67d
push ecx
call fcn.0043c32d
add esp, 0x1c
test eax, eax
je 0x42d1b4
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.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041f150
add esp, 0x10
push 0x45a67d
lea ecx, [esp + 0x18]
call fcn.004022b0
push 0x45a67d
lea ecx, [esp + 0x14]
call fcn.004022b0
test byte [esp + 0x30], 1
push str._DDFXALPHACAPS_BLTALPHAEDGEBLEND
lea ecx, [esp + 0x18]
jne 0x42d1e4
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x30], 2
push str._DDFXALPHACAPS_BLTALPHAPIXELS
lea ecx, [esp + 0x18]
jne 0x42d1fd
lea ecx, [esp + 0x14]
call fcn.0042be00
test byte [esp + 0x30], 4
push str._DDFXALPHACAPS_BLTALPHAPIXELSNEG
lea ecx, [esp + 0x18]
jne 0x42d216