MiGetInPageSupportBlock

void *__fastcall MiGetInPageSupportBlock(char a1){
  __int64 v2; 
  BOOL v3; 
  void *v4; 
  v2 = 16i64 * ((a1 & 1) == 0);
  v3 = (a1 & 1) == 0;
  v4 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)&MiState[v2 + 9232]);
  if( v4 || (v4 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)&MiState[v2 + 9264])) != 0i64 )
  {
LABEL_3:
    MiInitializeInPageSupport((__int64)v4, a1);
    return v4;
  }
  if( (a1 & 4) == 0 )
  {
    v4 = MiAllocateInPageSupportBlock(v3, 1ui64);
    if( !v4 )
      return v4;
    goto LABEL_3;
  }
  return 0i64;
}

Referenced by:

MiAllocateInPageSupport
MiCreateRotateView
MiGetReadyInPageBlock
MiMigratePfn
MiPfAllocateMdls
MiPfPutPagesInTransition
MiPrivateFixup