HvpResetPageProtection

UINT32 __fastcall HvpResetPageProtection(UINT64 a1){
  UINT32 v2; 
  UINT32 result; 
  int v4; 
  UINT32 v5; 
  ULONG v6; 
  ULONG StartingRunIndex; 
  StartingRunIndex = 0;
  v2 = *(_DWORD *)(a1 + 88);
  result = 0;
  v4 = *(_DWORD *)(a1 + 104);
  while( result < v2 )
  {
    result = RtlFindNextForwardRunSet((PRTL_BITMAP)(a1 + 88), result, &StartingRunIndex);
    v5 = result;
    if( !result )
      break;
    v6 = StartingRunIndex;
    HvpSetRangeProtection((_HHIVE *)a1, StartingRunIndex << 9, result << 9, 2ui64);
    result = v5 + v6;
    v4 -= v5;
    if( !v4 )
      break;
  }
  return result;
}

Referenced by:

HvResetDirtyData