VslInitializeSecureProcess

NTSTATUS __stdcall VslInitializeSecureProcess(
        INT64 a1,
        INT64 a2,
        INT64 a3,
        INT64 a4,
        INT64 a5,
        INT64 a6,
        INT64 a7,
        UINT64 a8){
  NTSTATUS result; 
  NTSTATUS v13; 
  INT64 v14[10]; 
  INT64 v15[14]; 

  memset(v14, 0i64, 0x48u);
  memset(v15, 0i64, 0x68u);
  v15[6] = a6;
  v15[3] = a1;
  v15[1] = a2;
  v15[4] = a3;
  v15[2] = a4;
  v15[5] = a5;
  if( !a8 )
  {
LABEL_6:
    v13 = VslpEnterIumSecureMode(2u, 7, 0i64, (INT64)v15);
    if( a8 )
      VslpUnlockPagesForTransfer((INT64 **)v14);
    return v13;
  }
  if( a8 > 0x1FA000 )
    return -1073741811;
  result = VslpLockPagesForTransfer((INT64)v14, a7, (unsigned int)a8, 0i64, 0);
  if( result >= 0 )
  {
    v15[7] = v14[0];
    v15[8] = v14[7];
    goto LABEL_6;
  }
  return result;
}

Referenced by:

KeSecureProcess