VslLoadEnclaveModule

NTSTATUS __fastcall VslLoadEnclaveModule(
        __int64 a1,
        __int64 a2,
        __int64 a3,
        __int64 a4,
        INT64 a5,
        __int64 a6,
        __int64 a7,
        __int64 a8){
  NTSTATUS result; 
  NTSTATUS v12; 
  INT64 v14[10]; 
  INT64 v15[14]; 

  memset(v15, 0i64, 0x68u);
  memset(v14, 0i64, 0x48u);
  result = VslpLockMdlForTransfer((INT64)v14, a5, 0);
  if( result >= 0 )
  {
    v15[1] = a1;
    v15[6] = v14[7];
    v15[2] = a2;
    v15[3] = a4;
    v15[4] = a3;
    v15[5] = a5;
    v12 = VslpEnterIumSecureMode(2u, 47, 0i64, (INT64)v15);
    VslpUnlockPagesForTransfer((INT64 **)v14);
    if( v12 >= 0 )
    {
      if( a6 )
        *(_BYTE *)a6 = v15[2];
      if( a7 )
        *(_DWORD *)a7 = v15[3];
      if( a8 )
        *(_DWORD *)a8 = v15[4];
    }
    return v12;
  }
  return result;
}

Referenced by:

MiLoadSectionIntoVsmEnclave