VslSlowFlushSecureRangeList

INT64 __fastcall VslSlowFlushSecureRangeList(INT64 a1, INT64 a2, UINT64 a3, UINT64 a4){
  INT64 v5; 
  INT64 v6; 
  INT64 v8; 
  _QWORD *v9; 
  __int64 v10; 
  unsigned int v11; 
  INT64 result[14]; 
  v5 = (unsigned int)a3;
  v6 = (unsigned int)a4;
  memset((INT64)result, 0i64);
  if( KeGetCurrentIrql() > 2u )
    return 255i64;
  v9 = (_QWORD *)(v6 + a2);
  v10 = *((_QWORD *)KeGetCurrentThread() + 23);
  v11 = 0;
  if( !(_DWORD)v5 )
    return 0i64;
  while( *v9 > 0x7FFFFFFEFFFFui64 )
  {
    ++v11;
    ++v9;
    if( v11 >= (unsigned int)v5 )
      return 0i64;
  }
  result[1] = *(_QWORD *)(v10 + 992);
  result[2] = a1;
  result[3] = v5;
  result[4] = v6;
  LODWORD(v8) = VslpEnterIumSecureMode(2u, 242, 0i64, (INT64)result);
  return v8;
}

Referenced by:

HvlpSlowFlushListTb
HvlpSlowFlushListTbEx