jsdfe: JavaScript Deobfuscator Full of Excuses
Options:
[*1] Sacrifice accuracy very much.  [*2] Sacrifice accuracy.  [*3] May generate duplicate names with global built-in names when target script running in other than the browser.
Input (Paste text or drop file):

Download output
Output: