diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java index 7662e075e..5150cf150 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java @@ -342,7 +342,7 @@ public class ActionList extends ArrayList { return -1; } - public int getContainerIndex(int idx) { + public int getContainerEndIndex(int idx) { Action action = get(idx); int i = idx - 1; while (i >= 0) { @@ -351,7 +351,7 @@ public class ActionList extends ArrayList { List lastActions = getContainerLastActions(a); Action lastAction = lastActions.get(lastActions.size() - 1); if (lastAction.getAddress() >= action.getAddress()) { - return i; + return getIndexByAddress(lastAction.getAddress()); } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java index ac3007fe3..55a2365cc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java @@ -154,7 +154,7 @@ public class ActionDeobfuscator extends ActionDeobfuscatorSimple { ActionConstantPool cPool = getConstantPool(actions); for (int i = 0; i < actions.size(); i++) { int idx = actions.size() - 1; - int containerIndex = actions.getContainerIndex(i); + int containerIndex = actions.getContainerEndIndex(i); if (containerIndex != -1) { idx = Math.min(idx, containerIndex - 1); } @@ -180,7 +180,7 @@ public class ActionDeobfuscator extends ActionDeobfuscatorSimple { } } - if (allValueValid && newIstructionCount * 2 < result.instructionsProcessed) { + if (allValueValid && newIstructionCount * 5 < result.instructionsProcessed) { Action target = actions.get(result.idx); Action prevAction = actions.get(i);