STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228096
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/84334408?noj=FRM84334408-5DC" width="1" height="1"></div>

prison-guard.swf

This is the info page for
Flash #107864

(Click the ID number above for more basic data on this flash file.)


Text
.

g

n

i

d

a

o

l

CONTINUE

CONTINUA

POKRAÈOVA

FOLYTATNI

CONTINUĂ

ПРОДОЛЖАЙ

FORTSÆT

WEITER

VERDER

PRZEJDŹ DALEJ

<p align="left"></p>

ActionScript [AS3]

Section 1
//HMAC (com.hurlant.crypto.hash.HMAC) package com.hurlant.crypto.hash { import flash.utils.*; public class HMAC { private var bits:uint; private var hash:IHash; public function HMAC(_arg1:IHash, _arg2:uint=0){ this.hash = _arg1; this.bits = _arg2; } public function toString():String{ return ((("hmac-" + ((bits > 0)) ? (bits + "-") : "") + hash.toString())); } public function getHashSize():uint{ if (bits != 0){ return ((bits / 8)); }; return (hash.getHashSize()); } public function compute(_arg1:ByteArray, _arg2:ByteArray):ByteArray{ var _local3:ByteArray; if (_arg1.length > hash.getInputSize()){ _local3 = hash.hash(_arg1); } else { _local3 = new ByteArray(); _local3.writeBytes(_arg1); }; while (_local3.length < hash.getInputSize()) { _local3[_local3.length] = 0; }; var _local4:ByteArray = new ByteArray(); var _local5:ByteArray = new ByteArray(); var _local6:uint; while (_local6 < _local3.length) { _local4[_local6] = (_local3[_local6] ^ 54); _local5[_local6] = (_local3[_local6] ^ 92); _local6++; }; _local4.position = _local3.length; _local4.writeBytes(_arg2); var _local7:ByteArray = hash.hash(_local4); _local5.position = _local3.length; _local5.writeBytes(_local7); var _local8:ByteArray = hash.hash(_local5); if ((((bits > 0)) && ((bits < (8 * _local8.length))))){ _local8.length = (bits / 8); }; return (_local8); } public function dispose():void{ hash = null; bits = 0; } } }//package com.hurlant.crypto.hash
Section 2
//IHash (com.hurlant.crypto.hash.IHash) package com.hurlant.crypto.hash { import flash.utils.*; public interface IHash { function toString():String; function getHashSize():uint; function getInputSize():uint; function hash(_arg1:ByteArray):ByteArray; } }//package com.hurlant.crypto.hash
Section 3
//MD2 (com.hurlant.crypto.hash.MD2) package com.hurlant.crypto.hash { import flash.utils.*; public class MD2 implements IHash { public static const HASH_SIZE:int = 16; private static const S:Array = [41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, 19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188, 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24, 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, 245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, 148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50, 39, 53, 62, 204, 231, 191, 247, 151, 3, 0xFF, 25, 48, 179, 72, 165, 181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, 150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157, 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27, 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, 85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197, 234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65, 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123, 8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233, 203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228, 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237, 31, 26, 219, 153, 141, 51, 159, 17, 131, 20]; public function toString():String{ return ("md2"); } public function getInputSize():uint{ return (16); } public function getHashSize():uint{ return (HASH_SIZE); } public function hash(_arg1:ByteArray):ByteArray{ var _local8:uint; var _local9:uint; var _local10:uint; var _local2:uint = _arg1.length; var _local3:uint = (((16 - (_arg1.length % 16))) || (16)); do { _arg1[_arg1.length] = _local3; } while ((_arg1.length % 16) != 0); var _local4:uint = _arg1.length; var _local5:ByteArray = new ByteArray(); var _local6:uint; _local3 = 0; while (_local3 < _local4) { _local8 = 0; while (_local8 < 16) { _local6 = (_local5[_local8] = (_local5[_local8] ^ S[(_arg1[(_local3 + _local8)] ^ _local6)])); _local8++; }; _local3 = (_local3 + 16); }; _arg1.position = _arg1.length; _arg1.writeBytes(_local5); _local4 = (_local4 + 16); var _local7:ByteArray = new ByteArray(); _local3 = 0; while (_local3 < _local4) { _local8 = 0; while (_local8 < 16) { _local7[(32 + _local8)] = ((_local7[(16 + _local8)] = _arg1[(_local3 + _local8)]) ^ _local7[_local8]); _local8++; }; _local9 = 0; _local8 = 0; while (_local8 < 18) { _local10 = 0; while (_local10 < 48) { _local9 = (_local7[_local10] ^ S[_local9]); _local7[_local10] = _local9; _local10++; }; _local9 = ((_local9 + _local8) & 0xFF); _local8++; }; _local3 = (_local3 + 16); }; _local7.length = 16; _arg1.length = _local2; return (_local7); } } }//package com.hurlant.crypto.hash
Section 4
//MD5 (com.hurlant.crypto.hash.MD5) package com.hurlant.crypto.hash { import flash.utils.*; public class MD5 implements IHash { public static const HASH_SIZE:int = 16; private function ff(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function cmn(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint):uint{ return ((rol((((_arg2 + _arg1) + _arg4) + _arg6), _arg5) + _arg3)); } private function hh(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } public function getHashSize():uint{ return (HASH_SIZE); } public function hash(_arg1:ByteArray):ByteArray{ var _local2:uint = (_arg1.length * 8); var _local3:String = _arg1.endian; while ((_arg1.length % 4) != 0) { _arg1[_arg1.length] = 0; }; _arg1.position = 0; var _local4:Array = []; _arg1.endian = Endian.LITTLE_ENDIAN; var _local5:uint; while (_local5 < _arg1.length) { _local4.push(_arg1.readUnsignedInt()); _local5 = (_local5 + 4); }; var _local6:Array = core_md5(_local4, _local2); var _local7:ByteArray = new ByteArray(); _local7.endian = Endian.LITTLE_ENDIAN; _local5 = 0; while (_local5 < 4) { _local7.writeUnsignedInt(_local6[_local5]); _local5++; }; _arg1.length = (_local2 / 8); _arg1.endian = _local3; return (_local7); } private function gg(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public function toString():String{ return ("md5"); } public function getInputSize():uint{ return (64); } private function rol(_arg1:uint, _arg2:uint):uint{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } private function ii(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function core_md5(_arg1:Array, _arg2:uint):Array{ var _local8:uint; var _local9:uint; var _local10:uint; var _local11:uint; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; var _local3:uint = 1732584193; var _local4:uint = 4023233417; var _local5:uint = 2562383102; var _local6:uint = 271733878; var _local7:uint; while (_local7 < _arg1.length) { _arg1[_local7] = ((_arg1[_local7]) || (0)); _arg1[(_local7 + 1)] = ((_arg1[(_local7 + 1)]) || (0)); _arg1[(_local7 + 2)] = ((_arg1[(_local7 + 2)]) || (0)); _arg1[(_local7 + 3)] = ((_arg1[(_local7 + 3)]) || (0)); _arg1[(_local7 + 4)] = ((_arg1[(_local7 + 4)]) || (0)); _arg1[(_local7 + 5)] = ((_arg1[(_local7 + 5)]) || (0)); _arg1[(_local7 + 6)] = ((_arg1[(_local7 + 6)]) || (0)); _arg1[(_local7 + 7)] = ((_arg1[(_local7 + 7)]) || (0)); _arg1[(_local7 + 8)] = ((_arg1[(_local7 + 8)]) || (0)); _arg1[(_local7 + 9)] = ((_arg1[(_local7 + 9)]) || (0)); _arg1[(_local7 + 10)] = ((_arg1[(_local7 + 10)]) || (0)); _arg1[(_local7 + 11)] = ((_arg1[(_local7 + 11)]) || (0)); _arg1[(_local7 + 12)] = ((_arg1[(_local7 + 12)]) || (0)); _arg1[(_local7 + 13)] = ((_arg1[(_local7 + 13)]) || (0)); _arg1[(_local7 + 14)] = ((_arg1[(_local7 + 14)]) || (0)); _arg1[(_local7 + 15)] = ((_arg1[(_local7 + 15)]) || (0)); _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, 3614090360); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, 3905402710); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, 3250441966); _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, 4118548399); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, 2821735955); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, 4249261313); _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, 2336552879); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, 4294925233); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, 2304563134); _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, 4254626195); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, 2792965006); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, 4129170786); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, 3225465664); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, 3921069994); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, 3593408605); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, 3634488961); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, 3889429448); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, 3275163606); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, 4107603335); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, 2850285829); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, 4243563512); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, 2368359562); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, 4294588738); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, 2272392833); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, 4259657740); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, 2763975236); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, 4139469664); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, 3200236656); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, 3936430074); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, 3572445317); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, 3654602809); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, 3873151461); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, 3299628645); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, 4096336452); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, 2878612391); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, 4237533241); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, 2399980690); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, 4293915773); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, 2240044497); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, 4264355552); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, 2734768916); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, 4149444226); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, 3174756917); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, 3951481745); _local3 = (_local3 + _local8); _local4 = (_local4 + _local9); _local5 = (_local5 + _local10); _local6 = (_local6 + _local11); _local7 = (_local7 + 16); }; return ([_local3, _local4, _local5, _local6]); } } }//package com.hurlant.crypto.hash
Section 5
//SHA1 (com.hurlant.crypto.hash.SHA1) package com.hurlant.crypto.hash { public class SHA1 extends SHABase implements IHash { public static const HASH_SIZE:int = 20; override public function toString():String{ return ("sha1"); } override protected function core(_arg1:Array, _arg2:uint):Array{ var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (24 - (_arg2 % 32)))); _arg1[((((_arg2 + 64) >> 9) << 4) + 15)] = _arg2; var _local3:Array = []; var _local4:uint = 1732584193; var _local5:uint = 4023233417; var _local6:uint = 2562383102; var _local7:uint = 271733878; var _local8:uint = 3285377520; var _local9:uint; while (_local9 < _arg1.length) { _local10 = _local4; _local11 = _local5; _local12 = _local6; _local13 = _local7; _local14 = _local8; _local15 = 0; while (_local15 < 80) { if (_local15 < 16){ _local3[_local15] = ((_arg1[(_local9 + _local15)]) || (0)); } else { _local3[_local15] = rol((((_local3[(_local15 - 3)] ^ _local3[(_local15 - 8)]) ^ _local3[(_local15 - 14)]) ^ _local3[(_local15 - 16)]), 1); }; _local16 = ((((rol(_local4, 5) + ft(_local15, _local5, _local6, _local7)) + _local8) + _local3[_local15]) + kt(_local15)); _local8 = _local7; _local7 = _local6; _local6 = rol(_local5, 30); _local5 = _local4; _local4 = _local16; _local15++; }; _local4 = (_local4 + _local10); _local5 = (_local5 + _local11); _local6 = (_local6 + _local12); _local7 = (_local7 + _local13); _local8 = (_local8 + _local14); _local9 = (_local9 + 16); }; return ([_local4, _local5, _local6, _local7, _local8]); } private function kt(_arg1:uint):uint{ return (((_arg1)<20) ? 1518500249 : ((_arg1)<40) ? 1859775393 : ((_arg1)<60) ? 2400959708 : 3395469782); } override public function getHashSize():uint{ return (HASH_SIZE); } private function ft(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{ if (_arg1 < 20){ return (((_arg2 & _arg3) | (~(_arg2) & _arg4))); }; if (_arg1 < 40){ return (((_arg2 ^ _arg3) ^ _arg4)); }; if (_arg1 < 60){ return ((((_arg2 & _arg3) | (_arg2 & _arg4)) | (_arg3 & _arg4))); }; return (((_arg2 ^ _arg3) ^ _arg4)); } private function rol(_arg1:uint, _arg2:uint):uint{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.hurlant.crypto.hash
Section 6
//SHA224 (com.hurlant.crypto.hash.SHA224) package com.hurlant.crypto.hash { public class SHA224 extends SHA256 { public function SHA224(){ h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]; } override public function getHashSize():uint{ return (28); } override public function toString():String{ return ("sha224"); } } }//package com.hurlant.crypto.hash
Section 7
//SHA256 (com.hurlant.crypto.hash.SHA256) package com.hurlant.crypto.hash { public class SHA256 extends SHABase implements IHash { protected var h:Array; protected static const k:Array = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; public function SHA256(){ h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225]; super(); } override public function toString():String{ return ("sha256"); } override public function getHashSize():uint{ return (32); } protected function rrol(_arg1:uint, _arg2:uint):uint{ return (((_arg1 << (32 - _arg2)) | (_arg1 >>> _arg2))); } override protected function core(_arg1:Array, _arg2:uint):Array{ var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:uint; var _local22:uint; var _local23:uint; var _local24:uint; var _local25:uint; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (24 - (_arg2 % 32)))); _arg1[((((_arg2 + 64) >> 9) << 4) + 15)] = _arg2; var _local3:Array = []; var _local4:uint = h[0]; var _local5:uint = h[1]; var _local6:uint = h[2]; var _local7:uint = h[3]; var _local8:uint = h[4]; var _local9:uint = h[5]; var _local10:uint = h[6]; var _local11:uint = h[7]; var _local12:uint; while (_local12 < _arg1.length) { _local13 = _local4; _local14 = _local5; _local15 = _local6; _local16 = _local7; _local17 = _local8; _local18 = _local9; _local19 = _local10; _local20 = _local11; _local21 = 0; while (_local21 < 64) { if (_local21 < 16){ _local3[_local21] = ((_arg1[(_local12 + _local21)]) || (0)); } else { _local24 = ((rrol(_local3[(_local21 - 15)], 7) ^ rrol(_local3[(_local21 - 15)], 18)) ^ (_local3[(_local21 - 15)] >>> 3)); _local25 = ((rrol(_local3[(_local21 - 2)], 17) ^ rrol(_local3[(_local21 - 2)], 19)) ^ (_local3[(_local21 - 2)] >>> 10)); _local3[_local21] = (((_local3[(_local21 - 16)] + _local24) + _local3[(_local21 - 7)]) + _local25); }; _local22 = (((rrol(_local4, 2) ^ rrol(_local4, 13)) ^ rrol(_local4, 22)) + (((_local4 & _local5) ^ (_local4 & _local6)) ^ (_local5 & _local6))); _local23 = ((((_local11 + ((rrol(_local8, 6) ^ rrol(_local8, 11)) ^ rrol(_local8, 25))) + ((_local8 & _local9) ^ (_local10 & ~(_local8)))) + k[_local21]) + _local3[_local21]); _local11 = _local10; _local10 = _local9; _local9 = _local8; _local8 = (_local7 + _local23); _local7 = _local6; _local6 = _local5; _local5 = _local4; _local4 = (_local23 + _local22); _local21++; }; _local4 = (_local4 + _local13); _local5 = (_local5 + _local14); _local6 = (_local6 + _local15); _local7 = (_local7 + _local16); _local8 = (_local8 + _local17); _local9 = (_local9 + _local18); _local10 = (_local10 + _local19); _local11 = (_local11 + _local20); _local12 = (_local12 + 16); }; return ([_local4, _local5, _local6, _local7, _local8, _local9, _local10, _local11]); } } }//package com.hurlant.crypto.hash
Section 8
//SHABase (com.hurlant.crypto.hash.SHABase) package com.hurlant.crypto.hash { import flash.utils.*; public class SHABase implements IHash { public function toString():String{ return ("sha"); } public function getInputSize():uint{ return (64); } public function getHashSize():uint{ return (0); } public function hash(_arg1:ByteArray):ByteArray{ var _local2:uint = _arg1.length; var _local3:String = _arg1.endian; _arg1.endian = Endian.BIG_ENDIAN; var _local4:uint = (_local2 * 8); while ((_arg1.length % 4) != 0) { _arg1[_arg1.length] = 0; }; _arg1.position = 0; var _local5:Array = []; var _local6:uint; while (_local6 < _arg1.length) { _local5.push(_arg1.readUnsignedInt()); _local6 = (_local6 + 4); }; var _local7:Array = core(_local5, _local4); var _local8:ByteArray = new ByteArray(); var _local9:uint = (getHashSize() / 4); _local6 = 0; while (_local6 < _local9) { _local8.writeUnsignedInt(_local7[_local6]); _local6++; }; _arg1.length = _local2; _arg1.endian = _local3; return (_local8); } protected function core(_arg1:Array, _arg2:uint):Array{ return (null); } } }//package com.hurlant.crypto.hash
Section 9
//ARC4 (com.hurlant.crypto.prng.ARC4) package com.hurlant.crypto.prng { import flash.utils.*; import com.hurlant.crypto.symmetric.*; import com.hurlant.util.*; public class ARC4 implements IPRNG, IStreamCipher { private const psize:uint = 0x0100; private var S:ByteArray; private var i:int;// = 0 private var j:int;// = 0 public function ARC4(_arg1:ByteArray=null){ S = new ByteArray(); if (_arg1){ init(_arg1); }; } public function decrypt(_arg1:ByteArray):void{ encrypt(_arg1); } public function init(_arg1:ByteArray):void{ var _local2:int; var _local3:int; var _local4:int; _local2 = 0; while (_local2 < 0x0100) { S[_local2] = _local2; _local2++; }; _local3 = 0; _local2 = 0; while (_local2 < 0x0100) { _local3 = (((_local3 + S[_local2]) + _arg1[(_local2 % _arg1.length)]) & 0xFF); _local4 = S[_local2]; S[_local2] = S[_local3]; S[_local3] = _local4; _local2++; }; this.i = 0; this.j = 0; } public function next():uint{ var _local1:int; i = ((i + 1) & 0xFF); j = ((j + S[i]) & 0xFF); _local1 = S[i]; S[i] = S[j]; S[j] = _local1; return (S[((_local1 + S[i]) & 0xFF)]); } public function encrypt(_arg1:ByteArray):void{ var _local2:uint; while (_local2 < _arg1.length) { var _temp1 = _local2; _local2 = (_local2 + 1); var _local3 = _temp1; _arg1[_local3] = (_arg1[_local3] ^ next()); }; } public function dispose():void{ var _local1:uint; if (S != null){ _local1 = 0; while (_local1 < S.length) { S[_local1] = (Math.random() * 0x0100); _local1++; }; S.length = 0; S = null; }; this.i = 0; this.j = 0; Memory.gc(); } public function getBlockSize():uint{ return (1); } public function getPoolSize():uint{ return (psize); } public function toString():String{ return ("rc4"); } } }//package com.hurlant.crypto.prng
Section 10
//IPRNG (com.hurlant.crypto.prng.IPRNG) package com.hurlant.crypto.prng { import flash.utils.*; public interface IPRNG { function init(_arg1:ByteArray):void; function next():uint; function getPoolSize():uint; function toString():String; function dispose():void; } }//package com.hurlant.crypto.prng
Section 11
//Random (com.hurlant.crypto.prng.Random) package com.hurlant.crypto.prng { import flash.utils.*; import com.hurlant.util.*; import flash.text.*; import flash.system.*; public class Random { private var ready:Boolean;// = false private var pool:ByteArray; private var seeded:Boolean;// = false private var psize:int; private var state:IPRNG; private var pptr:int; public function Random(_arg1:Class=null){ var _local2:uint; super(); if (_arg1 == null){ _arg1 = ARC4; }; state = (new (_arg1) as IPRNG); psize = state.getPoolSize(); pool = new ByteArray(); pptr = 0; while (pptr < psize) { _local2 = (65536 * Math.random()); var _local3 = pptr++; pool[_local3] = (_local2 >>> 8); var _local4 = pptr++; pool[_local4] = (_local2 & 0xFF); }; pptr = 0; seed(); } public function autoSeed():void{ var _local3:Font; var _local1:ByteArray = new ByteArray(); _local1.writeUnsignedInt(System.totalMemory); _local1.writeUTF(Capabilities.serverString); _local1.writeUnsignedInt(getTimer()); _local1.writeUnsignedInt(new Date().getTime()); var _local2:Array = Font.enumerateFonts(true); for each (_local3 in _local2) { _local1.writeUTF(_local3.fontName); _local1.writeUTF(_local3.fontStyle); _local1.writeUTF(_local3.fontType); }; _local1.position = 0; while (_local1.bytesAvailable >= 4) { seed(_local1.readUnsignedInt()); }; } public function seed(_arg1:int=0):void{ if (_arg1 == 0){ _arg1 = new Date().getTime(); }; var _local2 = pptr++; pool[_local2] = (pool[_local2] ^ (_arg1 & 0xFF)); var _local3 = pptr++; pool[_local3] = (pool[_local3] ^ ((_arg1 >> 8) & 0xFF)); var _local4 = pptr++; pool[_local4] = (pool[_local4] ^ ((_arg1 >> 16) & 0xFF)); var _local5 = pptr++; pool[_local5] = (pool[_local5] ^ ((_arg1 >> 24) & 0xFF)); pptr = (pptr % psize); seeded = true; } public function toString():String{ return (("random-" + state.toString())); } public function dispose():void{ var _local1:uint; while (_local1 < pool.length) { pool[_local1] = (Math.random() * 0x0100); _local1++; }; pool.length = 0; pool = null; state.dispose(); state = null; psize = 0; pptr = 0; Memory.gc(); } public function nextBytes(_arg1:ByteArray, _arg2:int):void{ while (_arg2--) { _arg1.writeByte(nextByte()); }; } public function nextByte():int{ if (!ready){ if (!seeded){ autoSeed(); }; state.init(pool); pool.length = 0; pptr = 0; ready = true; }; return (state.next()); } } }//package com.hurlant.crypto.prng
Section 12
//RSAKey (com.hurlant.crypto.rsa.RSAKey) package com.hurlant.crypto.rsa { import flash.utils.*; import com.hurlant.math.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class RSAKey { public var dmp1:BigInteger; protected var canDecrypt:Boolean; public var d:BigInteger; public var e:int; public var dmq1:BigInteger; public var n:BigInteger; public var p:BigInteger; public var q:BigInteger; protected var canEncrypt:Boolean; public var coeff:BigInteger; public function RSAKey(_arg1:BigInteger, _arg2:int, _arg3:BigInteger=null, _arg4:BigInteger=null, _arg5:BigInteger=null, _arg6:BigInteger=null, _arg7:BigInteger=null, _arg8:BigInteger=null){ this.n = _arg1; this.e = _arg2; this.d = _arg3; this.p = _arg4; this.q = _arg5; this.dmp1 = _arg6; this.dmq1 = _arg7; this.coeff = _arg8; canEncrypt = ((!((n == null))) && (!((e == 0)))); canDecrypt = ((canEncrypt) && (!((d == null)))); } public function verify(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _decrypt(doPublic, _arg1, _arg2, _arg3, _arg4, 1); } protected function doPrivate2(_arg1:BigInteger):BigInteger{ if ((((p == null)) && ((q == null)))){ return (_arg1.modPow(d, n)); }; var _local2:BigInteger = _arg1.mod(p).modPow(dmp1, p); var _local3:BigInteger = _arg1.mod(q).modPow(dmq1, q); while (_local2.compareTo(_local3) < 0) { _local2 = _local2.add(p); }; var _local4:BigInteger = _local2.subtract(_local3).multiply(coeff).mod(p).multiply(q).add(_local3); return (_local4); } public function dump():String{ var _local1 = ((((("N=" + n.toString(16)) + "\n") + "E=") + e.toString(16)) + "\n"); if (canDecrypt){ _local1 = (_local1 + (("D=" + d.toString(16)) + "\n")); if (((!((p == null))) && (!((q == null))))){ _local1 = (_local1 + (("P=" + p.toString(16)) + "\n")); _local1 = (_local1 + (("Q=" + q.toString(16)) + "\n")); _local1 = (_local1 + (("DMP1=" + dmp1.toString(16)) + "\n")); _local1 = (_local1 + (("DMQ1=" + dmq1.toString(16)) + "\n")); _local1 = (_local1 + (("IQMP=" + coeff.toString(16)) + "\n")); }; }; return (_local1); } public function decrypt(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _decrypt(doPrivate2, _arg1, _arg2, _arg3, _arg4, 2); } private function _decrypt(_arg1:Function, _arg2:ByteArray, _arg3:ByteArray, _arg4:uint, _arg5:Function, _arg6:int):void{ var _local9:BigInteger; var _local10:BigInteger; var _local11:ByteArray; if (_arg5 == null){ _arg5 = pkcs1unpad; }; if (_arg2.position >= _arg2.length){ _arg2.position = 0; }; var _local7:uint = getBlockSize(); var _local8:int = (_arg2.position + _arg4); while (_arg2.position < _local8) { _local9 = new BigInteger(_arg2, _arg4); _local10 = _arg1(_local9); _local11 = _arg5(_local10, _local7); _arg3.writeBytes(_local11); }; } protected function doPublic(_arg1:BigInteger):BigInteger{ return (_arg1.modPowInt(e, n)); } public function dispose():void{ e = 0; n.dispose(); n = null; Memory.gc(); } private function _encrypt(_arg1:Function, _arg2:ByteArray, _arg3:ByteArray, _arg4:uint, _arg5:Function, _arg6:int):void{ var _local9:BigInteger; var _local10:BigInteger; if (_arg5 == null){ _arg5 = pkcs1pad; }; if (_arg2.position >= _arg2.length){ _arg2.position = 0; }; var _local7:uint = getBlockSize(); var _local8:int = (_arg2.position + _arg4); while (_arg2.position < _local8) { _local9 = new BigInteger(_arg5(_arg2, _local8, _local7, _arg6), _local7); _local10 = _arg1(_local9); _local10.toArray(_arg3); }; } private function rawpad(_arg1:ByteArray, _arg2:int, _arg3:uint):ByteArray{ return (_arg1); } public function encrypt(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _encrypt(doPublic, _arg1, _arg2, _arg3, _arg4, 2); } private function pkcs1pad(_arg1:ByteArray, _arg2:int, _arg3:uint, _arg4:uint=2):ByteArray{ var _local9:int; var _local5:ByteArray = new ByteArray(); var _local6:uint = _arg1.position; _arg2 = Math.min(_arg2, _arg1.length, ((_local6 + _arg3) - 11)); _arg1.position = _arg2; var _local7:int = (_arg2 - 1); while ((((_local7 >= _local6)) && ((_arg3 > 11)))) { --_arg3; var _local10 = _arg3; var _temp1 = _local7; _local7 = (_local7 - 1); _local5[_local10] = _arg1[_temp1]; }; --_arg3; _local10 = _arg3; _local5[_local10] = 0; var _local8:Random = new Random(); while (_arg3 > 2) { _local9 = 0; while (_local9 == 0) { _local9 = ((_arg4)==2) ? _local8.nextByte() : 0xFF; }; --_arg3; var _local11 = _arg3; _local5[_local11] = _local9; }; --_arg3; _local11 = _arg3; _local5[_local11] = _arg4; --_arg3; var _local12 = _arg3; _local5[_local12] = 0; return (_local5); } private function pkcs1unpad(_arg1:BigInteger, _arg2:uint, _arg3:uint=2):ByteArray{ var _local4:ByteArray = _arg1.toByteArray(); var _local5:ByteArray = new ByteArray(); var _local6:int; while ((((_local6 < _local4.length)) && ((_local4[_local6] == 0)))) { _local6++; }; if (((!(((_local4.length - _local6) == (_arg2 - 1)))) || ((_local4[_local6] > 2)))){ trace(((("PKCS#1 unpad: i=" + _local6) + ", expected b[i]==[0,1,2], got b[i]=") + _local4[_local6].toString(16))); return (null); }; _local6++; while (_local4[_local6] != 0) { ++_local6; if (_local6 >= _local4.length){ trace((((("PKCS#1 unpad: i=" + _local6) + ", b[i-1]!=0 (=") + _local4[(_local6 - 1)].toString(16)) + ")")); return (null); }; }; while (++_local6 < _local4.length) { _local5.writeByte(_local4[_local6]); }; _local5.position = 0; return (_local5); } public function getBlockSize():uint{ return (((n.bitLength() + 7) / 8)); } public function toString():String{ return ("rsa"); } public function sign(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _encrypt(doPrivate2, _arg1, _arg2, _arg3, _arg4, 1); } protected function doPrivate(_arg1:BigInteger):BigInteger{ if ((((p == null)) || ((q == null)))){ return (_arg1.modPow(d, n)); }; var _local2:BigInteger = _arg1.mod(p).modPow(dmp1, p); var _local3:BigInteger = _arg1.mod(q).modPow(dmq1, q); while (_local2.compareTo(_local3) < 0) { _local2 = _local2.add(p); }; return (_local2.subtract(_local3).multiply(coeff).mod(p).multiply(q).add(_local3)); } protected static function bigRandom(_arg1:int, _arg2:Random):BigInteger{ if (_arg1 < 2){ return (BigInteger.nbv(1)); }; var _local3:ByteArray = new ByteArray(); _arg2.nextBytes(_local3, (_arg1 >> 3)); _local3.position = 0; var _local4:BigInteger = new BigInteger(_local3); _local4.primify(_arg1, 1); return (_local4); } public static function parsePublicKey(_arg1:String, _arg2:String):RSAKey{ return (new RSAKey(new BigInteger(_arg1, 16), parseInt(_arg2, 16))); } public static function generate(_arg1:uint, _arg2:String):RSAKey{ var _local7:BigInteger; var _local8:BigInteger; var _local9:BigInteger; var _local10:BigInteger; var _local3:Random = new Random(); var _local4:uint = (_arg1 >> 1); var _local5:RSAKey = new RSAKey(null, 0, null); _local5.e = parseInt(_arg2, 16); var _local6:BigInteger = new BigInteger(_arg2, 16); while (true) { while (true) { _local5.p = bigRandom((_arg1 - _local4), _local3); if ((((_local5.p.subtract(BigInteger.ONE).gcd(_local6).compareTo(BigInteger.ONE) == 0)) && (_local5.p.isProbablePrime(10)))){ break; }; }; while (true) { _local5.q = bigRandom(_local4, _local3); if ((((_local5.q.subtract(BigInteger.ONE).gcd(_local6).compareTo(BigInteger.ONE) == 0)) && (_local5.q.isProbablePrime(10)))){ break; }; }; if (_local5.p.compareTo(_local5.q) <= 0){ _local10 = _local5.p; _local5.p = _local5.q; _local5.q = _local10; }; _local7 = _local5.p.subtract(BigInteger.ONE); _local8 = _local5.q.subtract(BigInteger.ONE); _local9 = _local7.multiply(_local8); if (_local9.gcd(_local6).compareTo(BigInteger.ONE) == 0){ _local5.n = _local5.p.multiply(_local5.q); _local5.d = _local6.modInverse(_local9); _local5.dmp1 = _local5.d.mod(_local7); _local5.dmq1 = _local5.d.mod(_local8); _local5.coeff = _local5.q.modInverse(_local5.p); break; }; }; return (_local5); } public static function parsePrivateKey(_arg1:String, _arg2:String, _arg3:String, _arg4:String=null, _arg5:String=null, _arg6:String=null, _arg7:String=null, _arg8:String=null):RSAKey{ if (_arg4 == null){ return (new RSAKey(new BigInteger(_arg1, 16), parseInt(_arg2, 16), new BigInteger(_arg3, 16))); }; return (new RSAKey(new BigInteger(_arg1, 16), parseInt(_arg2, 16), new BigInteger(_arg3, 16), new BigInteger(_arg4, 16), new BigInteger(_arg5, 16), new BigInteger(_arg6, 16), new BigInteger(_arg7), new BigInteger(_arg8))); } } }//package com.hurlant.crypto.rsa
Section 13
//AESKey (com.hurlant.crypto.symmetric.AESKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class AESKey implements ISymmetricKey { private var state:ByteArray; private var tmp:ByteArray; private var Nr:uint; private var keyLength:uint; private var key:ByteArray; private static const _Xtime2:Array = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 27, 25, 31, 29, 19, 17, 23, 21, 11, 9, 15, 13, 3, 1, 7, 5, 59, 57, 63, 61, 51, 49, 55, 53, 43, 41, 47, 45, 35, 33, 39, 37, 91, 89, 95, 93, 83, 81, 87, 85, 75, 73, 79, 77, 67, 65, 71, 69, 123, 121, 127, 125, 115, 113, 119, 117, 107, 105, 111, 109, 99, 97, 103, 101, 155, 153, 159, 157, 147, 145, 151, 149, 139, 137, 143, 141, 131, 129, 135, 133, 187, 185, 191, 189, 179, 177, 183, 181, 171, 169, 175, 173, 163, 161, 167, 165, 219, 217, 223, 221, 211, 209, 215, 213, 203, 201, 207, 205, 195, 193, 199, 197, 251, 249, 0xFF, 253, 243, 241, 247, 245, 235, 233, 239, 237, 227, 225, 231, 229]; private static const _Xtime9:Array = [0, 9, 18, 27, 36, 45, 54, 63, 72, 65, 90, 83, 108, 101, 126, 119, 144, 153, 130, 139, 180, 189, 166, 175, 216, 209, 202, 195, 252, 245, 238, 231, 59, 50, 41, 32, 31, 22, 13, 4, 115, 122, 97, 104, 87, 94, 69, 76, 171, 162, 185, 176, 143, 134, 157, 148, 227, 234, 241, 248, 199, 206, 213, 220, 118, 127, 100, 109, 82, 91, 64, 73, 62, 55, 44, 37, 26, 19, 8, 1, 230, 239, 244, 253, 194, 203, 208, 217, 174, 167, 188, 181, 138, 131, 152, 145, 77, 68, 95, 86, 105, 96, 123, 114, 5, 12, 23, 30, 33, 40, 51, 58, 221, 212, 207, 198, 249, 240, 235, 226, 149, 156, 135, 142, 177, 184, 163, 170, 236, 229, 254, 247, 200, 193, 218, 211, 164, 173, 182, 191, 128, 137, 146, 155, 124, 117, 110, 103, 88, 81, 74, 67, 52, 61, 38, 47, 16, 25, 2, 11, 215, 222, 197, 204, 243, 250, 225, 232, 159, 150, 141, 132, 187, 178, 169, 160, 71, 78, 85, 92, 99, 106, 113, 120, 15, 6, 29, 20, 43, 34, 57, 48, 154, 147, 136, 129, 190, 183, 172, 165, 210, 219, 192, 201, 246, 0xFF, 228, 237, 10, 3, 24, 17, 46, 39, 60, 53, 66, 75, 80, 89, 102, 111, 116, 125, 161, 168, 179, 186, 133, 140, 151, 158, 233, 224, 251, 242, 205, 196, 223, 214, 49, 56, 35, 42, 21, 28, 7, 14, 121, 112, 107, 98, 93, 84, 79, 70]; private static const Nb:uint = 4; private static const _XtimeB:Array = [0, 11, 22, 29, 44, 39, 58, 49, 88, 83, 78, 69, 116, 127, 98, 105, 176, 187, 166, 173, 156, 151, 138, 129, 232, 227, 254, 245, 196, 207, 210, 217, 123, 112, 109, 102, 87, 92, 65, 74, 35, 40, 53, 62, 15, 4, 25, 18, 203, 192, 221, 214, 231, 236, 241, 250, 147, 152, 133, 142, 191, 180, 169, 162, 246, 253, 224, 235, 218, 209, 204, 199, 174, 165, 184, 179, 130, 137, 148, 159, 70, 77, 80, 91, 106, 97, 124, 119, 30, 21, 8, 3, 50, 57, 36, 47, 141, 134, 155, 144, 161, 170, 183, 188, 213, 222, 195, 200, 249, 242, 239, 228, 61, 54, 43, 32, 17, 26, 7, 12, 101, 110, 115, 120, 73, 66, 95, 84, 247, 252, 225, 234, 219, 208, 205, 198, 175, 164, 185, 178, 131, 136, 149, 158, 71, 76, 81, 90, 107, 96, 125, 118, 31, 20, 9, 2, 51, 56, 37, 46, 140, 135, 154, 145, 160, 171, 182, 189, 212, 223, 194, 201, 248, 243, 238, 229, 60, 55, 42, 33, 16, 27, 6, 13, 100, 111, 114, 121, 72, 67, 94, 85, 1, 10, 23, 28, 45, 38, 59, 48, 89, 82, 79, 68, 117, 126, 99, 104, 177, 186, 167, 172, 157, 150, 139, 128, 233, 226, 0xFF, 244, 197, 206, 211, 216, 122, 113, 108, 103, 86, 93, 64, 75, 34, 41, 52, 63, 14, 5, 24, 19, 202, 193, 220, 215, 230, 237, 240, 251, 146, 153, 132, 143, 190, 181, 168, 163]; private static const _XtimeE:Array = [0, 14, 28, 18, 56, 54, 36, 42, 112, 126, 108, 98, 72, 70, 84, 90, 224, 238, 252, 242, 216, 214, 196, 202, 144, 158, 140, 130, 168, 166, 180, 186, 219, 213, 199, 201, 227, 237, 0xFF, 241, 171, 165, 183, 185, 147, 157, 143, 129, 59, 53, 39, 41, 3, 13, 31, 17, 75, 69, 87, 89, 115, 125, 111, 97, 173, 163, 177, 191, 149, 155, 137, 135, 221, 211, 193, 207, 229, 235, 249, 247, 77, 67, 81, 95, 117, 123, 105, 103, 61, 51, 33, 47, 5, 11, 25, 23, 118, 120, 106, 100, 78, 64, 82, 92, 6, 8, 26, 20, 62, 48, 34, 44, 150, 152, 138, 132, 174, 160, 178, 188, 230, 232, 250, 244, 222, 208, 194, 204, 65, 79, 93, 83, 121, 119, 101, 107, 49, 63, 45, 35, 9, 7, 21, 27, 161, 175, 189, 179, 153, 151, 133, 139, 209, 223, 205, 195, 233, 231, 245, 251, 154, 148, 134, 136, 162, 172, 190, 176, 234, 228, 246, 248, 210, 220, 206, 192, 122, 116, 102, 104, 66, 76, 94, 80, 10, 4, 22, 24, 50, 60, 46, 32, 236, 226, 240, 254, 212, 218, 200, 198, 156, 146, 128, 142, 164, 170, 184, 182, 12, 2, 16, 30, 52, 58, 40, 38, 124, 114, 96, 110, 68, 74, 88, 86, 55, 57, 43, 37, 15, 1, 19, 29, 71, 73, 91, 85, 127, 113, 99, 109, 215, 217, 203, 197, 239, 225, 243, 253, 167, 169, 187, 181, 159, 145, 131, 141]; private static const _Xtime2Sbox:Array = [198, 248, 238, 246, 0xFF, 214, 222, 145, 96, 2, 206, 86, 231, 181, 77, 236, 143, 31, 137, 250, 239, 178, 142, 251, 65, 179, 95, 69, 35, 83, 228, 155, 117, 225, 61, 76, 108, 126, 245, 131, 104, 81, 209, 249, 226, 171, 98, 42, 8, 149, 70, 157, 48, 55, 10, 47, 14, 36, 27, 223, 205, 78, 127, 234, 18, 29, 88, 52, 54, 220, 180, 91, 164, 118, 183, 125, 82, 221, 94, 19, 166, 185, 0, 193, 64, 227, 121, 182, 212, 141, 103, 114, 148, 152, 176, 133, 187, 197, 79, 237, 134, 154, 102, 17, 138, 233, 4, 254, 160, 120, 37, 75, 162, 93, 128, 5, 63, 33, 112, 241, 99, 119, 175, 66, 32, 229, 253, 191, 129, 24, 38, 195, 190, 53, 136, 46, 147, 85, 252, 122, 200, 186, 50, 230, 192, 25, 158, 163, 68, 84, 59, 11, 140, 199, 107, 40, 167, 188, 22, 173, 219, 100, 116, 20, 146, 12, 72, 184, 159, 189, 67, 196, 57, 49, 211, 242, 213, 139, 110, 218, 1, 177, 156, 73, 216, 172, 243, 207, 202, 244, 71, 16, 111, 240, 74, 92, 56, 87, 115, 151, 203, 161, 232, 62, 150, 97, 13, 15, 224, 124, 113, 204, 144, 6, 247, 28, 194, 106, 174, 105, 23, 153, 58, 39, 217, 235, 43, 34, 210, 169, 7, 51, 45, 60, 21, 201, 135, 170, 80, 165, 3, 89, 9, 26, 101, 215, 132, 208, 130, 41, 90, 30, 123, 168, 109, 44]; private static const _Xtime3Sbox:Array = [165, 132, 153, 141, 13, 189, 177, 84, 80, 3, 169, 125, 25, 98, 230, 154, 69, 157, 64, 135, 21, 235, 201, 11, 236, 103, 253, 234, 191, 247, 150, 91, 194, 28, 174, 106, 90, 65, 2, 79, 92, 244, 52, 8, 147, 115, 83, 63, 12, 82, 101, 94, 40, 161, 15, 181, 9, 54, 155, 61, 38, 105, 205, 159, 27, 158, 116, 46, 45, 178, 238, 251, 246, 77, 97, 206, 123, 62, 113, 151, 245, 104, 0, 44, 96, 31, 200, 237, 190, 70, 217, 75, 222, 212, 232, 74, 107, 42, 229, 22, 197, 215, 85, 148, 207, 16, 6, 129, 240, 68, 186, 227, 243, 254, 192, 138, 173, 188, 72, 4, 223, 193, 117, 99, 48, 26, 14, 109, 76, 20, 53, 47, 225, 162, 204, 57, 87, 242, 130, 71, 172, 231, 43, 149, 160, 152, 209, 127, 102, 126, 171, 131, 202, 41, 211, 60, 121, 226, 29, 118, 59, 86, 78, 30, 219, 10, 108, 228, 93, 110, 239, 166, 168, 164, 55, 139, 50, 67, 89, 183, 140, 100, 210, 224, 180, 250, 7, 37, 175, 142, 233, 24, 213, 136, 111, 114, 36, 241, 199, 81, 35, 124, 156, 33, 221, 220, 134, 133, 144, 66, 196, 170, 216, 5, 1, 18, 163, 95, 249, 208, 145, 88, 39, 185, 56, 19, 179, 51, 187, 112, 137, 167, 182, 34, 146, 32, 73, 0xFF, 120, 122, 143, 248, 128, 23, 218, 49, 198, 184, 195, 176, 119, 17, 203, 252, 214, 58]; private static const _InvSbox:Array = [82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 0xFF, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125]; private static const _XtimeD:Array = [0, 13, 26, 23, 52, 57, 46, 35, 104, 101, 114, 127, 92, 81, 70, 75, 208, 221, 202, 199, 228, 233, 254, 243, 184, 181, 162, 175, 140, 129, 150, 155, 187, 182, 161, 172, 143, 130, 149, 152, 211, 222, 201, 196, 231, 234, 253, 240, 107, 102, 113, 124, 95, 82, 69, 72, 3, 14, 25, 20, 55, 58, 45, 32, 109, 96, 119, 122, 89, 84, 67, 78, 5, 8, 31, 18, 49, 60, 43, 38, 189, 176, 167, 170, 137, 132, 147, 158, 213, 216, 207, 194, 225, 236, 251, 246, 214, 219, 204, 193, 226, 239, 248, 245, 190, 179, 164, 169, 138, 135, 144, 157, 6, 11, 28, 17, 50, 63, 40, 37, 110, 99, 116, 121, 90, 87, 64, 77, 218, 215, 192, 205, 238, 227, 244, 249, 178, 191, 168, 165, 134, 139, 156, 145, 10, 7, 16, 29, 62, 51, 36, 41, 98, 111, 120, 117, 86, 91, 76, 65, 97, 108, 123, 118, 85, 88, 79, 66, 9, 4, 19, 30, 61, 48, 39, 42, 177, 188, 171, 166, 133, 136, 159, 146, 217, 212, 195, 206, 237, 224, 247, 250, 183, 186, 173, 160, 131, 142, 153, 148, 223, 210, 197, 200, 235, 230, 241, 252, 103, 106, 125, 112, 83, 94, 73, 68, 15, 2, 21, 24, 59, 54, 33, 44, 12, 1, 22, 27, 56, 53, 34, 47, 100, 105, 126, 115, 80, 93, 74, 71, 220, 209, 198, 203, 232, 229, 242, 0xFF, 180, 185, 174, 163, 128, 141, 154, 151]; private static const _Sbox:Array = [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 0xFF, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22]; private static var XtimeE:ByteArray = new ByteArray(); private static var i:uint = 0; private static var Xtime2Sbox:ByteArray = new ByteArray(); private static var Xtime3Sbox:ByteArray = new ByteArray(); private static var _Rcon:Array = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; private static var Sbox:ByteArray = new ByteArray(); private static var Rcon:ByteArray = new ByteArray(); private static var InvSbox:ByteArray = new ByteArray(); private static var Xtime2:ByteArray = new ByteArray(); private static var Xtime9:ByteArray = new ByteArray(); private static var XtimeB:ByteArray = new ByteArray(); private static var XtimeD:ByteArray = new ByteArray(); public function AESKey(_arg1:ByteArray){ tmp = new ByteArray(); state = new ByteArray(); keyLength = _arg1.length; this.key = new ByteArray(); this.key.writeBytes(_arg1); expandKey(); } public function toString():String{ return (("aes" + (8 * keyLength))); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local3:uint; state.position = 0; state.writeBytes(_arg1, _arg2, (Nb * 4)); addRoundKey(key, ((Nr * Nb) * 4)); invShiftRows(); _local3 = Nr; while (_local3--) { addRoundKey(key, ((_local3 * Nb) * 4)); if (_local3){ invMixSubColumns(); }; }; _arg1.position = _arg2; _arg1.writeBytes(state); } protected function invMixSubColumns():void{ var _local1:uint; tmp.length = 0; tmp[0] = (((XtimeE[state[0]] ^ XtimeB[state[1]]) ^ XtimeD[state[2]]) ^ Xtime9[state[3]]); tmp[5] = (((Xtime9[state[0]] ^ XtimeE[state[1]]) ^ XtimeB[state[2]]) ^ XtimeD[state[3]]); tmp[10] = (((XtimeD[state[0]] ^ Xtime9[state[1]]) ^ XtimeE[state[2]]) ^ XtimeB[state[3]]); tmp[15] = (((XtimeB[state[0]] ^ XtimeD[state[1]]) ^ Xtime9[state[2]]) ^ XtimeE[state[3]]); tmp[4] = (((XtimeE[state[4]] ^ XtimeB[state[5]]) ^ XtimeD[state[6]]) ^ Xtime9[state[7]]); tmp[9] = (((Xtime9[state[4]] ^ XtimeE[state[5]]) ^ XtimeB[state[6]]) ^ XtimeD[state[7]]); tmp[14] = (((XtimeD[state[4]] ^ Xtime9[state[5]]) ^ XtimeE[state[6]]) ^ XtimeB[state[7]]); tmp[3] = (((XtimeB[state[4]] ^ XtimeD[state[5]]) ^ Xtime9[state[6]]) ^ XtimeE[state[7]]); tmp[8] = (((XtimeE[state[8]] ^ XtimeB[state[9]]) ^ XtimeD[state[10]]) ^ Xtime9[state[11]]); tmp[13] = (((Xtime9[state[8]] ^ XtimeE[state[9]]) ^ XtimeB[state[10]]) ^ XtimeD[state[11]]); tmp[2] = (((XtimeD[state[8]] ^ Xtime9[state[9]]) ^ XtimeE[state[10]]) ^ XtimeB[state[11]]); tmp[7] = (((XtimeB[state[8]] ^ XtimeD[state[9]]) ^ Xtime9[state[10]]) ^ XtimeE[state[11]]); tmp[12] = (((XtimeE[state[12]] ^ XtimeB[state[13]]) ^ XtimeD[state[14]]) ^ Xtime9[state[15]]); tmp[1] = (((Xtime9[state[12]] ^ XtimeE[state[13]]) ^ XtimeB[state[14]]) ^ XtimeD[state[15]]); tmp[6] = (((XtimeD[state[12]] ^ Xtime9[state[13]]) ^ XtimeE[state[14]]) ^ XtimeB[state[15]]); tmp[11] = (((XtimeB[state[12]] ^ XtimeD[state[13]]) ^ Xtime9[state[14]]) ^ XtimeE[state[15]]); _local1 = 0; while (_local1 < (4 * Nb)) { state[_local1] = InvSbox[tmp[_local1]]; _local1++; }; } protected function invShiftRows():void{ var _local1:uint; state[0] = InvSbox[state[0]]; state[4] = InvSbox[state[4]]; state[8] = InvSbox[state[8]]; state[12] = InvSbox[state[12]]; _local1 = InvSbox[state[13]]; state[13] = InvSbox[state[9]]; state[9] = InvSbox[state[5]]; state[5] = InvSbox[state[1]]; state[1] = _local1; _local1 = InvSbox[state[2]]; state[2] = InvSbox[state[10]]; state[10] = _local1; _local1 = InvSbox[state[6]]; state[6] = InvSbox[state[14]]; state[14] = _local1; _local1 = InvSbox[state[3]]; state[3] = InvSbox[state[7]]; state[7] = InvSbox[state[11]]; state[11] = InvSbox[state[15]]; state[15] = _local1; } public function dispose():void{ var _local1:uint; var _local2:Random = new Random(); _local1 = 0; while (_local1 < key.length) { key[_local1] = _local2.nextByte(); _local1++; }; Nr = _local2.nextByte(); _local1 = 0; while (_local1 < state.length) { state[_local1] = _local2.nextByte(); _local1++; }; _local1 = 0; while (_local1 < tmp.length) { tmp[_local1] = _local2.nextByte(); _local1++; }; key.length = 0; keyLength = 0; state.length = 0; tmp.length = 0; key = null; state = null; tmp = null; Nr = 0; Memory.gc(); } private function expandKey():void{ var _local1:uint; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:uint = (key.length / 4); Nr = (_local7 + 6); _local6 = _local7; while (_local6 < (Nb * (Nr + 1))) { _local1 = key[((4 * _local6) - 4)]; _local2 = key[((4 * _local6) - 3)]; _local3 = key[((4 * _local6) - 2)]; _local4 = key[((4 * _local6) - 1)]; if (!(_local6 % _local7)){ _local5 = _local4; _local4 = Sbox[_local1]; _local1 = (Sbox[_local2] ^ Rcon[(_local6 / _local7)]); _local2 = Sbox[_local3]; _local3 = Sbox[_local5]; } else { if ((((_local7 > 6)) && (((_local6 % _local7) == 4)))){ _local1 = Sbox[_local1]; _local2 = Sbox[_local2]; _local3 = Sbox[_local3]; _local4 = Sbox[_local4]; }; }; key[((4 * _local6) + 0)] = (key[(((4 * _local6) - (4 * _local7)) + 0)] ^ _local1); key[((4 * _local6) + 1)] = (key[(((4 * _local6) - (4 * _local7)) + 1)] ^ _local2); key[((4 * _local6) + 2)] = (key[(((4 * _local6) - (4 * _local7)) + 2)] ^ _local3); key[((4 * _local6) + 3)] = (key[(((4 * _local6) - (4 * _local7)) + 3)] ^ _local4); _local6++; }; } protected function addRoundKey(_arg1:ByteArray, _arg2:uint):void{ var _local3:uint; _local3 = 0; while (_local3 < 16) { state[_local3] = (state[_local3] ^ _arg1[(_local3 + _arg2)]); _local3++; }; } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local3:uint; state.position = 0; state.writeBytes(_arg1, _arg2, (Nb * 4)); addRoundKey(key, 0); _local3 = 1; while (_local3 < (Nr + 1)) { if (_local3 < Nr){ mixSubColumns(); } else { shiftRows(); }; addRoundKey(key, ((_local3 * Nb) * 4)); _local3++; }; _arg1.position = _arg2; _arg1.writeBytes(state); } protected function mixSubColumns():void{ tmp.length = 0; tmp[0] = (((Xtime2Sbox[state[0]] ^ Xtime3Sbox[state[5]]) ^ Sbox[state[10]]) ^ Sbox[state[15]]); tmp[1] = (((Sbox[state[0]] ^ Xtime2Sbox[state[5]]) ^ Xtime3Sbox[state[10]]) ^ Sbox[state[15]]); tmp[2] = (((Sbox[state[0]] ^ Sbox[state[5]]) ^ Xtime2Sbox[state[10]]) ^ Xtime3Sbox[state[15]]); tmp[3] = (((Xtime3Sbox[state[0]] ^ Sbox[state[5]]) ^ Sbox[state[10]]) ^ Xtime2Sbox[state[15]]); tmp[4] = (((Xtime2Sbox[state[4]] ^ Xtime3Sbox[state[9]]) ^ Sbox[state[14]]) ^ Sbox[state[3]]); tmp[5] = (((Sbox[state[4]] ^ Xtime2Sbox[state[9]]) ^ Xtime3Sbox[state[14]]) ^ Sbox[state[3]]); tmp[6] = (((Sbox[state[4]] ^ Sbox[state[9]]) ^ Xtime2Sbox[state[14]]) ^ Xtime3Sbox[state[3]]); tmp[7] = (((Xtime3Sbox[state[4]] ^ Sbox[state[9]]) ^ Sbox[state[14]]) ^ Xtime2Sbox[state[3]]); tmp[8] = (((Xtime2Sbox[state[8]] ^ Xtime3Sbox[state[13]]) ^ Sbox[state[2]]) ^ Sbox[state[7]]); tmp[9] = (((Sbox[state[8]] ^ Xtime2Sbox[state[13]]) ^ Xtime3Sbox[state[2]]) ^ Sbox[state[7]]); tmp[10] = (((Sbox[state[8]] ^ Sbox[state[13]]) ^ Xtime2Sbox[state[2]]) ^ Xtime3Sbox[state[7]]); tmp[11] = (((Xtime3Sbox[state[8]] ^ Sbox[state[13]]) ^ Sbox[state[2]]) ^ Xtime2Sbox[state[7]]); tmp[12] = (((Xtime2Sbox[state[12]] ^ Xtime3Sbox[state[1]]) ^ Sbox[state[6]]) ^ Sbox[state[11]]); tmp[13] = (((Sbox[state[12]] ^ Xtime2Sbox[state[1]]) ^ Xtime3Sbox[state[6]]) ^ Sbox[state[11]]); tmp[14] = (((Sbox[state[12]] ^ Sbox[state[1]]) ^ Xtime2Sbox[state[6]]) ^ Xtime3Sbox[state[11]]); tmp[15] = (((Xtime3Sbox[state[12]] ^ Sbox[state[1]]) ^ Sbox[state[6]]) ^ Xtime2Sbox[state[11]]); state.position = 0; state.writeBytes(tmp, 0, (Nb * 4)); } protected function shiftRows():void{ var _local1:uint; state[0] = Sbox[state[0]]; state[4] = Sbox[state[4]]; state[8] = Sbox[state[8]]; state[12] = Sbox[state[12]]; _local1 = Sbox[state[1]]; state[1] = Sbox[state[5]]; state[5] = Sbox[state[9]]; state[9] = Sbox[state[13]]; state[13] = _local1; _local1 = Sbox[state[2]]; state[2] = Sbox[state[10]]; state[10] = _local1; _local1 = Sbox[state[6]]; state[6] = Sbox[state[14]]; state[14] = _local1; _local1 = Sbox[state[15]]; state[15] = Sbox[state[11]]; state[11] = Sbox[state[7]]; state[7] = Sbox[state[3]]; state[3] = _local1; } public function getBlockSize():uint{ return (16); } while (i < 0x0100) { Sbox[i] = _Sbox[i]; InvSbox[i] = _InvSbox[i]; Xtime2Sbox[i] = _Xtime2Sbox[i]; Xtime3Sbox[i] = _Xtime3Sbox[i]; Xtime2[i] = _Xtime2[i]; Xtime9[i] = _Xtime9[i]; XtimeB[i] = _XtimeB[i]; XtimeD[i] = _XtimeD[i]; XtimeE[i] = _XtimeE[i]; i++; }; i = 0; while (i < _Rcon.length) { Rcon[i] = _Rcon[i]; i++; }; } }//package com.hurlant.crypto.symmetric
Section 14
//BlowFishKey (com.hurlant.crypto.symmetric.BlowFishKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class BlowFishKey implements ISymmetricKey { private var S3:Array; private var P:Array; private var S1:Array; private var key:ByteArray;// = null private var S0:Array; private var S2:Array; private static const KP:Array = [608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731]; private static const KS0:Array = [3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670, 3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374, 1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416, 1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379, 3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982, 1822297739, 2954791486, 3608508353, 3174124327, 2024746970, 1432378464, 3864339955, 2857741204, 1464375394, 1676153920, 1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683, 3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502, 2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847, 3300911131, 1713906067, 1641548236, 4213287313, 1216130144, 1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993, 3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394, 2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482, 3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320, 2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137, 1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327, 1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444, 3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816, 4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678, 1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459, 995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964, 3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633, 3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198, 4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912, 2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899, 3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358, 2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224, 4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348, 1274779536, 3789419226, 2764799539, 1660621633, 3471099624, 4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040, 3937242737, 1804850592, 3499020752, 2949064160, 2386320175, 2390070455, 2415321851, 4061277028, 2290661394, 2416832540, 1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551, 3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937, 3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981, 2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143, 3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398, 577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418, 2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193, 298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269, 3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943, 4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956, 1404054877, 2845806497, 146425753, 1854211946]; private static const KS1:Array = [1266315497, 3048417604, 3681880366, 3289982499, 2909710000, 1235738493, 2632868024, 2414719590, 3970600049, 1771706367, 1449415276, 3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698, 1531092325, 1804592342, 2583117782, 2714934279, 4024971509, 1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830, 157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462, 3080475397, 2857371447, 1040679964, 2145300060, 2390574316, 1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762, 1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059, 586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854, 265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441, 406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880, 613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730, 3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720, 1946737175, 3164576444, 3914038668, 3967478842, 3682934266, 1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398, 312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773, 2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769, 4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025, 2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303, 2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128, 2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456, 1378068232, 4145222326, 3954048622, 3938656102, 3820766613, 2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565, 1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856, 688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574, 2852348879, 3044236432, 1282449977, 3583942155, 3416972820, 4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346, 2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511, 2605976345, 2271191193, 2516031870, 1648197032, 4164389018, 2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641, 2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019, 1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073, 4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510, 2745871338, 3681308437, 4207628240, 3343053890, 4016749493, 1699691293, 1103962373, 3625875870, 2256883143, 3830138730, 1031889488, 3479347698, 1535977030, 4236805024, 3251091107, 2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357, 342012276, 595725824, 1480756522, 206960106, 497939518, 591360097, 863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208, 1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973, 2842273706, 3305899714, 1510255612, 2148256476, 2655287854, 3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097, 3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447, 2410691914, 3873677099, 3682840055]; private static const KS3:Array = [976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578, 3548522304, 2579274686, 3574697629, 3205460757, 3593280638, 3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207, 3163844217, 3332601554, 1699332808, 1393555694, 1183702653, 3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540, 2717570544, 1781354906, 1676643554, 2592534050, 3230253752, 1126444790, 2770207658, 2633158820, 2210423226, 2615765581, 2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505, 3341807571, 4149409754, 1057255273, 2012875353, 2162469141, 2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209, 36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599, 2918365339, 1524020338, 1518925132, 3760827505, 3759777254, 1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136, 2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250, 60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426, 457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805, 55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263, 1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142, 1361170020, 2001714738, 2830558078, 3274259782, 1222529897, 1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138, 1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007, 1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952, 4200891579, 2372276910, 3208408903, 3533431907, 1412390302, 2931980059, 4132332400, 1947078029, 3881505623, 4168226417, 2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409000, 2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651, 661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273, 1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795, 2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162, 3331405415, 2381918588, 3769707343, 4154350007, 1140177722, 4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221, 4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860, 282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868, 2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020, 3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637, 3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661, 2224018117, 4143653529, 4112773975, 2788324899, 2477274417, 1456262402, 2901442914, 1517677493, 1846949527, 2295493580, 3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322, 1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758, 1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379, 950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296, 2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436, 29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231, 3075367218, 3463963227, 1469046755, 985887462]; private static const ROUNDS:uint = 16; private static const KS2:Array = [3913112168, 2491498743, 4132185628, 2489919796, 1091903735, 1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015, 1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037, 2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736, 835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277, 1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284, 664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940, 3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171, 991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604, 3713745714, 1749149687, 3396870395, 4211799374, 3640570775, 1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547, 1437099964, 2702547544, 3433638243, 2581715763, 2787789398, 1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348, 86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670, 1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591, 1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946, 48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954, 4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365, 2511836413, 1685915746, 3888969200, 1414112111, 2273134842, 3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455, 2819808352, 2716589560, 2568741196, 3681446669, 3329971472, 1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634, 1762651403, 1719377915, 3470491036, 2693910283, 3642056355, 3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081, 2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300, 1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866, 1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610, 1689216846, 3666258015, 3200248200, 1692713982, 2646376535, 4042768518, 1618508792, 1610833997, 3523052358, 4130873264, 2001055236, 3610705100, 2202168115, 4028541809, 2961195399, 1006657119, 2006996926, 3186142756, 1430667929, 3210227297, 1314452623, 4074634658, 4101304120, 2273951170, 1399257539, 3367210612, 3027628629, 1190975929, 2062231137, 2333990788, 2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396, 3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297, 1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264, 448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134, 2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375, 2599980071, 2000651841, 3277868038, 1638401717, 4028070440, 3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636, 3267499572, 3150704214, 2428286686, 3959192993, 3461946742, 1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273, 448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396, 508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340, 908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504]; private static const BLOCK_SIZE:uint = 8; private static const P_SZ:uint = 18; private static const SBOX_SK:uint = 0x0100; public function BlowFishKey(_arg1:ByteArray){ this.key = _arg1; setKey(_arg1); } private function F(_arg1:uint):uint{ return ((((S0[(_arg1 >>> 24)] + S1[((_arg1 >>> 16) & 0xFF)]) ^ S2[((_arg1 >>> 8) & 0xFF)]) + S3[(_arg1 & 0xFF)])); } private function BytesTo32bits(_arg1:ByteArray, _arg2:uint):uint{ return ((((((_arg1[_arg2] & 0xFF) << 24) | ((_arg1[(_arg2 + 1)] & 0xFF) << 16)) | ((_arg1[(_arg2 + 2)] & 0xFF) << 8)) | (_arg1[(_arg2 + 3)] & 0xFF))); } private function decryptBlock(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray, _arg4:uint):void{ var _local5:uint = BytesTo32bits(_arg1, _arg2); var _local6:uint = BytesTo32bits(_arg1, (_arg2 + 4)); _local5 = (_local5 ^ P[(ROUNDS + 1)]); var _local7:uint = ROUNDS; while (_local7 > 0) { _local6 = (_local6 ^ (F(_local5) ^ P[_local7])); _local5 = (_local5 ^ (F(_local6) ^ P[(_local7 - 1)])); _local7 = (_local7 - 2); }; _local6 = (_local6 ^ P[0]); Bits32ToBytes(_local6, _arg3, _arg4); Bits32ToBytes(_local5, _arg3, (_arg4 + 4)); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ decryptBlock(_arg1, _arg2, _arg1, _arg2); } public function getBlockSize():uint{ return (BLOCK_SIZE); } private function setKey(_arg1:ByteArray):void{ var _local5:uint; var _local6:uint; S0 = KS0.concat(); S1 = KS1.concat(); S2 = KS2.concat(); S3 = KS3.concat(); P = KP.concat(); var _local2:uint = _arg1.length; var _local3:uint; var _local4:uint; while (_local4 < P_SZ) { _local5 = 0; _local6 = 0; while (_local6 < 4) { var _temp1 = _local3; _local3 = (_local3 + 1); _local5 = ((_local5 << 8) | (_arg1[_temp1] & 0xFF)); if (_local3 >= _local2){ _local3 = 0; }; _local6++; }; P[_local4] = (P[_local4] ^ _local5); _local4++; }; processTable(0, 0, P); processTable(P[(P_SZ - 2)], P[(P_SZ - 1)], S0); processTable(S0[(SBOX_SK - 2)], S0[(SBOX_SK - 1)], S1); processTable(S1[(SBOX_SK - 2)], S1[(SBOX_SK - 1)], S2); processTable(S2[(SBOX_SK - 2)], S2[(SBOX_SK - 1)], S3); } private function processTable(_arg1:uint, _arg2:uint, _arg3:Array):void{ var _local6:uint; var _local4:uint = _arg3.length; var _local5:uint; while (_local5 < _local4) { _arg1 = (_arg1 ^ P[0]); _local6 = 1; while (_local6 < ROUNDS) { _arg2 = (_arg2 ^ (F(_arg1) ^ P[_local6])); _arg1 = (_arg1 ^ (F(_arg2) ^ P[(_local6 + 1)])); _local6 = (_local6 + 2); }; _arg2 = (_arg2 ^ P[(ROUNDS + 1)]); _arg3[_local5] = _arg2; _arg3[(_local5 + 1)] = _arg1; _arg2 = _arg1; _arg1 = _arg3[_local5]; _local5 = (_local5 + 2); }; } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ encryptBlock(_arg1, _arg2, _arg1, _arg2); } public function dispose():void{ var _local1:uint; _local1 = 0; while (_local1 < S0.length) { S0[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < S1.length) { S1[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < S2.length) { S2[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < S3.length) { S3[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < P.length) { P[_local1] = 0; _local1++; }; S0 = null; S1 = null; S2 = null; S3 = null; P = null; _local1 = 0; while (_local1 < key.length) { key[_local1] = 0; _local1++; }; key.length = 0; key = null; Memory.gc(); } private function encryptBlock(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray, _arg4:uint):void{ var _local5:uint = BytesTo32bits(_arg1, _arg2); var _local6:uint = BytesTo32bits(_arg1, (_arg2 + 4)); _local5 = (_local5 ^ P[0]); var _local7:uint = 1; while (_local7 < ROUNDS) { _local6 = (_local6 ^ (F(_local5) ^ P[_local7])); _local5 = (_local5 ^ (F(_local6) ^ P[(_local7 + 1)])); _local7 = (_local7 + 2); }; _local6 = (_local6 ^ P[(ROUNDS + 1)]); Bits32ToBytes(_local6, _arg3, _arg4); Bits32ToBytes(_local5, _arg3, (_arg4 + 4)); } private function Bits32ToBytes(_arg1:uint, _arg2:ByteArray, _arg3:uint):void{ _arg2[(_arg3 + 3)] = _arg1; _arg2[(_arg3 + 2)] = (_arg1 >> 8); _arg2[(_arg3 + 1)] = (_arg1 >> 16); _arg2[_arg3] = (_arg1 >> 24); } public function toString():String{ return ("blowfish"); } } }//package com.hurlant.crypto.symmetric
Section 15
//CBCMode (com.hurlant.crypto.symmetric.CBCMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CBCMode extends IVMode implements IMode { public function CBCMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, _arg2); } public function toString():String{ return ((key.toString() + "-cbc")); } public function encrypt(_arg1:ByteArray):void{ var _local4:uint; padding.pad(_arg1); var _local2:ByteArray = getIV4e(); var _local3:uint; while (_local3 < _arg1.length) { _local4 = 0; while (_local4 < blockSize) { _arg1[(_local3 + _local4)] = (_arg1[(_local3 + _local4)] ^ _local2[_local4]); _local4++; }; key.encrypt(_arg1, _local3); _local2.position = 0; _local2.writeBytes(_arg1, _local3, blockSize); _local3 = (_local3 + blockSize); }; } public function decrypt(_arg1:ByteArray):void{ var _local5:uint; var _local2:ByteArray = getIV4d(); var _local3:ByteArray = new ByteArray(); var _local4:uint; while (_local4 < _arg1.length) { _local3.position = 0; _local3.writeBytes(_arg1, _local4, blockSize); key.decrypt(_arg1, _local4); _local5 = 0; while (_local5 < blockSize) { _arg1[(_local4 + _local5)] = (_arg1[(_local4 + _local5)] ^ _local2[_local5]); _local5++; }; _local2.position = 0; _local2.writeBytes(_local3, 0, blockSize); _local4 = (_local4 + blockSize); }; padding.unpad(_arg1); } } }//package com.hurlant.crypto.symmetric
Section 16
//CFB8Mode (com.hurlant.crypto.symmetric.CFB8Mode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CFB8Mode extends IVMode implements IMode { public function CFB8Mode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, null); } public function toString():String{ return ((key.toString() + "-cfb8")); } public function encrypt(_arg1:ByteArray):void{ var _local5:uint; var _local2:ByteArray = getIV4e(); var _local3:ByteArray = new ByteArray(); var _local4:uint; while (_local4 < _arg1.length) { _local3.position = 0; _local3.writeBytes(_local2); key.encrypt(_local2); _arg1[_local4] = (_arg1[_local4] ^ _local2[0]); _local5 = 0; while (_local5 < (blockSize - 1)) { _local2[_local5] = _local3[(_local5 + 1)]; _local5++; }; _local2[(blockSize - 1)] = _arg1[_local4]; _local4++; }; } public function decrypt(_arg1:ByteArray):void{ var _local5:uint; var _local6:uint; var _local2:ByteArray = getIV4d(); var _local3:ByteArray = new ByteArray(); var _local4:uint; while (_local4 < _arg1.length) { _local5 = _arg1[_local4]; _local3.position = 0; _local3.writeBytes(_local2); key.encrypt(_local2); _arg1[_local4] = (_arg1[_local4] ^ _local2[0]); _local6 = 0; while (_local6 < (blockSize - 1)) { _local2[_local6] = _local3[(_local6 + 1)]; _local6++; }; _local2[(blockSize - 1)] = _local5; _local4++; }; } } }//package com.hurlant.crypto.symmetric
Section 17
//CFBMode (com.hurlant.crypto.symmetric.CFBMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CFBMode extends IVMode implements IMode { public function CFBMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, null); } public function toString():String{ return ((key.toString() + "-cfb")); } public function encrypt(_arg1:ByteArray):void{ var _local5:uint; var _local6:uint; var _local2:uint = _arg1.length; var _local3:ByteArray = getIV4e(); var _local4:uint; while (_local4 < _arg1.length) { key.encrypt(_local3); _local5 = (((_local4 + blockSize))<_local2) ? blockSize : (_local2 - _local4); _local6 = 0; while (_local6 < _local5) { _arg1[(_local4 + _local6)] = (_arg1[(_local4 + _local6)] ^ _local3[_local6]); _local6++; }; _local3.position = 0; _local3.writeBytes(_arg1, _local4, _local5); _local4 = (_local4 + blockSize); }; } public function decrypt(_arg1:ByteArray):void{ var _local6:uint; var _local7:uint; var _local2:uint = _arg1.length; var _local3:ByteArray = getIV4d(); var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { key.encrypt(_local3); _local6 = (((_local5 + blockSize))<_local2) ? blockSize : (_local2 - _local5); _local4.position = 0; _local4.writeBytes(_arg1, _local5, _local6); _local7 = 0; while (_local7 < _local6) { _arg1[(_local5 + _local7)] = (_arg1[(_local5 + _local7)] ^ _local3[_local7]); _local7++; }; _local3.position = 0; _local3.writeBytes(_local4); _local5 = (_local5 + blockSize); }; } } }//package com.hurlant.crypto.symmetric
Section 18
//CTRMode (com.hurlant.crypto.symmetric.CTRMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CTRMode extends IVMode implements IMode { public function CTRMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, _arg2); } private function core(_arg1:ByteArray, _arg2:ByteArray):void{ var _local6:uint; var _local3:ByteArray = new ByteArray(); var _local4:ByteArray = new ByteArray(); _local3.writeBytes(_arg2); var _local5:uint; while (_local5 < _arg1.length) { _local4.position = 0; _local4.writeBytes(_local3); key.encrypt(_local4); _local6 = 0; while (_local6 < blockSize) { _arg1[(_local5 + _local6)] = (_arg1[(_local5 + _local6)] ^ _local4[_local6]); _local6++; }; _local6 = (blockSize - 1); while (_local6 >= 0) { var _local7 = _local3; var _local8 = _local6; var _local9 = (_local7[_local8] + 1); _local7[_local8] = _local9; if (_local3[_local6] != 0){ break; }; _local6--; }; _local5 = (_local5 + blockSize); }; } public function toString():String{ return ((key.toString() + "-ctr")); } public function encrypt(_arg1:ByteArray):void{ padding.pad(_arg1); var _local2:ByteArray = getIV4e(); core(_arg1, _local2); } public function decrypt(_arg1:ByteArray):void{ var _local2:ByteArray = getIV4d(); core(_arg1, _local2); padding.unpad(_arg1); } } }//package com.hurlant.crypto.symmetric
Section 19
//DESKey (com.hurlant.crypto.symmetric.DESKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class DESKey implements ISymmetricKey { protected var encKey:Array; protected var key:ByteArray; protected var decKey:Array; private static const SP8:Array = [268439616, 0x1000, 262144, 268701760, 268435456, 268439616, 64, 268435456, 262208, 268697600, 268701760, 266240, 268701696, 266304, 0x1000, 64, 268697600, 268435520, 268439552, 4160, 266240, 262208, 268697664, 268701696, 4160, 0, 0, 268697664, 268435520, 268439552, 266304, 262144, 266304, 262144, 268701696, 0x1000, 64, 268697664, 0x1000, 266304, 268439552, 64, 268435520, 268697600, 268697664, 268435456, 262144, 268439616, 0, 268701760, 262208, 268435520, 268697600, 268439552, 268439616, 0, 268701760, 266240, 266240, 4160, 4160, 262208, 268435456, 268701696]; private static const bytebit:Array = [128, 64, 32, 16, 8, 4, 2, 1]; private static const bigbyte:Array = [0x800000, 0x400000, 0x200000, 0x100000, 524288, 262144, 131072, 65536, 0x8000, 0x4000, 0x2000, 0x1000, 0x0800, 0x0400, 0x0200, 0x0100, 128, 64, 32, 16, 8, 4, 2, 1]; private static const pc1:Array = [56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3]; private static const pc2:Array = [13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9, 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1, 40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47, 43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31]; private static const Df_Key:Array = [1, 35, 69, 103, 137, 171, 205, 239, 254, 220, 186, 152, 118, 84, 50, 16, 137, 171, 205, 239, 1, 35, 69, 103]; private static const totrot:Array = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; private static const SP1:Array = [16843776, 0, 65536, 16843780, 16842756, 66564, 4, 65536, 0x0400, 16843776, 16843780, 0x0400, 16778244, 16842756, 16777216, 4, 0x0404, 16778240, 16778240, 66560, 66560, 16842752, 16842752, 16778244, 65540, 16777220, 16777220, 65540, 0, 0x0404, 66564, 16777216, 65536, 16843780, 4, 16842752, 16843776, 16777216, 16777216, 0x0400, 16842756, 65536, 66560, 16777220, 0x0400, 4, 16778244, 66564, 16843780, 65540, 16842752, 16778244, 16777220, 0x0404, 66564, 16843776, 0x0404, 16778240, 16778240, 0, 65540, 66560, 0, 16842756]; private static const SP2:Array = [2148565024, 2147516416, 0x8000, 1081376, 0x100000, 32, 2148532256, 2147516448, 2147483680, 2148565024, 2148564992, 2147483648, 2147516416, 0x100000, 32, 2148532256, 0x108000, 0x100020, 2147516448, 0, 2147483648, 0x8000, 1081376, 2148532224, 0x100020, 2147483680, 0, 0x108000, 32800, 2148564992, 2148532224, 32800, 0, 1081376, 2148532256, 0x100000, 2147516448, 2148532224, 2148564992, 0x8000, 2148532224, 2147516416, 32, 2148565024, 1081376, 32, 0x8000, 2147483648, 32800, 2148564992, 0x100000, 2147483680, 0x100020, 2147516448, 2147483680, 0x100020, 0x108000, 0, 2147516416, 32800, 2147483648, 2148532256, 2148565024, 0x108000]; private static const SP3:Array = [520, 134349312, 0, 134348808, 134218240, 0, 131592, 134218240, 131080, 134217736, 134217736, 131072, 134349320, 131080, 134348800, 520, 134217728, 8, 134349312, 0x0200, 131584, 134348800, 134348808, 131592, 134218248, 131584, 131072, 134218248, 8, 134349320, 0x0200, 134217728, 134349312, 134217728, 131080, 520, 131072, 134349312, 134218240, 0, 0x0200, 131080, 134349320, 134218240, 134217736, 0x0200, 0, 134348808, 134218248, 131072, 134217728, 134349320, 8, 131592, 131584, 134217736, 134348800, 134218248, 520, 134348800, 131592, 8, 134348808, 131584]; private static const SP4:Array = [8396801, 8321, 8321, 128, 8396928, 0x800081, 0x800001, 8193, 0, 0x802000, 0x802000, 8396929, 129, 0, 0x800080, 0x800001, 1, 0x2000, 0x800000, 8396801, 128, 0x800000, 8193, 8320, 0x800081, 1, 8320, 0x800080, 0x2000, 8396928, 8396929, 129, 0x800080, 0x800001, 0x802000, 8396929, 129, 0, 0, 0x802000, 8320, 0x800080, 0x800081, 1, 8396801, 8321, 8321, 128, 8396929, 129, 1, 0x2000, 0x800001, 8193, 8396928, 0x800081, 8193, 8320, 0x800000, 8396801, 128, 0x800000, 0x2000, 8396928]; private static const SP5:Array = [0x0100, 34078976, 34078720, 1107296512, 524288, 0x0100, 1073741824, 34078720, 1074266368, 524288, 33554688, 1074266368, 1107296512, 1107820544, 524544, 1073741824, 33554432, 1074266112, 1074266112, 0, 1073742080, 1107820800, 1107820800, 33554688, 1107820544, 1073742080, 0, 1107296256, 34078976, 33554432, 1107296256, 524544, 524288, 1107296512, 0x0100, 33554432, 1073741824, 34078720, 1107296512, 1074266368, 33554688, 1073741824, 1107820544, 34078976, 1074266368, 0x0100, 33554432, 1107820544, 1107820800, 524544, 1107296256, 1107820800, 34078720, 0, 1074266112, 1107296256, 524544, 33554688, 1073742080, 524288, 0, 1074266112, 34078976, 1073742080]; private static const SP6:Array = [536870928, 541065216, 0x4000, 541081616, 541065216, 16, 541081616, 0x400000, 536887296, 4210704, 0x400000, 536870928, 0x400010, 536887296, 536870912, 16400, 0, 0x400010, 536887312, 0x4000, 0x404000, 536887312, 16, 541065232, 541065232, 0, 4210704, 541081600, 16400, 0x404000, 541081600, 536870912, 536887296, 16, 541065232, 0x404000, 541081616, 0x400000, 16400, 536870928, 0x400000, 536887296, 536870912, 16400, 536870928, 541081616, 0x404000, 541065216, 4210704, 541081600, 0, 541065232, 16, 0x4000, 541065216, 4210704, 0x4000, 0x400010, 536887312, 0, 541081600, 536870912, 0x400010, 536887312]; private static const SP7:Array = [0x200000, 69206018, 67110914, 0, 0x0800, 67110914, 2099202, 69208064, 69208066, 0x200000, 0, 67108866, 2, 67108864, 69206018, 2050, 67110912, 2099202, 0x200002, 67110912, 67108866, 69206016, 69208064, 0x200002, 69206016, 0x0800, 2050, 69208066, 0x200800, 2, 67108864, 0x200800, 67108864, 0x200800, 0x200000, 67110914, 67110914, 69206018, 69206018, 2, 0x200002, 67108864, 67110912, 0x200000, 69208064, 2050, 2099202, 69208064, 2050, 67108866, 69208066, 69206016, 0x200800, 0, 2, 69208066, 0, 2099202, 69206016, 0x0800, 67108866, 67110912, 0x0800, 0x200002]; public function DESKey(_arg1:ByteArray){ this.key = _arg1; this.encKey = generateWorkingKey(true, _arg1, 0); this.decKey = generateWorkingKey(false, _arg1, 0); } protected function generateWorkingKey(_arg1:Boolean, _arg2:ByteArray, _arg3:uint):Array{ var _local7:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local4:Array = []; var _local5:ByteArray = new ByteArray(); var _local6:ByteArray = new ByteArray(); var _local8:uint; while (_local8 < 56) { _local7 = pc1[_local8]; _local5[_local8] = !(((_arg2[(_arg3 + (_local7 >>> 3))] & bytebit[(_local7 & 7)]) == 0)); _local8++; }; var _local9:uint; while (_local9 < 16) { if (_arg1){ _local10 = (_local9 << 1); } else { _local10 = ((15 - _local9) << 1); }; _local11 = (_local10 + 1); _local4[_local10] = (_local4[_local11] = 0); _local8 = 0; while (_local8 < 28) { _local7 = (_local8 + totrot[_local9]); if (_local7 < 28){ _local6[_local8] = _local5[_local7]; } else { _local6[_local8] = _local5[(_local7 - 28)]; }; _local8++; }; _local8 = 28; while (_local8 < 56) { _local7 = (_local8 + totrot[_local9]); if (_local7 < 56){ _local6[_local8] = _local5[_local7]; } else { _local6[_local8] = _local5[(_local7 - 28)]; }; _local8++; }; _local8 = 0; while (_local8 < 24) { if (_local6[pc2[_local8]]){ _local4[_local10] = (_local4[_local10] | bigbyte[_local8]); }; if (_local6[pc2[(_local8 + 24)]]){ _local4[_local11] = (_local4[_local11] | bigbyte[_local8]); }; _local8++; }; _local9++; }; _local9 = 0; while (_local9 != 32) { _local12 = _local4[_local9]; _local13 = _local4[(_local9 + 1)]; _local4[_local9] = (((((_local12 & 0xFC0000) << 6) | ((_local12 & 4032) << 10)) | ((_local13 & 0xFC0000) >>> 10)) | ((_local13 & 4032) >>> 6)); _local4[(_local9 + 1)] = (((((_local12 & 258048) << 12) | ((_local12 & 63) << 16)) | ((_local13 & 258048) >>> 4)) | (_local13 & 63)); _local9 = (_local9 + 2); }; return (_local4); } public function getBlockSize():uint{ return (8); } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(encKey, _arg1, _arg2, _arg1, _arg2); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(decKey, _arg1, _arg2, _arg1, _arg2); } protected function desFunc(_arg1:Array, _arg2:ByteArray, _arg3:uint, _arg4:ByteArray, _arg5:uint):void{ var _local6:uint; var _local7:uint; var _local8:uint; var _local10:uint; _local8 = ((_arg2[(_arg3 + 0)] & 0xFF) << 24); _local8 = (_local8 | ((_arg2[(_arg3 + 1)] & 0xFF) << 16)); _local8 = (_local8 | ((_arg2[(_arg3 + 2)] & 0xFF) << 8)); _local8 = (_local8 | (_arg2[(_arg3 + 3)] & 0xFF)); _local7 = ((_arg2[(_arg3 + 4)] & 0xFF) << 24); _local7 = (_local7 | ((_arg2[(_arg3 + 5)] & 0xFF) << 16)); _local7 = (_local7 | ((_arg2[(_arg3 + 6)] & 0xFF) << 8)); _local7 = (_local7 | (_arg2[(_arg3 + 7)] & 0xFF)); _local6 = (((_local8 >>> 4) ^ _local7) & 252645135); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 4)); _local6 = (((_local8 >>> 16) ^ _local7) & 0xFFFF); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 16)); _local6 = (((_local7 >>> 2) ^ _local8) & 858993459); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 2)); _local6 = (((_local7 >>> 8) ^ _local8) & 0xFF00FF); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 8)); _local7 = (((_local7 << 1) | ((_local7 >>> 31) & 1)) & 4294967295); _local6 = ((_local8 ^ _local7) & 2863311530); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ _local6); _local8 = (((_local8 << 1) | ((_local8 >>> 31) & 1)) & 4294967295); var _local9:uint; while (_local9 < 8) { _local6 = ((_local7 << 28) | (_local7 >>> 4)); _local6 = (_local6 ^ _arg1[((_local9 * 4) + 0)]); _local10 = SP7[(_local6 & 63)]; _local10 = (_local10 | SP5[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP3[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP1[((_local6 >>> 24) & 63)]); _local6 = (_local7 ^ _arg1[((_local9 * 4) + 1)]); _local10 = (_local10 | SP8[(_local6 & 63)]); _local10 = (_local10 | SP6[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP4[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP2[((_local6 >>> 24) & 63)]); _local8 = (_local8 ^ _local10); _local6 = ((_local8 << 28) | (_local8 >>> 4)); _local6 = (_local6 ^ _arg1[((_local9 * 4) + 2)]); _local10 = SP7[(_local6 & 63)]; _local10 = (_local10 | SP5[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP3[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP1[((_local6 >>> 24) & 63)]); _local6 = (_local8 ^ _arg1[((_local9 * 4) + 3)]); _local10 = (_local10 | SP8[(_local6 & 63)]); _local10 = (_local10 | SP6[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP4[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP2[((_local6 >>> 24) & 63)]); _local7 = (_local7 ^ _local10); _local9++; }; _local7 = ((_local7 << 31) | (_local7 >>> 1)); _local6 = ((_local8 ^ _local7) & 2863311530); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ _local6); _local8 = ((_local8 << 31) | (_local8 >>> 1)); _local6 = (((_local8 >>> 8) ^ _local7) & 0xFF00FF); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 8)); _local6 = (((_local8 >>> 2) ^ _local7) & 858993459); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 2)); _local6 = (((_local7 >>> 16) ^ _local8) & 0xFFFF); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 16)); _local6 = (((_local7 >>> 4) ^ _local8) & 252645135); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 4)); _arg4[(_arg5 + 0)] = ((_local7 >>> 24) & 0xFF); _arg4[(_arg5 + 1)] = ((_local7 >>> 16) & 0xFF); _arg4[(_arg5 + 2)] = ((_local7 >>> 8) & 0xFF); _arg4[(_arg5 + 3)] = (_local7 & 0xFF); _arg4[(_arg5 + 4)] = ((_local8 >>> 24) & 0xFF); _arg4[(_arg5 + 5)] = ((_local8 >>> 16) & 0xFF); _arg4[(_arg5 + 6)] = ((_local8 >>> 8) & 0xFF); _arg4[(_arg5 + 7)] = (_local8 & 0xFF); } public function toString():String{ return ("des"); } public function dispose():void{ var _local1:uint; _local1 = 0; while (_local1 < encKey.length) { encKey[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < decKey.length) { decKey[_local1] = 0; _local1++; }; encKey = null; decKey = null; _local1 = 0; while (_local1 < key.length) { key[_local1] = 0; _local1++; }; key.length = 0; key = null; Memory.gc(); } } }//package com.hurlant.crypto.symmetric
Section 20
//ECBMode (com.hurlant.crypto.symmetric.ECBMode) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class ECBMode implements IMode, ICipher { private var key:ISymmetricKey; private var padding:IPad; public function ECBMode(_arg1:ISymmetricKey, _arg2:IPad=null){ this.key = _arg1; if (_arg2 == null){ _arg2 = new PKCS5(_arg1.getBlockSize()); } else { _arg2.setBlockSize(_arg1.getBlockSize()); }; this.padding = _arg2; } public function encrypt(_arg1:ByteArray):void{ padding.pad(_arg1); _arg1.position = 0; var _local2:uint = key.getBlockSize(); var _local3:ByteArray = new ByteArray(); var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { _local3.length = 0; _arg1.readBytes(_local3, 0, _local2); key.encrypt(_local3); _local4.writeBytes(_local3); _local5 = (_local5 + _local2); }; _arg1.length = 0; _arg1.writeBytes(_local4); } public function getBlockSize():uint{ return (key.getBlockSize()); } public function decrypt(_arg1:ByteArray):void{ _arg1.position = 0; var _local2:uint = key.getBlockSize(); if ((_arg1.length % _local2) != 0){ throw (new Error(("ECB mode cipher length must be a multiple of blocksize " + _local2))); }; var _local3:ByteArray = new ByteArray(); var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { _local3.length = 0; _arg1.readBytes(_local3, 0, _local2); key.decrypt(_local3); _local4.writeBytes(_local3); _local5 = (_local5 + _local2); }; padding.unpad(_local4); _arg1.length = 0; _arg1.writeBytes(_local4); } public function toString():String{ return ((key.toString() + "-ecb")); } public function dispose():void{ key.dispose(); key = null; padding = null; Memory.gc(); } } }//package com.hurlant.crypto.symmetric
Section 21
//ICipher (com.hurlant.crypto.symmetric.ICipher) package com.hurlant.crypto.symmetric { import flash.utils.*; public interface ICipher { function encrypt(_arg1:ByteArray):void; function getBlockSize():uint; function toString():String; function decrypt(_arg1:ByteArray):void; function dispose():void; } }//package com.hurlant.crypto.symmetric
Section 22
//IMode (com.hurlant.crypto.symmetric.IMode) package com.hurlant.crypto.symmetric { public interface IMode extends ICipher { } }//package com.hurlant.crypto.symmetric
Section 23
//IPad (com.hurlant.crypto.symmetric.IPad) package com.hurlant.crypto.symmetric { import flash.utils.*; public interface IPad { function unpad(_arg1:ByteArray):void; function pad(_arg1:ByteArray):void; function setBlockSize(_arg1:uint):void; } }//package com.hurlant.crypto.symmetric
Section 24
//IStreamCipher (com.hurlant.crypto.symmetric.IStreamCipher) package com.hurlant.crypto.symmetric { public interface IStreamCipher extends ICipher { } }//package com.hurlant.crypto.symmetric
Section 25
//ISymmetricKey (com.hurlant.crypto.symmetric.ISymmetricKey) package com.hurlant.crypto.symmetric { import flash.utils.*; public interface ISymmetricKey { function encrypt(_arg1:ByteArray, _arg2:uint=0):void; function getBlockSize():uint; function toString():String; function decrypt(_arg1:ByteArray, _arg2:uint=0):void; function dispose():void; } }//package com.hurlant.crypto.symmetric
Section 26
//IVMode (com.hurlant.crypto.symmetric.IVMode) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class IVMode { protected var lastIV:ByteArray; protected var iv:ByteArray; protected var blockSize:uint; protected var padding:IPad; protected var prng:Random; protected var key:ISymmetricKey; public function IVMode(_arg1:ISymmetricKey, _arg2:IPad=null){ this.key = _arg1; blockSize = _arg1.getBlockSize(); if (_arg2 == null){ _arg2 = new PKCS5(blockSize); } else { _arg2.setBlockSize(blockSize); }; this.padding = _arg2; prng = new Random(); iv = null; lastIV = new ByteArray(); } public function set IV(_arg1:ByteArray):void{ iv = _arg1; lastIV.length = 0; lastIV.writeBytes(iv); } protected function getIV4d():ByteArray{ var _local1:ByteArray = new ByteArray(); if (iv){ _local1.writeBytes(iv); } else { throw (new Error("an IV must be set before calling decrypt()")); }; return (_local1); } protected function getIV4e():ByteArray{ var _local1:ByteArray = new ByteArray(); if (iv){ _local1.writeBytes(iv); } else { prng.nextBytes(_local1, blockSize); }; lastIV.length = 0; lastIV.writeBytes(_local1); return (_local1); } public function get IV():ByteArray{ return (lastIV); } public function dispose():void{ var _local1:uint; if (iv != null){ _local1 = 0; while (_local1 < iv.length) { iv[_local1] = prng.nextByte(); _local1++; }; iv.length = 0; iv = null; }; if (lastIV != null){ _local1 = 0; while (_local1 < iv.length) { lastIV[_local1] = prng.nextByte(); _local1++; }; lastIV.length = 0; lastIV = null; }; key.dispose(); key = null; padding = null; prng.dispose(); prng = null; Memory.gc(); } public function getBlockSize():uint{ return (key.getBlockSize()); } } }//package com.hurlant.crypto.symmetric
Section 27
//NullPad (com.hurlant.crypto.symmetric.NullPad) package com.hurlant.crypto.symmetric { import flash.utils.*; public class NullPad implements IPad { public function unpad(_arg1:ByteArray):void{ } public function pad(_arg1:ByteArray):void{ } public function setBlockSize(_arg1:uint):void{ } } }//package com.hurlant.crypto.symmetric
Section 28
//OFBMode (com.hurlant.crypto.symmetric.OFBMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class OFBMode extends IVMode implements IMode { public function OFBMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, null); } private function core(_arg1:ByteArray, _arg2:ByteArray):void{ var _local6:uint; var _local7:uint; var _local3:uint = _arg1.length; var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { key.encrypt(_arg2); _local4.position = 0; _local4.writeBytes(_arg2); _local6 = (((_local5 + blockSize))<_local3) ? blockSize : (_local3 - _local5); _local7 = 0; while (_local7 < _local6) { _arg1[(_local5 + _local7)] = (_arg1[(_local5 + _local7)] ^ _arg2[_local7]); _local7++; }; _arg2.position = 0; _arg2.writeBytes(_local4); _local5 = (_local5 + blockSize); }; } public function toString():String{ return ((key.toString() + "-ofb")); } public function encrypt(_arg1:ByteArray):void{ var _local2:ByteArray = getIV4e(); core(_arg1, _local2); } public function decrypt(_arg1:ByteArray):void{ var _local2:ByteArray = getIV4d(); core(_arg1, _local2); } } }//package com.hurlant.crypto.symmetric
Section 29
//PKCS5 (com.hurlant.crypto.symmetric.PKCS5) package com.hurlant.crypto.symmetric { import flash.utils.*; public class PKCS5 implements IPad { private var blockSize:uint; public function PKCS5(_arg1:uint=0){ this.blockSize = _arg1; } public function pad(_arg1:ByteArray):void{ var _local2:uint = (blockSize - (_arg1.length % blockSize)); var _local3:uint; while (_local3 < _local2) { _arg1[_arg1.length] = _local2; _local3++; }; } public function setBlockSize(_arg1:uint):void{ blockSize = _arg1; } public function unpad(_arg1:ByteArray):void{ var _local4:uint; var _local2:uint = (_arg1.length % blockSize); if (_local2 != 0){ throw (new Error("PKCS#5::unpad: ByteArray.length isn't a multiple of the blockSize")); }; _local2 = _arg1[(_arg1.length - 1)]; var _local3:uint = _local2; while (_local3 > 0) { _local4 = _arg1[(_arg1.length - 1)]; _arg1.length--; if (_local2 != _local4){ throw (new Error((((("PKCS#5:unpad: Invalid padding value. expected [" + _local2) + "], found [") + _local4) + "]"))); }; _local3--; }; } } }//package com.hurlant.crypto.symmetric
Section 30
//SimpleIVMode (com.hurlant.crypto.symmetric.SimpleIVMode) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class SimpleIVMode implements IMode, ICipher { protected var mode:IVMode; protected var cipher:ICipher; public function SimpleIVMode(_arg1:IVMode){ this.mode = _arg1; cipher = (_arg1 as ICipher); } public function encrypt(_arg1:ByteArray):void{ cipher.encrypt(_arg1); var _local2:ByteArray = new ByteArray(); _local2.writeBytes(mode.IV); _local2.writeBytes(_arg1); _arg1.position = 0; _arg1.writeBytes(_local2); } public function decrypt(_arg1:ByteArray):void{ var _local2:ByteArray = new ByteArray(); _local2.writeBytes(_arg1, 0, getBlockSize()); mode.IV = _local2; _local2 = new ByteArray(); _local2.writeBytes(_arg1, getBlockSize()); cipher.decrypt(_local2); _arg1.length = 0; _arg1.writeBytes(_local2); } public function dispose():void{ mode.dispose(); mode = null; cipher = null; Memory.gc(); } public function getBlockSize():uint{ return (mode.getBlockSize()); } public function toString():String{ return (("simple-" + cipher.toString())); } } }//package com.hurlant.crypto.symmetric
Section 31
//TripleDESKey (com.hurlant.crypto.symmetric.TripleDESKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class TripleDESKey extends DESKey { protected var encKey2:Array; protected var encKey3:Array; protected var decKey2:Array; protected var decKey3:Array; public function TripleDESKey(_arg1:ByteArray){ super(_arg1); encKey2 = generateWorkingKey(false, _arg1, 8); decKey2 = generateWorkingKey(true, _arg1, 8); if (_arg1.length > 16){ encKey3 = generateWorkingKey(true, _arg1, 16); decKey3 = generateWorkingKey(false, _arg1, 16); } else { encKey3 = encKey; decKey3 = decKey; }; } override public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(encKey, _arg1, _arg2, _arg1, _arg2); desFunc(encKey2, _arg1, _arg2, _arg1, _arg2); desFunc(encKey3, _arg1, _arg2, _arg1, _arg2); } override public function dispose():void{ super.dispose(); var _local1:uint; if (encKey2 != null){ _local1 = 0; while (_local1 < encKey2.length) { encKey2[_local1] = 0; _local1++; }; encKey2 = null; }; if (encKey3 != null){ _local1 = 0; while (_local1 < encKey3.length) { encKey3[_local1] = 0; _local1++; }; encKey3 = null; }; if (decKey2 != null){ _local1 = 0; while (_local1 < decKey2.length) { decKey2[_local1] = 0; _local1++; }; decKey2 = null; }; if (decKey3 != null){ _local1 = 0; while (_local1 < decKey3.length) { decKey3[_local1] = 0; _local1++; }; decKey3 = null; }; Memory.gc(); } override public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(decKey3, _arg1, _arg2, _arg1, _arg2); desFunc(decKey2, _arg1, _arg2, _arg1, _arg2); desFunc(decKey, _arg1, _arg2, _arg1, _arg2); } override public function toString():String{ return ("3des"); } } }//package com.hurlant.crypto.symmetric
Section 32
//XTeaKey (com.hurlant.crypto.symmetric.XTeaKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class XTeaKey implements ISymmetricKey { public const NUM_ROUNDS:uint = 64; private var k:Array; public function XTeaKey(_arg1:ByteArray){ _arg1.position = 0; k = [_arg1.readUnsignedInt(), _arg1.readUnsignedInt(), _arg1.readUnsignedInt(), _arg1.readUnsignedInt()]; } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local5:uint; _arg1.position = _arg2; var _local3:uint = _arg1.readUnsignedInt(); var _local4:uint = _arg1.readUnsignedInt(); var _local6:uint; var _local7:uint = 2654435769; _local5 = 0; while (_local5 < NUM_ROUNDS) { _local3 = (_local3 + ((((_local4 << 4) ^ (_local4 >> 5)) + _local4) ^ (_local6 + k[(_local6 & 3)]))); _local6 = (_local6 + _local7); _local4 = (_local4 + ((((_local3 << 4) ^ (_local3 >> 5)) + _local3) ^ (_local6 + k[((_local6 >> 11) & 3)]))); _local5++; }; _arg1.position = (_arg1.position - 8); _arg1.writeUnsignedInt(_local3); _arg1.writeUnsignedInt(_local4); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local5:uint; _arg1.position = _arg2; var _local3:uint = _arg1.readUnsignedInt(); var _local4:uint = _arg1.readUnsignedInt(); var _local6:uint = 2654435769; var _local7:uint = (_local6 * NUM_ROUNDS); _local5 = 0; while (_local5 < NUM_ROUNDS) { _local4 = (_local4 - ((((_local3 << 4) ^ (_local3 >> 5)) + _local3) ^ (_local7 + k[((_local7 >> 11) & 3)]))); _local7 = (_local7 - _local6); _local3 = (_local3 - ((((_local4 << 4) ^ (_local4 >> 5)) + _local4) ^ (_local7 + k[(_local7 & 3)]))); _local5++; }; _arg1.position = (_arg1.position - 8); _arg1.writeUnsignedInt(_local3); _arg1.writeUnsignedInt(_local4); } public function getBlockSize():uint{ return (8); } public function toString():String{ return ("xtea"); } public function dispose():void{ var _local1:Random = new Random(); var _local2:uint; while (_local2 < k.length) { k[_local2] = _local1.nextByte(); delete k[_local2]; _local2++; }; k = null; Memory.gc(); } public static function parseKey(_arg1:String):XTeaKey{ var _local2:ByteArray = new ByteArray(); _local2.writeUnsignedInt(parseInt(_arg1.substr(0, 8), 16)); _local2.writeUnsignedInt(parseInt(_arg1.substr(8, 8), 16)); _local2.writeUnsignedInt(parseInt(_arg1.substr(16, 8), 16)); _local2.writeUnsignedInt(parseInt(_arg1.substr(24, 8), 16)); _local2.position = 0; return (new XTeaKey(_local2)); } } }//package com.hurlant.crypto.symmetric
Section 33
//Crypto (com.hurlant.crypto.Crypto) package com.hurlant.crypto { import flash.utils.*; import com.hurlant.crypto.symmetric.*; import com.hurlant.crypto.hash.*; import com.hurlant.crypto.rsa.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class Crypto { private var b64:Base64; public static function getCipher(_arg1:String, _arg2:ByteArray, _arg3:IPad=null):ICipher{ var _local5:ICipher; var _local4:Array = _arg1.split("-"); switch (_local4[0]){ case "simple": _local4.shift(); _arg1 = _local4.join("-"); _local5 = getCipher(_arg1, _arg2, _arg3); if ((_local5 is IVMode)){ return (new SimpleIVMode((_local5 as IVMode))); }; return (_local5); case "aes": case "aes128": case "aes192": case "aes256": _local4.shift(); if ((_arg2.length * 8) == _local4[0]){ _local4.shift(); }; return (getMode(_local4[0], new AESKey(_arg2), _arg3)); case "bf": case "blowfish": _local4.shift(); return (getMode(_local4[0], new BlowFishKey(_arg2), _arg3)); case "des": _local4.shift(); if (((!((_local4[0] == "ede"))) && (!((_local4[0] == "ede3"))))){ return (getMode(_local4[0], new DESKey(_arg2), _arg3)); }; if (_local4.length == 1){ _local4.push("ecb"); }; case "3des": case "des3": _local4.shift(); return (getMode(_local4[0], new TripleDESKey(_arg2), _arg3)); case "xtea": _local4.shift(); return (getMode(_local4[0], new XTeaKey(_arg2), _arg3)); case "rc4": _local4.shift(); return (new ARC4(_arg2)); }; return (null); } public static function getHash(_arg1:String):IHash{ switch (_arg1){ case "md2": return (new MD2()); case "md5": return (new MD5()); case "sha": case "sha1": return (new SHA1()); case "sha224": return (new SHA224()); case "sha256": return (new SHA256()); }; return (null); } public static function getRSA(_arg1:String, _arg2:String):RSAKey{ return (RSAKey.parsePublicKey(_arg2, _arg1)); } private static function getMode(_arg1:String, _arg2:ISymmetricKey, _arg3:IPad=null):IMode{ switch (_arg1){ case "ecb": return (new ECBMode(_arg2, _arg3)); case "cfb": return (new CFBMode(_arg2, _arg3)); case "cfb8": return (new CFB8Mode(_arg2, _arg3)); case "ofb": return (new OFBMode(_arg2, _arg3)); case "ctr": return (new CTRMode(_arg2, _arg3)); case "cbc": default: return (new CBCMode(_arg2, _arg3)); }; } public static function getKeySize(_arg1:String):uint{ var _local2:Array = _arg1.split("-"); switch (_local2[0]){ case "simple": _local2.shift(); return (getKeySize(_local2.join("-"))); case "aes128": return (16); case "aes192": return (24); case "aes256": return (32); case "aes": _local2.shift(); return ((parseInt(_local2[0]) / 8)); case "bf": case "blowfish": return (16); case "des": _local2.shift(); switch (_local2[0]){ case "ede": return (16); case "ede3": return (24); default: return (8); }; case "3des": case "des3": return (24); case "xtea": return (8); case "rc4": if (parseInt(_local2[1]) > 0){ return ((parseInt(_local2[1]) / 8)); }; return (16); }; return (0); } public static function getPad(_arg1:String):IPad{ switch (_arg1){ case "null": return (new NullPad()); case "pkcs5": default: return (new PKCS5()); }; } public static function getHMAC(_arg1:String):HMAC{ var _local2:Array = _arg1.split("-"); if (_local2[0] == "hmac"){ _local2.shift(); }; var _local3:uint; if (_local2.length > 1){ _local3 = parseInt(_local2[1]); }; return (new HMAC(getHash(_local2[0]), _local3)); } } }//package com.hurlant.crypto
Section 34
//BarrettReduction (com.hurlant.math.BarrettReduction) package com.hurlant.math { import com.hurlant.math.*; class BarrettReduction implements IReduction { private var r2:BigInteger; private var q3:BigInteger; private var mu:BigInteger; private var m:BigInteger; function BarrettReduction(_arg1:BigInteger){ r2 = new BigInteger(); q3 = new BigInteger(); BigInteger.ONE.dlShiftTo((2 * _arg1.t), r2); mu = r2.divide(_arg1); this.m = _arg1; } public function revert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); reduce(_arg2); } public function convert(_arg1:BigInteger):BigInteger{ var _local2:BigInteger; if ((((_arg1.s < 0)) || ((_arg1.t > (2 * m.t))))){ return (_arg1.mod(m)); }; if (_arg1.compareTo(m) < 0){ return (_arg1); }; _local2 = new BigInteger(); _arg1.copyTo(_local2); reduce(_local2); return (_local2); } public function reduce(_arg1:BigInteger):void{ var _local2:BigInteger = (_arg1 as BigInteger); _local2.drShiftTo((m.t - 1), r2); if (_local2.t > (m.t + 1)){ _local2.t = (m.t + 1); _local2.clamp(); }; mu.multiplyUpperTo(r2, (m.t + 1), q3); m.multiplyLowerTo(q3, (m.t + 1), r2); while (_local2.compareTo(r2) < 0) { _local2.dAddOffset(1, (m.t + 1)); }; _local2.subTo(r2, _local2); while (_local2.compareTo(m) >= 0) { _local2.subTo(m, _local2); }; } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); reduce(_arg3); } } }//package com.hurlant.math
Section 35
//bi_internal (com.hurlant.math.bi_internal) package com.hurlant.math { public namespace bi_internal = "http://crypto.hurlant.com/BigInteger"; }//package com.hurlant.math
Section 36
//BigInteger (com.hurlant.math.BigInteger) package com.hurlant.math { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class BigInteger { bi_internal var a:Array; bi_internal var s:int; public var t:int; public static const ONE:BigInteger = nbv(1); public static const ZERO:BigInteger = nbv(0); public static const DM:int = (DV - 1); public static const F1:int = 22; public static const F2:int = 8; public static const lplim:int = ((1 << 26) / lowprimes[(lowprimes.length - 1)]); public static const lowprimes:Array = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 0x0101, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509]; public static const FV:Number = Math.pow(2, BI_FP); public static const BI_FP:int = 52; public static const DV:int = (1 << DB); public static const DB:int = 30; public function BigInteger(_arg1=null, _arg2:int=0){ var _local3:ByteArray; var _local4:int; super(); a = new Array(); if ((_arg1 is String)){ _arg1 = Hex.toArray(_arg1); _arg2 = 0; }; if ((_arg1 is ByteArray)){ _local3 = (_arg1 as ByteArray); _local4 = ((_arg2) || ((_local3.length - _local3.position))); fromArray(_local3, _local4); }; } public function clearBit(_arg1:int):BigInteger{ return (changeBit(_arg1, op_andnot)); } private function op_or(_arg1:int, _arg2:int):int{ return ((_arg1 | _arg2)); } public function negate():BigInteger{ var _local1:BigInteger = nbi(); ZERO.subTo(this, _local1); return (_local1); } public function andNot(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_andnot, _local2); return (_local2); } public function modPow(_arg1:BigInteger, _arg2:BigInteger):BigInteger{ var _local4:int; var _local6:IReduction; var _local12:int; var _local15:BigInteger; var _local16:BigInteger; var _local3:int = _arg1.bitLength(); var _local5:BigInteger = nbv(1); if (_local3 <= 0){ return (_local5); }; if (_local3 < 18){ _local4 = 1; } else { if (_local3 < 48){ _local4 = 3; } else { if (_local3 < 144){ _local4 = 4; } else { if (_local3 < 0x0300){ _local4 = 5; } else { _local4 = 6; }; }; }; }; if (_local3 < 8){ _local6 = new ClassicReduction(_arg2); } else { if (_arg2.isEven()){ _local6 = new BarrettReduction(_arg2); } else { _local6 = new MontgomeryReduction(_arg2); }; }; var _local7:Array = []; var _local8 = 3; var _local9:int = (_local4 - 1); var _local10:int = ((1 << _local4) - 1); _local7[1] = _local6.convert(this); if (_local4 > 1){ _local16 = new BigInteger(); _local6.sqrTo(_local7[1], _local16); while (_local8 <= _local10) { _local7[_local8] = new BigInteger(); _local6.mulTo(_local16, _local7[(_local8 - 2)], _local7[_local8]); _local8 = (_local8 + 2); }; }; var _local11:int = (_arg1.t - 1); var _local13:Boolean; var _local14:BigInteger = new BigInteger(); _local3 = (nbits(_arg1.a[_local11]) - 1); while (_local11 >= 0) { if (_local3 >= _local9){ _local12 = ((_arg1.a[_local11] >> (_local3 - _local9)) & _local10); } else { _local12 = ((_arg1.a[_local11] & ((1 << (_local3 + 1)) - 1)) << (_local9 - _local3)); if (_local11 > 0){ _local12 = (_local12 | (_arg1.a[(_local11 - 1)] >> ((DB + _local3) - _local9))); }; }; _local8 = _local4; while ((_local12 & 1) == 0) { _local12 = (_local12 >> 1); _local8--; }; _local3 = (_local3 - _local8); if (_local3 < 0){ _local3 = (_local3 + DB); _local11--; }; if (_local13){ _local7[_local12].copyTo(_local5); _local13 = false; } else { while (_local8 > 1) { _local6.sqrTo(_local5, _local14); _local6.sqrTo(_local14, _local5); _local8 = (_local8 - 2); }; if (_local8 > 0){ _local6.sqrTo(_local5, _local14); } else { _local15 = _local5; _local5 = _local14; _local14 = _local15; }; _local6.mulTo(_local14, _local7[_local12], _local5); }; while ((((_local11 >= 0)) && (((_arg1.a[_local11] & (1 << _local3)) == 0)))) { _local6.sqrTo(_local5, _local14); _local15 = _local5; _local5 = _local14; _local14 = _local15; --_local3; if (_local3 < 0){ _local3 = (DB - 1); _local11--; }; }; }; return (_local6.revert(_local5)); } public function isProbablePrime(_arg1:int):Boolean{ var _local2:int; var _local4:int; var _local5:int; var _local3:BigInteger = abs(); if ((((_local3.t == 1)) && ((_local3.a[0] <= lowprimes[(lowprimes.length - 1)])))){ _local2 = 0; while (_local2 < lowprimes.length) { if (_local3[0] == lowprimes[_local2]){ return (true); }; _local2++; }; return (false); }; if (_local3.isEven()){ return (false); }; _local2 = 1; while (_local2 < lowprimes.length) { _local4 = lowprimes[_local2]; _local5 = (_local2 + 1); while ((((_local5 < lowprimes.length)) && ((_local4 < lplim)))) { var _temp1 = _local5; _local5 = (_local5 + 1); _local4 = (_local4 * lowprimes[_temp1]); }; _local4 = _local3.modInt(_local4); while (_local2 < _local5) { var _temp2 = _local4; var _temp3 = _local2; _local2 = (_local2 + 1); if ((_temp2 % lowprimes[_temp3]) == 0){ return (false); }; }; }; return (_local3.millerRabin(_arg1)); } public function divide(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); divRemTo(_arg1, _local2, null); return (_local2); } public function mod(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = nbi(); abs().divRemTo(_arg1, null, _local2); if ((((s < 0)) && ((_local2.compareTo(ZERO) > 0)))){ _arg1.subTo(_local2, _local2); }; return (_local2); } protected function addTo(_arg1:BigInteger, _arg2:BigInteger):void{ var _local3:int; var _local4:int; var _local5:int = Math.min(_arg1.t, t); while (_local3 < _local5) { _local4 = (_local4 + (this.a[_local3] + _arg1.a[_local3])); var _temp1 = _local3; _local3 = (_local3 + 1); var _local6 = _temp1; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; if (_arg1.t < t){ _local4 = (_local4 + _arg1.s); while (_local3 < t) { _local4 = (_local4 + this.a[_local3]); var _temp2 = _local3; _local3 = (_local3 + 1); _local6 = _temp2; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 + s); } else { _local4 = (_local4 + s); while (_local3 < _arg1.t) { _local4 = (_local4 + _arg1.a[_local3]); var _temp3 = _local3; _local3 = (_local3 + 1); _local6 = _temp3; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 + _arg1.s); }; _arg2.s = ((_local4)<0) ? -1 : 0; if (_local4 > 0){ var _temp4 = _local3; _local3 = (_local3 + 1); _local6 = _temp4; _arg2.a[_local6] = _local4; } else { if (_local4 < -1){ var _temp5 = _local3; _local3 = (_local3 + 1); _local6 = _temp5; _arg2.a[_local6] = (DV + _local4); }; }; _arg2.t = _local3; _arg2.clamp(); } protected function bitwiseTo(_arg1:BigInteger, _arg2:Function, _arg3:BigInteger):void{ var _local4:int; var _local5:int; var _local6:int = Math.min(_arg1.t, t); _local4 = 0; while (_local4 < _local6) { _arg3.a[_local4] = _arg2(this.a[_local4], _arg1.a[_local4]); _local4++; }; if (_arg1.t < t){ _local5 = (_arg1.s & DM); _local4 = _local6; while (_local4 < t) { _arg3.a[_local4] = _arg2(this.a[_local4], _local5); _local4++; }; _arg3.t = t; } else { _local5 = (s & DM); _local4 = _local6; while (_local4 < _arg1.t) { _arg3.a[_local4] = _arg2(_local5, _arg1.a[_local4]); _local4++; }; _arg3.t = _arg1.t; }; _arg3.s = _arg2(s, _arg1.s); _arg3.clamp(); } protected function modInt(_arg1:int):int{ var _local4:int; if (_arg1 <= 0){ return (0); }; var _local2:int = (DV % _arg1); var _local3:int = ((s)<0) ? (_arg1 - 1) : 0; if (t > 0){ if (_local2 == 0){ _local3 = (a[0] % _arg1); } else { _local4 = (t - 1); while (_local4 >= 0) { _local3 = (((_local2 * _local3) + a[_local4]) % _arg1); _local4--; }; }; }; return (_local3); } protected function chunkSize(_arg1:Number):int{ return (Math.floor(((Math.LN2 * DB) / Math.log(_arg1)))); } public function gcd(_arg1:BigInteger):BigInteger{ var _local6:BigInteger; var _local2:BigInteger = ((s)<0) ? negate() : clone(); var _local3:BigInteger = ((_arg1.s)<0) ? _arg1.negate() : _arg1.clone(); if (_local2.compareTo(_local3) < 0){ _local6 = _local2; _local2 = _local3; _local3 = _local6; }; var _local4:int = _local2.getLowestSetBit(); var _local5:int = _local3.getLowestSetBit(); if (_local5 < 0){ return (_local2); }; if (_local4 < _local5){ _local5 = _local4; }; if (_local5 > 0){ _local2.rShiftTo(_local5, _local2); _local3.rShiftTo(_local5, _local3); }; while (_local2.sigNum() > 0) { _local4 = _local2.getLowestSetBit(); if (_local4 > 0){ _local2.rShiftTo(_local4, _local2); }; _local4 = _local3.getLowestSetBit(); if (_local4 > 0){ _local3.rShiftTo(_local4, _local3); }; if (_local2.compareTo(_local3) >= 0){ _local2.subTo(_local3, _local2); _local2.rShiftTo(1, _local2); } else { _local3.subTo(_local2, _local3); _local3.rShiftTo(1, _local3); }; }; if (_local5 > 0){ _local3.lShiftTo(_local5, _local3); }; return (_local3); } bi_internal function dAddOffset(_arg1:int, _arg2:int):void{ while (t <= _arg2) { var _local3 = t++; a[_local3] = 0; }; a[_arg2] = (a[_arg2] + _arg1); while (a[_arg2] >= DV) { a[_arg2] = (a[_arg2] - DV); ++_arg2; if (_arg2 >= t){ _local3 = t++; a[_local3] = 0; }; _local3 = a; var _local4 = _arg2; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; }; } bi_internal function lShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local8:int; var _local3:int = (_arg1 % DB); var _local4:int = (DB - _local3); var _local5:int = ((1 << _local4) - 1); var _local6:int = (_arg1 / DB); var _local7 = ((s << _local3) & DM); _local8 = (t - 1); while (_local8 >= 0) { _arg2.a[((_local8 + _local6) + 1)] = ((a[_local8] >> _local4) | _local7); _local7 = ((a[_local8] & _local5) << _local3); _local8--; }; _local8 = (_local6 - 1); while (_local8 >= 0) { _arg2.a[_local8] = 0; _local8--; }; _arg2.a[_local6] = _local7; _arg2.t = ((t + _local6) + 1); _arg2.s = s; _arg2.clamp(); } public function getLowestSetBit():int{ var _local1:int; while (_local1 < t) { if (a[_local1] != 0){ return (((_local1 * DB) + lbit(a[_local1]))); }; _local1++; }; if (s < 0){ return ((t * DB)); }; return (-1); } public function subtract(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); subTo(_arg1, _local2); return (_local2); } public function primify(_arg1:int, _arg2:int):void{ if (!testBit((_arg1 - 1))){ bitwiseTo(BigInteger.ONE.shiftLeft((_arg1 - 1)), op_or, this); }; if (isEven()){ dAddOffset(1, 0); }; while (!(isProbablePrime(_arg2))) { dAddOffset(2, 0); while (bitLength() > _arg1) { subTo(BigInteger.ONE.shiftLeft((_arg1 - 1)), this); }; }; } bi_internal function multiplyLowerTo(_arg1:BigInteger, _arg2:int, _arg3:BigInteger):void{ var _local5:int; var _local4:int = Math.min((t + _arg1.t), _arg2); _arg3.s = 0; _arg3.t = _local4; while (_local4 > 0) { --_local4; var _local6 = _local4; _arg3.a[_local6] = 0; }; _local5 = (_arg3.t - t); while (_local4 < _local5) { _arg3.a[(_local4 + t)] = am(0, _arg1.a[_local4], _arg3, _local4, 0, t); _local4++; }; _local5 = Math.min(_arg1.t, _arg2); while (_local4 < _local5) { am(0, _arg1.a[_local4], _arg3, _local4, 0, (_arg2 - _local4)); _local4++; }; _arg3.clamp(); } public function modPowInt(_arg1:int, _arg2:BigInteger):BigInteger{ var _local3:IReduction; if ((((_arg1 < 0x0100)) || (_arg2.isEven()))){ _local3 = new ClassicReduction(_arg2); } else { _local3 = new MontgomeryReduction(_arg2); }; return (exp(_arg1, _local3)); } bi_internal function intAt(_arg1:String, _arg2:int):int{ return (parseInt(_arg1.charAt(_arg2), 36)); } public function testBit(_arg1:int):Boolean{ var _local2:int = Math.floor((_arg1 / DB)); if (_local2 >= t){ return (!((s == 0))); }; return (!(((a[_local2] & (1 << (_arg1 % DB))) == 0))); } bi_internal function exp(_arg1:int, _arg2:IReduction):BigInteger{ var _local7:BigInteger; if ((((_arg1 > 4294967295)) || ((_arg1 < 1)))){ return (ONE); }; var _local3:BigInteger = nbi(); var _local4:BigInteger = nbi(); var _local5:BigInteger = _arg2.convert(this); var _local6:int = (nbits(_arg1) - 1); _local5.copyTo(_local3); while (--_local6 >= 0) { _arg2.sqrTo(_local3, _local4); if ((_arg1 & (1 << _local6)) > 0){ _arg2.mulTo(_local4, _local5, _local3); } else { _local7 = _local3; _local3 = _local4; _local4 = _local7; }; }; return (_arg2.revert(_local3)); } public function toArray(_arg1:ByteArray):uint{ var _local2 = 8; var _local3:int = ((1 << 8) - 1); var _local4:int; var _local5:int = t; var _local6:int = (DB - ((_local5 * DB) % _local2)); var _local7:Boolean; var _local8:int; var _temp1 = _local5; _local5 = (_local5 - 1); if (_temp1 > 0){ if ((((_local6 < DB)) && (((a[_local5] >> _local6) > 0)))){ _local7 = true; _arg1.writeByte(_local4); _local8++; }; while (_local5 >= 0) { if (_local6 < _local2){ _local4 = ((a[_local5] & ((1 << _local6) - 1)) << (_local2 - _local6)); var _temp2 = _local4; _local5 = (_local5 - 1); _local6 = (_local6 + (DB - _local2)); _local4 = (_temp2 | (a[_local5] >> _local6)); } else { _local6 = (_local6 - _local2); _local4 = ((a[_local5] >> _local6) & _local3); if (_local6 <= 0){ _local6 = (_local6 + DB); _local5--; }; }; if (_local4 > 0){ _local7 = true; }; if (_local7){ _arg1.writeByte(_local4); _local8++; }; }; }; return (_local8); } public function dispose():void{ var _local1:Random = new Random(); var _local2:uint; while (_local2 < a.length) { a[_local2] = _local1.nextByte(); delete a[_local2]; _local2++; }; a = null; t = 0; s = 0; Memory.gc(); } private function lbit(_arg1:int):int{ if (_arg1 == 0){ return (-1); }; var _local2:int; if ((_arg1 & 0xFFFF) == 0){ _arg1 = (_arg1 >> 16); _local2 = (_local2 + 16); }; if ((_arg1 & 0xFF) == 0){ _arg1 = (_arg1 >> 8); _local2 = (_local2 + 8); }; if ((_arg1 & 15) == 0){ _arg1 = (_arg1 >> 4); _local2 = (_local2 + 4); }; if ((_arg1 & 3) == 0){ _arg1 = (_arg1 >> 2); _local2 = (_local2 + 2); }; if ((_arg1 & 1) == 0){ _local2++; }; return (_local2); } bi_internal function divRemTo(_arg1:BigInteger, _arg2:BigInteger=null, _arg3:BigInteger=null):void{ var qd:int; var m = _arg1; var q = _arg2; var r = _arg3; var pm:BigInteger = m.abs(); if (pm.t <= 0){ return; }; var pt:BigInteger = abs(); if (pt.t < pm.t){ if (q != null){ q.fromInt(0); }; if (r != null){ copyTo(r); }; return; }; if (r == null){ r = nbi(); }; var y:BigInteger = nbi(); var ts:int = s; var ms:int = m.s; var nsh:int = (DB - nbits(pm.a[(pm.t - 1)])); if (nsh > 0){ pm.lShiftTo(nsh, y); pt.lShiftTo(nsh, r); } else { pm.copyTo(y); pt.copyTo(r); }; var ys:int = y.t; var y0:int = y.a[(ys - 1)]; if (y0 == 0){ return; }; var yt:Number = ((y0 * (1 << F1)) + ((ys)>1) ? (y.a[(ys - 2)] >> F2) : 0); var d1:Number = (FV / yt); var d2:Number = ((1 << F1) / yt); var e:Number = (1 << F2); var i:int = r.t; var j:int = (i - ys); var t:BigInteger = ((q)==null) ? nbi() : q; y.dlShiftTo(j, t); if (r.compareTo(t) >= 0){ var _local5 = r.t++; r.a[_local5] = 1; r.subTo(t, r); }; ONE.dlShiftTo(ys, t); t.subTo(y, y); while (y.t < ys) { y.(y.t++); //not popped }; while ((j = (j - 1)), (j - 1) >= 0) { i = (i - 1); qd = ((r.a[(i - 1)])==y0) ? DM : ((Number(r.a[i]) * d1) + ((Number(r.a[(i - 1)]) + e) * d2)); if ((r.a[i] = (r.a[i] + y.am(0, qd, r, j, 0, ys))) < qd){ y.dlShiftTo(j, t); r.subTo(t, r); while ((qd = (qd - 1)), r.a[i] < (qd - 1)) { r.subTo(t, r); }; }; }; if (q != null){ r.drShiftTo(ys, q); if (ts != ms){ ZERO.subTo(q, q); }; }; r.t = ys; r.clamp(); if (nsh > 0){ r.rShiftTo(nsh, r); }; if (ts < 0){ ZERO.subTo(r, r); }; } public function remainder(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); divRemTo(_arg1, null, _local2); return (_local2); } bi_internal function multiplyUpperTo(_arg1:BigInteger, _arg2:int, _arg3:BigInteger):void{ _arg2--; var _local4:int = (_arg3.t = ((t + _arg1.t) - _arg2)); _arg3.s = 0; while (--_local4 >= 0) { _arg3.a[_local4] = 0; }; _local4 = Math.max((_arg2 - t), 0); while (_local4 < _arg1.t) { _arg3.a[((t + _local4) - _arg2)] = am((_arg2 - _local4), _arg1.a[_local4], _arg3, 0, 0, ((t + _local4) - _arg2)); _local4++; }; _arg3.clamp(); _arg3.drShiftTo(1, _arg3); } public function divideAndRemainder(_arg1:BigInteger):Array{ var _local2:BigInteger = new BigInteger(); var _local3:BigInteger = new BigInteger(); divRemTo(_arg1, _local2, _local3); return ([_local2, _local3]); } public function valueOf():Number{ var _local1:Number = 1; var _local2:Number = 0; var _local3:uint; while (_local3 < t) { _local2 = (_local2 + (a[_local3] * _local1)); _local1 = (_local1 * DV); _local3++; }; return (_local2); } public function shiftLeft(_arg1:int):BigInteger{ var _local2:BigInteger = new BigInteger(); if (_arg1 < 0){ rShiftTo(-(_arg1), _local2); } else { lShiftTo(_arg1, _local2); }; return (_local2); } public function multiply(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); multiplyTo(_arg1, _local2); return (_local2); } bi_internal function am(_arg1:int, _arg2:int, _arg3:BigInteger, _arg4:int, _arg5:int, _arg6:int):int{ var _local9:int; var _local10:int; var _local11:int; var _local7 = (_arg2 & 32767); var _local8 = (_arg2 >> 15); while (--_arg6 >= 0) { _local9 = (a[_arg1] & 32767); var _temp1 = _arg1; _arg1 = (_arg1 + 1); _local10 = (a[_temp1] >> 15); _local11 = ((_local8 * _local9) + (_local10 * _local7)); _local9 = ((((_local7 * _local9) + ((_local11 & 32767) << 15)) + _arg3.a[_arg4]) + (_arg5 & 1073741823)); _arg5 = ((((_local9 >>> 30) + (_local11 >>> 15)) + (_local8 * _local10)) + (_arg5 >>> 30)); var _temp2 = _arg4; _arg4 = (_arg4 + 1); var _local12 = _temp2; _arg3.a[_local12] = (_local9 & 1073741823); }; return (_arg5); } bi_internal function drShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local3:int; _local3 = _arg1; while (_local3 < t) { _arg2.a[(_local3 - _arg1)] = a[_local3]; _local3++; }; _arg2.t = Math.max((t - _arg1), 0); _arg2.s = s; } public function add(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); addTo(_arg1, _local2); return (_local2); } protected function nbi(){ return (new BigInteger()); } protected function millerRabin(_arg1:int):Boolean{ var _local7:BigInteger; var _local8:int; var _local2:BigInteger = subtract(BigInteger.ONE); var _local3:int = _local2.getLowestSetBit(); if (_local3 <= 0){ return (false); }; var _local4:BigInteger = _local2.shiftRight(_local3); _arg1 = ((_arg1 + 1) >> 1); if (_arg1 > lowprimes.length){ _arg1 = lowprimes.length; }; var _local5:BigInteger = new BigInteger(); var _local6:int; while (_local6 < _arg1) { _local5.fromInt(lowprimes[_local6]); _local7 = _local5.modPow(_local4, this); if (((!((_local7.compareTo(BigInteger.ONE) == 0))) && (!((_local7.compareTo(_local2) == 0))))){ _local8 = 1; while ((((_local8++ < _local3)) && (!((_local7.compareTo(_local2) == 0))))) { _local7 = _local7.modPowInt(2, this); if (_local7.compareTo(BigInteger.ONE) == 0){ return (false); }; }; if (_local7.compareTo(_local2) != 0){ return (false); }; }; _local6++; }; return (true); } bi_internal function dMultiply(_arg1:int):void{ a[t] = am(0, (_arg1 - 1), this, 0, 0, t); t++; clamp(); } private function op_andnot(_arg1:int, _arg2:int):int{ return ((_arg1 & ~(_arg2))); } bi_internal function clamp():void{ var _local1 = (s & DM); while ((((t > 0)) && ((a[(t - 1)] == _local1)))) { t--; }; } bi_internal function invDigit():int{ if (t < 1){ return (0); }; var _local1:int = a[0]; if ((_local1 & 1) == 0){ return (0); }; var _local2 = (_local1 & 3); _local2 = ((_local2 * (2 - ((_local1 & 15) * _local2))) & 15); _local2 = ((_local2 * (2 - ((_local1 & 0xFF) * _local2))) & 0xFF); _local2 = ((_local2 * (2 - (((_local1 & 0xFFFF) * _local2) & 0xFFFF))) & 0xFFFF); _local2 = ((_local2 * (2 - ((_local1 * _local2) % DV))) % DV); return (((_local2)>0) ? (DV - _local2) : -(_local2)); } protected function changeBit(_arg1:int, _arg2:Function):BigInteger{ var _local3:BigInteger = BigInteger.ONE.shiftLeft(_arg1); bitwiseTo(_local3, _arg2, _local3); return (_local3); } public function equals(_arg1:BigInteger):Boolean{ return ((compareTo(_arg1) == 0)); } public function compareTo(_arg1:BigInteger):int{ var _local2:int = (s - _arg1.s); if (_local2 != 0){ return (_local2); }; var _local3:int = t; _local2 = (_local3 - _arg1.t); if (_local2 != 0){ return (_local2); }; while (--_local3 >= 0) { _local2 = (a[_local3] - _arg1.a[_local3]); if (_local2 != 0){ return (_local2); }; }; return (0); } public function shiftRight(_arg1:int):BigInteger{ var _local2:BigInteger = new BigInteger(); if (_arg1 < 0){ lShiftTo(-(_arg1), _local2); } else { rShiftTo(_arg1, _local2); }; return (_local2); } bi_internal function multiplyTo(_arg1:BigInteger, _arg2:BigInteger):void{ var _local3:BigInteger = abs(); var _local4:BigInteger = _arg1.abs(); var _local5:int = _local3.t; _arg2.t = (_local5 + _local4.t); while (--_local5 >= 0) { _arg2.a[_local5] = 0; }; _local5 = 0; while (_local5 < _local4.t) { _arg2.a[(_local5 + _local3.t)] = _local3.am(0, _local4.a[_local5], _arg2, _local5, 0, _local3.t); _local5++; }; _arg2.s = 0; _arg2.clamp(); if (s != _arg1.s){ ZERO.subTo(_arg2, _arg2); }; } public function bitCount():int{ var _local1:int; var _local2 = (s & DM); var _local3:int; while (_local3 < t) { _local1 = (_local1 + cbit((a[_local3] ^ _local2))); _local3++; }; return (_local1); } protected function toRadix(_arg1:uint=10):String{ if ((((((sigNum() == 0)) || ((_arg1 < 2)))) || ((_arg1 > 32)))){ return ("0"); }; var _local2:int = chunkSize(_arg1); var _local3:Number = Math.pow(_arg1, _local2); var _local4:BigInteger = nbv(_local3); var _local5:BigInteger = nbi(); var _local6:BigInteger = nbi(); var _local7 = ""; divRemTo(_local4, _local5, _local6); while (_local5.sigNum() > 0) { _local7 = ((_local3 + _local6.intValue()).toString(_arg1).substr(1) + _local7); _local5.divRemTo(_local4, _local5, _local6); }; return ((_local6.intValue().toString(_arg1) + _local7)); } private function cbit(_arg1:int):int{ var _local2:uint; while (_arg1 != 0) { _arg1 = (_arg1 & (_arg1 - 1)); _local2++; }; return (_local2); } bi_internal function rShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local7:int; _arg2.s = s; var _local3:int = (_arg1 / DB); if (_local3 >= t){ _arg2.t = 0; return; }; var _local4:int = (_arg1 % DB); var _local5:int = (DB - _local4); var _local6:int = ((1 << _local4) - 1); _arg2.a[0] = (a[_local3] >> _local4); _local7 = (_local3 + 1); while (_local7 < t) { _arg2.a[((_local7 - _local3) - 1)] = (_arg2.a[((_local7 - _local3) - 1)] | ((a[_local7] & _local6) << _local5)); _arg2.a[(_local7 - _local3)] = (a[_local7] >> _local4); _local7++; }; if (_local4 > 0){ _arg2.a[((t - _local3) - 1)] = (_arg2.a[((t - _local3) - 1)] | ((s & _local6) << _local5)); }; _arg2.t = (t - _local3); _arg2.clamp(); } public function modInverse(_arg1:BigInteger):BigInteger{ var _local2:Boolean = _arg1.isEven(); if (((((isEven()) && (_local2))) || ((_arg1.sigNum() == 0)))){ return (BigInteger.ZERO); }; var _local3:BigInteger = _arg1.clone(); var _local4:BigInteger = clone(); var _local5:BigInteger = nbv(1); var _local6:BigInteger = nbv(0); var _local7:BigInteger = nbv(0); var _local8:BigInteger = nbv(1); while (_local3.sigNum() != 0) { while (_local3.isEven()) { _local3.rShiftTo(1, _local3); if (_local2){ if (((!(_local5.isEven())) || (!(_local6.isEven())))){ _local5.addTo(this, _local5); _local6.subTo(_arg1, _local6); }; _local5.rShiftTo(1, _local5); } else { if (!_local6.isEven()){ _local6.subTo(_arg1, _local6); }; }; _local6.rShiftTo(1, _local6); }; while (_local4.isEven()) { _local4.rShiftTo(1, _local4); if (_local2){ if (((!(_local7.isEven())) || (!(_local8.isEven())))){ _local7.addTo(this, _local7); _local8.subTo(_arg1, _local8); }; _local7.rShiftTo(1, _local7); } else { if (!_local8.isEven()){ _local8.subTo(_arg1, _local8); }; }; _local8.rShiftTo(1, _local8); }; if (_local3.compareTo(_local4) >= 0){ _local3.subTo(_local4, _local3); if (_local2){ _local5.subTo(_local7, _local5); }; _local6.subTo(_local8, _local6); } else { _local4.subTo(_local3, _local4); if (_local2){ _local7.subTo(_local5, _local7); }; _local8.subTo(_local6, _local8); }; }; if (_local4.compareTo(BigInteger.ONE) != 0){ return (BigInteger.ZERO); }; if (_local8.compareTo(_arg1) >= 0){ return (_local8.subtract(_arg1)); }; if (_local8.sigNum() < 0){ _local8.addTo(_arg1, _local8); } else { return (_local8); }; if (_local8.sigNum() < 0){ return (_local8.add(_arg1)); }; return (_local8); } bi_internal function fromArray(_arg1:ByteArray, _arg2:int):void{ var _local7:int; var _local3:int = _arg1.position; var _local4:int = (_local3 + _arg2); var _local5:int; var _local6 = 8; t = 0; s = 0; while (--_local4 >= _local3) { _local7 = ((_local4 < _arg1.length)) ? _arg1[_local4] : 0; if (_local5 == 0){ var _local8 = t++; a[_local8] = _local7; } else { if ((_local5 + _local6) > DB){ a[(t - 1)] = (a[(t - 1)] | ((_local7 & ((1 << (DB - _local5)) - 1)) << _local5)); _local8 = t++; a[_local8] = (_local7 >> (DB - _local5)); } else { a[(t - 1)] = (a[(t - 1)] | (_local7 << _local5)); }; }; _local5 = (_local5 + _local6); if (_local5 >= DB){ _local5 = (_local5 - DB); }; }; clamp(); _arg1.position = Math.min((_local3 + _arg2), _arg1.length); } bi_internal function copyTo(_arg1:BigInteger):void{ var _local2:int = (t - 1); while (_local2 >= 0) { _arg1.a[_local2] = a[_local2]; _local2--; }; _arg1.t = t; _arg1.s = s; } public function intValue():int{ if (s < 0){ if (t == 1){ return ((a[0] - DV)); }; if (t == 0){ return (-1); }; } else { if (t == 1){ return (a[0]); }; if (t == 0){ return (0); }; }; return ((((a[1] & ((1 << (32 - DB)) - 1)) << DB) | a[0])); } public function min(_arg1:BigInteger):BigInteger{ return (((compareTo(_arg1))<0) ? this : _arg1); } public function bitLength():int{ if (t <= 0){ return (0); }; return (((DB * (t - 1)) + nbits((a[(t - 1)] ^ (s & DM))))); } public function shortValue():int{ return (((t)==0) ? s : ((a[0] << 16) >> 16)); } public function and(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_and, _local2); return (_local2); } public function byteValue():int{ return (((t)==0) ? s : ((a[0] << 24) >> 24)); } public function not():BigInteger{ var _local1:BigInteger = new BigInteger(); var _local2:int; while (_local2 < t) { _local1[_local2] = (DM & ~(a[_local2])); _local2++; }; _local1.t = t; _local1.s = ~(s); return (_local1); } bi_internal function subTo(_arg1:BigInteger, _arg2:BigInteger):void{ var _local3:int; var _local4:int; var _local5:int = Math.min(_arg1.t, t); while (_local3 < _local5) { _local4 = (_local4 + (a[_local3] - _arg1.a[_local3])); var _temp1 = _local3; _local3 = (_local3 + 1); var _local6 = _temp1; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; if (_arg1.t < t){ _local4 = (_local4 - _arg1.s); while (_local3 < t) { _local4 = (_local4 + a[_local3]); var _temp2 = _local3; _local3 = (_local3 + 1); _local6 = _temp2; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 + s); } else { _local4 = (_local4 + s); while (_local3 < _arg1.t) { _local4 = (_local4 - _arg1.a[_local3]); var _temp3 = _local3; _local3 = (_local3 + 1); _local6 = _temp3; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 - _arg1.s); }; _arg2.s = ((_local4)<0) ? -1 : 0; if (_local4 < -1){ var _temp4 = _local3; _local3 = (_local3 + 1); _local6 = _temp4; _arg2.a[_local6] = (DV + _local4); } else { if (_local4 > 0){ var _temp5 = _local3; _local3 = (_local3 + 1); _local6 = _temp5; _arg2.a[_local6] = _local4; }; }; _arg2.t = _local3; _arg2.clamp(); } public function clone():BigInteger{ var _local1:BigInteger = new BigInteger(); this.copyTo(_local1); return (_local1); } public function pow(_arg1:int):BigInteger{ return (exp(_arg1, new NullReduction())); } public function flipBit(_arg1:int):BigInteger{ return (changeBit(_arg1, op_xor)); } public function xor(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_xor, _local2); return (_local2); } public function or(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_or, _local2); return (_local2); } public function max(_arg1:BigInteger):BigInteger{ return (((compareTo(_arg1))>0) ? this : _arg1); } bi_internal function fromInt(_arg1:int):void{ t = 1; s = ((_arg1)<0) ? -1 : 0; if (_arg1 > 0){ a[0] = _arg1; } else { if (_arg1 < -1){ a[0] = (_arg1 + DV); } else { t = 0; }; }; } bi_internal function isEven():Boolean{ return ((((t)>0) ? (a[0] & 1) : s == 0)); } public function toString(_arg1:Number=16):String{ var _local2:int; if (s < 0){ return (("-" + negate().toString(_arg1))); }; switch (_arg1){ case 2: _local2 = 1; break; case 4: _local2 = 2; break; case 8: _local2 = 3; break; case 16: _local2 = 4; break; case 32: _local2 = 5; break; }; var _local3:int = ((1 << _local2) - 1); var _local4:int; var _local5:Boolean; var _local6 = ""; var _local7:int = t; var _local8:int = (DB - ((_local7 * DB) % _local2)); var _temp1 = _local7; _local7 = (_local7 - 1); if (_temp1 > 0){ if ((((_local8 < DB)) && (((a[_local7] >> _local8) > 0)))){ _local5 = true; _local6 = _local4.toString(36); }; while (_local7 >= 0) { if (_local8 < _local2){ _local4 = ((a[_local7] & ((1 << _local8) - 1)) << (_local2 - _local8)); var _temp2 = _local4; _local7 = (_local7 - 1); _local8 = (_local8 + (DB - _local2)); _local4 = (_temp2 | (a[_local7] >> _local8)); } else { _local8 = (_local8 - _local2); _local4 = ((a[_local7] >> _local8) & _local3); if (_local8 <= 0){ _local8 = (_local8 + DB); _local7--; }; }; if (_local4 > 0){ _local5 = true; }; if (_local5){ _local6 = (_local6 + _local4.toString(36)); }; }; }; return ((_local5) ? _local6 : "0"); } public function setBit(_arg1:int):BigInteger{ return (changeBit(_arg1, op_or)); } public function abs():BigInteger{ return (((s)<0) ? negate() : this); } bi_internal function nbits(_arg1:int):int{ var _local3:int; var _local2 = 1; _local3 = (_arg1 >>> 16); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 16); }; _local3 = (_arg1 >> 8); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 8); }; _local3 = (_arg1 >> 4); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 4); }; _local3 = (_arg1 >> 2); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 2); }; _local3 = (_arg1 >> 1); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 1); }; return (_local2); } public function sigNum():int{ if (s < 0){ return (-1); }; if ((((t <= 0)) || ((((t == 1)) && ((a[0] <= 0)))))){ return (0); }; return (1); } public function toByteArray():ByteArray{ var _local4:int; var _local1:int = t; var _local2:ByteArray = new ByteArray(); _local2[0] = s; var _local3:int = (DB - ((_local1 * DB) % 8)); var _local5:int; var _temp1 = _local1; _local1 = (_local1 - 1); if (_temp1 > 0){ if ((((_local3 < DB)) && (!(((a[_local1] >> _local3) == ((s & DM) >> _local3)))))){ var _temp2 = _local5; _local5 = (_local5 + 1); var _local6 = _temp2; _local2[_local6] = (_local4 | (s << (DB - _local3))); }; while (_local1 >= 0) { if (_local3 < 8){ _local4 = ((a[_local1] & ((1 << _local3) - 1)) << (8 - _local3)); var _temp3 = _local4; _local1 = (_local1 - 1); _local3 = (_local3 + (DB - 8)); _local4 = (_temp3 | (a[_local1] >> _local3)); } else { _local3 = (_local3 - 8); _local4 = ((a[_local1] >> _local3) & 0xFF); if (_local3 <= 0){ _local3 = (_local3 + DB); _local1--; }; }; if ((_local4 & 128) != 0){ _local4 = (_local4 | -256); }; if ((((_local5 == 0)) && (!(((s & 128) == (_local4 & 128)))))){ _local5++; }; if ((((_local5 > 0)) || (!((_local4 == s))))){ var _temp4 = _local5; _local5 = (_local5 + 1); _local6 = _temp4; _local2[_local6] = _local4; }; }; }; return (_local2); } bi_internal function squareTo(_arg1:BigInteger):void{ var _local4:int; var _local2:BigInteger = abs(); var _local3:int = (_arg1.t = (2 * _local2.t)); while (--_local3 >= 0) { _arg1.a[_local3] = 0; }; _local3 = 0; while (_local3 < (_local2.t - 1)) { _local4 = _local2.am(_local3, _local2.a[_local3], _arg1, (2 * _local3), 0, 1); if ((_arg1.a[(_local3 + _local2.t)] = (_arg1.a[(_local3 + _local2.t)] + _local2.am((_local3 + 1), (2 * _local2.a[_local3]), _arg1, ((2 * _local3) + 1), _local4, ((_local2.t - _local3) - 1)))) >= DV){ _arg1.a[(_local3 + _local2.t)] = (_arg1.a[(_local3 + _local2.t)] - DV); _arg1.a[((_local3 + _local2.t) + 1)] = 1; }; _local3++; }; if (_arg1.t > 0){ _arg1.a[(_arg1.t - 1)] = (_arg1.a[(_arg1.t - 1)] + _local2.am(_local3, _local2.a[_local3], _arg1, (2 * _local3), 0, 1)); }; _arg1.s = 0; _arg1.clamp(); } private function op_and(_arg1:int, _arg2:int):int{ return ((_arg1 & _arg2)); } protected function fromRadix(_arg1:String, _arg2:int=10):void{ var _local9:int; fromInt(0); var _local3:int = chunkSize(_arg2); var _local4:Number = Math.pow(_arg2, _local3); var _local5:Boolean; var _local6:int; var _local7:int; var _local8:int; while (_local8 < _arg1.length) { _local9 = intAt(_arg1, _local8); if (_local9 < 0){ if ((((_arg1.charAt(_local8) == "-")) && ((sigNum() == 0)))){ _local5 = true; }; } else { _local7 = ((_arg2 * _local7) + _local9); ++_local6; if (_local6 >= _local3){ dMultiply(_local4); dAddOffset(_local7, 0); _local6 = 0; _local7 = 0; }; }; _local8++; }; if (_local6 > 0){ dMultiply(Math.pow(_arg2, _local6)); dAddOffset(_local7, 0); }; if (_local5){ BigInteger.ZERO.subTo(this, this); }; } bi_internal function dlShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local3:int; _local3 = (t - 1); while (_local3 >= 0) { _arg2.a[(_local3 + _arg1)] = a[_local3]; _local3--; }; _local3 = (_arg1 - 1); while (_local3 >= 0) { _arg2.a[_local3] = 0; _local3--; }; _arg2.t = (t + _arg1); _arg2.s = s; } private function op_xor(_arg1:int, _arg2:int):int{ return ((_arg1 ^ _arg2)); } public static function nbv(_arg1:int):BigInteger{ var _local2:BigInteger = new (BigInteger); _local2.fromInt(_arg1); return (_local2); } } }//package com.hurlant.math
Section 37
//ClassicReduction (com.hurlant.math.ClassicReduction) package com.hurlant.math { import com.hurlant.math.*; class ClassicReduction implements IReduction { private var m:BigInteger; function ClassicReduction(_arg1:BigInteger){ this.m = _arg1; } public function revert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function reduce(_arg1:BigInteger):void{ _arg1.divRemTo(m, null, _arg1); } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); reduce(_arg3); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); reduce(_arg2); } public function convert(_arg1:BigInteger):BigInteger{ if ((((_arg1.s < 0)) || ((_arg1.compareTo(m) >= 0)))){ return (_arg1.mod(m)); }; return (_arg1); } } }//package com.hurlant.math
Section 38
//IReduction (com.hurlant.math.IReduction) package com.hurlant.math { import com.hurlant.math.*; interface IReduction { function revert(_arg1:BigInteger):BigInteger; function reduce(_arg1:BigInteger):void; function convert(_arg1:BigInteger):BigInteger; function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void; function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void; } }//package com.hurlant.math
Section 39
//MontgomeryReduction (com.hurlant.math.MontgomeryReduction) package com.hurlant.math { import com.hurlant.math.*; class MontgomeryReduction implements IReduction { private var mp:int; private var mph:int; private var mpl:int; private var mt2:int; private var m:BigInteger; private var um:int; function MontgomeryReduction(_arg1:BigInteger){ this.m = _arg1; mp = _arg1.invDigit(); mpl = (mp & 32767); mph = (mp >> 15); um = ((1 << (BigInteger.DB - 15)) - 1); mt2 = (2 * _arg1.t); } public function convert(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); _arg1.abs().dlShiftTo(m.t, _local2); _local2.divRemTo(m, null, _local2); if ((((_arg1.s < 0)) && ((_local2.compareTo(BigInteger.ZERO) > 0)))){ m.subTo(_local2, _local2); }; return (_local2); } public function revert(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); _arg1.copyTo(_local2); reduce(_local2); return (_local2); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); reduce(_arg2); } public function reduce(_arg1:BigInteger):void{ var _local3:int; var _local4:int; while (_arg1.t <= mt2) { var _local5 = _arg1.t++; _arg1.a[_local5] = 0; }; var _local2:int; while (_local2 < m.t) { _local3 = (_arg1.a[_local2] & 32767); _local4 = (((_local3 * mpl) + ((((_local3 * mph) + ((_arg1.a[_local2] >> 15) * mpl)) & um) << 15)) & BigInteger.DM); _local3 = (_local2 + m.t); _arg1.a[_local3] = (_arg1.a[_local3] + m.am(0, _local4, _arg1, _local2, 0, m.t)); while (_arg1.a[_local3] >= BigInteger.DV) { _arg1.a[_local3] = (_arg1.a[_local3] - BigInteger.DV); _local5 = _arg1.a; ++_local3; var _local6 = _local3; var _local7 = (_local5[_local6] + 1); _local5[_local6] = _local7; }; _local2++; }; _arg1.clamp(); _arg1.drShiftTo(m.t, _arg1); if (_arg1.compareTo(m) >= 0){ _arg1.subTo(m, _arg1); }; } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); reduce(_arg3); } } }//package com.hurlant.math
Section 40
//NullReduction (com.hurlant.math.NullReduction) package com.hurlant.math { public class NullReduction implements IReduction { public function convert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); } public function revert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function reduce(_arg1:BigInteger):void{ } } }//package com.hurlant.math
Section 41
//Base64 (com.hurlant.util.Base64) package com.hurlant.util { import flash.utils.*; public class Base64 { public static const version:String = "1.0.0"; private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; public function Base64(){ throw (new Error("Base64 class is static container only")); } public static function encode(_arg1:String):String{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); return (encodeByteArray(_local2)); } public static function encodeByteArray(_arg1:ByteArray):String{ var _local3:Array; var _local5:uint; var _local6:uint; var _local7:uint; var _local2 = ""; var _local4:Array = new Array(4); _arg1.position = 0; while (_arg1.bytesAvailable > 0) { _local3 = new Array(); _local5 = 0; while ((((_local5 < 3)) && ((_arg1.bytesAvailable > 0)))) { _local3[_local5] = _arg1.readUnsignedByte(); _local5++; }; _local4[0] = ((_local3[0] & 252) >> 2); _local4[1] = (((_local3[0] & 3) << 4) | (_local3[1] >> 4)); _local4[2] = (((_local3[1] & 15) << 2) | (_local3[2] >> 6)); _local4[3] = (_local3[2] & 63); _local6 = _local3.length; while (_local6 < 3) { _local4[(_local6 + 1)] = 64; _local6++; }; _local7 = 0; while (_local7 < _local4.length) { _local2 = (_local2 + BASE64_CHARS.charAt(_local4[_local7])); _local7++; }; }; return (_local2); } public static function decode(_arg1:String):String{ var _local2:ByteArray = decodeToByteArray(_arg1); return (_local2.readUTFBytes(_local2.length)); } public static function decodeToByteArray(_arg1:String):ByteArray{ var _local6:uint; var _local7:uint; var _local2:ByteArray = new ByteArray(); var _local3:Array = new Array(4); var _local4:Array = new Array(3); var _local5:uint; while (_local5 < _arg1.length) { _local6 = 0; while ((((_local6 < 4)) && (((_local5 + _local6) < _arg1.length)))) { _local3[_local6] = BASE64_CHARS.indexOf(_arg1.charAt((_local5 + _local6))); _local6++; }; _local4[0] = ((_local3[0] << 2) + ((_local3[1] & 48) >> 4)); _local4[1] = (((_local3[1] & 15) << 4) + ((_local3[2] & 60) >> 2)); _local4[2] = (((_local3[2] & 3) << 6) + _local3[3]); _local7 = 0; while (_local7 < _local4.length) { if (_local3[(_local7 + 1)] == 64){ break; }; _local2.writeByte(_local4[_local7]); _local7++; }; _local5 = (_local5 + 4); }; _local2.position = 0; return (_local2); } } }//package com.hurlant.util
Section 42
//Hex (com.hurlant.util.Hex) package com.hurlant.util { import flash.utils.*; public class Hex { public static function fromString(_arg1:String, _arg2:Boolean=false):String{ var _local3:ByteArray = new ByteArray(); _local3.writeUTFBytes(_arg1); return (fromArray(_local3, _arg2)); } public static function toString(_arg1:String):String{ var _local2:ByteArray = toArray(_arg1); return (_local2.readUTFBytes(_local2.length)); } public static function toArray(_arg1:String):ByteArray{ _arg1 = _arg1.replace(/\s|:/gm, ""); var _local2:ByteArray = new ByteArray(); if ((_arg1.length & (1 == 1))){ _arg1 = ("0" + _arg1); }; var _local3:uint; while (_local3 < _arg1.length) { _local2[(_local3 / 2)] = parseInt(_arg1.substr(_local3, 2), 16); _local3 = (_local3 + 2); }; return (_local2); } public static function fromArray(_arg1:ByteArray, _arg2:Boolean=false):String{ var _local3 = ""; var _local4:uint; while (_local4 < _arg1.length) { _local3 = (_local3 + ("0" + _arg1[_local4].toString(16)).substr(-2, 2)); if (_arg2){ if (_local4 < (_arg1.length - 1)){ _local3 = (_local3 + ":"); }; }; _local4++; }; return (_local3); } } }//package com.hurlant.util
Section 43
//Memory (com.hurlant.util.Memory) package com.hurlant.util { import flash.net.*; import flash.system.*; public class Memory { public static function gc():void{ try { new LocalConnection().connect("foo"); new LocalConnection().connect("foo"); } catch(e) { }; } public static function get used():uint{ return (System.totalMemory); } } }//package com.hurlant.util
Section 44
//con_mcGamesClub2as2_9 (PrisonguardReady_fla.con_mcGamesClub2as2_9) package PrisonguardReady_fla { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class con_mcGamesClub2as2_9 extends MovieClip { public var a:SimpleButton; public function con_mcGamesClub2as2_9(){ addFrameScript(0, frame1, 13, frame14, 21, frame22, 29, frame30, 35, frame36, 42, frame43, 52, frame53, 59, frame60, 66, frame67, 72, frame73, 79, frame80); } function frame1(){ stop(); addEventListener(Event.ENTER_FRAME, Change); a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame80(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } public function GotoOK(_arg1){ MovieClip(parent).gotoAndPlay("ReadyPlay"); } function frame60(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame73(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame30(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame53(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame43(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame22(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame67(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } public function Change(_arg1){ var _local2:* = root; gotoAndStop(_local2.Goto); removeEventListener(Event.ENTER_FRAME, Change); } function frame14(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } function frame36(){ a.addEventListener(MouseEvent.CLICK, GotoOK); } } }//package PrisonguardReady_fla
Section 45
//Gamesbookas2_39 (PrisonguardReady_fla.Gamesbookas2_39) package PrisonguardReady_fla { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class Gamesbookas2_39 extends MovieClip { public var Type:String; public var Logo:MovieClip; public function Gamesbookas2_39(){ addFrameScript(0, frame1); } public function NewLogo(_arg1){ trace(Type); gotoAndStop(1); if ((MovieClip(root).LogoMoreGame as Function)){ MovieClip(root).LogoMoreGame(Type); } else { trace("loading...Error!"); }; } public function Over(_arg1){ Logo.gotoAndStop(2); } function frame1(){ stop(); Logo.buttonMode = true; Logo.mouseChildren = false; Logo.addEventListener(MouseEvent.CLICK, NewLogo); Logo.addEventListener(MouseEvent.MOUSE_OVER, Over); Logo.addEventListener(MouseEvent.MOUSE_OUT, Out); } public function Out(_arg1){ Logo.gotoAndStop(1); } } }//package PrisonguardReady_fla
Section 46
//Gamesbookas22_40 (PrisonguardReady_fla.Gamesbookas22_40) package PrisonguardReady_fla { import flash.display.*; public dynamic class Gamesbookas22_40 extends MovieClip { public function Gamesbookas22_40(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 47
//GamesBookLoader_1 (PrisonguardReady_fla.GamesBookLoader_1) package PrisonguardReady_fla { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class GamesBookLoader_1 extends MovieClip { public var con:MovieClip; public var LoadPic:MovieClip; public var Pic:MovieClip; public var U:SimpleButton; public var Role:SimpleButton; public var IntroLogo:MovieClip; public var T; public function GamesBookLoader_1(){ addFrameScript(0, frame1, 18, frame19, 19, frame20, 33, frame34, 47, frame48); } public function RoleOK2(_arg1){ MovieClip(root).LogoMoreGame("intro"); } public function RoleOK(_arg1){ MovieClip(root).LogoMoreGame("preloader actor"); } function frame1(){ stop(); U.addEventListener(MouseEvent.CLICK, GotoOK); } function frame48(){ MovieClip(root).LoadGamePlay(); stop(); Pic.stop(); } public function Star(){ play(); } function frame20(){ U.addEventListener(MouseEvent.CLICK, RoleOK2); } function frame19(){ stop(); Role.addEventListener(MouseEvent.CLICK, RoleOK); } function frame34(){ stop(); T = setTimeout(Star, (MovieClip(root).TimeNum * 1000)); } public function GotoOK(_arg1){ MovieClip(root).LogoMoreGame("preloader"); } } }//package PrisonguardReady_fla
Section 48
//loadingGamesClub2as2_4 (PrisonguardReady_fla.loadingGamesClub2as2_4) package PrisonguardReady_fla { import flash.display.*; public dynamic class loadingGamesClub2as2_4 extends MovieClip { public function loadingGamesClub2as2_4(){ addFrameScript(23, frame24); } function frame24(){ gotoAndPlay(1); } } }//package PrisonguardReady_fla
Section 49
//MainTimeline (PrisonguardReady_fla.MainTimeline) package PrisonguardReady_fla { import flash.utils.*; import com.hurlant.crypto.symmetric.*; import flash.display.*; import flash.events.*; import com.hurlant.util.*; import com.hurlant.crypto.*; import YDKClass.*; import flash.media.*; import YDKGame.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var Goto:String; public var ServerFps; public var loader:URLLoader; public var scf:SoundTransform; public var IntroPic:MovieClip; public var sender:LocalConnection; public var continueButton:Number; public var GameName:String; public var HighscoreUrl:String; public var TypeS; public var Volume:Number; public var domain:String; public var Url:String; public var TimeNum:Number; public var MochiBotKey:String; public var TimePic:MovieClip; public var a:MovieClip; public var wouter:String; public var portal:String; public var url:String; public var utm_content:String; public var branding:String; public function MainTimeline(){ addFrameScript(0, frame1, 4, frame5); } function frame5(){ GameInitReady(); } public function com(_arg1){ var _local2:String; _local2 = _arg1.target.data.toLowerCase(); if (_local2 == "funnygames.co.uk"){ Url = "http://www.funnygames.co.uk/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "funnygames"; } else { if (_local2 == "giocare.it"){ Url = "http://www.giocare.it/"; HighscoreUrl = ((Url + "punteggi-piu-alti/") + clean_game_name(GameName)); Goto = "giocare"; } else { if (_local2 == "hry.net"){ Url = "http://www.hry.net/"; HighscoreUrl = ((Url + "nejvyssi-skore/") + clean_game_name(GameName)); Goto = "hry"; } else { if (_local2 == "sk.hry.net"){ Url = "http://sk.hry.net/"; HighscoreUrl = ((Url + "najvyssie-skore/") + clean_game_name(GameName)); Goto = "hry"; } else { if (_local2 == "jatekok.net"){ Url = "http://www.jatekok.net/"; HighscoreUrl = ((Url + "legmagasabb-pontszam/") + clean_game_name(GameName)); Goto = "jatekok"; } else { if (_local2 == "jeuxgratuits.fr"){ Url = "http://www.jeuxgratuits.fr/"; HighscoreUrl = ((Url + "meilleurs-scores/") + clean_game_name(GameName)); Goto = "jeuxgratuits"; } else { if (_local2 == "jocuri.net"){ Url = "http://www.jocuri.net/"; HighscoreUrl = ((Url + "cele-mai-mari-scoruri/") + clean_game_name(GameName)); Goto = "jocuri"; } else { if (_local2 == "lege.dk"){ Url = "http://www.lege.dk/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "lege"; } else { if (_local2 == "spelletje.nl"){ Url = "http://www.spelletje.nl/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "spelletje"; } else { if (_local2 == "spiel.de"){ Url = "http://www.spiel.de/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "spiel"; } else { if (_local2 == "igriigri.ru"){ Url = "http://www.igriigri.ru/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "igriigri"; } else { if (_local2 == "spille.no"){ Url = "http://www.spille.no/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "spille"; } else { if (_local2 == "flashgierki.pl"){ Url = "http://www.flashgierki.pl/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "flashgierki"; } else { Url = "http://www.gamesclub.com/"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); Goto = "gamesclub"; }; }; }; }; }; }; }; }; }; }; }; }; }; IntroPic.IntroLogo.gotoAndStop(Goto); } public function GameInitReady(){ var _local1:MovieClip = new MovieClip(); addChild(_local1); GameData.GamePic = _local1; Home.HomeReady(); GameMask.GameMaskReady(700, 500, MovieClip(root)); gotoAndStop("GameFrame"); } public function NewLoading(){ stage.addEventListener(Event.ENTER_FRAME, onEnterFramee); } public function onEnterFramee(_arg1:Event){ var _local2:Number; var _local3:Number; if (framesLoaded == totalFrames){ stage.removeEventListener(Event.ENTER_FRAME, onEnterFramee); IntroPic.play(); } else { _local2 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal); _local3 = Math.round((_local2 * 100)); IntroPic.LoadPic.gotoAndStop((int((_local3 / 10)) + 1)); }; } public function GameEndUrl(){ var _local1:String = ((((((("/?utm_campaign=" + escape(GameName)) + "&utm_content=") + escape(utm_content)) + "&utm_medium=") + escape(branding)) + "&utm_source=") + escape(url)); var _local2:String = (Url + _local1); var _local3:URLRequest = new URLRequest(_local2); navigateToURL(_local3); } public function clean_game_name(_arg1){ _arg1 = _arg1.toLowerCase(); _arg1 = _arg1.split(" ").join("-"); return (_arg1); } public function send_highscore(_arg1:String){ var _local2:URLRequest; _local2 = new URLRequest(HighscoreUrl); _local2.contentType = "application/octet-stream"; var _local3:* = encrypt(_arg1); _local2.method = URLRequestMethod.POST; _local2.data = _local3; navigateToURL(_local2); } public function LogoMoreGame(_arg1:String){ utm_content = _arg1; MoreGameURL(true); } public function encrypt(_arg1:String=""):String{ var _local2:ByteArray = Hex.toArray(Hex.fromString(_arg1)); var _local3 = "simple-des-ecb"; var _local4:IPad = new PKCS5(); var _local5:ICipher = Crypto.getCipher(_local3, Hex.toArray(Hex.fromString(wouter)), _local4); _local4.setBlockSize(_local5.getBlockSize()); _local5.encrypt(_local2); return (Base64.encodeByteArray(_local2)); } public function MoreGameURL(_arg1){ var _local2:String = ((((((("?utm_campaign=" + escape(GameName)) + "&utm_content=") + escape(utm_content)) + "&utm_medium=") + escape(branding)) + "&utm_source=") + escape(url)); var _local3:String = (Url + _local2); var _local4:URLRequest = new URLRequest(_local3); navigateToURL(_local4); } function frame1(){ GameName = "Prison Guard"; MochiBotKey = "fafc587b"; branding = "original"; continueButton = 1; TimeNum = 3; wouter = "2b9tf5tw"; Volume = 1; scf = new SoundTransform(); ServerFps = stage.frameRate; stage.frameRate = 30; MochiBot.track(this, MochiBotKey); sender = new LocalConnection(); url = root.loaderInfo.url; domain = sender.domain; utm_content = "intro"; if (domain != "localhost"){ loader = new URLLoader(new URLRequest("http://api.jaludo.com/geoip/index.php?return=domain&type=gameshell&portal=gamesclub")); loader.addEventListener(Event.COMPLETE, com); NewLoading(); } else { NewLoading(); }; Url = "http://www.gamesclub.com/"; TypeS = 1; Goto = "gamesclub"; HighscoreUrl = ((Url + "highscores/") + clean_game_name(GameName)); stop(); stop(); } public function LoadGamePlay(){ stage.frameRate = ServerFps; SoundMixer.stopAll(); MovieClip(root).gotoAndStop(5); } public function JSod(){ stage.addEventListener(Event.ENTER_FRAME, NewSod); } public function NewSod(_arg1){ Volume = (Volume - 0.02); scf.volume = Volume; soundTransform = scf; if (Volume < 0){ stage.removeEventListener(Event.ENTER_FRAME, NewSod); }; } } }//package PrisonguardReady_fla
Section 50
//playfreeonlinegames_24 (PrisonguardReady_fla.playfreeonlinegames_24) package PrisonguardReady_fla { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class playfreeonlinegames_24 extends MovieClip { public function playfreeonlinegames_24(){ addFrameScript(0, frame1); } public function Change(_arg1){ var _local2:* = root; gotoAndStop(_local2.Goto); removeEventListener(Event.ENTER_FRAME, Change); } function frame1(){ stop(); addEventListener(Event.ENTER_FRAME, Change); } } }//package PrisonguardReady_fla
Section 51
//Timeline_100 (PrisonguardReady_fla.Timeline_100) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_100 extends MovieClip { public function Timeline_100(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 52
//Timeline_102 (PrisonguardReady_fla.Timeline_102) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_102 extends MovieClip { public function Timeline_102(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 53
//Timeline_25 (PrisonguardReady_fla.Timeline_25) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_25 extends MovieClip { public function Timeline_25(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 54
//Timeline_27 (PrisonguardReady_fla.Timeline_27) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_27 extends MovieClip { public function Timeline_27(){ addFrameScript(402, frame403); } function frame403(){ stop(); } } }//package PrisonguardReady_fla
Section 55
//Timeline_35 (PrisonguardReady_fla.Timeline_35) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_35 extends MovieClip { public function Timeline_35(){ addFrameScript(94, frame95); } function frame95(){ stop(); } } }//package PrisonguardReady_fla
Section 56
//Timeline_37 (PrisonguardReady_fla.Timeline_37) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_37 extends MovieClip { public function Timeline_37(){ addFrameScript(178, frame179); } function frame179(){ stop(); } } }//package PrisonguardReady_fla
Section 57
//Timeline_61 (PrisonguardReady_fla.Timeline_61) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_61 extends MovieClip { public function Timeline_61(){ addFrameScript(65, frame66, 83, frame84, 92, frame93, 107, frame108, 166, frame167); } function frame167(){ gotoAndStop(1); } function frame93(){ gotoAndStop(1); } function frame84(){ gotoAndStop(1); } function frame108(){ gotoAndStop(1); } function frame66(){ gotoAndStop(1); } } }//package PrisonguardReady_fla
Section 58
//Timeline_65 (PrisonguardReady_fla.Timeline_65) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_65 extends MovieClip { public function Timeline_65(){ addFrameScript(26, frame27); } function frame27(){ MovieClip(parent).gotoAndStop(1); } } }//package PrisonguardReady_fla
Section 59
//Timeline_67 (PrisonguardReady_fla.Timeline_67) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_67 extends MovieClip { public function Timeline_67(){ addFrameScript(25, frame26); } function frame26(){ MovieClip(parent).gotoAndStop(1); } } }//package PrisonguardReady_fla
Section 60
//Timeline_84 (PrisonguardReady_fla.Timeline_84) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_84 extends MovieClip { public function Timeline_84(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 61
//Timeline_86 (PrisonguardReady_fla.Timeline_86) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_86 extends MovieClip { public function Timeline_86(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 62
//Timeline_88 (PrisonguardReady_fla.Timeline_88) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_88 extends MovieClip { public function Timeline_88(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 63
//Timeline_90 (PrisonguardReady_fla.Timeline_90) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_90 extends MovieClip { public function Timeline_90(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 64
//Timeline_92 (PrisonguardReady_fla.Timeline_92) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_92 extends MovieClip { public function Timeline_92(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 65
//Timeline_94 (PrisonguardReady_fla.Timeline_94) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_94 extends MovieClip { public function Timeline_94(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 66
//Timeline_96 (PrisonguardReady_fla.Timeline_96) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_96 extends MovieClip { public function Timeline_96(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 67
//Timeline_98 (PrisonguardReady_fla.Timeline_98) package PrisonguardReady_fla { import flash.display.*; public dynamic class Timeline_98 extends MovieClip { public function Timeline_98(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PrisonguardReady_fla
Section 68
//webSite_41 (PrisonguardReady_fla.webSite_41) package PrisonguardReady_fla { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class webSite_41 extends MovieClip { public function webSite_41(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); if ((MovieClip(root).Goto as String)){ gotoAndStop(MovieClip(root).Goto); }; } function frame2(){ if ((MovieClip(root).Goto as String)){ gotoAndStop(MovieClip(root).Goto); }; } } }//package PrisonguardReady_fla
Section 69
//webSiteGamesClub2as2_2 (PrisonguardReady_fla.webSiteGamesClub2as2_2) package PrisonguardReady_fla { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class webSiteGamesClub2as2_2 extends MovieClip { public function webSiteGamesClub2as2_2(){ addFrameScript(0, frame1); } public function Change(_arg1){ var _local2:* = root; gotoAndStop(_local2.Goto); removeEventListener(Event.ENTER_FRAME, Change); } function frame1(){ stop(); addEventListener(Event.ENTER_FRAME, Change); } } }//package PrisonguardReady_fla
Section 70
//GameMask (YDKClass.GameMask) package YDKClass { import flash.display.*; public class GameMask extends MovieClip { public static function GameMaskReady(_arg1:Number, _arg2:Number, _arg3:MovieClip){ var _local4:Sprite = new Sprite(); _local4.graphics.beginFill(0); _local4.graphics.drawRect(0, 0, _arg1, _arg2); _local4.graphics.endFill(); _arg3.addChild(_local4); _arg3.mask = _local4; } } }//package YDKClass
Section 71
//MusicMenu (YDKClass.MusicMenu) package YDKClass { import flash.events.*; import flash.media.*; public class MusicMenu extends MusicPlay { public static var Music:SoundTransform = new SoundTransform(); public static var S:Number = 1; public static function ChangeVolume(){ if (Channel){ Music = Channel.soundTransform; Music.volume = S; Channel.soundTransform = Music; }; if (OneSound){ OneSound.soundTransform = Music; }; } public static function Ready(_arg1){ var NewMusic:Function; var Obj = _arg1; NewMusic = function (_arg1){ MusicButtonVisible(_arg1.target.name); }; var MusicButtonVisible:Function = function (_arg1:String){ if (_arg1 == "MusicOK"){ Obj.MusicOK.visible = false; Obj.MusicNO.visible = true; BackGroundMusic = false; S = 0; } else { S = 1; BackGroundMusic = true; Obj.MusicOK.visible = true; Obj.MusicNO.visible = false; }; ChangeVolume(); }; Obj.MusicOK.addEventListener(MouseEvent.CLICK, NewMusic); Obj.MusicNO.addEventListener(MouseEvent.CLICK, NewMusic); if (S == 1){ MusicButtonVisible("MusicNO"); } else { MusicButtonVisible("MusicOK"); }; } } }//package YDKClass
Section 72
//MusicPlay (YDKClass.MusicPlay) package YDKClass { import flash.media.*; public class MusicPlay { public static var Channel:SoundChannel; public static var OneSound:SoundChannel; public static var MusicEffect:Boolean; public static var BackGroundMusic:Boolean; public static function Add(_arg1){ var _local2:Sound = new (_arg1); OneSound = _local2.play(0, 10000); MusicMenu.ChangeVolume(); } public static function AddOne(_arg1){ var _local2:Sound = new (_arg1); OneSound = _local2.play(0, 1); MusicMenu.ChangeVolume(); } public static function AllStop(){ SoundMixer.stopAll(); } public static function ChangeReady(_arg1){ SoundMixer.stopAll(); var _local2:Sound = new (_arg1); Channel = _local2.play(0, 10000); MusicMenu.ChangeVolume(); } public static function ChangeReadyOne(_arg1){ SoundMixer.stopAll(); var _local2:Sound = new (_arg1); Channel = _local2.play(0, 1); MusicMenu.ChangeVolume(); } } }//package YDKClass
Section 73
//NumPic (YDKClass.NumPic) package YDKClass { public class NumPic { public static function Ready(_arg1, _arg2, _arg3){ var L:Number; var Mc:*; var Length = _arg1; var Obj = _arg2; var Num = _arg3; var NewLength:Function = function (_arg1:String){ var _local2 = ""; var _local3:* = 0; while (_local3 < L) { if ((_arg1.length + _local2.length) < L){ _local2 = (_local2 + "0"); }; _local3++; }; return ((_local2 + _arg1)); }; L = Length; var Score:String = String(Num); Score = NewLength(Score); var i:* = 0; while (i < L) { Mc = Obj.getChildByName(("a" + i)); Mc.gotoAndStop((Number(Score.charAt(i)) + 1)); i = (i + 1); }; } } }//package YDKClass
Section 74
//SendURL (YDKClass.SendURL) package YDKClass { import flash.display.*; import flash.net.*; public class SendURL extends Sprite { public static function Ready(_arg1:Object){ var Data = _arg1; var url = "http://www.yourDomain.com/application.jsp"; var variables:URLVariables = new URLVariables(); variables.sessionId = new Date().getTime(); variables.Name = Data.Name; variables.Score = Data.Score; var request:URLRequest = new URLRequest(url); request.data = variables; trace(((("sendToURL: " + request.url) + "?") + request.data)); try { sendToURL(request); } catch(e:Error) { }; } public static function OpenURL(_arg1:String, _arg2:String="_blank"){ var _local3:URLRequest = new URLRequest(_arg1); navigateToURL(_local3, _arg2); } } }//package YDKClass
Section 75
//Bug (YDKGame.Bug) package YDKGame { import flash.display.*; import flash.events.*; public class Bug extends GameRoom { public static function Ready(){ var MouseClickOK:Boolean; var MouseOver:Function; var AI:Function; var DelBug:Function = function (_arg1){ _arg1.removeEventListener(Event.ENTER_FRAME, AI); GameMap.removeChild(_arg1); }; MouseOver = function (_arg1){ var _local2:* = _arg1.target; if (GamePause){ GamePic.stage.tabChildren = false; if (((_local2.hitTestObject(RolePic)) && ((RolePic.MouseClick == 0)))){ RolePic.Action = "BUG"; RolePic.Role.gotoAndStop(("Bug" + _local2.Type)); Score = (Score + 50); NewScore(); NewScoreGif(_local2, 50); DelBug(_local2); if (_local2.Type == 1){ MusicMian.AddOne(老鼠); } else { if (_local2.Type == 2){ MusicMian.AddOne(老鼠); }; }; }; }; }; AI = function (_arg1){ var _local2:* = _arg1.target; if (GamePause){ if (((((_local2.hitTestObject(RolePic)) && ((RolePic.MouseClick == 0)))) && (MouseClickOK))){ RolePic.Action = "BUG"; RolePic.Role.gotoAndStop(("Bug" + _local2.Type)); Score = (Score + 50); NewScore(); DelBug(_local2); if (_local2.Type == 1){ MusicMian.AddOne(老鼠); } else { if (_local2.Type == 2){ MusicMian.AddOne(老鼠); }; }; }; if (_local2.scaleX == 1){ if (_local2.x < 4000){ _local2.x = (_local2.x + _local2.Speed); } else { DelBug(_local2); }; } else { if (_local2.scaleX == -1){ if (_local2.x > 0){ _local2.x = (_local2.x - _local2.Speed); } else { DelBug(_local2); }; }; }; }; }; var Mc:MovieClip = new BugID(); GameMap.addChild(Mc); Mc.addEventListener(Event.ENTER_FRAME, AI); Mc.addEventListener(MouseEvent.MOUSE_DOWN, MouseOver); Mc.buttonMode = true; Mc.mouseChildren = false; Mc.Speed = 3; var Y:int = (Math.random() * 3); var X:int = (Math.random() * 2000); if (Y == 0){ Mc.x = X; Mc.y = MapPic.Y3.y; } else { if (Y == 1){ Mc.x = X; Mc.y = MapPic.Y2.y; } else { Mc.x = X; Mc.y = MapPic.Y1.y; }; }; var Type:int = int(((Math.random() * 2) + 1)); Mc.a.gotoAndStop(Type); Mc.Type = Type; var Scale:int = (Math.random() * 2); if (Scale == 0){ Mc.scaleX = 1; } else { Mc.scaleX = -1; }; } } }//package YDKGame
Section 76
//Door (YDKGame.Door) package YDKGame { import flash.display.*; import flash.events.*; import gs.*; import gs.easing.*; public class Door extends GameRoom { public static function DoorStop(){ var _local2:*; var _local3:*; var _local1:* = 0; while (_local1 < 50) { _local2 = MapPic.getChildByName(("a" + _local1)); if (_local2){ _local3 = _local2.a.Url.a; if (GamePause){ if (_local2.Action == "Attack"){ _local3.play(); }; } else { if (_local2.Action == "Attack"){ _local3.stop(); }; }; }; _local1++; }; } public static function Ready(){ var Enemy:Function; var EnemyEnterFrame:Function; var Mc:*; Enemy = function (_arg1){ var _local2:* = _arg1.target; if (RolePic.hitTestObject(_local2)){ if (((!(RolePic.Action)) || ((RolePic.Action == "PK")))){ RolePic.MouseClick++; RolePic.Time = 0; RolePic.Action = "PK"; if ((((RolePic.MouseClick >= 13)) && ((RolePic.AttackLevel == 4)))){ RolePic.AttackLevel = 5; RolePic.Role.gotoAndPlay("G5"); MusicMian.AddOne(生气); } else { if ((((RolePic.MouseClick > 8)) && ((RolePic.AttackLevel == 3)))){ RolePic.AttackLevel = 4; RolePic.Role.gotoAndPlay("G4"); } else { if ((((RolePic.MouseClick > 5)) && ((RolePic.AttackLevel == 2)))){ RolePic.AttackLevel = 3; RolePic.Role.gotoAndPlay("G3"); MusicMian.AddOne(踢门声2); } else { if ((((RolePic.MouseClick > 3)) && ((RolePic.AttackLevel == 1)))){ RolePic.AttackLevel = 2; RolePic.Role.gotoAndPlay("G2"); MusicMian.AddOne(踢门声); } else { if (RolePic.MouseClick < 3){ RolePic.AttackLevel = 1; MusicMian.AddOne(敲门声); RolePic.Role.gotoAndPlay("G1"); }; }; }; }; }; }; _local2.a.Url.a.gotoAndPlay("Fear"); if (_local2.HP < _local2.HPMax){ _local2.HP = (_local2.HP + (RolePic.Power + (RolePic.AttackLevel / 2))); Score = (Score + 10); NewScore(); }; }; }; EnemyEnterFrame = function (_arg1){ var _local5:int; var _local2:* = _arg1.target; if (_local2.HPPic.currentFrame != int(_local2.HP)){ _local2.HPPic.gotoAndStop(int(_local2.HP)); }; var _local3:* = _local2.a.Url.a; var _local4:* = RadarPic.getChildByName(_local2.name); if (_local4){ if (_local4.currentFrame != int(_local2.HP)){ _local4.gotoAndStop(int(_local2.HP)); }; }; if ((((GameModel == "GameOver")) || ((GameModel == "NextLevel")))){ _local2.removeEventListener(Event.ENTER_FRAME, EnemyEnterFrame); }; if (GamePause){ if (_local3){ if (_local3.currentLabel == "Back"){ _local3.gotoAndStop(1); _local2.Action = null; }; }; if (_local2.Time < _local2.TimeMax){ _local2.Time++; } else { _local2.Time = 0; _local5 = (Math.random() * 100); if (_local5 < 10){ _local2.HP = (_local2.HP - _local2.Power); if (_local3.currentFrame == 1){ _local3.gotoAndPlay(2); _local2.Action = "Attack"; }; if (_local2.HP <= 0){ GameOver(); }; }; }; }; }; var EnemyReady:Function = function (_arg1:MovieClip){ var _local2:* = new EnemyID1(); _arg1.Url = _local2; var _local3:int = ((Math.random() * 9) + 1); _local2.gotoAndStop(_local3); _arg1.addChild(_local2); }; var i:* = 0; while (i < 50) { Mc = MapPic.getChildByName(("a" + i)); if (Mc){ Mc.buttonMode = true; Mc.mouseChildren = false; Mc.HP = 100; Mc.HPMax = 100; if (Level <= 3){ Mc.Power = 6; } else { if (Level == 4){ Mc.Power = 5; } else { Mc.Power = (6 + (Level / 4)); }; }; if (Mc.Power > 10){ Mc.Power = 10; }; Mc.Time = 0; Mc.TimeMax = 20; Mc.Action = null; EnemyReady(Mc.a); Mc.addEventListener(MouseEvent.CLICK, Enemy); Mc.addEventListener(Event.ENTER_FRAME, EnemyEnterFrame); }; i = (i + 1); }; } } }//package YDKGame
Section 77
//GameData (YDKGame.GameData) package YDKGame { import flash.utils.*; import flash.display.*; import YDKClass.*; public class GameData extends MovieClip { public static var GamePause:Boolean = true; public static var MenuPic:MovieClip; public static var MapClub:Array = [Level1ID, Level2ID, Level3ID, Level4ID, Level5ID]; public static var RolePic:MovieClip; public static var SneakPeekNum:Number = 3; public static var GamePic:MovieClip; public static var MakeupPic:MovieClip; public static var Speed:Number = 10; public static var MouseIocPic:MovieClip; public static var MapPic:MovieClip; public static var GameModel:String = "Ready"; public static var BackGroundNum:Number = 1; public static var BackGroundPic:MovieClip; public static var RadarPic:MovieClip; public static var MouseDown:Boolean; public static var SneakPeekNumMax:Number = 3; public static var MusicLevelClub:Array = [所有背景音效, 所有背景音效, 所有背景音效, 所有背景音效, 所有背景音效]; public static var OneGame:Boolean; public static var LevelMax:Number = 3; public static var LevelIng:Number = 0; public static var HelpPic:MovieClip; public static var GameMap:MovieClip = new MovieClip(); public static var RoleIng:MovieClip; public static var Time:Number = 3; public static var GameJpg:MovieClip = new MovieClip(); public static var Score:Number = 0; public static var Level:Number = 1; public static var MusicMian = MusicPlay; public static var myTimer:Timer; public static var TextPic:MovieClip; public static var IDArray:Array = new Array(); public static function InitData(){ Time = 100; GamePause = true; } public static function MusicButton(_arg1){ MusicMian.AddOne(按钮2); } public static function SubmitHighscoreOK(){ var _local1:Object = new Object(); _local1.Name = "Hello"; _local1.Score = Score; MovieClip(GamePic.root).send_highscore(String(Score)); trace(("Score:" + Score)); } public static function PlayAgianData(){ Level = 1; Time = 100; Score = 0; GamePause = true; } public static function AllInitData(){ } } }//package YDKGame
Section 78
//GameRoom (YDKGame.GameRoom) package YDKGame { import flash.display.*; import flash.events.*; import YDKClass.*; import flash.ui.*; import gs.*; import gs.easing.*; public class GameRoom extends GameData { public static function NextLevel(){ var Mc:MovieClip; var NextLevelOK:Function; NextLevelOK = function (_arg1){ GamePic.removeChild(Mc); Level++; Ready(); }; GamePause = false; MusicMian.AllStop(); MusicMian.AddOne(过关了); DelRoom(); GameModel = "NextLevel"; Mc = new NextLevelID(); GamePic.addChild(Mc); Mc.NextLevel.addEventListener(MouseEvent.CLICK, NextLevelOK); Mc.NextLevel.addEventListener(MouseEvent.ROLL_OVER, MusicButton); Mouse.show(); } public static function Ready(){ InitLevel(); InitData(); } public static function InitLevel(){ var _local1:*; GameModel = "Ready"; if (Level < 5){ _local1 = MapClub[(Level - 1)]; MusicMian.ChangeReady(MusicLevelClub[(Level - 1)]); } else { _local1 = MapClub[4]; MusicMian.ChangeReady(MusicLevelClub[int((Math.random() * MusicLevelClub.length))]); }; MapPic = new (_local1); GameMap.addChild(MapPic); RolePic = new RoleID(); GameMap.addChild(RolePic); GamePic.addChild(GameMap); MenuPic = new MenuID(); GamePic.addChild(MenuPic); RadarPic = new RadarID(); GamePic.addChild(RadarPic); TextPic = new TextID(); GamePic.addChild(TextPic); MouseIocPic = new MouseIocID(); GamePic.addChild(MouseIocPic); MouseIocPic.startDrag(true); Role.Ready(); Door.Ready(); Menu.Ready(); NumPic.Ready(3, MenuPic.Level, Level); RadarPic.gotoAndStop(Level); GamePic.stage.focus = GamePic; GamePic.stage.tabChildren = false; } public static function DelRoom(){ GameMap.removeChild(MapPic); GameMap.removeChild(RolePic); GamePic.removeChild(MenuPic); GamePic.removeChild(GameMap); GamePic.removeChild(TextPic); GamePic.removeChild(RadarPic); GamePic.removeChild(MouseIocPic); } public static function NewScore(){ NumPic.Ready(7, MenuPic.Num, Score); } public static function NewScoreGif(_arg1, _arg2:Number){ var Mc:*; var Time:Function; var Obj = _arg1; var Num = _arg2; Time = function (_arg1){ var _local2:* = _arg1.target; if (_local2.currentFrame == _local2.totalFrames){ GamePic.removeChild(_local2); Mc.removeEventListener(Event.ENTER_FRAME, Time); }; }; Mc = new ScoreGifID(); GamePic.addChild(Mc); Mc.addEventListener(Event.ENTER_FRAME, Time); Mc.x = GamePic.mouseX; Mc.y = GamePic.mouseY; } public static function GameOver(){ var Mc:*; var MenuOK:Function; var PlayAgianOK:Function; var Submit:Function; var MoreGameOK:Function; MenuOK = function (_arg1){ GamePic.removeChild(Mc); DelRoom(); Home.HomeReady(); }; PlayAgianOK = function (_arg1){ GamePic.removeChild(Mc); DelRoom(); PlayAgianData(); Ready(); }; Submit = function (_arg1){ Mc.SubmitHighscoreOn.visible = false; SubmitHighscoreOK(); }; MoreGameOK = function (_arg1){ MovieClip(GamePic.root).LogoMoreGame("moregames-donepage"); }; MouseIocPic.visible = false; Mouse.show(); MusicMian.AllStop(); MusicMian.AddOne(失败了); GameModel = "GameOver"; GamePause = false; Mc = new GameOverID(); GamePic.addChild(Mc); Mc.PlayAgian.addEventListener(MouseEvent.CLICK, PlayAgianOK); Mc.MenuOn.addEventListener(MouseEvent.CLICK, MenuOK); Mc.MoreGames.addEventListener(MouseEvent.CLICK, MoreGameOK); Mc.SubmitHighscoreOn.addEventListener(MouseEvent.CLICK, Submit); Mc.PlayAgian.addEventListener(MouseEvent.ROLL_OVER, MusicButton); Mc.MenuOn.addEventListener(MouseEvent.ROLL_OVER, MusicButton); Mc.SubmitHighscoreOn.addEventListener(MouseEvent.ROLL_OVER, MusicButton); Mc.MoreGames.addEventListener(MouseEvent.ROLL_OVER, MusicButton); } } }//package YDKGame
Section 79
//Home (YDKGame.Home) package YDKGame { import flash.display.*; import flash.events.*; import YDKClass.*; public class Home extends GameData { public static var SelectMapPic:MovieClip; public static function HomeReady(){ var Mc:MovieClip; var PlayOK:Function; var MoreGameOK:Function; var HighScoresOK:Function; var InstructionOK:Function; var MenuOK:Function; PlayOK = function (_arg1){ GamePic.removeChild(Mc); GameRoom.Ready(); }; MoreGameOK = function (_arg1){ MovieClip(GamePic.root).LogoMoreGame("moregames-menu"); }; HighScoresOK = function (_arg1){ SendURL.OpenURL(MovieClip(GamePic.root).HighscoreUrl); }; InstructionOK = function (_arg1){ HelpPic = new HelpID(); GamePic.addChild(HelpPic); HelpPic.PlayOn.addEventListener(MouseEvent.CLICK, PlayOK); HelpPic.MenuOn.addEventListener(MouseEvent.CLICK, MenuOK); HelpPic.PlayOn.addEventListener(MouseEvent.ROLL_OVER, MusicButton); HelpPic.MenuOn.addEventListener(MouseEvent.ROLL_OVER, MusicButton); }; MenuOK = function (_arg1){ GamePic.removeChild(HelpPic); }; Mc = new HomeID(); GamePic.addChild(Mc); Mc.PlayOn.addEventListener(MouseEvent.CLICK, PlayOK); Mc.MoreGames.addEventListener(MouseEvent.CLICK, MoreGameOK); Mc.HighScores.addEventListener(MouseEvent.CLICK, HighScoresOK); Mc.Instruction.addEventListener(MouseEvent.CLICK, InstructionOK); Mc.PlayOn.addEventListener(MouseEvent.ROLL_OVER, MusicButton); Mc.MoreGames.addEventListener(MouseEvent.ROLL_OVER, MusicButton); Mc.HighScores.addEventListener(MouseEvent.ROLL_OVER, MusicButton); Mc.Instruction.addEventListener(MouseEvent.ROLL_OVER, MusicButton); MusicMian.ChangeReady(片头音乐1); } } }//package YDKGame
Section 80
//KeyboardEventExample (YDKGame.KeyboardEventExample) package YDKGame { import flash.display.*; import flash.events.*; public class KeyboardEventExample extends Sprite { public var A:Number;// = 65 public var Right:Number;// = 39 public var D:Number;// = 68 public var UserType:String; public var Down:Number;// = 40 public var S:Number;// = 83 public var W:Number;// = 87 public var P2Key:Array; public var Left:Number;// = 37 public var Power0:Number;// = 191 public var Space:Number;// = 32 public var Up:Number;// = 38 public var P1Key:Array; public function KeyboardEventExample(_arg1, _arg2:String=null){ P1Key = []; P2Key = []; super(); _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } private function keyUpHandler(_arg1:KeyboardEvent):void{ keyUpDownHandler(_arg1.keyCode, false); } private function keyUpDownHandler(_arg1:Number, _arg2:Boolean):void{ if (_arg1 == W){ P1Key.W = _arg2; } else { if (_arg1 == A){ P1Key.A = _arg2; } else { if (_arg1 == S){ P1Key.S = _arg2; } else { if (_arg1 == D){ P1Key.D = _arg2; } else { if (_arg1 == Up){ P2Key.Up = _arg2; } else { if (_arg1 == Down){ P2Key.Down = _arg2; } else { if (_arg1 == Left){ P2Key.Left = _arg2; } else { if (_arg1 == Right){ P2Key.Right = _arg2; } else { if (_arg1 == Space){ P1Key.Space = _arg2; } else { if (_arg1 == Power0){ P2Key.Space = _arg2; }; }; }; }; }; }; }; }; }; }; } private function keyDownHandler(_arg1:KeyboardEvent):void{ keyUpDownHandler(_arg1.keyCode, true); } public function Del(_arg1){ _arg1.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _arg1.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } } }//package YDKGame
Section 81
//Menu (YDKGame.Menu) package YDKGame { import flash.utils.*; import flash.display.*; import flash.events.*; import YDKClass.*; import gs.*; import gs.easing.*; public class Menu extends GameRoom { public static function PauseOK(_arg1){ var Mc:MovieClip; var ContinueOK:Function; var event = _arg1; ContinueOK = function (_arg1){ GamePause = true; GamePic.removeChild(Mc); Door.DoorStop(); GamePic.stage.focus = GamePic; }; RolePic.Role.gotoAndStop(1); GamePause = false; Mc = new PauseID(); GamePic.addChild(Mc); Mc.Continue.addEventListener(MouseEvent.CLICK, ContinueOK); Door.DoorStop(); } public static function Ready(){ var Temp:uint; var TimeRun:Function; var MoreGamesOK:Function = function (_arg1){ MovieClip(GamePic.root).LogoMoreGame("moregames-donepage"); }; var FreeDoneOK:Function = function (_arg1){ var event = _arg1; var PhotoOK:Function = function (_arg1){ }; }; var PrintOK:Function = function (_arg1){ }; TimeRun = function (){ if (GamePause){ Time--; MenuPic.TimePic.gotoAndStop((100 - int(((Time / 100) * 100)))); if (Time <= 0){ clearInterval(Temp); NextLevel(); }; BugReady(); }; if ((((GameModel == "GameOver")) || ((GameModel == "NextLevel")))){ clearInterval(Temp); }; }; var BugReady:Function = function (){ var _local1:int = (Math.random() * 3); if (_local1 == 0){ Bug.Ready(); }; }; MenuPic.Pause.addEventListener(MouseEvent.CLICK, PauseOK); MusicMenu.Ready(MenuPic.MusicPic); NewScore(); Temp = setInterval(TimeRun, 1000); MenuPic.TimePic.gotoAndStop(100); } } }//package YDKGame
Section 82
//Role (YDKGame.Role) package YDKGame { import flash.display.*; import flash.events.*; import flash.ui.*; import gs.*; import gs.easing.*; public class Role extends GameRoom { public static var KeyS:KeyboardEventExample; public static function Ready(){ var MapX:Number; var MapY:Number; var MapXEnd:Number; var MapYEnd:Number; var MouseDown:Boolean; var RoleGo:Boolean; var RoleMouseHit:Boolean; var P1Key:Object; var P2Key:Object; var KEY_FOCUS:Function; var GameMapEnterFrame:Function; var MouseEventOK:Function; KEY_FOCUS = function (_arg1){ if (GamePause){ Menu.PauseOK(true); KeyS = new KeyboardEventExample(GamePic.stage); }; }; GameMapEnterFrame = function (_arg1){ var _local2:MovieClip; if ((((GameModel == "GameOver")) || ((GameModel == "NextLevel")))){ GameMap.removeEventListener(Event.ENTER_FRAME, GameMapEnterFrame); }; if (RolePic.hitTestPoint(GamePic.mouseX, GamePic.mouseY, true)){ } else { RoleMouseHit = false; }; P1Key.Up = KeyS.P1Key.W; P1Key.Down = KeyS.P1Key.S; P1Key.Left = KeyS.P1Key.A; P1Key.Right = KeyS.P1Key.D; P2Key.Up = KeyS.P2Key.Up; P2Key.Down = KeyS.P2Key.Down; P2Key.Left = KeyS.P2Key.Left; P2Key.Right = KeyS.P2Key.Right; if (GamePause){ GameMap.setChildIndex(RolePic, (GameMap.numChildren - 1)); if (RolePic.Time < RolePic.TimeMax){ RolePic.Time++; } else { RolePic.MouseClick = 0; RolePic.AttackLevel = 1; RolePic.Time = 0; }; RoleLadder(); if (((!(RolePic.Action)) && (!((RolePic.Action == "Ladder"))))){ if (((P1Key.Right) || (P2Key.Right))){ RolePic.x = (RolePic.x + Speed); RolePic.scaleX = 1; RoleGo = true; } else { if (((P1Key.Left) || (P2Key.Left))){ RolePic.x = (RolePic.x - Speed); RolePic.scaleX = -1; RoleGo = true; } else { if (!RolePic.Action){ RoleGo = false; if (RolePic.Role.currentFrame != 1){ RolePic.Role.gotoAndStop(1); trace("主角没有任何动作!"); }; }; }; }; }; if (((((!((RolePic.Role.currentFrame == 2))) && (!(RolePic.Action)))) && (RoleGo))){ RolePic.Role.gotoAndStop(2); trace("主角前进!"); } else { if ((((RolePic.Role.currentFrame == 1)) && (!((RolePic.Action == "Ladder"))))){ RolePic.Action = null; }; if ((((RolePic.Role.currentLabel == "Back1")) && ((RolePic.MouseClick >= 10)))){ RolePic.Role.gotoAndPlay(150); trace("继续大锤子!"); }; if ((((RolePic.Role.currentFrame == 99)) || ((RolePic.Role.currentFrame == 106)))){ MusicMian.AddOne(一个榔头敲打); }; if (RolePic.Role.currentFrame == 150){ MusicMian.AddOne(鼓声); }; }; if (!RoleMouseHit){ MapGoEnd(); }; if ((((RolePic.AttackLevel == 5)) && ((RolePic.Role.currentFrame > 145)))){ GamePic.x = (0 + int(((Math.random() * 10) - 5))); GamePic.y = (0 + int(((Math.random() * 10) - 5))); } else { GamePic.x = 0; GamePic.y = 0; }; }; }; var NewRadarData:Function = function (){ var _local2:*; var _local1:* = 0; while (_local1 < 20) { _local2 = RadarPic.getChildByName(("a" + _local1)); if (_local2){ }; _local1++; }; }; var RoleLadder:Function = function (){ var _local1:*; var _local2:*; if (GamePause){ _local1 = 0; while (_local1 < 10) { _local2 = MapPic.getChildByName(("Ladder" + _local1)); if (_local2){ _local2.visible = false; if (_local2.Middle.hitTestObject(RolePic.Hit)){ if (((((((P1Key.Up) || (P1Key.Down))) || (P2Key.Up))) || (P2Key.Down))){ if (((!((RolePic.Role.currentLabel == "Crawl"))) && (!((RolePic.Action == "PK"))))){ RolePic.Action = "Ladder"; RolePic.Role.gotoAndStop("Crawl"); }; }; if (((P1Key.Up) || (P2Key.Up))){ if (!_local2.Up.hitTestObject(RolePic.Hit)){ RolePic.y = (RolePic.y - Speed); }; } else { if (((P1Key.Down) || (P2Key.Down))){ if (!_local2.Down.hitTestObject(RolePic.Hit)){ RolePic.y = (RolePic.y + Speed); }; }; }; }; if (((_local2.Down.hitTestObject(RolePic.Hit)) && (!((RolePic.Action == "PK"))))){ RolePic.Action = null; }; if (((_local2.Up.hitTestObject(RolePic.Hit)) && (!((RolePic.Action == "PK"))))){ RolePic.Action = null; }; if (((_local2.Middle2.hitTestPoint(GamePic.mouseX, GamePic.mouseY, true)) || (_local2.Middle.hitTestObject(RolePic.Hit)))){ return; }; }; _local1++; }; MouseIocPic.visible = false; Mouse.show(); }; }; var MapGoEnd:Function = function (){ if (RolePic.scaleX == 1){ MapX = (RolePic.x - 200); } else { MapX = (RolePic.x - 500); }; MapXEnd = (MapXEnd + (int((MapX - MapXEnd)) / 10)); if (MapXEnd < 0){ MapXEnd = 0; }; if (Level == 1){ if (MapXEnd > 2700){ MapXEnd = 2700; }; } else { if (Level == 2){ if (MapXEnd > 2222){ MapXEnd = 2222; }; } else { if (Level == 3){ if (MapXEnd > 1666){ MapXEnd = 1666; }; } else { if (Level == 4){ if (MapXEnd > 2180){ MapXEnd = 2180; }; } else { if (Level >= 5){ if (MapXEnd > 1270){ MapXEnd = 1270; }; }; }; }; }; }; if (RolePic.x < 0){ RolePic.x = 0; }; if (RolePic.x > (MapXEnd + 700)){ RolePic.x = (MapXEnd + 700); }; GameMap.x = (0 - MapXEnd); if (Level == 1){ MapPic.BackMap.x = (GameMap.x / 9); }; MapY = (RolePic.y - 400); MapYEnd = (MapYEnd + (int((MapY - MapYEnd)) / 5)); if (Level == 1){ if (MapYEnd < -300){ MapYEnd = -300; }; } else { if (Level == 2){ if (MapYEnd < -350){ MapYEnd = -350; }; } else { if (Level == 3){ if (MapYEnd < -450){ MapYEnd = -450; }; } else { if (Level == 4){ if (MapYEnd < -800){ MapYEnd = -800; }; } else { if (Level >= 5){ if (MapYEnd < -1000){ MapYEnd = -1000; }; }; }; }; }; }; if (MapYEnd > 0){ MapYEnd = 0; }; GameMap.y = (0 - MapYEnd); }; MouseEventOK = function (_arg1){ if (_arg1.type == "mouseDown"){ MouseDown = true; } else { MouseDown = false; }; }; KeyS = new KeyboardEventExample(GamePic.stage); var RoleXY:Object = new Object(); MapX = 0; MapY = 0; MapXEnd = 0; MapYEnd = 0; P1Key = new Object(); P2Key = new Object(); RolePic.y = MapPic.Y1.y; RolePic.x = MapPic.Y1.x; MapPic.Y1.visible = false; MapPic.Y2.visible = false; MapPic.Y3.visible = false; RolePic.Power = 0.6; RolePic.Time = 0; RolePic.TimeMax = 5; RolePic.ActionType = 1; RolePic.MouseClick = 0; RolePic.Action = null; RolePic.AttackLevel = 1; RolePic.Role.gotoAndStop(1); RolePic.mouseChildren = false; RolePic.mouseEnabled = false; RolePic.Hit.visible = false; GameMap.addEventListener(Event.ENTER_FRAME, GameMapEnterFrame); GamePic.stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseEventOK); GamePic.stage.addEventListener(MouseEvent.MOUSE_UP, MouseEventOK); GamePic.stage.addEventListener(Event.MOUSE_LEAVE, KEY_FOCUS); } } }//package YDKGame
Section 83
//BugID (BugID) package { import flash.display.*; public dynamic class BugID extends MovieClip { public var a:MovieClip; } }//package
Section 84
//EnemyID1 (EnemyID1) package { import flash.display.*; public dynamic class EnemyID1 extends MovieClip { public var a:MovieClip; } }//package
Section 85
//GameOverID (GameOverID) package { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class GameOverID extends MovieClip { public var __id0_:MovieClip; public var PlayAgian:SimpleButton; public var MoreGames:SimpleButton; public var SubmitHighscoreOn:SimpleButton; public var MenuOn:SimpleButton; public function GameOverID(){ __setProp___id0__GameOverID_(); } function __setProp___id0__GameOverID_(){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.Type = "logo-donepage"; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 86
//HelpID (HelpID) package { import flash.display.*; public dynamic class HelpID extends MovieClip { public var PlayOn:SimpleButton; public var MenuOn:SimpleButton; } }//package
Section 87
//HomeID (HomeID) package { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class HomeID extends MovieClip { public var HighScores:SimpleButton; public var __id3_:MovieClip; public var MoreGames:SimpleButton; public var Instruction:SimpleButton; public var PlayOn:SimpleButton; public function HomeID(){ __setProp___id3__HomeID_(); } function __setProp___id3__HomeID_(){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.Type = "logo-menu"; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 88
//Level1ID (Level1ID) package { import flash.display.*; public dynamic class Level1ID extends MovieClip { public var a0:MovieClip; public var a1:MovieClip; public var a2:MovieClip; public var a3:MovieClip; public var a4:MovieClip; public var BackMap:MovieClip; public var Y1:MovieClip; public var Y2:MovieClip; public var Y3:MovieClip; } }//package
Section 89
//Level2ID (Level2ID) package { import flash.display.*; public dynamic class Level2ID extends MovieClip { public var Ladder1:MovieClip; public var Ladder2:MovieClip; public var a2:MovieClip; public var a3:MovieClip; public var a4:MovieClip; public var a5:MovieClip; public var a6:MovieClip; public var a0:MovieClip; public var a1:MovieClip; public var Y1:MovieClip; public var Y2:MovieClip; public var Y3:MovieClip; public var a7:MovieClip; public var a8:MovieClip; public var a9:MovieClip; } }//package
Section 90
//Level3ID (Level3ID) package { import flash.display.*; public dynamic class Level3ID extends MovieClip { public var a10:MovieClip; public var a11:MovieClip; public var a13:MovieClip; public var a12:MovieClip; public var a9:MovieClip; public var Y2:MovieClip; public var a0:MovieClip; public var Ladder2:MovieClip; public var Ladder3:MovieClip; public var Ladder4:MovieClip; public var a4:MovieClip; public var a5:MovieClip; public var a6:MovieClip; public var Ladder1:MovieClip; public var a1:MovieClip; public var a2:MovieClip; public var a3:MovieClip; public var Y3:MovieClip; public var a7:MovieClip; public var a8:MovieClip; public var Y1:MovieClip; } }//package
Section 91
//Level4ID (Level4ID) package { import flash.display.*; public dynamic class Level4ID extends MovieClip { public var a10:MovieClip; public var a11:MovieClip; public var a13:MovieClip; public var a12:MovieClip; public var a14:MovieClip; public var a9:MovieClip; public var Y2:MovieClip; public var a0:MovieClip; public var Ladder2:MovieClip; public var Ladder3:MovieClip; public var Ladder4:MovieClip; public var a4:MovieClip; public var a5:MovieClip; public var a6:MovieClip; public var Ladder1:MovieClip; public var a1:MovieClip; public var a2:MovieClip; public var a3:MovieClip; public var Y3:MovieClip; public var a7:MovieClip; public var a8:MovieClip; public var Y1:MovieClip; } }//package
Section 92
//Level5ID (Level5ID) package { import flash.display.*; public dynamic class Level5ID extends MovieClip { public var a10:MovieClip; public var a11:MovieClip; public var a13:MovieClip; public var a12:MovieClip; public var a14:MovieClip; public var a9:MovieClip; public var Y2:MovieClip; public var a0:MovieClip; public var Ladder2:MovieClip; public var Ladder3:MovieClip; public var Ladder4:MovieClip; public var a4:MovieClip; public var a5:MovieClip; public var a6:MovieClip; public var Ladder1:MovieClip; public var a1:MovieClip; public var a2:MovieClip; public var a3:MovieClip; public var Y3:MovieClip; public var a7:MovieClip; public var a8:MovieClip; public var Y1:MovieClip; } }//package
Section 93
//MenuID (MenuID) package { import flash.display.*; public dynamic class MenuID extends MovieClip { public var Level:MovieClip; public var MusicPic:MusicIocID; public var Pause:SimpleButton; public var TimePic:MovieClip; public var Num:MovieClip; } }//package
Section 94
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 95
//MouseIocID (MouseIocID) package { import flash.display.*; public dynamic class MouseIocID extends MovieClip { } }//package
Section 96
//MusicIocID (MusicIocID) package { import flash.display.*; public dynamic class MusicIocID extends MovieClip { public var MusicOK:SimpleButton; public var MusicNO:SimpleButton; } }//package
Section 97
//NextLevelID (NextLevelID) package { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class NextLevelID extends MovieClip { public var NextLevel:SimpleButton; public var __id1_:MovieClip; public function NextLevelID(){ __setProp___id1__NextLevelID_(); } function __setProp___id1__NextLevelID_(){ try { __id1_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id1_.Type = "logo-ingame"; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 98
//PauseID (PauseID) package { import flash.display.*; public dynamic class PauseID extends MovieClip { public var Continue:SimpleButton; } }//package
Section 99
//RadarID (RadarID) package { import flash.utils.*; import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class RadarID extends MovieClip { public var a10:MovieClip; public var a11:MovieClip; public var a13:MovieClip; public var a12:MovieClip; public var a14:MovieClip; public var __id2_:MovieClip; public var a1:MovieClip; public var a2:MovieClip; public var a3:MovieClip; public var a4:MovieClip; public var a5:MovieClip; public var a6:MovieClip; public var a0:MovieClip; public var a8:MovieClip; public var a9:MovieClip; public var a7:MovieClip; public function RadarID(){ __setProp___id2__RadarID_(); } function __setProp___id2__RadarID_(){ try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.Type = "logo-ingame"; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 100
//RoleID (RoleID) package { import flash.display.*; public dynamic class RoleID extends MovieClip { public var Hit:MovieClip; public var Role:MovieClip; } }//package
Section 101
//ScoreGifID (ScoreGifID) package { import flash.display.*; public dynamic class ScoreGifID extends MovieClip { public var a:MovieClip; } }//package
Section 102
//TextID (TextID) package { import flash.display.*; import flash.text.*; public dynamic class TextID extends MovieClip { public var txt:TextField; } }//package
Section 103
//一个榔头敲打 (一个榔头敲打) package { import flash.media.*; public dynamic class 一个榔头敲打 extends Sound { } }//package
Section 104
//失败了 (失败了) package { import flash.media.*; public dynamic class 失败了 extends Sound { } }//package
Section 105
//所有背景音效 (所有背景音效) package { import flash.media.*; public dynamic class 所有背景音效 extends Sound { } }//package
Section 106
//按钮2 (按钮2) package { import flash.media.*; public dynamic class 按钮2 extends Sound { } }//package
Section 107
//敲门声 (敲门声) package { import flash.media.*; public dynamic class 敲门声 extends Sound { } }//package
Section 108
//片头音乐1 (片头音乐1) package { import flash.media.*; public dynamic class 片头音乐1 extends Sound { } }//package
Section 109
//生气 (生气) package { import flash.media.*; public dynamic class 生气 extends Sound { } }//package
Section 110
//第一关背景音乐 (第一关背景音乐) package { import flash.media.*; public dynamic class 第一关背景音乐 extends Sound { } }//package
Section 111
//第三关背景音乐 (第三关背景音乐) package { import flash.media.*; public dynamic class 第三关背景音乐 extends Sound { } }//package
Section 112
//第二关背景音乐 (第二关背景音乐) package { import flash.media.*; public dynamic class 第二关背景音乐 extends Sound { } }//package
Section 113
//第五关背景音乐 (第五关背景音乐) package { import flash.media.*; public dynamic class 第五关背景音乐 extends Sound { } }//package
Section 114
//第四关背景音乐 (第四关背景音乐) package { import flash.media.*; public dynamic class 第四关背景音乐 extends Sound { } }//package
Section 115
//老鼠 (老鼠) package { import flash.media.*; public dynamic class 老鼠 extends Sound { } }//package
Section 116
//踢门声 (踢门声) package { import flash.media.*; public dynamic class 踢门声 extends Sound { } }//package
Section 117
//踢门声2 (踢门声2) package { import flash.media.*; public dynamic class 踢门声2 extends Sound { } }//package
Section 118
//过关了 (过关了) package { import flash.media.*; public dynamic class 过关了 extends Sound { } }//package
Section 119
//锤子声 (锤子声) package { import flash.media.*; public dynamic class 锤子声 extends Sound { } }//package
Section 120
//鼓声 (鼓声) package { import flash.media.*; public dynamic class 鼓声 extends Sound { } }//package

