L = -266820324;
m = (L >>> 17 | L << 15) ^ (L >>> 19 | L << 13) ^ L >>> 10;
console.log(m);
$L = -266820324;
$m = (abs($L >> 17) | $L << 15) ^ (abs($L >> 19) | $L << 13) ^ abs($L >> 10);
echo($m);
NOTICE Undefined offset: 1 on line number 97
NOTICE Undefined offset: 2 on line number 97
...
NOTICE Undefined offset: 15 on line number 97
NOTICE Undefined offset: 16 on line number 125
$s[$d >> 2] |= $y << $c[3 & $d++];
как раз после else после сомнительного условия, в котором после проверки $s[0] = $v отбрасывается второе выражение.
Если вдруг найдете причину - отпишитесь тут, интересно.