<<
$_='while(read+STDIN,$_,2048)
{
$a=29;$c=142;i
f((@a=unx"C*",$_)
[20]&48)
{
$h=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])
}
@ARGV;
s/...$/1$&/;$d=unxV,xb25,$_;
$b=73;$e=256|(ord$b[4])<<9|ord$b[3];
$d=$d>>8^($f=($t=255)&($d>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&
($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=(
map
{$_%16or$t^=$c^=
($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^
=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]
}
(16..271))[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]
}
print+x"C*",@a}';
s/x/pack+/g;
eval
>>
does that help? I don't know perl, so I'm not sure.