MiGetSlabAllocator

NTSTATUS __stdcall MiGetSlabAllocator(INT64 a1, INT64 a2, INT8 a3){
  int v4; 
  int v5; 

  v4 = a3 & 5;
  if( v4 == 4 || (v5 = 0, (_DWORD)a2) && v4 == 5 )
  {
    v5 = 3;
  }
  else if( (a3 & 2) == 0 )
  {
    if( (a3 & 1) != 0 )
    {
      if( (_DWORD)a2 || (MiFlags & 0x10000) != 0 )
        v5 = 1;
    }
    else
    {
      v5 = 2;
    }
  }
  return a1 + 120 * (v5 + 4 * a2) + 5184;
}

Referenced by:

MiCheckSlabPage
MiCreateKernelHalSlabRange
MiCreateSlabAllocationsFromLoaderBlock
MiGetSlabPage
MiPfPrepareReadList
MiPfPrepareSequentialReadList
MiPfPutPagesInTransition
MmUpdateSlabRangeProtection