MiProcessWsInSwapRanges

void __fastcall MiProcessWsInSwapRanges(char **a1, unsigned __int64 a2, char a3){
  unsigned int v6; 
  int v7; 
  INT64 v8; 
  _ETHREAD *CurrentThread; 

  v6 = 4157;
  v7 = a3 & 2;
  if( (a3 & 2) != 0 )
  {
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
    v6 = 13117;
    --CurrentThread->Tcb.SpecialApcDisable;
  }
  v8 = v6;
  LODWORD(v8) = v6 | 0x20000;
  if( (a3 & 4) == 0 )
    v8 = v6;
  MmPrefetchVirtualMemory(
    (CHAR *)-(__int64)((unsigned __int64)*a1 < 0xFFFF800000000000ui64),
    ((__int64)(a2 - (_QWORD)a1) >> 4) + 1,
    (INT64)a1,
    v8);
  if( v7 )
    KiLeaveGuardedRegionUnsafe((__int64)KeGetCurrentThread());
  if( (a3 & 1) == 0 )
    MiReleaseOutSwapReservations(a1, a2);
}

Referenced by:

MiProcessWsInSwapSupport