How to decompose a mixed signal into its original signals?
An FFT will only decompose a mix of sinusoids to the original constituents if all the constituent sinusoids are exactly integer periodic in the FFT's length.  One of your signals is not integer periodic in the number of samples in your FFT's length, so (1) its "leakage" (really windowing artifacts) will contaminate the magnitudes of other signals, and (2) you will need to interpolate (with a Sinc interpolation kernel) between FFT result bins to get a more accurate estimate of its magnitude.