Library Items

Symbol 1 GraphicUsed by:6
Symbol 2 GraphicUsed by:6
Symbol 3 GraphicUsed by:6
Symbol 4 GraphicUsed by:6
Symbol 5 GraphicUsed by:6
Symbol 6 ButtonUses:1 2 3 4 5Used by:12
Symbol 7 GraphicUsed by:11
Symbol 8 GraphicUsed by:11
Symbol 9 GraphicUsed by:11
Symbol 10 GraphicUsed by:11
Symbol 11 ButtonUses:7 8 9 10Used by:12
Symbol 12 MovieClip {MusicIocID}Uses:6 11Used by:602
Symbol 13 GraphicUsed by:45
Symbol 14 GraphicUsed by:31 478
Symbol 15 GraphicUsed by:31 472 478
Symbol 16 GraphicUsed by:31 478
Symbol 17 GraphicUsed by:31 478
Symbol 18 GraphicUsed by:31 478
Symbol 19 GraphicUsed by:31 477 478
Symbol 20 GraphicUsed by:31 477 478
Symbol 21 GraphicUsed by:31 478
Symbol 22 GraphicUsed by:31 478
Symbol 23 GraphicUsed by:31 478
Symbol 24 GraphicUsed by:31 478
Symbol 25 GraphicUsed by:31 478
Symbol 26 GraphicUsed by:31 478
Symbol 27 GraphicUsed by:31 478
Symbol 28 GraphicUsed by:31 478
Symbol 29 GraphicUsed by:31 478
Symbol 30 GraphicUsed by:31 478
Symbol 31 MovieClipUses:14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30Used by:45
Symbol 32 GraphicUsed by:45
Symbol 33 GraphicUsed by:43 563
Symbol 34 GraphicUsed by:43 562 563
Symbol 35 GraphicUsed by:43 562 563
Symbol 36 GraphicUsed by:43 562 563
Symbol 37 GraphicUsed by:43 562 563
Symbol 38 GraphicUsed by:43 563
Symbol 39 GraphicUsed by:43 563
Symbol 40 GraphicUsed by:43 563
Symbol 41 GraphicUsed by:43 563
Symbol 42 GraphicUsed by:43 563
Symbol 43 MovieClipUses:33 34 35 36 37 38 39 40 41 42Used by:45
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClipUses:13 31 32 43 44Used by:46
Symbol 46 MovieClip {PrisonguardReady_fla.Timeline_27}Uses:45Used by:90
Symbol 47 GraphicUsed by:50
Symbol 48 GraphicUsed by:50
Symbol 49 GraphicUsed by:50
Symbol 50 ButtonUses:47 48 49Used by:90 623
Symbol 51 GraphicUsed by:54
Symbol 52 GraphicUsed by:54
Symbol 53 GraphicUsed by:54
Symbol 54 ButtonUses:51 52 53Used by:90 647
Symbol 55 GraphicUsed by:58
Symbol 56 GraphicUsed by:58
Symbol 57 GraphicUsed by:58
Symbol 58 ButtonUses:55 56 57Used by:90
Symbol 59 GraphicUsed by:62
Symbol 60 GraphicUsed by:62
Symbol 61 GraphicUsed by:62
Symbol 62 ButtonUses:59 60 61Used by:90
Symbol 63 GraphicUsed by:68
Symbol 64 GraphicUsed by:68
Symbol 65 ShapeTweeningUsed by:68
Symbol 66 ShapeTweeningUsed by:68
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:63 64 65 66 67Used by:69
Symbol 69 MovieClip {PrisonguardReady_fla.Timeline_35}Uses:68Used by:90
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:70Used by:72
Symbol 72 MovieClip {PrisonguardReady_fla.Timeline_37}Uses:71Used by:90
Symbol 73 GraphicUsed by:87 409
Symbol 74 GraphicUsed by:87
Symbol 75 GraphicUsed by:87 99
Symbol 76 GraphicUsed by:87
Symbol 77 GraphicUsed by:87 99
Symbol 78 GraphicUsed by:87 99
Symbol 79 GraphicUsed by:87
Symbol 80 GraphicUsed by:87
Symbol 81 GraphicUsed by:87 99
Symbol 82 GraphicUsed by:87 99
Symbol 83 GraphicUsed by:87
Symbol 84 GraphicUsed by:87 99
Symbol 85 GraphicUsed by:87 99
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41}Uses:73 74 75 76 77 78 79 80 81 82 83 84 85 86Used by:88
Symbol 88 MovieClip {PrisonguardReady_fla.Gamesbookas22_40}Uses:87Used by:89
Symbol 89 MovieClip {PrisonguardReady_fla.Gamesbookas2_39}Uses:88Used by:90 625 636 647
Symbol 90 MovieClip {HomeID}Uses:46 50 54 58 62 69 72 89Used by:Timeline
Symbol 91 GraphicUsed by:191 238
Symbol 92 GraphicUsed by:191
Symbol 93 GraphicUsed by:99
Symbol 94 GraphicUsed by:99
Symbol 95 GraphicUsed by:99
Symbol 96 GraphicUsed by:99
Symbol 97 GraphicUsed by:99
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2}Uses:93 75 94 77 78 95 96 81 82 97 84 85 98Used by:190 191
Symbol 100 GraphicUsed by:101
Symbol 101 ButtonUses:100Used by:191
Symbol 102 FontUsed by:103 104 105 106 107 108 109 110 626
Symbol 103 TextUses:102Used by:111
Symbol 104 TextUses:102Used by:111
Symbol 105 TextUses:102Used by:111
Symbol 106 TextUses:102Used by:111
Symbol 107 TextUses:102Used by:111
Symbol 108 TextUses:102Used by:111
Symbol 109 TextUses:102Used by:111
Symbol 110 TextUses:102Used by:111
Symbol 111 MovieClip {PrisonguardReady_fla.loadingGamesClub2as2_4}Uses:103 104 105 106 107 108 109 110Used by:191
Symbol 112 GraphicUsed by:123
Symbol 113 GraphicUsed by:123
Symbol 114 GraphicUsed by:123
Symbol 115 GraphicUsed by:123
Symbol 116 GraphicUsed by:123
Symbol 117 GraphicUsed by:123
Symbol 118 GraphicUsed by:123
Symbol 119 GraphicUsed by:123
Symbol 120 GraphicUsed by:123
Symbol 121 GraphicUsed by:123
Symbol 122 GraphicUsed by:123
Symbol 123 MovieClipUses:112 113 114 115 116 117 118 119 120 121 122Used by:191
Symbol 124 GraphicUsed by:144
Symbol 125 GraphicUsed by:142 395 622
Symbol 126 GraphicUsed by:142 395 622
Symbol 127 GraphicUsed by:142 395 622
Symbol 128 GraphicUsed by:142 395 622
Symbol 129 GraphicUsed by:142 260 286 293 395 622
Symbol 130 GraphicUsed by:142 395 622
Symbol 131 GraphicUsed by:142 395 622
Symbol 132 GraphicUsed by:142 395 622
Symbol 133 GraphicUsed by:142 395 622
Symbol 134 GraphicUsed by:142 395 622
Symbol 135 GraphicUsed by:142 395 622
Symbol 136 GraphicUsed by:142 395 622
Symbol 137 GraphicUsed by:139
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClipUses:137 138Used by:142 395 622
Symbol 140 GraphicUsed by:142 395 622
Symbol 141 GraphicUsed by:142 395 622
Symbol 142 MovieClipUses:125 126 127 128 129 130 131 132 133 134 135 136 139 140 141Used by:144
Symbol 143 GraphicUsed by:144
Symbol 144 ButtonUses:124 142 143Used by:191
Symbol 145 GraphicUsed by:151
Symbol 146 FontUsed by:147 153 155 157 159 161 163 165 167 170
Symbol 147 TextUses:146Used by:151
Symbol 148 GraphicUsed by:151 154 156 158 160 162 164 166 168 172
Symbol 149 GraphicUsed by:150 151 154 156 158 160 162 164 166 168 171 172
Symbol 150 MovieClipUses:149Used by:151 154 156 158 160 162 164 166 168
Symbol 151 ButtonUses:145 147 148 150 149Used by:173
Symbol 152 GraphicUsed by:154 156 158 160 162 164 166 168
Symbol 153 TextUses:146Used by:154
Symbol 154 ButtonUses:152 153 150 148 149Used by:173
Symbol 155 TextUses:146Used by:156
Symbol 156 ButtonUses:152 155 150 148 149Used by:173
Symbol 157 TextUses:146Used by:158
Symbol 158 ButtonUses:152 157 150 148 149Used by:173
Symbol 159 TextUses:146Used by:160
Symbol 160 ButtonUses:152 159 150 148 149Used by:173
Symbol 161 TextUses:146Used by:162
Symbol 162 ButtonUses:152 161 150 148 149Used by:173
Symbol 163 TextUses:146Used by:164
Symbol 164 ButtonUses:152 163 150 148 149Used by:173
Symbol 165 TextUses:146Used by:166
Symbol 166 ButtonUses:152 165 150 148 149Used by:173
Symbol 167 TextUses:146Used by:168
Symbol 168 ButtonUses:152 167 150 148 149Used by:173
Symbol 169 GraphicUsed by:172
Symbol 170 TextUses:146Used by:172
Symbol 171 MovieClipUses:149Used by:172
Symbol 172 ButtonUses:169 170 171 148 149Used by:173
Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9}Uses:151 154 156 158 160 162 164 166 168 172Used by:191
Symbol 174 GraphicUsed by:190
Symbol 175 GraphicUsed by:187
Symbol 176 GraphicUsed by:187
Symbol 177 GraphicUsed by:187
Symbol 178 GraphicUsed by:187
Symbol 179 GraphicUsed by:187
Symbol 180 GraphicUsed by:187
Symbol 181 GraphicUsed by:187
Symbol 182 GraphicUsed by:187
Symbol 183 GraphicUsed by:187
Symbol 184 GraphicUsed by:187
Symbol 185 GraphicUsed by:187
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24}Uses:175 176 177 178 179 180 181 182 183 184 185 186Used by:188
Symbol 188 MovieClipUses:187Used by:190
Symbol 189 SoundUsed by:190
Symbol 190 MovieClipUses:174 188 99 189Used by:191
Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1}Uses:91 92 99 101 111 123 144 173 190Used by:Timeline
Symbol 192 GraphicUsed by:212
Symbol 193 Sound {老鼠}Used by:212
Symbol 194 Sound {敲门声}Used by:212
Symbol 195 Sound {锤子声}Used by:212
Symbol 196 Sound {踢门声}Used by:212
Symbol 197 Sound {踢门声2}Used by:212
Symbol 198 SoundUsed by:212
Symbol 199 Sound {按钮2}Used by:212
Symbol 200 Sound {过关了}Used by:212
Symbol 201 Sound {失败了}Used by:212
Symbol 202 Sound {生气}Used by:212
Symbol 203 Sound {一个榔头敲打}Used by:212
Symbol 204 Sound {所有背景音效}Used by:212
Symbol 205 Sound {片头音乐1}Used by:212
Symbol 206 Sound {鼓声}Used by:212
Symbol 207 Sound {第一关背景音乐}Used by:212
Symbol 208 Sound {第二关背景音乐}Used by:212
Symbol 209 Sound {第三关背景音乐}Used by:212
Symbol 210 Sound {第四关背景音乐}Used by:212
Symbol 211 Sound {第五关背景音乐}Used by:212
Symbol 212 MovieClip {PrisonguardReady_fla.Timeline_25}Uses:192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211Used by:Timeline
Symbol 213 GraphicUsed by:215
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:213 214Used by:233
Symbol 216 GraphicUsed by:233
Symbol 217 GraphicUsed by:227
Symbol 218 GraphicUsed by:222
Symbol 219 GraphicUsed by:220
Symbol 220 MovieClipUses:219Used by:221 222
Symbol 221 MovieClipUses:220Used by:222
Symbol 222 MovieClipUses:218 221 220Used by:227 238 246 251 257 625  Timeline
Symbol 223 GraphicUsed by:227
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:224Used by:227 238 246 251 257
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClipUses:217 222 223 225 226Used by:233
Symbol 228 GraphicUsed by:233
Symbol 229 GraphicUsed by:233
Symbol 230 GraphicUsed by:233
Symbol 231 GraphicUsed by:232
Symbol 232 MovieClipUses:231Used by:233 242 247 252 258  Timeline
Symbol 233 MovieClip {Level1ID}Uses:215 216 227 228 229 230 232Used by:Timeline
Symbol 234 BitmapUsed by:235
Symbol 235 GraphicUses:234Used by:242
Symbol 236 GraphicUsed by:238 246 251 603  Timeline
Symbol 237 GraphicUsed by:238
Symbol 238 MovieClipUses:236 225 91 237 222Used by:242
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClipUses:239Used by:241 396
Symbol 241 MovieClipUses:240Used by:242 247 252 258
Symbol 242 MovieClip {Level2ID}Uses:235 238 232 241Used by:Timeline
Symbol 243 BitmapUsed by:244
Symbol 244 GraphicUses:243Used by:247
Symbol 245 GraphicUsed by:246
Symbol 246 MovieClipUses:236 225 245 222Used by:247
Symbol 247 MovieClip {Level3ID}Uses:244 246 232 241Used by:Timeline
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:252
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:236 225 250 222Used by:252
Symbol 252 MovieClip {Level4ID}Uses:249 251 232 241Used by:Timeline
Symbol 253 BitmapUsed by:254
Symbol 254 GraphicUses:253Used by:258
Symbol 255 GraphicUsed by:257
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClipUses:255 225 256 222Used by:258
Symbol 258 MovieClip {Level5ID}Uses:254 257 232 241Used by:Timeline
Symbol 259 GraphicUsed by:260
Symbol 260 MovieClipUses:259 129Used by:395
Symbol 261 GraphicUsed by:269
Symbol 262 GraphicUsed by:269
Symbol 263 GraphicUsed by:269
Symbol 264 GraphicUsed by:269
Symbol 265 GraphicUsed by:269
Symbol 266 GraphicUsed by:269
Symbol 267 GraphicUsed by:269
Symbol 268 GraphicUsed by:269
Symbol 269 MovieClipUses:261 262 263 264 265 266 267 268Used by:395
Symbol 270 GraphicUsed by:274
Symbol 271 GraphicUsed by:274
Symbol 272 GraphicUsed by:274
Symbol 273 GraphicUsed by:274
Symbol 274 MovieClipUses:270 271 272 273Used by:395
Symbol 275 GraphicUsed by:277
Symbol 276 GraphicUsed by:277
Symbol 277 MovieClipUses:275 276Used by:286 409
Symbol 278 GraphicUsed by:286 293 395 622
Symbol 279 GraphicUsed by:286 293
Symbol 280 GraphicUsed by:286 293
Symbol 281 GraphicUsed by:286 293
Symbol 282 GraphicUsed by:286 293
Symbol 283 GraphicUsed by:286
Symbol 284 GraphicUsed by:286 293
Symbol 285 GraphicUsed by:286 293
Symbol 286 MovieClip {PrisonguardReady_fla.Timeline_65}Uses:277 278 279 280 281 282 129 283 284 285Used by:395
Symbol 287 GraphicUsed by:291
Symbol 288 GraphicUsed by:291
Symbol 289 GraphicUsed by:291
Symbol 290 GraphicUsed by:291
Symbol 291 MovieClipUses:287 288 289 290Used by:293 409
Symbol 292 GraphicUsed by:293
Symbol 293 MovieClip {PrisonguardReady_fla.Timeline_67}Uses:291 278 279 280 281 282 129 292 284 285Used by:395
Symbol 294 GraphicUsed by:302
Symbol 295 GraphicUsed by:302
Symbol 296 GraphicUsed by:302
Symbol 297 GraphicUsed by:302
Symbol 298 GraphicUsed by:302
Symbol 299 GraphicUsed by:302
Symbol 300 GraphicUsed by:302
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:294 295 296 297 298 299 300 301Used by:395
Symbol 303 GraphicUsed by:395
Symbol 304 GraphicUsed by:395
Symbol 305 GraphicUsed by:395
Symbol 306 GraphicUsed by:395
Symbol 307 GraphicUsed by:395 622
Symbol 308 GraphicUsed by:395 622
Symbol 309 GraphicUsed by:395 622
Symbol 310 GraphicUsed by:395 622
Symbol 311 GraphicUsed by:395 622
Symbol 312 GraphicUsed by:395 622
Symbol 313 GraphicUsed by:395 622
Symbol 314 GraphicUsed by:395 622
Symbol 315 GraphicUsed by:395 622
Symbol 316 GraphicUsed by:395 622
Symbol 317 GraphicUsed by:395 622
Symbol 318 GraphicUsed by:395 622
Symbol 319 GraphicUsed by:323
Symbol 320 GraphicUsed by:323
Symbol 321 GraphicUsed by:323
Symbol 322 GraphicUsed by:323
Symbol 323 MovieClipUses:319 320 321 322Used by:395 455 622
Symbol 324 GraphicUsed by:395 622
Symbol 325 GraphicUsed by:395 622
Symbol 326 GraphicUsed by:395 622
Symbol 327 GraphicUsed by:395 622
Symbol 328 GraphicUsed by:395 622
Symbol 329 GraphicUsed by:395 622
Symbol 330 GraphicUsed by:395 622
Symbol 331 GraphicUsed by:395 622
Symbol 332 GraphicUsed by:395 622
Symbol 333 GraphicUsed by:395 622
Symbol 334 GraphicUsed by:395 622
Symbol 335 GraphicUsed by:395 622
Symbol 336 GraphicUsed by:395 622
Symbol 337 GraphicUsed by:395 622
Symbol 338 GraphicUsed by:395 622
Symbol 339 GraphicUsed by:341
Symbol 340 GraphicUsed by:341
Symbol 341 MovieClipUses:339 340Used by:395 622
Symbol 342 GraphicUsed by:395 622
Symbol 343 GraphicUsed by:345
Symbol 344 GraphicUsed by:345
Symbol 345 MovieClipUses:343 344Used by:395 622
Symbol 346 GraphicUsed by:395 622
Symbol 347 GraphicUsed by:395 622
Symbol 348 GraphicUsed by:395 622
Symbol 349 GraphicUsed by:395 622
Symbol 350 GraphicUsed by:395 622
Symbol 351 GraphicUsed by:395 622
Symbol 352 GraphicUsed by:395 622
Symbol 353 GraphicUsed by:395 622
Symbol 354 GraphicUsed by:395 622
Symbol 355 GraphicUsed by:395 622
Symbol 356 GraphicUsed by:395 622
Symbol 357 GraphicUsed by:395 622
Symbol 358 GraphicUsed by:395 622
Symbol 359 GraphicUsed by:395 622
Symbol 360 GraphicUsed by:395 622
Symbol 361 GraphicUsed by:395 622
Symbol 362 GraphicUsed by:395 622
Symbol 363 GraphicUsed by:395 622
Symbol 364 GraphicUsed by:395 622
Symbol 365 GraphicUsed by:395 622
Symbol 366 GraphicUsed by:395
Symbol 367 GraphicUsed by:395
Symbol 368 GraphicUsed by:395
Symbol 369 GraphicUsed by:395
Symbol 370 GraphicUsed by:395 622
Symbol 371 GraphicUsed by:395 622
Symbol 372 GraphicUsed by:395 622
Symbol 373 GraphicUsed by:395 622
Symbol 374 GraphicUsed by:395 622
Symbol 375 GraphicUsed by:395 622
Symbol 376 GraphicUsed by:395 442 622
Symbol 377 GraphicUsed by:395 622
Symbol 378 GraphicUsed by:395 622
Symbol 379 GraphicUsed by:395 622
Symbol 380 GraphicUsed by:395 622
Symbol 381 GraphicUsed by:395 622
Symbol 382 GraphicUsed by:395 622
Symbol 383 GraphicUsed by:395 622
Symbol 384 GraphicUsed by:395 622
Symbol 385 GraphicUsed by:395 622
Symbol 386 GraphicUsed by:395 622
Symbol 387 GraphicUsed by:395 622
Symbol 388 GraphicUsed by:395 622
Symbol 389 GraphicUsed by:395 622
Symbol 390 GraphicUsed by:395 622
Symbol 391 GraphicUsed by:395 622
Symbol 392 GraphicUsed by:395 622
Symbol 393 GraphicUsed by:395 622
Symbol 394 GraphicUsed by:395 622
Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61}Uses:260 269 274 286 293 302 303 304 305 306 307 308 127 309 125 128 126 310 311 312 313 314 315 316 317 318 323 324 325 326 327 328 329 132 129 134 135 136 139 140 141 330 331 278 332 333 334 335 336 337 338 341 342 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 130 131 133Used by:396
Symbol 396 MovieClip {RoleID}Uses:395 240Used by:Timeline
Symbol 397 GraphicUsed by:398
Symbol 398 MovieClipUses:397Used by:Timeline
Symbol 399 GraphicUsed by:Timeline
Symbol 400 GraphicUsed by:402
Symbol 401 GraphicUsed by:402
Symbol 402 MovieClipUses:400 401Used by:Timeline
Symbol 403 GraphicUsed by:405
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:403 404Used by:Timeline
Symbol 406 GraphicUsed by:408
Symbol 407 GraphicUsed by:408
Symbol 408 MovieClipUses:406 407Used by:Timeline
Symbol 409 MovieClipUses:277 73 291Used by:410
Symbol 410 MovieClip {BugID}Uses:409Used by:Timeline
Symbol 411 GraphicUsed by:412 413
Symbol 412 MovieClipUses:411Used by:414
Symbol 413 MovieClipUses:411Used by:414
Symbol 414 MovieClipUses:412 413Used by:415
Symbol 415 MovieClip {MouseIocID}Uses:414Used by:Timeline
Symbol 416 GraphicUsed by:417
Symbol 417 MovieClip {PrisonguardReady_fla.Timeline_84}Uses:416Used by:418
Symbol 418 MovieClip {ScoreGifID}Uses:417Used by:Timeline
Symbol 419 GraphicUsed by:Timeline
Symbol 420 GraphicUsed by:442
Symbol 421 GraphicUsed by:442
Symbol 422 GraphicUsed by:442
Symbol 423 GraphicUsed by:442 455
Symbol 424 GraphicUsed by:442 455
Symbol 425 GraphicUsed by:442 455
Symbol 426 GraphicUsed by:442 455
Symbol 427 GraphicUsed by:442 455
Symbol 428 GraphicUsed by:442
Symbol 429 GraphicUsed by:442
Symbol 430 GraphicUsed by:442
Symbol 431 GraphicUsed by:442
Symbol 432 GraphicUsed by:442
Symbol 433 GraphicUsed by:442
Symbol 434 GraphicUsed by:442
Symbol 435 GraphicUsed by:442
Symbol 436 GraphicUsed by:442
Symbol 437 GraphicUsed by:442
Symbol 438 GraphicUsed by:442
Symbol 439 GraphicUsed by:441
Symbol 440 GraphicUsed by:441
Symbol 441 MovieClipUses:439 440Used by:442
Symbol 442 MovieClip {PrisonguardReady_fla.Timeline_86}Uses:420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 376 437 438 441Used by:579  Timeline
Symbol 443 GraphicUsed by:455
Symbol 444 GraphicUsed by:455
Symbol 445 GraphicUsed by:455
Symbol 446 GraphicUsed by:454 455
Symbol 447 GraphicUsed by:454 455
Symbol 448 GraphicUsed by:454 455
Symbol 449 GraphicUsed by:455
Symbol 450 GraphicUsed by:454
Symbol 451 GraphicUsed by:454
Symbol 452 GraphicUsed by:454
Symbol 453 GraphicUsed by:454
Symbol 454 MovieClipUses:450 446 451 447 448 452 453Used by:455
Symbol 455 MovieClip {PrisonguardReady_fla.Timeline_88}Uses:443 444 445 446 447 448 449 423 424 425 426 427 323 454Used by:579  Timeline
Symbol 456 GraphicUsed by:472
Symbol 457 GraphicUsed by:472
Symbol 458 GraphicUsed by:472
Symbol 459 GraphicUsed by:471 472
Symbol 460 GraphicUsed by:472
Symbol 461 GraphicUsed by:471 472
Symbol 462 GraphicUsed by:471 472
Symbol 463 GraphicUsed by:472
Symbol 464 GraphicUsed by:472
Symbol 465 GraphicUsed by:472
Symbol 466 GraphicUsed by:472
Symbol 467 GraphicUsed by:471
Symbol 468 GraphicUsed by:471
Symbol 469 GraphicUsed by:471
Symbol 470 GraphicUsed by:471
Symbol 471 MovieClipUses:467 459 461 468 462 469 470Used by:472
Symbol 472 MovieClip {PrisonguardReady_fla.Timeline_90}Uses:15 456 457 458 459 460 461 462 463 464 465 466 471Used by:579  Timeline
Symbol 473 GraphicUsed by:477
Symbol 474 GraphicUsed by:477
Symbol 475 GraphicUsed by:477
Symbol 476 GraphicUsed by:477
Symbol 477 MovieClipUses:473 19 20 474 475 476Used by:478
Symbol 478 MovieClip {PrisonguardReady_fla.Timeline_92}Uses:14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 477Used by:579  Timeline
Symbol 479 GraphicUsed by:509 510
Symbol 480 GraphicUsed by:509 510
Symbol 481 GraphicUsed by:510
Symbol 482 GraphicUsed by:510
Symbol 483 GraphicUsed by:510
Symbol 484 GraphicUsed by:510
Symbol 485 GraphicUsed by:510
Symbol 486 GraphicUsed by:510
Symbol 487 GraphicUsed by:510
Symbol 488 GraphicUsed by:510
Symbol 489 GraphicUsed by:510
Symbol 490 GraphicUsed by:510
Symbol 491 GraphicUsed by:510
Symbol 492 GraphicUsed by:510
Symbol 493 GraphicUsed by:510
Symbol 494 GraphicUsed by:510
Symbol 495 GraphicUsed by:510
Symbol 496 GraphicUsed by:510
Symbol 497 GraphicUsed by:510
Symbol 498 GraphicUsed by:510
Symbol 499 GraphicUsed by:510
Symbol 500 GraphicUsed by:510
Symbol 501 GraphicUsed by:510
Symbol 502 GraphicUsed by:510
Symbol 503 GraphicUsed by:510
Symbol 504 GraphicUsed by:510
Symbol 505 GraphicUsed by:509
Symbol 506 GraphicUsed by:509
Symbol 507 GraphicUsed by:509
Symbol 508 GraphicUsed by:509
Symbol 509 MovieClipUses:505 479 480 506 507 508Used by:510
Symbol 510 MovieClip {PrisonguardReady_fla.Timeline_94}Uses:479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 509Used by:579  Timeline
Symbol 511 GraphicUsed by:536
Symbol 512 GraphicUsed by:536
Symbol 513 GraphicUsed by:536
Symbol 514 GraphicUsed by:536
Symbol 515 GraphicUsed by:536
Symbol 516 GraphicUsed by:536
Symbol 517 GraphicUsed by:536
Symbol 518 GraphicUsed by:536
Symbol 519 GraphicUsed by:536
Symbol 520 GraphicUsed by:536
Symbol 521 GraphicUsed by:536
Symbol 522 GraphicUsed by:536
Symbol 523 GraphicUsed by:536
Symbol 524 GraphicUsed by:536
Symbol 525 GraphicUsed by:536
Symbol 526 GraphicUsed by:536
Symbol 527 GraphicUsed by:536
Symbol 528 GraphicUsed by:536
Symbol 529 GraphicUsed by:536
Symbol 530 GraphicUsed by:536
Symbol 531 GraphicUsed by:536
Symbol 532 GraphicUsed by:536
Symbol 533 GraphicUsed by:535
Symbol 534 GraphicUsed by:535
Symbol 535 MovieClipUses:533 534Used by:536
Symbol 536 MovieClip {PrisonguardReady_fla.Timeline_96}Uses:511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 535Used by:579  Timeline
Symbol 537 GraphicUsed by:556
Symbol 538 GraphicUsed by:556
Symbol 539 GraphicUsed by:555 556
Symbol 540 GraphicUsed by:556
Symbol 541 GraphicUsed by:556
Symbol 542 GraphicUsed by:556
Symbol 543 GraphicUsed by:556
Symbol 544 GraphicUsed by:556
Symbol 545 GraphicUsed by:556
Symbol 546 GraphicUsed by:556
Symbol 547 GraphicUsed by:556
Symbol 548 GraphicUsed by:556
Symbol 549 GraphicUsed by:556
Symbol 550 GraphicUsed by:556
Symbol 551 GraphicUsed by:555
Symbol 552 GraphicUsed by:555
Symbol 553 GraphicUsed by:555
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClipUses:551 539 552 553 554Used by:556
Symbol 556 MovieClip {PrisonguardReady_fla.Timeline_98}Uses:537 538 539 540 541 542 543 544 545 546 547 548 549 550 555Used by:579  Timeline
Symbol 557 GraphicUsed by:562
Symbol 558 GraphicUsed by:562
Symbol 559 GraphicUsed by:562
Symbol 560 GraphicUsed by:562
Symbol 561 GraphicUsed by:562
Symbol 562 MovieClipUses:557 34 35 36 558 559 37 560 561Used by:563
Symbol 563 MovieClip {PrisonguardReady_fla.Timeline_100}Uses:33 34 35 36 37 38 39 40 41 42 562Used by:579  Timeline
Symbol 564 GraphicUsed by:578
Symbol 565 GraphicUsed by:577 578
Symbol 566 GraphicUsed by:578
Symbol 567 GraphicUsed by:577 578
Symbol 568 GraphicUsed by:578
Symbol 569 GraphicUsed by:577 578
Symbol 570 GraphicUsed by:578
Symbol 571 GraphicUsed by:577
Symbol 572 GraphicUsed by:577
Symbol 573 GraphicUsed by:577
Symbol 574 GraphicUsed by:577
Symbol 575 GraphicUsed by:577
Symbol 576 GraphicUsed by:577
Symbol 577 MovieClipUses:571 565 567 572 569 573 574 575 576Used by:578
Symbol 578 MovieClip {PrisonguardReady_fla.Timeline_102}Uses:564 565 566 567 568 569 570 577Used by:579  Timeline
Symbol 579 MovieClip {EnemyID1}Uses:442 455 472 478 510 536 556 563 578Used by:Timeline
Symbol 580 GraphicUsed by:602
Symbol 581 GraphicUsed by:583
Symbol 582 GraphicUsed by:583
Symbol 583 ButtonUses:581 582Used by:602
Symbol 584 GraphicUsed by:594
Symbol 585 GraphicUsed by:594
Symbol 586 GraphicUsed by:594
Symbol 587 GraphicUsed by:594
Symbol 588 GraphicUsed by:594
Symbol 589 GraphicUsed by:594
Symbol 590 GraphicUsed by:594
Symbol 591 GraphicUsed by:594
Symbol 592 GraphicUsed by:594
Symbol 593 GraphicUsed by:594
Symbol 594 MovieClipUses:584 585 586 587 588 589 590 591 592 593Used by:595 597
Symbol 595 MovieClipUses:594Used by:602
Symbol 596 GraphicUsed by:602
Symbol 597 MovieClipUses:594Used by:602
Symbol 598 GraphicUsed by:601
Symbol 599 GraphicUsed by:600
Symbol 600 MovieClipUses:599Used by:601
Symbol 601 MovieClipUses:598 600Used by:602
Symbol 602 MovieClip {MenuID}Uses:580 583 595 596 597 12 601Used by:Timeline
Symbol 603 MovieClipUses:236Used by:609 623
Symbol 604 GraphicUsed by:606
Symbol 605 GraphicUsed by:606
Symbol 606 ButtonUses:604 605Used by:609
Symbol 607 GraphicUsed by:608
Symbol 608 MovieClipUses:607Used by:609
Symbol 609 MovieClip {PauseID}Uses:603 606 608Used by:Timeline
Symbol 610 GraphicUsed by:623
Symbol 611 GraphicUsed by:613
Symbol 612 GraphicUsed by:613
Symbol 613 MovieClipUses:611 612Used by:623
Symbol 614 GraphicUsed by:615
Symbol 615 MovieClipUses:614Used by:616
Symbol 616 MovieClipUses:615Used by:623
Symbol 617 GraphicUsed by:621
Symbol 618 GraphicUsed by:621
Symbol 619 GraphicUsed by:621
Symbol 620 GraphicUsed by:621
Symbol 621 ButtonUses:617 618 619 620Used by:623 647
Symbol 622 MovieClipUses:126 370 129 371 372 373 374 127 309 375 125 128 376 307 377 378 379 380 381 382 383 384 385 386 387 388 389 390 318 308 310 311 312 313 314 315 316 317 391 392 393 394 323 324 325 326 327 328 329 130 131 132 133 134 135 136 139 140 141 330 331 278 332 333 334 335 336 337 338 341 342 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365Used by:623
Symbol 623 MovieClip {HelpID}Uses:603 610 613 616 621 50 622Used by:Timeline
Symbol 624 GraphicUsed by:625
Symbol 625 MovieClip {RadarID}Uses:624 222 89Used by:Timeline
Symbol 626 EditableTextUses:102Used by:627
Symbol 627 MovieClip {TextID}Uses:626Used by:Timeline
Symbol 628 GraphicUsed by:636
Symbol 629 GraphicUsed by:630
Symbol 630 MovieClipUses:629Used by:636
Symbol 631 GraphicUsed by:635
Symbol 632 GraphicUsed by:635
Symbol 633 GraphicUsed by:635
Symbol 634 GraphicUsed by:635
Symbol 635 ButtonUses:631 632 633 634Used by:636
Symbol 636 MovieClip {NextLevelID}Uses:628 630 635 89Used by:Timeline
Symbol 637 GraphicUsed by:647
Symbol 638 GraphicUsed by:641
Symbol 639 GraphicUsed by:641
Symbol 640 GraphicUsed by:641
Symbol 641 ButtonUses:638 639 640Used by:647
Symbol 642 GraphicUsed by:646
Symbol 643 GraphicUsed by:646
Symbol 644 GraphicUsed by:646
Symbol 645 GraphicUsed by:646
Symbol 646 ButtonUses:642 643 644 645Used by:647
Symbol 647 MovieClip {GameOverID}Uses:637 621 641 646 89 54Used by:Timeline

