MmAllocateIsrStack

UINT8 __stdcall MmAllocateIsrStack(PVOID *IsrStack, UINT16 NodeNumber){
  INT64 IndependentPages; 
  char *v4; 
  char *v6; 
  if( *IsrStack )
  {
    v6 = (char *)*IsrStack - 24576;
    if( MmSetPageProtection(v6, 0x6000ui64, 4ui64) )
    {
      v4 = v6 - 4096;
      goto LABEL_4;
    }
  }
  else
  {
    IndependentPages = MmAllocateIndependentPagesEx(0x7000ui64, NodeNumber, 0i64, 0i64);
    v4 = (char *)IndependentPages;
    if( IndependentPages )
    {
      *IsrStack = (PVOID)(IndependentPages + 28672);
LABEL_4:
      MiGetPteAddress(v4);
      MiMarkBootGuardPage();
      return 1;
    }
  }
  return 0;
}

Referenced by:

KeStartAllProcessors
KiStartDynamicProcessor