AuthzBasepRemoveSecurityAttributeFromLists
VOID __stdcall AuthzBasepRemoveSecurityAttributeFromLists(DEVICE_OBJECT *DeviceObject){
__int64 *v1;
char v2;
char v3;
char v4;
__int64 *v5;
__int64 **v6;
__int64 v7;
__int64 **v8;
v4 = v2;
if( v3 && (v1[7] & 2) != 0 )
{
v7 = v1[2];
if( *(__int64 **)(v7 + 8) != v1 + 2 )
goto LABEL_9;
v8 = (__int64 **)v1[3];
if( *v8 != v1 + 2 )
goto LABEL_9;
*v8 = (__int64 *)v7;
*(_QWORD *)(v7 + 8) = v8;
*((_DWORD *)v1 + 14) &= ~2u;
if( DeviceObject )
--*((_DWORD *)DeviceObject + 6);
}
if( v4 && (v1[7] & 1) != 0 )
{
v5 = (__int64 *)*v1;
if( *(__int64 **)(*v1 + 8) == v1 )
{
v6 = (__int64 **)v1[1];
if( *v6 == v1 )
{
*v6 = v5;
v5[1] = (__int64)v6;
*((_DWORD *)v1 + 14) &= ~1u;
if( DeviceObject )
--*(_DWORD *)DeviceObject;
return;
}
}
LABEL_9:
__fastfail(3u);
}
}Referenced by:
AuthzBasepCommitSecurityAttributeChanges
AuthzBasepDeleteSecurityAttribute
AuthzBasepRollbackSecurityAttributeChanges