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