KiAbProcessThreadPriorityModification

void __fastcall KiAbProcessThreadPriorityModification(__int64 a1, char a2, int a3){
  _KPRCB *CurrentPrcb; 
  _QWORD *v4; 
  __int64 v5; 
  _QWORD *v6; 
  CurrentPrcb = KeGetCurrentPrcb();
  if( a3 )
  {
    if( a3 == 1 && a2 > *(char *)(a1 + 195) )
    {
      if( *(_BYTE *)(a1 + 793) )
      {
        v4 = (_QWORD *)(a1 + 808);
        if( *(_QWORD *)(a1 + 808) == 1i64 )
        {
          v5 = 34680i64;
LABEL_7:
          v6 = (_QWORD *)((char *)CurrentPrcb + v5);
          if( (_KPRCB *)((char *)CurrentPrcb + v5) )
          {
            *v4 = *v6;
            *v6 = v4;
            _InterlockedIncrement16((volatile signed __int16 *)(a1 + 868));
            KiAbQueueAutoBoostDpc(CurrentPrcb);
          }
        }
      }
    }
  }
  else if( a2 < *(char *)(a1 + 563) )
  {
    if( *(_BYTE *)(a1 + 871) )
    {
      v4 = (_QWORD *)(a1 + 816);
      if( *(_QWORD *)(a1 + 816) == 1i64 )
      {
        v5 = 34672i64;
        goto LABEL_7;
      }
    }
  }
}

Referenced by:

KiDirectSwitchThread