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

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

armor-hero-water-pursuit.swf

This is the info page for
Flash #111419

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


ActionScript [AS3]
Section 1
//ByteArrayAsset (mx.core.ByteArrayAsset) package mx.core { import flash.utils.*; public class ByteArrayAsset extends ByteArray implements IFlexAsset { mx_internal static const VERSION:String = "3.2.0.3958"; public function ByteArrayAsset(){ super(); } } }//package mx.core
Section 2
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.2.0.3958"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){ super(); this.left = left; this.top = top; this.right = right; this.bottom = bottom; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 3
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "3.2.0.3958"; public function FlexMovieClip(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 4
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 5
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 6
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.display.*; import flash.geom.*; import flash.accessibility.*; import flash.events.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(void:Point):Point; function get name():String; function set width(flash.display:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(flash.display:String):void; function set scaleX(flash.display:Number):void; function set scaleY(flash.display:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(flash.display:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(void:Point):Point; function get height():Number; function set blendMode(flash.display:String):void; function get parent():DisplayObjectContainer; function getBounds(String:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(flash.display:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(flash.display:Number):void; function set accessibilityProperties(flash.display:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(flash.display:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(flash.display:Number):void; function set mask(flash.display:DisplayObject):void; function getRect(String:DisplayObject):Rectangle; function get alpha():Number; function set transform(flash.display:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean; function set opaqueBackground(flash.display:Object):void; function set visible(flash.display:Boolean):void; function get mask():DisplayObject; function set x(flash.display:Number):void; function set y(flash.display:Number):void; function get transform():Transform; function set filters(flash.display:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(flash.display:Number):void; function get stage():Stage; } }//package mx.core
Section 7
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(C:\autobuild\3.2.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get isDocument():Boolean; function set repeaters(C:\autobuild\3.2.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function initializeRepeaterArrays(C:\autobuild\3.2.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(C:\autobuild\3.2.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 8
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.2.0.3958"; public function MovieClipAsset(){ super(); _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(newWidth:Number, newHeight:Number):void{ width = newWidth; height = newHeight; } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 9
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset) package mx.core { import flash.display.*; import flash.utils.*; import flash.events.*; import flash.system.*; public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject { protected var initialHeight:Number;// = 0 private var loader:Loader;// = null private var initialized:Boolean;// = false protected var initialWidth:Number;// = 0 private var requestedHeight:Number; private var requestedWidth:Number; mx_internal static const VERSION:String = "3.2.0.3958"; public function MovieClipLoaderAsset(){ super(); var loaderContext:LoaderContext = new LoaderContext(); loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); if (("allowLoadBytesCodeExecution" in loaderContext)){ loaderContext["allowLoadBytesCodeExecution"] = true; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.loadBytes(movieClipData, loaderContext); addChild(loader); } override public function get width():Number{ if (!initialized){ return (initialWidth); }; return (super.width); } override public function set width(value:Number):void{ if (!initialized){ requestedWidth = value; } else { loader.width = value; }; } override public function get measuredHeight():Number{ return (initialHeight); } private function completeHandler(event:Event):void{ initialized = true; initialWidth = loader.width; initialHeight = loader.height; if (!isNaN(requestedWidth)){ loader.width = requestedWidth; }; if (!isNaN(requestedHeight)){ loader.height = requestedHeight; }; dispatchEvent(event); } override public function set height(value:Number):void{ if (!initialized){ requestedHeight = value; } else { loader.height = value; }; } override public function get measuredWidth():Number{ return (initialWidth); } override public function get height():Number{ if (!initialized){ return (initialHeight); }; return (super.height); } public function get movieClipData():ByteArray{ return (null); } } }//package mx.core
Section 10
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 11
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.2.0.3958"; private static var counter:int = 0; public function NameUtil(){ super(); } public static function displayObjectToString(displayObject:DisplayObject):String{ var result:String; var o:DisplayObject; var s:String; var indices:Array; var displayObject = displayObject; o = displayObject; while (o != null) { if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){ break; }; s = o.name; if ((o is IRepeaterClient)){ indices = IRepeaterClient(o).instanceIndices; if (indices){ s = (s + (("[" + indices.join("][")) + "]")); }; }; result = ((result == null)) ? s : ((s + ".") + result); o = o.parent; }; //unresolved jump var _slot1 = e; return (result); } public static function createUniqueName(object:Object):String{ if (!object){ return (null); }; var name:String = getQualifiedClassName(object); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; var charCode:int = name.charCodeAt((name.length - 1)); if ((((charCode >= 48)) && ((charCode <= 57)))){ name = (name + "_"); }; return ((name + counter++)); } } }//package mx.utils
Section 12
//Fwad (Fwad) package { import flash.display.*; public class Fwad extends Sprite { private var swf; private var _height:Number;// = 400 private var _width:Number;// = 550 private var Swf:Class; public function Fwad(){ Swf = Fwad_Swf; swf = new Swf(); super(); FWAd_AS3.showAd({container:this, x:0, y:0, wid:_width, hei:_height, starPoolID:"13381", starSubPoolID:"34", adType:"loading", onClickStartBtn:fwAd_onClickStartBtn}); } private function fwAd_onClickStartBtn():void{ addChild(swf); } } }//package
Section 13
//FWAd_AS3 (FWAd_AS3) package { import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.events.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; public class FWAd_AS3 extends Sprite { public var loadingBar_bar:Sprite; public var _FWAd:Object; public var loadingBar:Sprite; private var timeoutId:int;// = -1 public static const loadFrameworkTimeoutTime:int = 8; public static const swfFolder:String = (("http://" + swfDomain) + "/fgAds/"); public static const loadFrameworkTimes:int = 2; public static const ifLoadFrameworkErrorCanPlayGame:Boolean = true; public static const frameworkSWFPath:String = (swfFolder + "Framework.swf"); public static const swfDomain:String = "www.freegameswow.com"; public static const newsSWFPath:String = (swfFolder + "News.swf"); public static const ifAdFailCanPlayGame:Boolean = true; public static const ifAddCallBackErrorCanPlayGame:Boolean = false; public static var xx:int; public static var hei:int; public static var loadFrameworkFailed:Boolean; public static var _stage; public static var id:String; public static var xml:XML; public static var lc_connName:String; public static var onClickStartBtn:Function; public static var yy:int; public static var noShowLogo:Boolean; public static var loadFrameworkSuccess:Boolean; public static var frameworkLoader:Loader; public static var loadGameCompleted:Boolean; public static var AD_TYPE_CONTAINER:String = "container"; public static var AD_TYPE_LOADING:String = "loading"; public static var noShowForbidden:Boolean; public static var hasLoadOnce:Boolean = false; public static var canNotShowAd:Boolean; public static var checkNewsFirstInitIntervalId:int = -1; public static var newsLoader:Loader; public static var frameworkInitFinished:Boolean; public static var _root; public static var newsValues:Object = {x:0, y:0}; public static var wid:int; public static var news_lc:LocalConnection; public static var ifIsLoadingAdShowStartBtn:Boolean; public static var restLoadFrameworkTimes:int; public static var onLoadXML:Function; public static var lc:LocalConnection; public static var lc_sendName:String; public static var adType:String = AD_TYPE_LOADING; public function FWAd_AS3(adValues:Object){ super(); xx = adValues.x; yy = adValues.y; wid = adValues.wid; hei = adValues.hei; id = adValues.id; adType = adValues.adType; ifIsLoadingAdShowStartBtn = adValues.ifIsLoadingAdShowStartBtn; noShowLogo = adValues.noShowLogo; noShowForbidden = adValues.noShowForbidden; if (adValues.onClickCloseBtn){ onClickStartBtn = adValues.onClickCloseBtn; } else { onClickStartBtn = adValues.onClickStartBtn; }; _FWAd = FWAd_AS3; this.addEventListener(Event.ADDED_TO_STAGE, added); } private function added(event:Event):void{ var event = event; this.removeEventListener(Event.ADDED_TO_STAGE, added); this.addEventListener(Event.REMOVED_FROM_STAGE, removed); Security.allowDomain(swfDomain); Security.allowInsecureDomain(swfDomain); fscommand("showMenu", "false"); //unresolved jump var _slot1 = e; _root = stage.getChildAt(0); _stage = stage; _root.contextMenu = new ContextMenu(); _root.contextMenu.hideBuiltInItems(); fscommand("trapallkeys", "true"); //unresolved jump var _slot1 = e; loadGameCompleted = (_root.loaderInfo.bytesLoaded == _root.loaderInfo.bytesTotal); if (frameworkLoader){ frameworkInitFinished = true; checkLoadGameCompleteAndTryStart(); if (frameworkInitFinished){ if (lc){ lc.client = this; lc.send(lc_sendName, "that2this", "reset"); }; }; } else { frameworkLoader = new Loader(); frameworkLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFrameworkComplete); frameworkLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadFrameworkError); restLoadFrameworkTimes = loadFrameworkTimes; loadFramework(); }; this.addChild(frameworkLoader); var loadingBar_hei:Number = 8; var loadingBar_x:Number = 10; var loadingBar_wid:Number = (wid - (2 * loadingBar_x)); loadingBar = new Sprite(); loadingBar.x = loadingBar_x; loadingBar.y = ((hei - loadingBar_hei) - 6); this.addChild(loadingBar); var loadingBar_bottom:Sprite = new Sprite(); loadingBar.addChild(loadingBar_bottom); loadingBar_bar = new Sprite(); loadingBar.addChild(loadingBar_bar); var loadingBar_line:Sprite = new Sprite(); loadingBar.addChild(loadingBar_line); var g:Graphics = loadingBar_bottom.graphics; g.clear(); g.beginFill(0x333333); g.drawRect(0, 0, loadingBar_wid, loadingBar_hei); g.endFill(); g = loadingBar_bar.graphics; g.clear(); g.beginGradientFill("linear", [0xFFFFFF, 16750950], [1, 1], [63, 0xFF], new Matrix(0.006, 0, 0, 1, 0, 0)); loadingBar_bar.rotation = 90; g.drawRect(0, -(loadingBar_wid), loadingBar_hei, loadingBar_wid); g.endFill(); g = loadingBar_line.graphics; g.clear(); g.lineStyle(1, 0x666666); g.drawRect(0, 0, loadingBar_wid, loadingBar_hei); g.endFill(); loadingBar_bar.width = 1; loadingBar_bar.scaleX = 1; switch (adType){ case AD_TYPE_LOADING: break; default: loadingBar.visible = false; break; }; if (loadGameCompleted){ loadingBar.visible = false; } else { _root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadGameProgress); _root.loaderInfo.addEventListener(Event.COMPLETE, loadGameComplete); }; } public function that2this(... _args):void{ var result:*; var args = _args; switch (args[0]){ case "initFinished": frameworkInitFinished = true; lc.send(lc_sendName, "that2this", "confirmInitFinished", getFWAdValuesByNameArr(args.slice(1))); break; case "AsmMachine.run()": result = Runner.runStr16(this, args[2]); lc.send(lc_sendName, "that2this", "AsmMachine.run()", args[1], "success", result); //unresolved jump var _slot1 = e; lc.send(lc_sendName, "that2this", "AsmMachine.run()", args[1], "error", _slot1.toString()); break; case "clickStartBtn": clickStartBtn(); break; case "canNotShowAd": case "noId": canNotShowAd = true; checkLoadGameCompleteAndTryStart(); break; case "xml": xml = new XML(args[1]); //unresolved jump var _slot1 = e; trace(("e=" + _slot1)); if (onLoadXML != null){ onLoadXML(); }; break; }; } private function getFWAdValuesByNameArr(nameArr:Array):Object{ var name:String; var obj:Object = new Object(); for each (name in nameArr) { obj[name] = FWAd_AS3[name]; }; return (obj); } private function clickStartBtn():void{ if (onClickStartBtn != null){ onClickStartBtn(); onClickStartBtn = null; }; if (this.parent){ this.parent.removeChild(this); }; this.visible = false; this.x = -10000; } private function loadGameProgress(event:ProgressEvent):void{ var _local2:Number; switch (adType){ case AD_TYPE_LOADING: _local2 = (event.bytesLoaded / event.bytesTotal); loadingBar_bar.scaleX = 1; loadingBar_bar.scaleY = _local2; break; default: _root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadGameProgress); break; }; } private function removed(event:Event):void{ this.removeEventListener(Event.REMOVED_FROM_STAGE, removed); _root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadGameProgress); _root.loaderInfo.removeEventListener(Event.COMPLETE, loadGameComplete); onClickStartBtn = null; if (frameworkInitFinished){ if (lc){ lc.send(lc_sendName, "that2this", "removed"); lc.client = new Object(); }; }; } private function loadFrameworkError(event:IOErrorEvent):void{ var event = event; trace(("剩余尝试加载次数:" + restLoadFrameworkTimes)); clearTimeout(timeoutId); if (--restLoadFrameworkTimes < 0){ loadFrameworkFailed = true; checkLoadGameCompleteAndTryStart(); } else { frameworkLoader.close(); //unresolved jump var _slot1 = e; loadFramework(); }; } private function loadFrameworkComplete(event:Event):void{ this.addEventListener(Event.ENTER_FRAME, checkFrameworkFirstInit); } private function checkFrameworkFirstInit(event:Event){ var movie:AVM1Movie; var event = event; movie = (frameworkLoader.content as AVM1Movie); //unresolved jump var _slot1 = e; return; var ran:int = Math.round((movie.getBounds(movie).x / 10)); if (ran < -1000){ this.removeEventListener(Event.ENTER_FRAME, checkFrameworkFirstInit); lc_connName = ("_FWAd" + ran); lc_sendName = ("_Framework" + ran); lc = new LocalConnection(); lc.allowDomain("*"); lc.addEventListener(StatusEvent.STATUS, lc_onStatus); lc.connect(lc_connName); lc.client = this; loadFrameworkSuccess = true; clearTimeout(timeoutId); checkLoadGameCompleteAndTryStart(); }; } private function checkLoadGameCompleteAndTryStart():void{ if (loadGameCompleted){ if (loadFrameworkFailed){ trace("加载 framework 失败"); if (((ifLoadFrameworkErrorCanPlayGame) || (checkIsOurDomain()))){ trace("自动跳到游戏"); clickStartBtn(); } else { trace("不自动跳到游戏"); }; } else { if (canNotShowAd){ if (checkIsOurDomain()){ clickStartBtn(); }; }; }; }; } private function loadFrameworkTimeout():void{ trace("loadFrameworkTimeout"); loadFrameworkError(null); } private function loadGameComplete(event:Event):void{ hasLoadOnce = false; loadGameCompleted = true; loadingBar.visible = false; checkLoadGameCompleteAndTryStart(); if (frameworkInitFinished){ lc.send(lc_sendName, "that2this", "loadGameCompleted"); }; } private function loadFramework():void{ frameworkLoader.load(new URLRequest(frameworkSWFPath)); clearTimeout(timeoutId); timeoutId = setTimeout(loadFrameworkTimeout, (loadFrameworkTimeoutTime * 1000)); } private function lc_onStatus(event:StatusEvent):void{ switch (event.level){ case "error": trace(("lc onStatus 出错 event=" + event)); break; }; } public function closeAd():void{ clickStartBtn(); } private function checkIsOurDomain():Boolean{ var url:String; if (_root.loaderInfo){ url = _root.loaderInfo.url.toLowerCase(); return ((((((((url.indexOf(".youyouwin.com/") > 0)) || ((url.indexOf(".7k7k.com/") > 0)))) || ((url.indexOf(".flash8.net/") > 0)))) || ((url.indexOf("file:///") == 0)))); }; return (true); } public static function showNews(_newsValues:Object=null):void{ var valueName:String; clearInterval(checkNewsFirstInitIntervalId); newsValues.wid = wid; for (valueName in _newsValues) { newsValues[valueName] = _newsValues[valueName]; }; if (newsValues.id){ } else { newsValues.id = (id + "_news"); }; var container:Sprite = ((newsValues.container) || (_root)); if (container){ newsLoader = new Loader(); container.addChild(newsLoader); newsLoader.x = newsValues.x; newsLoader.y = newsValues.y; newsLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadNewsComplete); newsLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadNewsError); newsLoader.load(new URLRequest(newsSWFPath)); } else { trace("未指定容器,请改成例如: FWAd_AS3.showNews({container:root}"); }; news_lc = new LocalConnection(); news_lc.addEventListener(StatusEvent.STATUS, news_lc_status); } public static function checkNewsFirstInit():void{ var movie:AVM1Movie; movie = (newsLoader.content as AVM1Movie); //unresolved jump var _slot1 = e; return; var ran:int = Math.round((movie.getBounds(movie).x / 10)); if (ran < -1000){ clearInterval(checkNewsFirstInitIntervalId); news_lc.send(("_News" + ran), "that2this", "newsValues", newsValues); }; } public static function showAd(_adValues:Object=null):void{ var valueName:String; var adValues:Object = {x:xx, y:yy, wid:wid, hei:hei, id:id, adType:AD_TYPE_CONTAINER}; for (valueName in _adValues) { adValues[valueName] = _adValues[valueName]; }; if (_adValues){ if (((_adValues.starPoolID) && (_adValues.starSubPoolID))){ adValues.id = ((_adValues.starPoolID + "\n") + _adValues.starSubPoolID); }; }; var container:Sprite = ((adValues.container) || (_root)); if (container){ if (adValues.adType == AD_TYPE_LOADING){ if (hasLoadOnce){ trace("缓冲广告不允许短时间内重复初始化"); return; }; hasLoadOnce = true; }; } else { trace("未指定容器,请改成例如: FWAd_AS3.showAd({container:root}"); return; }; container.addChild(new FWAd_AS3(adValues)); } public static function loadNewsError(event:IOErrorEvent):void{ } public static function loadNewsComplete(event:Event):void{ clearInterval(checkNewsFirstInitIntervalId); checkNewsFirstInitIntervalId = setInterval(checkNewsFirstInit, 100); } public static function news_lc_status(... _args):void{ } public static function getParam(paramName:String):String{ if (xml){ return (String(xml.attribute(paramName))); }; trace("xml未加载完毕, 或xml加载失败"); return (null); } } }//package import flash.display.*; import flash.utils.*; import flash.events.*; import flash.net.*; import flash.system.*; import flash.text.*; class Runner { private static var numData:ByteArray = new ByteArray(); private static var offset:int; private static var codeData:ByteArray; private function Runner(){ super(); } private static function readDoubleRev():Number{ numData[3] = codeData[offset++]; numData[2] = codeData[offset++]; numData[1] = codeData[offset++]; numData[0] = codeData[offset++]; numData[7] = codeData[offset++]; numData[6] = codeData[offset++]; numData[5] = codeData[offset++]; numData[4] = codeData[offset++]; numData.position = 0; return (numData.readDouble()); } public static function run(thisObj, _codeData:ByteArray){ var prevRegId:int; var regStr:String; var i:int; var L:int; var varName:String; var obj:*; var value:*; var value1:*; var value2:*; var register:int; var registerStr:String; var fName:String; var count:int; var classObj:Class; var fObj:*; var BranchOffset:int; var Length:int; var op:int; var _local27:int; codeData = _codeData; if (codeData.length > 0){ } else { return; }; codeData.uncompress(); var stack:Array = new Array(); var version:int = codeData.readShort(); var registerArr:Array = codeData.readObject(); var constStrArr:Array = codeData.readObject(); if (registerArr){ prevRegId = registerArr.length; while (--prevRegId >= 0) { regStr = registerArr[prevRegId]; if (regStr === null){ } else { switch (regStr){ case "this": case "'this'": registerArr[prevRegId] = thisObj; break; case "arguments": case "'arguments'": throw (new Error("暂不支持 arguments")); case "super": case "'super'": throw (new Error("暂不支持 super")); case "_root": registerArr[prevRegId] = thisObj.root; break; case "_parent": registerArr[prevRegId] = thisObj.parent; break; case "_global": throw (new Error("暂不支持 _global")); }; }; }; } else { registerArr = new Array(); }; var argsArr:Array = new Array(); offset = codeData.position; var endOffset:int = codeData.length; while (offset < endOffset) { op = codeData[offset++]; if (op >= 128){ var _temp1 = codeData[offset++]; Length = (_temp1 | (codeData[offset++] << 8)); } else { Length = 0; }; switch (op){ case 0: break; case 4: if ((thisObj is MovieClip)){ thisObj.nextFrame(); }; break; case 5: if ((thisObj is MovieClip)){ thisObj.prevFrame(); }; break; case 6: if ((thisObj is MovieClip)){ thisObj.play(); }; break; case 7: if ((thisObj is MovieClip)){ thisObj.stop(); }; break; case 11: value2 = stack.pop(); value1 = stack.pop(); value = (value1 - value2); stack.push(value); break; case 12: value2 = stack.pop(); value1 = stack.pop(); value = (value1 * value2); stack.push(value); break; case 13: value2 = stack.pop(); value1 = stack.pop(); value = (value1 / value2); stack.push(value); break; case 16: value2 = stack.pop(); value1 = stack.pop(); value = ((value1) && (value2)); stack.push(value); break; case 17: value2 = stack.pop(); value1 = stack.pop(); value = ((value1) || (value2)); stack.push(value); break; case 18: value = stack.pop(); value = !(value); stack.push(value); break; case 19: value2 = stack.pop(); value1 = stack.pop(); value = (value1 == value2); stack.push(value); break; case 23: stack.pop(); break; case 24: value = stack.pop(); value = int(value); stack.push(value); break; case 28: cacheVariable(stack); break; case 29: throw (new Error("不支持 setVariable")); case 38: value = stack.pop(); trace(value); break; case 48: value = stack.pop(); value = int(value); if (value <= 0){ value = 0; } else { value = int((Math.random() * value)); }; stack.push(value); break; case 50: value = stack.pop(); value = value.charCodeAt(0); stack.push(value); break; case 51: value = stack.pop(); value = String.fromCharCode(value); stack.push(value); break; case 52: value = getTimer(); stack.push(value); break; case 61: fName = getFNameAndArgs(stack, argsArr); value = thisObj[fName].apply(thisObj, argsArr); stack.push(value); break; case 62: value = stack.pop(); return (value); case 63: value2 = stack.pop(); value1 = stack.pop(); value = (value1 % value2); stack.push(value); break; case 64: fName = getFNameAndArgs(stack, argsArr); value = newClass(fName, argsArr); stack.push(value); break; case 66: count = stack.pop(); value = new Array(); while (--count >= 0) { value.push(stack.pop()); }; stack.push(value); break; case 67: count = stack.pop(); value = new Object(); while (--count >= 0) { value2 = stack.pop(); value1 = stack.pop(); value[value1] = value2; }; stack.push(value); break; case 68: value = stack.pop(); value = typeof(value); stack.push(value); break; case 71: value2 = stack.pop(); value1 = stack.pop(); value = (value1 + value2); stack.push(value); break; case 72: value2 = stack.pop(); value1 = stack.pop(); value = (value1 < value2); stack.push(value); break; case 73: value2 = stack.pop(); value1 = stack.pop(); value = (value1 == value2); stack.push(value); break; case 74: value = stack.pop(); value = Number(value); stack.push(value); break; case 75: value = stack.pop(); value = String(value); stack.push(value); break; case 76: value = stack.pop(); stack.push(value); stack.push(value); break; case 77: value2 = stack.pop(); value1 = stack.pop(); stack.push(value2); stack.push(value1); break; case 78: cacheMember(stack); break; case 79: value2 = stack.pop(); value1 = stack.pop(); value = stack.pop(); value[value1] = value2; break; case 80: value = stack.pop(); value++; stack.push(value); break; case 81: value = stack.pop(); value--; stack.push(value); break; case 82: fName = stack.pop(); fObj = stack.pop(); count = stack.pop(); value = new Array(); while (--count >= 0) { value.push(stack.pop()); }; value = fObj[fName].apply(fObj, value); stack.push(value); break; case 83: varName = cacheMember(stack); stack.pop(); stack.push(varName); fName = getFNameAndArgs(stack, argsArr); value = newClass(fName, argsArr); stack.push(value); break; case 84: value2 = stack.pop(); value1 = stack.pop(); value = (value1 is value2); stack.push(value); break; case 85: obj = stack.pop(); stack.push(null); for (varName in obj) { stack.push(varName); }; break; case 96: value2 = stack.pop(); value1 = stack.pop(); value = (value1 & value2); stack.push(value); break; case 97: value2 = stack.pop(); value1 = stack.pop(); value = (value1 | value2); stack.push(value); break; case 98: value2 = stack.pop(); value1 = stack.pop(); value = (value1 ^ value2); stack.push(value); break; case 99: value2 = stack.pop(); value1 = stack.pop(); value = (value1 << value2); stack.push(value); break; case 100: value2 = stack.pop(); value1 = stack.pop(); value = (value1 >> value2); stack.push(value); break; case 101: value2 = stack.pop(); value1 = stack.pop(); value = (value1 >>> value2); stack.push(value); break; case 102: value2 = stack.pop(); value1 = stack.pop(); value = (value1 === value2); stack.push(value); break; case 103: value2 = stack.pop(); value1 = stack.pop(); value = (value1 > value2); stack.push(value); break; case 129: if ((thisObj is MovieClip)){ var _temp2 = codeData[offset++]; thisObj.gotoAndStop(((_temp2 | (codeData[offset++] << 8)) + 1)); } else { offset = (offset + 2); }; break; case 131: value1 = getStr(); value2 = getStr(); if (value1.indexOf("FSCommand:") == 0){ value1 = value1.substr(10); fscommand(value1, value2); } else { if (value2.indexOf("_level") == 0){ } else { navigateToURL(new URLRequest(value1), value2); }; }; break; case 135: register = codeData[offset++]; value = stack[(stack.length - 1)]; registerArr[register] = value; break; case 150: _local27 = (offset + Length); while (offset < _local27) { switch (codeData[offset++]){ case 0: stack.push(getStr()); break; case 1: stack.push(readFloatRev()); break; case 2: stack.push(null); break; case 3: stack.push(undefined); break; case 4: stack.push(registerArr[codeData[offset++]]); break; case 5: stack.push((codeData[offset++]) ? true : false); break; case 6: stack.push(readDoubleRev()); break; case 7: var _temp3 = codeData[offset++]; var _temp4 = (_temp3 | (codeData[offset++] << 8)); var _temp5 = (_temp4 | (codeData[offset++] << 16)); stack.push((_temp5 | (codeData[offset++] << 24))); break; case 8: stack.push(constStrArr[codeData[offset++]]); break; case 9: var _temp6 = codeData[offset++]; stack.push(constStrArr[(_temp6 | (codeData[offset++] << 8))]); break; default: throw (new Error("未处理的 push type")); }; }; break; case 153: var _temp7 = codeData[offset++]; BranchOffset = (_temp7 | (codeData[offset++] << 8)); if ((BranchOffset >>> 15)){ BranchOffset = (BranchOffset | 4294901760); }; offset = (offset + BranchOffset); break; case 157: value = stack.pop(); if (value){ var _temp8 = codeData[offset++]; BranchOffset = (_temp8 | (codeData[offset++] << 8)); if ((BranchOffset >>> 15)){ BranchOffset = (BranchOffset | 4294901760); }; offset = (offset + BranchOffset); } else { offset = (offset + 2); }; break; default: throw (new Error(("暂不支持的 op: " + op))); }; }; return (null); } private static function varName2Obj(varName:String){ var varName = varName; return (getDefinitionByName(varName)); //unresolved jump var _slot1 = e; return (getDefinitionByName(("flash.display." + varName))); //unresolved jump var _slot1 = e; return (getDefinitionByName(("flash.text." + varName))); //unresolved jump var _slot1 = e; return (new GetVariableCache(varName)); } public static function runStr16(thisObj, str16:String){ var arr:Array = str16.split(" "); var codeData:ByteArray = new ByteArray(); var offset:int; for each (str16 in arr) { var _temp1 = offset; offset = (offset + 1); var _local8 = _temp1; codeData[_local8] = int(("0x" + str16)); }; return (run(thisObj, codeData)); } private static function newClass(fName:String, argsArr:Array){ var classObj:Class = (varName2Obj(fName) as Class); switch (argsArr.length){ case 0: return (new (classObj)); case 1: return (new classObj(argsArr[0])); case 2: return (new classObj(argsArr[0], argsArr[1])); case 3: return (new classObj(argsArr[0], argsArr[1], argsArr[2])); case 4: return (new classObj(argsArr[0], argsArr[1], argsArr[2], argsArr[3])); case 5: return (new classObj(argsArr[0], argsArr[1], argsArr[2], argsArr[3], argsArr[4])); case 6: return (new classObj(argsArr[0], argsArr[1], argsArr[2], argsArr[3], argsArr[4], argsArr[5])); case 7: return (new classObj(argsArr[0], argsArr[1], argsArr[2], argsArr[3], argsArr[4], argsArr[5], argsArr[6])); case 8: return (new classObj(argsArr[0], argsArr[1], argsArr[2], argsArr[3], argsArr[4], argsArr[5], argsArr[6], argsArr[7])); case 9: return (new classObj(argsArr[0], argsArr[1], argsArr[2], argsArr[3], argsArr[4], argsArr[5], argsArr[6], argsArr[7], argsArr[8])); case 10: return (new classObj(argsArr[0], argsArr[1], argsArr[2], argsArr[3], argsArr[4], argsArr[5], argsArr[6], argsArr[7], argsArr[8], argsArr[9])); default: throw (new Error(("暂不支持的参数个数: " + argsArr.length))); }; } private static function getFNameAndArgs(stack:Array, argsArr:Array, hasFName:Boolean=true):String{ var fName:String; argsArr.splice(0, argsArr.length); if (hasFName){ fName = stack.pop(); }; var count:int = stack.pop(); while (--count >= 0) { argsArr.push(stack.pop()); }; return (fName); } private static function getStr():String{ var len:int; if (codeData[offset]){ len = 1; do { var _temp1 = len; len = (len + 1); } while (codeData[(offset + _temp1)]); codeData.position = offset; offset = (offset + len); return (codeData.readUTFBytes(len)); }; offset++; return (""); } private static function cacheMember(stack:Array):String{ var varName:String; var value:*; var stack = stack; varName = stack.pop(); var obj:Object = stack.pop(); if ((obj is GetVariableCache)){ varName = (((obj as GetVariableCache).varName + ".") + varName); value = getDefinitionByName(varName); //unresolved jump var _slot1 = e; value = new GetVariableCache(varName); } else { value = obj[varName]; }; stack.push(value); return (varName); } private static function readFloatRev():Number{ numData[3] = codeData[offset++]; numData[2] = codeData[offset++]; numData[1] = codeData[offset++]; numData[0] = codeData[offset++]; numData.position = 0; return (numData.readFloat()); } private static function cacheVariable(stack:Array):String{ var varName:String = stack.pop(); var value:* = varName2Obj(varName); stack.push(value); return (varName); } } class GetVariableCache { public var varName:String; private function GetVariableCache(_varName:String){ super(); varName = _varName; } }
Section 14
//Fwad_Swf (Fwad_Swf) package { import mx.core.*; import flash.utils.*; public class Fwad_Swf extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function Fwad_Swf(){ dataClass = Fwad_Swf_dataClass; super(); initialWidth = (11000 / 20); initialHeight = (8000 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 15
//Fwad_Swf_dataClass (Fwad_Swf_dataClass) package { import mx.core.*; public class Fwad_Swf_dataClass extends ByteArrayAsset { } }//package

Library Items

Symbol 1 BinaryData {Fwad_Swf_dataClass}
Symbol 2 MovieClip {Fwad_Swf}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1457 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
EnableDebugger2 (64)Timeline Frame 131 bytes "u.$1$uJ$L0wTRIwjdjaIYCfZO9ITk.."
DebugMX1 (63)Timeline Frame 1
SerialNumber (41)Timeline Frame 1

Labels

"Fwad"Frame 1




http://swfchan.com/23/111419/info.shtml
Created: 13/3 -2019 04:38:26 Last modified: 13/3 -2019 04:38:26 Server time: 22/12 -2024 08:12:58