PspJobIoRateQueryHistory

__int64 __fastcall PspJobIoRateQueryHistory(__int64 a1, _QWORD *a2, _DWORD *a3, _DWORD *a4){
  __int64 v8; 
  __int64 v9; 
  unsigned int v10; 
  INT64 *v12; 
  unsigned __int8 v13; 
  int v14; 
  unsigned __int64 v15; 
  int v16; 
  int v17; 

  if( !*(_QWORD *)(a1 + 1440) )
  {
    v8 = a1 + 1464;
    v9 = *(_QWORD *)v8;
    if( (*(_BYTE *)(v8 + 8) & 1) != 0 )
    {
      if( !v9 )
        return(unsigned int)-1073741275;
      v9 ^= v8;
    }
    if( !v9 )
      return(unsigned int)-1073741275;
  }
  v12 = (INT64 *)(a1 + 1456);
  v13 = ExAcquireSpinLockExclusive((INT64 *)(a1 + 1456));
  v14 = *(_DWORD *)(a1 + 1496);
  v15 = v13;
  if( v14 )
  {
    v16 = *(_DWORD *)(a1 + 1488);
    *a2 = *(_QWORD *)(a1 + 1480);
    v17 = v16 - *(_DWORD *)(a1 + 1492);
    *(_DWORD *)(a1 + 1492) = v16;
    v10 = 0;
    *a4 = v17;
    *a3 = v14;
  }
  else
  {
    v10 = -1073741275;
  }
  ExReleaseSpinLockExclusiveFromDpcLevel(v12);
  __writecr8(v15);
  return v10;
}

Referenced by:

PspQueryRateControlHistory