VslSlowFlushSecureRangeList

NTSTATUS __stdcall VslSlowFlushSecureRangeList(INT64 a1, INT64 a2, UINT64 a3, UINT64 a4){
  INT64 v5; 
  INT64 v6; 
  _QWORD *v9; 
  _EPROCESS *Process; 
  unsigned int v11; 
  INT64 v12[14]; 

  v5 = (unsigned int)a3;
  v6 = (unsigned int)a4;
  memset(v12, 0i64, 0x68u);
  if( KeGetCurrentIrql() > 2u )
    return 255;
  v9 = (_QWORD *)(v6 + a2);
  Process = KeGetCurrentThread()->ApcState.Process;
  v11 = 0;
  if( !(_DWORD)v5 )
    return 0;
  while( *v9 > 0x7FFFFFFEFFFFui64 )
  {
    ++v11;
    ++v9;
    if( v11 >= (unsigned int)v5 )
      return 0;
  }
  v12[1] = (INT64)Process->Pcb.SecureState;
  v12[2] = a1;
  v12[3] = v5;
  v12[4] = v6;
  return VslpEnterIumSecureMode(2u, 242, 0i64, (INT64)v12);
}

Referenced by:

HvlpSlowFlushListTb
HvlpSlowFlushListTbEx