<?php
	Class TKMDecrypt
	{
		var $KEY_SIZE = 8; 
		var $INT_TO_CHAR_TABLE = array(); 
		var $HexChars = "0123456789ABCDEF"; 
		
		public function __construct()
		{
			$this->INT_TO_CHAR_TABLE = chr(0) . "ZNÇV bCKıUt01ÜLşEaB23OÖ456u7M8S!9ŞFRDAIPHpTĞiü/J+%hrGYsyc&" . "(zn)çvjd=ekğmog?*-öf_İ{l}[]#$@<>;.:\"'WwQqXx\\\n\r,|~é^" . 
			chr(1) . chr(2) . chr(3) . chr(4) . chr(5) . chr(6) . chr(7) . chr(8) . 
			chr(9) . chr(11) . chr(12) . chr(14) . chr(15) . chr(16) . chr(17) . chr(18) . chr(19) . chr(20);
			
			$this->INT_TO_CHAR_TABLE = preg_split('//u', $this->INT_TO_CHAR_TABLE, -1, PREG_SPLIT_NO_EMPTY);
		}
		
		public function Decrypt0($cipherText, $key)
		{
			$_loc7_ = 0; 
            $_loc14_ = 0; 
            $_loc15_ = ""; 
            $_loc16_ = 0; 
            $_loc17_ = 0; 
			$_loc18_ = 0; 
            $_loc19_ = 0; 
            $_loc20_ = 0; 
            $_loc21_ = 0; 
            $_loc22_ = 0; 
            $_loc3_ = ""; 
            $_loc4_ = ""; 
			$_loc5_ = ""; 
            $_loc6_ = ""; 
            $_loc8_ = $cipherText[(strlen($cipherText) - 1)] - chr(0); 
            switch ($_loc8_) 
            { 
                case 0: 
				$_loc6_ = $cipherText; 
				break; 
                case 1: 
				$_loc6_ = $this->convertFromHexStr($cipherText, -1); 
				break; 
                case 2: 
				$_loc14_ = $cipherText[(strlen($cipherText) - 2)] - chr(0); 
				$_loc15_ = $this->deShuffleHexStr($cipherText, $key, $_loc14_, -2); 
				$_loc6_ = $this->convertFromHexStr($_loc15_, 0);
				break; 
			} 
			$_loc9_ = array(); 
            $_loc7_ = 0; 
            while ($_loc7_ < $this->KEY_SIZE) 
            { 
                $_loc16_ = ord($_loc6_[(20 + $_loc7_)]) - 90;
                $_loc17_ = (int)(ord($_loc6_[25 + $this->KEY_SIZE + $_loc16_]) - 90); 
                $_loc9_[$_loc7_] = $_loc17_; 
                $_loc7_++; 
			} 
            $_loc10_ = 0; 
            $_loc7_ = 0; 
            while ($_loc7_ < $this->KEY_SIZE) 
            { 
                $_loc10_ = $_loc10_ + $_loc9_[$_loc7_]; 
                $_loc7_++; 
			} 
            $_loc10_ = $_loc10_ % $_loc9_[0]; 
            $_loc10_++; 
            $_loc11_ = 0; 
            $_loc7_ = 0; 
            while ($_loc7_ < 5) 
            { 
                $_loc18_ = ord($_loc6_[(20 + $this->KEY_SIZE + $_loc7_)]) - (60 + $_loc7_); 
                $_loc5_ = $_loc5_ . chr($_loc18_); 
                $_loc7_++; 
			} 
            $_loc11_ = intval($_loc5_); 
            $_loc4_ = substr($_loc6_, 55 + $this->KEY_SIZE, $_loc11_); 
            $_loc12_ = $_loc11_; 
            $_loc13_ = 0; 
            $_loc7_ = 0; 
            while ($_loc7_ < $_loc12_) 
            { 
                $_loc19_ = ord($_loc4_[($_loc7_)]);
                $_loc20_ = $_loc9_[$_loc13_ % $this->KEY_SIZE]; 
				
                $_loc21_ = $_loc19_ << 8 - $_loc20_ & 255; 
                $_loc19_ = ($_loc19_ >> $_loc20_ | $_loc21_) & 255; 
                $_loc22_ = $_loc19_; 
                $_loc22_ = $_loc22_ - (int)($_loc10_); 
                $_loc3_ = $_loc3_ . $this->INT_TO_CHAR_TABLE[($_loc22_)]; 
                $_loc13_++; 
                $_loc7_++; 
			} 
            return $_loc3_; 
			
		}
		
		protected function convertFromHexStr($param1, $param2) 
        { 
            $_loc6_ = 0; 
            $_loc3_ = strlen($param1) + $param2; 
            $_loc4_ = ""; 
            $_loc5_ = 0; 
            while ($_loc5_ < $_loc3_) 
            { 
                $_loc6_ = (int)(strpos($this->HexChars, $param1[$_loc5_]) << 4 | strpos($this->HexChars, $param1[$_loc5_ + 1])); 
				$_loc4_ = $_loc4_ . chr($_loc6_); 
                $_loc5_ = $_loc5_ + 2; 
			} 
            return $_loc4_; 
		} 
		
		protected function deShuffleHexStr($param1, $param2, $param3, $param4) 
        { 
            $_loc5_ = 0; 
			$_loc6_ = 0; 
            $_loc12_ = 0; 
            $_loc13_ = 0; 
            $_loc14_ = 0; 
            $_loc7_ = array(); 
            $_loc8_ = array(); 
            $_loc5_ = 0; 
            while ($_loc5_ < $this->KEY_SIZE) 
            { 
                $_loc7_[($_loc5_ + $param3) % $this->KEY_SIZE] = ord($param2[($_loc5_)]) - ord(0); 
                $_loc5_++; 
			} 
            $_loc9_ = strlen($param1) + $param4;
            $_loc10_ = substr($param1, 0, $_loc9_); 
            $_loc11_ = (int)($_loc9_ / $this->KEY_SIZE); 
            $_loc15_ = 0; 
            while ($_loc15_ < strlen($_loc10_)) 
            { 
                $_loc8_[] = ord($_loc10_[$_loc15_]); 
                $_loc15_++; 
			}
			$_loc5_ = 0; 
            while ($_loc5_ < $_loc11_) 
            { 
                $_loc12_ = $_loc5_ * $this->KEY_SIZE; 
                $_loc6_ = 0; 
                while ($_loc6_ < $this->KEY_SIZE) 
                { 
                    $_loc13_ = $_loc12_ + $_loc7_[$_loc6_]; 
                    $_loc14_ = ord($param1[($_loc12_ + $_loc6_)]); 
                    $_loc8_[$_loc13_] = $_loc14_; 
                    $_loc6_++; 
				} 
                $_loc5_++; 
			} 
            $_loc10_ = ""; 
            $_loc5_ = 0; 
            while ($_loc5_ < Count($_loc8_)) 
            { 
                $_loc10_ = $_loc10_ . chr($_loc8_[$_loc5_]); 
				$_loc5_++; 
			} 
            return $_loc10_; 
		}
	}
	
	$TKMDecrypt = new TKMDecrypt();
	
	
	$encData = 'XXXXXXX';
	$speedDataStr = $TKMDecrypt->Decrypt0($encData, "62403715"); 
	echo $speedDataStr;