Function at 0x1001ba00
Capabilities:
Inspect section memory permissions

Disassembly:
mov dl, byte [0x100682ec]
mov eax, dword [str.DDCAPS2_]
mov ecx, dword [0x100682e8]
mov byte [0x10084d80], dl
mov edx, dword [esp + 4]
mov dword [0x10084d78], eax
mov dword [0x10084d7c], ecx
test dl, 1
je 0x1001ba5e
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ba31
mov ecx, dword [str.CERTIFIED]
mov dword [eax], ecx
mov ecx, dword [0x100682dc]
mov dword [eax + 4], ecx
mov cx, word [0x100682e0]
mov word [eax + 8], cx
mov cl, byte [0x100682e2]
mov byte [eax + 0xa], cl
test dl, 2
je 0x1001baaf
mov eax, 0x10084d78
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ba70
mov ecx, dword [str.NO2DDURING3DSCENE]
mov dword [eax], ecx
mov ecx, dword [0x100682c8]
mov dword [eax + 4], ecx
mov ecx, dword [0x100682cc]
mov dword [eax + 8], ecx
mov ecx, dword [0x100682d0]
mov dword [eax + 0xc], ecx
mov cx, word [0x100682d4]
mov word [eax + 0x10], cx
mov cl, byte [0x100682d6]
mov byte [eax + 0x12], cl
test dl, 4
je 0x1001baed
mov eax, 0x10084d78
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bac0
mov ecx, dword [str.VIDEOPORT]
mov dword [eax], ecx
mov ecx, dword [0x10067bac]
mov dword [eax + 4], ecx
mov cx, word [0x10067bb0]
mov word [eax + 8], cx
mov cl, byte [0x10067bb2]
mov byte [eax + 0xa], cl
test dl, 8
je 0x1001bb2c
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001baf8
mov ecx, dword [str.AUTOFLIPOVERLAY]
mov dword [eax], ecx
mov ecx, dword [0x100682b4]
mov dword [eax + 4], ecx
mov ecx, dword [0x100682b8]
mov dword [eax + 8], ecx
mov ecx, dword [0x100682bc]
mov dword [eax + 0xc], ecx
mov cl, byte [0x100682c0]
mov byte [eax + 0x10], cl
test dl, 0x10
je 0x1001bb76
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bb37
mov ecx, dword [str.CANBOBINTERLEAVED]
mov dword [eax], ecx
mov ecx, dword [0x100682a0]
mov dword [eax + 4], ecx
mov ecx, dword [0x100682a4]
mov dword [eax + 8], ecx
mov ecx, dword [0x100682a8]
mov dword [eax + 0xc], ecx
mov cx, word [0x100682ac]
mov word [eax + 0x10], cx
mov cl, byte [0x100682ae]
mov byte [eax + 0x12], cl
test dl, 0x20
je 0x1001bbc0
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bb81
mov ecx, dword [str.CANBOBNONINTERLEAVED]
mov dword [eax], ecx
mov ecx, dword [0x10068288]
mov dword [eax + 4], ecx
mov ecx, dword [0x1006828c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068290]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x10068294]
mov dword [eax + 0x10], ecx
mov cx, word [0x10068298]
mov word [eax + 0x14], cx
test dl, 0x40
je 0x1001bc0d
mov eax, 0x10084d78
dec eax
jmp 0x1001bbd0
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bbd0
mov ecx, dword [str.COLORCONTROLOVERLAY]
mov dword [eax], ecx
mov ecx, dword [0x10068270]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068274]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068278]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x1006827c]
mov dword [eax + 0x10], ecx
mov cl, byte [0x10068280]
mov byte [eax + 0x14], cl
test dl, dl
jns 0x1001bc54
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bc17
mov ecx, dword [str.COLORCONTROLPRIMARY]
mov dword [eax], ecx
mov ecx, dword [0x10068258]
mov dword [eax + 4], ecx
mov ecx, dword [0x1006825c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068260]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x10068264]
mov dword [eax + 0x10], ecx
mov cl, byte [0x10068268]
mov byte [eax + 0x14], cl
test edx, 0x100
je 0x1001bc98
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bc62
mov ecx, dword [str.CANDROPZ16BIT]
mov dword [eax], ecx
mov ecx, dword [0x10068248]
mov dword [eax + 4], ecx
mov ecx, dword [0x1006824c]
mov dword [eax + 8], ecx
mov cx, word [0x10068250]
mov word [eax + 0xc], cx
mov cl, byte [0x10068252]
mov byte [eax + 0xe], cl
test edx, 0x200
je 0x1001bcd1
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bca6
mov ecx, dword [str.NONLOCALVIDMEM]
mov dword [eax], ecx
mov ecx, dword [0x10067b8c]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067b90]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067b94]
mov dword [eax + 0xc], ecx
test edx, 0x400
je 0x1001bd14
mov eax, 0x10084d78
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bce0
mov ecx, dword [str.NONLOCALVIDMEMCAPS]
mov dword [eax], ecx
mov ecx, dword [0x10068234]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068238]
mov dword [eax + 8], ecx
mov ecx, dword [0x1006823c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x10068240]
mov dword [eax + 0x10], ecx
test edx, 0x800
je 0x1001bd56
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bd22
mov ecx, dword [str.NOPAGELOCKREQUIRED]
mov dword [eax], ecx
mov ecx, dword [0x10068220]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068224]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068228]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x1006822c]
mov dword [eax + 0x10], ecx
test edx, 0x1000
je 0x1001bd91
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bd64
mov ecx, dword [str.WIDESURFACES]
mov dword [eax], ecx
mov ecx, dword [0x10068210]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068214]
mov dword [eax + 8], ecx
mov cx, word [0x10068218]
mov word [eax + 0xc], cx
test edx, 0x2000
je 0x1001bdcb
mov eax, 0x10084d78
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bda0
mov ecx, dword [str.CANFLIPODDEVEN]
mov dword [eax], ecx
mov ecx, dword [0x10068200]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068204]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068208]
mov dword [eax + 0xc], ecx
test edx, 0x4000
je 0x1001be0b
mov eax, 0x10084d78
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bde0
mov ecx, dword [str.CANBOBHARDWARE]
mov dword [eax], ecx
mov ecx, dword [0x100681f0]
mov dword [eax + 4], ecx
mov ecx, dword [0x100681f4]
mov dword [eax + 8], ecx
mov ecx, dword [0x100681f8]
mov dword [eax + 0xc], ecx
test edx, 0x8000
je 0x1001be42
mov eax, 0x10084d78
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001be20
mov ecx, dword [str.COPYFOURCC]
mov dword [eax], ecx
mov ecx, dword [0x100681e4]
mov dword [eax + 4], ecx
mov ecx, dword [0x100681e8]
mov dword [eax + 8], ecx
test edx, 0x20000
je 0x1001be7d
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001be50
mov ecx, dword [str.PRIMARYGAMMA]
mov dword [eax], ecx
mov ecx, dword [0x100681d4]
mov dword [eax + 4], ecx
mov ecx, dword [0x100681d8]
mov dword [eax + 8], ecx
mov cx, word [0x100681dc]
mov word [eax + 0xc], cx
test edx, 0x80000
je 0x1001becf
mov eax, 0x10084d78
dec eax
jmp 0x1001be90
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001be90
mov ecx, dword [str.CANRENDERWINDOWED]
mov dword [eax], ecx
mov ecx, dword [0x100681c0]
mov dword [eax + 4], ecx
mov ecx, dword [0x100681c4]
mov dword [eax + 8], ecx
mov ecx, dword [0x100681c8]
mov dword [eax + 0xc], ecx
mov cx, word [0x100681cc]
mov word [eax + 0x10], cx
mov cl, byte [0x100681ce]
mov byte [eax + 0x12], cl
test edx, 0x100000
je 0x1001bf1f
mov eax, 0x10084d78
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bee0
mov ecx, dword [str.CANCALIBRATEGAMMA]
mov dword [eax], ecx
mov ecx, dword [0x100681ac]
mov dword [eax + 4], ecx
mov ecx, dword [0x100681b0]
mov dword [eax + 8], ecx
mov ecx, dword [0x100681b4]
mov dword [eax + 0xc], ecx
mov cx, word [0x100681b8]
mov word [eax + 0x10], cx
mov cl, byte [0x100681ba]
mov byte [eax + 0x12], cl
test edx, 0x200000
je 0x1001bf5d
mov eax, 0x10084d78
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bf30
mov ecx, dword [str.FLIPINTERVAL]
mov dword [eax], ecx
mov ecx, dword [0x1006819c]
mov dword [eax + 4], ecx
mov ecx, dword [0x100681a0]
mov dword [eax + 8], ecx
mov cx, word [0x100681a4]
mov word [eax + 0xc], cx
test edx, 0x400000
je 0x1001bf9b
mov eax, 0x10084d78
dec eax
jmp 0x1001bf70
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bf70
mov ecx, dword [str.FLIPNOVSYNC]
mov dword [eax], ecx
mov ecx, dword [0x1006818c]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068190]
mov dword [eax + 8], ecx
mov cl, byte [0x10068194]
mov byte [eax + 0xc], cl
test edx, 0x800000
je 0x1001bfe6
mov eax, 0x10084d78
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bfb0
mov ecx, dword [str.CANMANAGETEXTURE]
mov dword [eax], ecx
mov ecx, dword [0x10068178]
mov dword [eax + 4], ecx
mov ecx, dword [0x1006817c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068180]
mov dword [eax + 0xc], ecx
mov cx, word [0x10068184]
mov word [eax + 0x10], cx
test edx, 0x1000000
je 0x1001c031
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001bff4
mov ecx, dword [str.TEXMANINNONLOCALVIDMEM]
mov dword [eax], ecx
mov ecx, dword [0x10068160]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068164]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068168]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x1006816c]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x10068170]
mov dword [eax + 0x14], ecx
test edx, 0x2000000
je 0x1001c059
mov eax, 0x10084d78
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001c040
mov ecx, dword [str.STEREO]
mov dword [eax], ecx
mov ecx, dword [0x10068158]
mov dword [eax + 4], ecx
test edx, 0x4000000
je 0x1001c087
push esi
push edi
mov edi, 0x10084d78
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1001c070
mov ecx, 7
mov esi, str.SYSTONONLOCAL_AS_SYSTOLOCAL
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
test edx, 0x8000000
je 0x1001c0d4
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001c095
mov ecx, dword [str.RESERVED1_PUREHAL]
mov dword [eax], ecx
mov ecx, dword [0x10068124]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068128]
mov dword [eax + 8], ecx
mov ecx, dword [0x1006812c]
mov dword [eax + 0xc], ecx
mov cx, word [0x10068130]
mov word [eax + 0x10], cx
mov cl, byte [0x10068132]
mov byte [eax + 0x12], cl
test edx, 0x10000000
je 0x1001c121
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001c0e2
mov ecx, dword [str.CANMANAGERESOURCE]
mov dword [eax], ecx
mov ecx, dword [0x10068110]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068114]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068118]
mov dword [eax + 0xc], ecx
mov cx, word [0x1006811c]
mov word [eax + 0x10], cx
mov cl, byte [0x1006811e]
mov byte [eax + 0x12], cl
test edx, 0x20000000
je 0x1001c164
mov eax, 0x10084d78
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001c130
mov ecx, dword [str.DYNAMICTEXTURES]
mov dword [eax], ecx
mov ecx, dword [0x100680fc]
mov dword [eax + 4], ecx
mov ecx, dword [0x10068100]
mov dword [eax + 8], ecx
mov ecx, dword [0x10068104]
mov dword [eax + 0xc], ecx
mov cl, byte [0x10068108]
mov byte [eax + 0x10], cl
test edx, 0x40000000
je 0x1001c1a8
mov eax, 0x10084d78
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001c172
mov edx, dword [str.CANAUTOGENMIPMAP]
mov ecx, dword [0x100680e8]
mov dword [eax], edx
mov edx, dword [0x100680ec]
mov dword [eax + 4], ecx
mov ecx, dword [0x100680f0]
mov dword [eax + 8], edx
mov dx, word [0x100680f4]
mov dword [eax + 0xc], ecx
mov word [eax + 0x10], dx
mov eax, 0x10084d78
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1001c1b0
sub eax, edx
cmp eax, 8
jbe 0x1001c1ca
mov byte [eax + 0x10084d77], cl
mov eax, 0x10084d78
ret
mov byte [0x10084d78], 0
mov eax, 0x10084d78
ret