From ab26217db4707e34797c4d9ea6b06a7cea25ed45 Mon Sep 17 00:00:00 2001 From: Graham Date: Sun, 9 Aug 2020 21:37:28 +0100 Subject: [PATCH] Refactor unpackclass Signed-off-by: Graham --- share/deob/map/unpackclass.yaml | 710 ++++++++++++++++---------------- 1 file changed, 355 insertions(+), 355 deletions(-) diff --git a/share/deob/map/unpackclass.yaml b/share/deob/map/unpackclass.yaml index b0727737..e849ff23 100644 --- a/share/deob/map/unpackclass.yaml +++ b/share/deob/map/unpackclass.yaml @@ -5,18 +5,18 @@ classes: unpackclass!c: "BufferPool" unpackclass!e: "Buffer" unpackclass!f: "LinkedList" - unpackclass!g: "Class203" + unpackclass!g: "Member" unpackclass!h: "Bzip2DState" unpackclass!i: "IntHashTable" - unpackclass!j: "Class206" + unpackclass!j: "Attribute" unpackclass!k: "GzipDecompressor" unpackclass!l: "ArrayUtils" - unpackclass!n: "Class209" - unpackclass!o: "Class210" + unpackclass!n: "ExceptionTableEntry" + unpackclass!o: "LineNumberTableEntry" unpackclass!p: "Js5File" unpackclass!q: "TracingException" - unpackclass!r: "Class211" - unpackclass!s: "Class201_Sub2" + unpackclass!r: "Code" + unpackclass!s: "ConstantPoolEntry" unpackclass!u: "Bzip2Decompressor" unpackclass!unpackclass: "unpackclass" unpackclass!w: "Node" @@ -115,14 +115,14 @@ fields: owner: "LinkedList" name: "cursor" unpackclass!g.a I: - owner: "Class203" - name: "anInt6120" + owner: "Member" + name: "accessFlags" unpackclass!g.b Lunpackclass!s;: - owner: "Class203" - name: "aClass201_Sub2_1" + owner: "Member" + name: "nameAndType" unpackclass!g.c [Lunpackclass!j;: - owner: "Class203" - name: "aClass206Array1" + owner: "Member" + name: "attributes" unpackclass!h.A [B: owner: "Bzip2DState" name: "selectorMtf" @@ -226,185 +226,185 @@ fields: owner: "IntHashTable" name: "buckets" unpackclass!j.a Lunpackclass!s;: - owner: "Class206" - name: "aClass201_Sub2_2" + owner: "Attribute" + name: "name" unpackclass!j.b Lunpackclass!s;: - owner: "Class206" - name: "aClass201_Sub2_3" + owner: "Attribute" + name: "constantValue" unpackclass!j.c Lunpackclass!r;: - owner: "Class206" - name: "aClass211_1" + owner: "Attribute" + name: "code" unpackclass!j.d [Lunpackclass!s;: - owner: "Class206" - name: "aClass201_Sub2Array1" + owner: "Attribute" + name: "exceptions" unpackclass!k.a Ljava/util/zip/Inflater;: owner: "GzipDecompressor" name: "inflater" unpackclass!n.a I: - owner: "Class209" - name: "anInt6136" + owner: "ExceptionTableEntry" + name: "startPc" unpackclass!n.b I: - owner: "Class209" - name: "anInt6137" + owner: "ExceptionTableEntry" + name: "endPcToHandlerPc" unpackclass!n.c I: - owner: "Class209" - name: "anInt6138" + owner: "ExceptionTableEntry" + name: "reverseHandlerPc" unpackclass!n.d Lunpackclass!s;: - owner: "Class209" - name: "aClass201_Sub2_4" + owner: "ExceptionTableEntry" + name: "catchType" unpackclass!o.a I: - owner: "Class210" - name: "anInt6139" + owner: "LineNumberTableEntry" + name: "startPc" unpackclass!o.b I: - owner: "Class210" - name: "anInt6140" + owner: "LineNumberTableEntry" + name: "lineNumber" unpackclass!r.a I: - owner: "Class211" - name: "anInt6144" + owner: "Code" + name: "maxStack" unpackclass!r.b I: - owner: "Class211" - name: "anInt6145" + owner: "Code" + name: "maxLocals" unpackclass!r.c I: - owner: "Class211" - name: "anInt6146" + owner: "Code" + name: "length" unpackclass!r.d [Lunpackclass!n;: - owner: "Class211" - name: "aClass209Array1" + owner: "Code" + name: "exceptionTable" unpackclass!r.e [Lunpackclass!o;: - owner: "Class211" - name: "aClass210Array1" + owner: "Code" + name: "lineNumberTable" unpackclass!s.d Lunpackclass!s;: - owner: "Class201_Sub2" - name: "aClass201_Sub2_5" + owner: "ConstantPoolEntry" + name: "name" unpackclass!s.e Lunpackclass!s;: - owner: "Class201_Sub2" - name: "aClass201_Sub2_6" + owner: "ConstantPoolEntry" + name: "descriptor" unpackclass!s.f J: - owner: "Class201_Sub2" - name: "aLong219" + owner: "ConstantPoolEntry" + name: "longValue" unpackclass!s.g [B: - owner: "Class201_Sub2" - name: "aByteArray84" + owner: "ConstantPoolEntry" + name: "bytesValue" unpackclass!s.h I: - owner: "Class201_Sub2" - name: "anInt6148" + owner: "ConstantPoolEntry" + name: "tag" unpackclass!s.i I: - owner: "Class201_Sub2" - name: "anInt6149" + owner: "ConstantPoolEntry" + name: "index" unpackclass!u.a Lunpackclass!h;: owner: "Bzip2Decompressor" name: "state" unpackclass!unpackclass.A [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array11" + name: "utf8Entries" unpackclass!unpackclass.B [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array12" + name: "stringEntries" unpackclass!unpackclass.C [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array13" + name: "classEntries" unpackclass!unpackclass.D Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2_7" + name: "constantValue" unpackclass!unpackclass.E Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2_8" + name: "code" unpackclass!unpackclass.F Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2_9" + name: "exceptions" unpackclass!unpackclass.G Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2_10" + name: "sourceFile" unpackclass!unpackclass.H Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2_11" + name: "lineNumberTable" unpackclass!unpackclass.I Lunpackclass!f;: owner: "unpackclass" - name: "aClass202_1" + name: "constantPool" unpackclass!unpackclass.J I: owner: "unpackclass" - name: "anInt6150" + name: "constantPoolSize" unpackclass!unpackclass.K [I: owner: "unpackclass" - name: "anIntArray703" + name: "OPCODE_FLAGS" unpackclass!unpackclass.a [I: owner: "unpackclass" - name: "anIntArray702" + name: "CONSTANT_POOL_ENTRY_LENGTHS" unpackclass!unpackclass.b Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_1" + name: "in" unpackclass!unpackclass.c Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_2" + name: "newArrayBuffer" unpackclass!unpackclass.d Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_3" + name: "localVariableBuffer" unpackclass!unpackclass.e Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_4" + name: "wideLocalVariableBuffer" unpackclass!unpackclass.f Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_5" + name: "sipushAndSwitchBuffer" unpackclass!unpackclass.g Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_6" + name: "constantBuffer" unpackclass!unpackclass.h Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_7" + name: "wideConstantBuffer" unpackclass!unpackclass.i Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_8" + name: "classBuffer" unpackclass!unpackclass.j Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_9" + name: "fieldRefBuffer" unpackclass!unpackclass.k Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_10" + name: "methodRefBuffer" unpackclass!unpackclass.l Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_11" + name: "interfaceMethodRefBuffer" unpackclass!unpackclass.m Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_12" + name: "branchBuffer" unpackclass!unpackclass.n Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_13" + name: "bipushBuffer" unpackclass!unpackclass.o Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_14" + name: "wideIincBuffer" unpackclass!unpackclass.p Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_15" + name: "iincBuffer" unpackclass!unpackclass.q Lunpackclass!e;: owner: "unpackclass" - name: "aClass201_Sub1_16" + name: "multiANewArrayBuffer" unpackclass!unpackclass.r [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array2" + name: "fieldRefEntries" unpackclass!unpackclass.s [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array3" + name: "methodRefEntries" unpackclass!unpackclass.t [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array4" + name: "interfaceMethodRefEntries" unpackclass!unpackclass.u [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array5" + name: "intEntries" unpackclass!unpackclass.v [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array6" + name: "floatEntries" unpackclass!unpackclass.w [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array7" + name: "longEntries" unpackclass!unpackclass.x [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array8" + name: "doubleEntries" unpackclass!unpackclass.y [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array9" + name: "fieldNameAndTypeEntries" unpackclass!unpackclass.z [Lunpackclass!s;: owner: "unpackclass" - name: "aClass201_Sub2Array10" + name: "methodNameAndTypeEntries" unpackclass!w.a Lunpackclass!w;: owner: "Node" name: "next" @@ -990,354 +990,354 @@ methods: owner: "unpackclass" name: "" arguments: - 0: "arg0" - 1: "arg1" + 0: "bytes" + 1: "readLineNumberTable" locals: - 572: "local572" - 881: "local881" - 883: "local883" + 572: "file" + 881: "classes" + 883: "i" unpackclass!unpackclass.a ()Lunpackclass!s;: owner: "unpackclass" - name: "method4956" + name: "readCatchType" arguments: {} locals: - 3: "local3" - 8: "local8" - 13: "local13" + 3: "indexPlusOne" + 8: "index" + 13: "entry" unpackclass!unpackclass.a (I)[Lunpackclass!s;: owner: "unpackclass" - name: "method4957" + name: "createEntries" arguments: - 0: "arg0" + 0: "tag" locals: - 4: "local4" - 6: "local6" + 4: "entries" + 6: "i" unpackclass!unpackclass.a (Ljava/lang/String;)Lunpackclass!s;: owner: "unpackclass" - name: "method4958" + name: "createUtf8Entry" arguments: - 0: "arg0" + 0: "value" locals: - 3: "local3" + 3: "entry" unpackclass!unpackclass.a (Lunpackclass!e;[Lunpackclass!s;)Lunpackclass!s;: owner: "unpackclass" - name: "method4950" + name: "readEntry1" arguments: - 0: "arg0" - 1: "arg1" + 0: "buffer" + 1: "entries" locals: {} unpackclass!unpackclass.a (Lunpackclass!e;[Lunpackclass!s;I)Lunpackclass!s;: owner: "unpackclass" - name: "method4953" + name: "readClass" arguments: - 0: "arg0" - 1: "arg1" + 0: "buffer" + 1: "entries" locals: - 2: "local2" - 6: "local6" + 2: "index" + 6: "entry" unpackclass!unpackclass.a (Lunpackclass!s;)V: owner: "unpackclass" - name: "method4949" + name: "addConstantPoolEntry" arguments: - 0: "arg0" + 0: "entry" locals: {} unpackclass!unpackclass.a (Z)V: owner: "unpackclass" - name: "method4969" + name: "readClass" arguments: - 0: "arg0" + 0: "readLineNumberTable" locals: - 13: "local13" - 16: "local16" - 19: "local19" - 37: "local37" - 40: "local40" - 48: "local48" - 74: "local74" - 77: "local77" - 85: "local85" - 104: "local104" - 135: "local135" - 138: "local138" - 146: "local146" - 172: "local172" - 175: "local175" - 183: "local183" - 209: "local209" - 211: "local211" - 214: "local214" - 222: "local222" - 231: "local231" - 237: "local237" - 260: "local260" - 262: "local262" - 317: "local317" - 319: "local319" - 322: "local322" - 330: "local330" - 341: "local341" - 378: "local378" - 391: "local391" - 393: "local393" - 410: "local410" - 431: "local431" - 433: "local433" - 451: "local451" - 471: "local471" - 484: "local484" - 492: "local492" - 495: "local495" - 503: "local503" - 510: "local510" - 543: "local543" - 546: "local546" - 554: "local554" - 561: "local561" - 598: "local598" - 606: "local606" - 608: "local608" - 626: "local626" - 657: "local657" - 690: "local690" - 694: "local694" - 696: "local696" - 699: "local699" - 707: "local707" - 717: "local717" - 720: "local720" - 725: "local725" - 797: "local797" - 800: "local800" - 808: "local808" - 815: "local815" - 817: "local817" - 822: "local822" - 837: "local837" - 863: "local863" - 866: "local866" - 874: "local874" - 881: "local881" - 913: "local913" - 916: "local916" - 924: "local924" - 931: "local931" - 965: "local965" - 967: "local967" - 969: "local969" - 971: "local971" - 973: "local973" - 975: "local975" - 977: "local977" - 979: "local979" - 981: "local981" - 983: "local983" - 985: "local985" - 987: "local987" - 989: "local989" - 991: "local991" - 993: "local993" - 995: "local995" - 998: "local998" - 1006: "local1006" - 1013: "local1013" - 1017: "local1017" - 1025: "local1025" - 1102: "local1102" - 1118: "local1118" - 1147: "local1147" - 1152: "local1152" - 1198: "local1198" - 1414: "local1414" - 1416: "local1416" - 1418: "local1418" - 1420: "local1420" - 1423: "local1423" - 1431: "local1431" - 1440: "local1440" - 1442: "local1442" - 1444: "local1444" - 1446: "local1446" - 1448: "local1448" - 1453: "local1453" - 1458: "local1458" - 1493: "local1493" - 1659: "local1659" - 1665: "local1665" - 1689: "local1689" - 1693: "local1693" - 1740: "local1740" - 1741: "local1741" - 1746: "local1746" - 1817: "local1817" - 1859: "local1859" - 1867: "local1867" - 1899: "local1899" - 1916: "local1916" - 1937: "local1937" - 2025: "local2025" - 2043: "local2043" - 2075: "local2075" - 2083: "local2083" - 2127: "local2127" - 2130: "local2130" - 2133: "local2133" - 2136: "local2136" - 2139: "local2139" - 2142: "local2142" - 2144: "local2144" - 2176: "local2176" - 2184: "local2184" - 2207: "local2207" - 2243: "local2243" - 2245: "local2245" - 2247: "local2247" - 2249: "local2249" - 2253: "local2253" - 2261: "local2261" - 2306: "local2306" - 2353: "local2353" - 2392: "local2392" - 2472: "local2472" - 2495: "local2495" - 2557: "local2557" - 2581: "local2581" - 2587: "local2587" - 2595: "local2595" - 2600: "local2600" - 2644: "local2644" - 2668: "local2668" - 2673: "local2673" - 2675: "local2675" - 2689: "local2689" - 2722: "local2722" - 2729: "local2729" - 2732: "local2732" - 2735: "local2735" - 2765: "local2765" - 2773: "local2773" - 2812: "local2812" - 2845: "local2845" - 2885: "local2885" - 2907: "local2907" - 2935: "local2935" - 2980: "local2980" - 3034: "local3034" + 13: "interfaces" + 16: "fields" + 19: "methods" + 37: "i" + 40: "j" + 48: "attribute" + 74: "i" + 77: "j" + 85: "attribute" + 104: "k" + 135: "i" + 138: "j" + 146: "attribute" + 172: "i" + 175: "j" + 183: "attribute" + 209: "lineNumberTableLen" + 211: "i" + 214: "j" + 222: "attribute" + 231: "position" + 237: "lines" + 260: "startPc" + 262: "k" + 317: "lineNumber" + 319: "i" + 322: "j" + 330: "attribute" + 341: "k" + 378: "in" + 391: "accessFlagsMsb" + 393: "i" + 410: "i" + 431: "accessFlags" + 433: "i" + 451: "i" + 471: "sourceFileIndex" + 484: "sourceFile" + 492: "i" + 495: "j" + 503: "attribute" + 510: "k" + 543: "i" + 546: "j" + 554: "attribute" + 561: "k" + 598: "thisClass" + 606: "superClass" + 608: "i" + 626: "i" + 657: "i" + 690: "minorVersion" + 694: "majorVersion" + 696: "i" + 699: "j" + 707: "attribute" + 717: "nameAndType" + 720: "descriptor" + 725: "type" + 797: "i" + 800: "j" + 808: "attribute" + 815: "prevStartPc" + 817: "k" + 822: "startPc" + 837: "entry" + 863: "i" + 866: "j" + 874: "attribute" + 881: "k" + 913: "i" + 916: "j" + 924: "attribute" + 931: "k" + 965: "codePosition" + 967: "newArrayLen" + 969: "localVariableLen" + 971: "wideLocalVariableLen" + 973: "sipushAndSwitchLen" + 975: "constantLen" + 977: "wideConstantLen" + 979: "classLen" + 981: "fieldRefLen" + 983: "methodRefLen" + 985: "interfaceMethodRefLen" + 987: "branchLen" + 989: "bipushLen" + 991: "wideIincLen" + 993: "multiANewArrayLen" + 995: "i" + 998: "j" + 1006: "attribute" + 1013: "len" + 1017: "opcode" + 1025: "flags" + 1102: "cases" + 1118: "cases" + 1147: "wideOpcode" + 1152: "wideFlags" + 1198: "codeLen" + 1414: "maxOpcodes" + 1416: "maxBranches" + 1418: "maxWideBranches" + 1420: "i" + 1423: "j" + 1431: "attribute" + 1440: "opcodes" + 1442: "len" + 1444: "branches" + 1446: "wideBranches" + 1448: "k" + 1453: "opcode" + 1458: "flags" + 1493: "entry" + 1659: "len2" + 1665: "cases" + 1689: "len2" + 1693: "cases" + 1740: "wideOpcode" + 1741: "len2" + 1746: "wideFlags" + 1817: "buffer" + 1859: "outLen" + 1867: "entry" + 1899: "outLen2" + 1916: "out" + 1937: "entry" + 2025: "i" + 2043: "i" + 2075: "j" + 2083: "attribute" + 2127: "pcPosition" + 2130: "branchSources" + 2133: "branchTargets" + 2136: "wideBranchPositions" + 2139: "wideBranchSources" + 2142: "wideBranchTargets" + 2144: "i" + 2176: "j" + 2184: "attribute" + 2207: "len" + 2243: "position" + 2245: "branches" + 2247: "wideBranches" + 2249: "pc" + 2253: "opcode" + 2261: "flags" + 2306: "entry" + 2353: "index" + 2392: "entry" + 2472: "target" + 2495: "target" + 2557: "defaultTarget" + 2581: "low" + 2587: "high" + 2595: "k" + 2600: "target" + 2644: "defaultTarget" + 2668: "cases" + 2673: "key" + 2675: "k" + 2689: "target" + 2722: "entry" + 2729: "nameAndType" + 2732: "descriptor" + 2735: "descriptorBytes" + 2765: "wideOpcode" + 2773: "wideFlags" + 2812: "k" + 2845: "k" + 2885: "k" + 2907: "handlerPc" + 2935: "entry" + 2980: "k" + 3034: "k" unpackclass!unpackclass.a ([B)I: owner: "unpackclass" - name: "method4968" + name: "getMethodDescriptorSize" arguments: - 0: "arg0" + 0: "descriptor" locals: - 1: "local1" - 3: "local3" - 5: "local5" - 10: "local10" + 1: "size" + 3: "index" + 5: "className" + 10: "chr" unpackclass!unpackclass.a ([Lunpackclass!g;)V: owner: "unpackclass" - name: "method4965" + name: "createAttributes" arguments: - 0: "arg0" + 0: "members" locals: - 1: "local1" - 12: "local12" + 1: "i" + 12: "j" unpackclass!unpackclass.a ([Lunpackclass!s;)V: owner: "unpackclass" - name: "method4960" + name: "readEntryNames" arguments: - 0: "arg0" + 0: "entries" locals: - 1: "local1" + 1: "i" unpackclass!unpackclass.a ([Lunpackclass!s;I)V: owner: "unpackclass" - name: "method4963" + name: "readNumericEntries" arguments: - 0: "arg0" - 1: "arg1" + 0: "entries" + 1: "shift" locals: - 1: "local1" - 3: "local3" + 1: "accumulator" + 3: "i" unpackclass!unpackclass.a ([Lunpackclass!s;[Lunpackclass!s;)V: owner: "unpackclass" - name: "method4962" + name: "readEntryDescriptors" arguments: - 0: "arg0" - 1: "arg1" + 0: "entries" + 1: "descriptors" locals: - 1: "local1" + 1: "i" unpackclass!unpackclass.b ()V: owner: "unpackclass" - name: "method4959" + name: "readUtf8Entries" arguments: {} locals: - 1: "local1" - 6: "local6" - 20: "local20" + 1: "i" + 6: "position" + 20: "len" unpackclass!unpackclass.b (Lunpackclass!e;[Lunpackclass!s;)Lunpackclass!s;: owner: "unpackclass" - name: "method4951" + name: "readEntry2" arguments: - 0: "arg0" - 1: "arg1" + 0: "buffer" + 1: "entries" locals: {} unpackclass!unpackclass.b (Lunpackclass!e;[Lunpackclass!s;I)Lunpackclass!s;: owner: "unpackclass" - name: "method4955" + name: "readNamedEntry" arguments: - 0: "arg0" - 1: "arg1" - 2: "arg2" + 0: "buffer" + 1: "entries" + 2: "tag" locals: - 2: "local2" - 6: "local6" + 2: "index" + 6: "entry" unpackclass!unpackclass.b ([Lunpackclass!g;)V: owner: "unpackclass" - name: "method4966" + name: "readAttributeNames" arguments: - 0: "arg0" + 0: "members" locals: - 1: "local1" - 4: "local4" + 1: "i" + 4: "j" unpackclass!unpackclass.b ([Lunpackclass!s;)V: owner: "unpackclass" - name: "method4961" + name: "readEntryClassNames" arguments: - 0: "arg0" + 0: "entries" locals: - 1: "local1" + 1: "i" unpackclass!unpackclass.c ()[Lunpackclass!g;: owner: "unpackclass" - name: "method4964" + name: "createMembers" arguments: {} locals: - 4: "local4" - 6: "local6" + 4: "members" + 6: "i" unpackclass!unpackclass.c (Lunpackclass!e;[Lunpackclass!s;)Lunpackclass!s;: owner: "unpackclass" - name: "method4952" + name: "readAndAddEntry" arguments: - 0: "arg0" - 1: "arg1" + 0: "buffer" + 1: "entries" locals: - 4: "local4" + 4: "entry" unpackclass!unpackclass.c ([Lunpackclass!g;)I: owner: "unpackclass" - name: "method4967" + name: "getMembersLength" arguments: - 0: "arg0" + 0: "members" locals: - 4: "local4" - 6: "local6" - 19: "local19" - 27: "local27" - 39: "local39" - 59: "local59" - 74: "local74" + 4: "len" + 6: "i" + 19: "j" + 27: "attribute" + 39: "len2" + 59: "len3" + 74: "len2" unpackclass!unpackclass.d (Lunpackclass!e;[Lunpackclass!s;)Lunpackclass!s;: owner: "unpackclass" - name: "method4954" + name: "readEntry3" arguments: - 0: "arg0" - 1: "arg1" + 0: "buffer" + 1: "entries" locals: {} unpackclass!w.a ()V: owner: "Node"