KiPrepareFlushCurrentAffinity

UINT64 __fastcall KiPrepareFlushCurrentAffinity(_DWORD *a1){
  struct _KPRCB *CurrentPrcb; 
  UINT64 result; 
  __int64 v4; 
  __int64 v5; 
  CurrentPrcb = KeGetCurrentPrcb();
  a1[1] = 0;
  *a1 = 1310721;
  result = memset((INT64)(a1 + 2), 0i64);
  v4 = *((unsigned __int8 *)CurrentPrcb + 208);
  v5 = *((_QWORD *)CurrentPrcb + 25);
  if( *(_WORD *)a1 <= (unsigned __int16)v4 )
  {
    result = (unsigned int)(v4 + 1);
    *(_WORD *)a1 = v4 + 1;
  }
  *(_QWORD *)&a1[2 * v4 + 2] |= v5;
  return result;
}

Referenced by:

KeFlushMultipleRangeCurrentTb
KeFlushSingleCurrentTb