MiInitializeLargePageNodeLists
VOID __stdcall MiInitializeLargePageNodeLists(_MI_PARTITION *Partition){
_MI_FREE_LARGE_PAGE_LIST *LargePageListHeads;
unsigned int v2;
unsigned int v3;
_MI_PAGE_COLORS *p_PageColorTable;
unsigned int *v5;
__int64 v6;
_MI_PAGE_COLORS *v7;
__int64 v8;
_MI_FREE_LARGE_PAGE_LIST **v9;
__int64 v10;
__int64 v11;
__int64 v12;
__int64 v13;
LargePageListHeads = Partition->PageLists.LargePageListHeads;
v2 = 0;
v3 = 0;
if( *(&stru_140C4DB30 + 508) )
{
do
{
LargePageListHeads->ListHead.Blink = &LargePageListHeads->ListHead;
++v3;
LargePageListHeads->ListHead.Flink = &LargePageListHeads->ListHead;
++LargePageListHeads;
}
while( v3 < *(&stru_140C4DB30 + 508) );
LargePageListHeads = Partition->PageLists.LargePageListHeads;
}
if( KeNumberNodes )
{
p_PageColorTable = &Partition->Core.NodeInformation->PageColorTable;
do
{
v5 = (unsigned int *)((char *)&stru_140C4DB30 + 400);
v6 = 3i64;
v7 = p_PageColorTable - 236;
do
{
v8 = 2i64;
v9 = (_MI_FREE_LARGE_PAGE_LIST **)v7;
v10 = 24i64 * *v5;
do
{
v11 = 2i64;
do
{
v12 = 4i64;
do
{
v13 = 4i64;
do
{
*v9 = LargePageListHeads;
LargePageListHeads = (_MI_FREE_LARGE_PAGE_LIST *)((char *)LargePageListHeads + v10);
++v9;
--v13;
}
while( v13 );
--v12;
}
while( v12 );
--v11;
}
while( v11 );
--v8;
}
while( v8 );
++v5;
v7 += 67;
--v6;
}
while( v6 );
MiInitializeColorTable(p_PageColorTable, v2);
p_PageColorTable += 284;
++v2;
}
while( v2 < (unsigned __int16)KeNumberNodes );
}
}Referenced by:
MiInitializePartition