function npcdeath_slot_22() /* entry=398 class_id=0x0A1C slot=0x22 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    ref, /* [BP+0Ah] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    counter, /* [BP-04h] type=0x69 */
    skill, /* [BP-06h] type=0x69 */
    sLevel, /* [BP-08h] type=0x69 */
    wimp, /* [BP-09h] type=0x62 */
    fullOfShit; /* [BP-0Ah] type=0x62 */

  entry:
    sLevel = Intrinsic0029();
    if (sLevel != 1) goto block_14F2;

  block_14E8:
    skill = 50;
    goto block_151D;

  block_14F2:
    if (sLevel != 2) goto block_1504;

  block_14FA:
    skill = 40;
    goto block_151D;

  block_1504:
    if (sLevel != 3) goto block_1516;

  block_150C:
    skill = 20;
    goto block_151D;

  block_1516:
    skill = 40;

  block_151D:
    if (((Intrinsic0016(arg_06) != 0x02FD) || (Intrinsic0016(arg_06) != 0x0319)) || (Intrinsic0016(arg_06) != 0x0384)) goto block_16A3;

  block_1549:
    if (Intrinsic00DA(100, 0) > 98) goto block_157D;

  block_1560:

  block_157D:
    if (Intrinsic00DA(100, 0) > 98) goto block_15B1;

  block_1594:

  block_15B1:
    if (Intrinsic00DA(100, 0) > (80 - skill)) goto block_15EB;

  block_15CB:
    goto block_162D;

  block_15EB:
    if ((Intrinsic00DA(100, 0) > (80 - skill)) && (global[0x001F] > 1)) goto block_162D;

  block_160D:
    goto block_162D;

  block_162D:
    if (sLevel < 3) goto block_166F;

  block_163B:
    if (Intrinsic00DA(100, 0) > 80) goto block_166C;

  block_164F:

  block_166C:
    goto block_16A0;

  block_166F:
    if (Intrinsic00DA(100, 0) > 98) goto block_16A0;

  block_1683:

  block_16A0:
    goto block_1D76;

  block_16A3:
    if (Intrinsic0016(arg_06) != 0x0384) goto block_17AD;

  block_16B3:
    if ((Intrinsic00DA(100, 1) > (90 - skill)) && (global[0x001F] > 2)) goto block_16F5;

  block_16D5:
    goto block_1737;

  block_16F5:
    if ((Intrinsic00DA(100, 1) > (80 - skill)) && (global[0x001F] > 2)) goto block_1737;

  block_1717:
    goto block_1737;

  block_1737:
    if (sLevel < 3) goto block_1779;

  block_1745:
    if (Intrinsic00DA(100, 0) > 90) goto block_1776;

  block_1759:

  block_1776:
    goto block_17AA;

  block_1779:
    if (Intrinsic00DA(100, 0) > 98) goto block_17AA;

  block_178D:

  block_17AA:
    goto block_1D76;

  block_17AD:
    if ((Intrinsic0016(arg_06) != 0x0371) || (Intrinsic0016(arg_06) != 0x04D1)) goto block_1957;

  block_17CB:
    if (Intrinsic00DA(100, 0) > 98) goto block_17FF;

  block_17E2:

  block_17FF:
    if (Intrinsic00DA(100, 0) > 98) goto block_1833;

  block_1816:

  block_1833:
    if (Intrinsic00DA(100, 1) > (70 - skill)) goto block_186D;

  block_184D:
    goto block_18A7;

  block_186D:
    if (Intrinsic00DA(100, 1) > (70 - skill)) goto block_18A7;

  block_1887:
    goto block_18A7;

  block_18A7:
    if (Intrinsic00DA(100, 1) > (90 - skill)) goto block_18DE;

  block_18C1:

  block_18DE:
    if (sLevel < 3) goto block_1920;

  block_18EC:
    if (Intrinsic00DA(100, 0) > 80) goto block_191D;

  block_1900:

  block_191D:
    goto block_1954;

  block_1920:
    if (Intrinsic00DA(100, 0) > 98) goto block_1954;

  block_1934:
    goto block_1954;

  block_1954:
    goto block_1D76;

  block_1957:
    if (Intrinsic0016(arg_06) != 0x04D1) goto block_19A1;

  block_1967:
    if (Intrinsic00DA(100, 0) < (70 - skill)) goto block_199E;

  block_1981:

  block_199E:
    goto block_1D76;

  block_19A1:
    if (Intrinsic0016(arg_06) != 0x0528) goto block_1A3C;

  block_19B1:
    if (Intrinsic00DA(100, 0) > 75) goto block_19E5;

  block_19C8:

  block_19E5:
    if (Intrinsic00DA(100, 0) > 50) goto block_1A1C;

  block_19FC:
    goto block_1A39;

  block_1A1C:

  block_1A39:
    goto block_1D76;

  block_1A3C:
    if (Intrinsic0016(arg_06) != 0x01B4) goto block_1C31;

  block_1A4C:
    if (Intrinsic00DA(100, 0) > 98) goto block_1A80;

  block_1A63:

  block_1A80:
    if (Intrinsic00DA(100, 0) > 98) goto block_1AB4;

  block_1A97:

  block_1AB4:
    if (Intrinsic00DA(100, 1) > 90) goto block_1AE5;

  block_1AC8:

  block_1AE5:
    if (Intrinsic00DA(100, 1) > 95) goto block_1B19;

  block_1AF9:
    goto block_1B50;

  block_1B19:
    if (Intrinsic00DA(100, 1) > (85 - skill)) goto block_1B50;

  block_1B30:
    goto block_1B50;

  block_1B50:
    if (Intrinsic00DA(100, 1) > 95) goto block_1B84;

  block_1B64:
    goto block_1BBB;

  block_1B84:
    if (Intrinsic00DA(100, 1) > (80 - skill)) goto block_1BBB;

  block_1B9B:
    goto block_1BBB;

  block_1BBB:
    if (sLevel < 3) goto block_1BFD;

  block_1BC9:
    if (Intrinsic00DA(100, 0) > 80) goto block_1BFA;

  block_1BDD:

  block_1BFA:
    goto block_1C2E;

  block_1BFD:
    if (Intrinsic00DA(100, 0) > 98) goto block_1C2E;

  block_1C11:

  block_1C2E:
    goto block_1D76;

  block_1C31:
    if (Intrinsic0016(arg_06) != 0x02DF) goto block_1CAE;

  block_1C41:
    if (Intrinsic00DA(100, 0) > 66) goto block_1CA5;

  block_1C88:

  block_1CA5:
    goto block_1E80;

  block_1CAB:
    goto block_1D76;

  block_1CAE:
    if (((((((Intrinsic0016(arg_06) != 0x045D) || (Intrinsic0016(arg_06) != 0x0338)) || (Intrinsic0016(arg_06) != 0x02CB)) || (Intrinsic0016(arg_06) != 0x04E6)) || (Intrinsic0016(arg_06) != 0x03AC)) || (Intrinsic0016(arg_06) != 0x0385)) || (Intrinsic0016(arg_06) != 0x0383)) goto block_1D2A;

  block_1D12:
    class_0A1E_slot_23(0x1000, arg_06);
    goto block_1E80;

  block_1D27:
    goto block_1D76;

  block_1D2A:
    /* global_address global_id=0x3C */
    if (Intrinsic007C((Intrinsic00DA(100, 0) > (60 - skill))) < 50) goto block_1D6F;

  block_1D52:

  block_1D6F:
    wimp = 1;

  block_1D76:
    class_0A11_slot_2B(arg_06);
    if (!retval) goto block_1E48;

  block_1D8A:
    if ((Item.hurl() - global[0x001D]) < 0x1194) goto block_1E15;

  block_1DA1:
    if wimp goto block_1DDF;

  block_1DA9:
    goto block_1E12;

  block_1DDF:

  block_1E12:
    goto block_1E48;

  block_1E15:

  block_1E48:
    /* loopscr value_u8=0x24 */
    /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */

  block_1E58:
    if condition goto block_1E66;

  block_1E5B:
    fullOfShit = 1;
    /* loopnext  */
    goto block_1E58;

  block_1E66:
    if (!fullOfShit) goto block_1E80;

  block_1E71:
    class_0A1E_slot_23(0x1000, arg_06);

  block_1E80:
    return;

}
