PopMarkComponentsBootPhase

VOID __stdcall PopMarkComponentsBootPhase(_POP_HIBER_CONTEXT *HiberContext){
  INT64 *i; 
  PSLIST_ENTRY j; 
  unsigned int k; 
  __int64 v5; 
  _QWORD *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 = (INT64 *)PsLoadedModuleList; i != &PsLoadedModuleList; i = (INT64 *)*i )
    {
      LODWORD(Taga) = 1852990795;
      PoSetHiberRange(0i64, 0x10000ui64, i, 0xA0ui64, Taga);
      if( MmIsAddressValid(i[12]) )
      {
        LODWORD(Taga) = 1852990795;
        PoSetHiberRange(0i64, 0x10000ui64, (VOID *)i[12], *((unsigned __int16 *)i + 45), Taga);
      }
      if( MmIsAddressValid(i[10]) )
      {
        LODWORD(Taga) = 1852990795;
        PoSetHiberRange(0i64, 0x10000ui64, (VOID *)i[10], *((unsigned __int16 *)i + 37), Taga);
      }
    }
    for( j = FirstEntrySList(&stru_140C503E0); j; j = j->Next )
      KeMarkHiberPhase(*((_KPCR **)&j[-1].Next + 1));
    ((void(__fastcall *)(_QWORD))off_140C005A8[0])(0i64);
    PopMarkHiberPhase(HiberContext);
    KdMarkHiberPhase();
    if( VfIsVerifierEnabled() )
    {
      if( ViTrackIrqlQueue )
      {
        LODWORD(Taga) = 1919510102;
        PoSetHiberRange(0i64, 0x10000ui64, ViTrackIrqlQueue, 56i64 * (unsigned int)ViTrackIrqlQueueLength, Taga);
      }
      if( VfIsVerifierExtensionEnabled() == 1 && ViFnExtensionHiberFunc )
      {
        LODWORD(Taga) = 1919510102;
        PoSetHiberRange(0i64, 0x10000ui64, ViFnExtensionHiberFunc, 0i64, Taga);
      }
    }
    BgkResumePrepare(0i64);
    RtlMarkHiberPhase();
    HvlMarkHiberPhase();
    MmMarkHiberPhase();
    for( k = 0; k < *(&stru_140C452E0 + 718); ++k )
    {
      LODWORD(Taga) = 1114664260;
      PoSetHiberRange(
        0i64,
        0x10000ui64,
        *((VOID **)&stru_140C452E0 + 2 * k + 360),
        _mm_srli_si128(*((__m128i *)&stru_140C452E0 + k + 180), 8).m128i_u64[0]
      - *((_QWORD *)&stru_140C452E0 + 2 * k + 360),
        Taga);
    }
    v5 = *(&WheapErrorSourceTable + 120);
    if( *(&WheapErrorSourceTable + 120) )
    {
      LODWORD(Taga) = 1852990795;
      PoSetHiberRange(0i64, 0x10000ui64, *(&WheapErrorSourceTable + 120), 0x18ui64, Taga);
      (*(void(__fastcall **)(_QWORD))v5)(*(_QWORD *)(v5 + 16));
    }
    for( m = (_QWORD *)*(&stru_140C23628 + 181); m != (_QWORD *)((char *)&stru_140C23628 + 1448); m = (_QWORD *)*m )
    {
      LODWORD(Taga) = 1836214356;
      PoSetHiberRange(0i64, 0x10000ui64, m, 0x420ui64, Taga);
    }
    if( (*(&stru_140C23628 + 1166) & 0x100) == 0 )
      MiConvertHiberPhasePages((INT64)&HiberContext->32);
    HiberContext->KernelPhaseVerificationActive = 1;
  }
  HiberContext->MapFrozen = 1;
}

Referenced by:

PopSaveHiberContext