VslValidateSecureImagePages

INT64 __fastcall VslValidateSecureImagePages(INT64 a1, INT64 a2, UINT64 a3, INT64 a4, INT64 a5, INT64 a6){
  int v6; 
  int i; 
  int v11; 
  UINT64 v12; 
  int v13; 
  INT64 v16[10]; 
  INT64 result[2]; 
  int v18; 
  INT64 v19; 
  INT64 v20; 
  INT64 v21; 
  int v22; 
  v6 = a2;
  memset((INT64)result, 0i64);
  memset((INT64)v16, 0i64);
  for( i = 0; a3; a3 -= v12 )
  {
    v11 = 0;
    v12 = a3;
    if( (-(__int64)((a4 & 0xFFF) != 0) & 0xFFFFFFFFFFFFF000ui64) + 2072576 <= a3 )
      v12 = (-(__int64)((a4 & 0xFFF) != 0) & 0xFFFFFFFFFFFFF000ui64) + 2072576;
    LOBYTE(v11) = (v12 & 0xFFF) != 0;
    v13 = (v12 >> 12) + v11;
    i = VslpLockPagesForTransfer((INT64)v16, a4, (unsigned int)(v13 << 12), 0i64, 0);
    if( i < 0 )
      break;
    result[1] = a1;
    v19 = v16[0];
    v20 = v16[7];
    v22 = a6;
    v18 = v6;
    v21 = a5;
    i = VslpEnterIumSecureMode(2u, 193, 0i64, (INT64)result);
    VslpUnlockPagesForTransfer((INT64 **)v16);
    if( i < 0 )
      break;
    a4 += v12;
    a5 += v12;
    v6 += v13;
  }
  return(unsigned int)i;
}

Referenced by:

No references.