Add text to first video, add audio and watermark to second video and then add crossfading to these two videos and one another video using one command?
Use

ffmpeg -y -i intro.mp4 -i mainvideo.mp4 -i outro.mp4 -i EnergyAudio.mp3 \
       -i vcs-watermark-video.png \
       -filter_complex \
"[0:v]drawtext=...,fade=t=out:st=5:d=1,setpts=PTS-STARTPTS[v0]; \
 [1:v][4]overlay=W-w-5:H-h-5,fade=t=in:st=0:d=1,fade=t=out:st=31:d=1,setpts=PTS-STARTPTS[v1]; \
 [2:v]fade=t=in:st=0:d=1,setpts=PTS-STARTPTS[v2]; \
 [3:a]volume=enable='between(t,0,32)':volume=-10dB[3a];[1:a][3a]amerge=inputs=2,pan=stereo[maina]; \
 [v0][0][v1][maina][v2][2]concat=n=3:v=1:a=1[outv][outa]" \
       -vcodec libx264 -c:a aac -ac 2 -map "[outv]" -map "[outa]" '.$fileName.'