disenchanter

Noun

 * 1) One who disenchants.
 * 2)  A magical beast that can drain magical energy.