Function at 0x4028c0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
xor edx, edx
mov ecx, 0x3d
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x1fc]
mov esi, eax
mov eax, edx
push ebx
lea ebx, [ebp - 0x100]
lea edx, [ebp - 0x204]
sub esp, 0x208
mov dword [ebp - 0x204], 0xfc
rep stosd dword es:[edi], eax
mov edi, ebx
mov ecx, 0x3d
mov dword [ebp - 0x200], 0xdeadbeef
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x108], 0xfc
lea edi, [ebp - 0x1fc]
mov dword [ebp - 0x104], 0xdeadc0de
mov ecx, dword [eax]
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [ecx + 0xc]
sub esp, 0xc
mov ebx, eax
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7be
xor eax, eax
cmp ebx, 0x80070057
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetCaps_with_NULL_hel_caps_returned_hr__lx__expected_INVALIDPARAMS._n
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7bf
mov eax, dword [ebp - 0x200]
mov dword [esp + 4], str.hw_caps.dwFlags_was_modified:__lx._n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
mov eax, dword [esi + 0xc]
lea edx, [ebp - 0x108]
mov ecx, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [ecx + 0xc]
sub esp, 0xc
mov ebx, eax
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7c1
xor eax, eax
cmp ebx, 0x80070057
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetCaps_with_NULL_hw_caps_returned_hr__lx__expected_INVALIDPARAMS._n
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7c2
mov eax, dword [ebp - 0x104]
mov dword [esp + 4], str.hel_caps.dwFlags_was_modified:__lx._n
cmp eax, 0xdeadc0de
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
mov eax, dword [esi + 0xc]
lea edx, [ebp - 0x108]
mov ecx, dword [eax]
mov dword [esp + 8], edx
lea edx, [ebp - 0x204]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [ecx + 0xc]
sub esp, 0xc
mov ebx, eax
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7c6
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetCaps_with_correct_size_returned_hr__lx__expected_D3D_OK._n
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7c7
mov eax, dword [ebp - 0x200]
mov dword [esp + 4], str.hw_caps.dwFlags_was_not_modified:__lx._n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7c8
mov eax, dword [ebp - 0x104]
mov dword [esp + 4], str.hel_caps.dwFlags_was_not_modified:__lx._n
cmp eax, 0xdeadc0de
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
xor eax, eax
mov ecx, 0x3d
mov dword [ebp - 0x204], 0xfc
rep stosd dword es:[edi], eax
mov ecx, 0x3f
lea edi, [ebp - 0x108]
mov dword [ebp - 0x200], 0xdeadbeef
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
lea edx, [ebp - 0x108]
mov dword [ebp - 0x104], 0xdeadc0de
mov ecx, dword [eax]
mov dword [esp + 8], edx
lea edx, [ebp - 0x204]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [ecx + 0xc]
sub esp, 0xc
mov ebx, eax
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7d3
xor eax, eax
cmp ebx, 0x80070057
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetCaps_with_invalid_hel_caps_size_returned_hr__lx__expected_INVALIDPARAMS._n
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7d4
mov eax, dword [ebp - 0x200]
mov dword [esp + 4], str.hw_caps.dwFlags_was_modified:__lx._n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7d5
mov eax, dword [ebp - 0x104]
mov dword [esp + 4], str.hel_caps.dwFlags_was_modified:__lx._n
cmp eax, 0xdeadc0de
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
mov eax, dword [esi + 0xc]
lea edx, [ebp - 0x108]
mov dword [ebp - 0x108], 0xfc
mov dword [ebp - 0x204], 0xfd
mov ecx, dword [eax]
mov dword [esp + 8], edx
lea edx, [ebp - 0x204]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [ecx + 0xc]
sub esp, 0xc
mov ebx, eax
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7d9
xor eax, eax
cmp ebx, 0x80070057
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetCaps_with_invalid_hw_caps_size_returned_hr__lx__expected_INVALIDPARAMS._n
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7da
mov eax, dword [ebp - 0x200]
mov dword [esp + 4], str.hw_caps.dwFlags_was_modified:__lx._n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7db
mov eax, dword [ebp - 0x104]
mov dword [esp + 4], str.hel_caps.dwFlags_was_modified:__lx._n
cmp eax, 0xdeadc0de
mov dword [esp + 8], eax
sete al
xor ebx, ebx
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
jmp 0x402d18
cmp ebx, 0xac
je 0x402e30
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7f7
xor eax, eax
cmp edi, 0x80070057
sete al
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.GetCaps_with_size__u_returned_hr__lx__expected_DDERR_INVALIDPARAMS._n
mov dword [esp], eax
call fcn.004019b0
cmp ebx, 0x400
je 0x402dbf
mov eax, 0xfefefefe
mov ecx, 0x3e
lea edi, [ebp - 0x200]
mov dword [ebp - 0x108], ebx
rep stosd dword es:[edi], eax
mov ecx, 0x3e
lea edi, [ebp - 0x104]
mov dword [ebp - 0x204], ebx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x108]
mov edx, dword [eax]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x204]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0xc
mov edi, eax
cmp ebx, 0xcc
je 0x402e9b
cmp ebx, 0xfc
jne 0x402cc8
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7f3
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.GetCaps_with_size__u_returned_hr__lx__expected_D3D_OK._n
mov dword [esp], eax
call fcn.004019b0
cmp ebx, 0x400
jne 0x402d18
mov dword [ebp - 0x204], 0xac
mov eax, dword [esi + 0xc]
lea esi, [ebp - 0x108]
mov dword [ebp - 0x108], 0xfc
mov edx, dword [eax]
mov dword [esp + 8], esi
lea esi, [ebp - 0x204]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0xc
mov ebx, eax
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x801
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.GetCaps_with_different_sizes_returned_hr__lx__expected_D3D_OK._n
mov dword [esp], eax
call fcn.004019b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7e7
mov eax, dword [ebp - 0x158]
mov dword [esp + 4], str.dwMinTextureWidth_was_modified:__lx._n
cmp eax, 0xfefefefe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7e9
mov eax, dword [ebp - 0x5c]
mov dword [esp + 4], str.dwMinTextureWidth_was_modified:__lx._n
cmp eax, 0xfefefefe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7ed
mov eax, dword [ebp - 0x138]
mov dword [esp + 4], str.dwMaxTextureRepeat_was_modified:__lx._n
cmp eax, 0xfefefefe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
call fcn.0054f6e0
mov dword [eax], 0x55c014
mov dword [eax + 4], 0x7ef
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], str.dwMaxTextureRepeat_was_modified:__lx._n
cmp eax, 0xfefefefe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004019b0
jmp 0x402d7f