#!/usr/bin/env python
# Insomni'hack 2011 gpgpu reverse challenge

stack = {}
for i in range(28):
  stack[i] = 0

input = "ohv'c~f3ehnw4byzzky"
input = [ord(c) for c in input]
output = [0]*len(input)
length = len(input)

# initialization
sp = stack
r0 = 22
sp[4] = r0
r1 = 7
sp[5] = r1
r2 = 3
sp[6] = r2
sp[7] = r1
r3 = 4
sp[8] = r3
r3 = 17
sp[9] = r3
r4 = 18
sp[10] = r4
r5 = 19
sp[11] = r5
sp[12] = r0
sp[13] = r1
sp[14] = r2
sp[15] = r4
r6 = 20
sp[16] = r6
sp[17] = r3
sp[18] = r4
sp[19] = r5
sp[20] = r0
sp[21] = r1
sp[22] = r2

r0 = 0 # i
sp[23] = 0

r1 = output
r2 = input
r3 = length

for r0 in range(r3):
  r4 = sp[4+r0]
  r5 = r2[r0]
  r4 = r5 ^ r4
  r1[r0] = r4

print "Output: %r" % "".join(chr(output[i]) for i in range(len(output)))
