To denounce OOP at face value without understanding some of its more nuanced aspects is unfair. You're not in a position to criticise OOP if you've never heard of the phrase 'Loose coupling and high cohesion'. Loose coupling and high cohesion are the foundation of OOP. Without them, your OOP isn't proper OOP.
The entire purpose of OOP is to construct abstractions that encapsulate both logic and state in a cohesive manner. Ideally, related logic must appear together alongside related state (high cohesion). And functionality must be exposed externally through simple, easy to use interfaces which have simple parameters so that components are easy to substitute (loose coupling).
The problem with FP is that it doesn't offer any solution for reigning in complexity... Its only concern is to make complexity more manageable... But that only works to a certain point. By making complexity more manageable, it also encourages more complexity... Eventually, your development speed will slow to a crawl and you will be exposed to new kinds of esothetic bugs that will bring you to your knees, begging for OOP.