function detpac_use() /* entry=319 class_id=0x055F slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    InCrouch, /* [BP-01h] type=0x62 */
    Bomb, /* [BP-03h] type=0x24 */
    item, /* [BP-05h] type=0x24 */
    lastAnim, /* [BP-07h] type=0x69 */
    xOff, /* [BP-09h] type=0x69 */
    yOff, /* [BP-0Bh] type=0x69 */
    mine; /* [BP-0Dh] type=0x24 */

  entry:
    set_info(0x0207, *(arg_06));
    process_exclude();
    Bomb = *(arg_06);
    if Item.legal_move(arg_06) goto block_045B;

  block_0103:
    /* global_address global_id=0x3C */
    if (Item.getType() != 40) goto block_014D;

  block_0119:
    goto block_046A;

  block_014D:
    set_info(0x00F0, 0);
    lastAnim = 0;

  block_0168:
    /* global_address global_id=0x3C */
    if Intrinsic0033() goto block_019E;

  block_0178:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_0168;

  block_019E:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 0) goto block_01BC;

  block_01AE:
    xOff = -1;
    yOff = -3;
    goto block_037E;

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

  block_01CC:
    xOff = 0;
    yOff = -3;
    goto block_037E;

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

  block_01EA:
    xOff = 1;
    yOff = -3;
    goto block_037E;

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

  block_0208:
    xOff = 2;
    yOff = -2;
    goto block_037E;

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

  block_0226:
    xOff = 2;
    yOff = -1;
    goto block_037E;

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

  block_0244:
    xOff = 2;
    yOff = 0;
    goto block_037E;

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

  block_0262:
    xOff = 2;
    yOff = 2;
    goto block_037E;

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

  block_0280:
    xOff = 0;
    yOff = 2;
    goto block_037E;

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

  block_029E:
    xOff = -1;
    yOff = 2;
    goto block_037E;

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

  block_02BC:
    xOff = -2;
    yOff = 2;
    goto block_037E;

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

  block_02DA:
    xOff = -3;
    yOff = 2;
    goto block_037E;

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

  block_02F8:
    xOff = -3;
    yOff = 1;
    goto block_037E;

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

  block_0316:
    xOff = -3;
    yOff = 0;
    goto block_037E;

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

  block_0334:
    xOff = -3;
    yOff = -1;
    goto block_037E;

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

  block_0352:
    xOff = -3;
    yOff = -2;
    goto block_037E;

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

  block_0370:
    xOff = -3;
    yOff = -3;
    goto block_037E;

  block_037E:
    /* global_address global_id=0x3C */
    if Intrinsic0035() goto block_0398;

  block_038E:
    InCrouch = 1;
    goto block_03CF;

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

  block_03CF:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    if (!InCrouch) goto block_044D;

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

  block_044D:
    goto block_046A;

  block_045B:

  block_046A:
    return;

}
