[Unit]
[General]
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
PushParameter       1
Evaluate            NotEqual
IfNotGoto           l22
Execute             Stop 
PushParameter       1
Execute             SetOrientation 
AddSP               1
l12:
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
IfNotGoto           l22
PushByte            2
Execute             Delay 
AddSP               1
Goto                l12
l22:
Pop                  (Return)
l23:
PushParameter       1
Execute             CalculateRoute 
AddSP               1
PushOp              0
IfNotGoto           l76
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
IfNotGoto           l61
l35:
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
IfNotGoto           l45
PushByte            2
Execute             Delay 
AddSP               1
Goto                l35
l45:
PushParameter       1
Execute             CalculateRoute 
AddSP               1
PushOp              0
IfNotGoto           l61
l51:
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l61
PushByte            2
Execute             Delay 
AddSP               1
Goto                l51
l61:
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l71
PushByte            2
Execute             Delay 
AddSP               1
Goto                l61
l71:
Execute             RemoveFog 
PushByte            1
Pop                 
Pop                  (Return)
Goto                l82
l76:
PushByte            2
Execute             Delay 
AddSP               1
PushByte            0
Pop                 
Pop                  (Return)
l82:
Pop                  (Return)
l83:
PushByte            1
IfNotGoto           l246
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
IfNotGoto           l229
Execute             Fire 
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Evaluate            Equal
IfNotGoto           l136
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareLessEqual
IfNotGoto           l120
Execute             Rotate 
Goto                l135
l120:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l135
PushByte            2
Execute             Delay 
AddSP               1
l135:
Goto                l228
l136:
PushByte            18
Execute             GetInfo (TurretRotates)
AddSP               1
PushOp              0
IfNotGoto           l197
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l155
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
l155:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareRight
IfNotGoto           l179
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            2
Execute             Delay 
AddSP               1
Goto                l196
l179:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Evaluate            NotEqual
IfNotGoto           l196
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
l196:
Goto                l228
l197:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareLessEqual
IfNotGoto           l213
Execute             Rotate 
Goto                l228
l213:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l228
PushByte            2
Execute             Delay 
AddSP               1
l228:
Goto                l245
l229:
PushByte            0
Execute             SetTarget 
AddSP               1
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
IfNotGoto           l242
PushByte            1
Execute             SetAction 
AddSP               1
Goto                l245
l242:
PushByte            3
Execute             SetAction 
AddSP               1
l245:
Goto                l83
l246:
Pop                  (Return)
l247:
PushByte            1
IfNotGoto           l266
PushByte            19
Execute             GetInfo (isHuman)
AddSP               1
PushOp              0
IfNotGoto           l259
PushByte            11
Execute             SetAction 
AddSP               1
l259:
PushByte            12
Execute             Delay 
AddSP               1
PushByte            12
Execute             DelayRandom 
AddSP               1
Goto                l247
l266:
Pop                  (Return)
l267:
PushByte            1
IfNotGoto           l407
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             IsEnemy 
AddSP               1
PushOp              0
IfNotGoto           l391
Execute             Fire 
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Evaluate            Equal
IfNotGoto           l323
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareLessEqual
IfNotGoto           l307
Execute             Rotate 
Goto                l322
l307:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l322
PushByte            2
Execute             Delay 
AddSP               1
l322:
Goto                l390
l323:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
PushByte            18
Execute             GetInfo (TurretRotates)
AddSP               1
PushOp              0
IfNotGoto           l359
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareRight
IfNotGoto           l358
PushByte            2
Execute             Delay 
AddSP               1
l358:
Goto                l390
l359:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareLessEqual
IfNotGoto           l375
Execute             Rotate 
Goto                l390
l375:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l390
PushByte            2
Execute             Delay 
AddSP               1
l390:
Goto                l406
l391:
PushByte            24
Execute             Delay 
AddSP               1
PushByte            0
Execute             FindBestTarget 
AddSP               1
PushOp              0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
l406:
Goto                l267
l407:
Pop                  (Return)
l408:
PushByte            1
IfNotGoto           l452
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             IsEnemy 
AddSP               1
PushOp              0
IfNotGoto           l436
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l435
PushByte            1
Execute             Delay 
AddSP               1
l435:
Goto                l451
l436:
PushByte            24
Execute             Delay 
AddSP               1
PushByte            4
Execute             FindBestTarget 
AddSP               1
PushOp              0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
l451:
Goto                l408
l452:
Pop                  (Return)
l453:
PushByte            1
IfNotGoto           l639
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
IfNotGoto           l540
Execute             Fire 
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareLessEqual
IfNotGoto           l482
PushByte            0
Execute             SetDestination 
AddSP               1
Execute             Rotate 
Goto                l536
l482:
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
PushByte            2
Evaluate            Multiply
Evaluate            CompareRight
IfNotGoto           l508
PushByte            0
Execute             SetTarget 
AddSP               1
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
Goto                l521
l508:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l521
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
l521:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
IfNotGoto           l536
PushByte            2
Execute             Delay 
AddSP               1
l536:
PushByte            2
Execute             Delay 
AddSP               1
Goto                l638
l540:
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushByte            2
Execute             FindBestTarget 
AddSP               1
PushOp              0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
IfNotGoto           l589
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareRight
IfNotGoto           l588
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
IfNotGoto           l582
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
Goto                l588
l582:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
l588:
Goto                l638
l589:
PushByte            12
Execute             Delay 
AddSP               1
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushWord            256
Evaluate            CompareRight
IfNotGoto           l620
PushByte            0
Execute             SetTarget 
AddSP               1
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
Goto                l638
l620:
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushWord            256
Evaluate            CompareLessEqual
IfNotGoto           l635
PushByte            0
Execute             SetDestination 
AddSP               1
l635:
PushByte            24
Execute             Delay 
AddSP               1
l638:
PushByte            0
Execute             GetInfo (HitPoints)
AddSP               1
PushOp              0
PushWord            128
Evaluate            CompareLess
PushByte            13
Execute             FindStructure 
AddSP               1
PushOp              0
PushByte            0
Evaluate            NotEqual
Evaluate            IfAnd
IfNotGoto           l453
PushByte            0
Execute             CallUnitByType 
AddSP               1
PushOp              0
PopReg              4
PushWord            36
Execute             DelayRandom 
AddSP               1
Goto                l453
l639:
Pop                  (Return)
l640:
PushVar             4
Execute             Unknown2552 
AddSP               1
Goto                l647
IfNotGoto           l750
Execute             Fire 
l647:
PushByte            11
Execute             GetInfo (IsMoving)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l746
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushWord            192
Evaluate            CompareLess
IfNotGoto           l740
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             Unknown0288 
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l714
PushByte            7
Execute             GetInfo (Type)
AddSP               1
PushOp              0
PushByte            16
Evaluate            Equal
IfNotGoto           l712
Execute             Harvest 
PushOp              0
IfNotGoto           l692
PushByte            5
Execute             SetAction 
AddSP               1
Goto                l711
l692:
PushByte            14
Execute             GetInfo (HouseID)
AddSP               1
PushOp              0
PushVar             3
Evaluate            Equal
IfNotGoto           l702
Execute             SetActionDefault 
Goto                l711
l702:
PushByte            0
Execute             SetDestination 
AddSP               1
PushByte            0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             SetAction 
AddSP               1
l711:
Goto                l713
l712:
Execute             SetActionDefault 
l713:
Goto                l740
l714:
PushByte            14
Execute             GetInfo (HouseID)
AddSP               1
PushOp              0
PushVar             3
Evaluate            Equal
PushByte            7
Execute             GetInfo (Type)
AddSP               1
PushOp              0
PushByte            16
Evaluate            NotEqual
Evaluate            IfOr
IfNotGoto           l731
Execute             SetActionDefault 
Goto                l740
l731:
l740:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             CalculateRoute 
AddSP               1
l746:
PushByte            2
Execute             Delay 
AddSP               1
Goto                l647
l750:
Pop                  (Return)
l751:
Execute             Unknown2BD5 
PushVar             4
IfNotGoto           l760
PushVar             4
Execute             Unknown2552 
AddSP               1
PushByte            0
PopReg              4
l760:
Execute             GetAmount 
PushOp              0
PushByte            100
Evaluate            CompareLess
IfNotGoto           l873
l766:
Execute             GetAmount 
PushOp              0
PushByte            100
Evaluate            CompareLess
IfNotGoto           l873
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l862
Execute             Harvest 
PushOp              0
Negate              0
IfNotGoto           l858
PushByte            3
Execute             SearchSpice 
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
PushByte            14
Execute             GetInfo (HouseID)
AddSP               1
PushOp              0
PushVar             3
Evaluate            NotEqual
Evaluate            IfAnd
IfNotGoto           l836
PushByte            20
Execute             SearchSpice 
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l836
PushByte            40
Execute             SearchSpice 
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l836
PushByte            60
Execute             SearchSpice 
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
l836:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l857
Execute             GetAmount 
PushOp              0
IfNotGoto           l854
PushByte            0
Execute             SetDestination 
AddSP               1
PushByte            6
Execute             SetAction 
AddSP               1
Goto                l857
l854:
PushByte            7
Execute             SetAction 
AddSP               1
l857:
Goto                l861
l858:
PushByte            1
Execute             Delay 
AddSP               1
l861:
Goto                l869
l862:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
PushOp              1
Goto                l23
AddSP               1
l869:
PushByte            2
Execute             Delay 
AddSP               1
Goto                l766
l873:
PushByte            0
Execute             SetDestination 
AddSP               1
PushByte            6
Execute             SetAction 
AddSP               1
Pop                  (Return)
l880:
PushByte            1
IfNotGoto           l966
PushVar             4
Execute             GetIndexType 
AddSP               1
PushOp              0
PushByte            2
Evaluate            Equal
IfNotGoto           l894
PushByte            1
Execute             SetAction 
AddSP               1
l894:
Execute             Unknown2BD5 
PushVar             4
IfNotGoto           l915
PushParameter       1
Execute             FindStructure 
AddSP               1
PushOp              0
IfNotGoto           l909
Execute             Harvest 
PushByte            6
Execute             Delay 
AddSP               1
Goto                l914
l909:
PushVar             4
Execute             Unknown2552 
AddSP               1
PushByte            0
PopReg              4
l914:
Goto                l965
l915:
PushParameter       1
Execute             FindStructure 
AddSP               1
PushOp              0
IfNotGoto           l962
PushByte            7
Execute             GetInfo (Type)
AddSP               1
PushOp              0
PushByte            16
Evaluate            Equal
IfNotGoto           l953
PushByte            0
Execute             UnitCount 
AddSP               1
PushOp              0
IfNotGoto           l949
PushByte            0
Execute             CallUnitByType 
AddSP               1
PushOp              0
PopReg              4
PushVar             4
IfNotGoto           l945
Execute             Harvest 
Goto                l948
l945:
PushParameter       1
Execute             GoToClosestStructure 
AddSP               1
l948:
Goto                l952
l949:
PushParameter       1
Execute             GoToClosestStructure 
AddSP               1
l952:
Goto                l958
l953:
PushByte            0
Execute             CallUnitByType 
AddSP               1
PushOp              0
PopReg              4
l958:
PushByte            12
Execute             Delay 
AddSP               1
Goto                l965
l962:
PushByte            12
Execute             Delay 
AddSP               1
l965:
Goto                l880
l966:
Pop                  (Return)
l967:
PushByte            0
Execute             SetDestination 
AddSP               1
PushByte            0
Execute             SetTarget 
AddSP               1
l973:
PushByte            1
IfNotGoto           l1099
PushVar             4
IfNotGoto           l1018
PushByte            13
Execute             FindStructure 
AddSP               1
PushOp              0
IfNotGoto           l989
PushByte            6
Execute             Delay 
AddSP               1
Goto                l994
l989:
PushVar             4
Execute             Unknown2552 
AddSP               1
PushByte            0
PopReg              4
l994:
Execute             IdleAction 
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l1008
PushByte            1
Execute             FindBestTarget 
AddSP               1
PushOp              0
Execute             SetTarget 
AddSP               1
l1008:
Execute             Rotate 
PushOp              0
Negate              0
IfNotGoto           l1014
Execute             Fire 
l1014:
PushByte            12
Execute             DelayRandom 
AddSP               1
Goto                l1098
l1018:
PushByte            0
Execute             GetInfo (HitPoints)
AddSP               1
PushOp              0
PushWord            128
Evaluate            CompareLess
PushByte            13
Execute             FindStructure 
AddSP               1
PushOp              0
PushByte            0
Evaluate            NotEqual
Evaluate            IfAnd
IfNotGoto           l1043
PushByte            0
Execute             CallUnitByType 
AddSP               1
PushOp              0
PopReg              4
PushWord            36
Execute             DelayRandom 
AddSP               1
l1043:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l1075
PushByte            1
Execute             FindBestTarget 
AddSP               1
PushOp              0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l1071
Execute             IdleAction 
PushByte            18
Execute             Delay 
AddSP               1
PushWord            24
Execute             DelayRandom 
AddSP               1
l1071:
PushByte            12
Execute             Delay 
AddSP               1
Goto                l1092
l1075:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToObject 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareRight
IfNotGoto           l1092
PushByte            0
Execute             SetTarget 
AddSP               1
l1092:
Execute             Rotate 
PushOp              0
IfNotGoto           l1097
Goto                l1092
l1097:
Execute             Fire 
l1098:
Goto                l973
l1099:
Pop                  (Return)
Pop                  (Return)
l1101:
SubSP               1
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
PopLocalVar         1
l1107:
PushParameter       1
IfNotGoto           l1129
PushWord            200
Execute             SetSpeed 
AddSP               1
PushLocalVar        1
PushByte            10
Evaluate            Add
PopLocalVar         1
PushLocalVar        1
Execute             SetOrientation 
AddSP               1
PushByte            5
Execute             Delay 
AddSP               1
PushParameter       1
PushByte            1
Evaluate            Subtract
PopParameter        1
Goto                l1107
l1129:
Execute             RemoveFog 
AddSP               1
Pop                  (Return)
l1132:
PushByte            6
Execute             Delay 
AddSP               1
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
IfNotGoto           l1151
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             GetOrientation 
AddSP               1
PushOp              0
Execute             SetOrientation 
AddSP               1
Goto                l1159
l1151:
PushWord            255
PushByte            0
Execute             RandomRange 
AddSP               2
PushOp              0
Execute             SetOrientation 
AddSP               1
l1159:
PushWord            255
Execute             SetSpeed 
AddSP               1
PushByte            6
Execute             Delay 
AddSP               1
Pop                  (Return)
l1167:
PushParameter       1
Execute             IsFriendly 
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l1177
PushByte            0
Pop                 
Pop                  (Return)
l1177:
Execute             MoveToTarget 
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
IfNotGoto           l1203
PushParameter       1
Execute             General_GetOrientation 
AddSP               1
PushOp              0
Execute             SetOrientation 
AddSP               1
l1190:
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
IfNotGoto           l1200
PushByte            1
Execute             Delay 
AddSP               1
Goto                l1190
l1200:
PushByte            1
Pop                 
Pop                  (Return)
l1203:
PushByte            0
Pop                 
Pop                  (Return)
Pop                  (Return)
l1207:
SubSP               1
PushParameter       1
Execute             SetDestinationDirect 
AddSP               1
l1211:
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
PushByte            32
Evaluate            CompareRight
IfNotGoto           l1246
PushByte            64
Execute             SetSpeed 
AddSP               1
PushByte            1
Execute             Delay 
AddSP               1
PushParameter       1
Execute             SetDestinationDirect 
AddSP               1
PushParameter       1
Execute             IsValidDestination 
AddSP               1
PushOp              0
IfNotGoto           l1245
l1234:
PushParameter       1
Execute             GetRandomTile 
AddSP               1
PushOp              0
PopParameter        1
PushParameter       1
Execute             SetDestination 
AddSP               1
PushParameter       1
Execute             SetDestinationDirect 
AddSP               1
l1245:
Goto                l1211
l1246:
PushByte            1
IfNotGoto           l1361
PushParameter       1
Execute             IsValidDestination 
AddSP               1
PushOp              0
IfNotGoto           l1266
Goto                l1234
Execute             GetRandomTile 
AddSP               1
PushOp              0
PopParameter        1
PushParameter       1
Execute             SetDestination 
AddSP               1
PushParameter       1
Execute             SetDestinationDirect 
AddSP               1
l1266:
PushParameter       1
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PopLocalVar         1
PushLocalVar        1
PushWord            128
Evaluate            CompareRight
IfNotGoto           l1280
PushParameter       1
Execute             SetDestinationDirect 
AddSP               1
l1280:
PushLocalVar        1
PushWord            2560
Evaluate            CompareRight
IfNotGoto           l1299
PushWord            255
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
Evaluate            Subtract
Execute             SetSpeed 
AddSP               1
PushByte            12
Execute             Delay 
AddSP               1
Goto                l1338
l1299:
PushLocalVar        1
PushWord            768
Evaluate            CompareRight
IfNotGoto           l1320
PushWord            128
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
PushByte            1
Evaluate            ShiftRight
Evaluate            Subtract
Execute             SetSpeed 
AddSP               1
PushByte            6
Execute             Delay 
AddSP               1
Goto                l1338
l1320:
PushLocalVar        1
PushByte            127
Evaluate            CompareRight
IfNotGoto           l1338
PushByte            64
PushByte            10
Execute             GetInfo (AngleToMove)
AddSP               1
PushOp              0
PushByte            2
Evaluate            ShiftRight
Evaluate            Subtract
Execute             SetSpeed 
AddSP               1
PushByte            2
Execute             Delay 
AddSP               1
l1338:
PushLocalVar        1
PushWord            256
Evaluate            CompareLess
IfNotGoto           l1349
PushByte            1
Pop                 
AddSP               1
Pop                  (Return)
Goto                l1360
l1349:
PushByte            9
Execute             GetInfo (MovingSpeed)
AddSP               1
PushOp              0
PushByte            10
Evaluate            CompareLess
IfNotGoto           l1360
PushByte            10
Execute             SetSpeed 
AddSP               1
l1360:
Goto                l1246
l1361:
AddSP               1
Pop                  (Return)
l1363:
PushWord            1200
Execute             Delay 
AddSP               1
Execute             Die 
Pop                  (Return)
l1369:
Execute             RemoveFog 
PushVar             0
PushByte            9
Evaluate            Equal
IfNotGoto           l1377
PushOp              1
Goto                l408
l1377:
PushVar             0
PushByte            0
Evaluate            Equal
IfNotGoto           l1384
PushOp              1
Goto                l83
l1384:
PushVar             0
PushByte            8
Evaluate            Equal
IfNotGoto           l1391
PushOp              1
Goto                l247
l1391:
PushVar             0
PushByte            11
Evaluate            Equal
IfNotGoto           l1398
PushOp              1
Goto                l267
l1398:
PushVar             0
PushByte            4
Evaluate            Equal
IfNotGoto           l1405
PushOp              1
Goto                l453
l1405:
PushVar             0
PushByte            1
Evaluate            Equal
IfNotGoto           l1412
PushOp              1
Goto                l640
l1412:
PushVar             0
PushByte            2
Evaluate            Equal
IfNotGoto           l1428
PushByte            0
Execute             SetTarget 
AddSP               1
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
PushOp              1
Goto                l640
l1428:
PushVar             0
PushByte            3
Evaluate            Equal
IfNotGoto           l1435
PushOp              1
Goto                l967
l1435:
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l1508
Execute             Stop 
PushVar             1
PushByte            255
Evaluate            Equal
IfNotGoto           l1450
PushByte            4
Execute             Delay 
AddSP               1
Goto                l1506
l1450:
PushByte            13
Execute             GetInfo (ExplodeOnDeath)
AddSP               1
PushOp              0
IfNotGoto           l1506
PushByte            3
PushByte            1
Execute             RandomRange 
AddSP               2
PushOp              0
PushByte            1
Evaluate            Equal
IfNotGoto           l1487
PushByte            9
Execute             ExplosionSingle 
AddSP               1
PushByte            1
Execute             SetSprite 
AddSP               1
PushByte            4
Execute             Delay 
AddSP               1
PushByte            2
Execute             SetSprite 
AddSP               1
PushByte            6
Execute             Delay 
AddSP               1
PushByte            3
Execute             SetSprite 
AddSP               1
PushByte            9
Execute             Delay 
AddSP               1
Goto                l1503
l1487:
PushByte            2
PushByte            1
Execute             RandomRange 
AddSP               2
PushOp              0
PushByte            2
Evaluate            Equal
IfNotGoto           l1500
PushByte            4
Execute             ExplosionSingle 
AddSP               1
Goto                l1503
l1500:
PushByte            6
Execute             ExplosionSingle 
AddSP               1
l1503:
PushByte            0
Execute             RandomSoldier 
AddSP               1
l1506:
Execute             Die 
l1508:
PushVar             0
PushByte            13
Evaluate            Equal
IfNotGoto           l1525
Execute             Stop 
Execute             Blink 
PushByte            12
Execute             Delay 
AddSP               1
PushByte            32
Execute             ExplosionMultiple 
AddSP               1
PushByte            6
Execute             Delay 
AddSP               1
Execute             Die 
l1525:
Pop                  (Return)

