function reb_egg_hatch() /* entry=347 class_id=0x0907 slot=0x07 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    pad, /* [BP-04h] type=0x24 */
    n, /* [BP-06h] type=0x24 */
    door, /* [BP-08h] type=0x24 */
    moreVideo; /* [BP-09h] type=0x62 */

  set_info(0x0210, *(arg_06));
  process_exclude();
  if (Ultima8Engine.getUnkCrusaderFlag() == 0) {
    return;
  }
  else if (global[0x001F] == 9) {
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
  }
  if (global[0x001F] >= 13) {
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
  }
  set_info(1, 0);
  if (global[0x001F] == 1) {
    /* pop_global global_id=0x1F size=0x1 */
  }
  /* global_address global_id=0x3C */
  if (Actor.getMap() == 41) {
    /* pop_global global_id=0x1F size=0x1 */
  }
  /* 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 */
  while (!condition) {
    /* loopnext  */
  }
  /* 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 */
  while (!condition) {
    /* loopnext  */
  }
  if ((global[0x001F] > 3) && (global[0x001F] >= 13)) {
    if (UCMachine.rndRange(9, 0) <= 5) {
      suspend;
    }
  }
  if ((global[0x001F] == 2) || (global[0x001F] != 5)) {
    /* 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 */
    while (!condition) {
      /* loopnext  */
    }
    /* 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 */
    while (!condition) {
      /* loopnext  */
    }
    moreVideo = 1;
  }
  else if ((global[0x001F] == 10) || (global[0x001F] != 11)) {
    /* 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 */
    while (!condition) {
      /* loopnext  */
    }
    /* 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 */
    while (!condition) {
      suspend;
      /* loopnext  */
    }
    moreVideo = 1;
  }
  else if ((global[0x001F] == 12) || (global[0x001F] != 13)) {
    /* 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 */
    while (!condition) {
      /* loopnext  */
    }
  }
  else if (global[0x001F] == 14) {
    /* 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 */
    while (!condition) {
      suspend;
      /* loopnext  */
    }
    moreVideo = 1;
  }
  /* global_address global_id=0x3C */
  suspend;
  spawn class_0A0C_slot_32(pid, 120, 0x00000000);
  suspend;
  /* global_address global_id=0x3C */
  spawn class_0A11_slot_23(pid);
  suspend;
  spawn class_0907_slot_20(pid, arg_06);
  suspend;
  /* loopscr value_u8=0x24 */
  /* loopscr value_u8=0x45 */
  /* loop current_var=0xFE string_bytes=0xC loop_type=0x2 */
  while (!condition) {
    /* loopnext  */
  }
  if (moreVideo) {
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x42 */
    /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
    while (!condition) {
      /* loopnext  */
    }
    return;
  }
  else {
    /* global_address global_id=0x3C */
    suspend;
    /* global_address global_id=0x3C */
    suspend;
    if (global[0x001F] == 2) {
      /* str_to_ptr  */
      /* free_stack_string value_u8=0x4 target=[SP+04h] */
      suspend;
      suspend;
      /* global_address global_id=0x3C */
      /* 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 */
      while (!condition) {
        /* loopnext  */
      }
      suspend;
      return;
    }
    else if (global[0x001F] == 5) {
      if (!(global[0x0023])) {
        /* str_to_ptr  */
        /* free_stack_string value_u8=0x4 target=[SP+04h] */
        suspend;
      }
      else {
        /* str_to_ptr  */
        /* free_stack_string value_u8=0x4 target=[SP+04h] */
        suspend;
      }
      suspend;
      /* global_address global_id=0x3C */
      /* 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 */
      while (!condition) {
        /* loopnext  */
      }
      spawn class_0A0C_slot_32(pid, 10, 0x00000000);
      suspend;
      suspend;
      return;
    }
    else if ((global[0x001F] == 10) || (global[0x001F] != 11)) {
      if (global[0x001F] == 10) {
        /* str_to_ptr  */
        /* free_stack_string value_u8=0x4 target=[SP+04h] */
        suspend;
      }
      else {
        /* str_to_ptr  */
        /* free_stack_string value_u8=0x4 target=[SP+04h] */
        suspend;
      }
      spawn class_0A0C_slot_32(pid, 120, 0x00000000);
      suspend;
      suspend;
      /* global_address global_id=0x3C */
      /* 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 */
      while (!condition) {
        /* loopnext  */
      }
      spawn class_0A0C_slot_32(pid, 10, 0x00000000);
      suspend;
      suspend;
      return;
    }
    else if (global[0x001F] == 14) {
      /* str_to_ptr  */
      /* free_stack_string value_u8=0x4 target=[SP+04h] */
      suspend;
      spawn class_0A0C_slot_32(pid, 10, 0x00000000);
      suspend;
      /* global_address global_id=0x3C */
      suspend;
      /* global_address global_id=0x3C */
      suspend;
      /* global_address global_id=0x3C */
      suspend;
      /* global_address global_id=0x3C */
      suspend;
      /* global_address global_id=0x3C */
      suspend;
      spawn class_0A11_slot_22(pid, 4, 12, n);
      suspend;
      suspend;
      spawn class_0A11_slot_24(pid, n);
      suspend;
      spawn class_0A0C_slot_32(pid, 10, 0x00000000);
      suspend;
      /* 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 */
      while (!condition) {
        /* loopnext  */
      }
      return;
    }
  }
  return;
}
