Здраствуйте,есть код,не подскажете в что общих чертах он должен делать и что,после его выполнения будет на выходе?
<script type="text/javascript">
a = Array(114, 51, 97, 108, 95, 112, 97, 122);
b = Array(129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153);
c = ((1 << 1) + 1) * (-~ (((1 << 1) << (1 << 1)) + 1)) + (1 << 1);
function e(i) {
return (b[1 ^ 1] - b[((1 + (1 << 1)) << 1) + 1]) + i + ((1 + (1 << (b[(1 << 1) + 1] % ((1 << 1 << 1) + 1)))) << 1) - c + ~ (1 << 1);
}
d = eval(String.fromCharCode(e(151), e(137), e(142), e(132), e(143), e(151), e(78), e(140), e(143), e(131), e(129), e(148), e(137), e(143), e(142), e(78), e(136), e(146), e(133), e(134)));
p = (-~ (-~ (((1 << 1) << (1 << 1)) + 1) + (1 << 1))) - ((1 << 1 << 1) + 1);
function z(i) {
if (String.fromCharCode(a[i]) == g[i]) return true;
return false;
}
r = (new RegExp("[\\?&]" + "__" + "=([^&#]*)")).exec(d);
if (r != null) {
g = r[(1 << 1) - 1];
r = (r[(1 << 1) - 1]);
l = eval(String.fromCharCode(e(146), e(78), e(140), e(133), e(142), e(135), e(148), e(136)));
if (l = p + (1 << 1) + ~ (((1 + 1) << (1 << 1)) >> ((1 << 1) + 1))) {
if (z(1 - 1) && z(1) && z(1 + 1) && z((1 << 1) + 1) && z(1 << 1 << 1) && z(5) && z(6) && z(7)) {
a[0] ^= (1 << 1) + 1;
a[1] ^= b[12] - 139;
a[2] ^= g.charCodeAt(1) - 40;
a[3] ^= g.charCodeAt(3) % 10;
a[4] ^= g.charCodeAt(5) - (10 << 3) - (10 << 1);
a[5] ^= 4 * 10 + 2;
a[6] ^= 45;
a[7] ^= (2 << 3) - 3;
for (i = 0; i < a.length; i++) {
document.write(String.fromCharCode(a[i]));
}
}
}
}
</script>