PopMarkComponentsBootPhase

VOID __stdcall PopMarkComponentsBootPhase(_POP_HIBER_CONTEXT *HiberContext){
  PVOID *i; 
  char v3; 
  char v4; 
  PSLIST_ENTRY j; 
  INT64 v6; 
  UINT64 v7; 
  unsigned int k; 
  _QWORD *v9; 
  PVOID *m; 
  UINT64 Tag; 
  UINT64 Tagb; 
  UINT64 Taga; 
  if( !byte_140C23481 )
  {
    LODWORD(Tag) = 1852990795;
    PoSetHiberRange(0i64, 0x10000ui64, PopSaveHiberContext, 0i64, Tag);
    LODWORD(Tagb) = 1665687916;
    PoSetHiberRange(0i64, 0x10000ui64, HalAllocateCrashDumpRegisters, 0i64, Tagb);
    for( i = (PVOID *)PsLoadedModuleList; i != &PsLoadedModuleList; i = (PVOID *)*i )
    {
      LODWORD(Taga) = 1852990795;
      PoSetHiberRange(0i64, 0x10000ui64, i, 0xA0ui64, Taga);
      MmIsAddressValid(i[12]);
      if( v3 )
      {
        LODWORD(Taga) = 1852990795;
        PoSetHiberRange(0i64, 0x10000ui64, i[12], *((unsigned __int16 *)i + 45), Taga);
      }
      MmIsAddressValid(i[10]);
      if( v4 )
      {
        LODWORD(Taga) = 1852990795;
        PoSetHiberRange(0i64, 0x10000ui64, i[10], *((unsigned __int16 *)i + 37), Taga);
      }
    }
    for( j = FirstEntrySList((PSLIST_HEADER)&xmmword_140C503E0); j; j = j->Next )
      KeMarkHiberPhase(*((KPCR **)&j[-1].Next + 1));
    ((void(__fastcall *)(_QWORD))off_140C005A8[0])(0i64);
    PopMarkHiberPhase((UINT64 *)&HiberContext->Reset);
    KdMarkHiberPhase();
    if( (unsigned int)VfIsVerifierEnabled() )
    {
      if( ViTrackIrqlQueue )
      {
        LODWORD(Taga) = 1919510102;
        PoSetHiberRange(0i64, 0x10000ui64, ViTrackIrqlQueue, 56i64 * (unsigned int)ViTrackIrqlQueueLength, Taga);
      }
      if( (unsigned int)VfIsVerifierExtensionEnabled() == 1 && ViFnExtensionHiberFunc )
      {
        LODWORD(Taga) = 1919510102;
        PoSetHiberRange(0i64, 0x10000ui64, ViFnExtensionHiberFunc, 0i64, Taga);
      }
    }
    BgkResumePrepare(0i64);
    RtlMarkHiberPhase(v7, v6);
    HvlMarkHiberPhase();
    MmMarkHiberPhase();
    for( k = 0; k < IopNumTriageDumpDataBlocks; ++k )
    {
      LODWORD(Taga) = 1114664260;
      PoSetHiberRange(
        0i64,
        0x10000ui64,
        (VOID *)IopTriageDumpDataBlocks[2 * k],
        _mm_srli_si128(*(__m128i *)&IopTriageDumpDataBlocks[2 * k], 8).m128i_u64[0] - IopTriageDumpDataBlocks[2 * k],
        Taga);
    }
    v9 = PopShutdownNotificationCallback;
    if( PopShutdownNotificationCallback )
    {
      LODWORD(Taga) = 1852990795;
      PoSetHiberRange(0i64, 0x10000ui64, PopShutdownNotificationCallback, 0x18ui64, Taga);
      ((void(__fastcall *)(_QWORD))*v9)(v9[2]);
    }
    for( m = (PVOID *)PopThermal; m != &PopThermal; m = (PVOID *)*m )
    {
      LODWORD(Taga) = 1836214356;
      PoSetHiberRange(0i64, 0x10000ui64, m, 0x420ui64, Taga);
    }
    if( (PopSimulateHiberBugcheck & 0x100) == 0 )
      MiConvertHiberPhasePages((INT64)&HiberContext->32);
    HiberContext->KernelPhaseVerificationActive = 1;
  }
  HiberContext->MapFrozen = 1;
}

Referenced by:

PopSaveHiberContext