package com.totaljerkface.game { import com.hurlant.crypto.symmetric.ButtHoleKey; import com.hurlant.crypto.symmetric.CBCMode; import com.hurlant.crypto.symmetric.ICipher; import com.hurlant.crypto.symmetric.IPad; import com.hurlant.crypto.symmetric.PKCS5; import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; import flash.display.Loader; import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.external.ExternalInterface; import flash.net.URLLoader; import flash.net.URLLoaderDataFormat; import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.net.URLVariables; import flash.utils.ByteArray; import flash.utils.Timer; public class PreLoaderNew extends Sprite { public var continueButton:MovieClip; private var blarb:String = "93b7f60ddaa63cccce503b3c3d490b76"; private var urlLoader:URLLoader; private var loader:Loader; private var _introComplete:Boolean; private var _gameLoaded:Boolean; private var timer:Timer; public function PreLoaderNew() { super(); ExternalInterface.call("console.log","start"); this.init(); } private function getCipher(param1:String, param2:IPad) : ICipher { var _loc3_:ByteArray = new ByteArray(); _loc3_.writeUTFBytes(param1); var _loc4_:CBCMode = new CBCMode(new ButtHoleKey(_loc3_),param2); var _loc5_:ByteArray = new ByteArray(); _loc5_.writeUTFBytes("abcd1234"); _loc4_.IV = _loc5_; return _loc4_; } private function decryptByteArray(param1:ByteArray, param2:String = "") : void { var _loc3_:IPad = new PKCS5(); var _loc4_:ICipher = this.getCipher(param2,_loc3_); _loc3_.setBlockSize(_loc4_.getBlockSize()); _loc4_.decrypt(param1); param1.position = 0; } private function randomNumString(param1:int, param2:int, param3:Boolean) : String { var _loc4_:int = Math.round(Math.random() * (param2 - param1) + param1) - 1; var _loc5_:String = ""; var _loc6_:int = Math.round(Math.random() * 8 + 1); _loc5_ = _loc5_ + _loc6_; var _loc7_:int = 1; while(_loc7_ < _loc4_) { _loc6_ = Math.round(Math.random() * 9); _loc5_ = _loc5_ + _loc6_; _loc7_++; } _loc6_ = Math.round(Math.random() * 4) * 2; if(param3) { _loc6_++; } _loc5_ = _loc5_ + _loc6_; return _loc5_; } private function init() : void { var _loc1_:URLRequest = new URLRequest("http://www.totaljerkface.com/get_level.hw"); _loc1_.method = URLRequestMethod.POST; var _loc2_:URLVariables = new URLVariables(); _loc2_.level_id = 1; _loc2_.action = "get_record"; _loc2_.ip_tracking = this.randomNumString(4,8,false); _loc1_.data = _loc2_; ExternalInterface.call("console.log","1"); var _loc3_:URLLoader = new URLLoader(); _loc3_.dataFormat = URLLoaderDataFormat.BINARY; _loc3_.addEventListener(Event.COMPLETE,this.loadComplete); _loc3_.load(_loc1_); } private function loadComplete(param1:Event) : void { ExternalInterface.call("console.log","2"); var _loc7_:Array = null; var _loc2_:URLLoader = param1.target as URLLoader; _loc2_.removeEventListener(Event.COMPLETE,this.loadComplete); var _loc3_:String = String(_loc2_.data); var _loc4_:String = _loc3_.substr(0,8); if(_loc4_.indexOf("") > -1) { this._errorString = "system_error"; dispatchEvent(new ErrorEvent(ErrorEvent.ERROR)); return; } if(_loc4_.indexOf("failure") > -1) { _loc7_ = _loc3_.split(":"); this._errorString = _loc7_[1]; dispatchEvent(new ErrorEvent(ErrorEvent.ERROR)); return; } var _loc5_:ByteArray = _loc2_.data; this.decryptByteArray(_loc5_,"eatshit2"); _loc5_.uncompress(); var _loc6_:* = _loc5_.readUTFBytes(_loc5_.length); var xml:* = new XML(_loc6_); dispatchEvent(new Event(Event.COMPLETE)); trace("ok"); var textToCopy:String = _loc6_; Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT,textToCopy,false); ExternalInterface.call("console.log",_loc6_); } } }