function blastpac_use() /* entry=207 class_id=0x039B slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    InCrouch, /* [BP-01h] type=0x62 */
    Blastpac, /* [BP-03h] type=0x24 */
    target, /* [BP-05h] type=0x24 */
    item, /* [BP-07h] type=0x24 */
    counter, /* [BP-09h] type=0x69 */
    lastAnim, /* [BP-0Bh] type=0x69 */
    xOff, /* [BP-0Dh] type=0x69 */
    yOff, /* [BP-0Fh] type=0x69 */
    mine; /* [BP-11h] type=0x24 */

  entry:
    set_info(0x0207, *(arg_06));
    process_exclude();
    Blastpac = *(arg_06);
    set_info(0x00F0, 0);
    /* global_address global_id=0x3C */
    lastAnim = Item.push();

  block_011D:
    /* global_address global_id=0x3C */
    if Intrinsic0033() goto block_0153;

  block_012D:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_011D;

  block_0153:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF9 string_bytes=0x6 loop_type=0x2 */

  block_0171:
    if condition goto block_0233;

  block_0174:
    target = item;

  block_017B:
    class_0A0C_slot_29(target, global[0x003C]);
    if ((retval > 3) && (counter != 6)) goto block_01FC;

  block_019E:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 1, Item.legal_create(Item.legal_create(target), Intrinsic0013(target)))));
    suspend;
    counter = (1 + counter);
    goto block_017B;

  block_01FC:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    goto block_0233;

  block_022F:
    /* loopnext  */
    goto block_0171;

  block_0233:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 0) goto block_0253;

  block_0245:
    xOff = -1;
    yOff = -3;
    goto block_0415;

  block_0253:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 1) goto block_0271;

  block_0263:
    xOff = 0;
    yOff = -3;
    goto block_0415;

  block_0271:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 2) goto block_028F;

  block_0281:
    xOff = 1;
    yOff = -3;
    goto block_0415;

  block_028F:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 3) goto block_02AD;

  block_029F:
    xOff = 2;
    yOff = -2;
    goto block_0415;

  block_02AD:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 4) goto block_02CB;

  block_02BD:
    xOff = 2;
    yOff = -1;
    goto block_0415;

  block_02CB:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 5) goto block_02E9;

  block_02DB:
    xOff = 2;
    yOff = 0;
    goto block_0415;

  block_02E9:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 6) goto block_0307;

  block_02F9:
    xOff = 2;
    yOff = 2;
    goto block_0415;

  block_0307:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 7) goto block_0325;

  block_0317:
    xOff = 0;
    yOff = 2;
    goto block_0415;

  block_0325:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 8) goto block_0343;

  block_0335:
    xOff = -1;
    yOff = 2;
    goto block_0415;

  block_0343:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 9) goto block_0361;

  block_0353:
    xOff = -2;
    yOff = 2;
    goto block_0415;

  block_0361:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 10) goto block_037F;

  block_0371:
    xOff = -3;
    yOff = 2;
    goto block_0415;

  block_037F:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 11) goto block_039D;

  block_038F:
    xOff = -3;
    yOff = 1;
    goto block_0415;

  block_039D:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 12) goto block_03BB;

  block_03AD:
    xOff = -3;
    yOff = 0;
    goto block_0415;

  block_03BB:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 13) goto block_03D9;

  block_03CB:
    xOff = -3;
    yOff = -1;
    goto block_0415;

  block_03D9:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 14) goto block_03F7;

  block_03E9:
    xOff = -3;
    yOff = -2;
    goto block_0415;

  block_03F7:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 15) goto block_0415;

  block_0407:
    xOff = -3;
    yOff = -3;
    goto block_0415;

  block_0415:
    if target goto block_061D;

  block_041D:
    /* global_address global_id=0x3C */
    if Intrinsic0035() goto block_0437;

  block_042D:
    InCrouch = 1;
    goto block_046E;

  block_0437:
    InCrouch = 0;
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;

  block_046E:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    spawn class_039B_slot_20(mine, arg_06);

  block_04C5:
    /* global_address global_id=0x3C */
    if Intrinsic0033() goto block_04FB;

  block_04D5:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_04C5;

  block_04FB:
    spawn class_0A0C_slot_21(pid, 13, 0x00000000);
    suspend;
    if (!InCrouch) goto block_05C5;

  block_052A:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    if target goto block_05C2;

  block_0562:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;

  block_05C2:
    goto block_061A;

  block_05C5:
    spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
    suspend;

  block_061A:
    goto block_0672;

  block_061D:
    spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
    suspend;

  block_0672:
    return;

}
