function watchew_slot_21() /* entry=284 class_id=0x04DE slot=0x21 */
{
  entry:
    local_04 = *(arg_06);
    set_info(0x021B, 0);
    spawn FREE.slot_3B(pid, 60, 0x00000000);
    suspend;
    local_06 = Camera.getX();
    local_08 = Camera.getY();
    local_0A = Camera.getZ();
    /* loop_selector local_02 in nearby_items(shape=0x0361, origin=arg_06) */

  block_0488:
    if condition goto block_05AD;

  block_048B:
    if (Item.getQLo(local_02) != Item.getQLo(arg_06)) goto block_05A9;

  block_04A1:
    if (Item.getQLo(arg_06) > 0x00F9) goto block_04CC;

  block_04B1:
    spawn WATCHEW.slot_22(pid, local_02, arg_06);
    suspend;
    goto block_05A6;

  block_04CC:
    local_0C = Item.getX(local_02);
    local_0E = Item.getY(local_02);
    local_10 = Item.getZ(local_02);
    /* global_address global_id=0x1E */
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;
    /* pop_global global_id=0x5 size=0x1 */
    spawn FREE.slot_3B(1, pid, 60, 0x00000000);
    suspend;
    if (Item.getMapNum(local_02) != 0) goto block_0568;

  block_0552:
    spawn TRIGGER.slot_20(pid, 0, local_02, arg_06);
    suspend;

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

  block_057F:
    if (!Ultima8Engine.moveKeyDownRecently()) goto block_05A2;

  block_0588:
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    goto block_057F;

  block_05A2:

  block_05A6:
    goto block_05AD;

  block_05A9:
    /* loopnext  */
    goto block_0488;

  block_05AD:
    /* global_address global_id=0x1E */
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;
    /* pop_global global_id=0x5 size=0x1 */
    return;

}
