Level 27: Reverse

What's the code?
Python (long):
>>> type(code)
<type 'str'>
>>> def mangle(code):
...     aphrodite = [ord(hades) for hades in code]
...     dionysus = enumerate(aphrodite)
...     aphrodite = [hades^apollo for apollo,hades in dionysus]
...     artemis = "".join(chr(apollo) for apollo in aphrodite)
...     def poseidon(hades):
...         if len(hades) < 2: return hades
...         return hades[1] + poseidon(hades[2:]) + hades[0]
...     apollo = poseidon(artemis)
...     return apollo
>>> mangle(code)
'oj`ugmacjee'
Scala:
scala> println(code.getClass())
class java.lang.String
scala> code.zipWithIndex.map{case (a,b)=>(a^b).toChar}.grouped(2).foldRight(""){
| (c,d)=>c match{case Vector(e,f) => f+d+e; case Vector(g) => d+g}}
res33: String = oj`ugmacjee
Python (short):
>>> def mangle(code):
...     a = lambda b: b if len(b)<2 else b[1]+a(b[2:])+b[0]
...     return a("".join(chr(ord(c)^d) for (d,c) in enumerate(code)))