For me, the game locked after I won the duel, I got a screen with a white border rectangle, but nothing else. Then on forcing it to go back to the desktop, when I returned to Starsector it was just a white screen.
On relaunching, reloading, and winning again, it didn't crash. Spoiler for the spoiler there is a really easy way to win. This is what the log file said when it had locked up:
780863 [Thread-3] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Loading stage 39 - last
781864 [Thread-7] INFO sound.public - Cleaning up music with id [miscallenous_corvus_campaign_music.ogg]
782186 [Thread-9] INFO sound.public - Creating streaming player for music with id [miscallenous_corvus_campaign_music.ogg]
782186 [Thread-9] INFO sound.OooO - Playing music with id [miscallenous_corvus_campaign_music.ogg]
784619 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetRouteManager - Added trade fleet route from Baetis to Salamanca
786872 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetRouteManager - Added trade fleet route from Yama to Cruor
786905 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.intel.AnalyzeEntityMissionIntel - Created AnalyzeEntityMissionIntel: Domain-era Probe, faction: independent
792413 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.intel.SurveyPlanetMissionIntel - Created SurveyPlanetMissionIntel: Morgoth, faction: Luddic Church
792628 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent - Spawning officers/admins at eventide
792628 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent - officerProb: 0.5
792628 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent - additionalProb: 0.1
792629 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent - mercProb: 0.25
792629 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent - adminProb: 0.25
792629 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent -
792629 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent - Added officer at eventide
793698 [Thread-9] INFO sound.public - Creating streaming player for music with id [faction_hegemony_market_03_friendly_var01.ogg]
793698 [Thread-9] INFO sound.OooO - Playing music with id [faction_hegemony_market_03_friendly_var01.ogg]
798969 [Thread-3] INFO sound.public - Creating streaming player for music with id [battle_ambience_01.ogg]
799971 [Thread-7] INFO sound.public - Cleaning up music with id [faction_hegemony_market_03_friendly_var01.ogg]
928810 [Thread-3] INFO com.fs.graphics.TextureLoader - Cleaned buffer for texture graphics/misc/characterSheet00.png (using cast)
928811 [Thread-3] INFO sound.public - Creating streaming player for music with id [eventide_music_fight.ogg]