ExpFastResourceLegacyRelease

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

Referenced by:

CcUnpinFileDataEx
ExReleaseResourceAndLeaveCriticalRegion
ExReleaseResourceForThreadLite
ExReleaseResourceLite