[Infantry]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l1542
Execute             Stop 
AddSP               1
PushVar             1
PushByte            255
Evaluate            NotEqual
IfNotGoto           l1541
Execute             StartAnimation 
PushByte            0
Execute             RandomSoldier 
l1541:
Execute             Die 
l1542:
PushOp              1
Goto                l1369
Pop                  (Return)

[Troopers]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l1561
Execute             Stop 
AddSP               1
PushVar             1
PushByte            255
Evaluate            NotEqual
IfNotGoto           l1560
Execute             StartAnimation 
PushByte            0
Execute             RandomSoldier 
l1560:
Execute             Die 
l1561:
PushOp              1
Goto                l1369
Pop                  (Return)

[Soldier]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l1580
Execute             Stop 
AddSP               1
PushVar             1
PushByte            255
Evaluate            NotEqual
IfNotGoto           l1579
Execute             StartAnimation 
PushByte            0
Execute             RandomSoldier 
l1579:
Execute             Die 
l1580:
PushOp              1
Goto                l1369
Pop                  (Return)

[Trooper]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l1599
Execute             Stop  
AddSP               1
PushVar             1
PushByte            255
Evaluate            NotEqual
IfNotGoto           l1598
Execute             StartAnimation 
PushByte            0
Execute             RandomSoldier 
l1598:
Execute             Die 
l1599:
PushOp              1
Goto                l1369
Pop                  (Return)

