Program: 21293
Project: 21293
Buggy source:
public ArrayList<DownloadLink> decryptIt(CryptedLink param) throws Exception {
  String parameter=param.toString();
  br.setCookiesExclusive(true);
  br.clearCookies("String_Node_Str");
  br.getPage("String_Node_Str");
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  if (parameter.matches("String_Node_Str")) {
    boolean isP=parameter.contains("String_Node_Str");
    int catst=getSerienJunkiesCat(isP);
    scatChecked=false;
    int cat=Integer.parseInt(parameter.replaceFirst("String_Node_Str","String_Node_Str").replaceFirst("String_Node_Str","String_Node_Str"));
    if (sCatNewestDownload == catst) {
      br.getPage("String_Node_Str");
      Pattern pattern=Pattern.compile("String_Node_Str",Pattern.CASE_INSENSITIVE);
      Matcher matcher=pattern.matcher(br + "String_Node_Str");
      String name=null;
      while (matcher.find()) {
        if (Integer.parseInt(matcher.group(1)) == cat) {
          name=matcher.group(2).toLowerCase();
          break;
        }
      }
      if (name == null) {
        return decryptedLinks;
      }
      br.getPage(parameter);
      name+="String_Node_Str";
      String[] bet=null;
      while (bet == null) {
        name=name.substring(0,name.length() - 1);
        if (name.length() == 0) {
          return decryptedLinks;
        }
        try {
          bet=br.getRegex("String_Node_Str" + name + "String_Node_Str").getMatches()[0];
        }
 catch (        Exception e) {
        }
      }
      lastHtmlCode=br + "String_Node_Str";
      String[] links=HTMLParser.getHttpLinks(bet[1],br.getRequest().getUrl().toString());
      if (getPluginConfig().getStringProperty("String_Node_Str",mirrorManagement[0]).equals(mirrorManagement[2])) {
        for (        String element : links) {
          DownloadLink dl_link=createDownloadlink(element);
          dl_link.addSourcePluginPasswords(passwords);
          decryptedLinks.add(dl_link);
        }
      }
 else {
        boolean got=false;
        for (        String element : links) {
          DownloadLink dl_link=createDownloadlink(element);
          if (JDUtilities.getPluginForHost(getHostname(element)).getMaxSimultanDownloadNum(dl_link) > 1) {
            dl_link.addSourcePluginPasswords(passwords);
            decryptedLinks.add(dl_link);
            got=true;
            break;
          }
        }
        if (!got) {
          for (          String element : links) {
            DownloadLink dl_link=createDownloadlink(element);
            dl_link.addSourcePluginPasswords(passwords);
            decryptedLinks.add(dl_link);
            break;
          }
        }
      }
      return decryptedLinks;
    }
 else     if (catst == sCatGrabb) {
      String htmlcode="String_Node_Str";
      if (isP) {
        br.getPage(parameter);
        htmlcode=br + "String_Node_Str";
      }
 else {
        br.getPage("String_Node_Str" + cat);
        htmlcode=br + "String_Node_Str";
        try {
          int pages=Integer.parseInt(br.getRegex("String_Node_Str").getMatch(0));
          for (int i=2; i < pages + 1; i++) {
            htmlcode+="String_Node_Str" + br.getPage("String_Node_Str" + cat + "String_Node_Str"+ i);
          }
        }
 catch (        Exception e) {
        }
      }
      HashMap<String,Integer> mirrors=new HashMap<String,Integer>();
      String[] titles=htmlcode.replaceFirst("String_Node_Str","String_Node_Str").split("String_Node_Str");
      for (      String element : titles) {
        String title=new Regex(element,"String_Node_Str").getMatch(0);
        String[] sp=element.split("String_Node_Str");
        int b=1;
        for (        String element2 : sp) {
          String size="String_Node_Str";
          try {
            String[] dsize=new Regex(element2,"String_Node_Str").getMatches()[0];
            double si=Double.parseDouble(dsize[0].replaceAll("String_Node_Str","String_Node_Str"));
            if (dsize.length > 1 && dsize[1].equalsIgnoreCase("String_Node_Str")) {
              si=si * 1024;
            }
            size="String_Node_Str" + si;
            size=size.substring(0,size.indexOf("String_Node_Str"));
          }
 catch (          Exception e) {
          }
          FilePackage fp=new FilePackage();
          fp.setName(title + (b > 1 ? "String_Node_Str" + b : "String_Node_Str"));
          b++;
          fp.setPassword(UnrarPassword.passwordArrayToString(passwords.toArray(new String[passwords.size()])));
          String[][] links=new Regex(element2,"String_Node_Str").getMatches();
          for (          String[] element3 : links) {
            String[] sp2=element3[1].split("String_Node_Str");
            if (getPluginConfig().getStringProperty("String_Node_Str",mirrorManagement[0]).equals(mirrorManagement[2])) {
              for (              String bb : sp2) {
                String[] links2=HTMLParser.getHttpLinks(bb,parameter);
                for (                String element4 : links2) {
                  if (canHandle(element4)) {
                    DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                    dl.setFilePackage(fp);
                    decryptedLinks.add(dl);
                  }
                }
              }
            }
 else {
              boolean isOk=false;
              boolean breakit=false;
              if (getPluginConfig().getStringProperty("String_Node_Str",mirrorManagement[0]).equals(mirrorManagement[0])) {
                for (                String bb : sp2) {
                  String[] links2=HTMLParser.getHttpLinks(bb,parameter);
                  for (                  String element4 : links2) {
                    if (canHandle(element4)) {
                      DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                      if (JDUtilities.getPluginForHost(getHostname(element4)).getMaxSimultanDownloadNum(dl) > 1) {
                        dl.setFilePackage(fp);
                        decryptedLinks.add(dl);
                        breakit=true;
                      }
                    }
                  }
                  if (breakit) {
                    isOk=true;
                    break;
                  }
                }
              }
              if (!isOk) {
                String[] link=null;
                String lastHost=null;
                Integer lastint=Integer.MAX_VALUE;
                out:                 for (                String bb : sp2) {
                  String[] links2=HTMLParser.getHttpLinks(bb,parameter);
                  for (                  String element4 : links2) {
                    if (canHandle(element4)) {
                      String hostn=getHostname(element4);
                      if (!mirrors.containsKey(hostn)) {
                        System.out.println(links2);
                        mirrors.put(hostn,1);
                        link=null;
                        DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                        dl.setFilePackage(fp);
                        decryptedLinks.add(dl);
                        break out;
                      }
 else {
                        Integer currentInt=mirrors.get(hostn);
                        if (currentInt < lastint) {
                          lastint=currentInt;
                          lastHost=hostn;
                          link=links2;
                        }
                        break;
                      }
                    }
                  }
                }
                if (link != null) {
                  mirrors.put(lastHost,(mirrors.get(lastHost) + 1));
                  for (                  String element4 : link) {
                    DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                    dl.setFilePackage(fp);
                    decryptedLinks.add(dl);
                    break;
                  }
                }
              }
            }
          }
        }
      }
      return decryptedLinks;
    }
 else {
      return decryptedLinks;
    }
  }
  String[] info=getLinkName(parameter);
  if (info == null) {
    br.getPage("String_Node_Str" + parameter.replaceFirst("String_Node_Str","String_Node_Str").replaceFirst("String_Node_Str","String_Node_Str") + "String_Node_Str");
    lastHtmlCode=br + "String_Node_Str";
    info=getLinkName(parameter);
  }
  decryptedLinks.add(createdl(parameter,info));
  return decryptedLinks;
}

