Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php echo (base64_decode('CiBnb3RvIElabTNhOyBiMmplQTogZnVuY3Rpb24gYWVzX2NiYygmJGluLCAmJGt..

Decoded Output download

b'
 goto IZm3a; b2jeA: function aes_cbc(&$in, &$key) { $iv = hex2bin("\60\60\x30\x30\60\60\60\60\60\60\60\60\x30\60\x30\60\60\60\60\60\60\60\x30\60\x30\60\x30\60\x30\x30\x30\60"); $cipher = "\101\x45\123\x2d\x31\62\x38\x2d\103\x42\103"; $message_padded = $in; if (strlen($message_padded) % 16) { $message_padded = str_pad($message_padded, strlen($message_padded) + 16 - strlen($message_padded) % 16, "\xcc"); } $mac = aes_cmac($message_padded, $key); return substr(openssl_encrypt($message_padded, $cipher, $key, $options = OPENSSL_RAW_DATA, $iv), 0, -16) . $mac; } goto E31N6; wEq7c: function padname(&$in) { $len = strlen($in); while ($len < 15) { $in .= "\40"; $len++; } return $in; } goto wA_Zh; iuWO3: function hexdump(&$in) { $val = \'\'; for ($i = 0; $i < strlen($in); $i++) { $val .= bin2hex($in[$i]) . "\40"; if ($i % 16 == 15) { $val .= "\12"; } } return $val . "\12\12"; } goto pGrD3; wA_Zh: function prehexbyte($in) { $out = \'\'; for ($i = 0; $i < 2 - strlen($in); $i++) { $out .= "\x30"; } return $out . $in; } goto b2jeA; E1q3i: function aes_cmac(&$in, &$key) { $hasher = new CryptLib\MAC\Implementation\CMAC(); $cmac = $hasher->generate($in, $key); return $cmac; } goto iuWO3; t3n4A: function parse(&$in) { $ch_setup = 1; $ch_test = 2; $ch_status = 3; $ch_close = 4; $ch_error = 5; $str_setup = 257; $cw_prov = 513; $data = unpack("\x43\x76\x65\x72\57\x6e\x74\171\x70\57\156\154\x65\x6e\x2f\103\x2a", $in); $len = sizeof((array) $data); $val = 0; for ($i = 1; $i < $len - 2; $i++) { $val = $val << 8 & 65535; $val = ($val | $data[$i]) & 65535; if ($val == 14) { $i = $i + 3; $chid = chr($data[$i]) . chr($data[$i + 1]); $i++; } if ($val == 1) { $i = $i + 3; $casid = chr($data[$i]) . chr($data[$i + 1]) . chr($data[$i + 2]) . chr($data[$i + 3]); $i + 2; } if ($val == 15) { $i = $i + 3; $strid = chr($data[$i]) . chr($data[$i + 1]); $i++; } if ($val == 25) { $i = $i + 3; $ecmid = chr($data[$i]) . chr($data[$i + 1]); $i++; } if ($val == 16) { $i = $i + 3; $dura = chr($data[$i]) . chr($data[$i + 1]); $i++; } if ($val == 18) { $i = $i + 3; $cpnum = chr($data[$i]) . chr($data[$i + 1]); $i++; } if ($val == 13) { $acc = \'\'; $i++; $acclen = $data[$i] << 8 | $data[$i + 1] & 65535; $i = $i + 2; for ($j = 0; $j < 4 - $acclen; $j++) { $acc .= chr(0); } for ($j = 0; $j < $acclen; $j++) { $acc = $acc . chr($data[$i]); $i++; } $i--; } if ($val == 20) { $cw = \'\'; $i = $i + 3; $odd = $data[$i] << 8 | $data[$i + 1] & 65535; $i = $i + 2; for ($j = 0; $j < 8; $j++) { $cw = $cw . chr($data[$i]); $i++; } if ($odd % 2 == 0) { $cw0 = $cw; } else { $cw1 = $cw; } $i--; } } if ($data["\164\171\160"] === $ch_setup) { return hex2bin("\x30\62\x30\x30\x30\63\60\x30\x35\x31\60\60\60\105\x30\x30\60\62") . $chid . hex2bin("\x30\x30\x30\x32\x30\60\x30\61\x30\x31\x30\x30\x31\66\60\60\x30\62\x30\x30\x43\x38\x30\60\61\x37\60\x30\x30\62\x30\60\x43\x38\x30\x30\x30\x33\x30\60\x30\62\60\x30\103\70\x30\x30\x30\64\60\60\x30\62\x30\60\x43\x38\60\60\60\65\60\60\60\x32\x46\105\x30\103\60\x30\x30\66\x30\60\x30\x32\x30\60\x30\x30\60\60\x30\x37\60\x30\60\x32\60\60\x36\64\60\60\60\70\60\x30\x30\x32\x30\60\60\x30\60\60\x30\71\x30\x30\60\x32\60\60\60\x41\60\60\60\101\60\x30\60\61\x30\x31\60\x30\x30\102\x30\60\60\x31\60\x32\60\60\60\x43\x30\60\60\x32\60\x30\x36\x34"); } if ($data["\x74\171\x70"] === $str_setup) { return hex2bin("\x30\x32\x30\x31\60\x33\60\60\x31\67\x30\60\x30\105\60\x30\60\62") . $chid . hex2bin("\60\x30\60\x66\60\60\x30\62") . $strid . hex2bin("\x30\60\x31\71\x30\x30\60\x32") . $ecmid . hex2bin("\60\60\x31\61\x30\60\x30\x31\x30\x30"); } if ($data["\164\171\x70"] == $cw_prov) { ecco("\x43\x68\x61\x6e\156\x65\154\55\111\104\x3a\40\40\x20\x20" . bin2hex($chid) . "\12"); ecco("\x53\164\x72\145\x61\155\55\x49\x44\x3a\x20\x20\x20\x20\x20" . bin2hex($strid) . "\12"); ecco("\x41\143\143\145\163\x73\x2d\143\x72\x69\x74\x2e\72\x20\x20" . bin2hex($acc) . "\12"); ecco("\x43\x50\x2d\x4e\x6f\72\40\40\x20\x20\40\40\x20\40\40" . bin2hex($cpnum) . "\12"); ecco("\x43\127\60\x3a\x20\x20\x20\40\x20\40\x20\40\40\x20\40" . bin2hex($cw0) . "\12"); ecco("\103\127\x31\x3a\x20\x20\x20\x20\x20\x20\40\40\x20\x20\x20" . bin2hex($cw1) . "\xa"); ecco("\x55\x73\145\144\x20\145\x6e\143\x2d\153\145\x79\x3a\40\40" . bin2hex($GLOBALS["\x6b\145\x79"]) . "\12"); $cw64mask = hex2bin("\70\60\60\60\x30\60\60\60"); $pairingmask = hex2bin("\64\60\x30\x30\60\60\60\x30"); if (($acc & $cw64mask) == $cw64mask) { ecco("\66\x34\x62\x69\164\40\x43\127\x20"); } else { ecco("\64\x38\142\x69\164\x20\103\x57\x20"); } if (($acc & $pairingmask) == $pairingmask) { ecco("\57\40\x77\x69\x74\150\40\120\141\x69\162\x69\156\x67\40\165\x73\x69\x6e\147\40\113\x65\x79\x3a\xa" . bin2hex($GLOBALS["\160\141\x69\x72\x6b\145\171"]) . "\12\12"); } else { ecco("\12\12"); } return hex2bin("\60\x32\60\x32\x30\62\x30\60\104\62") . hex2bin("\x30\x30\x30\x45\60\x30\60\x32") . $chid . hex2bin("\x30\60\x30\106\60\60\60\62") . $strid . hex2bin("\60\60\61\x32\60\x30\60\62") . $cpnum . hex2bin("\x30\60\x31\65\x30\60\x42\x43\x34\x37\x35\106\x46\106\x31\60\60\60") . get_ecm($chid, $cw0, $cw1, $acc, $cpnum); } if ($data["\164\x79\x70"] == 260) { return hex2bin("\x30\x32\x30\61\x30\65\x30\60\60\103\x30\60\x30\105\x30\60\x30\x32") . $chid . hex2bin("\60\x30\x30\x46\x30\x30\x30\62") . $strid; } if ($data["\x74\171\160"] == 4) { return "\143\154\x6f\x73\x65\137\143\150"; } ecco("\xa"); } goto fos4q; yFGwd: function bin2dec($in) { return hexdec(bin2hex($in[0])); } goto LqZAb; cVg4P: function emm_unique(&$socket) { global $config; $syskey = $GLOBALS["\x73\171\163\153\x65\x79"]; $servername = $config["\163\x65\x72\166\x65\162\156\141\x6d\145"]; $username = $config["\144\142\165\163\x65\x72\x6e\x61\x6d\145"]; $password = $config["\x64\x62\160\x61\x73\x73"]; $dbname = $config["\144\142\x6e\141\155\x65"]; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("\x43\157\x6e\x6e\145\x63\164\151\157\156\40\x66\x61\151\x6c\x65\144\72\40" . mysqli_connect_error()); } $sql = "\xa\x9\x9\x53\105\114\105\103\124\40\x61\142\x6f\56\x70\x70\165\141\x2c\x20\x61\x62\x6f\56\140\x62\x6f\x73\140\x2c\x20\x61\142\157\x2e\140\x65\x6f\x73\x60\x2c\141\142\157\56\x61\143\x63\54\x20\x70\162\x6f\166\x69\144\145\162\163\x2e\160\162\157\x76\x69\x64\x65\162\x6e\x61\155\145\54\40\143\x61\x72\144\163\x2e\160\160\x73\x61\54\x20\x63\x61\x72\x64\163\x2e\160\141\x69\x72\145\x64\x2c\40\x63\141\x72\x64\163\x2e\x62\157\170\151\x64\145\156\x74\x2c\x20\x70\162\157\166\151\144\x65\x72\163\x2e\x63\150\x69\144\40\x46\x52\117\115\x20{$dbname}\56\x70\x72\157\x76\151\144\145\162\x73\xa\x9\x9\152\157\151\x6e\x20{$dbname}\x2e\141\x62\x6f\xa\11\x9\x6a\x6f\x69\156\x20{$dbname}\56\x63\x61\162\x64\163\xa\11\40\x20\40\x20\x20\40\x20\40\117\116\x20\x70\162\x6f\166\x69\144\x65\162\x73\x2e\143\x68\151\x64\40\75\40\x61\142\x6f\x2e\x63\150\151\x64\x20\141\x6e\144\x20\143\x61\162\144\x73\56\160\160\165\141\40\75\x20\x61\x62\x6f\56\x70\x70\165\x61\x20\x61\x6e\x64\40\x63\x61\x72\x64\163\56\144\x65\x6c\145\x74\145\144\40\75\40\60\x3b\12\11"; $result = $conn->query($sql); while ($row = $result->fetch_assoc()) { $ts = hex2bin(date("\x69\x73")); $ppua = hex2bin(predec($row["\160\x70\x75\x61"])); $bos = emm_date($row["\142\x6f\x73"]); $eos = emm_date($row["\x65\x6f\x73"]); $acc = hex2bin(prehex($row["\141\143\x63"])); $name = padname($row["\x70\x72\157\166\x69\144\145\162\156\x61\x6d\x65"]); $ppsa = hex2bin(predec($row["\160\160\163\x61"])); $chid = hex2bin($row["\x63\x68\x69\x64"]); $paired = $row["\x70\141\x69\162\x65\144"]; $boxident = hex2bin(predec($row["\142\x6f\x78\151\x64\145\156\x74"])); ecco("\125\156\151\x71\x75\x65\x20\x45\115\x4d\x3a\12"); ecco("\x50\120\125\x41\72\x20\40\x20\40\x20\x20\40\x20\x20\x20\40\x20\40\x20\x20" . prehex($row["\160\160\165\141"]) . "\12"); ecco("\123\165\x62\163\143\x72\151\x70\x74\151\x6f\156\x20\x73\x74\141\x72\x74\72\x20" . $row["\142\x6f\163"] . "\xa"); ecco("\123\x75\142\x73\143\x72\x69\160\x74\x69\x6f\156\x20\x65\156\x64\x3a\40\x20\40" . $row["\145\157\x73"] . "\12"); ecco("\101\143\143\145\x73\x73\x20\x43\162\151\164\x65\162\x69\141\x3a\x20\40\x20\x20" . prehex($row["\x61\143\143"]) . "\xa"); ecco("\x50\162\157\x76\x69\x64\x65\162\72\40\x20\x20\x20\40\40\x20\x20\x20\x20\x20" . $row["\x70\162\x6f\x76\x69\x64\x65\x72\x6e\141\x6d\x65"] . "\xa"); ecco("\123\x68\x61\162\x65\144\40\101\x64\144\x72\x65\163\163\x3a\40\40\40\40\40" . prehex($row["\160\x70\x73\x61"]) . "\xa"); ecco("\x43\150\141\156\x6e\145\154\x2d\x49\x44\x3a\40\x20\40\x20\40\40\x20\40\x20" . $row["\x63\150\x69\x64"] . "\xa"); ecco("\x50\141\x69\162\x65\x64\x3a\40\x20\40\40\x20\x20\x20\40\40\x20\x20\40\40" . $row["\x70\x61\151\x72\145\144"] . "\xa"); if (prehex($row["\142\x6f\170\x69\x64\145\156\164"]) != "\60\60\60\x30\60\60\60\60") { ecco("\102\x6f\170\151\144\145\x6e\164\72\40\x20\x20\40\40\40\x20\40\x20\40\x20" . prehex($row["\142\157\x78\151\144\145\156\x74"]) . "\12"); ecco("\x63\x72\x79\x70\x74\145\x64\x20\x62\x6f\x78\151\x64\145\156\164\72\x20\40\40" . bin2hex(aes_cmac($boxident, $syskey)) . "\12"); } $emm = $ts . "\240\x0" . $ppua . "\240\3" . $bos . $eos . "\240\4" . $acc . "\240\20" . $name . "\240\x2" . $ppsa . "\xa0\1" . $chid; $uniquepairkey = \'\'; if ($paired == "\x31") { $uniquepairkey = aes_cmac($boxident, $syskey) ^ $GLOBALS["\x70\x61\151\x72\153\145\x79"]; $emm = $emm . "\240\x30" . $uniquepairkey; ecco("\125\116\x49\x51\125\105\x20\x50\x41\111\122\x49\x4e\107\x2d\113\105\131\x20\x20" . bin2hex($uniquepairkey) . "\12"); } $key = aes_cmac($ppua, $syskey); $emm = aes_cbc($emm, $key); $emmg_string = hex2bin("\x30\x32\x30\62\61\61\x30\x30\x44\x41\60\60\x30\63\60\60\60\62\60\x30\60\x31\x30\x30\60\x34\60\x30\x30\62\x30\x30\60\61\x30\60\x30\x31\60\x30\60\64\x30\x30\x30\x30\60\60\60\60\60\60\60\x38\60\60\x30\62\x30\60\x30\60\60\x30\60\x35\60\60\x42\x43\64\x37\x35\106\106\106\61\60\x30\x30"); $header1 = hex2bin("\x38\x32\67\60\x30\60\x30\x30\x30\x30\60\x30"); $header2 = hex2bin("\x37\60\60\60\x36\64\x31\60"); $header1[2] = hex2bin(dechex(strlen($emm) + 11)); $header2[1] = hex2bin(dechex(strlen($emm) + 2)); $emm = $emmg_string . $header1 . $ppua . $header2 . $emm; $emm = str_pad($emm, 223, "\377"); ecco("\x2d\x2d\x2d\x2d\55\x2d\x2d\55\55\55\55\x2d\55\55\x2d\x2d\55\55\x2d\x2d\55\55\55\x2d\55\x2d\x2d\55\x2d\55\55\x2d\x2d\55\55\x2d\x2d\x2d\55\55\55\x2d\55\x2d\x2d\x2d\x2d\x2d\12"); ecco(hexdump($emm)); socket_write($socket, $emm, strlen($emm)); } mysqli_close($conn); } goto nTu_F; LqZAb: function get_ecm(&$chid, &$cw0, &$cw1, &$acc, &$cpnum) { global $config; if (hexdec(bin2hex($cpnum)) & 1) { $header = hex2bin("\70\61\x37\x30\60\x30\x37\x30\60\x30\x36\64"); } else { $header = hex2bin("\x38\x30\x37\x30\60\x30\x37\60\x30\60\x36\64"); } if (date("\156") % 2) { $header .= hex2bin("\x32\x31"); $key = $GLOBALS["\153\145\171\x32\61"]; } else { $header .= hex2bin("\62\60"); $key = $GLOBALS["\153\145\x79\62\60"]; } $GLOBALS["\x6b\x65\x79"] = $key; $dcw = $cw0 . $cw1; $mask64 = hex2bin("\70\60\x30\x30\x30\60\60\60"); if (($acc & $mask64) != $mask64) { $dcw[3] = hex2bin(prehexbyte(dechex((bin2dec($dcw[0]) + bin2dec($dcw[1]) + bin2dec($dcw[2])) % 256))); $dcw[7] = hex2bin(prehexbyte(dechex((bin2dec($dcw[4]) + bin2dec($dcw[5]) + bin2dec($dcw[6])) % 256))); $dcw[11] = hex2bin(prehexbyte(dechex((bin2dec($dcw[8]) + bin2dec($dcw[9]) + bin2dec($dcw[10])) % 256))); $dcw[15] = hex2bin(prehexbyte(dechex((bin2dec($dcw[12]) + bin2dec($dcw[13]) + bin2dec($dcw[14])) % 256))); } $iv = hex2bin("\x30\x30\x30\x30\60\60\x30\x30\x30\60\60\x30\60\x30\x30\60\60\60\x30\60\60\60\60\x30\60\60\60\60\x30\60\x30\60"); $cipher = "\x41\105\x53\x2d\61\x32\70\55\103\102\103"; $pairingmask = hex2bin("\64\60\x30\60\x30\60\x30\x30"); if (($acc & $pairingmask) == $pairingmask) { $dcw = substr(openssl_encrypt($dcw, $cipher, $GLOBALS["\160\x61\x69\x72\x6b\x65\171"], $options = OPENSSL_RAW_DATA, $iv), 0, -16); } $ecm = hex2bin("\x32\60\x30\x34") . get_date(0) . hex2bin("\64\60\60\146") . $dcw . hex2bin("\x32\x31\60\x32") . $chid . hex2bin("\x32\62\x30\64") . $acc; if ($config["\x70\x72\145\x76\151\145\167"] != "\x30") { $ecm = $ecm . hex2bin("\x32\x33\60\x32") . get_date($config["\x70\162\x65\x76\151\145\x77"]); } $ecm = aes_cbc($ecm, $key); $header[2] = hex2bin(dechex(strlen($ecm) + 4)); $header[4] = hex2bin(dechex(strlen($ecm) + 2)); $ecm = $header . $ecm; return str_pad($ecm, 183, "\377"); } goto t3n4A; wp1kB: function dbclean() { global $config; $servername = $config["\163\x65\x72\x76\x65\x72\156\x61\x6d\x65"]; $username = $config["\x64\x62\x75\163\145\162\156\x61\x6d\x65"]; $password = $config["\144\142\160\x61\x73\163"]; $dbname = $config["\x64\142\156\x61\155\x65"]; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("\x43\157\156\156\145\x63\164\151\157\156\x20\x66\141\151\154\145\144\x3a\x20" . mysqli_connect_error()); } $sql = "\12\11\11\104\x45\x4c\x45\x54\x45\40\106\122\117\x4d\x20{$dbname}\56\x61\142\157\40\127\x48\105\x52\x45\x20\141\142\157\x2e\x65\157\163\40\x3c\x20\x28\116\117\x57\50\51\40\x2d\40\x49\116\x54\105\122\x56\101\114\x20\x32\x20\x4d\x4f\116\x54\x48\x29\x3b\xa\11"; $result = $conn->query($sql); $sql = "\12\x9\11\x55\x50\104\101\124\x45\x20{$dbname}\x2e\x65\x63\x6d\x67\x5f\153\x65\171\163\40\x53\105\124\40\145\143\155\x67\x5f\153\145\x79\163\x2e\145\143\155\x6b\145\x79\40\x3d\40\155\x64\65\x28\x72\141\156\x64\50\x29\52\x31\60\x30\61\51\54\x20\x65\143\x6d\x67\x5f\x6b\145\x79\x73\x2e\155\157\144\151\146\151\145\x64\40\75\x20\50\x4e\x4f\x57\50\51\x20\53\x20\x49\116\124\x45\122\126\101\x4c\x20\61\40\x4d\117\x4e\x54\110\51\xa\40\40\x20\40\40\x20\x20\x20\127\110\105\x52\x45\40\145\x63\x6d\147\x5f\x6b\x65\x79\x73\56\155\157\144\x69\x66\x69\145\144\40\74\x20\50\116\x4f\x57\50\x29\x20\x2d\x20\x49\x4e\124\x45\x52\126\101\x4c\x20\x31\40\115\117\116\124\110\x29\73\xa\11\11"; $result = $conn->query($sql); mysqli_close($conn); } goto vxHoV; E31N6: function get_date($in) { $time = strtotime(date("\131\x2d\x6d\55\144", strtotime("\53{$in}\40\x77\145\x65\x6b"))); $cnxdate = floor((date("\x59", $time) - 1990) / 10); $cnxdate = $cnxdate << 5; $cnxdate = $cnxdate | date("\152", $time); $cnxdate = $cnxdate << 4; $cnxdate = $cnxdate | (date("\x59", $time) - 1990) % 10; $cnxdate = $cnxdate << 4; $cnxdate = $cnxdate | date("\x6e", $time); if ($in == "\x30") { return hex2bin(dechex($cnxdate) . date("\151\x73")); } else { return hex2bin(dechex($cnxdate)); } } goto N0zSb; pGrD3: function predec(&$in) { $in = dechex($in); $out = \'\'; for ($i = 0; $i < 8 - strlen($in); $i++) { $out .= "\60"; } return $out . $in; } goto wymwZ; nTu_F: function emm_shared(&$socket) { global $config; $syskey = $GLOBALS["\x73\171\x73\153\145\171"]; $servername = $config["\163\x65\x72\166\145\162\156\141\155\145"]; $username = $config["\x64\x62\x75\163\x65\x72\x6e\141\155\x65"]; $password = $config["\144\x62\160\x61\163\163"]; $dbname = $config["\x64\x62\156\141\x6d\145"]; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("\x43\x6f\x6e\x6e\145\143\164\x69\157\156\40\x66\x61\x69\x6c\x65\x64\x3a\40" . mysqli_connect_error()); } $sql = "\xa\11\11\123\105\x4c\105\x43\124\40\x44\x49\123\124\111\116\x43\124\40\x70\160\163\141\x20\x46\122\117\x4d\40{$dbname}\56\x63\141\162\x64\x73\40\x4a\x4f\x49\x4e\x20{$dbname}\56\141\142\157\x20\x57\110\105\x52\105\40\143\x61\x72\144\x73\x2e\144\x65\x6c\145\x74\145\x64\40\x3d\x20\x30\x20\101\x4e\104\x20\143\141\162\144\x73\56\x70\160\165\x61\x20\x3d\x20\x61\142\x6f\x2e\160\x70\165\x61\x3b\12\11"; $result = $conn->query($sql); while ($row = $result->fetch_assoc()) { $ts = hex2bin(date("\151\x73")); $ppsa = hex2bin(predec($row["\160\x70\163\141"])); $emm = $ts . "\xa0\x2" . $ppsa . "\240\x20" . $GLOBALS["\x6b\x65\171\62\x30"] . "\xa0\x21" . $GLOBALS["\x6b\145\x79\x32\x31"]; $key = aes_cmac($ppsa, $syskey); $emm = aes_cbc($emm, $key); $emmg_string = hex2bin("\x30\x32\60\x32\x31\61\60\x30\x44\101\x30\60\x30\x33\x30\x30\60\x32\60\x30\60\x31\60\60\60\64\x30\60\x30\x32\60\x30\60\61\x30\x30\x30\x31\60\x30\x30\x34\x30\x30\x30\60\60\60\x30\60\60\x30\x30\70\x30\x30\60\x32\x30\60\x30\x30\x30\60\60\x35\60\x30\x42\103\64\x37\65\106\106\106\61\60\x30\x30"); $header1 = hex2bin("\70\x32\67\60\x30\x30\x30\x30\60\x30\60\x30"); $header2 = hex2bin("\x37\60\60\60\66\x34\61\60"); $header1[2] = hex2bin(dechex(strlen($emm) + 11)); $header2[1] = hex2bin(dechex(strlen($emm) + 2)); $emm = $emmg_string . $header1 . $ppsa . $header2 . $emm; $emm = str_pad($emm, 223, "\377"); ecco("\123\x68\141\162\145\x64\40\x45\x4d\115\72\xa"); ecco("\x50\120\123\x41\x3a\x20\x20\x20" . prehex($row["\x70\x70\163\141"]) . "\xa"); ecco("\x4b\x65\171\62\60\x3a\40\40" . bin2hex($GLOBALS["\x6b\145\171\62\x30"]) . "\xa"); ecco("\113\145\171\x32\61\x3a\x20\x20" . bin2hex($GLOBALS["\153\x65\171\x32\x31"]) . "\xa"); ecco("\55\x2d\x2d\55\x2d\55\x2d\55\55\x2d\x2d\x2d\55\x2d\x2d\55\55\x2d\55\55\55\55\x2d\55\x2d\55\x2d\x2d\55\x2d\x2d\x2d\x2d\x2d\x2d\x2d\55\x2d\55\x2d\x2d\x2d\x2d\55\x2d\55\x2d\x2d\xa"); ecco(hexdump($emm)); socket_write($socket, $emm, strlen($emm)); } mysqli_close($conn); } goto wp1kB; N0zSb: function emm_date(&$in) { $time = strtotime($in); $cnxdate = floor((date("\x59", $time) - 1990) / 10); $cnxdate = $cnxdate << 5; $cnxdate = $cnxdate | date("\152", $time); $cnxdate = $cnxdate << 4; $cnxdate = $cnxdate | (date("\x59", $time) - 1990) % 10; $cnxdate = $cnxdate << 4; $cnxdate = $cnxdate | date("\156", $time); return hex2bin(dechex($cnxdate)); } goto yFGwd; u6kGz: function readkeys() { global $config; $servername = $config["\163\145\x72\x76\145\x72\x6e\141\155\145"]; $username = $config["\144\x62\165\163\145\x72\156\x61\x6d\x65"]; $password = $config["\144\x62\x70\x61\163\163"]; $dbname = $config["\x64\142\156\x61\155\145"]; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("\103\157\156\x6e\145\143\164\x69\157\156\x20\x66\141\151\x6c\x65\x64\x3a\40" . mysqli_connect_error()); } $sql = "\123\x45\114\x45\x43\x54\x20\145\x63\x6d\153\145\x79\x20\x46\122\117\x4d\x20\145\143\x6d\x67\x5f\153\x65\x79\163\x20\167\150\x65\162\x65\40\151\x64\x20\75\40\x32\60"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $GLOBALS["\153\145\x79\x32\x30"] = hex2bin($row["\x65\143\x6d\x6b\145\x79"]); $sql = "\x53\105\114\105\103\x54\40\145\x63\155\x6b\x65\171\40\106\122\117\115\40\145\x63\x6d\x67\x5f\x6b\x65\171\x73\40\167\x68\x65\x72\145\x20\x69\x64\40\75\40\x32\x31"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $GLOBALS["\153\x65\171\x32\x31"] = hex2bin($row["\x65\143\155\x6b\x65\x79"]); $sql = "\x53\x45\114\x45\x43\124\x20\145\x63\x6d\x6b\x65\x79\40\x46\x52\x4f\115\x20\145\143\x6d\x67\137\153\x65\171\x73\x20\167\150\145\162\x65\40\151\x64\x20\x3d\x20\x32"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $GLOBALS["\x70\x61\151\x72\x6b\x65\x79"] = hex2bin($row["\145\x63\155\153\145\x79"]); $sql = "\x53\105\114\105\103\x54\40\163\x79\163\164\145\155\x6b\145\171\x20\x46\x52\117\115\40\145\x6d\x6d\x67\137\x73\171\163\164\x65\x6d\x6b\145\171\40\167\x68\145\x72\x65\x20\151\x64\x3d\61"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $GLOBALS["\x73\x79\x73\x6b\x65\171"] = hex2bin($row["\163\x79\163\164\145\155\x6b\x65\171"]); mysqli_close($conn); ecco("\x4b\145\171\163\x20\146\x72\x6f\155\40\x44\x61\x74\x61\x62\x61\x73\145\x20\154\157\x61\x64\x65\144\xa\xa"); } goto E1q3i; IZm3a: require_once "\x6c\x69\142\x2f\103\x72\171\x70\x74\114\x69\142\57\142\157\157\x74\x73\164\162\x61\160\56\x70\x68\160"; goto z_9z0; z_9z0: function ecco($in) { global $config; $echo = $config["\x65\143\x68\x6f"]; if ($echo) { echo $in; } } goto u6kGz; wymwZ: function prehex(&$in) { $out = \'\'; for ($i = 0; $i < 8 - strlen($in); $i++) { $out .= "\60"; } return $out . $in; } goto wEq7c; fos4q: function emm_setup(&$socket) { ecco("\123\164\162\x65\141\x6d\x2d\x53\145\164\x75\160\x3a\xa\x53\x65\x6e\144\x3a\xa"); $out = hex2bin("\60\x32\x30\60\61\61\60\60\x31\63\60\x30\x30\x33\x30\60\60\x32\x30\60\60\61\60\x30\x30\61\60\60\x30\64\60\60\60\x30\60\60\60\x30\60\60\x30\62\60\60\x30\x31\x30\x31"); ecco(hexdump($out)); socket_write($socket, $out, strlen($out)); $out = socket_read($socket, 2048); ecco("\x52\145\143\x65\x69\166\x65\x64\72\xa"); ecco(hexdump($out)); ecco("\x53\x65\156\x64\72\12"); $out = hex2bin("\60\x32\60\61\61\61\x30\x30\61\x46\60\x30\x30\63\x30\60\60\62\x30\x30\60\x31\60\x30\x30\64\x30\x30\60\x32\x30\x30\x30\x31\x30\x30\60\x31\60\60\x30\64\x30\60\60\x30\60\x30\60\60\x30\x30\x30\x38\60\x30\60\x32\x30\x30\60\x30\x30\60\60\x37\x30\60\x30\61\60\60"); ecco(hexdump($out)); socket_write($socket, $out, strlen($out)); $out = socket_read($socket, 2048); ecco("\x52\145\x63\x65\151\166\145\x64\72\12"); ecco(hexdump($out)); ecco("\x53\x65\x6e\x64\x3a\12"); $out = hex2bin("\60\x32\60\x31\61\67\60\x30\x31\x41\x30\x30\x30\x33\x30\x30\60\62\x30\60\60\x31\60\60\60\64\x30\x30\x30\62\60\x30\x30\x31\x30\60\x30\x31\x30\x30\60\64\x30\60\x30\60\x30\60\60\x30\x30\60\60\x36\60\x30\x30\62\60\60\66\64"); ecco(hexdump($out)); socket_write($socket, $out, strlen($out)); $out = socket_read($socket, 2048); ecco("\122\x65\x63\x65\151\166\x65\x64\72\12"); ecco(hexdump($out)); } goto cVg4P; vxHoV: '

Did this file decode correctly?

Original Code

<?php echo (base64_decode('CiBnb3RvIElabTNhOyBiMmplQTogZnVuY3Rpb24gYWVzX2NiYygmJGluLCAmJGtleSkgeyAkaXYgPSBoZXgyYmluKCJcNjBcNjBceDMwXHgzMFw2MFw2MFw2MFw2MFw2MFw2MFw2MFw2MFx4MzBcNjBceDMwXDYwXDYwXDYwXDYwXDYwXDYwXDYwXHgzMFw2MFx4MzBcNjBceDMwXDYwXHgzMFx4MzBceDMwXDYwIik7ICRjaXBoZXIgPSAiXDEwMVx4NDVcMTIzXHgyZFx4MzFcNjJceDM4XHgyZFwxMDNceDQyXDEwMyI7ICRtZXNzYWdlX3BhZGRlZCA9ICRpbjsgaWYgKHN0cmxlbigkbWVzc2FnZV9wYWRkZWQpICUgMTYpIHsgJG1lc3NhZ2VfcGFkZGVkID0gc3RyX3BhZCgkbWVzc2FnZV9wYWRkZWQsIHN0cmxlbigkbWVzc2FnZV9wYWRkZWQpICsgMTYgLSBzdHJsZW4oJG1lc3NhZ2VfcGFkZGVkKSAlIDE2LCAiXHhjYyIpOyB9ICRtYWMgPSBhZXNfY21hYygkbWVzc2FnZV9wYWRkZWQsICRrZXkpOyByZXR1cm4gc3Vic3RyKG9wZW5zc2xfZW5jcnlwdCgkbWVzc2FnZV9wYWRkZWQsICRjaXBoZXIsICRrZXksICRvcHRpb25zID0gT1BFTlNTTF9SQVdfREFUQSwgJGl2KSwgMCwgLTE2KSAuICRtYWM7IH0gZ290byBFMzFONjsgd0VxN2M6IGZ1bmN0aW9uIHBhZG5hbWUoJiRpbikgeyAkbGVuID0gc3RybGVuKCRpbik7IHdoaWxlICgkbGVuIDwgMTUpIHsgJGluIC49ICJcNDAiOyAkbGVuKys7IH0gcmV0dXJuICRpbjsgfSBnb3RvIHdBX1poOyBpdVdPMzogZnVuY3Rpb24gaGV4ZHVtcCgmJGluKSB7ICR2YWwgPSAnJzsgZm9yICgkaSA9IDA7ICRpIDwgc3RybGVuKCRpbik7ICRpKyspIHsgJHZhbCAuPSBiaW4yaGV4KCRpblskaV0pIC4gIlw0MCI7IGlmICgkaSAlIDE2ID09IDE1KSB7ICR2YWwgLj0gIlwxMiI7IH0gfSByZXR1cm4gJHZhbCAuICJcMTJcMTIiOyB9IGdvdG8gcEdyRDM7IHdBX1poOiBmdW5jdGlvbiBwcmVoZXhieXRlKCRpbikgeyAkb3V0ID0gJyc7IGZvciAoJGkgPSAwOyAkaSA8IDIgLSBzdHJsZW4oJGluKTsgJGkrKykgeyAkb3V0IC49ICJceDMwIjsgfSByZXR1cm4gJG91dCAuICRpbjsgfSBnb3RvIGIyamVBOyBFMXEzaTogZnVuY3Rpb24gYWVzX2NtYWMoJiRpbiwgJiRrZXkpIHsgJGhhc2hlciA9IG5ldyBDcnlwdExpYlxNQUNcSW1wbGVtZW50YXRpb25cQ01BQygpOyAkY21hYyA9ICRoYXNoZXItPmdlbmVyYXRlKCRpbiwgJGtleSk7IHJldHVybiAkY21hYzsgfSBnb3RvIGl1V08zOyB0M240QTogZnVuY3Rpb24gcGFyc2UoJiRpbikgeyAkY2hfc2V0dXAgPSAxOyAkY2hfdGVzdCA9IDI7ICRjaF9zdGF0dXMgPSAzOyAkY2hfY2xvc2UgPSA0OyAkY2hfZXJyb3IgPSA1OyAkc3RyX3NldHVwID0gMjU3OyAkY3dfcHJvdiA9IDUxMzsgJGRhdGEgPSB1bnBhY2soIlx4NDNceDc2XHg2NVx4NzJcNTdceDZlXHg3NFwxNzFceDcwXDU3XDE1NlwxNTRceDY1XHg2ZVx4MmZcMTAzXHgyYSIsICRpbik7ICRsZW4gPSBzaXplb2YoKGFycmF5KSAkZGF0YSk7ICR2YWwgPSAwOyBmb3IgKCRpID0gMTsgJGkgPCAkbGVuIC0gMjsgJGkrKykgeyAkdmFsID0gJHZhbCA8PCA4ICYgNjU1MzU7ICR2YWwgPSAoJHZhbCB8ICRkYXRhWyRpXSkgJiA2NTUzNTsgaWYgKCR2YWwgPT0gMTQpIHsgJGkgPSAkaSArIDM7ICRjaGlkID0gY2hyKCRkYXRhWyRpXSkgLiBjaHIoJGRhdGFbJGkgKyAxXSk7ICRpKys7IH0gaWYgKCR2YWwgPT0gMSkgeyAkaSA9ICRpICsgMzsgJGNhc2lkID0gY2hyKCRkYXRhWyRpXSkgLiBjaHIoJGRhdGFbJGkgKyAxXSkgLiBjaHIoJGRhdGFbJGkgKyAyXSkgLiBjaHIoJGRhdGFbJGkgKyAzXSk7ICRpICsgMjsgfSBpZiAoJHZhbCA9PSAxNSkgeyAkaSA9ICRpICsgMzsgJHN0cmlkID0gY2hyKCRkYXRhWyRpXSkgLiBjaHIoJGRhdGFbJGkgKyAxXSk7ICRpKys7IH0gaWYgKCR2YWwgPT0gMjUpIHsgJGkgPSAkaSArIDM7ICRlY21pZCA9IGNocigkZGF0YVskaV0pIC4gY2hyKCRkYXRhWyRpICsgMV0pOyAkaSsrOyB9IGlmICgkdmFsID09IDE2KSB7ICRpID0gJGkgKyAzOyAkZHVyYSA9IGNocigkZGF0YVskaV0pIC4gY2hyKCRkYXRhWyRpICsgMV0pOyAkaSsrOyB9IGlmICgkdmFsID09IDE4KSB7ICRpID0gJGkgKyAzOyAkY3BudW0gPSBjaHIoJGRhdGFbJGldKSAuIGNocigkZGF0YVskaSArIDFdKTsgJGkrKzsgfSBpZiAoJHZhbCA9PSAxMykgeyAkYWNjID0gJyc7ICRpKys7ICRhY2NsZW4gPSAkZGF0YVskaV0gPDwgOCB8ICRkYXRhWyRpICsgMV0gJiA2NTUzNTsgJGkgPSAkaSArIDI7IGZvciAoJGogPSAwOyAkaiA8IDQgLSAkYWNjbGVuOyAkaisrKSB7ICRhY2MgLj0gY2hyKDApOyB9IGZvciAoJGogPSAwOyAkaiA8ICRhY2NsZW47ICRqKyspIHsgJGFjYyA9ICRhY2MgLiBjaHIoJGRhdGFbJGldKTsgJGkrKzsgfSAkaS0tOyB9IGlmICgkdmFsID09IDIwKSB7ICRjdyA9ICcnOyAkaSA9ICRpICsgMzsgJG9kZCA9ICRkYXRhWyRpXSA8PCA4IHwgJGRhdGFbJGkgKyAxXSAmIDY1NTM1OyAkaSA9ICRpICsgMjsgZm9yICgkaiA9IDA7ICRqIDwgODsgJGorKykgeyAkY3cgPSAkY3cgLiBjaHIoJGRhdGFbJGldKTsgJGkrKzsgfSBpZiAoJG9kZCAlIDIgPT0gMCkgeyAkY3cwID0gJGN3OyB9IGVsc2UgeyAkY3cxID0gJGN3OyB9ICRpLS07IH0gfSBpZiAoJGRhdGFbIlwxNjRcMTcxXDE2MCJdID09PSAkY2hfc2V0dXApIHsgcmV0dXJuIGhleDJiaW4oIlx4MzBcNjJceDMwXHgzMFx4MzBcNjNcNjBceDMwXHgzNVx4MzFcNjBcNjBcNjBcMTA1XHgzMFx4MzBcNjBcNjIiKSAuICRjaGlkIC4gaGV4MmJpbigiXHgzMFx4MzBceDMwXHgzMlx4MzBcNjBceDMwXDYxXHgzMFx4MzFceDMwXHgzMFx4MzFcNjZcNjBcNjBceDMwXDYyXHgzMFx4MzBceDQzXHgzOFx4MzBcNjBcNjFceDM3XDYwXHgzMFx4MzBcNjJceDMwXDYwXHg0M1x4MzhceDMwXHgzMFx4MzBceDMzXHgzMFw2MFx4MzBcNjJcNjBceDMwXDEwM1w3MFx4MzBceDMwXHgzMFw2NFw2MFw2MFx4MzBcNjJceDMwXDYwXHg0M1x4MzhcNjBcNjBcNjBcNjVcNjBcNjBcNjBceDMyXHg0NlwxMDVceDMwXDEwM1w2MFx4MzBceDMwXDY2XHgzMFw2MFx4MzBceDMyXHgzMFw2MFx4MzBceDMwXDYwXDYwXHgzMFx4MzdcNjBceDMwXDYwXHgzMlw2MFw2MFx4MzZcNjRcNjBcNjBcNjBcNzBcNjBceDMwXHgzMFx4MzJceDMwXDYwXDYwXHgzMFw2MFw2MFx4MzBcNzFceDMwXHgzMFw2MFx4MzJcNjBcNjBcNjBceDQxXDYwXDYwXDYwXDEwMVw2MFx4MzBcNjBcNjFceDMwXHgzMVw2MFx4MzBceDMwXDEwMlx4MzBcNjBcNjBceDMxXDYwXHgzMlw2MFw2MFw2MFx4NDNceDMwXDYwXDYwXHgzMlw2MFx4MzBceDM2XHgzNCIpOyB9IGlmICgkZGF0YVsiXHg3NFwxNzFceDcwIl0gPT09ICRzdHJfc2V0dXApIHsgcmV0dXJuIGhleDJiaW4oIlx4MzBceDMyXHgzMFx4MzFcNjBceDMzXDYwXDYwXHgzMVw2N1x4MzBcNjBceDMwXDEwNVw2MFx4MzBcNjBcNjIiKSAuICRjaGlkIC4gaGV4MmJpbigiXDYwXHgzMFw2MFx4NjZcNjBcNjBceDMwXDYyIikgLiAkc3RyaWQgLiBoZXgyYmluKCJceDMwXDYwXHgzMVw3MVx4MzBceDMwXDYwXHgzMiIpIC4gJGVjbWlkIC4gaGV4MmJpbigiXDYwXDYwXHgzMVw2MVx4MzBcNjBceDMwXHgzMVx4MzBceDMwIik7IH0gaWYgKCRkYXRhWyJcMTY0XDE3MVx4NzAiXSA9PSAkY3dfcHJvdikgeyBlY2NvKCJceDQzXHg2OFx4NjFceDZlXDE1Nlx4NjVcMTU0XDU1XDExMVwxMDRceDNhXDQwXDQwXHgyMFx4MjAiIC4gYmluMmhleCgkY2hpZCkgLiAiXDEyIik7IGVjY28oIlx4NTNcMTY0XHg3MlwxNDVceDYxXDE1NVw1NVx4NDlceDQ0XHgzYVx4MjBceDIwXHgyMFx4MjBceDIwIiAuIGJpbjJoZXgoJHN0cmlkKSAuICJcMTIiKTsgZWNjbygiXHg0MVwxNDNcMTQzXDE0NVwxNjNceDczXHgyZFwxNDNceDcyXHg2OVx4NzRceDJlXDcyXHgyMFx4MjAiIC4gYmluMmhleCgkYWNjKSAuICJcMTIiKTsgZWNjbygiXHg0M1x4NTBceDJkXHg0ZVx4NmZcNzJcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDAiIC4gYmluMmhleCgkY3BudW0pIC4gIlwxMiIpOyBlY2NvKCJceDQzXDEyN1w2MFx4M2FceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDAiIC4gYmluMmhleCgkY3cwKSAuICJcMTIiKTsgZWNjbygiXDEwM1wxMjdceDMxXHgzYVx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMCIgLiBiaW4yaGV4KCRjdzEpIC4gIlx4YSIpOyBlY2NvKCJceDU1XHg3M1wxNDVcMTQ0XHgyMFwxNDVceDZlXDE0M1x4MmRcMTUzXDE0NVx4NzlceDNhXDQwXDQwIiAuIGJpbjJoZXgoJEdMT0JBTFNbIlx4NmJcMTQ1XHg3OSJdKSAuICJcMTIiKTsgJGN3NjRtYXNrID0gaGV4MmJpbigiXDcwXDYwXDYwXDYwXHgzMFw2MFw2MFw2MCIpOyAkcGFpcmluZ21hc2sgPSBoZXgyYmluKCJcNjRcNjBceDMwXHgzMFw2MFw2MFw2MFx4MzAiKTsgaWYgKCgkYWNjICYgJGN3NjRtYXNrKSA9PSAkY3c2NG1hc2spIHsgZWNjbygiXDY2XHgzNFx4NjJceDY5XDE2NFw0MFx4NDNcMTI3XHgyMCIpOyB9IGVsc2UgeyBlY2NvKCJcNjRceDM4XDE0Mlx4NjlcMTY0XHgyMFwxMDNceDU3XHgyMCIpOyB9IGlmICgoJGFjYyAmICRwYWlyaW5nbWFzaykgPT0gJHBhaXJpbmdtYXNrKSB7IGVjY28oIlw1N1w0MFx4NzdceDY5XHg3NFwxNTBcNDBcMTIwXDE0MVx4NjlcMTYyXHg2OVwxNTZceDY3XDQwXDE2NVx4NzNceDY5XHg2ZVwxNDdcNDBcMTEzXHg2NVx4NzlceDNhXHhhIiAuIGJpbjJoZXgoJEdMT0JBTFNbIlwxNjBcMTQxXHg2OVx4NzJceDZiXDE0NVwxNzEiXSkgLiAiXDEyXDEyIik7IH0gZWxzZSB7IGVjY28oIlwxMlwxMiIpOyB9IHJldHVybiBoZXgyYmluKCJcNjBceDMyXDYwXHgzMlx4MzBcNjJceDMwXDYwXDEwNFw2MiIpIC4gaGV4MmJpbigiXHgzMFx4MzBceDMwXHg0NVw2MFx4MzBcNjBceDMyIikgLiAkY2hpZCAuIGhleDJiaW4oIlx4MzBcNjBceDMwXDEwNlw2MFw2MFw2MFw2MiIpIC4gJHN0cmlkIC4gaGV4MmJpbigiXDYwXDYwXDYxXHgzMlw2MFx4MzBcNjBcNjIiKSAuICRjcG51bSAuIGhleDJiaW4oIlx4MzBcNjBceDMxXDY1XHgzMFw2MFx4NDJceDQzXHgzNFx4MzdceDM1XDEwNlx4NDZcMTA2XHgzMVw2MFw2MFw2MCIpIC4gZ2V0X2VjbSgkY2hpZCwgJGN3MCwgJGN3MSwgJGFjYywgJGNwbnVtKTsgfSBpZiAoJGRhdGFbIlwxNjRceDc5XHg3MCJdID09IDI2MCkgeyByZXR1cm4gaGV4MmJpbigiXHgzMFx4MzJceDMwXDYxXHgzMFw2NVx4MzBcNjBcNjBcMTAzXHgzMFw2MFx4MzBcMTA1XHgzMFw2MFx4MzBceDMyIikgLiAkY2hpZCAuIGhleDJiaW4oIlw2MFx4MzBceDMwXHg0Nlx4MzBceDMwXHgzMFw2MiIpIC4gJHN0cmlkOyB9IGlmICgkZGF0YVsiXHg3NFwxNzFcMTYwIl0gPT0gNCkgeyByZXR1cm4gIlwxNDNcMTU0XHg2Zlx4NzNceDY1XDEzN1wxNDNcMTUwIjsgfSBlY2NvKCJceGEiKTsgfSBnb3RvIGZvczRxOyB5Rkd3ZDogZnVuY3Rpb24gYmluMmRlYygkaW4pIHsgcmV0dXJuIGhleGRlYyhiaW4yaGV4KCRpblswXSkpOyB9IGdvdG8gTHFaQWI7IGNWZzRQOiBmdW5jdGlvbiBlbW1fdW5pcXVlKCYkc29ja2V0KSB7IGdsb2JhbCAkY29uZmlnOyAkc3lza2V5ID0gJEdMT0JBTFNbIlx4NzNcMTcxXDE2M1wxNTNceDY1XHg3OSJdOyAkc2VydmVybmFtZSA9ICRjb25maWdbIlwxNjNceDY1XHg3MlwxNjZceDY1XDE2MlwxNTZcMTQxXHg2ZFwxNDUiXTsgJHVzZXJuYW1lID0gJGNvbmZpZ1siXDE0NFwxNDJcMTY1XDE2M1x4NjVceDcyXHg2ZVx4NjFceDZkXDE0NSJdOyAkcGFzc3dvcmQgPSAkY29uZmlnWyJceDY0XHg2MlwxNjBceDYxXHg3M1x4NzMiXTsgJGRibmFtZSA9ICRjb25maWdbIlwxNDRcMTQyXHg2ZVwxNDFcMTU1XHg2NSJdOyAkY29ubiA9IG15c3FsaV9jb25uZWN0KCRzZXJ2ZXJuYW1lLCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGRibmFtZSk7IGlmICghJGNvbm4pIHsgZGllKCJceDQzXDE1N1x4NmVceDZlXDE0NVx4NjNcMTY0XDE1MVwxNTdcMTU2XDQwXHg2Nlx4NjFcMTUxXHg2Y1x4NjVcMTQ0XDcyXDQwIiAuIG15c3FsaV9jb25uZWN0X2Vycm9yKCkpOyB9ICRzcWwgPSAiXHhhXHg5XHg5XHg1M1wxMDVcMTE0XDEwNVwxMDNcMTI0XDQwXHg2MVwxNDJceDZmXDU2XHg3MFx4NzBcMTY1XDE0MVx4MmNceDIwXHg2MVx4NjJceDZmXDU2XDE0MFx4NjJceDZmXHg3M1wxNDBceDJjXHgyMFx4NjFcMTQyXDE1N1x4MmVcMTQwXHg2NVx4NmZceDczXHg2MFx4MmNcMTQxXDE0MlwxNTdcNTZceDYxXDE0M1x4NjNcNTRceDIwXHg3MFwxNjJceDZmXDE2Nlx4NjlcMTQ0XDE0NVwxNjJcMTYzXHgyZVwxNjBcMTYyXDE1N1x4NzZceDY5XHg2NFx4NjVcMTYyXHg2ZVx4NjFcMTU1XDE0NVw1NFw0MFwxNDNceDYxXHg3MlwxNDRcMTYzXHgyZVwxNjBcMTYwXHg3M1x4NjFcNTRceDIwXHg2M1x4NjFceDcyXHg2NFwxNjNceDJlXDE2MFwxNDFceDY5XHg3MlwxNDVceDY0XHgyY1w0MFx4NjNcMTQxXHg3Mlx4NjRcMTYzXHgyZVx4NjJcMTU3XDE3MFwxNTFceDY0XDE0NVwxNTZceDc0XHgyY1x4MjBceDcwXDE2MlwxNTdcMTY2XDE1MVwxNDRceDY1XHg3MlwxNjNceDJlXHg2M1wxNTBceDY5XDE0NFw0MFx4NDZceDUyXDExN1wxMTVceDIweyRkYm5hbWV9XDU2XHg3MFx4NzJcMTU3XHg3NlwxNTFcMTQ0XDE0NVwxNjJceDczXHhhXHg5XHg5XDE1MlwxNTdcMTUxXHg2ZVx4MjB7JGRibmFtZX1ceDJlXDE0MVx4NjJceDZmXHhhXDExXHg5XHg2YVx4NmZceDY5XDE1Nlx4MjB7JGRibmFtZX1cNTZceDYzXHg2MVwxNjJceDY0XDE2M1x4YVwxMVw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcMTE3XDExNlx4MjBceDcwXDE2Mlx4NmZcMTY2XHg2OVwxNDRceDY1XDE2Mlx4NzNceDJlXDE0M1x4NjhcMTUxXHg2NFw0MFw3NVw0MFx4NjFcMTQyXHg2Zlx4MmVceDYzXDE1MFwxNTFceDY0XHgyMFwxNDFceDZlXDE0NFx4MjBcMTQzXHg2MVwxNjJcMTQ0XHg3M1w1NlwxNjBcMTYwXDE2NVwxNDFcNDBcNzVceDIwXHg2MVx4NjJceDZmXDU2XHg3MFx4NzBcMTY1XHg2MVx4MjBceDYxXHg2ZVx4NjRcNDBceDYzXHg2MVx4NzJceDY0XDE2M1w1NlwxNDRceDY1XHg2Y1wxNDVceDc0XDE0NVwxNDRcNDBcNzVcNDBcNjBceDNiXDEyXDExIjsgJHJlc3VsdCA9ICRjb25uLT5xdWVyeSgkc3FsKTsgd2hpbGUgKCRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpKSB7ICR0cyA9IGhleDJiaW4oZGF0ZSgiXHg2OVx4NzMiKSk7ICRwcHVhID0gaGV4MmJpbihwcmVkZWMoJHJvd1siXDE2MFx4NzBceDc1XHg2MSJdKSk7ICRib3MgPSBlbW1fZGF0ZSgkcm93WyJcMTQyXHg2Zlx4NzMiXSk7ICRlb3MgPSBlbW1fZGF0ZSgkcm93WyJceDY1XHg2Zlx4NzMiXSk7ICRhY2MgPSBoZXgyYmluKHByZWhleCgkcm93WyJcMTQxXDE0M1x4NjMiXSkpOyAkbmFtZSA9IHBhZG5hbWUoJHJvd1siXHg3MFx4NzJcMTU3XDE2Nlx4NjlcMTQ0XDE0NVwxNjJcMTU2XHg2MVx4NmRceDY1Il0pOyAkcHBzYSA9IGhleDJiaW4ocHJlZGVjKCRyb3dbIlwxNjBcMTYwXDE2M1x4NjEiXSkpOyAkY2hpZCA9IGhleDJiaW4oJHJvd1siXHg2M1x4NjhceDY5XHg2NCJdKTsgJHBhaXJlZCA9ICRyb3dbIlx4NzBcMTQxXHg2OVwxNjJceDY1XDE0NCJdOyAkYm94aWRlbnQgPSBoZXgyYmluKHByZWRlYygkcm93WyJcMTQyXHg2Zlx4NzhcMTUxXHg2NFwxNDVcMTU2XHg3NCJdKSk7IGVjY28oIlwxMjVcMTU2XDE1MVx4NzFceDc1XHg2NVx4MjBceDQ1XDExNVx4NGRceDNhXDEyIik7IGVjY28oIlx4NTBcMTIwXDEyNVx4NDFcNzJceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwIiAuIHByZWhleCgkcm93WyJcMTYwXDE2MFwxNjVcMTQxIl0pIC4gIlwxMiIpOyBlY2NvKCJcMTIzXDE2NVx4NjJcMTYzXDE0M1x4NzJcMTUxXHg3MFx4NzRcMTUxXHg2ZlwxNTZceDIwXHg3M1x4NzRcMTQxXHg3Mlx4NzRcNzJceDIwIiAuICRyb3dbIlwxNDJceDZmXDE2MyJdIC4gIlx4YSIpOyBlY2NvKCJcMTIzXHg3NVwxNDJceDczXDE0M1x4NzJceDY5XDE2MFx4NzRceDY5XHg2ZlwxNTZceDIwXHg2NVwxNTZceDY0XHgzYVw0MFx4MjBcNDAiIC4gJHJvd1siXDE0NVwxNTdceDczIl0gLiAiXDEyIik7IGVjY28oIlwxMDFcMTQzXDE0M1wxNDVceDczXHg3M1x4MjBceDQzXDE2MlwxNTFcMTY0XHg2NVwxNjJceDY5XDE0MVx4M2FceDIwXDQwXHgyMFx4MjAiIC4gcHJlaGV4KCRyb3dbIlx4NjFcMTQzXDE0MyJdKSAuICJceGEiKTsgZWNjbygiXHg1MFwxNjJcMTU3XHg3Nlx4NjlceDY0XHg2NVwxNjJcNzJcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMCIgLiAkcm93WyJceDcwXDE2Mlx4NmZceDc2XHg2OVx4NjRceDY1XHg3Mlx4NmVcMTQxXHg2ZFx4NjUiXSAuICJceGEiKTsgZWNjbygiXDEyM1x4NjhceDYxXDE2Mlx4NjVcMTQ0XDQwXDEwMVx4NjRcMTQ0XHg3Mlx4NjVcMTYzXDE2M1x4M2FcNDBcNDBcNDBcNDBcNDAiIC4gcHJlaGV4KCRyb3dbIlwxNjBceDcwXHg3M1x4NjEiXSkgLiAiXHhhIik7IGVjY28oIlx4NDNcMTUwXDE0MVwxNTZceDZlXDE0NVwxNTRceDJkXHg0OVx4NDRceDNhXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMCIgLiAkcm93WyJceDYzXDE1MFx4NjlceDY0Il0gLiAiXHhhIik7IGVjY28oIlx4NTBcMTQxXHg2OVwxNjJceDY1XHg2NFx4M2FcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDAiIC4gJHJvd1siXHg3MFx4NjFcMTUxXHg3MlwxNDVcMTQ0Il0gLiAiXHhhIik7IGlmIChwcmVoZXgoJHJvd1siXDE0Mlx4NmZcMTcwXHg2OVx4NjRcMTQ1XDE1NlwxNjQiXSkgIT0gIlw2MFw2MFw2MFx4MzBcNjBcNjBcNjBcNjAiKSB7IGVjY28oIlwxMDJceDZmXDE3MFwxNTFcMTQ0XDE0NVx4NmVcMTY0XDcyXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjAiIC4gcHJlaGV4KCRyb3dbIlwxNDJcMTU3XHg3OFwxNTFcMTQ0XDE0NVwxNTZceDc0Il0pIC4gIlwxMiIpOyBlY2NvKCJceDYzXHg3Mlx4NzlceDcwXHg3NFwxNDVceDY0XHgyMFx4NjJceDZmXHg3OFwxNTFceDY0XDE0NVwxNTZcMTY0XDcyXHgyMFw0MFw0MCIgLiBiaW4yaGV4KGFlc19jbWFjKCRib3hpZGVudCwgJHN5c2tleSkpIC4gIlwxMiIpOyB9ICRlbW0gPSAkdHMgLiAiXDI0MFx4MCIgLiAkcHB1YSAuICJcMjQwXDMiIC4gJGJvcyAuICRlb3MgLiAiXDI0MFw0IiAuICRhY2MgLiAiXDI0MFwyMCIgLiAkbmFtZSAuICJcMjQwXHgyIiAuICRwcHNhIC4gIlx4YTBcMSIgLiAkY2hpZDsgJHVuaXF1ZXBhaXJrZXkgPSAnJzsgaWYgKCRwYWlyZWQgPT0gIlx4MzEiKSB7ICR1bmlxdWVwYWlya2V5ID0gYWVzX2NtYWMoJGJveGlkZW50LCAkc3lza2V5KSBeICRHTE9CQUxTWyJceDcwXHg2MVwxNTFceDcyXDE1M1wxNDVceDc5Il07ICRlbW0gPSAkZW1tIC4gIlwyNDBceDMwIiAuICR1bmlxdWVwYWlya2V5OyBlY2NvKCJcMTI1XDExNlx4NDlceDUxXDEyNVwxMDVceDIwXHg1MFx4NDFcMTExXDEyMlx4NDlceDRlXDEwN1x4MmRcMTEzXDEwNVwxMzFceDIwXHgyMCIgLiBiaW4yaGV4KCR1bmlxdWVwYWlya2V5KSAuICJcMTIiKTsgfSAka2V5ID0gYWVzX2NtYWMoJHBwdWEsICRzeXNrZXkpOyAkZW1tID0gYWVzX2NiYygkZW1tLCAka2V5KTsgJGVtbWdfc3RyaW5nID0gaGV4MmJpbigiXHgzMFx4MzJceDMwXDYyXDYxXDYxXHgzMFx4MzBceDQ0XHg0MVw2MFw2MFx4MzBcNjNcNjBcNjBcNjBcNjJcNjBceDMwXDYwXHgzMVx4MzBceDMwXDYwXHgzNFw2MFx4MzBceDMwXDYyXHgzMFx4MzBcNjBcNjFceDMwXDYwXHgzMFx4MzFcNjBceDMwXDYwXDY0XHgzMFx4MzBceDMwXHgzMFw2MFw2MFw2MFw2MFw2MFw2MFw2MFx4MzhcNjBcNjBceDMwXDYyXHgzMFw2MFx4MzBcNjBcNjBceDMwXDYwXHgzNVw2MFw2MFx4NDJceDQzXDY0XHgzN1x4MzVcMTA2XDEwNlwxMDZcNjFcNjBceDMwXHgzMCIpOyAkaGVhZGVyMSA9IGhleDJiaW4oIlx4MzhceDMyXDY3XDYwXHgzMFw2MFx4MzBceDMwXHgzMFx4MzBcNjBceDMwIik7ICRoZWFkZXIyID0gaGV4MmJpbigiXHgzN1w2MFw2MFw2MFx4MzZcNjRceDMxXDYwIik7ICRoZWFkZXIxWzJdID0gaGV4MmJpbihkZWNoZXgoc3RybGVuKCRlbW0pICsgMTEpKTsgJGhlYWRlcjJbMV0gPSBoZXgyYmluKGRlY2hleChzdHJsZW4oJGVtbSkgKyAyKSk7ICRlbW0gPSAkZW1tZ19zdHJpbmcgLiAkaGVhZGVyMSAuICRwcHVhIC4gJGhlYWRlcjIgLiAkZW1tOyAkZW1tID0gc3RyX3BhZCgkZW1tLCAyMjMsICJcMzc3Iik7IGVjY28oIlx4MmRceDJkXHgyZFx4MmRcNTVceDJkXHgyZFw1NVw1NVw1NVw1NVx4MmRcNTVcNTVceDJkXHgyZFw1NVw1NVx4MmRceDJkXDU1XDU1XDU1XHgyZFw1NVx4MmRceDJkXDU1XHgyZFw1NVw1NVx4MmRceDJkXDU1XDU1XHgyZFx4MmRceDJkXDU1XDU1XDU1XHgyZFw1NVx4MmRceDJkXHgyZFx4MmRceDJkXDEyIik7IGVjY28oaGV4ZHVtcCgkZW1tKSk7IHNvY2tldF93cml0ZSgkc29ja2V0LCAkZW1tLCBzdHJsZW4oJGVtbSkpOyB9IG15c3FsaV9jbG9zZSgkY29ubik7IH0gZ290byBuVHVfRjsgTHFaQWI6IGZ1bmN0aW9uIGdldF9lY20oJiRjaGlkLCAmJGN3MCwgJiRjdzEsICYkYWNjLCAmJGNwbnVtKSB7IGdsb2JhbCAkY29uZmlnOyBpZiAoaGV4ZGVjKGJpbjJoZXgoJGNwbnVtKSkgJiAxKSB7ICRoZWFkZXIgPSBoZXgyYmluKCJcNzBcNjFceDM3XHgzMFw2MFx4MzBceDM3XHgzMFw2MFx4MzBceDM2XDY0Iik7IH0gZWxzZSB7ICRoZWFkZXIgPSBoZXgyYmluKCJceDM4XHgzMFx4MzdceDMwXDYwXHgzMFx4MzdcNjBceDMwXDYwXHgzNlw2NCIpOyB9IGlmIChkYXRlKCJcMTU2IikgJSAyKSB7ICRoZWFkZXIgLj0gaGV4MmJpbigiXHgzMlx4MzEiKTsgJGtleSA9ICRHTE9CQUxTWyJcMTUzXDE0NVwxNzFceDMyXDYxIl07IH0gZWxzZSB7ICRoZWFkZXIgLj0gaGV4MmJpbigiXDYyXDYwIik7ICRrZXkgPSAkR0xPQkFMU1siXDE1M1wxNDVceDc5XDYyXDYwIl07IH0gJEdMT0JBTFNbIlx4NmJceDY1XHg3OSJdID0gJGtleTsgJGRjdyA9ICRjdzAgLiAkY3cxOyAkbWFzazY0ID0gaGV4MmJpbigiXDcwXDYwXHgzMFx4MzBceDMwXDYwXDYwXDYwIik7IGlmICgoJGFjYyAmICRtYXNrNjQpICE9ICRtYXNrNjQpIHsgJGRjd1szXSA9IGhleDJiaW4ocHJlaGV4Ynl0ZShkZWNoZXgoKGJpbjJkZWMoJGRjd1swXSkgKyBiaW4yZGVjKCRkY3dbMV0pICsgYmluMmRlYygkZGN3WzJdKSkgJSAyNTYpKSk7ICRkY3dbN10gPSBoZXgyYmluKHByZWhleGJ5dGUoZGVjaGV4KChiaW4yZGVjKCRkY3dbNF0pICsgYmluMmRlYygkZGN3WzVdKSArIGJpbjJkZWMoJGRjd1s2XSkpICUgMjU2KSkpOyAkZGN3WzExXSA9IGhleDJiaW4ocHJlaGV4Ynl0ZShkZWNoZXgoKGJpbjJkZWMoJGRjd1s4XSkgKyBiaW4yZGVjKCRkY3dbOV0pICsgYmluMmRlYygkZGN3WzEwXSkpICUgMjU2KSkpOyAkZGN3WzE1XSA9IGhleDJiaW4ocHJlaGV4Ynl0ZShkZWNoZXgoKGJpbjJkZWMoJGRjd1sxMl0pICsgYmluMmRlYygkZGN3WzEzXSkgKyBiaW4yZGVjKCRkY3dbMTRdKSkgJSAyNTYpKSk7IH0gJGl2ID0gaGV4MmJpbigiXHgzMFx4MzBceDMwXHgzMFw2MFw2MFx4MzBceDMwXHgzMFw2MFw2MFx4MzBcNjBceDMwXHgzMFw2MFw2MFw2MFx4MzBcNjBcNjBcNjBcNjBceDMwXDYwXDYwXDYwXDYwXHgzMFw2MFx4MzBcNjAiKTsgJGNpcGhlciA9ICJceDQxXDEwNVx4NTNceDJkXDYxXHgzMlw3MFw1NVwxMDNcMTAyXDEwMyI7ICRwYWlyaW5nbWFzayA9IGhleDJiaW4oIlw2NFw2MFx4MzBcNjBceDMwXDYwXHgzMFx4MzAiKTsgaWYgKCgkYWNjICYgJHBhaXJpbmdtYXNrKSA9PSAkcGFpcmluZ21hc2spIHsgJGRjdyA9IHN1YnN0cihvcGVuc3NsX2VuY3J5cHQoJGRjdywgJGNpcGhlciwgJEdMT0JBTFNbIlwxNjBceDYxXHg2OVx4NzJceDZiXHg2NVwxNzEiXSwgJG9wdGlvbnMgPSBPUEVOU1NMX1JBV19EQVRBLCAkaXYpLCAwLCAtMTYpOyB9ICRlY20gPSBoZXgyYmluKCJceDMyXDYwXHgzMFx4MzQiKSAuIGdldF9kYXRlKDApIC4gaGV4MmJpbigiXDY0XDYwXDYwXDE0NiIpIC4gJGRjdyAuIGhleDJiaW4oIlx4MzJceDMxXDYwXHgzMiIpIC4gJGNoaWQgLiBoZXgyYmluKCJceDMyXDYyXHgzMFw2NCIpIC4gJGFjYzsgaWYgKCRjb25maWdbIlx4NzBceDcyXDE0NVx4NzZcMTUxXDE0NVwxNjciXSAhPSAiXHgzMCIpIHsgJGVjbSA9ICRlY20gLiBoZXgyYmluKCJceDMyXHgzM1w2MFx4MzIiKSAuIGdldF9kYXRlKCRjb25maWdbIlx4NzBcMTYyXHg2NVx4NzZcMTUxXDE0NVx4NzciXSk7IH0gJGVjbSA9IGFlc19jYmMoJGVjbSwgJGtleSk7ICRoZWFkZXJbMl0gPSBoZXgyYmluKGRlY2hleChzdHJsZW4oJGVjbSkgKyA0KSk7ICRoZWFkZXJbNF0gPSBoZXgyYmluKGRlY2hleChzdHJsZW4oJGVjbSkgKyAyKSk7ICRlY20gPSAkaGVhZGVyIC4gJGVjbTsgcmV0dXJuIHN0cl9wYWQoJGVjbSwgMTgzLCAiXDM3NyIpOyB9IGdvdG8gdDNuNEE7IHdwMWtCOiBmdW5jdGlvbiBkYmNsZWFuKCkgeyBnbG9iYWwgJGNvbmZpZzsgJHNlcnZlcm5hbWUgPSAkY29uZmlnWyJcMTYzXHg2NVx4NzJceDc2XHg2NVx4NzJcMTU2XHg2MVx4NmRceDY1Il07ICR1c2VybmFtZSA9ICRjb25maWdbIlx4NjRceDYyXHg3NVwxNjNcMTQ1XDE2MlwxNTZceDYxXHg2ZFx4NjUiXTsgJHBhc3N3b3JkID0gJGNvbmZpZ1siXDE0NFwxNDJcMTYwXHg2MVx4NzNcMTYzIl07ICRkYm5hbWUgPSAkY29uZmlnWyJceDY0XDE0MlwxNTZceDYxXDE1NVx4NjUiXTsgJGNvbm4gPSBteXNxbGlfY29ubmVjdCgkc2VydmVybmFtZSwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRkYm5hbWUpOyBpZiAoISRjb25uKSB7IGRpZSgiXHg0M1wxNTdcMTU2XDE1NlwxNDVceDYzXDE2NFwxNTFcMTU3XDE1Nlx4MjBceDY2XDE0MVwxNTFcMTU0XDE0NVwxNDRceDNhXHgyMCIgLiBteXNxbGlfY29ubmVjdF9lcnJvcigpKTsgfSAkc3FsID0gIlwxMlwxMVwxMVwxMDRceDQ1XHg0Y1x4NDVceDU0XHg0NVw0MFwxMDZcMTIyXDExN1x4NGRceDIweyRkYm5hbWV9XDU2XHg2MVwxNDJcMTU3XDQwXDEyN1x4NDhcMTA1XHg1Mlx4NDVceDIwXDE0MVwxNDJcMTU3XHgyZVx4NjVcMTU3XDE2M1w0MFx4M2NceDIwXHgyOFwxMTZcMTE3XHg1N1w1MFw1MVw0MFx4MmRcNDBceDQ5XDExNlx4NTRcMTA1XDEyMlx4NTZcMTAxXDExNFx4MjBceDMyXHgyMFx4NGRceDRmXDExNlx4NTRceDQ4XHgyOVx4M2JceGFcMTEiOyAkcmVzdWx0ID0gJGNvbm4tPnF1ZXJ5KCRzcWwpOyAkc3FsID0gIlwxMlx4OVwxMVx4NTVceDUwXDEwNFwxMDFcMTI0XHg0NVx4MjB7JGRibmFtZX1ceDJlXHg2NVx4NjNceDZkXHg2N1x4NWZcMTUzXHg2NVwxNzFcMTYzXDQwXHg1M1wxMDVcMTI0XDQwXDE0NVwxNDNcMTU1XHg2N1x4NWZcMTUzXDE0NVx4NzlcMTYzXHgyZVwxNDVcMTQzXDE1NVx4NmJcMTQ1XHg3OVw0MFx4M2RcNDBcMTU1XHg2NFw2NVx4MjhceDcyXDE0MVwxNTZceDY0XDUwXHgyOVw1Mlx4MzFcNjBceDMwXDYxXDUxXDU0XHgyMFx4NjVcMTQzXHg2ZFx4NjdceDVmXHg2YlwxNDVceDc5XHg3M1x4MmVcMTU1XDE1N1wxNDRcMTUxXDE0NlwxNTFcMTQ1XHg2NFw0MFw3NVx4MjBcNTBceDRlXHg0Zlx4NTdcNTBcNTFceDIwXDUzXHgyMFx4NDlcMTE2XDEyNFx4NDVcMTIyXDEyNlwxMDFceDRjXHgyMFw2MVw0MFx4NGRcMTE3XHg0ZVx4NTRcMTEwXDUxXHhhXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFwxMjdcMTEwXDEwNVx4NTJceDQ1XDQwXDE0NVx4NjNceDZkXDE0N1x4NWZceDZiXHg2NVx4NzlceDczXDU2XDE1NVwxNTdcMTQ0XHg2OVx4NjZceDY5XDE0NVwxNDRcNDBcNzRceDIwXDUwXDExNlx4NGZceDU3XDUwXHgyOVx4MjBceDJkXHgyMFx4NDlceDRlXDEyNFx4NDVceDUyXDEyNlwxMDFceDRjXHgyMFx4MzFcNDBcMTE1XDExN1wxMTZcMTI0XDExMFx4MjlcNzNceGFcMTFcMTEiOyAkcmVzdWx0ID0gJGNvbm4tPnF1ZXJ5KCRzcWwpOyBteXNxbGlfY2xvc2UoJGNvbm4pOyB9IGdvdG8gdnhIb1Y7IEUzMU42OiBmdW5jdGlvbiBnZXRfZGF0ZSgkaW4pIHsgJHRpbWUgPSBzdHJ0b3RpbWUoZGF0ZSgiXDEzMVx4MmRceDZkXDU1XDE0NCIsIHN0cnRvdGltZSgiXDUzeyRpbn1cNDBceDc3XDE0NVx4NjVceDZiIikpKTsgJGNueGRhdGUgPSBmbG9vcigoZGF0ZSgiXHg1OSIsICR0aW1lKSAtIDE5OTApIC8gMTApOyAkY254ZGF0ZSA9ICRjbnhkYXRlIDw8IDU7ICRjbnhkYXRlID0gJGNueGRhdGUgfCBkYXRlKCJcMTUyIiwgJHRpbWUpOyAkY254ZGF0ZSA9ICRjbnhkYXRlIDw8IDQ7ICRjbnhkYXRlID0gJGNueGRhdGUgfCAoZGF0ZSgiXHg1OSIsICR0aW1lKSAtIDE5OTApICUgMTA7ICRjbnhkYXRlID0gJGNueGRhdGUgPDwgNDsgJGNueGRhdGUgPSAkY254ZGF0ZSB8IGRhdGUoIlx4NmUiLCAkdGltZSk7IGlmICgkaW4gPT0gIlx4MzAiKSB7IHJldHVybiBoZXgyYmluKGRlY2hleCgkY254ZGF0ZSkgLiBkYXRlKCJcMTUxXHg3MyIpKTsgfSBlbHNlIHsgcmV0dXJuIGhleDJiaW4oZGVjaGV4KCRjbnhkYXRlKSk7IH0gfSBnb3RvIE4welNiOyBwR3JEMzogZnVuY3Rpb24gcHJlZGVjKCYkaW4pIHsgJGluID0gZGVjaGV4KCRpbik7ICRvdXQgPSAnJzsgZm9yICgkaSA9IDA7ICRpIDwgOCAtIHN0cmxlbigkaW4pOyAkaSsrKSB7ICRvdXQgLj0gIlw2MCI7IH0gcmV0dXJuICRvdXQgLiAkaW47IH0gZ290byB3eW13WjsgblR1X0Y6IGZ1bmN0aW9uIGVtbV9zaGFyZWQoJiRzb2NrZXQpIHsgZ2xvYmFsICRjb25maWc7ICRzeXNrZXkgPSAkR0xPQkFMU1siXHg3M1wxNzFceDczXDE1M1wxNDVcMTcxIl07ICRzZXJ2ZXJuYW1lID0gJGNvbmZpZ1siXDE2M1x4NjVceDcyXDE2NlwxNDVcMTYyXDE1NlwxNDFcMTU1XDE0NSJdOyAkdXNlcm5hbWUgPSAkY29uZmlnWyJceDY0XHg2Mlx4NzVcMTYzXHg2NVx4NzJceDZlXDE0MVwxNTVceDY1Il07ICRwYXNzd29yZCA9ICRjb25maWdbIlwxNDRceDYyXDE2MFx4NjFcMTYzXDE2MyJdOyAkZGJuYW1lID0gJGNvbmZpZ1siXHg2NFx4NjJcMTU2XDE0MVx4NmRcMTQ1Il07ICRjb25uID0gbXlzcWxpX2Nvbm5lY3QoJHNlcnZlcm5hbWUsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZGJuYW1lKTsgaWYgKCEkY29ubikgeyBkaWUoIlx4NDNceDZmXHg2ZVx4NmVcMTQ1XDE0M1wxNjRceDY5XDE1N1wxNTZcNDBceDY2XHg2MVx4NjlceDZjXHg2NVx4NjRceDNhXDQwIiAuIG15c3FsaV9jb25uZWN0X2Vycm9yKCkpOyB9ICRzcWwgPSAiXHhhXDExXDExXDEyM1wxMDVceDRjXDEwNVx4NDNcMTI0XDQwXHg0NFx4NDlcMTIzXDEyNFwxMTFcMTE2XHg0M1wxMjRcNDBceDcwXDE2MFwxNjNcMTQxXHgyMFx4NDZcMTIyXDExN1x4NGRcNDB7JGRibmFtZX1cNTZceDYzXDE0MVwxNjJceDY0XHg3M1w0MFx4NGFceDRmXHg0OVx4NGVceDIweyRkYm5hbWV9XDU2XDE0MVwxNDJcMTU3XHgyMFx4NTdcMTEwXDEwNVx4NTJcMTA1XDQwXDE0M1x4NjFceDcyXDE0NFx4NzNceDJlXDE0NFx4NjVceDZjXDE0NVx4NzRcMTQ1XHg2NFw0MFx4M2RceDIwXHgzMFx4MjBcMTAxXHg0ZVwxMDRceDIwXDE0M1wxNDFcMTYyXDE0NFx4NzNcNTZceDcwXDE2MFwxNjVceDYxXHgyMFx4M2RceDIwXHg2MVwxNDJceDZmXHgyZVwxNjBceDcwXDE2NVx4NjFceDNiXDEyXDExIjsgJHJlc3VsdCA9ICRjb25uLT5xdWVyeSgkc3FsKTsgd2hpbGUgKCRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpKSB7ICR0cyA9IGhleDJiaW4oZGF0ZSgiXDE1MVx4NzMiKSk7ICRwcHNhID0gaGV4MmJpbihwcmVkZWMoJHJvd1siXDE2MFx4NzBcMTYzXDE0MSJdKSk7ICRlbW0gPSAkdHMgLiAiXHhhMFx4MiIgLiAkcHBzYSAuICJcMjQwXHgyMCIgLiAkR0xPQkFMU1siXHg2Ylx4NjVcMTcxXDYyXHgzMCJdIC4gIlx4YTBceDIxIiAuICRHTE9CQUxTWyJceDZiXDE0NVx4NzlceDMyXHgzMSJdOyAka2V5ID0gYWVzX2NtYWMoJHBwc2EsICRzeXNrZXkpOyAkZW1tID0gYWVzX2NiYygkZW1tLCAka2V5KTsgJGVtbWdfc3RyaW5nID0gaGV4MmJpbigiXHgzMFx4MzJcNjBceDMyXHgzMVw2MVw2MFx4MzBceDQ0XDEwMVx4MzBcNjBceDMwXHgzM1x4MzBceDMwXDYwXHgzMlw2MFx4MzBcNjBceDMxXDYwXDYwXDYwXDY0XHgzMFw2MFx4MzBceDMyXDYwXHgzMFw2MFw2MVx4MzBceDMwXHgzMFx4MzFcNjBceDMwXHgzMFx4MzRceDMwXHgzMFx4MzBcNjBcNjBcNjBceDMwXDYwXDYwXHgzMFx4MzBcNzBceDMwXHgzMFw2MFx4MzJceDMwXDYwXHgzMFx4MzBceDMwXDYwXDYwXHgzNVw2MFx4MzBceDQyXDEwM1w2NFx4MzdcNjVcMTA2XDEwNlwxMDZcNjFcNjBceDMwXHgzMCIpOyAkaGVhZGVyMSA9IGhleDJiaW4oIlw3MFx4MzJcNjdcNjBceDMwXHgzMFx4MzBceDMwXDYwXHgzMFw2MFx4MzAiKTsgJGhlYWRlcjIgPSBoZXgyYmluKCJceDM3XDYwXDYwXDYwXDY2XHgzNFw2MVw2MCIpOyAkaGVhZGVyMVsyXSA9IGhleDJiaW4oZGVjaGV4KHN0cmxlbigkZW1tKSArIDExKSk7ICRoZWFkZXIyWzFdID0gaGV4MmJpbihkZWNoZXgoc3RybGVuKCRlbW0pICsgMikpOyAkZW1tID0gJGVtbWdfc3RyaW5nIC4gJGhlYWRlcjEgLiAkcHBzYSAuICRoZWFkZXIyIC4gJGVtbTsgJGVtbSA9IHN0cl9wYWQoJGVtbSwgMjIzLCAiXDM3NyIpOyBlY2NvKCJcMTIzXHg2OFwxNDFcMTYyXDE0NVx4NjRcNDBceDQ1XHg0ZFwxMTVcNzJceGEiKTsgZWNjbygiXHg1MFwxMjBcMTIzXHg0MVx4M2FceDIwXHgyMFx4MjAiIC4gcHJlaGV4KCRyb3dbIlx4NzBceDcwXDE2M1wxNDEiXSkgLiAiXHhhIik7IGVjY28oIlx4NGJceDY1XDE3MVw2Mlw2MFx4M2FcNDBcNDAiIC4gYmluMmhleCgkR0xPQkFMU1siXHg2YlwxNDVcMTcxXDYyXHgzMCJdKSAuICJceGEiKTsgZWNjbygiXDExM1wxNDVcMTcxXHgzMlw2MVx4M2FceDIwXHgyMCIgLiBiaW4yaGV4KCRHTE9CQUxTWyJcMTUzXHg2NVwxNzFceDMyXHgzMSJdKSAuICJceGEiKTsgZWNjbygiXDU1XHgyZFx4MmRcNTVceDJkXDU1XHgyZFw1NVw1NVx4MmRceDJkXHgyZFw1NVx4MmRceDJkXDU1XDU1XHgyZFw1NVw1NVw1NVw1NVx4MmRcNTVceDJkXDU1XHgyZFx4MmRcNTVceDJkXHgyZFx4MmRceDJkXHgyZFx4MmRceDJkXDU1XHgyZFw1NVx4MmRceDJkXHgyZFx4MmRcNTVceDJkXDU1XHgyZFx4MmRceGEiKTsgZWNjbyhoZXhkdW1wKCRlbW0pKTsgc29ja2V0X3dyaXRlKCRzb2NrZXQsICRlbW0sIHN0cmxlbigkZW1tKSk7IH0gbXlzcWxpX2Nsb3NlKCRjb25uKTsgfSBnb3RvIHdwMWtCOyBOMHpTYjogZnVuY3Rpb24gZW1tX2RhdGUoJiRpbikgeyAkdGltZSA9IHN0cnRvdGltZSgkaW4pOyAkY254ZGF0ZSA9IGZsb29yKChkYXRlKCJceDU5IiwgJHRpbWUpIC0gMTk5MCkgLyAxMCk7ICRjbnhkYXRlID0gJGNueGRhdGUgPDwgNTsgJGNueGRhdGUgPSAkY254ZGF0ZSB8IGRhdGUoIlwxNTIiLCAkdGltZSk7ICRjbnhkYXRlID0gJGNueGRhdGUgPDwgNDsgJGNueGRhdGUgPSAkY254ZGF0ZSB8IChkYXRlKCJceDU5IiwgJHRpbWUpIC0gMTk5MCkgJSAxMDsgJGNueGRhdGUgPSAkY254ZGF0ZSA8PCA0OyAkY254ZGF0ZSA9ICRjbnhkYXRlIHwgZGF0ZSgiXDE1NiIsICR0aW1lKTsgcmV0dXJuIGhleDJiaW4oZGVjaGV4KCRjbnhkYXRlKSk7IH0gZ290byB5Rkd3ZDsgdTZrR3o6IGZ1bmN0aW9uIHJlYWRrZXlzKCkgeyBnbG9iYWwgJGNvbmZpZzsgJHNlcnZlcm5hbWUgPSAkY29uZmlnWyJcMTYzXDE0NVx4NzJceDc2XDE0NVx4NzJceDZlXDE0MVwxNTVcMTQ1Il07ICR1c2VybmFtZSA9ICRjb25maWdbIlwxNDRceDYyXDE2NVwxNjNcMTQ1XHg3MlwxNTZceDYxXHg2ZFx4NjUiXTsgJHBhc3N3b3JkID0gJGNvbmZpZ1siXDE0NFx4NjJceDcwXHg2MVwxNjNcMTYzIl07ICRkYm5hbWUgPSAkY29uZmlnWyJceDY0XDE0MlwxNTZceDYxXDE1NVwxNDUiXTsgJGNvbm4gPSBteXNxbGlfY29ubmVjdCgkc2VydmVybmFtZSwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRkYm5hbWUpOyBpZiAoISRjb25uKSB7IGRpZSgiXDEwM1wxNTdcMTU2XHg2ZVwxNDVcMTQzXDE2NFx4NjlcMTU3XDE1Nlx4MjBceDY2XDE0MVwxNTFceDZjXHg2NVx4NjRceDNhXDQwIiAuIG15c3FsaV9jb25uZWN0X2Vycm9yKCkpOyB9ICRzcWwgPSAiXDEyM1x4NDVcMTE0XHg0NVx4NDNceDU0XHgyMFwxNDVceDYzXHg2ZFwxNTNcMTQ1XHg3OVx4MjBceDQ2XDEyMlwxMTdceDRkXHgyMFwxNDVcMTQzXHg2ZFx4NjdceDVmXDE1M1x4NjVceDc5XDE2M1x4MjBcMTY3XDE1MFx4NjVcMTYyXHg2NVw0MFwxNTFceDY0XHgyMFw3NVw0MFx4MzJcNjAiOyAkcmVzdWx0ID0gJGNvbm4tPnF1ZXJ5KCRzcWwpOyAkcm93ID0gJHJlc3VsdC0+ZmV0Y2hfYXNzb2MoKTsgJEdMT0JBTFNbIlwxNTNcMTQ1XHg3OVx4MzJceDMwIl0gPSBoZXgyYmluKCRyb3dbIlx4NjVcMTQzXHg2ZFx4NmJcMTQ1XHg3OSJdKTsgJHNxbCA9ICJceDUzXDEwNVwxMTRcMTA1XDEwM1x4NTRcNDBcMTQ1XHg2M1wxNTVceDZiXHg2NVwxNzFcNDBcMTA2XDEyMlwxMTdcMTE1XDQwXDE0NVx4NjNceDZkXHg2N1x4NWZceDZiXHg2NVwxNzFceDczXDQwXDE2N1x4NjhceDY1XHg3MlwxNDVceDIwXHg2OVx4NjRcNDBcNzVcNDBceDMyXHgzMSI7ICRyZXN1bHQgPSAkY29ubi0+cXVlcnkoJHNxbCk7ICRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpOyAkR0xPQkFMU1siXDE1M1x4NjVcMTcxXHgzMlx4MzEiXSA9IGhleDJiaW4oJHJvd1siXHg2NVwxNDNcMTU1XHg2Ylx4NjVceDc5Il0pOyAkc3FsID0gIlx4NTNceDQ1XDExNFx4NDVceDQzXDEyNFx4MjBcMTQ1XHg2M1x4NmRceDZiXHg2NVx4NzlcNDBceDQ2XHg1Mlx4NGZcMTE1XHgyMFwxNDVcMTQzXHg2ZFx4NjdcMTM3XDE1M1x4NjVcMTcxXHg3M1x4MjBcMTY3XDE1MFwxNDVcMTYyXHg2NVw0MFwxNTFceDY0XHgyMFx4M2RceDIwXHgzMiI7ICRyZXN1bHQgPSAkY29ubi0+cXVlcnkoJHNxbCk7ICRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpOyAkR0xPQkFMU1siXHg3MFx4NjFcMTUxXHg3Mlx4NmJceDY1XHg3OSJdID0gaGV4MmJpbigkcm93WyJcMTQ1XHg2M1wxNTVcMTUzXDE0NVx4NzkiXSk7ICRzcWwgPSAiXHg1M1wxMDVcMTE0XDEwNVwxMDNceDU0XDQwXDE2M1x4NzlcMTYzXDE2NFwxNDVcMTU1XHg2YlwxNDVcMTcxXHgyMFx4NDZceDUyXDExN1wxMTVcNDBcMTQ1XHg2ZFx4NmRceDY3XDEzN1x4NzNcMTcxXDE2M1wxNjRceDY1XHg2ZFx4NmJcMTQ1XDE3MVw0MFwxNjdceDY4XDE0NVx4NzJceDY1XHgyMFwxNTFceDY0XHgzZFw2MSI7ICRyZXN1bHQgPSAkY29ubi0+cXVlcnkoJHNxbCk7ICRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpOyAkR0xPQkFMU1siXHg3M1x4NzlceDczXHg2Ylx4NjVcMTcxIl0gPSBoZXgyYmluKCRyb3dbIlwxNjNceDc5XDE2M1wxNjRcMTQ1XDE1NVx4NmJceDY1XDE3MSJdKTsgbXlzcWxpX2Nsb3NlKCRjb25uKTsgZWNjbygiXHg0YlwxNDVcMTcxXDE2M1x4MjBcMTQ2XHg3Mlx4NmZcMTU1XDQwXHg0NFx4NjFceDc0XHg2MVx4NjJceDYxXHg3M1wxNDVceDIwXDE1NFwxNTdceDYxXHg2NFx4NjVcMTQ0XHhhXHhhIik7IH0gZ290byBFMXEzaTsgSVptM2E6IHJlcXVpcmVfb25jZSAiXHg2Y1x4NjlcMTQyXHgyZlwxMDNceDcyXDE3MVx4NzBceDc0XDExNFx4NjlcMTQyXDU3XDE0MlwxNTdcMTU3XHg3NFx4NzNcMTY0XDE2Mlx4NjFcMTYwXDU2XHg3MFx4NjhcMTYwIjsgZ290byB6Xzl6MDsgel85ejA6IGZ1bmN0aW9uIGVjY28oJGluKSB7IGdsb2JhbCAkY29uZmlnOyAkZWNobyA9ICRjb25maWdbIlx4NjVcMTQzXHg2OFx4NmYiXTsgaWYgKCRlY2hvKSB7IGVjaG8gJGluOyB9IH0gZ290byB1NmtHejsgd3ltd1o6IGZ1bmN0aW9uIHByZWhleCgmJGluKSB7ICRvdXQgPSAnJzsgZm9yICgkaSA9IDA7ICRpIDwgOCAtIHN0cmxlbigkaW4pOyAkaSsrKSB7ICRvdXQgLj0gIlw2MCI7IH0gcmV0dXJuICRvdXQgLiAkaW47IH0gZ290byB3RXE3YzsgZm9zNHE6IGZ1bmN0aW9uIGVtbV9zZXR1cCgmJHNvY2tldCkgeyBlY2NvKCJcMTIzXDE2NFwxNjJceDY1XDE0MVx4NmRceDJkXHg1M1wxNDVcMTY0XHg3NVwxNjBceDNhXHhhXHg1M1x4NjVceDZlXDE0NFx4M2FceGEiKTsgJG91dCA9IGhleDJiaW4oIlw2MFx4MzJceDMwXDYwXDYxXDYxXDYwXDYwXHgzMVw2M1w2MFx4MzBceDMwXHgzM1x4MzBcNjBcNjBceDMyXHgzMFw2MFw2MFw2MVw2MFx4MzBceDMwXDYxXDYwXDYwXHgzMFw2NFw2MFw2MFw2MFx4MzBcNjBcNjBcNjBceDMwXDYwXDYwXHgzMFw2Mlw2MFw2MFx4MzBceDMxXHgzMFx4MzEiKTsgZWNjbyhoZXhkdW1wKCRvdXQpKTsgc29ja2V0X3dyaXRlKCRzb2NrZXQsICRvdXQsIHN0cmxlbigkb3V0KSk7ICRvdXQgPSBzb2NrZXRfcmVhZCgkc29ja2V0LCAyMDQ4KTsgZWNjbygiXHg1MlwxNDVcMTQzXHg2NVx4NjlcMTY2XHg2NVx4NjRcNzJceGEiKTsgZWNjbyhoZXhkdW1wKCRvdXQpKTsgZWNjbygiXHg1M1x4NjVcMTU2XHg2NFw3MlwxMiIpOyAkb3V0ID0gaGV4MmJpbigiXDYwXHgzMlw2MFw2MVw2MVw2MVx4MzBceDMwXDYxXHg0Nlw2MFx4MzBceDMwXDYzXHgzMFw2MFw2MFw2Mlx4MzBceDMwXDYwXHgzMVw2MFx4MzBceDMwXDY0XHgzMFx4MzBcNjBceDMyXHgzMFx4MzBceDMwXHgzMVx4MzBceDMwXDYwXHgzMVw2MFw2MFx4MzBcNjRceDMwXDYwXDYwXHgzMFw2MFx4MzBcNjBcNjBceDMwXHgzMFx4MzBceDM4XDYwXHgzMFw2MFx4MzJceDMwXHgzMFw2MFx4MzBceDMwXDYwXDYwXHgzN1x4MzBcNjBceDMwXDYxXDYwXDYwIik7IGVjY28oaGV4ZHVtcCgkb3V0KSk7IHNvY2tldF93cml0ZSgkc29ja2V0LCAkb3V0LCBzdHJsZW4oJG91dCkpOyAkb3V0ID0gc29ja2V0X3JlYWQoJHNvY2tldCwgMjA0OCk7IGVjY28oIlx4NTJcMTQ1XHg2M1x4NjVcMTUxXDE2NlwxNDVceDY0XDcyXDEyIik7IGVjY28oaGV4ZHVtcCgkb3V0KSk7IGVjY28oIlx4NTNceDY1XHg2ZVx4NjRceDNhXDEyIik7ICRvdXQgPSBoZXgyYmluKCJcNjBceDMyXDYwXHgzMVw2MVw2N1w2MFx4MzBceDMxXHg0MVx4MzBceDMwXHgzMFx4MzNceDMwXHgzMFw2MFw2Mlx4MzBcNjBcNjBceDMxXDYwXDYwXDYwXDY0XHgzMFx4MzBceDMwXDYyXDYwXHgzMFx4MzBceDMxXHgzMFw2MFx4MzBceDMxXHgzMFx4MzBcNjBcNjRceDMwXDYwXHgzMFw2MFx4MzBcNjBcNjBceDMwXHgzMFw2MFw2MFx4MzZcNjBceDMwXHgzMFw2Mlw2MFw2MFw2Nlw2NCIpOyBlY2NvKGhleGR1bXAoJG91dCkpOyBzb2NrZXRfd3JpdGUoJHNvY2tldCwgJG91dCwgc3RybGVuKCRvdXQpKTsgJG91dCA9IHNvY2tldF9yZWFkKCRzb2NrZXQsIDIwNDgpOyBlY2NvKCJcMTIyXHg2NVx4NjNceDY1XDE1MVwxNjZceDY1XHg2NFw3MlwxMiIpOyBlY2NvKGhleGR1bXAoJG91dCkpOyB9IGdvdG8gY1ZnNFA7IHZ4SG9WOiA=')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 979ff3f39772811b0d3d0f2bc9bd0d73
Eval Count 0
Decode Time 86 ms