# Extracting time scales information from empirical cumulative distribution function

I have a stochastic process (a Markov chain actually) that has two absorbing states. I am using a difference equation to calculate the first passage time to either of the absorbing states. There are several parameters in the equation.

For set of parameters, the empirical cumulative distribution function looks like the following:

whose probability density function will only one peak. For another set of parameters, I will have:

whose PDF will be the superposition of "two distributions", meaning having two peaks.

My question is, is there a "reliable"/"good" algorithms/methods to infer the number of distributions, the statistics of each of the well (or not so well) separated distribution?

By taking differences of the cumulative distribution function $F$, you can find the probability density function $p$. What you're looking for are local maxima of $p$; from your second plot, it looks like there is one big maximum at $t = 7$ and another at $t \approx 1200$. You can spot these from the CDF directly as inflection points, where $F$ goes from being convex to being concave.
If you want to say more about the statistics of the consensus time $\tau$, you can reasonably guess that your PDF is of the form
$p(t) = (1-\lambda)q(\tau; \theta_1) + \lambda q(\tau; \theta_2)$
where $q$ is a unimodal distribution depending on some parameters $\theta$. Then you can try and find a best value of $\theta_1$, $\theta_2$ and $\lambda$. For example, $q$ could be the hitting time PDF for the gambler's ruin problem, and the parameters $\theta$ represent the fairness of the game and the gambler's initial capital.