Photoshop’s Content-aware Fill can do a reasonable job of that, these days.
I think the version I’m using is fairly new in CC2019, & now has its own menu item & edit page.
First, select the white areas with the magic wand [use antialias & contiguous, but don’t feather the selection afterwards *]
Then from Edit menu > Content-aware Fill…
This was done simply with the default parameters, which gives…
*I’ve long noticed that Content-Aware Fill just doesn’t like the edges to be feathered. It can make a complete mess of the job if you do, though it’s somewhat counter-intuitive – somehow you’d expect that a little smoothing over the edges would help. It doesn’t.
Quick example with feathered edges –
I’d try smoothing the join with the spot heal brush after merging the layers.
But bear in mind I was working from a crop taken from a screenshot [& still didn’t actually see it until I zoomed in a fair way] – you ought to get far better results from the original.