[Ornithopter]
SubSP               3
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l1624
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
Execute             SetOrientation 
AddSP               1
PushByte            2
Execute             Delay 
AddSP               1
PushByte            4
Execute             DelayRandom 
AddSP               1
PushByte            16
Execute             ExplosionSingle 
PushByte            0
Execute             RandomSoldier 
AddSP               1
Execute             Die 
l1624:
PushByte            1
PopLocalVar         1
l1626:
PushByte            1
IfNotGoto           l1735
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             IsEnemy 
AddSP               1
PushOp              0
IfNotGoto           l1710
PushLocalVar        1
IfNotGoto           l1675
PushWord            200
Execute             SetSpeed 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetOrientation 
AddSP               1
PushOp              0
PushWord            128
Evaluate            Add
Execute             SetOrientation 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushWord            1792
Evaluate            CompareRight
IfNotGoto           l1671
PushByte            0
PopLocalVar         1
l1671:
PushByte            6
Execute             Delay 
AddSP               1
Goto                l1709
l1675:
PushWord            255
Execute             SetSpeed 
AddSP               1
PushByte            1
Execute             Delay 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PopLocalVar         2
PushLocalVar        2
PushWord            1536
Evaluate            CompareRight
IfNotGoto           l1703
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             SetDestinationDirect 
AddSP               1
Goto                l1709
l1703:
Execute             Fire 
PushOp              0
IfNotGoto           l1709
PushByte            1
PopLocalVar         1
l1709:
Goto                l1734
l1710:
PushWord            200
Execute             SetSpeed 
AddSP               1
PushByte            3
PushOp              1
Goto                l1101
AddSP               1
PushByte            0
Execute             FindBestTarget 
AddSP               1
PushOp              0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l1734
PushByte            12
Execute             Delay 
AddSP               1
l1734:
Goto                l1626
l1735:
AddSP               3
Pop                  (Return)

