HvlPrepareForSecureHibernate

NTSTATUS __stdcall HvlPrepareForSecureHibernate(_OWORD *a1){
  _OWORD *v2; 
  PHYSICAL_ADDRESS PageInfo[2]; 
  __int128 v5; 
  INT64 v6[14]; 

  *(_OWORD *)&PageInfo[0].anonymous_0.LowPart = 0i64;
  v5 = 0i64;
  v2 = HvlpAcquireHypercallPage(PageInfo, 1ui64, 0i64, 0x58ui64);
  *v2 = *a1;
  v2[1] = a1[1];
  v2[2] = a1[2];
  v2[3] = a1[3];
  v2[4] = a1[4];
  memset(v6, 0i64, 0x68u);
  v6[1] = *((_QWORD *)&v5 + 1) >> 12;
  LODWORD(a1) = VslpEnterIumSecureMode(2u, 259, 0i64, (INT64)v6);
  HvlpReleaseHypercallPage((_HVLP_HYPERCALL_PAGE_INFO *)PageInfo);
  return(int)a1;
}

Referenced by:

PopSaveHiberContext