[Help] optimization function

with last work, I inherited a source files for project, I realized that this source was made after decompiling, help me to optimize this function, because this function hangs browser, help me with oprimization:

this function:

function loadGarmentImage()
{
    for (var _loc4 = 1; _loc4 <= Number(_root.garFile["gar" + _root.sGar + "NumColors"]); ++_loc4)
    {
        if (_root.garColor == _root.garFile["gar" + _root.sGar + "Color" + _loc4 + "ID"])
        {
            _root.selectedGarmentColor = _loc4;
            break;
        } 
    } 
    _root.garFile["gar" + _root.sGar + "Name"] = _root.findAndReplace.findAndReplace("#38;", "&", _root.garFile["gar" + _root.sGar + "Name"]);
    _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "Name"] = _root.findAndReplace.findAndReplace("#38;", "&", _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "Name"]);
    _root.itemSummary.garmentName.text = _root.garFile["gar" + _root.sGar + "Name"];
    _root.itemSummary.garmentColor.text = _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "Name"];
    if (_root.garFile["gar" + _root.sGar + "NoBack"] == 1)
    {
        _root.viewBack._visible = 0;
        _root.backBackground._visible = 0;
        _root.personalizedNamesButton._visible = 0;
        _root.browseDesignsButton._y = _root.personalizedNamesButton._y;
    } 
    if (_root.garFile.gar1FrontYAxis == undefined || _root.garFile.gar1FrontYAxis == "")
    {
        _root.garFile.gar1FrontYAxis = 0;
    } 
    if (_root.garFile.gar1BackYAxis == undefined || _root.garFile.gar1BackYAxis == "")
    {
        _root.garFile.gar1BackYAxis = 0;
    } 
    _root.garFile.gar1FrontYAxis = Number(_root.garFile.gar1FrontYAxis);
    _root.garFile.gar1BackYAxis = Number(_root.garFile.gar1BackYAxis);
    if (_root.garFile["gar" + _root.sGar + "Gender"] == 1)
    {
        _root.namesNumbers.namesMaxWidth = _root.namesNumbers.femaleNamesMaxWidth;
        _root.namesNumbers.numbersMaxWidth = _root.namesNumbers.femaleNumbersMaxWidth;
        _root.namesNumbers.distanceBetweenInch = _root.namesNumbers.distanceBetweenInchFemale;
        _root.namesNumbers.numbersInchHeight = _root.namesNumbers.numbersInchHeightFemale;
    }
    else
    {
        _root.namesNumbers.namesMaxWidth = _root.namesNumbers.maleNamesMaxWidth;
        _root.namesNumbers.numbersMaxWidth = _root.namesNumbers.maleNumbersMaxWidth;
        _root.namesNumbers.distanceBetweenInch = _root.namesNumbers.distanceBetweenInchMale;
        _root.namesNumbers.numbersInchHeight = _root.namesNumbers.numbersInchHeightMale;
    } 
    if (_root.garFile["gar" + _root.sGar + "BackTopOffset"] != "" && _root.garFile["gar" + _root.sGar + "BackTopOffset"] != undefined)
    {
        _root.namesNumbers.nnYOffset = _root.garFile["gar" + _root.sGar + "BackTopOffset"];
    } 
    _global.transparentColor = _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "MaskRGB1"];
    trace ("garment color = " + _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "MaskRGB1"]);
    if (_root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "Dark"] == 1)
    {
        _root.objectsWindow.layoutFront.b.setGarmentDark();
        _root.objectsWindow.layoutBack.b.setGarmentDark();
    }
    else
    {
        _root.objectsWindow.layoutFront.b.setGarmentLight();
        _root.objectsWindow.layoutBack.b.setGarmentLight();
    }
	
    if (_root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "FrontImage"] == undefined || _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "FrontImage"] == "")
  {
        frontNumMasks = 1;
        backNumMasks = 1;
        var _testParam2 = attachMovie("MaskImage", "colorMask1", 3);
        _testParam2.load(garmentPath + garFile["gar" + _root.sGar  + "FrontImage"], garmentPath + garFile["gar" + _root.sGar + "FrontMask1"], 1, this, "onImageFrontReady");
       		var _loc10 = _testParam2.duplicateMovieClip("colorMaskB1", 1003);
        _loc10.load(garmentPath + garFile["gar" + sGar + "BackImage" ], garmentPath + garFile["gar" + sGar + "BackMask1"], 1, this, "onImageBackReady");
  	if (garFile["gar" + sGar + "NumMasks"] > 1)
        {
            if (garFile["gar" + sGar + "FrontMask2"] != "" && garFile["gar" + sGar + "FrontMask2"] != undefined)
            {
                var _loc16 = attachMovie("MaskImage2", "colorMask2", 4);
                _loc16.load(garmentPath + garFile["gar" + sGar + "FrontImage"], garmentPath + garFile["gar" + sGar + "FrontMask2"], 1, this, "onImageFrontReady");
                 frontNumMasks = 2;
            } 
            if (garFile["gar" + sGar + "BackMask2"] != "" && garFile["gar" + sGar + "BackMask2"] != undefined)
           {
                var _loc8 = _testParam2.duplicateMovieClip("colorMaskB2", 1004);
                _loc8.load(garmentPath + garFile["gar" + sGar + "BackImage"], garmentPath + garFile["gar" + sGar + "BackMask2"], 1, this, "onImageBackReady");
                backNumMasks = 2;
            } 
        } 
       if (garFile["gar" + sGar + "NumMasks"] > 2)
        {
  		if (garFile["gar" + sGar + "FrontMask3"] != "" && garFile["gar" + sGar + "FrontMask3"] != undefined)
 			{
                var _testParam = attachMovie("MaskImage3", "colorMask3", 5);
                _testParam.load(garmentPath + garFile["gar" + sGar + "FrontImage"], garmentPath + garFile["gar" + sGar + "FrontMask3"], 1, this, "onImageFrontReady");
                frontNumMasks = 3;
	} 
            if (garFile["gar" + sGar + "BackMask3"] != "" && garFile["gar" + sGar + "BackMask3"] != undefined)
            {
                var _loc9 = _testParam2.duplicateMovieClip("colorMaskB3", 1005);
                _loc9.load(garmentPath + garFile["gar" + sGar + "BackImage"], garmentPath + garFile["gar" + sGar + "BackMask3"], 1, this, "onImageBackReady");
                backNumMasks = 3;
            } 
       } 

       if (garFile["gar" + sGar + "NumMasks"] > 2)
       {
  		if (garFile["gar" + sGar + "FrontMask3"] != "" && garFile["gar" + sGar + "FrontMask3"] != undefined)
 			{
            var _testParam = attachMovie("MaskImage3", "colorMask3", 5);
            _testParam.load(garmentPath + garFile["gar" + sGar + "FrontImage"], garmentPath + garFile["gar" + sGar + "FrontMask3"], 1, this, "onImageFrontReady");
            frontNumMasks = 3;
			} 
            if (garFile["gar" + sGar + "BackMask3"] != "" && garFile["gar" + sGar + "BackMask3"] != undefined)
            {
               var _loc9 = _testParam2.duplicateMovieClip("colorMaskB3", 1005);
              _loc9.load(garmentPath + garFile["gar" + sGar + "BackImage"], garmentPath + garFile["gar" + sGar + "BackMask3"], 1, this, "onImageBackReady");
               backNumMasks = 3;
            } 
	   }

        var _loc15 = attachMovie("ShadowMask1", "shadow1", 0);
        _loc15.load(garmentPath + "blackbig.gif", garmentPath + garFile["gar" + sGar + "FrontMask1"], 1, this, "onShadowFrontReady");
        var _loc18 = _testParam2.duplicateMovieClip("shadowB1", 1000);
        _loc18.load("blackbig.gif", garmentPath + garFile["gar" + sGar + "BackMask1"], 1, this, "onShadowBackReady");
        
		if (garFile[garmentPath + "gar" + sGar + "NumMasks"] > 1)
        {
            if (frontNumMasks > 1)
            {
                var _loc12 = attachMovie("ShadowMask2", "shadow2", 1);
                _loc12.load(garmentPath + "blackbig.gif", garmentPath + garFile["gar" + sGar + "FrontMask2"], 1, this, "onShadowFrontReady");
            } 
            if (backNumMasks > 1)
            {
                var _loc19 = _testParam2.duplicateMovieClip("shadowB2", 1001);
                _loc19.load(garmentPath + "blackbig.gif", garmentPath + garFile["gar" + sGar + "BackMask2"], 1, this, "onShadowBackReady");
            } 
        } 
        if (garFile["gar" + sGar + "NumMasks"] > 2)
        {
            if (frontNumMasks > 2)
            {
                var _loc11 = attachMovie("ShadowMask3", "shadow3", 2);
                _loc11.load(garmentPath + "blackbig.gif", garmentPath + garFile["gar" + sGar + "FrontMask3"], 1, this, "onShadowFrontReady");
            } 
            if (backNumMasks > 2)
            {
                var _loc20 = _testParam2.duplicateMovieClip("shadowB3", 1002);
                _loc20.load(garmentPath + "blackbig.gif", garmentPath + garFile["gar" + sGar + "BackMask3"], 1, this, "onShadowBackReady");
            } 
        } 
    }
    else
    {
        _testParam2 = attachMovie("MaskImage", "colorMask1", 3);
        _testParam2.load(garmentPath + _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "FrontImage"], garmentPath + _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "FrontImageMask"], 1, this, "onImageFrontReady");
        _loc10 = _testParam2.duplicateMovieClip("colorMaskB1", 1003);
        _loc10.load(garmentPath + _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "BackImage"], garmentPath + _root.garFile["gar" + _root.sGar + "Color" + _root.selectedGarmentColor + "BackImageMask"], 1, this, "onImageBackReady");
        garFile["gar" + sGar + "NumMasks"] = 1;
        backNumMasks = 1;
        frontNumMasks = 1;
        _root.numShadowFrontLoaded = 1;
        _root.numShadowBackLoaded = 1;
        specialImage = 1;
    } 
    if (_root.garFile["gar" + _root.sGar + "FrontPrintAreaImage"] != undefined && _root.garFile["gar" + _root.sGar + "FrontPrintAreaImage"] != "")
    {
        var _loc7 = new Object();
        _loc7.onLoadInit = function (imprintClip)
        {
            trace ("imprint loaded");
            _root.imprintBitmapFront = new flash.display.BitmapData(600, 800, true, 0);
            _root.imprintBitmapFront.draw(imprintClip);
            imprintClip.removeMovieClip();
            _root.layoutFrontImprint.attachBitmap(_root.imprintBitmapFront, 1, "always", true);
        };
        var _loc13 = this.createEmptyMovieClip("imprintHolderFront", 10000);
        imprintLoaderFront = new MovieClipLoader();
        imprintLoaderFront.addListener(_loc7);
        imprintLoaderFront.loadClip(_root.garFile["gar" + _root.sGar + "FrontPrintAreaImage"], _loc13);
    } 
    if (_root.garFile["gar" + _root.sGar + "BackPrintAreaImage"] != undefined && _root.garFile["gar" + _root.sGar + "BackPrintAreaImage"] != "")
    {
        var _loc5 = new Object();
        _loc5.onLoadInit = function (imprintClip)
        {
            trace ("imprint loaded");
            _root.imprintBitmapBack = new flash.display.BitmapData(600, 800, true, 0);
            _root.imprintBitmapBack.draw(imprintClip);
            imprintClip.removeMovieClip();
            _root.layoutBackImprint.attachBitmap(_root.imprintBitmapBack, 1, "always", true);
        };
        var _loc14 = this.createEmptyMovieClip("imprintHolderBack", 10001);
        imprintLoaderBack = new MovieClipLoader();
        imprintLoaderBack.addListener(_loc5);
        imprintLoaderBack.loadClip(_root.garFile["gar" + _root.sGar + "BackPrintAreaImage"], _loc14);
    } 
 }

thanks, only optimization, help please