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 */

  entry:
    set_info(0x0207, *(arg_06));
    class_0A0C_slot_2C(vel, ref);
    hitMe = retval;
    if (((hitMe != 3) || (hitMe != 4)) || (hitMe != 10)) goto block_185F;

  block_184B:
    class_0A0C_slot_2B(vel, ref);
    damagePoints = retval;
    goto block_1865;

  block_185F:
    goto block_20CA;

  block_1865:
    spawn class_0A1E_slot_27(pid, 0x00C8, vel, ref, arg_06);
    suspend;
    /* dword_to_word  */
    if (!process_result) goto block_18E9;

  block_1896:
    class_0A0C_slot_20(10);
    if (retval > 5) goto block_18D6;

  block_18C6:
    goto block_18E3;

  block_18D6:

  block_18E3:
    goto block_20CA;

  block_18E9:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */

  block_1914:
    if condition goto block_199D;

  block_1917:
    if (Item.fall(deathBox) != Item.fall(arg_06)) goto block_1999;

  block_1933:
    if (Item.getMapNum(deathBox) != 0) goto block_1970;

  block_1948:
    spawn class_0A18_slot_20(pid, 0, deathBox, arg_06);
    suspend;
    goto block_1999;

  block_1970:
    spawn class_0A18_slot_20(pid, (0 + 0x0080), deathBox, arg_06);
    suspend;

  block_1999:
    /* loopnext  */
    goto block_1914;

  block_199D:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    if (Intrinsic0000() != 0) goto block_19E4;

  block_19D3:
    spawn class_0A0C_slot_3B(0x00000000);

  block_19E4:
    if (Intrinsic0016(arg_06) != 123) goto block_1AB9;

  block_19F3:
    if Item.getFrame(arg_06) goto block_1A25;

  block_1A02:
    goto block_1A45;

  block_1A25:

  block_1A45:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1AB9:
    if (Intrinsic0016(arg_06) != 0x03FF) goto block_1B5D;

  block_1AC9:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1B5D:
    if (Intrinsic0016(arg_06) != 70) goto block_1C00;

  block_1B6C:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1C00:
    if (Intrinsic0016(arg_06) != 0x030B) goto block_1CA4;

  block_1C10:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1CA4:
    if (Intrinsic0016(arg_06) != 0x0099) goto block_1D48;

  block_1CB4:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1D48:
    if (Intrinsic0016(arg_06) != 5) goto block_1E1D;

  block_1D57:
    if Item.getFrame(arg_06) goto block_1D89;

  block_1D66:
    goto block_1DA9;

  block_1D89:

  block_1DA9:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1E1D:
    if (Intrinsic0016(arg_06) != 0x03F8) goto block_1EC1;

  block_1E2D:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1EC1:
    if (Intrinsic0016(arg_06) != 0x00A9) goto block_1F65;

  block_1ED1:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_1F65:
    if (Intrinsic0016(arg_06) != 0x030A) goto block_2009;

  block_1F75:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_2009:
    if (Intrinsic0016(arg_06) != 0x0095) goto block_20AD;

  block_2019:
    spawn class_0A06_slot_22(pid, arg_06);
    suspend;
    goto block_20AD;

  block_20AD:
    /* bit_not  */

  block_20CA:
    return;

}
