function door_slot_23() /* entry=376 class_id=0x0A06 slot=0x23 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    ref, /* [BP+0Ah] type=0x69 */
    vel, /* [BP+0Ch] type=0x69 */
    deathBox, /* [BP-02h] type=0x24 */
    item, /* [BP-04h] type=0x24 */
    item2, /* [BP-06h] type=0x24 */
    hitMe, /* [BP-08h] type=0x69 */
    damagePoints; /* [BP-0Ah] type=0x69 */

  set_info(0x0207, *(arg_06));
  FREE.slot_2C(vel, ref);
  hitMe = retval;
  if (((hitMe == 3) || (hitMe != 4)) || (hitMe != 10)) {
    FREE.slot_2B(vel, ref);
    damagePoints = retval;
  }
  else {
    return;
  }
  spawn ITEM.slot_27(pid, 0x00C8, vel, ref, arg_06);
  suspend;
  /* dword_to_word  */
  if (process_result) {
    FREE.slot_20(10);
    if (retval <= 5) {
    }
    return;
  }
  else {
    for deathBox in nearby_items(shape=0x04F8, origin=arg_06) {
      if (Item.getQLo(deathBox) == Item.getQLo(arg_06)) {
        if (Item.getMapArray(deathBox) == 0) {
          spawn TRIGGER.slot_20(pid, 0, deathBox, arg_06);
          suspend;
        }
        else {
          spawn TRIGGER.slot_20(pid, (0 + 0x0080), deathBox, arg_06);
          suspend;
        }
      }
      /* loopnext  */
    }
    spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
    suspend;
    if (World.getAlertActive() == 0) {
      spawn FREE.slot_3B(0x00000000);
    }
    if (Item.getShape(arg_06) == door_shape_007b) {
      if (!Item.getFrame(arg_06)) {
      }
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == 0x03FF) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == door_shape_0046) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == door_shape_030b) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == door_shape_0099) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == door_shape_0005) {
      if (!Item.getFrame(arg_06)) {
      }
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == 0x03F8) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == door_shape_00a9) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == door_shape_030a) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    else if (Item.getShape(arg_06) == door_shape_0095) {
      spawn DOOR.slot_22(pid, arg_06);
      suspend;
    }
    /* bit_not  */
  }
  return;
}
