PspJobIoRateControlDisable

UINT64 __stdcall PspJobIoRateControlDisable(_EJOB *Job, UINT64 a2){
  unsigned int v2; 
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *v6; 
  LIST_ENTRY P; 
  v2 = 0;
  if( Job->GlobalIoControl.IoControl )
  {
    PspIoRateEntryDeactivate((struct EX_RUNDOWN_REF *)&Job->GlobalIoControl);
    v2 = 1;
  }
  P.Blink = &P;
  P.Flink = &P;
  PspJobIoRateVolumeEntryRemoveAll(Job, &P);
  while( 1 )
  {
    Flink = P.Flink;
    if( P.Flink == &P )
      break;
    if( P.Flink->Blink != &P || (v6 = P.Flink->Flink, P.Flink->Flink->Blink != P.Flink) )
      __fastfail(3u);
    P.Flink = P.Flink->Flink;
    v6->Blink = &P;
    PspIoRateEntryDeactivate((struct EX_RUNDOWN_REF *)Flink);
    ExFreePoolWithTag(Flink, 0);
    ++v2;
  }
  return v2;
}

Referenced by:

PspJobDelete
PspSetJobIoRateControl