From a4e0c5c15f7d44d53d39005f3fd86e8ee7a439f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Sat, 3 Aug 2013 13:53:02 +0200 Subject: [PATCH] Issue #243 AS3 better for..in deobfuscation --- trunk/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java index c3eabd378..1aa30874c 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java @@ -2381,7 +2381,7 @@ public class AVM2Code implements Serializable { continue; } else { if (ins.isBranch() && (!ins.isJump())) { - stack.pop(); + GraphTargetItem top = stack.pop(); Decision dec = new Decision(); if (decisions.containsKey(ins)) { @@ -2392,7 +2392,7 @@ public class AVM2Code implements Serializable { dec.jumpUsed = true; dec.skipUsed = true; - if (curVisited > 1) { + if ((!(top instanceof HasNextAVM2Item) && curVisited > 1) || (curVisited > 2)) { for (int b : branches) { int visc = 0; if (visited.containsKey(b)) {