<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" frameRate="10" viewSourceURL="srcview/index.html">
    <mx:Script>
        <![CDATA[
            import flash.net.navigateToURL;
            import com.dynamicflash.util.Base64;
            private function loadExe():void{
                var req:URLRequest = new URLRequest(urlLocation.text);
                var loader:URLLoader = new URLLoader();
                loader.dataFormat = URLLoaderDataFormat.BINARY;
                loader.addEventListener(Event.COMPLETE, exeLoaded);
                loader.load(req);
                addEventListener(Event.ENTER_FRAME, loadAni);
            }
            private function loadAni(evt:Event):void{
                if(htmlOut.text == "" || htmlOut.text == "Loading..."){
                    htmlOut.text = "Loading";
                }else{
                    htmlOut.text += ".";
                }
            }
            private function exeLoaded(evt:Event):void{
                removeEventListener(Event.ENTER_FRAME, loadAni);
                var loader:URLLoader = evt.target as URLLoader;
                var byter:ByteArray = loader.data as ByteArray;
                var search:String = byter.readUTFBytes(byter.bytesAvailable);
                var index:int;
                for(var i:int = 0; i<byter.length-11; i++){
                    byter.position = i;
                    if(byter.readUTFBytes(11) == "d8:announce"){
                        trace("found at index", i);
                        index = i;
                    }
                }
                byter.position = 0;
                var bytesout:ByteArray = new ByteArray();
                bytesout.writeBytes(byter, index);
                bytesout.position = 0;
                var outFile:String = Base64.encodeByteArray(bytesout);
                htmlOut.htmlText = '<a href="data:application/x-bittorrent;base64,'+outFile+'"><font color="#0000FF"><u>Click to download torrent</u></font></a>';
            }
        ]]>
    </mx:Script>
    <mx:Label text="Paste url to any Blizzard Downloader EXE application:"/>
    <mx:TextInput id="urlLocation" width="100%"/>
    <mx:Button label="Load and Extract Torrent..." click="loadExe()"/>
    <mx:Text id="htmlOut" width="100%" height="20" textAlign="center"/>
</mx:Application>