[Launcher]
PushOp              1
Goto                l1369
Pop                  (Return)

[Deviator]
PushOp              1
Goto                l1369
Pop                  (Return)

[Carryall]
SubSP               2
PushByte            10
PopLocalVar         2
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l1767
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
Execute             SetOrientation 
AddSP               1
PushByte            1
Execute             Delay 
AddSP               1
PushByte            4
Execute             DelayRandom 
AddSP               1
PushByte            17
Execute             ExplosionSingle 
AddSP               1
PushByte            0
Execute             RandomSoldier 
Execute             Die 
l1767:
PushByte            1
IfNotGoto           l2003
PushWord            255
Execute             SetSpeed 
AddSP               1
Execute             Unknown2BD5 
Execute             GetLinkedUnitType 
PushOp              0
PushByte            255
Evaluate            NotEqual
IfNotGoto           l1906
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
IfNotGoto           l1838
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             GetIndexType 
AddSP               1
PushOp              0
PushByte            3
Evaluate            Equal
IfNotGoto           l1808
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
PushOp              1
Goto                l1207
AddSP               1
PushOp              0
PopLocalVar         1
Goto                l1817
l1808:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
PushOp              1
Goto                l1167
AddSP               1
PushOp              0
PopLocalVar         1
l1817:
PushLocalVar        1
IfNotGoto           l1834
Execute             TransportDeliver 
Execute             GetLinkedUnitType 
PushOp              0
PushByte            255
Evaluate            Equal
IfNotGoto           l1830
PushOp              1
Goto                l1132
Goto                l1833
l1830:
PushByte            40
Execute             SetSpeed 
AddSP               1
l1833:
Goto                l1837
l1834:
PushByte            0
Execute             SetDestination 
AddSP               1
l1837:
Goto                l1905
l1838:
Execute             GetLinkedUnitType 
PushOp              0
PushByte            16
Evaluate            Equal
IfNotGoto           l1883
Goto                l1859
PushOp              0
IfNotGoto           l1859
PushByte            3
PushOp              1
Goto                l1101
AddSP               1
PushByte            12
Execute             MoveToStructure 
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
Goto                l1882
l1859:
PushWord            128
Execute             SetSpeed 
AddSP               1
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
PushByte            45
Evaluate            Add
PushWord            128
PushByte            0
Execute             RandomRange 
AddSP               2
PushOp              0
Evaluate            Subtract
Execute             SetOrientation 
AddSP               1
Execute             TransportDeliver 
PushByte            12
Execute             Delay 
AddSP               1
l1882:
Goto                l1905
l1883:
PushWord            128
Execute             SetSpeed 
AddSP               1
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
PushByte            45
Evaluate            Add
PushWord            128
PushByte            0
Execute             RandomRange 
AddSP               2
PushOp              0
Evaluate            Subtract
Execute             SetOrientation 
AddSP               1
Execute             TransportDeliver 
PushOp              1
Goto                l1132
l1905:
Goto                l2002
l1906:
PushVar             4
Execute             IsFriendly 
AddSP               1
PushOp              0
IfNotGoto           l1926
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
PushOp              1
Goto                l1167
AddSP               1
PushOp              0
IfNotGoto           l1925
Execute             Pickup 
PushOp              1
Goto                l1132
l1925:
Goto                l2002
l1926:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             Unknown2552 
AddSP               1
PushByte            0
Execute             SetDestination 
AddSP               1
PushByte            0
PopReg              4
PushByte            15
Execute             GetInfo (ByScenario)
AddSP               1
PushOp              0
IfNotGoto           l1972
PushLocalVar        2
PushByte            1
Evaluate            Subtract
PopLocalVar         2
PushLocalVar        2
PushByte            0
Evaluate            CompareLessEqual
IfNotGoto           l1972
PushWord            255
Execute             SetSpeed 
AddSP               1
PushWord            128
PushByte            0
Execute             RandomRange 
AddSP               2
PushOp              0
Execute             SetOrientation 
AddSP               1
l1964:
PushVar             4
Negate              0
IfNotGoto           l1972
PushByte            12
Execute             Delay 
AddSP               1
Goto                l1964
l1972:
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushWord            2560
Evaluate            CompareRight
IfNotGoto           l1998
PushWord            255
Execute             SetSpeed 
AddSP               1
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             SetDestinationDirect 
AddSP               1
PushByte            12
Execute             Delay 
AddSP               1
Goto                l2002
l1998:
PushByte            3
PushOp              1
Goto                l1101
AddSP               1
l2002:
Goto                l1767
l2003:
AddSP               2
Pop                  (Return)

