HvlpEndSecurePageListIteration
INT64 *__fastcall HvlpEndSecurePageListIteration(INT64 a1, CHAR a2){
INT64 *result;
_DWORD *v3;
_DWORD *v4;
UINT8 *v5;
int v6;
__int64 *v7;
unsigned int v8;
size_t Size;
v4 = v3;
LODWORD(Size) = 0;
v5 = (UINT8 *)a2;
v6 = a1;
if( (_DWORD)a1 )
{
LOBYTE(result) = BYTE2(HvlpIteratorCrashdump);
v7 = &qword_140C471E8;
}
else
{
LOBYTE(result) = BYTE2(HvlpIteratorHibernate);
v7 = &qword_140C471C8;
}
if( (_BYTE)result )
{
VslEndSecurePageIteration((_DWORD)a1 == 0, &Size);
if( v4 )
{
v8 = Size;
if( (unsigned int)Size <= *v4 )
{
*v4 = Size;
if( v8 )
memmove(v5, (UINT8 *)*v7, v8);
}
}
result = (INT64 *)&HvlpIteratorCrashdump;
if( !v6 )
result = (INT64 *)&HvlpIteratorHibernate;
result[1] = 0i64;
*(_DWORD *)result = 0;
}
return result;
}Referenced by:
HvlAddSecurePagesCallbackRoutine
HvlDiscardSecurePagesFromHibernation
HvlIterateSecurePagesForHibernation
HvlpGetEncryptedDataFromSecureKernel