Help with execution plan analysis I need some help interpreting this execution plan - 
https://www.brentozar.com/pastetheplan/?id=SJ5NYLLSL

Whenever this query is ran it uses up a huge amount of CPU and kills the server.

I have little experience in interpreting execution and am not sure what to look at/suggest to improve.  I notice the amount of left joins and the size of some of the tables and would suggest adding an index somewhere but am unsure on what table and what fields.
Thanks.
Comment out the left join to AppHisTeams as you do not use that table.

Creating indexes tends to be an art, you should not just create indexes. You may be able to adjust existing ones. 

You should index AppHisScanCodes as it is not using one, maybe on scanid and include [Description] or use scanid as the clustered index.

Can you change the left joins to inner joins? Especially to AppHisActivigity, 30,000,000+ rows, as you are only using it to get to AppHisTeams.

Is MOdate a date field or is it a number? 

Can you inner join to AppHisOutput, 20,000,000+ rows?

Look at the existing index IX_AppHis_ABR. Can you add the fields TitleNumber, AppType or IntakeDate with an include statement if they are not in the index already? 

Add an index to AppHisOutput on MODate. Index on abr include modate.