Instance Names

"IntroPic"Frame 1Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1}
"TimePic"Frame 35Symbol 222 MovieClip
"a"Frame 46Symbol 455 MovieClip {PrisonguardReady_fla.Timeline_88}
"a"Frame 46Symbol 442 MovieClip {PrisonguardReady_fla.Timeline_86}
"MusicNO"Symbol 12 MovieClip {MusicIocID} Frame 1Symbol 6 Button
"MusicOK"Symbol 12 MovieClip {MusicIocID} Frame 1Symbol 11 Button
"Logo"Symbol 89 MovieClip {PrisonguardReady_fla.Gamesbookas2_39} Frame 1Symbol 88 MovieClip {PrisonguardReady_fla.Gamesbookas22_40}
"PlayOn"Symbol 90 MovieClip {HomeID} Frame 1Symbol 50 Button
"MoreGames"Symbol 90 MovieClip {HomeID} Frame 1Symbol 54 Button
"HighScores"Symbol 90 MovieClip {HomeID} Frame 1Symbol 58 Button
"Instruction"Symbol 90 MovieClip {HomeID} Frame 1Symbol 62 Button
"__id3_"Symbol 90 MovieClip {HomeID} Frame 1Symbol 89 MovieClip {PrisonguardReady_fla.Gamesbookas2_39}
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 1Symbol 151 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 14Symbol 151 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 22Symbol 154 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 30Symbol 156 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 36Symbol 158 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 43Symbol 151 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 53Symbol 160 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 60Symbol 162 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 67Symbol 164 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 73Symbol 166 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 80Symbol 168 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 89Symbol 151 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 108Symbol 172 Button
"a"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 120Symbol 156 Button
"IntroLogo"Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1} Frame 1Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2}
"U"Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1} Frame 1Symbol 101 Button
"LoadPic"Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1} Frame 1Symbol 123 MovieClip
"Role"Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1} Frame 1Symbol 144 Button
"Pic"Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1} Frame 20Symbol 190 MovieClip
"a"Symbol 222 MovieClip Frame 1Symbol 221 MovieClip
"HPPic"Symbol 227 MovieClip Frame 1Symbol 222 MovieClip
"a"Symbol 227 MovieClip Frame 1Symbol 225 MovieClip
"BackMap"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 215 MovieClip
"a1"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 227 MovieClip
"a2"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 227 MovieClip
"a0"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 227 MovieClip
"a3"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 227 MovieClip
"a4"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 227 MovieClip
"Y1"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 232 MovieClip
"Y2"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 232 MovieClip
"Y3"Symbol 233 MovieClip {Level1ID} Frame 1Symbol 232 MovieClip
"a"Symbol 238 MovieClip Frame 1Symbol 225 MovieClip
"HPPic"Symbol 238 MovieClip Frame 1Symbol 222 MovieClip
"Middle"Symbol 241 MovieClip Frame 1Symbol 240 MovieClip
"Up"Symbol 241 MovieClip Frame 1Symbol 240 MovieClip
"Down"Symbol 241 MovieClip Frame 1Symbol 240 MovieClip
"Middle2"Symbol 241 MovieClip Frame 1Symbol 240 MovieClip
"a5"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a6"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a7"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a8"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a9"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a0"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a1"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a2"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a3"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"a4"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 238 MovieClip
"Y1"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 232 MovieClip
"Ladder1"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 241 MovieClip
"Ladder2"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 241 MovieClip
"Y2"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 232 MovieClip
"Y3"Symbol 242 MovieClip {Level2ID} Frame 1Symbol 232 MovieClip
"a"Symbol 246 MovieClip Frame 1Symbol 225 MovieClip
"HPPic"Symbol 246 MovieClip Frame 1Symbol 222 MovieClip
"a9"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a10"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a11"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a12"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a13"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a4"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a5"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a6"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a7"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a8"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a3"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a2"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a1"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"a0"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 246 MovieClip
"Y1"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 232 MovieClip
"Ladder1"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 241 MovieClip
"Ladder2"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 241 MovieClip
"Ladder3"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 241 MovieClip
"Ladder4"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 241 MovieClip
"Y2"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 232 MovieClip
"Y3"Symbol 247 MovieClip {Level3ID} Frame 1Symbol 232 MovieClip
"a"Symbol 251 MovieClip Frame 1Symbol 225 MovieClip
"HPPic"Symbol 251 MovieClip Frame 1Symbol 222 MovieClip
"a10"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a11"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a12"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a13"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a14"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a5"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a6"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a7"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a8"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a9"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a0"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a1"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a2"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a3"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"a4"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 251 MovieClip
"Y1"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 232 MovieClip
"Ladder1"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 241 MovieClip
"Ladder2"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 241 MovieClip
"Ladder3"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 241 MovieClip
"Ladder4"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 241 MovieClip
"Y2"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 232 MovieClip
"Y3"Symbol 252 MovieClip {Level4ID} Frame 1Symbol 232 MovieClip
"a"Symbol 257 MovieClip Frame 1Symbol 225 MovieClip
"HPPic"Symbol 257 MovieClip Frame 1Symbol 222 MovieClip
"a10"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a11"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a12"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a13"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a14"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a5"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a6"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a7"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a8"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a9"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a0"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a1"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a2"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a3"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"a4"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 257 MovieClip
"Y1"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 232 MovieClip
"Ladder1"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 241 MovieClip
"Ladder2"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 241 MovieClip
"Ladder3"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 241 MovieClip
"Ladder4"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 241 MovieClip
"Y2"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 232 MovieClip
"Y3"Symbol 258 MovieClip {Level5ID} Frame 1Symbol 232 MovieClip
"Role"Symbol 396 MovieClip {RoleID} Frame 1Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61}
"Hit"Symbol 396 MovieClip {RoleID} Frame 1Symbol 240 MovieClip
"a"Symbol 410 MovieClip {BugID} Frame 1Symbol 409 MovieClip
"a"Symbol 418 MovieClip {ScoreGifID} Frame 1Symbol 417 MovieClip {PrisonguardReady_fla.Timeline_84}
"a"Symbol 579 MovieClip {EnemyID1} Frame 1Symbol 442 MovieClip {PrisonguardReady_fla.Timeline_86}
"a"Symbol 579 MovieClip {EnemyID1} Frame 2Symbol 455 MovieClip {PrisonguardReady_fla.Timeline_88}
"a"Symbol 579 MovieClip {EnemyID1} Frame 3Symbol 472 MovieClip {PrisonguardReady_fla.Timeline_90}
"a"Symbol 579 MovieClip {EnemyID1} Frame 4Symbol 478 MovieClip {PrisonguardReady_fla.Timeline_92}
"a"Symbol 579 MovieClip {EnemyID1} Frame 5Symbol 510 MovieClip {PrisonguardReady_fla.Timeline_94}
"a"Symbol 579 MovieClip {EnemyID1} Frame 6Symbol 536 MovieClip {PrisonguardReady_fla.Timeline_96}
"a"Symbol 579 MovieClip {EnemyID1} Frame 7Symbol 556 MovieClip {PrisonguardReady_fla.Timeline_98}
"a"Symbol 579 MovieClip {EnemyID1} Frame 8Symbol 563 MovieClip {PrisonguardReady_fla.Timeline_100}
"a"Symbol 579 MovieClip {EnemyID1} Frame 9Symbol 578 MovieClip {PrisonguardReady_fla.Timeline_102}
"a0"Symbol 595 MovieClip Frame 1Symbol 594 MovieClip
"a1"Symbol 595 MovieClip Frame 1Symbol 594 MovieClip
"a2"Symbol 595 MovieClip Frame 1Symbol 594 MovieClip
"a3"Symbol 595 MovieClip Frame 1Symbol 594 MovieClip
"a4"Symbol 595 MovieClip Frame 1Symbol 594 MovieClip
"a5"Symbol 595 MovieClip Frame 1Symbol 594 MovieClip
"a6"Symbol 595 MovieClip Frame 1Symbol 594 MovieClip
"a0"Symbol 597 MovieClip Frame 1Symbol 594 MovieClip
"a1"Symbol 597 MovieClip Frame 1Symbol 594 MovieClip
"a2"Symbol 597 MovieClip Frame 1Symbol 594 MovieClip
"Pause"Symbol 602 MovieClip {MenuID} Frame 1Symbol 583 Button
"Num"Symbol 602 MovieClip {MenuID} Frame 1Symbol 595 MovieClip
"Level"Symbol 602 MovieClip {MenuID} Frame 1Symbol 597 MovieClip
"MusicPic"Symbol 602 MovieClip {MenuID} Frame 1Symbol 12 MovieClip {MusicIocID}
"TimePic"Symbol 602 MovieClip {MenuID} Frame 1Symbol 601 MovieClip
"Continue"Symbol 609 MovieClip {PauseID} Frame 1Symbol 606 Button
"MenuOn"Symbol 623 MovieClip {HelpID} Frame 1Symbol 621 Button
"PlayOn"Symbol 623 MovieClip {HelpID} Frame 1Symbol 50 Button
"a0"Symbol 625 MovieClip {RadarID} Frame 1Symbol 222 MovieClip
"a1"Symbol 625 MovieClip {RadarID} Frame 1Symbol 222 MovieClip
"a2"Symbol 625 MovieClip {RadarID} Frame 1Symbol 222 MovieClip
"a3"Symbol 625 MovieClip {RadarID} Frame 1Symbol 222 MovieClip
"a4"Symbol 625 MovieClip {RadarID} Frame 1Symbol 222 MovieClip
"__id2_"Symbol 625 MovieClip {RadarID} Frame 1Symbol 89 MovieClip {PrisonguardReady_fla.Gamesbookas2_39}
"a5"Symbol 625 MovieClip {RadarID} Frame 2Symbol 222 MovieClip
"a6"Symbol 625 MovieClip {RadarID} Frame 2Symbol 222 MovieClip
"a7"Symbol 625 MovieClip {RadarID} Frame 2Symbol 222 MovieClip
"a8"Symbol 625 MovieClip {RadarID} Frame 2Symbol 222 MovieClip
"a9"Symbol 625 MovieClip {RadarID} Frame 2Symbol 222 MovieClip
"a10"Symbol 625 MovieClip {RadarID} Frame 3Symbol 222 MovieClip
"a11"Symbol 625 MovieClip {RadarID} Frame 3Symbol 222 MovieClip
"a12"Symbol 625 MovieClip {RadarID} Frame 3Symbol 222 MovieClip
"a13"Symbol 625 MovieClip {RadarID} Frame 3Symbol 222 MovieClip
"a5"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a6"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a7"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a8"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a9"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a10"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a11"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a12"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a13"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"a14"Symbol 625 MovieClip {RadarID} Frame 4Symbol 222 MovieClip
"txt"Symbol 627 MovieClip {TextID} Frame 1Symbol 626 EditableText
"NextLevel"Symbol 636 MovieClip {NextLevelID} Frame 1Symbol 635 Button
"__id1_"Symbol 636 MovieClip {NextLevelID} Frame 1Symbol 89 MovieClip {PrisonguardReady_fla.Gamesbookas2_39}
"MenuOn"Symbol 647 MovieClip {GameOverID} Frame 1Symbol 621 Button
"PlayAgian"Symbol 647 MovieClip {GameOverID} Frame 1Symbol 641 Button
"SubmitHighscoreOn"Symbol 647 MovieClip {GameOverID} Frame 1Symbol 646 Button
"__id0_"Symbol 647 MovieClip {GameOverID} Frame 1Symbol 89 MovieClip {PrisonguardReady_fla.Gamesbookas2_39}
"MoreGames"Symbol 647 MovieClip {GameOverID} Frame 1Symbol 54 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.

