Which function matches this concave pattern in my scatter plot? I'm trying to find a function that matches the following shape.

My first attempt was with a cosine function
$$ f(x) = a\cos(b x)$$
which yields the following result:

What modification of the cosine function could help to make it better fit the required shape? Any ideas or suggestions are appreciated.
EDIT: the raw data is available in csv format here.
 A: (sorry i cant comment yet
0. Getting original plot
i tried to download data in r, but couldnt get to get your plot
i named data rss

tried, not good
plot(log(rss$rank)/log(rss$installs))
plot(log(rss$installs)/log(rss$rank))

working
plot(log(rss$rank), log(rss$installs))

thanks / credit at comment section
1. Data and model trying
I tried, just get data
 xx=(log(rss$rank) )
 yy=log(rss$installs)

zz=cbind(xx,yy) #matrix
zz2 <- zz[!is.infinite(rowSums(zz)),] #remove inf values

then trying fit linear reg. with poly function (simple curve
lii= (  lm(zz2[,2]~poly(zz2[,1] ,223, raw = TRUE) ) )

plot(zz2[,1],zz2[,2])
lines(zz2[,1],lii$fitted.values ,col="green")

Started with 1, as "better fit" .. appeared at 223
List of poly parameter value
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 158
[1] 159
[1] 161
[1] 172
[1] 174
[1] 176
[1] 178
[1] 209
[1] 223

Final graph

Last point before x=4 has bad fit, so maybe some hardcoding needed as replacement.
Anyway, this is very very bad solution done by overfitting polynoms :D, but someone maybe found it iterested.
