// export Alex ; export Americans ; function PrepareOurs ; var i , h ; begin
   0: LD_INT 0
   2: PPUSH
   3: PPUSH
   4: PPUSH
// uc_side = 4 ;
   5: LD_ADDR_OWVAR 20
   9: PUSH
  10: LD_INT 4
  12: ST_TO_ADDR
// uc_nation = 1 ;
  13: LD_ADDR_OWVAR 21
  17: PUSH
  18: LD_INT 1
  20: ST_TO_ADDR
// for i = 1 to 3 do
  21: LD_ADDR_VAR 0 2
  25: PUSH
  26: DOUBLE
  27: LD_INT 1
  29: DEC
  30: ST_TO_ADDR
  31: LD_INT 3
  33: PUSH
  34: FOR_TO
  35: IFFALSE 109
// begin InitHc ;
  37: CALL_OW 19
// PrepareSoldier ( 0 , 0 ) ;
  41: LD_INT 0
  43: PPUSH
  44: LD_INT 0
  46: PPUSH
  47: CALL_OW 381
// h = CreateHuman ;
  51: LD_ADDR_VAR 0 3
  55: PUSH
  56: CALL_OW 44
  60: ST_TO_ADDR
// PlaceUnitXYR ( h , 71 , 32 , 2 , false ) ;
  61: LD_VAR 0 3
  65: PPUSH
  66: LD_INT 71
  68: PPUSH
  69: LD_INT 32
  71: PPUSH
  72: LD_INT 2
  74: PPUSH
  75: LD_INT 0
  77: PPUSH
  78: CALL_OW 50
// ComHold ( h ) ;
  82: LD_VAR 0 3
  86: PPUSH
  87: CALL_OW 140
// Americans = Americans ^ h ;
  91: LD_ADDR_EXP 2
  95: PUSH
  96: LD_EXP 2
 100: PUSH
 101: LD_VAR 0 3
 105: ADD
 106: ST_TO_ADDR
// end ;
 107: GO 34
 109: POP
 110: POP
// uc_side = 1 ;
 111: LD_ADDR_OWVAR 20
 115: PUSH
 116: LD_INT 1
 118: ST_TO_ADDR
// Alex = NewCharacter ( Alex ) ;
 119: LD_ADDR_EXP 1
 123: PUSH
 124: LD_STRING Alex
 126: PPUSH
 127: CALL_OW 25
 131: ST_TO_ADDR
// PlaceUnitXY ( Alex , 76 , 37 , false ) ;
 132: LD_EXP 1
 136: PPUSH
 137: LD_INT 76
 139: PPUSH
 140: LD_INT 37
 142: PPUSH
 143: LD_INT 0
 145: PPUSH
 146: CALL_OW 48
// ComHold ( Alex ) ;
 150: LD_EXP 1
 154: PPUSH
 155: CALL_OW 140
// end ;
 159: LD_VAR 0 1
 163: RET
// starting begin Query ( Q1 ) ;
 164: LD_STRING Q1
 166: PPUSH
 167: CALL_OW 97
// Query ( Q2 ) ;
 171: LD_STRING Q2
 173: PPUSH
 174: CALL_OW 97
// PrepareOurs ;
 178: CALL 0 0 0
// InGameOn ;
 182: CALL_OW 8
// CenterNowOnUnits ( eon ) ;
 186: LD_INT 14
 188: PPUSH
 189: CALL_OW 87
// RevealFogArea ( 1 , Rev ) ;
 193: LD_INT 1
 195: PPUSH
 196: LD_INT 1
 198: PPUSH
 199: CALL_OW 332
// Wait ( 0 0$1 ) ;
 203: LD_INT 35
 205: PPUSH
 206: CALL_OW 67
// ComTurnUnit ( [ Americans [ 2 ] , Americans [ 3 ] , Alex ] , Americans [ 1 ] ) ;
 210: LD_EXP 2
 214: PUSH
 215: LD_INT 2
 217: ARRAY
 218: PUSH
 219: LD_EXP 2
 223: PUSH
 224: LD_INT 3
 226: ARRAY
 227: PUSH
 228: LD_EXP 1
 232: PUSH
 233: EMPTY
 234: LIST
 235: LIST
 236: LIST
 237: PPUSH
 238: LD_EXP 2
 242: PUSH
 243: LD_INT 1
 245: ARRAY
 246: PPUSH
 247: CALL_OW 119
// ComTurnUnit ( Americans [ 1 ] , Alex ) ;
 251: LD_EXP 2
 255: PUSH
 256: LD_INT 1
 258: ARRAY
 259: PPUSH
 260: LD_EXP 1
 264: PPUSH
 265: CALL_OW 119
// Say ( Americans [ 1 ] , ds-s-1 ) ;
 269: LD_EXP 2
 273: PUSH
 274: LD_INT 1
 276: ARRAY
 277: PPUSH
 278: LD_STRING ds-s-1
 280: PPUSH
 281: CALL_OW 88
// Say ( Alex , ds-a-1 ) ;
 285: LD_EXP 1
 289: PPUSH
 290: LD_STRING ds-a-1
 292: PPUSH
 293: CALL_OW 88
// Say ( Americans [ 2 ] , ds-s-2 ) ;
 297: LD_EXP 2
 301: PUSH
 302: LD_INT 2
 304: ARRAY
 305: PPUSH
 306: LD_STRING ds-s-2
 308: PPUSH
 309: CALL_OW 88
// ComEnterUnit ( [ Americans [ 2 ] , Americans [ 3 ] , Alex ] , eon ) ;
 313: LD_EXP 2
 317: PUSH
 318: LD_INT 2
 320: ARRAY
 321: PUSH
 322: LD_EXP 2
 326: PUSH
 327: LD_INT 3
 329: ARRAY
 330: PUSH
 331: LD_EXP 1
 335: PUSH
 336: EMPTY
 337: LIST
 338: LIST
 339: LIST
 340: PPUSH
 341: LD_INT 14
 343: PPUSH
 344: CALL_OW 120
// end ;
 348: END
// on EnterBuilding ( b , u ) do begin if u = Alex then
 349: LD_VAR 0 2
 353: PUSH
 354: LD_EXP 1
 358: EQUAL
 359: IFFALSE 382
// begin Wait ( 0 0$1 ) ;
 361: LD_INT 35
 363: PPUSH
 364: CALL_OW 67
// InGameOff ;
 368: CALL_OW 9
// ChangeMap ( 1 , %_cont ) ;
 372: LD_INT 1
 374: PPUSH
 375: LD_STRING %_cont
 377: PPUSH
 378: CALL_OW 340
// end ; end ;
 382: PPOPN 2
 384: END
