Program: 61925
Project: 61925
Buggy source:
public void deobfuscate(){
  if (deobfuscationDialog == null) {
    deobfuscationDialog=new DeobfuscationDialog();
  }
  deobfuscationDialog.setVisible(true);
  if (deobfuscationDialog.ok) {
    Main.startWork(translate("String_Node_Str") + "String_Node_Str");
    new CancellableWorker(){
      @Override protected Object doInBackground() throws Exception {
        try {
          if (deobfuscationDialog.processAllCheckbox.isSelected()) {
            for (            ABCContainerTag tag : abcPanel.list) {
              if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_DEAD_CODE) {
                tag.getABC().removeDeadCode();
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_TRAPS) {
                tag.getABC().removeTraps();
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_RESTORE_CONTROL_FLOW) {
                tag.getABC().removeTraps();
                tag.getABC().restoreControlFlow();
              }
            }
          }
 else {
            int bi=abcPanel.detailPanel.methodTraitPanel.methodCodePanel.getBodyIndex();
            Trait t=abcPanel.decompiledTextArea.getCurrentTrait();
            if (bi != -1) {
              if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_DEAD_CODE) {
                abcPanel.abc.bodies[bi].removeDeadCode(abcPanel.abc.constants,t,abcPanel.abc.method_info[abcPanel.abc.bodies[bi].method_info]);
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_TRAPS) {
                abcPanel.abc.bodies[bi].removeTraps(abcPanel.abc.constants,abcPanel.abc,t,abcPanel.decompiledTextArea.getScriptLeaf().scriptIndex,abcPanel.decompiledTextArea.getClassIndex(),abcPanel.decompiledTextArea.getIsStatic(),"String_Node_Str");
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_RESTORE_CONTROL_FLOW) {
                abcPanel.abc.bodies[bi].removeTraps(abcPanel.abc.constants,abcPanel.abc,t,abcPanel.decompiledTextArea.getScriptLeaf().scriptIndex,abcPanel.decompiledTextArea.getClassIndex(),abcPanel.decompiledTextArea.getIsStatic(),"String_Node_Str");
                abcPanel.abc.bodies[bi].restoreControlFlow(abcPanel.abc.constants,t,abcPanel.abc.method_info[abcPanel.abc.bodies[bi].method_info]);
              }
            }
            abcPanel.detailPanel.methodTraitPanel.methodCodePanel.setBodyIndex(bi,abcPanel.abc,t);
          }
        }
 catch (        Exception ex) {
          Logger.getLogger(MainFramePanel.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
        }
        return true;
      }
      @Override protected void done(){
        Main.stopWork();
        View.showMessageDialog(null,translate("String_Node_Str"));
        View.execInEventDispatch(new Runnable(){
          @Override public void run(){
            clearCache();
            abcPanel.reload();
            updateClassesList();
          }
        }
);
      }
    }
.execute();
  }
}

Fixed version (ground truth):
public void deobfuscate(){
  if (deobfuscationDialog == null) {
    deobfuscationDialog=new DeobfuscationDialog();
  }
  deobfuscationDialog.setVisible(true);
  if (deobfuscationDialog.ok) {
    Main.startWork(translate("String_Node_Str") + "String_Node_Str");
    new CancellableWorker(){
      @Override protected Object doInBackground() throws Exception {
        try {
          if (deobfuscationDialog.processAllCheckbox.isSelected()) {
            for (            ABCContainerTag tag : abcPanel.swf.abcList) {
              if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_DEAD_CODE) {
                tag.getABC().removeDeadCode();
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_TRAPS) {
                tag.getABC().removeTraps();
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_RESTORE_CONTROL_FLOW) {
                tag.getABC().removeTraps();
                tag.getABC().restoreControlFlow();
              }
            }
          }
 else {
            int bi=abcPanel.detailPanel.methodTraitPanel.methodCodePanel.getBodyIndex();
            Trait t=abcPanel.decompiledTextArea.getCurrentTrait();
            if (bi != -1) {
              if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_DEAD_CODE) {
                abcPanel.abc.bodies[bi].removeDeadCode(abcPanel.abc.constants,t,abcPanel.abc.method_info[abcPanel.abc.bodies[bi].method_info]);
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_REMOVE_TRAPS) {
                abcPanel.abc.bodies[bi].removeTraps(abcPanel.abc.constants,abcPanel.abc,t,abcPanel.decompiledTextArea.getScriptLeaf().scriptIndex,abcPanel.decompiledTextArea.getClassIndex(),abcPanel.decompiledTextArea.getIsStatic(),"String_Node_Str");
              }
 else               if (deobfuscationDialog.codeProcessingLevel.getValue() == DeobfuscationDialog.LEVEL_RESTORE_CONTROL_FLOW) {
                abcPanel.abc.bodies[bi].removeTraps(abcPanel.abc.constants,abcPanel.abc,t,abcPanel.decompiledTextArea.getScriptLeaf().scriptIndex,abcPanel.decompiledTextArea.getClassIndex(),abcPanel.decompiledTextArea.getIsStatic(),"String_Node_Str");
                abcPanel.abc.bodies[bi].restoreControlFlow(abcPanel.abc.constants,t,abcPanel.abc.method_info[abcPanel.abc.bodies[bi].method_info]);
              }
            }
            abcPanel.detailPanel.methodTraitPanel.methodCodePanel.setBodyIndex(bi,abcPanel.abc,t);
          }
        }
 catch (        Exception ex) {
          Logger.getLogger(MainFramePanel.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
        }
        return true;
      }
      @Override protected void done(){
        Main.stopWork();
        View.showMessageDialog(null,translate("String_Node_Str"));
        View.execInEventDispatch(new Runnable(){
          @Override public void run(){
            clearCache();
            abcPanel.reload();
            updateClassesList();
          }
        }
);
      }
    }
.execute();
  }
}