HvlPrepareForHibernate
INT64 __fastcall HvlPrepareForHibernate(_OWORD *a1, _QWORD *a2, _QWORD *a3, _QWORD *a4, _QWORD *a5){
unsigned int v5;
LONGLONG *v10;
LONGLONG *v11;
__int16 v12;
__int128 v14[2];
__int128 v15[2];
v5 = 0;
memset(v15, 0, sizeof(v15));
memset(v14, 0, sizeof(v14));
v10 = HvlpAcquireHypercallPage((PHYSICAL_ADDRESS *)v15, 1, 0i64, 88i64);
v11 = HvlpAcquireHypercallPage((PHYSICAL_ADDRESS *)v14, 2, 0i64, 32i64);
memset((INT64)v10, 0i64);
*(_OWORD *)v10 = *a1;
*((_OWORD *)v10 + 1) = a1[1];
*((_OWORD *)v10 + 2) = a1[2];
*((_OWORD *)v10 + 3) = a1[3];
*((_OWORD *)v10 + 4) = a1[4];
HvcallInitiateHypercall();
if( v12 )
{
v5 = -1073741823;
}
else
{
*a2 = *v11;
*a3 = v11[1];
*a4 = v11[2];
*a5 = v11[3];
}
HvlpReleaseHypercallPage((unsigned int *)v14);
HvlpReleaseHypercallPage((unsigned int *)v15);
return v5;
}Referenced by:
PopSaveHiberContext