[Tank]
PushOp              1
Goto                l1369
Pop                  (Return)

[SiegeTank]
PushOp              1
Goto                l1369
Pop                  (Return)

[Devastator]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2024
Execute             Stop 
PushByte            32
Execute             ExplosionMultiple 
AddSP               1
PushByte            4
Execute             Delay 
AddSP               1
PushByte            0
Execute             RandomSoldier 
Execute             Die 
l2024:
PushOp              1
Goto                l1369
Pop                  (Return)

[Saboteur]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2037
Execute             Stop  
AddSP               1
PushByte            0
Execute             RandomSoldier 
Execute             Die 
l2037:
PushOp              1
Goto                l1369
Pop                  (Return)

[SonicTank]
PushOp              1
Goto                l1369
Pop                  (Return)

[Trike]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2059
Execute             Stop 
PushVar             1
PushByte            255
Evaluate            NotEqual
IfNotGoto           l2057
PushByte            10
Execute             ExplosionSingle 
AddSP               1
PushByte            0
Execute             RandomSoldier 
l2057:
Execute             Die 
l2059:
PushOp              1
Goto                l1369
Pop                  (Return)

[RaiderTrike]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2078
Execute             Stop 
PushVar             1
PushByte            255
Evaluate            NotEqual
IfNotGoto           l2076
PushByte            10
Execute             ExplosionSingle
AddSP               1
PushByte            0
Execute             RandomSoldier 
l2076: 
Execute             Die 
l2078:
PushOp              1
Goto                l1369
Pop                  (Return)

