Tags: java reverse 

Rating:

If you split the code we get from the challenge into 5 parts and then reversing the order of this parts:

```
cipher = "ÄѓӿÂÒêáøz§è§ñy÷¦"
key = "r34l_g4m3rs_eXclus1v3"

flag = [0] * 21

flag[0] = ord('h')
flag[1] = ord('0')
flag[7] = ord('u')

# First
cipher = cipher[9:] + cipher[:9]

# Second
cipher = list(cipher)
for i in range(9):
cipher[i] = chr(ord(cipher[i]) - 20)

cipher = "".join(cipher)

# Third
for i in range(15, 21):
flag[i] = ord(cipher[i - 3]) - ord(key[i - 3])

# Fourth
for i in range(10, 15):
flag[i - 8] = ord(cipher[i - 3]) - ord(key[i])

# Fifth
for i in range(0, 7):
flag[i + 8] = ord(cipher[i]) - ord(key[i])

print("rtcp{" + "".join([chr(num) for num in flag]) + "}")

```

then, you get the flag :)
`rtcp{h0p3_y0ur3_h4v1ng_fun}`