function door2_slot_40() /* entry=377 class_id=0x0A07 slot=0x40 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    counter, /* [BP-02h] type=0x69 */
    item; /* [BP-04h] type=0x24 */

  entry:
    set_info(0x0207, *(arg_06));
    if (Intrinsic0016(arg_06) != 0x043F) goto block_3873;

  block_3830:
    class_0A0C_slot_2D(Item.getZ(arg_06), Item.legal_create(arg_06), Intrinsic0013(arg_06), 4, 0x03F8, *(arg_06));
    if (!retval) goto block_3870;

  block_3866:
    /* word_to_dword  */
    /* pop_result  */
    goto block_3987;

  block_3870:
    goto block_391E;

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

  block_3891:
    if condition goto block_38A3;

  block_3894:
    /* loopnext  */
    goto block_3891;

  block_38A3:
    class_0A0C_slot_2D(Item.getZ(arg_06), Item.legal_create(arg_06), Intrinsic0013(arg_06), 4, 108, *(arg_06));
    if (!retval) goto block_391E;

  block_38DA:
    /* word_to_dword  */
    /* pop_result  */
    goto block_3987;

  block_391E:
    counter = 0;

  block_3932:
    if (counter <= 4) goto block_397D;

  block_393A:
    spawn class_0A0C_slot_32(pid, 5, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_3932;

  block_397D:
    /* word_to_dword  */
    /* pop_result  */
    goto block_3987;

  block_3987:
    return;

}
