function event_equip() /* entry=188 class_id=0x0361 slot=0x0A */
{
  entry:
    set_info(0x0211, *(arg_06));
    process_exclude();
    local_1D = Item.getQLo(arg_06);
    if (arg_0A != 0) goto block_0119;

  block_00F2:
    /* global_address global_id=0x1E */
    goto block_218C;

  block_0119:
    if (arg_0A != 1) goto block_01F7;

  block_0121:
    /* global_address global_id=0x1E */
    if Actor.isBusy() goto block_0148;

  block_012E:
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    goto block_0121;

  block_0148:
    /* global_address global_id=0x1E */
    local_1F = Camera.getX();
    local_21 = Camera.getY();
    local_23 = Item.getX(arg_06);
    local_25 = Item.getY(arg_06);
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    /* global_address global_id=0x1E */
    goto block_218C;

  block_01F7:
    if (arg_0A != 2) goto block_028B;

  block_01FF:
    /* global_address global_id=0x1E */
    if Actor.isBusy() goto block_0226;

  block_020C:
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    goto block_01FF;

  block_0226:
    spawn FREE.slot_46(pid, Item.getY(arg_06), Item.getX(arg_06), 0x00000000);
    suspend;
    spawn FREE.slot_3B(pid, 60, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    goto block_218C;

  block_028B:
    if (arg_0A != 3) goto block_02CD;

  block_0293:
    spawn FREE.slot_47(pid, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    goto block_218C;

  block_02CD:
    if (arg_0A != 5) goto block_02E4;

  block_02D5:
    goto block_218C;

  block_02E4:
    if (arg_0A != 6) goto block_02FB;

  block_02EC:
    goto block_218C;

  block_02FB:
    if (arg_0A != 7) goto block_0312;

  block_0303:
    goto block_218C;

  block_0312:
    if (arg_0A != 8) goto block_038A;

  block_031A:
    local_0F = Item.getQHi(arg_06);
    if (local_0F != 0) goto block_034C;

  block_032D:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    goto block_0387;

  block_034C:
    local_11 = Item.getQLo(arg_06);
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;

  block_0387:
    goto block_218C;

  block_038A:
    if (arg_0A != 9) goto block_0406;

  block_0392:
    local_0F = Item.getQLo(arg_06);
    /* loop_selector local_02 in nearby_items(family=1, origin=arg_06) */

  block_03B4:
    if condition goto block_0401;

  block_03B7:
    if (((local_0F != Item.getQLo(local_02)) && (Item.getMapNum(local_02) != 0)) && (*(arg_06) != local_02)) goto block_03FD;

  block_03DB:

  block_03FD:
    /* loopnext  */
    goto block_03B4;

  block_0401:
    goto block_218C;

  block_0406:
    if (arg_0A != 10) goto block_050F;

  block_040E:
    for local_02 in nearby_items(shape=0x033A, origin=arg_06) {
      if (Item.getQLo(arg_06) == Item.getQLo(local_02)) {
        if (Item.getFrame(local_02) == 0) {
          local_04 = local_02;
        }
      }
      /* loopnext  */
    }

  block_0456:
    for local_02 in nearby_items(shape=0x033A, origin=arg_06) {
      if (Item.getQLo(arg_06) == Item.getQLo(local_02)) {
        if (Item.getFrame(local_02) == 1) {
          local_06 = local_02;
        }
      }
      /* loopnext  */
    }

  block_04A0:
    if (local_04 && local_06) goto block_050C;

  block_04AA:
    local_0D = Item.getX(local_06);
    local_0B = Item.getY(local_06);
    local_09 = Item.getZ(local_06);

  block_050C:
    goto block_218C;

  block_050F:
    if (arg_0A != 15) goto block_0548;

  block_0517:
    /* global_address global_id=0x1E */
    goto block_218C;

  block_0548:
    if (arg_0A != 16) goto block_0583;

  block_0550:
    /* global_address global_id=0x1E */
    /* global_address global_id=0x1E */
    /* global_address global_id=0x1E */
    goto block_218C;

  block_0583:
    if (arg_0A != 22) goto block_05C9;

  block_058B:
    for local_02 in nearby_items(family=1, origin=arg_06) {
      if (Item.getQLo(local_02) == local_1D) {
        ITEM.slot_25(0x1000, local_02);
      }
      /* loopnext  */
    }

  block_05C4:
    goto block_218C;

  block_05C9:
    if (arg_0A != 23) goto block_0600;

  block_05D1:
    for local_02 in nearby_items(family=1, origin=arg_06) {
      ITEM.slot_25(0x1000, local_02);
      /* loopnext  */
    }

  block_05FB:
    goto block_218C;

  block_0600:
    if (arg_0A != 30) goto block_0627;

  block_0608:
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    goto block_218C;

  block_0627:
    if (arg_0A != 45) goto block_0741;

  block_062F:
    local_27 = (Item.getNpcNum(arg_06) * 5);

  block_063D:
    if 1 goto block_073E;

  block_0642:
    local_0F = 0;
    FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]);
    if (retval > 50) goto block_066C;

  block_0669:
    goto block_218C;

  block_066C:
    for local_02 in nearby_items(family=6, origin=global[0x001E]) {
      if (!Item.isNpc(local_02)) {
        local_0F = (1 + local_0F);
      }
      /* loopnext  */
    }

  block_069D:
    if (local_0F <= 4) goto block_0724;

  block_06A7:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    goto block_073B;

  block_0724:
    spawn FREE.slot_3B(pid, 120, 0x00000000);
    suspend;

  block_073B:
    goto block_063D;

  block_073E:
    goto block_218C;

  block_0741:
    if (arg_0A != 46) goto block_0865;

  block_0749:
    local_27 = (Item.getNpcNum(arg_06) * 5);

  block_0757:
    if 1 goto block_0862;

  block_075C:
    local_0F = 0;
    FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]);
    if ((retval > 50) || (Item.isEntirelyOnScreen(arg_06) != 1)) goto block_0793;

  block_0790:
    goto block_218C;

  block_0793:
    for local_02 in nearby_items(family=6, origin=global[0x001E]) {
      if (local_02 >= 0x00FF) {
        local_0F = (1 + local_0F);
      }
      /* loopnext  */
    }

  block_07C1:
    if (local_0F <= 4) goto block_0848;

  block_07CB:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    goto block_085F;

  block_0848:
    spawn FREE.slot_3B(pid, 120, 0x00000000);
    suspend;

  block_085F:
    goto block_0757;

  block_0862:
    goto block_218C;

  block_0865:
    if (arg_0A != 47) goto block_0A0D;

  block_086D:
    local_27 = Item.getNpcNum(arg_06);
    local_11 = Item.getQHi(arg_06);

  block_0883:
    if 1 goto block_0A0A;

  block_0888:
    if (Item.getQHi(arg_06) != 1) goto block_0930;

  block_0897:
    local_0F = 1;

  block_089B:
    if (local_0F <= local_11) goto block_0923;

  block_08A3:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, (local_27 * 3), 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, (local_27 * 3), 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_089B;

  block_0923:
    goto block_0A07;

  block_0930:
    if (Item.getQHi(arg_06) > 1) goto block_09B1;

  block_093F:
    local_0F = 1;

  block_0943:
    if (local_0F <= local_11) goto block_09AE;

  block_094B:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    local_0F = (1 + local_0F);
    goto block_0943;

  block_09AE:
    goto block_0A07;

  block_09B1:
    local_0F = 1;

  block_09B5:
    if (local_0F <= local_11) goto block_0A04;

  block_09BD:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_09B5;

  block_0A04:
    goto block_218C;

  block_0A07:
    goto block_0883;

  block_0A0A:
    goto block_218C;

  block_0A0D:
    if (arg_0A != 48) goto block_0AE4;

  block_0A15:
    local_27 = Item.getNpcNum(arg_06);
    local_11 = Item.getQHi(arg_06);
    local_0F = 0;

  block_0A2F:
    if (local_0F <= local_11) goto block_0A7E;

  block_0A37:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_0A2F;

  block_0A7E:
    local_0F = 0;

  block_0A82:
    if (local_0F <= local_11) goto block_0AD4;

  block_0A8A:
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_0A82;

  block_0AD4:
    goto block_218C;

  block_0AE1:
    goto block_218C;

  block_0AE4:
    if (arg_0A != 49) goto block_0BE1;

  block_0AEC:
    local_27 = Item.getNpcNum(arg_06);
    local_11 = Item.getQHi(arg_06);

  block_0B02:
    if 1 goto block_0BDE;

  block_0B07:
    if Item.getQHi(arg_06) goto block_0B85;

  block_0B13:
    local_0F = 1;

  block_0B17:
    if (local_0F <= local_11) goto block_0B82;

  block_0B1F:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    local_0F = (1 + local_0F);
    goto block_0B17;

  block_0B82:
    goto block_0BDB;

  block_0B85:
    local_0F = 1;

  block_0B89:
    if (local_0F <= local_11) goto block_0BD8;

  block_0B91:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_0B89;

  block_0BD8:
    goto block_218C;

  block_0BDB:
    goto block_0B02;

  block_0BDE:
    goto block_218C;

  block_0BE1:
    if (arg_0A != 50) goto block_0C23;

  block_0BE9:
    /* loopscr value_u8=0x24 */
    /* loop current_var=0xF8 string_bytes=0x1 loop_type=0x2 */

  block_0BF8:
    if condition goto block_0C1E;

  block_0BFB:
    if (Item.getQLo(local_08) != 100) goto block_0C1A;

  block_0C0A:
    spawn DOOR.slot_20(pid, local_08);
    suspend;

  block_0C1A:
    /* loopnext  */
    goto block_0BF8;

  block_0C1E:
    goto block_218C;

  block_0C23:
    if (arg_0A != 51) goto block_0E2C;

  block_0C2B:
    for local_02 in selector_0x42(arg0=0x01C4, arg1=0x0186, arg2=(30 * 32), origin=arg_06) {
      local_29 = local_02;
      /* loopnext  */
    }

  block_0C4D:
    for local_02 in selector_0x42(arg0=0x01C5, arg1=0x0184, arg2=(30 * 32), origin=arg_06) {
      local_2B = local_02;
      /* loopnext  */
    }

  block_0C71:
    if (local_29 && local_2B) goto block_0DAA;

  block_0C7B:

  block_0C86:
    if Intrinsic0035(0x00F2, local_2B) goto block_0CAF;

  block_0C95:
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    goto block_0C86;

  block_0CAF:
    if local_2D goto block_0D22;

  block_0CBF:
    local_0F = 1;

  block_0CD7:
    if (local_0F <= 4) goto block_0D1F;

  block_0CDF:
    spawn FREE.slot_3B(pid, 30, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_0CD7;

  block_0D1F:
    goto block_0D74;

  block_0D22:
    local_0F = 0;

  block_0D26:
    if (local_0F <= 3) goto block_0D74;

  block_0D2E:
    spawn FREE.slot_3B(pid, 30, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_0D26;

  block_0D74:
    spawn FREE.slot_3B(pid, 30, 0x00000000);
    suspend;

  block_0DAA:
    spawn FREE.slot_3B(pid, 120, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    /* loop_selector local_02 in selector_0x42(arg0=0x018D, arg1=0x01C6, arg2=(30 * 32), origin=arg_06) */

  block_0DF0:
    if condition goto block_0E0F;

  block_0DF3:
    local_08 = local_02;
    spawn DOOR.slot_21(pid, 1, local_08);
    suspend;
    /* loopnext  */
    goto block_0DF0;

  block_0E0F:
    spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
    suspend;
    goto block_218C;

  block_0E2C:
    if (arg_0A != 52) goto block_0EF5;

  block_0E34:
    local_27 = (Item.getNpcNum(arg_06) * 5);

  block_0E42:
    if 1 goto block_0EF2;

  block_0E47:
    for local_19 in nearby_items(family=6, origin=arg_06) {
      if (!Item.isNpc(local_19)) {
        if (Intrinsic000D(local_19) == Item.getQLo(arg_06)) {
          if (Actor.isDead(local_19)) {
            spawn FREE.slot_3B(pid, local_27, 0x00000000);
            suspend;
          }
        }
      }
      /* loopnext  */
    }

  block_0EEA:
    goto block_218C;

  block_0EEF:
    goto block_0E42;

  block_0EF2:
    goto block_218C;

  block_0EF5:
    if (arg_0A != 53) goto block_0FBC;

  block_0EFD:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x44 */
    /* loop current_var=0xE7 string_bytes=0xA loop_type=0x2 */

  block_0F1A:
    if condition goto block_0FB7;

  block_0F1D:
    spawn FREE.slot_3B(pid, 1, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), local_02);
    suspend;
    /* loopnext  */
    goto block_0F1A;

  block_0FB7:
    goto block_218C;

  block_0FBC:
    if (arg_0A != 54) goto block_1004;

  block_0FC4:
    for local_19 in nearby_items(shape=0x04C8, origin=arg_06) {
      /* loopnext  */
    }

  block_0FFF:
    goto block_218C;

  block_1004:
    if (arg_0A != 60) goto block_109D;

  block_100C:
    for local_19 in nearby_items(shape=0x04C8, origin=arg_06) {
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      /* loopnext  */
    }

  block_1098:
    goto block_218C;

  block_109D:
    if (arg_0A != 61) goto block_1136;

  block_10A5:
    for local_19 in nearby_items(shape=0x01CD, origin=arg_06) {
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      /* loopnext  */
    }

  block_1131:
    goto block_218C;

  block_1136:
    if (arg_0A != 62) goto block_11CF;

  block_113E:
    for local_19 in nearby_items(shape=0x01CD, origin=arg_06) {
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      /* loopnext  */
    }

  block_11CA:
    goto block_218C;

  block_11CF:
    if (arg_0A != 75) goto block_1227;

  block_11D7:
    for local_02 in nearby_items(family=6, origin=arg_06) {
      if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
        suspend;
      }
      /* loopnext  */
    }

  block_1222:
    goto block_218C;

  block_1227:
    if (arg_0A != 80) goto block_12E1;

  block_122F:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x44 */
    /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */

  block_124C:
    if condition goto block_125B;

  block_124F:
    /* loopnext  */
    goto block_124C;

  block_125B:
    for local_02 in nearby_items(shape=0x054E, origin=arg_06) {
      /* loopnext  */
    }

  block_12DC:
    goto block_218C;

  block_12E1:
    if (arg_0A != 85) goto block_13FB;

  block_12E9:
    local_27 = (Item.getNpcNum(arg_06) * 5);

  block_12F7:
    if 1 goto block_13F8;

  block_12FC:
    local_0F = 0;
    FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]);
    if (retval > 50) goto block_1326;

  block_1323:
    goto block_218C;

  block_1326:
    for local_02 in nearby_items(family=6, origin=global[0x001E]) {
      if (!Item.isNpc(local_02)) {
        local_0F = (1 + local_0F);
      }
      /* loopnext  */
    }

  block_1357:
    if (local_0F <= 4) goto block_13DE;

  block_1361:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    goto block_13F5;

  block_13DE:
    spawn FREE.slot_3B(pid, 120, 0x00000000);
    suspend;

  block_13F5:
    goto block_12F7;

  block_13F8:
    goto block_218C;

  block_13FB:
    if (arg_0A != 97) goto block_1473;

  block_1403:
    /* global_address global_id=0x1E */

  block_1427:
    if (!Ultima8Engine.moveKeyDownRecently()) goto block_144A;

  block_1430:
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    goto block_1427;

  block_144A:
    /* global_address global_id=0x1E */
    /* global_address global_id=0x1E */
    /* global_address global_id=0x1E */
    goto block_218C;

  block_1473:
    if (arg_0A != 98) goto block_14A9;

  block_147B:
    for local_02 in nearby_items(shape=0x0361, origin=arg_06) {
      /* loopnext  */
    }

  block_14A4:
    goto block_218C;

  block_14A9:
    if (arg_0A != 99) goto block_14DF;

  block_14B1:
    for local_02 in nearby_items(shape=0x0361, origin=arg_06) {
      /* loopnext  */
    }

  block_14DA:
    goto block_218C;

  block_14DF:
    if (arg_0A != 100) goto block_1519;

  block_14E7:
    spawn FREE.slot_3B(pid, 60, 0x00000000);
    suspend;
    suspend;
    goto block_218C;

  block_1519:
    if (arg_0A != 120) goto block_15C6;

  block_1521:
    local_2F = World.gameDifficulty();
    local_31 = Item.getQLo(arg_06);
    if (local_2F != 1) goto block_1556;

  block_153B:
    spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    goto block_15B6;

  block_1556:
    if (local_2F != 2) goto block_1586;

  block_155E:
    spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    goto block_15B6;

  block_1586:
    if (local_2F >= 3) goto block_15B6;

  block_158E:
    spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    goto block_15B6;

  block_15B6:
    goto block_218C;

  block_15C3:
    goto block_218C;

  block_15C6:
    if (arg_0A != 125) goto block_168C;

  block_15CE:
    local_33 = World.gameDifficulty();
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x49 */
    /* loop current_var=0xFE string_bytes=0x14 loop_type=0x2 */

  block_1601:
    if condition goto block_1684;

  block_1604:
    if (local_33 != 1) goto block_1623;

  block_160C:
    goto block_1680;

  block_1623:
    if (local_33 != 2) goto block_1642;

  block_162B:
    goto block_1680;

  block_1642:
    if (local_33 != 3) goto block_1661;

  block_164A:
    goto block_1680;

  block_1661:
    if (local_33 >= 4) goto block_1680;

  block_1669:
    goto block_1680;

  block_1680:
    /* loopnext  */
    goto block_1601;

  block_1684:
    goto block_218C;

  block_1689:
    goto block_218C;

  block_168C:
    if (arg_0A != 0x0091) goto block_17B7;

  block_1695:
    local_27 = (Item.getNpcNum(arg_06) * 5);
    local_15 = World.gameDifficulty();
    if (local_15 != 3) goto block_16B6;

  block_16B2:
    local_15 = 4;

  block_16B6:
    local_17 = ((Item.getQHi(arg_06) - 1) + local_15);

  block_16C7:
    if 1 goto block_17B4;

  block_16CC:
    local_0F = 0;
    FREE.slot_32((local_17 != 0), *(arg_06), global[0x001E]);
    if (retval > 50) goto block_16EF;

  block_16EC:
    goto block_218C;

  block_16EF:
    for local_02 in nearby_items(family=6, origin=global[0x001E]) {
      if (!Item.isNpc(local_02)) {
        local_0F = (1 + local_0F);
      }
      /* loopnext  */
    }

  block_1720:
    if (local_0F <= 4) goto block_179A;

  block_172A:
    local_17 = (local_17 - 1);
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    goto block_17B1;

  block_179A:
    spawn FREE.slot_3B(pid, 120, 0x00000000);
    suspend;

  block_17B1:
    goto block_16C7;

  block_17B4:
    goto block_218C;

  block_17B7:
    if (arg_0A != 0x0092) goto block_18EC;

  block_17C0:
    local_27 = (Item.getNpcNum(arg_06) * 5);
    local_15 = World.gameDifficulty();
    if (local_15 != 3) goto block_17E1;

  block_17DD:
    local_15 = 4;

  block_17E1:
    local_17 = ((Item.getQHi(arg_06) - 1) + local_15);

  block_17F2:
    if 1 goto block_18E9;

  block_17F7:
    local_0F = 0;
    FREE.slot_32((local_17 != 0), *(arg_06), global[0x001E]);
    if ((retval > 50) || (Item.isEntirelyOnScreen(arg_06) != 1)) goto block_1827;

  block_1824:
    goto block_218C;

  block_1827:
    for local_02 in nearby_items(family=6, origin=global[0x001E]) {
      if (local_02 >= 0x00FF) {
        local_0F = (1 + local_0F);
      }
      /* loopnext  */
    }

  block_1855:
    if (local_0F <= 4) goto block_18CF;

  block_185F:
    local_17 = (local_17 - 1);
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    goto block_18E6;

  block_18CF:
    spawn FREE.slot_3B(pid, 120, 0x00000000);
    suspend;

  block_18E6:
    goto block_17F2;

  block_18E9:
    goto block_218C;

  block_18EC:
    if (arg_0A != 0x0094) goto block_19D5;

  block_18F5:
    local_27 = Item.getNpcNum(arg_06);
    local_11 = (Item.getQHi(arg_06) + 1);
    local_13 = Item.getQLo(arg_06);
    local_0F = local_13;

  block_191D:
    if (local_0F <= local_11) goto block_196C;

  block_1925:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_191D;

  block_196C:
    local_0F = local_13;

  block_1970:
    if (local_0F <= local_11) goto block_19C5;

  block_1978:
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_1970;

  block_19C5:
    goto block_218C;

  block_19D2:
    goto block_218C;

  block_19D5:
    if (arg_0A != 0x0095) goto block_1AD3;

  block_19DE:
    local_27 = Item.getNpcNum(arg_06);
    local_11 = Item.getQHi(arg_06);

  block_19F4:
    if 1 goto block_1AD0;

  block_19F9:
    if Item.getQHi(arg_06) goto block_1A77;

  block_1A05:
    local_0F = 1;

  block_1A09:
    if (local_0F <= local_11) goto block_1A74;

  block_1A11:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;
    local_0F = (1 + local_0F);
    goto block_1A09;

  block_1A74:
    goto block_1ACD;

  block_1A77:
    local_0F = 1;

  block_1A7B:
    if (local_0F <= local_11) goto block_1ACA;

  block_1A83:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
    suspend;
    spawn FREE.slot_3B(pid, local_27, 0x00000000);
    suspend;
    local_0F = (1 + local_0F);
    goto block_1A7B;

  block_1ACA:
    goto block_218C;

  block_1ACD:
    goto block_19F4;

  block_1AD0:
    goto block_218C;

  block_1AD3:
    if (arg_0A != 0x0096) goto block_1AF7;

  block_1ADC:
    suspend;
    goto block_218C;

  block_1AF7:
    if (arg_0A != 0x00C8) goto block_1F2E;

  block_1B00:
    for local_02 in selector_0x42(arg0=0x028C, arg1=0x05AC, arg2=(32 * 32), origin=arg_06) {
      if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
        if (Item.getQHi(local_02) <= 99) {
          spawn FREE.slot_3B(pid, 10, 0x00000000);
          suspend;
        }
      }
      /* loopnext  */
    }

  block_1BCD:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x4B */
    /* loop current_var=0xFE string_bytes=0x18 loop_type=0x2 */

  block_1C01:
    if condition goto block_1CB7;

  block_1C04:
    if (Item.getQLo(local_02) != Item.getQLo(arg_06)) goto block_1CB3;

  block_1C1A:
    if (Item.getQHi(local_02) > 99) goto block_1CB3;

  block_1C29:
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;

  block_1CB3:
    /* loopnext  */
    goto block_1C01;

  block_1CB7:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x48 */
    /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */

  block_1CE2:
    if condition goto block_1D6E;

  block_1CE5:
    if (Item.getQLo(local_02) != Item.getQLo(arg_06)) goto block_1D6A;

  block_1CFB:
    if (Item.getQHi(local_02) > 99) goto block_1D6A;

  block_1D0A:
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;

  block_1D6A:
    /* loopnext  */
    goto block_1CE2;

  block_1D6E:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x44 */
    /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */

  block_1D8D:
    if condition goto block_1E3C;

  block_1D90:
    if (Item.getQLo(local_02) != Item.getQLo(arg_06)) goto block_1E38;

  block_1DA6:
    ITEM.slot_26(0x1000, local_02);
    if retval goto block_1E38;

  block_1DB6:
    ITEM.slot_25(0x1000, local_02);
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;

  block_1E38:
    /* loopnext  */
    goto block_1D8D;

  block_1E3C:
    for local_02 in selector_0x42(arg0=0x019A, arg1=0x0196, arg2=(32 * 32), origin=arg_06) {
      if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
        if (Item.getQHi(local_02) <= 99) {
          spawn FREE.slot_3B(pid, 10, 0x00000000);
          suspend;
        }
      }
      /* loopnext  */
    }

  block_1F29:
    goto block_218C;

  block_1F2E:
    if (arg_0A != 0x00C9) goto block_1F7D;

  block_1F37:
    local_35 = Item.getQHi(arg_06);
    if (local_35 < 4) goto block_1F5E;

  block_1F4A:
    local_35 = (1 + local_35);
    goto block_1F7A;

  block_1F5E:
    spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
    suspend;

  block_1F7A:
    goto block_218C;

  block_1F7D:
    if (arg_0A != 0x00CA) goto block_1FCB;

  block_1F86:
    for local_02 in nearby_items(family=1, origin=arg_06) {
      if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
        ITEM.slot_25(0x1000, local_02);
      }
      /* loopnext  */
    }

  block_1FC6:
    goto block_218C;

  block_1FCB:
    if (arg_0A != 0x00CF) goto block_2081;

  block_1FD4:
    for local_02 in nearby_items(family=6, origin=arg_06) {
      if (local_02 >= 0x0100) {
        local_1B = local_02;
        if ((local_1B == World.getControlledNPCNum()) && (local_1B != 1)) {
          spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
          suspend;
          spawn FREE.slot_3B(pid, 60, 0x00000000);
          suspend;
          spawn ITEM.slot_2A(pid, 0, 2, local_1B);
          suspend;
          while (Actor.isDead(local_1B)) {
          }
        }
      }
      /* loopnext  */
    }

  block_207C:
    goto block_218C;

  block_2081:
    if (arg_0A != 0x00D2) goto block_218C;

  block_208A:
    /* loop_selector local_02 in selector_0x42(arg0=0x05BA, arg1=0x05E6, arg2=(5 * 32), origin=arg_06) */

  block_20A1:
    if condition goto block_2187;

  block_20A4:
    ITEM.slot_24(2, local_1B);
    spawn FREE.slot_3B(pid, 5, 0x00000000);
    suspend;

  block_2153:
    if (World.getControlledNPCNum() != 1) goto block_2178;

  block_215E:
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    goto block_2153;

  block_2178:
    goto block_2187;

  block_2183:
    /* loopnext  */
    goto block_20A1;

  block_2187:
    goto block_218C;

  block_218C:
    return;

}
