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

  entry:
    set_info(0x0210, *(arg_06));
    process_exclude();
    if (Intrinsic0070() != 0) goto block_01EC;

  block_01E6:
    goto block_0F59;

  block_01EC:
    if (global[0x001F] != 9) goto block_0271;

  block_020A:
    /* 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;

  block_0271:
    if (global[0x001F] < 13) goto block_02BB;

  block_0281:
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;

  block_02BB:
    set_info(1, 0);
    if (global[0x001F] != 1) goto block_02DC;

  block_02D3:
    /* pop_global global_id=0x1F size=0x1 */

  block_02DC:
    /* global_address global_id=0x3C */
    if (Item.getType() != 41) goto block_02FB;

  block_02F2:
    /* pop_global global_id=0x1F size=0x1 */

  block_02FB:
    /* 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_031A:
    if condition goto block_032C;

  block_031D:
    /* loopnext  */
    goto block_031A;

  block_032C:
    /* 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_034D:
    if condition goto block_0374;

  block_0350:
    if (Intrinsic007E(item) != 1) goto block_0370;

  block_0365:

  block_0370:
    /* loopnext  */
    goto block_034D;

  block_0374:
    if ((global[0x001F] > 3) && (global[0x001F] < 13)) goto block_0451;

  block_038E:
    if (Intrinsic00DA(9, 0) > 5) goto block_03F6;

  block_03A5:
    suspend;
    goto block_044E;

  block_03F6:

  block_044E:
    goto block_04A9;

  block_0451:

  block_04A9:
    if ((global[0x001F] != 2) || (global[0x001F] != 5)) goto block_0556;

  block_04BB:
    /* 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_04D9:
    if condition goto block_04ED;

  block_04DC:
    /* loopnext  */
    goto block_04D9;

  block_04ED:
    /* 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_050D:
    if condition goto block_054A;

  block_0510:
    /* loopnext  */
    goto block_050D;

  block_054A:
    moreVideo = 1;
    goto block_0770;

  block_0556:
    if ((global[0x001F] != 10) || (global[0x001F] != 11)) goto block_0656;

  block_0568:
    /* 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_0586:
    if condition goto block_05C6;

  block_0589:
    /* loopnext  */
    goto block_0586;

  block_05C6:
    /* 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_05E6:
    if condition goto block_064A;

  block_05E9:
    suspend;
    /* loopnext  */
    goto block_05E6;

  block_064A:
    moreVideo = 1;
    goto block_0770;

  block_0656:
    if ((global[0x001F] != 12) || (global[0x001F] != 13)) goto block_06D8;

  block_0668:
    /* 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_0686:
    if condition goto block_06D3;

  block_0689:
    /* loopnext  */
    goto block_0686;

  block_06D3:
    goto block_0770;

  block_06D8:
    if (global[0x001F] != 14) goto block_0770;

  block_06E2:
    /* 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_0700:
    if condition goto block_0764;

  block_0703:
    suspend;
    /* loopnext  */
    goto block_0700;

  block_0764:
    moreVideo = 1;
    goto block_0770;

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

  block_082C:
    if condition goto block_0840;

  block_082F:
    /* loopnext  */
    goto block_082C;

  block_0840:
    if (!moreVideo) goto block_08B0;

  block_084B:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x42 */
    /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */

  block_0888:
    if condition goto block_08AB;

  block_088B:
    /* loopnext  */
    goto block_0888;

  block_08AB:
    goto block_0F59;

  block_08B0:
    /* global_address global_id=0x3C */
    suspend;
    /* global_address global_id=0x3C */
    suspend;
    if (global[0x001F] != 2) goto block_0A0E;

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

  block_09AA:
    if condition goto block_09CB;

  block_09AD:
    /* loopnext  */
    goto block_09AA;

  block_09CB:
    suspend;
    goto block_0F59;

  block_0A0E:
    if (global[0x001F] != 5) goto block_0B7C;

  block_0A18:
    if global[0x0023] goto block_0A52;

  block_0A22:
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
    goto block_0A7F;

  block_0A52:
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;

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

  block_0AF2:
    if condition goto block_0B13;

  block_0AF5:
    /* loopnext  */
    goto block_0AF2;

  block_0B13:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    suspend;
    goto block_0F59;

  block_0B7C:
    if ((global[0x001F] != 10) || (global[0x001F] != 11)) goto block_0D23;

  block_0B8E:
    if (global[0x001F] != 10) goto block_0BCF;

  block_0B9E:
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
    goto block_0BFD;

  block_0BCF:
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;

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

  block_0C99:
    if condition goto block_0CBA;

  block_0C9C:
    /* loopnext  */
    goto block_0C99;

  block_0CBA:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    suspend;
    goto block_0F59;

  block_0D23:
    if (global[0x001F] != 14) goto block_0F59;

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

  block_0F21:
    if condition goto block_0F42;

  block_0F24:
    /* loopnext  */
    goto block_0F21;

  block_0F42:
    goto block_0F59;

  block_0F59:
    return;

}
