It seems the question is really about transforming unreadable code into readable code which is different from writing new readable code.
Before doing anything else:
- If not done already, use version control.
- If not done already, use automated testing.
In general, the customer does not care how readable the code is. The customer cares a lot about whether the software functions as expected.
When you are initially handed unreadable software to maintain, you have a scapegoat for software bugs. But if your predecessor fixed a bug at the customers request and you inadvertently delete the fix (it was probably very unreadable), then the customer will not have much patience.