Finite rank perturbations T=N+K of a bounded normal operator N acting on a separable Hilbert space are studied thanks to a natural functional model of T; in its turn the functional model solely relies on a perturbation matrix/characteristic function previously defined by the second author. Function theoretic features of this perturbation matrix encode in a closed-form the spectral behavior of T. Under mild geometric conditions on the spectral measure of N and some smoothness constraints on K we show that the operator T admits invariant subspaces, or even it is decomposable.