[Quad]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2096
Execute             Stop 
PushVar             1
PushByte            255
Evaluate            NotEqual
IfNotGoto           l2095
PushByte            10
Execute             ExplosionSingle 
AddSP               1
PushByte            0
Execute             RandomSoldier 
l2095:
Execute             Die 
l2096:
PushOp              1
Goto                l1369
Pop                  (Return)

[Harvester]
Execute             RemoveFog 
PushVar             0
PushByte            5
Evaluate            Equal
IfNotGoto           l2107
PushOp              1
Goto                l751
l2107:
PushVar             0
PushByte            1
Evaluate            Equal
IfNotGoto           l2114
PushOp              1
Goto                l640
l2114:
PushVar             0
PushByte            6
Evaluate            Equal
IfNotGoto           l2135
PushVar             4
IfNotGoto           l2125
PushVar             4
Execute             Unknown2552 
AddSP               1
l2125:
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushByte            0
Execute             SetDestination 
AddSP               1
PushByte            12
PushOp              1
Goto                l880
AddSP               1
l2135:
PushVar             0
PushByte            7
Evaluate            Equal
PushVar             0
PushByte            3
Evaluate            Equal
Evaluate            IfOr
IfNotGoto           l2151
l2144:
PushByte            1
IfNotGoto           l2151
PushByte            12
Execute             Delay 
AddSP               1
Goto                l2144
l2151:
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2219
Execute             Stop 
PushByte            13
Execute             GetInfo (ExplodeOnDeath)
AddSP               1
PushOp              0
PushVar             1
PushByte            255
Evaluate            NotEqual
Evaluate            IfAnd
IfNotGoto           l2217
PushByte            3
PushByte            1
Execute             RandomRange 
AddSP               2
PushOp              0
PushByte            1
Evaluate            Equal
IfNotGoto           l2198
PushByte            9
Execute             ExplosionSingle 
AddSP               1
PushByte            1
Execute             SetSprite 
AddSP               1
PushByte            3
Execute             Delay 
AddSP               1
PushByte            2
Execute             SetSprite 
AddSP               1
PushByte            4
Execute             Delay 
AddSP               1
PushByte            3
Execute             SetSprite 
AddSP               1
PushByte            5
Execute             Delay 
AddSP               1
Goto                l2214
l2198:
PushByte            2
PushByte            1
Execute             RandomRange 
AddSP               2
PushOp              0
PushByte            2
Evaluate            Equal
IfNotGoto           l2211
PushByte            4
Execute             ExplosionSingle 
AddSP               1
Goto                l2214
l2211:
PushByte            6
Execute             ExplosionSingle 
AddSP               1
l2214:
PushByte            0
Execute             RandomSoldier 
AddSP               1
l2217:
Execute             Die 
l2219:
PushByte            7
Execute             SetAction 
AddSP               1
Pop                  (Return)

