function cru_mine_use() /* entry=55 class_id=0x011E slot=0x01 */
{
  set_info(0x0207, *(arg_06));
  process_exclude();
  /* global_address global_id=0x1E */
  if (Actor.getMap() == 25) {
    return;
  }
  else {
    local_05 = *(arg_06);
    set_info(0x00F0, 0);
    /* global_address global_id=0x1E */
    local_0D = Actor.getLastAnimSet();
    /* global_address global_id=0x1E */
    while (!Actor.isBusy()) {
      spawn FREE.slot_3B(pid, 2, 0x00000000);
      suspend;
    }
    /* global_address global_id=0x1E */
    if (Actor.getDir() == 0) {
      local_13 = 0;
      local_15 = -1;
      local_0F = -1;
      local_11 = -3;
    }
    else if (Actor.getDir() == 1) {
      local_13 = 0;
      local_15 = -1;
      local_0F = 0;
      local_11 = -3;
    }
    else if (Actor.getDir() == 2) {
      local_13 = 1;
      local_15 = -1;
      local_0F = 1;
      local_11 = -3;
    }
    else if (Actor.getDir() == 3) {
      local_13 = 1;
      local_15 = -1;
      local_0F = 2;
      local_11 = -2;
    }
    else if (Actor.getDir() == 4) {
      local_13 = 1;
      local_15 = 0;
      local_0F = 2;
      local_11 = -1;
    }
    else if (Actor.getDir() == 5) {
      local_13 = 1;
      local_15 = 0;
      local_0F = 2;
      local_11 = 0;
    }
    else if (Actor.getDir() == 6) {
      local_13 = 1;
      local_15 = 1;
      local_0F = 2;
      local_11 = 2;
    }
    else if (Actor.getDir() == 7) {
      local_13 = 1;
      local_15 = 1;
      local_0F = 0;
      local_11 = 2;
    }
    else if (Actor.getDir() == 8) {
      local_13 = 0;
      local_15 = 1;
      local_0F = -1;
      local_11 = 2;
    }
    else if (Actor.getDir() == 9) {
      local_13 = 0;
      local_15 = 1;
      local_0F = -2;
      local_11 = 2;
    }
    else if (Actor.getDir() == 10) {
      local_13 = -1;
      local_15 = 1;
      local_0F = -3;
      local_11 = 2;
    }
    else if (Actor.getDir() == 11) {
      local_13 = -1;
      local_15 = 1;
      local_0F = -3;
      local_11 = 1;
    }
    else if (Actor.getDir() == 12) {
      local_13 = -1;
      local_15 = 0;
      local_0F = -3;
      local_11 = 0;
    }
    else if (Actor.getDir() == 13) {
      local_13 = -1;
      local_15 = 0;
      local_0F = -3;
      local_11 = -1;
    }
    else if (Actor.getDir() == 14) {
      local_13 = -1;
      local_15 = -1;
      local_0F = -3;
      local_11 = -3;
    }
    else if (Actor.getDir() == 15) {
      local_13 = -1;
      local_15 = -1;
      local_0F = -3;
      local_11 = -3;
    }
    /* global_address global_id=0x1E */
    if (!Intrinsic0061()) {
      local_03 = 1;
    }
    else {
      local_03 = 0;
      /* global_address global_id=0x1E */
      /* global_address global_id=0x1E */
      suspend;
    }
    /* global_address global_id=0x1E */
    local_1A = (Item.getX() + (local_0F * 16));
    /* global_address global_id=0x1E */
    local_18 = (Item.getY() + (local_11 * 16));
    /* global_address global_id=0x1E */
    local_16 = (Item.getZ() + 12);
    if (Item.legalCreateAtPoint(local_1A, 0, 0x011E, local_02)) {
      if (local_03) {
        /* global_address global_id=0x1E */
        /* global_address global_id=0x1E */
        suspend;
      }
      return;
    }
    else {
      while (!Kernel.getNumProcesses(0x0203, local_02)) {
        spawn FREE.slot_3B(pid, 3, 0x00000000);
        suspend;
      }
      spawn FREE.slot_3B(pid, 10, 0x00000000);
      suspend;
      local_0B = 1;
      while (local_0B > 3) {
        spawn FREE.slot_3B(pid, 3, 0x00000000);
        suspend;
        local_0B = (1 + local_0B);
      }
      spawn CRU_MINE.slot_20(local_02, arg_06);
    }
  }
  return;
}
