function item_slot_2D() /* entry=400 class_id=0x0A1E slot=0x2D */
{
  var
    referent, /* [BP+00h] type=0x69 */
    egg1, /* [BP+0Ah] type=0x69 */
    var, /* [BP+0Ch] type=0x69 */
    monster1, /* [BP-02h] type=0x24 */
    monster2, /* [BP-04h] type=0x24 */
    link, /* [BP-06h] type=0x69 */
    a, /* [BP-08h] type=0x69 */
    newNpc, /* [BP-0Ah] type=0x24 */
    npc, /* [BP-0Ch] type=0x24 */
    ref; /* [BP-0Eh] type=0x69 */

  entry:
    set_info(0x021B, 0);
    monster1 = egg1;
    if (Item.getFrame(monster1) != 0) goto block_175C;

  block_1756:
    goto block_19BA;

  block_175C:
    link = Item.getNpcNum(monster1);
    /* 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_1786:
    if condition goto block_19B8;

  block_1789:
    if (Item.getNpcNum(monster2) != link) goto block_19B4;

  block_179B:
    if (Item.getFrame(monster2) != 1) goto block_19B4;

  block_17AD:
    if ((var != 2) || (var != 3)) goto block_193C;

  block_17C1:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF4 string_bytes=0x6 loop_type=0x2 */

  block_17DC:
    if condition goto block_1832;

  block_17DF:
    if Item.isNpc(npc) goto block_182E;

  block_17EE:
    if ((Item.getZ(npc) > (Item.getZ(arg_06) - 10)) && (Item.getZ(npc) < (Item.getZ(arg_06) + 10))) goto block_182E;

  block_1824:
    /* word_to_dword  */
    /* pop_result  */
    goto block_19BA;

  block_182E:
    /* loopnext  */
    goto block_17DC;

  block_1832:
    ref = Item.andStatus(monster2, arg_06);
    if ref goto block_1939;

  block_184C:
    newNpc = ref;
    a = (Item.getNpcNum(monster1) & 15);
    if ((a != 2) || (a != 4)) goto block_1939;

  block_1878:
    suspend;

  block_18FF:
    if Item.touch(48, arg_06) goto block_1939;

  block_1910:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_18FF;

  block_1939:
    goto block_1968;

  block_193C:
    ref = Item.andStatus(monster2, arg_06);
    if ref goto block_1968;

  block_1954:
    newNpc = ref;

  block_1968:
    if ((var != 0) || (var != 2)) goto block_19AA;

  block_197C:
    spawn class_0A1E_slot_2E(monster2, monster1, arg_06);

  block_19AA:
    /* word_to_dword  */
    /* pop_result  */
    goto block_19BA;

  block_19B4:
    /* loopnext  */
    goto block_1786;

  block_19B8:

  block_19BA:
    return;

}
