inveigher

Noun

 * 1) One who inveighs.