CmGetKCBCacheSecurity

LIST_ENTRY *__fastcall CmGetKCBCacheSecurity(LIST_ENTRY *a1, INT64 a2, INT64 a3){
  _LIST_ENTRY *Blink; 
  _LIST_ENTRY *v6; 
  __int64 v7; 
  __int64 v8; 
  _LIST_ENTRY *ListIterator; 
  Blink = a1[5].Blink;
  if( a2 )
  {
    ListIterator = 0i64;
    v6 = a1 + 13;
    while( 1 )
    {
      LODWORD(v7) = CmListGetPrevElement(v6, &ListIterator, a3);
      v8 = v7;
      if( !v7 )
        break;
      if( CmEqualTrans(*(_QWORD *)(v7 + 56), a2) && *(_DWORD *)(v8 + 68) == 9 )
        return *(LIST_ENTRY **)(v8 + 88);
    }
  }
  return Blink;
}

Referenced by:

CmpGetSecurityCacheEntryForKcbStack
CmpSetSecurityDescriptorInfo