IoEnableIrpCredits

UINT64 __stdcall IoEnableIrpCredits(){
  INT64 v0; 
  UINT64 result; 
  unsigned int v2; 
  int v3; 
  _KPRCB **v4; 
  __int128 v5; 
  __int128 v6; 
  result = (unsigned int)IopIrpCreditsEnabled;
  v5 = 0i64;
  v6 = 0i64;
  if( IopIrpCreditsEnabled < 1 )
  {
    result = (unsigned int)_InterlockedCompareExchange(&IopIrpCreditsEnabled, 1, 0);
    if( !(_DWORD)result )
    {
      IopQueryProcessorInitValues((__int64)&v5, v0);
      KeSynchronizeWithDynamicProcessors();
      result = KeQueryActiveProcessorCountEx(0xFFFFu);
      v2 = 0;
      if( (_DWORD)result )
      {
        v3 = HIDWORD(v6);
        v4 = &KiProcessorBlock;
        do
        {
          if( *((_DWORD *)*v4 + 2919) != 0x7FFFFFFF )
            break;
          ++v2;
          *((_DWORD *)*v4++ + 2919) = v3;
        }
        while( v2 < (unsigned int)result );
      }
      _InterlockedAdd(&IopIrpCreditsEnabled, 1u);
    }
  }
  return result;
}

Referenced by:

PspInitializeQuotaBlock