[MCV]
SubSP               1
Execute             RemoveFog 
PushVar             4
IfNotGoto           l2233
PushVar             4
Execute             Unknown2552 
AddSP               1
PushByte            0
PopReg              4
l2233:
PushVar             0
PushByte            12
Evaluate            Equal
IfNotGoto           l2242
Execute             MCVDeploy 
PushByte            7
Execute             SetAction 
AddSP               1
l2242:
PushVar             0
PushByte            1
Evaluate            Equal
IfNotGoto           l2249
PushOp              1
Goto                l640
l2249:
PushVar             0
PushByte            2
Evaluate            Equal
IfNotGoto           l2254
l2254:
PushVar             0
PushByte            3
Evaluate            Equal
PushVar             0
PushByte            7
Evaluate            Equal
Evaluate            IfOr
IfNotGoto           l2270
l2263:
PushByte            1
IfNotGoto           l2270
PushByte            12
Execute             Delay 
AddSP               1
Goto                l2263
l2270:
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2336
Execute             Stop 
PushByte            13
Execute             GetInfo (ExplodeOnDeath)
AddSP               1
PushOp              0
PushVar             1
PushByte            255
Evaluate            NotEqual
Evaluate            IfAnd
IfNotGoto           l2334
PushByte            3
PushByte            1
Execute             RandomRange 
AddSP               2
PushOp              0
PopLocalVar         1
PushLocalVar        1
PushByte            1
Evaluate            Equal
IfNotGoto           l2319
PushByte            9
Execute             ExplosionSingle 
AddSP               1
PushByte            1
Execute             SetSprite 
AddSP               1
PushByte            3
Execute             Delay 
AddSP               1
PushByte            2
Execute             SetSprite 
AddSP               1
PushByte            4
Execute             Delay 
AddSP               1
PushByte            3
Execute             SetSprite 
AddSP               1
PushByte            5
Execute             Delay 
AddSP               1
Goto                l2331
l2319:
PushLocalVar        1
PushByte            2
Evaluate            Equal
IfNotGoto           l2328
PushByte            4
Execute             ExplosionSingle 
AddSP               1
Goto                l2331
l2328:
PushByte            6
Execute             ExplosionSingle 
AddSP               1
l2331:
PushByte            0
Execute             RandomSoldier 
AddSP               1
l2334:
Execute             Die 
l2336:
PushByte            3
Execute             SetAction 
AddSP               1
AddSP               1
Pop                  (Return)

[DeathHand]
PushOp              1
Goto                l1363
Pop                  (Return)

[Rocket]
PushOp              1
Goto                l1363
Pop                  (Return)

[ARocket]
PushOp              1
Goto                l1363
Pop                  (Return)

[GRocket]
PushOp              1
Goto                l1363
Pop                  (Return)

