NativeLoader.smali
.class public Lim/tpelyyftgw/messenger/NativeLoader;
.super Ljava/lang/Object;
.source "NativeLoader.java"
# static fields
.field private static final LIB_NAME:Ljava/lang/String; = "tmessages.30"
.field private static final LIB_SO_NAME:Ljava/lang/String; = "libtmessages.30.so"
.field private static final LIB_VERSION:I = 0x1e
.field private static final LOCALE_LIB_SO_NAME:Ljava/lang/String; = "libtmessages.30loc.so"
.field private static volatile nativeLoaded:Z
# instance fields
.field private crashPath:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 25
const/4 v0, 0x0
sput-boolean v0, Lim/tpelyyftgw/messenger/NativeLoader;->nativeLoaded:Z
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 17
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 23
const-string v0, ""
iput-object v0, p0, Lim/tpelyyftgw/messenger/NativeLoader;->crashPath:Ljava/lang/String;
return-void
.end method
.method private static getNativeLibraryDir(Landroid/content/Context;)Ljava/io/File;
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 28
const/4 v0, 0x0
.line 29
.local v0, "f":Ljava/io/File;
if-eqz p0, :cond_20
.line 31
:try_start_3
new-instance v1, Ljava/io/File;
const-class v2, Landroid/content/pm/ApplicationInfo;
const-string v3, "nativeLibraryDir"
invoke-virtual {v2, v3}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:try_end_1a
.catchall {:try_start_3 .. :try_end_1a} :catchall_1c
move-object v0, v1
.line 34
goto :goto_20
.line 32
:catchall_1c
move-exception v1
.line 33
.local v1, "th":Ljava/lang/Throwable;
invoke-virtual {v1}, Ljava/lang/Throwable;->printStackTrace()V
.line 36
.end local v1 # "th":Ljava/lang/Throwable;
:cond_20
:goto_20
if-nez v0, :cond_30
.line 37
new-instance v1, Ljava/io/File;
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v2
iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->dataDir:Ljava/lang/String;
const-string v3, "lib"
invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
move-object v0, v1
.line 39
:cond_30
invoke-virtual {v0}, Ljava/io/File;->isDirectory()Z
move-result v1
if-eqz v1, :cond_37
.line 40
return-object v0
.line 42
:cond_37
const/4 v1, 0x0
return-object v1
.end method
.method private static native init(Ljava/lang/String;Z)V
.end method
.method public static declared-synchronized initNativeLibs(Landroid/content/Context;)V
.registers 9
.param p0, "context" # Landroid/content/Context;
const-class v0, Lim/tpelyyftgw/messenger/NativeLoader;
monitor-enter v0
.line 116
:try_start_3
sget-boolean v1, Lim/tpelyyftgw/messenger/NativeLoader;->nativeLoaded:Z
:try_end_5
.catchall {:try_start_3 .. :try_end_5} :catchall_111
if-eqz v1, :cond_9
.line 117
monitor-exit v0
return-void
.line 122
:cond_9
const/4 v1, 0x1
:try_start_a
const-string v2, "tmessages.30"
invoke-static {v2}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 123
sput-boolean v1, Lim/tpelyyftgw/messenger/NativeLoader;->nativeLoaded:Z
.line 124
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_1a
.line 125
const-string v2, "loaded normal lib"
invoke-static {v2}, Lim/tpelyyftgw/messenger/FileLog;->d(Ljava/lang/String;)V
:try_end_1a
.catch Ljava/lang/Error; {:try_start_a .. :try_end_1a} :catch_1f
.catchall {:try_start_a .. :try_end_1a} :catchall_1c
.line 127
:cond_1a
monitor-exit v0
return-void
.line 202
:catchall_1c
move-exception v2
goto/16 :goto_100
.line 128
:catch_1f
move-exception v2
.line 129
.local v2, "e":Ljava/lang/Error;
:try_start_20
invoke-static {v2}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_23
.catchall {:try_start_20 .. :try_end_23} :catchall_1c
.line 134
.end local v2 # "e":Ljava/lang/Error;
:try_start_23
sget-object v2, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
.line 135
.local v2, "str":Ljava/lang/String;
sget-object v3, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
const-string v4, "x86_64"
invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_32
.line 136
const-string v3, "x86_64"
.local v3, "folder":Ljava/lang/String;
goto :goto_8f
.line 137
.end local v3 # "folder":Ljava/lang/String;
:cond_32
sget-object v3, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
const-string v4, "arm64-v8a"
invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_3f
.line 138
const-string v3, "arm64-v8a"
.restart local v3 # "folder":Ljava/lang/String;
goto :goto_8f
.line 139
.end local v3 # "folder":Ljava/lang/String;
:cond_3f
sget-object v3, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
const-string v4, "armeabi-v7a"
invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_4c
.line 140
const-string v3, "armeabi-v7a"
.restart local v3 # "folder":Ljava/lang/String;
goto :goto_8f
.line 141
.end local v3 # "folder":Ljava/lang/String;
:cond_4c
sget-object v3, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
const-string v4, "armeabi"
invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_59
.line 142
const-string v3, "armeabi"
.restart local v3 # "folder":Ljava/lang/String;
goto :goto_8f
.line 143
.end local v3 # "folder":Ljava/lang/String;
:cond_59
sget-object v3, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
const-string v4, "x86"
invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_66
.line 144
const-string v3, "x86"
.restart local v3 # "folder":Ljava/lang/String;
goto :goto_8f
.line 145
.end local v3 # "folder":Ljava/lang/String;
:cond_66
sget-object v3, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
const-string v4, "mips"
invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_73
.line 146
const-string v3, "mips"
.restart local v3 # "folder":Ljava/lang/String;
goto :goto_8f
.line 148
.end local v3 # "folder":Ljava/lang/String;
:cond_73
const-string v3, "armeabi"
.line 149
.restart local v3 # "folder":Ljava/lang/String;
sget-boolean v4, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v4, :cond_8f
.line 150
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Unsupported arch: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v5, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
:try_end_8f
.catch Ljava/lang/Exception; {:try_start_23 .. :try_end_8f} :catch_90
.catchall {:try_start_23 .. :try_end_8f} :catchall_1c
.line 156
.end local v2 # "str":Ljava/lang/String;
:cond_8f
:goto_8f
goto :goto_96
.line 153
.end local v3 # "folder":Ljava/lang/String;
:catch_90
move-exception v2
.line 154
.local v2, "e":Ljava/lang/Exception;
:try_start_91
invoke-static {v2}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 155
const-string v3, "armeabi"
.line 158
.end local v2 # "e":Ljava/lang/Exception;
.restart local v3 # "folder":Ljava/lang/String;
:goto_96
const-string v2, "os.arch"
invoke-static {v2}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 159
.local v2, "javaArch":Ljava/lang/String;
if-eqz v2, :cond_a9
const-string v4, "686"
invoke-virtual {v2, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_a9
.line 160
const-string v4, "x86"
move-object v3, v4
.line 177
:cond_a9
new-instance v4, Ljava/io/File;
invoke-virtual {p0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v5
const-string v6, "lib"
invoke-direct {v4, v5, v6}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 178
.local v4, "destDir":Ljava/io/File;
invoke-virtual {v4}, Ljava/io/File;->mkdirs()Z
.line 180
new-instance v5, Ljava/io/File;
const-string v6, "libtmessages.30loc.so"
invoke-direct {v5, v4, v6}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 181
.local v5, "destLocalFile":Ljava/io/File;
invoke-virtual {v5}, Ljava/io/File;->exists()Z
move-result v6
:try_end_c2
.catchall {:try_start_91 .. :try_end_c2} :catchall_1c
if-eqz v6, :cond_df
.line 183
:try_start_c4
sget-boolean v6, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v6, :cond_cd
.line 184
const-string v6, "Load local lib"
invoke-static {v6}, Lim/tpelyyftgw/messenger/FileLog;->d(Ljava/lang/String;)V
.line 186
:cond_cd
invoke-virtual {v5}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/lang/System;->load(Ljava/lang/String;)V
.line 187
sput-boolean v1, Lim/tpelyyftgw/messenger/NativeLoader;->nativeLoaded:Z
:try_end_d6
.catch Ljava/lang/Error; {:try_start_c4 .. :try_end_d6} :catch_d8
.catchall {:try_start_c4 .. :try_end_d6} :catchall_1c
.line 188
monitor-exit v0
return-void
.line 189
:catch_d8
move-exception v6
.line 190
.local v6, "e":Ljava/lang/Error;
:try_start_d9
invoke-static {v6}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 192
.end local v6 # "e":Ljava/lang/Error;
invoke-virtual {v5}, Ljava/io/File;->delete()Z
.line 195
:cond_df
sget-boolean v6, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v6, :cond_f7
.line 196
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "Library not found, arch = "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 199
:cond_f7
invoke-static {p0, v4, v5, v3}, Lim/tpelyyftgw/messenger/NativeLoader;->loadFromZip(Landroid/content/Context;Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Z
move-result v6
:try_end_fb
.catchall {:try_start_d9 .. :try_end_fb} :catchall_1c
if-eqz v6, :cond_ff
.line 200
monitor-exit v0
return-void
.line 204
.end local v2 # "javaArch":Ljava/lang/String;
.end local v3 # "folder":Ljava/lang/String;
.end local v4 # "destDir":Ljava/io/File;
.end local v5 # "destLocalFile":Ljava/io/File;
:cond_ff
goto :goto_103
.line 203
.local v2, "e":Ljava/lang/Throwable;
:goto_100
:try_start_100
invoke-virtual {v2}, Ljava/lang/Throwable;->printStackTrace()V
:try_end_103
.catchall {:try_start_100 .. :try_end_103} :catchall_111
.line 207
.end local v2 # "e":Ljava/lang/Throwable;
:goto_103
:try_start_103
const-string v2, "tmessages.30"
invoke-static {v2}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 208
sput-boolean v1, Lim/tpelyyftgw/messenger/NativeLoader;->nativeLoaded:Z
:try_end_10a
.catch Ljava/lang/Error; {:try_start_103 .. :try_end_10a} :catch_10b
.catchall {:try_start_103 .. :try_end_10a} :catchall_111
.line 211
goto :goto_10f
.line 209
:catch_10b
move-exception v1
.line 210
.local v1, "e":Ljava/lang/Error;
:try_start_10c
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_10f
.catchall {:try_start_10c .. :try_end_10f} :catchall_111
.line 212
.end local v1 # "e":Ljava/lang/Error;
:goto_10f
monitor-exit v0
return-void
.line 115
.end local p0 # "context":Landroid/content/Context;
:catchall_111
move-exception p0
monitor-exit v0
throw p0
.end method
.method private static loadFromZip(Landroid/content/Context;Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Z
.registers 13
.param p0, "context" # Landroid/content/Context;
.param p1, "destDir" # Ljava/io/File;
.param p2, "destLocalFile" # Ljava/io/File;
.param p3, "folder" # Ljava/lang/String;
.line 48
const-string v0, "/"
const/4 v1, 0x0
:try_start_3
invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v2
array-length v3, v2
const/4 v4, 0x0
:goto_9
if-ge v4, v3, :cond_14
aget-object v5, v2, v4
.line 49
.local v5, "file":Ljava/io/File;
invoke-virtual {v5}, Ljava/io/File;->delete()Z
:try_end_10
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_10} :catch_15
.line 48
nop
.end local v5 # "file":Ljava/io/File;
add-int/lit8 v4, v4, 0x1
goto :goto_9
.line 53
:cond_14
goto :goto_19
.line 51
:catch_15
move-exception v2
.line 52
.local v2, "e":Ljava/lang/Exception;
invoke-static {v2}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 55
.end local v2 # "e":Ljava/lang/Exception;
:goto_19
const/4 v2, 0x0
.line 56
.local v2, "zipFile":Ljava/util/zip/ZipFile;
const/4 v3, 0x0
.line 58
.local v3, "stream":Ljava/io/InputStream;
:try_start_1b
new-instance v4, Ljava/util/zip/ZipFile;
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v5
iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
invoke-direct {v4, v5}, Ljava/util/zip/ZipFile;-><init>(Ljava/lang/String;)V
move-object v2, v4
.line 59
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "lib/"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, "libtmessages.30.so"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/util/zip/ZipFile;->getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
move-result-object v4
.line 60
.local v4, "entry":Ljava/util/zip/ZipEntry;
if-eqz v4, :cond_92
.line 63
invoke-virtual {v2, v4}, Ljava/util/zip/ZipFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
move-result-object v0
move-object v3, v0
.line 65
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, p2}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 66
.local v0, "out":Ljava/io/OutputStream;
const/16 v5, 0x1000
new-array v5, v5, [B
.line 68
.local v5, "buf":[B
:goto_54
invoke-virtual {v3, v5}, Ljava/io/InputStream;->read([B)I
move-result v6
move v7, v6
.local v7, "len":I
if-lez v6, :cond_62
.line 69
invoke-static {}, Ljava/lang/Thread;->yield()V
.line 70
invoke-virtual {v0, v5, v1, v7}, Ljava/io/OutputStream;->write([BII)V
goto :goto_54
.line 72
:cond_62
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
.line 74
const/4 v6, 0x1
invoke-virtual {p2, v6, v1}, Ljava/io/File;->setReadable(ZZ)Z
.line 75
invoke-virtual {p2, v6, v1}, Ljava/io/File;->setExecutable(ZZ)Z
.line 76
invoke-virtual {p2, v6}, Ljava/io/File;->setWritable(Z)Z
:try_end_6f
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_6f} :catch_b3
.catchall {:try_start_1b .. :try_end_6f} :catchall_b1
.line 79
:try_start_6f
invoke-virtual {p2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/System;->load(Ljava/lang/String;)V
.line 80
sput-boolean v6, Lim/tpelyyftgw/messenger/NativeLoader;->nativeLoaded:Z
:try_end_78
.catch Ljava/lang/Error; {:try_start_6f .. :try_end_78} :catch_79
.catch Ljava/lang/Exception; {:try_start_6f .. :try_end_78} :catch_b3
.catchall {:try_start_6f .. :try_end_78} :catchall_b1
.line 83
goto :goto_7d
.line 81
:catch_79
move-exception v8
.line 82
.local v8, "e":Ljava/lang/Error;
:try_start_7a
invoke-static {v8}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_7d
.catch Ljava/lang/Exception; {:try_start_7a .. :try_end_7d} :catch_b3
.catchall {:try_start_7a .. :try_end_7d} :catchall_b1
.line 84
.end local v8 # "e":Ljava/lang/Error;
:goto_7d
nop
.line 88
if-eqz v3, :cond_88
.line 90
:try_start_80
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_83
.catch Ljava/lang/Exception; {:try_start_80 .. :try_end_83} :catch_84
.line 93
goto :goto_88
.line 91
:catch_84
move-exception v1
.line 92
.local v1, "e":Ljava/lang/Exception;
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 95
.end local v1 # "e":Ljava/lang/Exception;
:cond_88
:goto_88
nop
.line 97
:try_start_89
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->close()V
:try_end_8c
.catch Ljava/lang/Exception; {:try_start_89 .. :try_end_8c} :catch_8d
.line 100
goto :goto_91
.line 98
:catch_8d
move-exception v1
.line 99
.restart local v1 # "e":Ljava/lang/Exception;
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 84
.end local v1 # "e":Ljava/lang/Exception;
:goto_91
return v6
.line 61
.end local v0 # "out":Ljava/io/OutputStream;
.end local v5 # "buf":[B
.end local v7 # "len":I
:cond_92
:try_start_92
new-instance v5, Ljava/lang/Exception;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "Unable to find file in apk:lib/"
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "tmessages.30"
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v5, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.end local v2 # "zipFile":Ljava/util/zip/ZipFile;
.end local v3 # "stream":Ljava/io/InputStream;
.end local p0 # "context":Landroid/content/Context;
.end local p1 # "destDir":Ljava/io/File;
.end local p2 # "destLocalFile":Ljava/io/File;
.end local p3 # "folder":Ljava/lang/String;
throw v5
:try_end_b1
.catch Ljava/lang/Exception; {:try_start_92 .. :try_end_b1} :catch_b3
.catchall {:try_start_92 .. :try_end_b1} :catchall_b1
.line 88
.end local v4 # "entry":Ljava/util/zip/ZipEntry;
.restart local v2 # "zipFile":Ljava/util/zip/ZipFile;
.restart local v3 # "stream":Ljava/io/InputStream;
.restart local p0 # "context":Landroid/content/Context;
.restart local p1 # "destDir":Ljava/io/File;
.restart local p2 # "destLocalFile":Ljava/io/File;
.restart local p3 # "folder":Ljava/lang/String;
:catchall_b1
move-exception v0
goto :goto_cd
.line 85
:catch_b3
move-exception v0
.line 86
.local v0, "e":Ljava/lang/Exception;
:try_start_b4
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_b7
.catchall {:try_start_b4 .. :try_end_b7} :catchall_b1
.line 88
.end local v0 # "e":Ljava/lang/Exception;
if-eqz v3, :cond_c1
.line 90
:try_start_b9
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_bc
.catch Ljava/lang/Exception; {:try_start_b9 .. :try_end_bc} :catch_bd
.line 93
goto :goto_c1
.line 91
:catch_bd
move-exception v0
.line 92
.restart local v0 # "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 95
.end local v0 # "e":Ljava/lang/Exception;
:cond_c1
:goto_c1
if-eqz v2, :cond_cc
.line 97
:try_start_c3
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->close()V
:try_end_c6
.catch Ljava/lang/Exception; {:try_start_c3 .. :try_end_c6} :catch_c7
.line 100
:goto_c6
goto :goto_cc
.line 98
:catch_c7
move-exception v0
.line 99
.restart local v0 # "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.end local v0 # "e":Ljava/lang/Exception;
goto :goto_c6
.line 103
:cond_cc
:goto_cc
return v1
.line 88
:goto_cd
if-eqz v3, :cond_d7
.line 90
:try_start_cf
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_d2
.catch Ljava/lang/Exception; {:try_start_cf .. :try_end_d2} :catch_d3
.line 93
goto :goto_d7
.line 91
:catch_d3
move-exception v1
.line 92
.restart local v1 # "e":Ljava/lang/Exception;
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 95
.end local v1 # "e":Ljava/lang/Exception;
:cond_d7
:goto_d7
if-eqz v2, :cond_e1
.line 97
:try_start_d9
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->close()V
:try_end_dc
.catch Ljava/lang/Exception; {:try_start_d9 .. :try_end_dc} :catch_dd
.line 100
goto :goto_e1
.line 98
:catch_dd
move-exception v1
.line 99
.restart local v1 # "e":Ljava/lang/Exception;
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 102
.end local v1 # "e":Ljava/lang/Exception;
:cond_e1
:goto_e1
goto :goto_e3
:goto_e2
throw v0
:goto_e3
goto :goto_e2
.end method