ObDeleteCapturedInsertInfo

VOID __stdcall ObDeleteCapturedInsertInfo(PVOID Object){
  __int64 v2; 
  void *v3; 
  struct _KPRCB *CurrentPrcb; 
  __int64 v5; 
  if( (*((char *)Object - 21) & 1) != 0 )
  {
    v2 = *((_QWORD *)Object - 2);
    if( v2 )
    {
      v3 = *(void **)(v2 + 32);
      if( v3 )
      {
        SeReleaseSecurityDescriptor(v3, *(_BYTE *)(v2 + 16), 1u);
        *(_QWORD *)(*((_QWORD *)Object - 2) + 32i64) = 0i64;
        v2 = *((_QWORD *)Object - 2);
      }
      CurrentPrcb = KeGetCurrentPrcb();
      v5 = *((_QWORD *)CurrentPrcb + 264);
      ++*(_DWORD *)(v5 + 28);
      if( *(_WORD *)v5 < *(_WORD *)(v5 + 16)
        || (++*(_DWORD *)(v5 + 32),
            v5 = *((_QWORD *)CurrentPrcb + 265),
            ++*(_DWORD *)(v5 + 28),
            *(_WORD *)v5 < *(_WORD *)(v5 + 16)) )
      {
        RtlpInterlockedPushEntrySList((PSLIST_HEADER)v5, (PSLIST_ENTRY)v2);
      }
      else
      {
        ++*(_DWORD *)(v5 + 32);
        (*(void(__fastcall **)(__int64))(v5 + 56))(v2);
      }
      *((_QWORD *)Object - 2) = 0i64;
    }
  }
}

Referenced by:

CcInitializeCacheMapEx
CmLoadDifferencingKey