Every last permission it requests is associated with a reasonable functional requirement. It may never make use of the components it requests permission to (eg: sending and receiving SMS, which many users don't want to do with Messenger) and in newer Android versions, you can grant (or not) permissions on an ad hoc basis. Nothing 'evil' about it.
It's all related to features in the app at least, it's not like they're asking for things they don't need to make all the features work. I might call SMS unnecessary but that's because I don't really want to use it for SMS.