[Bullet]
PushWord            1200
Execute             Delay 
AddSP               1
Execute             Die 
Pop                  (Return)

[MiniRocket]
PushOp              1
Goto                l1363
Pop                  (Return)

[SonicBlast]
PushWord            360
Execute             Delay 
AddSP               1
Execute             Die 
Pop                  (Return)

[Frigate]
SubSP               1
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2390
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
Execute             SetOrientation 
AddSP               1
PushByte            2
Execute             Delay 
AddSP               1
PushByte            12
Execute             DelayRandom 
AddSP               1
PushByte            17
Execute             ExplosionSingle 
AddSP               1
Execute             Die 
l2390:
PushByte            1
IfNotGoto           l2506
PushWord            255
Execute             SetSpeed 
AddSP               1
Execute             Unknown2BD5 
Execute             GetLinkedUnitType 
PushOp              0
PushByte            255
Evaluate            NotEqual
IfNotGoto           l2497
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
IfNotGoto           l2461
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Execute             GetIndexType 
AddSP               1
PushOp              0
PushByte            3
Evaluate            Equal
IfNotGoto           l2431
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
PushOp              1
Goto                l1207
AddSP               1
PushOp              0
PopLocalVar         1
Goto                l2440
l2431:
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
PushOp              1
Goto                l1167
AddSP               1
PushOp              0
PopLocalVar         1
l2440:
PushLocalVar        1
IfNotGoto           l2457
Execute             TransportDeliver 
Execute             GetLinkedUnitType 
PushOp              0
PushByte            255
Evaluate            Equal
IfNotGoto           l2453
PushOp              1
Goto                l1132
Goto                l2456
l2453:
PushByte            40
Execute             SetSpeed 
AddSP               1
l2456:
Goto                l2460
l2457:
PushByte            0
Execute             SetDestination 
AddSP               1
l2460:
Goto                l2496
l2461:
PushByte            11
Execute             MoveToStructure 
AddSP               1
PushOp              0
Execute             SetDestination 
AddSP               1
PushByte            1
Execute             GetInfo (TargetMove)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l2496
PushWord            128
Execute             SetSpeed 
AddSP               1
PushByte            4
Execute             GetInfo (Orientation)
AddSP               1
PushOp              0
PushByte            45
Evaluate            Add
PushWord            128
PushByte            0
Execute             RandomRange 
AddSP               2
PushOp              0
Evaluate            Subtract
Execute             SetOrientation 
AddSP               1
Execute             TransportDeliver 
PushOp              1
Goto                l1132
l2496:
Goto                l2505
l2497:
PushWord            255
Execute             SetSpeed 
AddSP               1
PushWord            6000
Execute             Delay 
AddSP               1
l2505:
Goto                l2390
l2506:
AddSP               1
Pop                  (Return)

[Sandworm]
PushVar             0
PushByte            10
Evaluate            Equal
IfNotGoto           l2515
Execute             Stop 
l2515:
PushVar             0
PushByte            8
Evaluate            Equal
IfNotGoto           l2522
PushOp              1
Goto                l247
l2522:
PushByte            24
Execute             Delay 
AddSP               1
PushVar             0
PushByte            4
Evaluate            Equal
IfNotGoto           l2623
l2530:
PushByte            1
IfNotGoto           l2623
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
IfNotGoto           l2608
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareLessEqual
IfNotGoto           l2568
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             IsEnemy 
AddSP               1
PushOp              0
IfNotGoto           l2564
Execute             Fire 
Goto                l2567
l2564:
PushByte            0
Execute             SetTarget 
AddSP               1
l2567:
Goto                l2575
l2568:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
PushOp              1
Goto                l23
AddSP               1
l2575:
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushWord            2560
Evaluate            CompareRight
IfNotGoto           l2594
PushByte            6
Execute             GetInfo (Return)
AddSP               1
PushOp              0
Execute             SetTarget 
AddSP               1
Goto                l2607
l2594:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             IsEnemy 
AddSP               1
PushOp              0
IfNotGoto           l2607
Execute             GetBestTarget 
PushOp              0
Execute             SetTarget 
AddSP               1
l2607:
Goto                l2622
l2608:
Execute             GetBestTarget 
PushOp              0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l2622
PushByte            12
Execute             Delay 
AddSP               1
l2622:
Goto                l2530
l2623:
PushByte            1
IfNotGoto           l2675
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
IfNotGoto           l2660
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Execute             GetDistanceToTile 
AddSP               1
PushOp              0
PushByte            2
Execute             GetInfo (FireDistance)
AddSP               1
PushOp              0
Evaluate            CompareLessEqual
IfNotGoto           l2648
Execute             Fire 
Goto                l2655
l2648:
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
PushOp              1
Goto                l23
AddSP               1
l2655:
Execute             GetBestTarget 
PushOp              0
Execute             SetTarget 
AddSP               1
Goto                l2674
l2660:
Execute             GetBestTarget 
PushOp              0
Execute             SetTarget 
AddSP               1
PushByte            5
Execute             GetInfo (TargetAttack)
AddSP               1
PushOp              0
Negate              0
IfNotGoto           l2674
PushByte            12
Execute             Delay 
AddSP               1
l2674:
Goto                l2623
l2675:
Pop                  (Return)

