function flamebox_equip() /* entry=229 class_id=0x0403 slot=0x0A */
{
  var
    referent, /* [BP+00h] type=0x69 */
    event, /* [BP+0Ah] type=0x69 */
    flame, /* [BP-02h] type=0x24 */
    flame2, /* [BP-04h] type=0x24 */
    direction; /* [BP-06h] type=0x69 */

  entry:
    set_info(0x0211, *(arg_06));
    process_exclude();
    if (event != 0) goto block_01D0;

  block_00FF:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x44 */
    /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */

  block_0128:
    if condition goto block_01CB;

  block_012B:
    if (Item.getUnkEggType(flame) != Item.getUnkEggType(arg_06)) goto block_01C7;

  block_0147:
    if (Item.getStatus(flame) & 0x1000) goto block_015D;

  block_015A:
    goto block_01C7;

  block_015D:
    if ((Intrinsic0016(flame) != 0x043B) || (Intrinsic0016(flame) != 0x043A)) goto block_0192;

  block_017B:
    spawn class_0403_slot_21(0, flame, arg_06);
    goto block_01C7;

  block_0192:
    if ((Intrinsic0016(flame) != 0x050A) || (Intrinsic0016(flame) != 0x0518)) goto block_01C7;

  block_01B0:
    spawn class_0403_slot_21(1, flame, arg_06);
    goto block_01C7;

  block_01C7:
    /* loopnext  */
    goto block_0128;

  block_01CB:
    goto block_030A;

  block_01D0:
    if (event != 1) goto block_030A;

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

  block_01F8:
    if condition goto block_0305;

  block_01FB:
    if (Item.getUnkEggType(flame) != Item.getUnkEggType(arg_06)) goto block_0301;

  block_0217:
    if (Intrinsic0016(flame) != 0x0439) goto block_028C;

  block_0227:
    spawn class_0403_slot_20(0, flame2, arg_06);
    goto block_0301;

  block_028C:
    if (Intrinsic0016(flame) != 0x0438) goto block_0301;

  block_029C:
    spawn class_0403_slot_20(1, flame2, arg_06);
    goto block_0301;

  block_0301:
    /* loopnext  */
    goto block_01F8;

  block_0305:
    goto block_030A;

  block_030A:
    return;

}
