Function at 0x1001a8e0
Capabilities:
Inspect section memory permissions

Disassembly:
mov dx, word [0x10067ea8]
mov eax, dword [str.DDSCAPS2_]
mov ecx, dword [0x10067ea4]
mov word [0x10084980], dx
mov edx, dword [esp + 4]
mov dword [0x10084978], eax
mov dword [0x1008497c], ecx
test dl, 2
je 0x1001a940
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001a913
mov ecx, dword [str.RESERVED4]
mov dword [eax], ecx
mov ecx, dword [0x10067e98]
mov dword [eax + 4], ecx
mov cx, word [0x10067e9c]
mov word [eax + 8], cx
mov cl, byte [0x10067e9e]
mov byte [eax + 0xa], cl
test dl, 4
je 0x1001a97b
mov eax, 0x10084978
dec eax
jmp 0x1001a950
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001a950
mov ecx, dword [str.HINTDYNAMIC]
mov dword [eax], ecx
mov ecx, dword [0x10067e88]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067e8c]
mov dword [eax + 8], ecx
mov cl, byte [0x10067e90]
mov byte [eax + 0xc], cl
test dl, 8
je 0x1001a9a8
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001a986
mov ecx, dword [str.HINTSTATIC]
mov dword [eax], ecx
mov ecx, dword [0x10067e7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067e80]
mov dword [eax + 8], ecx
test dl, 0x10
je 0x1001a9e9
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001a9b3
mov ecx, dword [str.TEXTUREMANAGE]
mov dword [eax], ecx
mov ecx, dword [0x10067e6c]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067e70]
mov dword [eax + 8], ecx
mov cx, word [0x10067e74]
mov word [eax + 0xc], cx
mov cl, byte [0x10067e76]
mov byte [eax + 0xe], cl
test dl, 0x20
je 0x1001aa21
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001a9f4
mov ecx, dword [str.RESERVED1]
mov dword [eax], ecx
mov ecx, dword [0x10067cd0]
mov dword [eax + 4], ecx
mov cx, word [0x10067cd4]
mov word [eax + 8], cx
mov cl, byte [0x10067cd6]
mov byte [eax + 0xa], cl
test dl, 0x40
je 0x1001aa5d
mov eax, 0x10084978
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001aa30
mov ecx, dword [str.RESERVED2]
mov dword [eax], ecx
mov ecx, dword [0x10067bc8]
mov dword [eax + 4], ecx
mov cx, word [0x10067bcc]
mov word [eax + 8], cx
mov cl, byte [0x10067bce]
mov byte [eax + 0xa], cl
test dl, dl
jns 0x1001aa80
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001aa67
mov ecx, dword [str.OPAQUE]
mov dword [eax], ecx
mov ecx, dword [0x10067e64]
mov dword [eax + 4], ecx
test edx, 0x100
je 0x1001aac6
mov eax, 0x10084978
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001aa90
mov ecx, dword [str.HINTANTIALIASING]
mov dword [eax], ecx
mov ecx, dword [0x10067e50]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067e54]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067e58]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067e5c]
mov word [eax + 0x10], cx
test edx, 0x200
je 0x1001aaf6
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001aad4
mov ecx, dword [str.CUBEMAP]
mov dword [eax], ecx
mov ecx, dword [0x10067e44]
mov dword [eax + 4], ecx
mov cl, byte [0x10067e48]
mov byte [eax + 8], cl
test edx, 0x400
je 0x1001ab43
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ab04
mov ecx, dword [str.CUBEMAP_POSITIVEX]
mov dword [eax], ecx
mov ecx, dword [0x10067e30]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067e34]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067e38]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067e3c]
mov word [eax + 0x10], cx
mov cl, byte [0x10067e3e]
mov byte [eax + 0x12], cl
test edx, 0x800
je 0x1001ab90
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ab51
mov ecx, dword [str.CUBEMAP_NEGATIVEX]
mov dword [eax], ecx
mov ecx, dword [0x10067e1c]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067e20]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067e24]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067e28]
mov word [eax + 0x10], cx
mov cl, byte [0x10067e2a]
mov byte [eax + 0x12], cl
test edx, 0x1000
je 0x1001abdf
mov eax, 0x10084978
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001aba0
mov ecx, dword [str.CUBEMAP_POSITIVEY]
mov dword [eax], ecx
mov ecx, dword [0x10067e08]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067e0c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067e10]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067e14]
mov word [eax + 0x10], cx
mov cl, byte [0x10067e16]
mov byte [eax + 0x12], cl
test edx, 0x2000
je 0x1001ac2f
mov eax, 0x10084978
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001abf0
mov ecx, dword [str.CUBEMAP_NEGATIVEY]
mov dword [eax], ecx
mov ecx, dword [0x10067df4]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067df8]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067dfc]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067e00]
mov word [eax + 0x10], cx
mov cl, byte [0x10067e02]
mov byte [eax + 0x12], cl
test edx, 0x4000
je 0x1001ac7f
mov eax, 0x10084978
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ac40
mov ecx, dword [str.CUBEMAP_POSITIVEZ]
mov dword [eax], ecx
mov ecx, dword [0x10067de0]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067de4]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067de8]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067dec]
mov word [eax + 0x10], cx
mov cl, byte [0x10067dee]
mov byte [eax + 0x12], cl
test edx, 0x8000
je 0x1001accf
mov eax, 0x10084978
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ac90
mov ecx, dword [str.CUBEMAP_NEGATIVEZ]
mov dword [eax], ecx
mov ecx, dword [0x10067dcc]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067dd0]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067dd4]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067dd8]
mov word [eax + 0x10], cx
mov cl, byte [0x10067dda]
mov byte [eax + 0x12], cl
test edx, 0x10000
je 0x1001ad0b
mov eax, 0x10084978
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ace0
mov ecx, dword [str.MIPMAPSUBLEVEL]
mov dword [eax], ecx
mov ecx, dword [0x10067dbc]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067dc0]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067dc4]
mov dword [eax + 0xc], ecx
test edx, 0x20000
je 0x1001ad56
mov eax, 0x10084978
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ad20
mov ecx, dword [str.D3DTEXTUREMANAGE]
mov dword [eax], ecx
mov ecx, dword [0x10067da8]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067dac]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067db0]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067db4]
mov word [eax + 0x10], cx
test edx, 0x40000
je 0x1001ad91
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ad64
mov ecx, dword [str.DONOTPERSIST]
mov dword [eax], ecx
mov ecx, dword [0x10067d98]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067d9c]
mov dword [eax + 8], ecx
mov cx, word [0x10067da0]
mov word [eax + 0xc], cx
test edx, 0x80000
je 0x1001addf
mov eax, 0x10084978
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ada0
mov ecx, dword [str.STEREOSURFACELEFT]
mov dword [eax], ecx
mov ecx, dword [0x10067d84]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067d88]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067d8c]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067d90]
mov word [eax + 0x10], cx
mov cl, byte [0x10067d92]
mov byte [eax + 0x12], cl
test edx, 0x200000
je 0x1001ae09
mov eax, 0x10084978
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001adf0
mov ecx, dword [str.VOLUME]
mov dword [eax], ecx
mov ecx, dword [0x10067d7c]
mov dword [eax + 4], ecx
test edx, 0x400000
je 0x1001ae4b
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ae17
mov ecx, dword [str.NOTUSERLOCKABLE]
mov dword [eax], ecx
mov ecx, dword [0x10067d68]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067d6c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067d70]
mov dword [eax + 0xc], ecx
mov cl, byte [0x10067d74]
mov byte [eax + 0x10], cl
test edx, 0x800000
je 0x1001ae79
mov eax, 0x10084978
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ae60
mov ecx, dword [str.POINTS]
mov dword [eax], ecx
mov ecx, dword [0x10067d60]
mov dword [eax + 4], ecx
test edx, 0x1000000
je 0x1001aeb4
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001ae87
mov ecx, dword [str.RTPATCHES]
mov dword [eax], ecx
mov ecx, dword [0x10067d54]
mov dword [eax + 4], ecx
mov cx, word [0x10067d58]
mov word [eax + 8], cx
mov cl, byte [0x10067d5a]
mov byte [eax + 0xa], cl
test edx, 0x2000000
je 0x1001aee6
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001aec2
mov ecx, dword [str.NPATCHES]
mov dword [eax], ecx
mov ecx, dword [0x10067d48]
mov dword [eax + 4], ecx
mov cx, word [0x10067d4c]
mov word [eax + 8], cx
test edx, 0x4000000
je 0x1001af21
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001aef4
mov ecx, dword [str.RESERVED3]
mov dword [eax], ecx
mov ecx, dword [0x10067d3c]
mov dword [eax + 4], ecx
mov cx, word [0x10067d40]
mov word [eax + 8], cx
mov cl, byte [0x10067d42]
mov byte [eax + 0xa], cl
test edx, 0x10000000
je 0x1001af6f
mov eax, 0x10084978
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001af30
mov ecx, dword [str.DISCARDBACKBUFFER]
mov dword [eax], ecx
mov ecx, dword [0x10067d28]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067d2c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067d30]
mov dword [eax + 0xc], ecx
mov cx, word [0x10067d34]
mov word [eax + 0x10], cx
mov cl, byte [0x10067d36]
mov byte [eax + 0x12], cl
test edx, 0x20000000
je 0x1001afb4
mov eax, 0x10084978
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001af80
mov ecx, dword [str.ENABLEALPHACHANNEL]
mov dword [eax], ecx
mov ecx, dword [0x10067d14]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067d18]
mov dword [eax + 8], ecx
mov ecx, dword [0x10067d1c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x10067d20]
mov dword [eax + 0x10], ecx
test edx, 0x40000000
je 0x1001afdd
push esi
push edi
mov edi, 0x10084978
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1001afc4
mov ecx, 5
mov esi, str.EXTENDEDFORMATPRIMARY
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
test edx, edx
jns 0x1001b026
mov eax, 0x10084978
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1001afe7
mov edx, dword [str.ADDITIONALPRIMARY]
mov ecx, dword [0x10067ce8]
mov dword [eax], edx
mov edx, dword [0x10067cec]
mov dword [eax + 4], ecx
mov ecx, dword [0x10067cf0]
mov dword [eax + 8], edx
mov dx, word [0x10067cf4]
mov dword [eax + 0xc], ecx
mov cl, byte [0x10067cf6]
mov word [eax + 0x10], dx
mov byte [eax + 0x12], cl
mov eax, 0x10084978
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1001b030
sub eax, edx
cmp eax, 9
jbe 0x1001b04a
mov byte [eax + 0x10084977], cl
mov eax, 0x10084978
ret
mov byte [0x10084978], 0
mov eax, 0x10084978
ret