Labels

"GameFrame"Frame 96
"gamesclub"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 1
"funnygames"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 12
"giocare"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 20
"hry"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 28
"sk-hry"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 33
"jatekok"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 39
"jeuxgratuits"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 46
"jocuri"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 56
"igriigri"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 63
"lege"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 70
"spiel"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 76
"spelletje"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 83
"spille"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 92
"flashgierki"Symbol 87 MovieClip {PrisonguardReady_fla.webSite_41} Frame 102
"gamesclub"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 1
"funnygames"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 12
"giocare"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 20
"hry"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 28
"jatekok"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 34
"jeuxgratuits"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 41
"jocuri"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 51
"igriigri"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 58
"lege"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 65
"spiel"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 71
"spelletje"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 78
"spille"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 87
"flashgierki"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 100
"sk-hry"Symbol 99 MovieClip {PrisonguardReady_fla.webSiteGamesClub2as2_2} Frame 109
"gamesclub"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 1
"funnygames"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 14
"giocare"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 22
"hry"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 30
"jatekok"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 36
"jeuxgratuits"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 43
"jocuri"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 53
"igriigri"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 60
"lege"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 67
"spiel"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 73
"spelletje"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 80
"spille"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 89
"flashgierki"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 108
"sk-hry"Symbol 173 MovieClip {PrisonguardReady_fla.con_mcGamesClub2as2_9} Frame 120
"gamesclub"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 1
"funnygames"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 12
"giocare"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 20
"hry"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 28
"jatekok"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 34
"jeuxgratuits"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 41
"jocuri"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 51
"igriigri"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 58
"lege"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 65
"spiel"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 71
"spelletje"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 78
"spille"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 87
"flashgierki"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 103
"sk-hry"Symbol 187 MovieClip {PrisonguardReady_fla.playfreeonlinegames_24} Frame 115
"ReadyPlay"Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1} Frame 20
"End"Symbol 191 MovieClip {PrisonguardReady_fla.GamesBookLoader_1} Frame 35
"Bug1"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 4
"Bug2"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 10
"Crawl"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 16
"G1"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 60
"G2"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 67
"G3"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 85
"G4"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 95
"G5"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 110
"Back1"Symbol 395 MovieClip {PrisonguardReady_fla.Timeline_61} Frame 161
"Back"Symbol 442 MovieClip {PrisonguardReady_fla.Timeline_86} Frame 79
"Fear"Symbol 442 MovieClip {PrisonguardReady_fla.Timeline_86} Frame 84
"Back"Symbol 455 MovieClip {PrisonguardReady_fla.Timeline_88} Frame 47
"Fear"Symbol 455 MovieClip {PrisonguardReady_fla.Timeline_88} Frame 52
"Back"Symbol 472 MovieClip {PrisonguardReady_fla.Timeline_90} Frame 65
"Fear"Symbol 472 MovieClip {PrisonguardReady_fla.Timeline_90} Frame 66
"Back"Symbol 478 MovieClip {PrisonguardReady_fla.Timeline_92} Frame 79
"Fear"Symbol 478 MovieClip {PrisonguardReady_fla.Timeline_92} Frame 84
"Back"Symbol 510 MovieClip {PrisonguardReady_fla.Timeline_94} Frame 57
"Fear"Symbol 510 MovieClip {PrisonguardReady_fla.Timeline_94} Frame 63
"Back"Symbol 536 MovieClip {PrisonguardReady_fla.Timeline_96} Frame 65
"Fear"Symbol 536 MovieClip {PrisonguardReady_fla.Timeline_96} Frame 70
"Back"Symbol 556 MovieClip {PrisonguardReady_fla.Timeline_98} Frame 105
"Fear"Symbol 556 MovieClip {PrisonguardReady_fla.Timeline_98} Frame 111
"Back"Symbol 563 MovieClip {PrisonguardReady_fla.Timeline_100} Frame 70
"Fear"Symbol 563 MovieClip {PrisonguardReady_fla.Timeline_100} Frame 75
"Back"Symbol 578 MovieClip {PrisonguardReady_fla.Timeline_102} Frame 60
"Fear"Symbol 578 MovieClip {PrisonguardReady_fla.Timeline_102} Frame 65




http://swfchan.com/22/107864/info.shtml
Created: 16/3 -2019 02:26:16 Last modified: 16/3 -2019 02:26:16 Server time: 05/05 -2024 22:05:30