KiAddProcessorToGroupSchedulingList

void __fastcall KiAddProcessorToGroupSchedulingList(__int64 a1, _QWORD **a2, unsigned int a3){
  _QWORD **v3; 
  __int64 v7; 
  __int64 v8; 
  __int64 **v9; 
  __int64 *v10; 
  _QWORD **v11; 

  v3 = (_QWORD **)*a2;
  if( *a2 != a2 )
  {
    v7 = 53i64 * a3;
    v8 = a1 + 33288;
    do
    {
      v9 = *(__int64 ***)(v8 + 8);
      v10 = (__int64 *)&v3[v7 + 18];
      if( *v9 != (__int64 *)v8 )
        __fastfail(3u);
      *v10 = v8;
      v11 = v3 + 3;
      v10[1] = (__int64)v9;
      *v9 = v10;
      *(_QWORD *)(v8 + 8) = v10;
      if( *v11 != v11 )
        KiAddProcessorToGroupSchedulingList(a1, v11, a3);
      v3 = (_QWORD **)*v3;
    }
    while( v3 != a2 );
  }
}

Referenced by:

KiAddProcessorToGroupSchedulingDatabase
KiAddProcessorToGroupSchedulingList