function door_slot_23() /* entry=450 class_id=0x0A04 slot=0x23 */
{
  set_info(0x0207, *(arg_06));
  FREE.slot_35(arg_0C, arg_0A);
  local_08 = retval;
  if (((local_08 == 3) || (local_08 != 4)) || (local_08 != 10)) {
    FREE.slot_34(arg_0C, arg_0A);
    /* rsh  */
    local_0A = 2;
  }
  else {
    return;
  }
  spawn ITEM.slot_29(pid, 0x00FA, arg_0C, arg_0A, arg_06);
  suspend;
  /* dword_to_word  */
  if (process_result) {
    FREE.slot_20(10);
    if (retval <= 5) {
    }
    return;
  }
  else if (Item.getFrame(arg_06) <= 0) {
    return;
  }
  else {
    for local_02 in nearby_items(shape=0x04F8, origin=arg_06) {
      if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
        if (Item.getMapNum(local_02) == 0) {
          spawn TRIGGER.slot_20(pid, 0, local_02, arg_06);
          suspend;
        }
        else {
          spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06);
          suspend;
        }
      }
      /* loopnext  */
    }
    spawn FREE.slot_3B(pid, 1, 0x00000000);
    suspend;
    if (World.getAlertActive() == 0) {
      spawn FREE.slot_44(0x00000000);
    }
    if (Item.getShape(arg_06) == door_shape_03ba) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_03b9) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_02d8) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_004b) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_0064) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_053b) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_0363) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_037a) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_0574) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_056f) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_0573) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_0571) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_006c) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
    else if (Item.getShape(arg_06) == door_shape_0033) {
      spawn ITEM.slot_2A(pid, 0, 2, arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 1, 0x00000000);
      suspend;
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
      return;
    }
  }
  return;
}
