MiWakeLargePageRebuild

NTSTATUS __stdcall MiWakeLargePageRebuild(
        _MI_PARTITION *Partition,
        UINT64 NodeNumber,
        UINT64 Flags,
        UINT64 SequenceNumber,
        UINT64 *RebuildActivated){
  __int64 v5; 
  _MI_REBUILD_LARGE_PAGE_TIMER *p_LargePageRebuildTimer; 
  unsigned __int8 v7; 
  unsigned __int64 v8; 
  _BYTE *v9; 
  NTSTATUS v10; 

  if( (Partition->Core.u.LongFlags & 0x20) != 0 )
    return 1;
  v5 = (unsigned int)NodeNumber;
  p_LargePageRebuildTimer = &Partition->Core.NodeInformation[(unsigned int)NodeNumber].LargePageRebuildTimer;
  if( p_LargePageRebuildTimer->RebuildActive || p_LargePageRebuildTimer->NextPassDelta != 8 && (Flags & 1) == 0 )
    return 1;
  v7 = PsReferencePartitionSafe((INT64)Partition->Core.PartitionObject);
  v10 = v7;
  if( v7 == 1 )
  {
    v9[33] = v7;
    *(_QWORD *)v9 = 0i64;
    *((_QWORD *)v9 + 2) = MiRebuildLargePages;
    *((_QWORD *)v9 + 3) = (v5 << 53) | (v8 >> 4) & 0x1FFFFFFFFFFFFFi64;
    ExQueueWorkItemToPartition(v9);
  }
  return v10;
}

Referenced by:

MiSignalLargePageRebuild
MiUnlinkNodeLargePageHelper