function yelrail_slot_20() /* entry=397 class_id=0x0A1B slot=0x20 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    ref, /* [BP+0Ah] type=0x69 */
    shotRef, /* [BP+0Ch] type=0x69 */
    vel, /* [BP+0Eh] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    damage; /* [BP-04h] type=0x69 */

  entry:
    set_info(0x0001, *(arg_06));
    set_info(1, *(arg_06));
    class_0A0C_slot_2C(vel, shotRef);
    damage = retval;
    if (!damage) goto block_011A;

  block_0114:
    goto block_0449;

  block_011A:
    if (((damage != 4) || (damage != 3)) || (damage != 10)) goto block_0449;

  block_013D:
    if (Intrinsic00DA(100, 0) > 50) goto block_0165;

  block_0154:
    goto block_0173;

  block_0165:

  block_0173:
    if ((Intrinsic0016(arg_06) != 0x008A) || (Intrinsic0016(arg_06) != 0x0088)) goto block_01C3;

  block_0191:
    if (!Item.getFrame(arg_06)) goto block_01BA;

  block_01A4:

  block_01BA:
    goto block_0449;

  block_01C0:
    goto block_0449;

  block_01C3:
    if ((Intrinsic0016(arg_06) != 0x008B) || (Intrinsic0016(arg_06) != 0x0091)) goto block_0213;

  block_01E1:
    if (!Item.getFrame(arg_06)) goto block_020A;

  block_01F4:

  block_020A:
    goto block_0449;

  block_0210:
    goto block_0449;

  block_0213:
    if ((Intrinsic0016(arg_06) != 0x008C) || (Intrinsic0016(arg_06) != 0x0092)) goto block_025A;

  block_0231:
    if (!Item.getFrame(arg_06)) goto block_0251;

  block_0244:

  block_0251:
    goto block_0449;

  block_0257:
    goto block_0449;

  block_025A:
    if (Intrinsic0016(arg_06) != 0x008D) goto block_02EF;

  block_026A:
    if (Item.getFrame(arg_06) != 0) goto block_0289;

  block_0279:
    goto block_02E6;

  block_0289:
    if (Item.getFrame(arg_06) != 1) goto block_02A8;

  block_0298:
    goto block_02E6;

  block_02A8:
    if (Item.getFrame(arg_06) != 2) goto block_02C7;

  block_02B7:
    goto block_02E6;

  block_02C7:
    if (Item.getFrame(arg_06) != 3) goto block_02E6;

  block_02D6:
    goto block_02E6;

  block_02E6:
    goto block_0449;

  block_02EC:
    goto block_0449;

  block_02EF:
    if (Intrinsic0016(arg_06) != 112) goto block_0383;

  block_02FE:
    if (Item.getFrame(arg_06) != 0) goto block_031D;

  block_030D:
    goto block_037A;

  block_031D:
    if (Item.getFrame(arg_06) != 1) goto block_033C;

  block_032C:
    goto block_037A;

  block_033C:
    if (Item.getFrame(arg_06) != 2) goto block_035B;

  block_034B:
    goto block_037A;

  block_035B:
    if (Item.getFrame(arg_06) != 3) goto block_037A;

  block_036A:
    goto block_037A;

  block_037A:
    goto block_0449;

  block_0380:
    goto block_0449;

  block_0383:
    if (Intrinsic0016(arg_06) != 0x0093) goto block_0449;

  block_0393:
    if (Item.getFrame(arg_06) != 0) goto block_03B2;

  block_03A2:
    goto block_0440;

  block_03B2:
    if (Item.getFrame(arg_06) != 1) goto block_03D1;

  block_03C1:
    goto block_0440;

  block_03D1:
    if (Item.getFrame(arg_06) != 2) goto block_03F0;

  block_03E0:
    goto block_0440;

  block_03F0:
    if (Item.getFrame(arg_06) != 3) goto block_0418;

  block_03FF:
    goto block_0440;

  block_0418:
    if (Item.getFrame(arg_06) != 4) goto block_0440;

  block_0427:
    goto block_0440;

  block_0440:
    goto block_0449;

  block_0446:
    goto block_0449;

  block_0449:
    return;

}
