MiRemoveEnclavePagesFromMirror
_LIST_ENTRY *__fastcall MiRemoveEnclavePagesFromMirror(INT64 a1){
_LIST_ENTRY *result;
_LIST_ENTRY *v3;
_LIST_ENTRY *v4;
_LIST_ENTRY *Flink;
result = (_LIST_ENTRY *)*(&stru_140C4DB30 + 530);
v3 = 0i64;
while( result )
{
v3 = result;
result = result->Flink;
}
while( v3 )
{
MiMirrorOmitPagesFromCopy(a1, (UINT64)v3[1].Blink, (UINT64)v3[2].Flink);
result = v3->Blink;
v4 = v3;
if( result )
{
Flink = result->Flink;
v3 = v3->Blink;
if( result->Flink )
{
do
{
result = Flink->Flink;
v3 = Flink;
Flink = result;
}
while( result );
}
}
else
{
while( 1 )
{
v3 = (_LIST_ENTRY *)((unsigned __int64)v3[1].Flink & 0xFFFFFFFFFFFFFFFCui64);
if( !v3 || v3->Flink == v4 )
break;
v4 = v3;
}
}
}
return result;
}Referenced by:
MiMirrorBlackPhase