function cru_spid_use() /* entry=320 class_id=0x0560 slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    mine, /* [BP-02h] type=0x24 */
    InCrouch, /* [BP-03h] type=0x62 */
    Cru_Spider, /* [BP-05h] type=0x24 */
    target, /* [BP-07h] type=0x24 */
    item, /* [BP-09h] type=0x24 */
    counter, /* [BP-0Bh] type=0x69 */
    lastAnim, /* [BP-0Dh] type=0x69 */
    xOff, /* [BP-0Fh] type=0x69 */
    yOff, /* [BP-11h] type=0x69 */
    wp; /* [BP-16h] type=0x24 */

  entry:
    set_info(0x0207, *(arg_06));
    process_exclude();
    /* global_address global_id=0x3C */
    if (Item.getType() != 40) goto block_0184;

  block_0150:
    goto block_055B;

  block_0184:
    Cru_Spider = *(arg_06);
    set_info(0x00F0, 0);
    /* global_address global_id=0x3C */
    lastAnim = Intrinsic005A();

  block_01B0:
    /* global_address global_id=0x3C */
    if Intrinsic0033() goto block_01E6;

  block_01C0:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_01B0;

  block_01E6:
    /* global_address global_id=0x3C */
    if (Intrinsic00FA() != 0) goto block_0204;

  block_01F6:
    xOff = -1;
    yOff = -3;
    goto block_03C6;

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

  block_0214:
    xOff = 0;
    yOff = -3;
    goto block_03C6;

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

  block_0232:
    xOff = 1;
    yOff = -3;
    goto block_03C6;

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

  block_0250:
    xOff = 2;
    yOff = -2;
    goto block_03C6;

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

  block_026E:
    xOff = 2;
    yOff = -1;
    goto block_03C6;

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

  block_028C:
    xOff = 2;
    yOff = 0;
    goto block_03C6;

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

  block_02AA:
    xOff = 2;
    yOff = 2;
    goto block_03C6;

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

  block_02C8:
    xOff = 0;
    yOff = 2;
    goto block_03C6;

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

  block_02E6:
    xOff = -1;
    yOff = 2;
    goto block_03C6;

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

  block_0304:
    xOff = -2;
    yOff = 2;
    goto block_03C6;

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

  block_0322:
    xOff = -3;
    yOff = 2;
    goto block_03C6;

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

  block_0340:
    xOff = -3;
    yOff = 1;
    goto block_03C6;

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

  block_035E:
    xOff = -3;
    yOff = 0;
    goto block_03C6;

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

  block_037C:
    xOff = -3;
    yOff = -1;
    goto block_03C6;

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

  block_039A:
    xOff = -3;
    yOff = -2;
    goto block_03C6;

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

  block_03B8:
    xOff = -3;
    yOff = -3;
    goto block_03C6;

  block_03C6:
    /* global_address global_id=0x3C */
    if Intrinsic0035() goto block_03E0;

  block_03D6:
    InCrouch = 1;
    goto block_0417;

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

  block_0417:
    /* global_address global_id=0x3C */
    wp = (Intrinsic0013() + (xOff * 16));
    /* global_address global_id=0x3C */
    local_14 = (Item.legal_create() + (yOff * 16));
    /* global_address global_id=0x3C */
    local_12 = Item.getZ();
    if (!Item.getSurfaceWeight(wp, 0, 0x0560, mine)) goto block_04E2;

  block_046A:
    if (!InCrouch) goto block_04D1;

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

  block_04D1:
    goto block_055B;

  block_04E2:
    counter = 1;

  block_04F6:
    if (counter <= 9) goto block_053E;

  block_04FE:
    spawn class_0A0C_slot_32(pid, 3, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_04F6;

  block_053E:
    spawn class_0560_slot_20(mine, arg_06);

  block_055B:
    return;

}
