<?php
class EAHashor {
private $right32;
public function __construct()
{
$this->right32 = ~((~0 << 16) << 16);
}
public function eaEncode($string){
$a = "67452301";
$b = "EFCDAB89";
$c = "98BADCFE";
$d = "10325476";
$words = $this->init($string);
for($i = 0, $l = count($words) / 16 - 1; $i <= $l; $i++){
$A = $a;
$B = $b;
$C = $c;
$D = $d;
/* ROUND 1 */
$this->FF ($A, $B, $C, $D, $words[0 + ($i * 16)], 7, "d76aa478");
$this->FF ($D, $A, $B, $C, $words[1 + ($i * 16)], 12, "e8c7b756");
$this->FF ($C, $D, $A, $B, $words[2 + ($i * 16)], 17, "242070db");
$this->FF ($B, $C, $D, $A, $words[3 + ($i * 16)], 22, "c1bdceee");
$this->FF ($A, $B, $C, $D, $words[4 + ($i * 16)], 7, "f57c0faf");
$this->FF ($D, $A, $B, $C, $words[5 + ($i * 16)], 12, "4787c62a");
$this->FF ($C, $D, $A, $B, $words[6 + ($i * 16)], 17, "a8304613");
$this->FF ($B, $C, $D, $A, $words[7 + ($i * 16)], 22, "fd469501");
$this->FF ($A, $B, $C, $D, $words[8 + ($i * 16)], 7, "698098d8");
$this->FF ($D, $A, $B, $C, $words[9 + ($i * 16)], 12, "8b44f7af");
$this->FF ($C, $D, $A, $B, $words[10 + ($i * 16)], 17, "ffff5bb1");
$this->FF ($B, $C, $D, $A, $words[11 + ($i * 16)], 22, "895cd7be");
$this->FF ($A, $B, $C, $D, $words[12 + ($i * 16)], 7, "6b901122");
$this->FF ($D, $A, $B, $C, $words[13 + ($i * 16)], 12, "fd987193");
$this->FF ($C, $D, $A, $B, $words[14 + ($i * 16)], 17, "a679438e");
$this->FF ($B, $C, $D, $A, $words[15 + ($i * 16)], 22, "49b40821");
/* ROUND 2 */
$this->GG ($A, $B, $C, $D, $words[1 + ($i * 16)], 5, "f61e2562");
$this->GG ($D, $A, $B, $C, $words[6 + ($i * 16)], 9, "c040b340");
$this->GG ($C, $D, $A, $B, $words[11 + ($i * 16)], 14, "265e5a51");
$this->GG ($B, $C, $D, $A, $words[0 + ($i * 16)], 20, "e9b6c7aa");
$this->GG ($A, $B, $C, $D, $words[5 + ($i * 16)], 5, "d62f105d");
$this->GG ($D, $A, $B, $C, $words[10 + ($i * 16)], 9, "02441453");
$this->GG ($C, $D, $A, $B, $words[15 + ($i * 16)], 14, "d8a1e681");
$this->GG ($B, $C, $D, $A, $words[4 + ($i * 16)], 20, "e7d3fbc8");
$this->GG ($A, $B, $C, $D, $words[9 + ($i * 16)], 5, "21e1cde6");
$this->GG ($D, $A, $B, $C, $words[14 + ($i * 16)], 9, "c33707d6");
$this->GG ($C, $D, $A, $B, $words[3 + ($i * 16)], 14, "f4d50d87");
$this->GG ($B, $C, $D, $A, $words[8 + ($i * 16)], 20, "455a14ed");
$this->GG ($A, $B, $C, $D, $words[13 + ($i * 16)], 5, "a9e3e905");
$this->GG ($D, $A, $B, $C, $words[2 + ($i * 16)], 9, "fcefa3f8");
$this->GG ($C, $D, $A, $B, $words[7 + ($i * 16)], 14, "676f02d9");
$this->GG ($B, $C, $D, $A, $words[12 + ($i * 16)], 20, "8d2a4c8a");
/* ROUND 3 */
$this->HH ($A, $B, $C, $D, $words[5 + ($i * 16)], 4, "fffa3942");
$this->HH ($D, $A, $B, $C, $words[8 + ($i * 16)], 11, "8771f681");
//HH ($C, $D, $A, $B, $words[11 + ($i * 16)], 16, "6d9d6122");
//the line below has been changed to use 14 rather than 16 as seen in the commented line
$this->HH ($C, $D, $A, $B, $words[11 + ($i * 16)], 14, "6d9d6122");
$this->HH ($B, $C, $D, $A, $words[14 + ($i * 16)], 23, "fde5380c");
$this->HH ($A, $B, $C, $D, $words[1 + ($i * 16)], 4, "a4beea44");
$this->HH ($D, $A, $B, $C, $words[4 + ($i * 16)], 11, "4bdecfa9");
$this->HH ($C, $D, $A, $B, $words[7 + ($i * 16)], 16, "f6bb4b60");
$this->HH ($B, $C, $D, $A, $words[10 + ($i * 16)], 23, "bebfbc70");
$this->HH ($A, $B, $C, $D, $words[13 + ($i * 16)], 4, "289b7ec6");
$this->HH ($D, $A, $B, $C, $words[0 + ($i * 16)], 11, "eaa127fa");
$this->HH ($C, $D, $A, $B, $words[3 + ($i * 16)], 16, "d4ef3085");
$this->HH ($B, $C, $D, $A, $words[6 + ($i * 16)], 23, "04881d05");
$this->HH ($A, $B, $C, $D, $words[9 + ($i * 16)], 4, "d9d4d039");
$this->HH ($D, $A, $B, $C, $words[12 + ($i * 16)], 11, "e6db99e5");
$this->HH ($C, $D, $A, $B, $words[15 + ($i * 16)], 16, "1fa27cf8");
$this->HH ($B, $C, $D, $A, $words[2 + ($i * 16)], 23, "c4ac5665");
/* ROUND 4 */
$this->II ($A, $B, $C, $D, $words[0 + ($i * 16)], 6, "f4292244");
$this->II ($D, $A, $B, $C, $words[7 + ($i * 16)], 10, "432aff97");
$this->II ($C, $D, $A, $B, $words[14 + ($i * 16)], 15, "ab9423a7");
$this->II ($B, $C, $D, $A, $words[5 + ($i * 16)], 21, "fc93a039");
$this->II ($A, $B, $C, $D, $words[12 + ($i * 16)], 6, "655b59c3");
$this->II ($D, $A, $B, $C, $words[3 + ($i * 16)], 10, "8f0ccc92");
$this->II ($C, $D, $A, $B, $words[10 + ($i * 16)], 15, "ffeff47d");
$this->II ($B, $C, $D, $A, $words[1 + ($i * 16)], 21, "85845dd1");
$this->II ($A, $B, $C, $D, $words[8 + ($i * 16)], 6, "6fa87e4f");
$this->II ($D, $A, $B, $C, $words[15 + ($i * 16)], 10, "fe2ce6e0");
$this->II ($C, $D, $A, $B, $words[6 + ($i * 16)], 15, "a3014314");
$this->II ($B, $C, $D, $A, $words[13 + ($i * 16)], 21, "4e0811a1");
$this->II ($A, $B, $C, $D, $words[4 + ($i * 16)], 6, "f7537e82");
$this->II ($D, $A, $B, $C, $words[11 + ($i * 16)], 10, "bd3af235");
$this->II ($C, $D, $A, $B, $words[2 + ($i * 16)], 15, "2ad7d2bb");
$this->II ($B, $C, $D, $A, $words[9 + ($i * 16)], 21, "eb86d391");
//this last line is used twice
$this->II ($B, $C, $D, $A, $words[9 + ($i * 16)], 21, "eb86d391");
$this->addVars($a, $b, $c, $d, $A, $B, $C, $D);
}
$MD5 = '';
foreach (array($a, $b, $c, $d) as $x) {
$MD5 .= implode('', array_reverse(str_split($this->leftpad($x, 8), 2)));
}
return $MD5;
}
/* General functions */
private function hexbin($str){
$hexbinmap = array( "0" => "0000",
"1" => "0001",
"2" => "0010",
"3" => "0011"
, "4" => "0100"
, "5" => "0101"
, "6" => "0110"
, "7" => "0111"
, "8" => "1000"
, "9" => "1001"
, "A" => "1010"
, "a" => "1010"
, "B" => "1011"
, "b" => "1011"
, "C" => "1100"
, "c" => "1100"
, "D" => "1101"
, "d" => "1101"
, "E" => "1110"
, "e" => "1110"
, "F" => "1111"
, "f" => "1111");
$bin = "";
for ($i = 0; $i < strlen($str); $i++){
$bin .= $hexbinmap[$str[$i]];
}
$bin = ltrim($bin, '0');
// echo "Original: ".$str." New: ".$bin."<br />";
return $bin;
}
private function strhex($str){
$hex = "";
for ($i = 0; $i < strlen($str); $i++){
$hex = $hex.$this->leftpad(dechex(ord($str[$i])), 2);
}
return $hex;
}
/* MD5-specific functions */
private function init($string){
$len = strlen($string) * 8;
$hex = $this->strhex($string); // convert ascii string to hex
$bin = $this->leftpad($this->hexbin($hex), $len); // convert hex string to bin
$padded = $this->pad($bin);
$padded = $this->pad($padded, 1, $len);
$block = str_split($padded, 32);
foreach ($block as &$b) {
$b = implode('', array_reverse(str_split($b, 8)));
}
return $block;
}
private function pad($bin, $type=0, $len = 0){
if($type == 0){
$bin = $bin."1";
$buff = strlen($bin) % 512;
if($buff != 448){
while(strlen($bin) % 512 != 448){
$bin = $bin."0";
}
}
}
// append length (b) of string to latter 64 bits
elseif($type == 1){
$bLen = $this->leftpad(decbin($len), 64);
$bin .= implode('', array_reverse(str_split($bLen, 8)));
}
return $bin;
}
/* MD5 base functions */
private function F($X, $Y, $Z){
$X = $this->binarySafeHexDec($X);
$Y = $this->binarysafehexdec($Y);
$Z = $this->binarysafehexdec($Z);
$calc = (($X & $Y) | ((~ $X) & $Z)); // X AND Y OR NOT X AND Z
return $calc;
}
private function G($X, $Y, $Z){
$X = $this->binarysafehexdec($X);
$Y = $this->binarysafehexdec($Y);
$Z = $this->binarysafehexdec($Z);
$calc = (($X & $Z) | ($Y & (~ $Z))); // X AND Z OR Y AND NOT Z
return $calc;
}
private function H($X, $Y, $Z){
$X = $this->binarysafehexdec($X);
$Y = $this->binarysafehexdec($Y);
$Z = $this->binarysafehexdec($Z);
$calc = ($X ^ $Y ^ $Z); // X XOR Y XOR Z
return $calc;
}
private function I($X, $Y, $Z){
$X = $this->binarysafehexdec($X);
$Y = $this->binarysafehexdec($Y);
$Z = $this->binarysafehexdec($Z);
$calc = ($Y ^ ($X | (~ $Z))) ; // Y XOR (X OR NOT Z)
return $calc;
}
/* MD5 round functions */
/* $A - hex, $B - hex, $C - hex, $D - hex (F - dec)
$M - binary
$s - decimal
$t - hex
*/
private function FF(&$A, $B, $C, $D, $M, $s, $t){
$A = $this->binarysafehexdec($A);
$t = $this->binarysafehexdec($t);
$M = $this->binarysafebindec($M);
$A = $this->add($A, $this->F($B, $C, $D), $M, $t) & $this->right32; //decimal
$A = $this->rotate($A, $s);
$A = dechex($this->add($this->binarysafehexdec($B), $this->binarysafehexdec($A)) & $this->right32);
}
private function GG(&$A, $B, $C, $D, $M, $s, $t){
$A = $this->binarysafehexdec($A);
$t = $this->binarysafehexdec($t);
$M = $this->binarysafebindec($M);
$A = $this->add($A, $this->G($B, $C, $D), $M, $t) & $this->right32; //decimal
$A = $this->rotate($A, $s);
$A = dechex($this->add($this->binarysafehexdec($B), $this->binarysafehexdec($A)) & $this->right32);
}
private function HH(&$A, $B, $C, $D, $M, $s, $t){
$A = $this->binarysafehexdec($A);
$t = $this->binarysafehexdec($t);
$M = $this->binarysafebindec($M);
$A = $this->add($A, $this->H($B, $C, $D), $M, $t) & $this->right32; //decimal
$A = $this->rotate($A, $s);
$A = dechex($this->add($this->binarysafehexdec($B), $this->binarysafehexdec($A)) & $this->right32);
}
private function II(&$A, $B, $C, $D, $M, $s, $t){
$A = $this->binarysafehexdec($A);
$t = $this->binarysafehexdec($t);
$M = $this->binarysafebindec($M);
$A = $this->add($A, $this->I($B, $C, $D), $M, $t) & $this->right32; //decimal
$A = $this->rotate($A, $s);
$A = dechex($this->add($this->binarysafehexdec($B), $this->binarysafehexdec($A)) & $this->right32);
}
private function rotate ($decimal, $bits)
{
return dechex(($decimal << $bits) | (($decimal >> (32 - $bits)) & ~((~0 << $bits) & $this->right32)));
}
private function addVars(&$a, &$b, &$c, &$d, $A, $B, $C, $D){
$A = $this->binarysafehexdec($A);
$B = $this->binarysafehexdec($B);
$C = $this->binarysafehexdec($C);
$D = $this->binarysafehexdec($D);
$aa = $this->binarysafehexdec($a);
$bb = $this->binarysafehexdec($b);
$cc = $this->binarysafehexdec($c);
$dd = $this->binarysafehexdec($d);
$aa = $this->add($aa, $A) & $this->right32;
$bb = $this->add($bb, $B) & $this->right32;
$cc = $this->add($cc, $C) & $this->right32;
$dd = $this->add($dd, $D) & $this->right32;
$a = dechex($aa);
$b = dechex($bb);
$c = dechex($cc);
$d = dechex($dd);
}
private function leftpad($needs_padding, $alignment) {
if (strlen($needs_padding) % $alignment) {
$pad_amount = $alignment - strlen($needs_padding) % $alignment;
$left_pad = implode('', array_fill(0, $pad_amount, '0'));
$needs_padding = $left_pad . $needs_padding;
}
return $needs_padding;
}
private function binarySafeBinDec($bin)
{
$bits = array_reverse(str_split($bin, 1));
$result = 0;
foreach ($bits as $position => $bit) {
$result |= ((int) $bit) << $position;
}
return $result;
}
private function binarySafeHexDec($hex)
{
$h = str_split(str_pad($hex, 8, '0', STR_PAD_LEFT), 2);
return (hexdec($h[0]) << 24) | (hexdec($h[1]) << 16) | (hexdec($h[2]) << 8) | hexdec($h[3]);
}
private function leftShiftByOne($intAsStr)
{
$p = unpack('N2', $intAsStr);
return pack('N2', ($p[1] << 1) | (($p[2] >> 31) & 0x00000001), $p[2] << 1);
}
private function binarySafeAddition($a, $b)
{
// NB: we don't actually need 64 bits, but 40 bit integers are confusing
$a = "\x00\x00\x00\x00" . pack('N', $a);
$b = "\x00\x00\x00\x00" . pack('N', $b);
$carry = $a & $b;
$result = $a ^ $b;
while ($carry != "\x00\x00\x00\x00\x00\x00\x00\x00") {
$shiftedcarry = $this->leftShiftByOne($carry);
$carry = $result & $shiftedcarry;
$result ^= $shiftedcarry;
}
return current(unpack('N', substr($result, 4)));
}
private function add()
{
$result = 0;
foreach (func_get_args() as $int) {
$result = $this->binarySafeAddition($result, $int);
}
return $result;
}
}
$eahashor = new EAHashor();
$hash = $eahashor->eaEncode('test');
echo $hash;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/CG8ag
function name: (null)
number of ops: 9
compiled vars: !0 = $eahashor, !1 = $hash
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
357 0 E > NEW $2 'EAHashor'
1 DO_FCALL 0
2 ASSIGN !0, $2
358 3 INIT_METHOD_CALL !0, 'eaEncode'
4 SEND_VAL_EX 'test'
5 DO_FCALL 0 $5
6 ASSIGN !1, $5
359 7 ECHO !1
8 > RETURN 1
Class EAHashor:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/CG8ag
function name: __construct
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
8 0 E > ASSIGN_OBJ 'right32'
1 OP_DATA 4294967295
9 2 > RETURN null
End of function __construct
Function eaencode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 875
Branch analysis from position: 875
2 jumps found. (Code = 44) Position 1 = 877, Position 2 = 15
Branch analysis from position: 877
2 jumps found. (Code = 77) Position 1 = 883, Position 2 = 901
Branch analysis from position: 883
2 jumps found. (Code = 78) Position 1 = 884, Position 2 = 901
Branch analysis from position: 884
1 jumps found. (Code = 42) Position 1 = 883
Branch analysis from position: 883
Branch analysis from position: 901
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 901
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 877, Position 2 = 15
Branch analysis from position: 877
Branch analysis from position: 15
filename: /in/CG8ag
function name: eaEncode
number of ops: 904
compiled vars: !0 = $string, !1 = $a, !2 = $b, !3 = $c, !4 = $d, !5 = $words, !6 = $i, !7 = $l, !8 = $A, !9 = $B, !10 = $C, !11 = $D, !12 = $MD5, !13 = $x
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
11 0 E > RECV !0
12 1 ASSIGN !1, '67452301'
13 2 ASSIGN !2, 'EFCDAB89'
14 3 ASSIGN !3, '98BADCFE'
15 4 ASSIGN !4, '10325476'
17 5 INIT_METHOD_CALL 'init'
6 SEND_VAR_EX !0
7 DO_FCALL 0 $18
8 ASSIGN !5, $18
19 9 ASSIGN !6, 0
10 COUNT ~21 !5
11 DIV ~22 ~21, 16
12 SUB ~23 ~22, 1
13 ASSIGN !7, ~23
14 > JMP ->875
20 15 > ASSIGN !8, !1
21 16 ASSIGN !9, !2
22 17 ASSIGN !10, !3
23 18 ASSIGN !11, !4
26 19 INIT_METHOD_CALL 'FF'
20 SEND_VAR_EX !8
21 SEND_VAR_EX !9
22 SEND_VAR_EX !10
23 SEND_VAR_EX !11
24 CHECK_FUNC_ARG
25 MUL ~29 !6, 16
26 ADD ~30 0, ~29
27 FETCH_DIM_FUNC_ARG $31 !5, ~30
28 SEND_FUNC_ARG $31
29 SEND_VAL_EX 7
30 SEND_VAL_EX 'd76aa478'
31 DO_FCALL 0
27 32 INIT_METHOD_CALL 'FF'
33 SEND_VAR_EX !11
34 SEND_VAR_EX !8
35 SEND_VAR_EX !9
36 SEND_VAR_EX !10
37 CHECK_FUNC_ARG
38 MUL ~33 !6, 16
39 ADD ~34 1, ~33
40 FETCH_DIM_FUNC_ARG $35 !5, ~34
41 SEND_FUNC_ARG $35
42 SEND_VAL_EX 12
43 SEND_VAL_EX 'e8c7b756'
44 DO_FCALL 0
28 45 INIT_METHOD_CALL 'FF'
46 SEND_VAR_EX !10
47 SEND_VAR_EX !11
48 SEND_VAR_EX !8
49 SEND_VAR_EX !9
50 CHECK_FUNC_ARG
51 MUL ~37 !6, 16
52 ADD ~38 2, ~37
53 FETCH_DIM_FUNC_ARG $39 !5, ~38
54 SEND_FUNC_ARG $39
55 SEND_VAL_EX 17
56 SEND_VAL_EX '242070db'
57 DO_FCALL 0
29 58 INIT_METHOD_CALL 'FF'
59 SEND_VAR_EX !9
60 SEND_VAR_EX !10
61 SEND_VAR_EX !11
62 SEND_VAR_EX !8
63 CHECK_FUNC_ARG
64 MUL ~41 !6, 16
65 ADD ~42 3, ~41
66 FETCH_DIM_FUNC_ARG $43 !5, ~42
67 SEND_FUNC_ARG $43
68 SEND_VAL_EX 22
69 SEND_VAL_EX 'c1bdceee'
70 DO_FCALL 0
30 71 INIT_METHOD_CALL 'FF'
72 SEND_VAR_EX !8
73 SEND_VAR_EX !9
74 SEND_VAR_EX !10
75 SEND_VAR_EX !11
76 CHECK_FUNC_ARG
77 MUL ~45 !6, 16
78 ADD ~46 4, ~45
79 FETCH_DIM_FUNC_ARG $47 !5, ~46
80 SEND_FUNC_ARG $47
81 SEND_VAL_EX 7
82 SEND_VAL_EX 'f57c0faf'
83 DO_FCALL 0
31 84 INIT_METHOD_CALL 'FF'
85 SEND_VAR_EX !11
86 SEND_VAR_EX !8
87 SEND_VAR_EX !9
88 SEND_VAR_EX !10
89 CHECK_FUNC_ARG
90 MUL ~49 !6, 16
91 ADD ~50 5, ~49
92 FETCH_DIM_FUNC_ARG $51 !5, ~50
93 SEND_FUNC_ARG $51
94 SEND_VAL_EX 12
95 SEND_VAL_EX '4787c62a'
96 DO_FCALL 0
32 97 INIT_METHOD_CALL 'FF'
98 SEND_VAR_EX !10
99 SEND_VAR_EX !11
100 SEND_VAR_EX !8
101 SEND_VAR_EX !9
102 CHECK_FUNC_ARG
103 MUL ~53 !6, 16
104 ADD ~54 6, ~53
105 FETCH_DIM_FUNC_ARG $55 !5, ~54
106 SEND_FUNC_ARG $55
107 SEND_VAL_EX 17
108 SEND_VAL_EX 'a8304613'
109 DO_FCALL 0
33 110 INIT_METHOD_CALL 'FF'
111 SEND_VAR_EX !9
112 SEND_VAR_EX !10
113 SEND_VAR_EX !11
114 SEND_VAR_EX !8
115 CHECK_FUNC_ARG
116 MUL ~57 !6, 16
117 ADD ~58 7, ~57
118 FETCH_DIM_FUNC_ARG $59 !5, ~58
119 SEND_FUNC_ARG $59
120 SEND_VAL_EX 22
121 SEND_VAL_EX 'fd469501'
122 DO_FCALL 0
34 123 INIT_METHOD_CALL 'FF'
124 SEND_VAR_EX !8
125 SEND_VAR_EX !9
126 SEND_VAR_EX !10
127 SEND_VAR_EX !11
128 CHECK_FUNC_ARG
129 MUL ~61 !6, 16
130 ADD ~62 8, ~61
131 FETCH_DIM_FUNC_ARG $63 !5, ~62
132 SEND_FUNC_ARG $63
133 SEND_VAL_EX 7
134 SEND_VAL_EX '698098d8'
135 DO_FCALL 0
35 136 INIT_METHOD_CALL 'FF'
137 SEND_VAR_EX !11
138 SEND_VAR_EX !8
139 SEND_VAR_EX !9
140 SEND_VAR_EX !10
141 CHECK_FUNC_ARG
142 MUL ~65 !6, 16
143 ADD ~66 9, ~65
144 FETCH_DIM_FUNC_ARG $67 !5, ~66
145 SEND_FUNC_ARG $67
146 SEND_VAL_EX 12
147 SEND_VAL_EX '8b44f7af'
148 DO_FCALL 0
36 149 INIT_METHOD_CALL 'FF'
150 SEND_VAR_EX !10
151 SEND_VAR_EX !11
152 SEND_VAR_EX !8
153 SEND_VAR_EX !9
154 CHECK_FUNC_ARG
155 MUL ~69 !6, 16
156 ADD ~70 10, ~69
157 FETCH_DIM_FUNC_ARG $71 !5, ~70
158 SEND_FUNC_ARG $71
159 SEND_VAL_EX 17
160 SEND_VAL_EX 'ffff5bb1'
161 DO_FCALL 0
37 162 INIT_METHOD_CALL 'FF'
163 SEND_VAR_EX !9
164 SEND_VAR_EX !10
165 SEND_VAR_EX !11
166 SEND_VAR_EX !8
167 CHECK_FUNC_ARG
168 MUL ~73 !6, 16
169 ADD ~74 11, ~73
170 FETCH_DIM_FUNC_ARG $75 !5, ~74
171 SEND_FUNC_ARG $75
172 SEND_VAL_EX 22
173 SEND_VAL_EX '895cd7be'
174 DO_FCALL 0
38 175 INIT_METHOD_CALL 'FF'
176 SEND_VAR_EX !8
177 SEND_VAR_EX !9
178 SEND_VAR_EX !10
179 SEND_VAR_EX !11
180 CHECK_FUNC_ARG
181 MUL ~77 !6, 16
182 ADD ~78 12, ~77
183 FETCH_DIM_FUNC_ARG $79 !5, ~78
184 SEND_FUNC_ARG $79
185 SEND_VAL_EX 7
186 SEND_VAL_EX '6b901122'
187 DO_FCALL 0
39 188 INIT_METHOD_CALL 'FF'
189 SEND_VAR_EX !11
190 SEND_VAR_EX !8
191 SEND_VAR_EX !9
192 SEND_VAR_EX !10
193 CHECK_FUNC_ARG
194 MUL ~81 !6, 16
195 ADD ~82 13, ~81
196 FETCH_DIM_FUNC_ARG $83 !5, ~82
197 SEND_FUNC_ARG $83
198 SEND_VAL_EX 12
199 SEND_VAL_EX 'fd987193'
200 DO_FCALL 0
40 201 INIT_METHOD_CALL 'FF'
202 SEND_VAR_EX !10
203 SEND_VAR_EX !11
204 SEND_VAR_EX !8
205 SEND_VAR_EX !9
206 CHECK_FUNC_ARG
207 MUL ~85 !6, 16
208 ADD ~86 14, ~85
209 FETCH_DIM_FUNC_ARG $87 !5, ~86
210 SEND_FUNC_ARG $87
211 SEND_VAL_EX 17
212 SEND_VAL_EX 'a679438e'
213 DO_FCALL 0
41 214 INIT_METHOD_CALL 'FF'
215 SEND_VAR_EX !9
216 SEND_VAR_EX !10
217 SEND_VAR_EX !11
218 SEND_VAR_EX !8
219 CHECK_FUNC_ARG
220 MUL ~89 !6, 16
221 ADD ~90 15, ~89
222 FETCH_DIM_FUNC_ARG $91 !5, ~90
223 SEND_FUNC_ARG $91
224 SEND_VAL_EX 22
225 SEND_VAL_EX '49b40821'
226 DO_FCALL 0
44 227 INIT_METHOD_CALL 'GG'
228 SEND_VAR_EX !8
229 SEND_VAR_EX !9
230 SEND_VAR_EX !10
231 SEND_VAR_EX !11
232 CHECK_FUNC_ARG
233 MUL ~93 !6, 16
234 ADD ~94 1, ~93
235 FETCH_DIM_FUNC_ARG $95 !5, ~94
236 SEND_FUNC_ARG $95
237 SEND_VAL_EX 5
238 SEND_VAL_EX 'f61e2562'
239 DO_FCALL 0
45 240 INIT_METHOD_CALL 'GG'
241 SEND_VAR_EX !11
242 SEND_VAR_EX !8
243 SEND_VAR_EX !9
244 SEND_VAR_EX !10
245 CHECK_FUNC_ARG
246 MUL ~97 !6, 16
247 ADD ~98 6, ~97
248 FETCH_DIM_FUNC_ARG $99 !5, ~98
249 SEND_FUNC_ARG $99
250 SEND_VAL_EX 9
251 SEND_VAL_EX 'c040b340'
252 DO_FCALL 0
46 253 INIT_METHOD_CALL 'GG'
254 SEND_VAR_EX !10
255 SEND_VAR_EX !11
256 SEND_VAR_EX !8
257 SEND_VAR_EX !9
258 CHECK_FUNC_ARG
259 MUL ~101 !6, 16
260 ADD ~102 11, ~101
261 FETCH_DIM_FUNC_ARG $103 !5, ~102
262 SEND_FUNC_ARG $103
263 SEND_VAL_EX 14
264 SEND_VAL_EX '265e5a51'
265 DO_FCALL 0
47 266 INIT_METHOD_CALL 'GG'
267 SEND_VAR_EX !9
268 SEND_VAR_EX !10
269 SEND_VAR_EX !11
270 SEND_VAR_EX !8
271 CHECK_FUNC_ARG
272 MUL ~105 !6, 16
273 ADD ~106 0, ~105
274 FETCH_DIM_FUNC_ARG $107 !5, ~106
275 SEND_FUNC_ARG $107
276 SEND_VAL_EX 20
277 SEND_VAL_EX 'e9b6c7aa'
278 DO_FCALL 0
48 279 INIT_METHOD_CALL 'GG'
280 SEND_VAR_EX !8
281 SEND_VAR_EX !9
282 SEND_VAR_EX !10
283 SEND_VAR_EX !11
284 CHECK_FUNC_ARG
285 MUL ~109 !6, 16
286 ADD ~110 5, ~109
287 FETCH_DIM_FUNC_ARG $111 !5, ~110
288 SEND_FUNC_ARG $111
289 SEND_VAL_EX 5
290 SEND_VAL_EX 'd62f105d'
291 DO_FCALL 0
49 292 INIT_METHOD_CALL 'GG'
293 SEND_VAR_EX !11
294 SEND_VAR_EX !8
295 SEND_VAR_EX !9
296 SEND_VAR_EX !10
297 CHECK_FUNC_ARG
298 MUL ~113 !6, 16
299 ADD ~114 10, ~113
300 FETCH_DIM_FUNC_ARG $115 !5, ~114
301 SEND_FUNC_ARG $115
302 SEND_VAL_EX 9
303 SEND_VAL_EX '02441453'
304 DO_FCALL 0
50 305 INIT_METHOD_CALL 'GG'
306 SEND_VAR_EX !10
307 SEND_VAR_EX !11
308 SEND_VAR_EX !8
309 SEND_VAR_EX !9
310 CHECK_FUNC_ARG
311 MUL ~117 !6, 16
312 ADD ~118 15, ~117
313 FETCH_DIM_FUNC_ARG $119 !5, ~118
314 SEND_FUNC_ARG $119
315 SEND_VAL_EX 14
316 SEND_VAL_EX 'd8a1e681'
317 DO_FCALL 0
51 318 INIT_METHOD_CALL 'GG'
319 SEND_VAR_EX !9
320 SEND_VAR_EX !10
321 SEND_VAR_EX !11
322 SEND_VAR_EX !8
323 CHECK_FUNC_ARG
324 MUL ~121 !6, 16
325 ADD ~122 4, ~121
326 FETCH_DIM_FUNC_ARG $123 !5, ~122
327 SEND_FUNC_ARG $123
328 SEND_VAL_EX 20
329 SEND_VAL_EX 'e7d3fbc8'
330 DO_FCALL 0
52 331 INIT_METHOD_CALL 'GG'
332 SEND_VAR_EX !8
333 SEND_VAR_EX !9
334 SEND_VAR_EX !10
335 SEND_VAR_EX !11
336 CHECK_FUNC_ARG
337 MUL ~125 !6, 16
338 ADD ~126 9, ~125
339 FETCH_DIM_FUNC_ARG $127 !5, ~126
340 SEND_FUNC_ARG $127
341 SEND_VAL_EX 5
342 SEND_VAL_EX '21e1cde6'
343 DO_FCALL 0
53 344 INIT_METHOD_CALL 'GG'
345 SEND_VAR_EX !11
346 SEND_VAR_EX !8
347 SEND_VAR_EX !9
348 SEND_VAR_EX !10
349 CHECK_FUNC_ARG
350 MUL ~129 !6, 16
351 ADD ~130 14, ~129
352 FETCH_DIM_FUNC_ARG $131 !5, ~130
353 SEND_FUNC_ARG $131
354 SEND_VAL_EX 9
355 SEND_VAL_EX 'c33707d6'
356 DO_FCALL 0
54 357 INIT_METHOD_CALL 'GG'
358 SEND_VAR_EX !10
359 SEND_VAR_EX !11
360 SEND_VAR_EX !8
361 SEND_VAR_EX !9
362 CHECK_FUNC_ARG
363 MUL ~133 !6, 16
364 ADD ~134 3, ~133
365 FETCH_DIM_FUNC_ARG $135 !5, ~134
366 SEND_FUNC_ARG $135
367 SEND_VAL_EX 14
Generated using Vulcan Logic Dumper, using php 8.0.0
preferences:
270.3 ms | 1427 KiB | 14 Q