# DC18 bin200 string decryptor
# http://smokedchicken.org

def decrypt(chiper, key, const):
    result = bytearray(chiper)
    edi = 0
    for ecx in range(len(chiper)):
        result[ecx] = result[ecx] ^ ((const + ord(key[edi])) % 256)
        edi += 1
        if edi % len(key) == 0:
            edi = 0
    return result
    
byte_12E2 = "0455171B4918460A0F1282C7434334183A65".decode('hex')
byte_12F5 = "4E03454D55194B455E1EC785".decode('hex')

byte_1302 = "50515C74541C504F5751406D52".decode('hex')
byte_1310 = "9CA3A995A065A39C".decode('hex')

byte_1319 = "5D082B0C595A1C1B031E5218701E36376136".decode('hex')
byte_132C = "73BA9DBAA1B371B0AE6E".decode('hex')

print decrypt(byte_12E2, byte_12F5, 0x1E)
print decrypt(byte_1302, byte_1310, 0xC5)
print decrypt(byte_1319, byte_132C, 0xC2)

