.locals 23
move-object/from16 v19, v0
invoke-virtual/range {v19 .. v19}, Ljava/io/RandomAccessFile;->length()J
move-result-wide v19
const-wide/16 v21, 0x16
sub-long v14, v19, v21
.local v14, scanOffset:J
const-wide/16 v19, 0x0
cmp-long v19, v14, v19
if-gez v19, :cond_0
new-instance v19, Ljava/util/zip/ZipException;
const-string v20, "too short to be Zip"
invoke-direct/range {v19 .. v20}, Ljava/util/zip/ZipException;-><init>(Ljava/lang/String;)V
throw v19
const-wide/32 v19, 0x10000
sub-long v16, v14, v19
.local v16, stopOffset:J
const-wide/16 v19, 0x0
cmp-long v19, v16, v19
if-gez v19, :cond_1
const-wide/16 v16, 0x0
move-object/from16 v19, v0
move-object/from16 v0, v19
move-wide v1, v14
move-object/from16 v19, v0
invoke-static/range {v19 .. v19}, Ljava/util/zip/ZipEntry;->readIntLE(Ljava/io/RandomAccessFile;)J
move-result-wide v19
const-wide/32 v21, 0x6054b50
cmp-long v19, v19, v21
if-nez v19, :cond_3
new-instance v13, Ljava/util/zip/ZipFile$RAFStream;
move-object/from16 v19, v0
move-object/from16 v20, v0
invoke-virtual/range {v20 .. v20}, Ljava/io/RandomAccessFile;->getFilePointer()J
move-result-wide v20
move-object v0, v13
move-object/from16 v1, v19
move-wide/from16 v2, v20
.local v13, rafs:Ljava/util/zip/ZipFile$RAFStream;
const/16 v19, 0x16
move-object v1, v13
move/from16 v2, v19
move-object/from16 v19, v0
move-object/from16 v0, v19
move-object/from16 v19, v0
move-object/from16 v0, v19
move-object/from16 v19, v0
move-object/from16 v0, v19
move-result v12
.local v12, numEntries:I
move-object/from16 v19, v0
move-object/from16 v0, v19
move-result v18
.local v18, totalNumEntries:I
move-object/from16 v19, v0
move-object/from16 v0, v19
move-object/from16 v19, v0
move-object/from16 v0, v19
move-object/from16 v19, v0
move-object/from16 v0, v19
move v0, v12
move/from16 v1, v18
new-instance v19, Ljava/util/zip/ZipException;
const-string v20, "spanned archives not supported"
invoke-direct/range {v19 .. v20}, Ljava/util/zip/ZipException;-><init>(Ljava/lang/String;)V
throw v19
.end local v12 #numEntries:I
.end local v13 #rafs:Ljava/util/zip/ZipFile$RAFStream;
.end local v18 #totalNumEntries:I
const-wide/16 v19, 0x1
sub-long v14, v14, v19
cmp-long v19, v14, v16
if-gez v19, :cond_1
new-instance v19, Ljava/util/zip/ZipException;
const-string v20, "EOCD not found; not a Zip archive?"
invoke-direct/range {v19 .. v20}, Ljava/util/zip/ZipException;-><init>(Ljava/lang/String;)V
throw v19
.restart local v12 #numEntries:I
.restart local v13 #rafs:Ljava/util/zip/ZipFile$RAFStream;
.restart local v18 #totalNumEntries:I
new-instance v13, Ljava/util/zip/ZipFile$RAFStream;
.end local v13 #rafs:Ljava/util/zip/ZipFile$RAFStream;
move-object/from16 v19, v0
move-object v0, v13
move-object/from16 v1, v19
.restart local v13 #rafs:Ljava/util/zip/ZipFile$RAFStream;
const/16 v19, 0x1000
move-object v1, v13
move/from16 v2, v19
const/4 v10, 0x0
.local v10, i:I
if-ge v10, v12, :cond_6
new-instance v11, Ljava/util/zip/ZipEntry;
move-object/from16 v19, v0
move-object v0, v11
move-object/from16 v1, v19
.local v11, newEntry:Ljava/util/zip/ZipEntry;
invoke-virtual {v11}, Ljava/util/zip/ZipEntry;->getName()Ljava/lang/String;
move-result-object v9
.line 382
.local v9, entryName:Ljava/lang/String;
move-object/from16 v19, v0
move-object/from16 v0, v19
move-object v1, v9
move-object v2, v11
invoke-virtual {v0, v1, v2}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
if-eqz v19, :cond_5
.line 383
new-instance v19, Ljava/util/zip/ZipException;
new-instance v20, Ljava/lang/StringBuilder;
invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;-><init>()V
const-string v21, "Duplicate entry name: "
invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v20
move-object/from16 v0, v20
move-object v1, v9
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v20
invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v20
invoke-direct/range {v19 .. v20}, Ljava/util/zip/ZipException;-><init>(Ljava/lang/String;)V
throw v19
:cond_5
add-int/lit8 v10, v10, 0x1
.line 386
.end local v9 #entryName:Ljava/lang/String;
.end local v11 #newEntry:Ljava/util/zip/ZipEntry;
:cond_6