MiGetFreeZeroLargePages

INT64 __fastcall MiGetFreeZeroLargePages(
        INT64 a1,
        UINT64 a2,
        INT64 a3,
        INT64 a4,
        UINT64 a5,
        INT64 a6,
        INT64 a7,
        INT64 a8){
  __int128 *v9; 
  INT64 v11; 
  INT64 v12; 
  INT64 v13; 
  __int128 v14; 
  v14 = 0i64;
  if( (_DWORD)a2 == 2 )
  {
    DWORD2(v14) = a6;
    v9 = &v14;
  }
  else
  {
    v9 = (__int128 *)(4544i64 * (unsigned int)a5 + *(_QWORD *)(a1 + 16) + 4336i64);
  }
  LODWORD(v13) = a4 | 2;
  LODWORD(v12) = a8;
  LODWORD(v11) = a7;
  return MiUnlinkNodeLargePages(a1, a2, a3, (unsigned int)a5, v11, v12, (INT64)v9, v13, 0i64);
}

Referenced by:

MiDemoteLocalLargePage
MiFindLargeNodePage
MiGetLargePage
MiGetLargePagesDemoteAsNeeded