Disenchanter

n.
  1. One who, or that which, disenchants.