RtlDetermineHotPatchUndoExtent
CHAR __stdcall RtlDetermineHotPatchUndoExtent(INT64 a1, INT64 a2, UINT64 a3, INT64 *a4, UINT64 *a5){
__int64 v5;
int v6;
if( (_DWORD)a2 )
{
v5 = (unsigned int)(2 * a3);
if( *(_DWORD *)(a1 + 4 * v5) )
{
v6 = *(_DWORD *)(a1 + 4 * v5 + 4);
LABEL_4:
*(_DWORD *)a4 = v6 >> 12;
*(_DWORD *)a5 = (unsigned int)(v6 + 1) >> 12;
return 1;
}
}
else
{
v6 = *(_DWORD *)(a1 + 6i64 * (unsigned int)a3);
if( v6 )
goto LABEL_4;
}
return 0;
}Referenced by:
MiLockHotPatchUndoPages
MiProcessHotPatchUndoTable