KiPrepareFlushCurrentAffinity

unsigned __int64 __fastcall KiPrepareFlushCurrentAffinity(_DWORD *a1){
  struct _KPRCB *CurrentPrcb; 
  unsigned __int64 result; 
  __int64 Group; 
  unsigned __int64 GroupSetMember; 

  CurrentPrcb = KeGetCurrentPrcb();
  a1[1] = 0;
  *a1 = 1310721;
  result = (unsigned __int64)memset(a1 + 2, 0i64, 0xA0u);
  Group = CurrentPrcb->Group;
  GroupSetMember = CurrentPrcb->GroupSetMember;
  if( *(_WORD *)a1 <= (unsigned __int16)Group )
  {
    result = (unsigned int)(Group + 1);
    *(_WORD *)a1 = Group + 1;
  }
  *(_QWORD *)&a1[2 * Group + 2] |= GroupSetMember;
  return result;
}

Referenced by:

KeFlushMultipleRangeCurrentTb
KeFlushSingleCurrentTb