s.smali

.class public Lcom/baidu/security/f/s;
.super Ljava/lang/Object;
.source "ZipUtil.java"


# static fields
.field private static a:Z


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 42
    const/4 v0, 0x0

    sput-boolean v0, Lcom/baidu/security/f/s;->a:Z

    return-void
.end method

.method public static a(Landroid/content/Context;Ljava/io/File;)Ljava/util/List;
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/content/Context;",
            "Ljava/io/File;",
            ")",
            "Ljava/util/List",
            "<",
            "Ljava/io/File;",
            ">;"
        }
    .end annotation

    .prologue
    const/4 v2, 0x0

    .line 218
    new-instance v1, Ljava/util/ArrayList;

    invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V

    .line 223
    :try_start_6
    new-instance v5, Ljava/util/zip/ZipFile;

    invoke-direct {v5, p1}, Ljava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
    :try_end_b
    .catch Ljava/util/zip/ZipException; {:try_start_6 .. :try_end_b} :catch_c5
    .catch Ljava/io/IOException; {:try_start_6 .. :try_end_b} :catch_7e
    .catchall {:try_start_6 .. :try_end_b} :catchall_99

    .line 224
    :try_start_b
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->entries()Ljava/util/Enumeration;
    :try_end_e
    .catch Ljava/util/zip/ZipException; {:try_start_b .. :try_end_e} :catch_ca
    .catch Ljava/io/IOException; {:try_start_b .. :try_end_e} :catch_bc
    .catchall {:try_start_b .. :try_end_e} :catchall_b2

    move-result-object v6

    move-object v3, v2

    move-object v4, v2

    .line 225
    :goto_11
    :try_start_11
    invoke-interface {v6}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v0

    if-eqz v0, :cond_61

    .line 226
    invoke-interface {v6}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/zip/ZipEntry;

    .line 227
    invoke-virtual {v5, v0}, Ljava/util/zip/ZipFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;

    move-result-object v4

    .line 228
    invoke-virtual {v0}, Ljava/util/zip/ZipEntry;->getName()Ljava/lang/String;

    move-result-object v0

    const-string v7, ".out"

    sget-object v8, Lcom/baidu/security/a/a;->a:Ljava/lang/String;

    const/4 v9, 0x0

    .line 229
    invoke-virtual {p0, v8, v9}, Landroid/content/Context;->getDir(Ljava/lang/String;I)Ljava/io/File;

    move-result-object v8

    .line 228
    invoke-static {v0, v7, v8}, Ljava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;

    move-result-object v7

    .line 230
    new-instance v0, Ljava/io/FileOutputStream;

    invoke-direct {v0, v7}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
    :try_end_37
    .catch Ljava/util/zip/ZipException; {:try_start_11 .. :try_end_37} :catch_d0
    .catch Ljava/io/IOException; {:try_start_11 .. :try_end_37} :catch_c3
    .catchall {:try_start_11 .. :try_end_37} :catchall_ba

    .line 231
    const/16 v3, 0x400

    :try_start_39
    new-array v3, v3, [B

    .line 233
    :goto_3b
    if-eqz v4, :cond_5c

    invoke-virtual {v4, v3}, Ljava/io/InputStream;->read([B)I

    move-result v8

    if-lez v8, :cond_5c

    .line 234
    const/4 v9, 0x0

    invoke-virtual {v0, v3, v9, v8}, Ljava/io/FileOutputStream;->write([BII)V
    :try_end_47
    .catch Ljava/util/zip/ZipException; {:try_start_39 .. :try_end_47} :catch_48
    .catch Ljava/io/IOException; {:try_start_39 .. :try_end_47} :catch_c0
    .catchall {:try_start_39 .. :try_end_47} :catchall_b6

    goto :goto_3b

    .line 238
    :catch_48
    move-exception v1

    move-object v1, v4

    move-object v3, v5

    .line 244
    :goto_4b
    if-eqz v3, :cond_50

    .line 245
    :try_start_4d
    invoke-virtual {v3}, Ljava/util/zip/ZipFile;->close()V

    .line 247
    :cond_50
    if-eqz v1, :cond_55

    .line 248
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V

    .line 250
    :cond_55
    if-eqz v0, :cond_5a

    .line 251
    invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
    :try_end_5a
    .catch Ljava/io/IOException; {:try_start_4d .. :try_end_5a} :catch_78

    :cond_5a
    move-object v0, v2

    .line 257
    :goto_5b
    return-object v0

    .line 236
    :cond_5c
    :try_start_5c
    invoke-interface {v1, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    :try_end_5f
    .catch Ljava/util/zip/ZipException; {:try_start_5c .. :try_end_5f} :catch_48
    .catch Ljava/io/IOException; {:try_start_5c .. :try_end_5f} :catch_c0
    .catchall {:try_start_5c .. :try_end_5f} :catchall_b6

    move-object v3, v0

    .line 237
    goto :goto_11

    .line 244
    :cond_61
    if-eqz v5, :cond_66

    .line 245
    :try_start_63
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->close()V

    .line 247
    :cond_66
    if-eqz v4, :cond_6b

    .line 248
    invoke-virtual {v4}, Ljava/io/InputStream;->close()V

    .line 250
    :cond_6b
    if-eqz v3, :cond_70

    .line 251
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
    :try_end_70
    .catch Ljava/io/IOException; {:try_start_63 .. :try_end_70} :catch_72

    :cond_70
    move-object v0, v1

    .line 255
    goto :goto_5b

    .line 253
    :catch_72
    move-exception v0

    .line 254
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    move-object v0, v1

    .line 256
    goto :goto_5b

    .line 253
    :catch_78
    move-exception v0

    .line 254
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    move-object v0, v2

    .line 256
    goto :goto_5b

    .line 240
    :catch_7e
    move-exception v0

    move-object v3, v2

    move-object v4, v2

    move-object v5, v2

    .line 244
    :goto_82
    if-eqz v5, :cond_87

    .line 245
    :try_start_84
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->close()V

    .line 247
    :cond_87
    if-eqz v4, :cond_8c

    .line 248
    invoke-virtual {v4}, Ljava/io/InputStream;->close()V

    .line 250
    :cond_8c
    if-eqz v3, :cond_91

    .line 251
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
    :try_end_91
    .catch Ljava/io/IOException; {:try_start_84 .. :try_end_91} :catch_93

    :cond_91
    move-object v0, v2

    .line 255
    goto :goto_5b

    .line 253
    :catch_93
    move-exception v0

    .line 254
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    move-object v0, v2

    .line 256
    goto :goto_5b

    .line 243
    :catchall_99
    move-exception v0

    move-object v3, v2

    move-object v4, v2

    move-object v5, v2

    .line 244
    :goto_9d
    if-eqz v5, :cond_a2

    .line 245
    :try_start_9f
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->close()V

    .line 247
    :cond_a2
    if-eqz v4, :cond_a7

    .line 248
    invoke-virtual {v4}, Ljava/io/InputStream;->close()V

    .line 250
    :cond_a7
    if-eqz v3, :cond_ac

    .line 251
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
    :try_end_ac
    .catch Ljava/io/IOException; {:try_start_9f .. :try_end_ac} :catch_ad

    .line 255
    :cond_ac
    :goto_ac
    throw v0

    .line 253
    :catch_ad
    move-exception v1

    .line 254
    invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_ac

    .line 243
    :catchall_b2
    move-exception v0

    move-object v3, v2

    move-object v4, v2

    goto :goto_9d

    :catchall_b6
    move-exception v1

    move-object v3, v0

    move-object v0, v1

    goto :goto_9d

    :catchall_ba
    move-exception v0

    goto :goto_9d

    .line 240
    :catch_bc
    move-exception v0

    move-object v3, v2

    move-object v4, v2

    goto :goto_82

    :catch_c0
    move-exception v1

    move-object v3, v0

    goto :goto_82

    :catch_c3
    move-exception v0

    goto :goto_82

    .line 238
    :catch_c5
    move-exception v0

    move-object v0, v2

    move-object v1, v2

    move-object v3, v2

    goto :goto_4b

    :catch_ca
    move-exception v0

    move-object v0, v2

    move-object v1, v2

    move-object v3, v5

    goto/16 :goto_4b

    :catch_d0
    move-exception v0

    move-object v0, v3

    move-object v1, v4

    move-object v3, v5

    goto/16 :goto_4b
.end method