ExpFastResourceLegacyRelease

NTSTATUS __stdcall ExpFastResourceLegacyRelease(PVOID BugCheckParameter1){
  _ETHREAD *CurrentThread; 
  unsigned __int8 CurrentIrql; 
  INT64 *FastOwnerEntryForThread; 
  INT64 *v5; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  CurrentIrql = KeGetCurrentIrql();
  __writecr8(2ui64);
  FastOwnerEntryForThread = ExpFindFastOwnerEntryForThread((INT64)CurrentThread, (INT64)BugCheckParameter1, 0, 1);
  v5 = FastOwnerEntryForThread;
  if( !FastOwnerEntryForThread )
    KeBugCheckEx(0xE3u, BugCheckParameter1, CurrentThread, 0i64, 0i64);
  *((_BYTE *)FastOwnerEntryForThread + 17) &= ~2u;
  __writecr8(CurrentIrql);
  ExReleaseFastResource((ULONG_PTR)BugCheckParameter1, (ULONG_PTR)FastOwnerEntryForThread);
  return(unsigned int)ExFreePoolWithTag(v5, 0);
}

Referenced by:

CcUnpinFileDataEx
ExReleaseResourceAndLeaveCriticalRegion
ExReleaseResourceForThreadLite
ExReleaseResourceLite