PopPepCancelActivityRange

VOID __fastcall PopPepCancelActivityRange(INT64 a1, INT64 a2, INT64 a3, INT64 a4, volatile INT32 *a5){
  int **v5; 
  _DWORD *v6; 
  __int64 v7; 
  int *v8; 
  int v9; 
  if( (int)a3 <= (int)a4 )
  {
    v5 = (int **)(a1 + 8i64 * (int)a3);
    v6 = (_DWORD *)&qword_140002958[17 * (int)a2] + (int)a3;
    v7 = (unsigned int)(a4 - a3 + 1);
    do
    {
      if( *v6 )
      {
        v8 = *v5;
        v9 = **v5;
        if( (*v6 & v9) != 0 )
        {
          if( (v9 & 2) != 0 )
          {
            _InterlockedDecrement(a5);
            v8 = *v5;
          }
          *v8 &= 0xFFFFFFFC;
        }
      }
      ++v6;
      ++v5;
      --v7;
    }
    while( v7 );
  }
}

Referenced by:

PopPepCancelActivities
PopPepUpdateConstraints