MmDoesFileHaveUserWritableReferences

VOID __fastcall MmDoesFileHaveUserWritableReferences(_SECTION_OBJECT_POINTERS *FsSectionPointer, _BYTE *a2){
  UINT8 CurrentIrql; 
  INT64 *DataSectionObject; 
  while( 1 )
  {
    CurrentIrql = KeGetCurrentIrql();
    __writecr8(2ui64);
    ExpAcquireSpinLockExclusive((INT64 *)&dword_140C4C6C0, CurrentIrql);
    DataSectionObject = (INT64 *)FsSectionPointer->DataSectionObject;
    if( !FsSectionPointer->DataSectionObject )
    {
      ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4C6C0);
      __writecr8(CurrentIrql);
      return;
    }
    if( (unsigned int)ExTryAcquireSpinLockExclusiveAtDpcLevel(DataSectionObject + 9) )
      break;
    ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4C6C0);
    __writecr8(CurrentIrql);
  }
  ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4C6C0);
  MiDoesControlAreaHaveUserWritableReferences((INT64)DataSectionObject);
  ExReleaseSpinLockExclusiveFromDpcLevel(DataSectionObject + 9);
  __writecr8(CurrentIrql);
}

Referenced by:

No references.