Fixed version (ground truth):
public ArrayList<DownloadLink> decryptIt(CryptedLink param) throws Exception {
  String parameter=param.toString().trim();
  br.setCookiesExclusive(true);
  br.clearCookies("String_Node_Str");
  br.getPage("String_Node_Str");
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  if (parameter.matches("String_Node_Str")) {
    boolean isP=parameter.contains("String_Node_Str");
    int catst=getSerienJunkiesCat(isP);
    scatChecked=false;
    int cat=Integer.parseInt(parameter.replaceFirst("String_Node_Str","String_Node_Str").replaceFirst("String_Node_Str","String_Node_Str"));
    if (sCatNewestDownload == catst) {
      br.getPage("String_Node_Str");
      Pattern pattern=Pattern.compile("String_Node_Str",Pattern.CASE_INSENSITIVE);
      Matcher matcher=pattern.matcher(br + "String_Node_Str");
      String name=null;
      while (matcher.find()) {
        if (Integer.parseInt(matcher.group(1)) == cat) {
          name=matcher.group(2).toLowerCase();
          break;
        }
      }
      if (name == null) {
        return decryptedLinks;
      }
      br.getPage(parameter);
      name+="String_Node_Str";
      String[] bet=null;
      while (bet == null) {
        name=name.substring(0,name.length() - 1);
        if (name.length() == 0) {
          return decryptedLinks;
        }
        try {
          bet=br.getRegex("String_Node_Str" + name + "String_Node_Str").getMatches()[0];
        }
 catch (        Exception e) {
        }
      }
      lastHtmlCode=br + "String_Node_Str";
      String[] links=HTMLParser.getHttpLinks(bet[1],br.getRequest().getUrl().toString());
      if (getPluginConfig().getStringProperty("String_Node_Str",mirrorManagement[0]).equals(mirrorManagement[2])) {
        for (        String element : links) {
          DownloadLink dl_link=createDownloadlink(element);
          dl_link.addSourcePluginPasswords(passwords);
          decryptedLinks.add(dl_link);
        }
      }
 else {
        boolean got=false;
        for (        String element : links) {
          DownloadLink dl_link=createDownloadlink(element);
          if (JDUtilities.getPluginForHost(getHostname(element)).getMaxSimultanDownloadNum(dl_link) > 1) {
            dl_link.addSourcePluginPasswords(passwords);
            decryptedLinks.add(dl_link);
            got=true;
            break;
          }
        }
        if (!got) {
          for (          String element : links) {
            DownloadLink dl_link=createDownloadlink(element);
            dl_link.addSourcePluginPasswords(passwords);
            decryptedLinks.add(dl_link);
            break;
          }
        }
      }
      return decryptedLinks;
    }
 else     if (catst == sCatGrabb) {
      String htmlcode="String_Node_Str";
      if (isP) {
        br.getPage(parameter);
        htmlcode=br + "String_Node_Str";
      }
 else {
        br.getPage("String_Node_Str" + cat);
        htmlcode=br + "String_Node_Str";
        try {
          int pages=Integer.parseInt(br.getRegex("String_Node_Str").getMatch(0));
          for (int i=2; i < pages + 1; i++) {
            htmlcode+="String_Node_Str" + br.getPage("String_Node_Str" + cat + "String_Node_Str"+ i);
          }
        }
 catch (        Exception e) {
        }
      }
      HashMap<String,Integer> mirrors=new HashMap<String,Integer>();
      String[] titles=htmlcode.replaceFirst("String_Node_Str","String_Node_Str").split("String_Node_Str");
      for (      String element : titles) {
        String title=new Regex(element,"String_Node_Str").getMatch(0);
        String[] sp=element.split("String_Node_Str");
        int b=1;
        for (        String element2 : sp) {
          String size="String_Node_Str";
          try {
            String[] dsize=new Regex(element2,"String_Node_Str").getMatches()[0];
            double si=Double.parseDouble(dsize[0].replaceAll("String_Node_Str","String_Node_Str"));
            if (dsize.length > 1 && dsize[1].equalsIgnoreCase("String_Node_Str")) {
              si=si * 1024;
            }
            size="String_Node_Str" + si;
            size=size.substring(0,size.indexOf("String_Node_Str"));
          }
 catch (          Exception e) {
          }
          FilePackage fp=new FilePackage();
          fp.setName(title + (b > 1 ? "String_Node_Str" + b : "String_Node_Str"));
          b++;
          fp.setPassword(UnrarPassword.passwordArrayToString(passwords.toArray(new String[passwords.size()])));
          String[][] links=new Regex(element2,"String_Node_Str").getMatches();
          for (          String[] element3 : links) {
            String[] sp2=element3[1].split("String_Node_Str");
            if (getPluginConfig().getStringProperty("String_Node_Str",mirrorManagement[0]).equals(mirrorManagement[2])) {
              for (              String bb : sp2) {
                String[] links2=HTMLParser.getHttpLinks(bb,parameter);
                for (                String element4 : links2) {
                  if (canHandle(element4)) {
                    DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                    dl.setFilePackage(fp);
                    decryptedLinks.add(dl);
                  }
                }
              }
            }
 else {
              boolean isOk=false;
              boolean breakit=false;
              if (getPluginConfig().getStringProperty("String_Node_Str",mirrorManagement[0]).equals(mirrorManagement[0])) {
                for (                String bb : sp2) {
                  String[] links2=HTMLParser.getHttpLinks(bb,parameter);
                  for (                  String element4 : links2) {
                    if (canHandle(element4)) {
                      DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                      if (JDUtilities.getPluginForHost(getHostname(element4)).getMaxSimultanDownloadNum(dl) > 1) {
                        dl.setFilePackage(fp);
                        decryptedLinks.add(dl);
                        breakit=true;
                      }
                    }
                  }
                  if (breakit) {
                    isOk=true;
                    break;
                  }
                }
              }
              if (!isOk) {
                String[] link=null;
                String lastHost=null;
                Integer lastint=Integer.MAX_VALUE;
                out:                 for (                String bb : sp2) {
                  String[] links2=HTMLParser.getHttpLinks(bb,parameter);
                  for (                  String element4 : links2) {
                    if (canHandle(element4)) {
                      String hostn=getHostname(element4);
                      if (!mirrors.containsKey(hostn)) {
                        mirrors.put(hostn,1);
                        link=null;
                        DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                        dl.setFilePackage(fp);
                        decryptedLinks.add(dl);
                        break out;
                      }
 else {
                        Integer currentInt=mirrors.get(hostn);
                        if (currentInt < lastint) {
                          lastint=currentInt;
                          lastHost=hostn;
                          link=links2;
                        }
                        break;
                      }
                    }
                  }
                }
                if (link != null) {
                  mirrors.put(lastHost,(mirrors.get(lastHost) + 1));
                  for (                  String element4 : link) {
                    DownloadLink dl=createdl(element4,new String[]{size,element3[0],element3[1],title});
                    dl.setFilePackage(fp);
                    decryptedLinks.add(dl);
                    break;
                  }
                }
              }
            }
          }
        }
      }
      return decryptedLinks;
    }
 else {
      return decryptedLinks;
    }
  }
  String[] info=getLinkName(parameter);
  if (info == null) {
    br.getPage("String_Node_Str" + parameter.replaceFirst("String_Node_Str","String_Node_Str").replaceFirst("String_Node_Str","String_Node_Str") + "String_Node_Str");
    lastHtmlCode=br + "String_Node_Str";
    info=getLinkName(parameter);
  }
  decryptedLinks.add(createdl(parameter,info));
  return decryptedLinks;
}