PopMarkHiberPhase

VOID __fastcall PopMarkHiberPhase(UINT64 *Address){
  VOID *v2; 
  unsigned int *v3; 
  UINT64 v4; 
  UINT64 *v5; 
  UINT64 *v6; 
  UINT64 *v7; 
  UINT64 v8; 
  UINT64 v9; 
  UINT64 v10; 
  UINT64 v11; 
  UINT64 v12; 
  UINT64 v13; 
  UINT64 v14; 
  LODWORD(v8) = 0;
  PoSetHiberRange(0i64, 0x10000ui64, Address, 0x1C8ui64, v8);
  LODWORD(v9) = 0;
  PoSetHiberRange(0i64, 0x10000ui64, PagedPoolVa, Length, v9);
  v2 = (VOID *)Address[36];
  if( v2 )
  {
    LODWORD(v10) = 0;
    PoSetHiberRange(0i64, 0x10000ui64, v2, Address[37], v10);
  }
  LODWORD(v10) = 0;
  PoSetHiberRange(0i64, 0x10000ui64, (VOID *)Address[18], (unsigned __int64)*((unsigned int *)Address + 38) << 12, v10);
  v3 = (unsigned int *)Address[15];
  v4 = MmSizeOfMdl(0i64, v3[10]);
  LODWORD(v11) = 0;
  PoSetHiberRange(0i64, 0x10000ui64, v3, v4, v11);
  LODWORD(v12) = 0;
  PoSetHiberRange(0i64, 0x10000ui64, (VOID *)Address[30], (unsigned __int64)*((unsigned int *)Address + 62) << 12, v12);
  LODWORD(v13) = 0;
  PoSetHiberRange(0i64, 0x10000ui64, qword_140C23458, (unsigned int)dword_140C23460, v13);
  v5 = Address + 8;
  v6 = (UINT64 *)*v5;
  while( v6 != v5 )
  {
    LODWORD(v14) = 0;
    v7 = v6;
    v6 = (UINT64 *)*v6;
    PoSetHiberRange(0i64, 0x10000ui64, v7, 0x30ui64, v14);
  }
}

Referenced by:

PopMarkComponentsBootPhase