uo.smali

.class public Ldxoptimizer/uo;
.super Ljava/lang/Object;
.source "BPHelper.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Ldxoptimizer/uo$a;
    }
.end annotation


# static fields
.field public static final a:[Ljava/lang/String;

.field private static b:Z


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

    .prologue
    const/4 v2, 0x0

    .line 59
    sput-boolean v2, Ldxoptimizer/uo;->b:Z

    .line 63
    const/4 v0, 0x6

    new-array v0, v0, [Ljava/lang/String;

    const-string v1, "/system/xbin/bdsu"

    aput-object v1, v0, v2

    const/4 v1, 0x1

    const-string v2, "/system/xbin/.su"

    aput-object v2, v0, v1

    const/4 v1, 0x2

    const-string v2, "/system/xbin/.suv"

    aput-object v2, v0, v1

    const/4 v1, 0x3

    const-string v2, "/system/bin/.su"

    aput-object v2, v0, v1

    const/4 v1, 0x4

    const-string v2, "/system/bin/.suv"

    aput-object v2, v0, v1

    const/4 v1, 0x5

    const-string v2, "/system/bin/bdsu"

    aput-object v2, v0, v1

    sput-object v0, Ldxoptimizer/uo;->a:[Ljava/lang/String;

    return-void
.end method

.method public static a(I)I
    .registers 4

    .prologue
    const/4 v0, -0x1

    .line 451
    :try_start_1
    invoke-static {}, Ldxoptimizer/up;->a()Ldxoptimizer/ur;

    move-result-object v1

    .line 452
    if-nez v1, :cond_9

    .line 453
    const/4 v0, 0x0

    .line 468
    :cond_8
    :goto_8
    return v0

    .line 456
    :cond_9
    invoke-interface {v1}, Ldxoptimizer/ur;->c()I

    move-result v2

    if-lt v2, p0, :cond_18

    .line 458
    invoke-interface {v1}, Ldxoptimizer/ur;->c_()[Ljava/lang/String;

    move-result-object v1

    array-length v1, v1
    :try_end_14
    .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_1a

    if-lez v1, :cond_8

    .line 460
    const/4 v0, 0x1

    goto :goto_8

    .line 465
    :cond_18
    const/4 v0, -0x4

    goto :goto_8

    .line 467
    :catch_1a
    move-exception v1

    goto :goto_8
.end method

.method public static a(Z)Ljava/lang/String;
    .registers 6

    .prologue
    .line 601
    invoke-static {p0}, Ldxoptimizer/uo;->b(Z)Ljava/lang/String;

    move-result-object v0

    .line 602
    if-eqz v0, :cond_7

    .line 618
    :cond_6
    :goto_6
    return-object v0

    .line 606
    :cond_7
    const-string v0, "PATH"

    invoke-static {v0}, Ljava/lang/System;->getenv(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 607
    const-string v1, ":"

    invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v2

    .line 608
    array-length v3, v2

    const/4 v0, 0x0

    move v1, v0

    :goto_16
    if-ge v1, v3, :cond_37

    aget-object v0, v2, v1

    .line 609
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v4, "/su"

    invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 610
    invoke-static {v0, p0}, Ldxoptimizer/uo;->a(Ljava/lang/String;Z)Z

    move-result v4

    if-nez v4, :cond_6

    .line 608
    add-int/lit8 v0, v1, 0x1

    move v1, v0

    goto :goto_16

    .line 614
    :cond_37
    const-string v0, "/system/bin/dxsrv"

    invoke-static {v0}, Ldxoptimizer/uo;->b(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_42

    .line 615
    const-string v0, "/system/bin/dxsrv"

    goto :goto_6

    .line 616
    :cond_42
    const-string v0, "/system/bin/dxsu"

    invoke-static {v0}, Ldxoptimizer/uo;->b(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_4d

    .line 617
    const-string v0, "/system/bin/dxsu"

    goto :goto_6

    .line 618
    :cond_4d
    const/4 v0, 0x0

    goto :goto_6
.end method

.method private static a(Ljava/lang/Process;)V
    .registers 2

    .prologue
    .line 922
    if-nez p0, :cond_4

    .line 935
    :goto_2
    return-void

    .line 930
    :catch_3
    move-exception v0

    .line 928
    :cond_4
    :try_start_4
    invoke-virtual {p0}, Ljava/lang/Process;->waitFor()I
    :try_end_7
    .catch Ljava/lang/InterruptedException; {:try_start_4 .. :try_end_7} :catch_3

    goto :goto_2
.end method

.method private static a(Ljava/lang/String;)Z
    .registers 5

    .prologue
    .line 561
    const-string v0, "Howareyou?"

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

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

    .line 564
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "echo "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 566
    invoke-static {p0, v1, v0}, Ldxoptimizer/uo;->a(Ljava/lang/String;Ljava/util/ArrayList;Ljava/lang/String;)Z

    move-result v0

    return v0
.end method

.method private static a(Ljava/lang/String;Ljava/lang/String;)Z
    .registers 7

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

    .line 1129
    const/4 v3, 0x0

    .line 1131
    :try_start_2
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v1

    invoke-virtual {v1, p0}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;

    move-result-object v1

    .line 1132
    new-instance v2, Ljava/io/BufferedReader;

    new-instance v4, Ljava/io/InputStreamReader;

    invoke-virtual {v1}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;

    move-result-object v1

    invoke-direct {v4, v1}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V

    invoke-direct {v2, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    :try_end_18
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_18} :catch_34
    .catchall {:try_start_2 .. :try_end_18} :catchall_6c

    .line 1134
    :cond_18
    :try_start_18
    invoke-virtual {v2}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v1

    if-eqz v1, :cond_25

    .line 1135
    invoke-virtual {v1, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
    :try_end_21
    .catch Ljava/lang/Exception; {:try_start_18 .. :try_end_21} :catch_7f
    .catchall {:try_start_18 .. :try_end_21} :catchall_7d

    move-result v1

    if-eqz v1, :cond_18

    .line 1136
    const/4 v0, 0x1

    .line 1146
    :cond_25
    if-eqz v2, :cond_2a

    .line 1148
    :try_start_27
    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_2a
    .catch Ljava/io/IOException; {:try_start_27 .. :try_end_2a} :catch_2b

    .line 1156
    :cond_2a
    :goto_2a
    return v0

    .line 1149
    :catch_2b
    move-exception v1

    .line 1150
    sget-boolean v2, Ldxoptimizer/uo;->b:Z

    if-eqz v2, :cond_2a

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

    goto :goto_2a

    .line 1140
    :catch_34
    move-exception v1

    move-object v2, v3

    .line 1141
    :goto_36
    :try_start_36
    sget-boolean v3, Ldxoptimizer/uo;->b:Z

    if-eqz v3, :cond_5d

    .line 1142
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "failed to get "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, " from cmd "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ldxoptimizer/uo;->c(Ljava/lang/String;)V

    .line 1143
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
    :try_end_5d
    .catchall {:try_start_36 .. :try_end_5d} :catchall_7d

    .line 1146
    :cond_5d
    if-eqz v2, :cond_2a

    .line 1148
    :try_start_5f
    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_62
    .catch Ljava/io/IOException; {:try_start_5f .. :try_end_62} :catch_63

    goto :goto_2a

    .line 1149
    :catch_63
    move-exception v1

    .line 1150
    sget-boolean v2, Ldxoptimizer/uo;->b:Z

    if-eqz v2, :cond_2a

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

    goto :goto_2a

    .line 1146
    :catchall_6c
    move-exception v0

    move-object v2, v3

    :goto_6e
    if-eqz v2, :cond_73

    .line 1148
    :try_start_70
    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_73
    .catch Ljava/io/IOException; {:try_start_70 .. :try_end_73} :catch_74

    .line 1153
    :cond_73
    :goto_73
    throw v0

    .line 1149
    :catch_74
    move-exception v1

    .line 1150
    sget-boolean v2, Ldxoptimizer/uo;->b:Z

    if-eqz v2, :cond_73

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

    goto :goto_73

    .line 1146
    :catchall_7d
    move-exception v0

    goto :goto_6e

    .line 1140
    :catch_7f
    move-exception v1

    goto :goto_36
.end method

.method private static a(Ljava/lang/String;Ljava/util/ArrayList;Ljava/lang/String;)Z
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Ljava/util/ArrayList",
            "<",
            "Ljava/lang/String;",
            ">;",
            "Ljava/lang/String;",
            ")Z"
        }
    .end annotation

    .prologue
    const/4 v2, 0x0

    const/4 v4, 0x0

    const/4 v3, 0x1

    .line 1292
    .line 1295
    :try_start_3
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v0

    invoke-virtual {v0, p0}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
    :try_end_a
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_a} :catch_ad

    move-result-object v1

    .line 1297
    :try_start_b
    new-instance v5, Ljava/io/PrintWriter;

    invoke-virtual {v1}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v0

    invoke-direct {v5, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/OutputStream;)V

    .line 1298
    invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v6

    :goto_18
    invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_39

    invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 1299
    invoke-virtual {v5, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
    :try_end_27
    .catch Ljava/lang/Exception; {:try_start_b .. :try_end_27} :catch_28

    goto :goto_18

    .line 1329
    :catch_28
    move-exception v0

    .line 1330
    :goto_29
    sget-boolean v2, Ldxoptimizer/uo;->b:Z

    if-eqz v2, :cond_30

    .line 1331
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    :cond_30
    move v0, v4

    .line 1334
    :goto_31
    if-ne v0, v3, :cond_36

    .line 1335
    invoke-static {v1}, Ldxoptimizer/uo;->a(Ljava/lang/Process;)V

    .line 1338
    :cond_36
    if-ne v0, v3, :cond_ab

    :goto_38
    return v3

    .line 1301
    :cond_39
    :try_start_39
    const-string v0, "exit"

    invoke-virtual {v5, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 1302
    invoke-virtual {v5}, Ljava/io/PrintWriter;->flush()V

    .line 1303
    invoke-virtual {v5}, Ljava/io/PrintWriter;->close()V

    .line 1305
    new-instance v0, Ldxoptimizer/uo$a;

    invoke-direct {v0, v1}, Ldxoptimizer/uo$a;-><init>(Ljava/lang/Process;)V

    invoke-virtual {v0}, Ldxoptimizer/uo$a;->a()I

    move-result v5

    .line 1308
    if-nez v5, :cond_b3

    .line 1309
    new-instance v6, Ljava/io/InputStreamReader;

    invoke-virtual {v1}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;

    move-result-object v0

    invoke-direct {v6, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V

    .line 1310
    new-instance v7, Ljava/io/BufferedReader;

    invoke-direct {v7, v6}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V

    .line 1312
    :cond_5d
    invoke-virtual {v7}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_b1

    .line 1313
    invoke-virtual {v0, p2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_5d

    move v0, v3

    .line 1318
    :goto_6a
    invoke-virtual {v6}, Ljava/io/InputStreamReader;->close()V

    .line 1319
    invoke-virtual {v7}, Ljava/io/BufferedReader;->close()V

    .line 1321
    :goto_70
    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v7, "run "

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {p1}, Ljava/util/ArrayList;->toString()Ljava/lang/String;

    move-result-object v7

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    const-string v7, " expect \'"

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    const-string v7, "\' result="

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ldxoptimizer/uo;->d(Ljava/lang/String;)V
    :try_end_9e
    .catch Ljava/lang/Exception; {:try_start_39 .. :try_end_9e} :catch_28

    .line 1324
    if-nez v5, :cond_a8

    if-eqz v0, :cond_a8

    move-object v0, v1

    move v1, v3

    :goto_a4
    move-object v8, v0

    move v0, v1

    move-object v1, v8

    .line 1333
    goto :goto_31

    :cond_a8
    move-object v0, v2

    move v1, v4

    .line 1327
    goto :goto_a4

    :cond_ab
    move v3, v4

    .line 1338
    goto :goto_38

    .line 1329
    :catch_ad
    move-exception v0

    move-object v1, v2

    goto/16 :goto_29

    :cond_b1
    move v0, v4

    goto :goto_6a

    :cond_b3
    move v0, v4

    goto :goto_70
.end method

.method private static a(Ljava/lang/String;Z)Z
    .registers 8

    .prologue
    const/4 v1, 0x1

    const/4 v0, 0x0

    .line 762
    invoke-static {}, Ldxoptimizer/vj;->b()Ljava/lang/Object;

    move-result-object v2

    .line 764
    new-array v3, v1, [Ljava/lang/Object;

    aput-object v2, v3, v0

    .line 767
    invoke-static {p0, v3}, Ldxoptimizer/vj;->a(Ljava/lang/Object;[Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_5c

    .line 768
    aget-object v2, v3, v0

    .line 769
    invoke-static {v2}, Ldxoptimizer/vj;->a(Ljava/lang/Object;)I

    move-result v3

    .line 770
    invoke-static {v2}, Ldxoptimizer/vj;->b(Ljava/lang/Object;)I

    move-result v4

    .line 771
    if-eqz v3, :cond_1f

    if-nez p1, :cond_1f

    .line 788
    :goto_1e
    return v0

    .line 774
    :cond_1f
    const v2, 0x8801

    .line 775
    if-eqz p1, :cond_27

    .line 776
    const v2, 0x8001

    .line 778
    :cond_27
    and-int v5, v4, v2

    if-ne v5, v2, :cond_2d

    move v0, v1

    .line 779
    goto :goto_1e

    .line 782
    :cond_2d
    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "File stat for "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ": uid: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ", mode: 0"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-static {v4}, Ljava/lang/Integer;->toOctalString(I)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Ldxoptimizer/uo;->d(Ljava/lang/String;)V

    goto :goto_1e

    .line 785
    :cond_5c
    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "File not found: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Ldxoptimizer/uo;->d(Ljava/lang/String;)V

    goto :goto_1e
.end method

.method public static a(Ljava/util/ArrayList;)Z
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/ArrayList",
            "<",
            "Ljava/lang/String;",
            ">;)Z"
        }
    .end annotation

    .prologue
    const/4 v4, 0x0

    const/4 v1, 0x1

    const/4 v2, 0x0

    .line 882
    const/4 v0, 0x2

    .line 883
    sget v3, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v5, 0x12

    if-lt v3, v5, :cond_b

    .line 884
    const/4 v0, 0x3

    .line 886
    :cond_b
    and-int/lit8 v0, v0, 0x1

    if-ne v0, v1, :cond_1c

    move v0, v1

    .line 887
    :goto_10
    invoke-static {v0}, Ldxoptimizer/uo;->a(Z)Ljava/lang/String;

    move-result-object v0

    .line 888
    if-nez v0, :cond_1e

    .line 889
    const-string v0, "run su failed, not find any su!!"

    invoke-static {v0}, Ldxoptimizer/uo;->c(Ljava/lang/String;)V

    .line 918
    :cond_1b
    :goto_1b
    return v2

    :cond_1c
    move v0, v2

    .line 886
    goto :goto_10

    .line 895
    :cond_1e
    :try_start_1e
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v3

    invoke-virtual {v3, v0}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
    :try_end_25
    .catch Ljava/lang/Exception; {:try_start_1e .. :try_end_25} :catch_93
    .catchall {:try_start_1e .. :try_end_25} :catchall_86

    move-result-object v3

    .line 896
    :try_start_26
    new-instance v5, Ljava/io/PrintWriter;

    invoke-virtual {v3}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v0

    invoke-direct {v5, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/OutputStream;)V

    .line 898
    invoke-virtual {p0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v6

    :goto_33
    invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_6c

    invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 899
    invoke-virtual {v5, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
    :try_end_42
    .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_42} :catch_43
    .catchall {:try_start_26 .. :try_end_42} :catchall_8e

    goto :goto_33

    .line 906
    :catch_43
    move-exception v0

    move-object v1, v3

    .line 907
    :goto_45
    :try_start_45
    sget-boolean v3, Ldxoptimizer/uo;->b:Z

    if-eqz v3, :cond_66

    .line 908
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "failed to run "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {p0}, Ljava/util/ArrayList;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ldxoptimizer/uo;->c(Ljava/lang/String;)V

    .line 909
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
    :try_end_66
    .catchall {:try_start_45 .. :try_end_66} :catchall_90

    .line 913
    :cond_66
    if-eqz v1, :cond_1b

    .line 914
    invoke-virtual {v1}, Ljava/lang/Process;->destroy()V

    goto :goto_1b

    .line 901
    :cond_6c
    :try_start_6c
    const-string v0, "exit"

    invoke-virtual {v5, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 902
    invoke-virtual {v5}, Ljava/io/PrintWriter;->flush()V

    .line 903
    invoke-virtual {v5}, Ljava/io/PrintWriter;->close()V

    .line 904
    new-instance v0, Ldxoptimizer/uo$a;

    invoke-direct {v0, v3}, Ldxoptimizer/uo$a;-><init>(Ljava/lang/Process;)V

    invoke-virtual {v0}, Ldxoptimizer/uo$a;->a()I
    :try_end_7f
    .catch Ljava/lang/Exception; {:try_start_6c .. :try_end_7f} :catch_43
    .catchall {:try_start_6c .. :try_end_7f} :catchall_8e

    .line 913
    if-eqz v4, :cond_84

    .line 914
    invoke-virtual {v4}, Ljava/lang/Process;->destroy()V

    :cond_84
    move v2, v1

    .line 918
    goto :goto_1b

    .line 913
    :catchall_86
    move-exception v0

    move-object v3, v4

    :goto_88
    if-eqz v3, :cond_8d

    .line 914
    invoke-virtual {v3}, Ljava/lang/Process;->destroy()V

    .line 915
    :cond_8d
    throw v0

    .line 913
    :catchall_8e
    move-exception v0

    goto :goto_88

    :catchall_90
    move-exception v0

    move-object v3, v1

    goto :goto_88

    .line 906
    :catch_93
    move-exception v0

    move-object v1, v4

    goto :goto_45
.end method

.method private static b(Z)Ljava/lang/String;
    .registers 5

    .prologue
    const/4 v1, 0x0

    .line 570
    const-string v0, "su -v"

    const-string v2, "com.dianxinos.superuser"

    invoke-static {v0, v2}, Ldxoptimizer/uo;->a(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_12

    .line 571
    const-string v0, "The default su is ours, just use it"

    invoke-static {v0}, Ldxoptimizer/uo;->d(Ljava/lang/String;)V

    move-object v0, v1

    .line 594
    :goto_11
    return-object v0

    .line 575
    :cond_12
    const/4 v0, 0x0

    :goto_13
    sget-object v2, Ldxoptimizer/uo;->a:[Ljava/lang/String;

    array-length v2, v2

    if-ge v0, v2, :cond_6e

    .line 576
    sget-object v2, Ldxoptimizer/uo;->a:[Ljava/lang/String;

    aget-object v2, v2, v0

    invoke-static {v2, p0}, Ldxoptimizer/uo;->a(Ljava/lang/String;Z)Z

    move-result v2

    if-nez v2, :cond_25

    .line 575
    :goto_22
    add-int/lit8 v0, v0, 0x1

    goto :goto_13

    .line 580
    :cond_25
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v3, Ldxoptimizer/uo;->a:[Ljava/lang/String;

    aget-object v3, v3, v0

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " -v"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const-string v3, "com.dianxinos.superuser"

    invoke-static {v2, v3}, Ldxoptimizer/uo;->a(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_4a

    .line 582
    const-string v2, "Invalid backup su file"

    invoke-static {v2}, Ldxoptimizer/uo;->c(Ljava/lang/String;)V

    goto :goto_22

    .line 586
    :cond_4a
    sget-object v2, Ldxoptimizer/uo;->a:[Ljava/lang/String;

    aget-object v2, v2, v0

    invoke-static {v2}, Ldxoptimizer/uo;->a(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_75

    .line 588
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Failed to get root access from "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    sget-object v3, Ldxoptimizer/uo;->a:[Ljava/lang/String;

    aget-object v0, v3, v0

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ldxoptimizer/uo;->c(Ljava/lang/String;)V

    .line 593
    :cond_6e
    const-string v0, "No backup su can be used"

    invoke-static {v0}, Ldxoptimizer/uo;->d(Ljava/lang/String;)V

    move-object v0, v1

    .line 594
    goto :goto_11

    .line 591
    :cond_75
    sget-object v1, Ldxoptimizer/uo;->a:[Ljava/lang/String;

    aget-object v0, v1, v0

    goto :goto_11
.end method

.method private static b(Ljava/lang/String;)Z
    .registers 2

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

    invoke-static {p0, v0}, Ldxoptimizer/uo;->a(Ljava/lang/String;Z)Z

    move-result v0

    return v0
.end method

.method private static c(Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 1364
    sget-boolean v0, Ldxoptimizer/uo;->b:Z

    if-eqz v0, :cond_9

    .line 1365
    const-string v0, "BPHelper"

    invoke-static {v0, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 1367
    :cond_9
    return-void
.end method

.method private static d(Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 1375
    sget-boolean v0, Ldxoptimizer/uo;->b:Z

    if-eqz v0, :cond_9

    .line 1376
    const-string v0, "BPHelper"

    invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 1377
    :cond_9
    return-void
.end method