MmCanFileBeTruncated

INT8 __fastcall MmCanFileBeTruncated(INT64 *a1, UINT64 *p_NewFileSize){
  _LARGE_INTEGER v2; 
  _CONTROL_AREA *v3; 
  UINT8 v4; 
  UINT8 EntryIrql; 
  _LARGE_INTEGER NewFileSize; 

  NewFileSize.QuadPart = 0i64;
  EntryIrql = 0;
  if( p_NewFileSize )
  {
    v2.QuadPart = *p_NewFileSize;
    p_NewFileSize = (UINT64 *)&NewFileSize;
    NewFileSize = v2;
  }
  v3 = MiCanFileBeTruncatedInternal(
         (_MI_SECTION_OBJECT_POINTERS *)a1,
         (_LARGE_INTEGER *)p_NewFileSize,
         0i64,
         0i64,
         &EntryIrql);
  v4 = EntryIrql;
  if( EntryIrql == 17 )
    return 0;
  if( v3 )
  {
    ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&v3->ControlAreaLock);
    __writecr8(v4);
  }
  return 1;
}

Referenced by:

CcPurgeCacheSection