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

  set_info(0x0207, *(arg_06));
  if (Item.getShape(arg_06) == door2_shape_043f) {
    FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 0x03F8, *(arg_06));
    if (retval) {
      /* word_to_dword  */
      /* pop_result  */
      return;
    }
  }
  else {
    for item in nearby_items(shape=0x0401, origin=arg_06) {
      /* loopnext  */
    }
    FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 108, *(arg_06));
    if (retval) {
      /* word_to_dword  */
      /* pop_result  */
      return;
    }
  }
  counter = 0;
  while (counter > 4) {
    spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
    suspend;
    counter = (1 + counter);
  }
  /* word_to_dword  */
  /* pop_result  */
  return;
}
