b.smali
.class public final Lcn/jiguang/al/b;
.super Ljava/lang/Object;
# instance fields
.field private a:[B
.field private b:[I
# direct methods
.method public constructor <init>()V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x100
new-array v0, v0, [B
fill-array-data v0, :array_16
iput-object v0, p0, Lcn/jiguang/al/b;->a:[B
const/16 v0, 0x20
new-array v0, v0, [I
fill-array-data v0, :array_9a
iput-object v0, p0, Lcn/jiguang/al/b;->b:[I
return-void
:array_16
.array-data 1
-0x2at
-0x70t
-0x17t
-0x2t
-0x34t
-0x1ft
0x3dt
-0x49t
0x16t
-0x4at
0x14t
-0x3et
0x28t
-0x5t
0x2ct
0x5t
0x2bt
0x67t
-0x66t
0x76t
0x2at
-0x42t
0x4t
-0x3dt
-0x56t
0x44t
0x13t
0x26t
0x49t
-0x7at
0x6t
-0x67t
-0x64t
0x42t
0x50t
-0xct
-0x6ft
-0x11t
-0x68t
0x7at
0x33t
0x54t
0xbt
0x43t
-0x13t
-0x31t
-0x54t
0x62t
-0x1ct
-0x4dt
0x1ct
-0x57t
-0x37t
0x8t
-0x18t
-0x6bt
-0x80t
-0x21t
-0x6ct
-0x6t
0x75t
-0x71t
0x3ft
-0x5at
0x47t
0x7t
-0x59t
-0x4t
-0xdt
0x73t
0x17t
-0x46t
-0x7dt
0x59t
0x3ct
0x19t
-0x1at
-0x7bt
0x4ft
-0x58t
0x68t
0x6bt
-0x7ft
-0x4et
0x71t
0x64t
-0x26t
-0x75t
-0x8t
-0x15t
0xft
0x4bt
0x70t
0x56t
-0x63t
0x35t
0x1et
0x24t
0xet
0x5et
0x63t
0x58t
-0x2ft
-0x5et
0x25t
0x22t
0x7ct
0x3bt
0x1t
0x21t
0x78t
-0x79t
-0x2ct
0x0t
0x46t
0x57t
-0x61t
-0x2dt
0x27t
0x52t
0x4ct
0x36t
0x2t
-0x19t
-0x60t
-0x3ct
-0x38t
-0x62t
-0x16t
-0x41t
-0x76t
-0x2et
0x40t
-0x39t
0x38t
-0x4bt
-0x5dt
-0x9t
-0xet
-0x32t
-0x7t
0x61t
0x15t
-0x5ft
-0x20t
-0x52t
0x5dt
-0x5ct
-0x65t
0x34t
0x1at
0x55t
-0x53t
-0x6dt
0x32t
0x30t
-0xbt
-0x74t
-0x4ft
-0x1dt
0x1dt
-0xat
-0x1et
0x2et
-0x7et
0x66t
-0x36t
0x60t
-0x40t
0x29t
0x23t
-0x55t
0xdt
0x53t
0x4et
0x6ft
-0x2bt
-0x25t
0x37t
0x45t
-0x22t
-0x3t
-0x72t
0x2ft
0x3t
-0x1t
0x6at
0x72t
0x6dt
0x6ct
0x5bt
0x51t
-0x73t
0x1bt
-0x51t
-0x6et
-0x45t
-0x23t
-0x44t
0x7ft
0x11t
-0x27t
0x5ct
0x41t
0x1ft
0x10t
0x5at
-0x28t
0xat
-0x3ft
0x31t
-0x78t
-0x5bt
-0x33t
0x7bt
-0x43t
0x2dt
0x74t
-0x30t
0x12t
-0x48t
-0x1bt
-0x4ct
-0x50t
-0x77t
0x69t
-0x69t
0x4at
0xct
-0x6at
0x77t
0x7et
0x65t
-0x47t
-0xft
0x9t
-0x3bt
0x6et
-0x3at
-0x7ct
0x18t
-0x10t
0x7dt
-0x14t
0x3at
-0x24t
0x4dt
0x20t
0x79t
-0x12t
0x5ft
0x3et
-0x29t
-0x35t
0x39t
0x48t
.end array-data
:array_9a
.array-data 4
0x70e15
0x1c232a31
0x383f464d
0x545b6269
0x70777e85 # 3.06383E29f
-0x736c655f # -2.2742E-31f
-0x57504943
-0x3b342d27
-0x1f18110b
-0x3fcf5ef
0x181f262d
0x343b4249
0x50575e65
0x6c737a81
-0x77706963
-0x5b544d47
-0x3f38312b
-0x231c150f
-0x700f9f3
0x141b2229
0x30373e45
0x4c535a61 # 5.5404932E7f
0x686f767d
-0x7b746d67
-0x5f58514b
-0x433c352f
-0x27201913
-0xb04fdf7
0x10171e25
0x2c333a41
0x484f565d
0x646b7279
.end array-data
.end method
.method private static a(C)I
.registers 2
const-string v0, "0123456789abcdef"
invoke-virtual {v0, p0}, Ljava/lang/String;->indexOf(I)I
move-result v0
int-to-byte v0, v0
return v0
.end method
.method private a(I)I
.registers 5
iget-object v0, p0, Lcn/jiguang/al/b;->a:[B
ushr-int/lit8 v1, p1, 0x18
and-int/lit16 v1, v1, 0xff
aget-byte v0, v0, v1
and-int/lit16 v0, v0, 0xff
shl-int/lit8 v0, v0, 0x18
iget-object v1, p0, Lcn/jiguang/al/b;->a:[B
ushr-int/lit8 v2, p1, 0x10
and-int/lit16 v2, v2, 0xff
aget-byte v1, v1, v2
and-int/lit16 v1, v1, 0xff
shl-int/lit8 v1, v1, 0x10
or-int/2addr v0, v1
iget-object v1, p0, Lcn/jiguang/al/b;->a:[B
ushr-int/lit8 v2, p1, 0x8
and-int/lit16 v2, v2, 0xff
aget-byte v1, v1, v2
and-int/lit16 v1, v1, 0xff
shl-int/lit8 v1, v1, 0x8
or-int/2addr v0, v1
iget-object v1, p0, Lcn/jiguang/al/b;->a:[B
and-int/lit16 v2, p1, 0xff
aget-byte v1, v1, v2
and-int/lit16 v1, v1, 0xff
or-int/2addr v0, v1
return v0
.end method
.method private static a(II)I
.registers 4
shl-int v0, p0, p1
rsub-int/lit8 v1, p1, 0x20
ushr-int v1, p0, v1
or-int/2addr v0, v1
return v0
.end method
.method private static a([B[B)V
.registers 5
const/4 v0, 0x0
:goto_1
const/16 v1, 0x10
if-ge v0, v1, :cond_10
aget-byte v1, p0, v0
aget-byte v2, p1, v0
xor-int/2addr v1, v2
int-to-byte v1, v1
aput-byte v1, p0, v0
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_10
return-void
.end method
.method private a([B[B[I)V
.registers 13
const/4 v8, 0x3
const/4 v7, 0x2
const/4 v6, 0x1
const/4 v0, 0x0
invoke-static {p1}, Lcn/jiguang/al/b;->a([B)[I
move-result-object v2
move v1, v0
:goto_9
const/16 v3, 0x20
if-ge v1, v3, :cond_76
aget v3, v2, v0
aget v4, v2, v6
aget v5, v2, v7
xor-int/2addr v4, v5
aget v5, v2, v8
xor-int/2addr v4, v5
aget v5, p3, v1
xor-int/2addr v4, v5
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->a(I)I
move-result v4
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->b(I)I
move-result v4
xor-int/2addr v3, v4
aput v3, v2, v0
aget v3, v2, v6
aget v4, v2, v7
aget v5, v2, v8
xor-int/2addr v4, v5
aget v5, v2, v0
xor-int/2addr v4, v5
add-int/lit8 v5, v1, 0x1
aget v5, p3, v5
xor-int/2addr v4, v5
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->a(I)I
move-result v4
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->b(I)I
move-result v4
xor-int/2addr v3, v4
aput v3, v2, v6
aget v3, v2, v7
aget v4, v2, v8
aget v5, v2, v0
xor-int/2addr v4, v5
aget v5, v2, v6
xor-int/2addr v4, v5
add-int/lit8 v5, v1, 0x2
aget v5, p3, v5
xor-int/2addr v4, v5
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->a(I)I
move-result v4
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->b(I)I
move-result v4
xor-int/2addr v3, v4
aput v3, v2, v7
aget v3, v2, v8
aget v4, v2, v0
aget v5, v2, v6
xor-int/2addr v4, v5
aget v5, v2, v7
xor-int/2addr v4, v5
add-int/lit8 v5, v1, 0x3
aget v5, p3, v5
xor-int/2addr v4, v5
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->a(I)I
move-result v4
invoke-direct {p0, v4}, Lcn/jiguang/al/b;->b(I)I
move-result v4
xor-int/2addr v3, v4
aput v3, v2, v8
add-int/lit8 v1, v1, 0x4
goto :goto_9
:cond_76
:goto_76
const/16 v1, 0x10
if-ge v0, v1, :cond_b5
div-int/lit8 v1, v0, 0x4
rsub-int/lit8 v1, v1, 0x3
aget v1, v2, v1
ushr-int/lit8 v1, v1, 0x18
and-int/lit16 v1, v1, 0xff
int-to-byte v1, v1
aput-byte v1, p2, v0
add-int/lit8 v1, v0, 0x1
div-int/lit8 v3, v0, 0x4
rsub-int/lit8 v3, v3, 0x3
aget v3, v2, v3
ushr-int/lit8 v3, v3, 0x10
and-int/lit16 v3, v3, 0xff
int-to-byte v3, v3
aput-byte v3, p2, v1
add-int/lit8 v1, v0, 0x2
div-int/lit8 v3, v0, 0x4
rsub-int/lit8 v3, v3, 0x3
aget v3, v2, v3
ushr-int/lit8 v3, v3, 0x8
and-int/lit16 v3, v3, 0xff
int-to-byte v3, v3
aput-byte v3, p2, v1
add-int/lit8 v1, v0, 0x3
div-int/lit8 v3, v0, 0x4
rsub-int/lit8 v3, v3, 0x3
aget v3, v2, v3
and-int/lit16 v3, v3, 0xff
int-to-byte v3, v3
aput-byte v3, p2, v1
add-int/lit8 v0, v0, 0x4
goto :goto_76
:cond_b5
return-void
.end method
.method public static a(Ljava/lang/String;)[B
.registers 7
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
div-int/lit8 v1, v0, 0x2
new-array v2, v1, [B
invoke-virtual {p0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v3
const/4 v0, 0x0
:goto_11
if-ge v0, v1, :cond_2c
mul-int/lit8 v4, v0, 0x2
aget-char v5, v3, v4
invoke-static {v5}, Lcn/jiguang/al/b;->a(C)I
move-result v5
shl-int/lit8 v5, v5, 0x4
add-int/lit8 v4, v4, 0x1
aget-char v4, v3, v4
invoke-static {v4}, Lcn/jiguang/al/b;->a(C)I
move-result v4
or-int/2addr v4, v5
int-to-byte v4, v4
aput-byte v4, v2, v0
add-int/lit8 v0, v0, 0x1
goto :goto_11
:cond_2c
return-object v2
.end method
.method private static a([B)[I
.registers 6
const/4 v4, 0x4
new-array v1, v4, [I
const/4 v0, 0x0
:goto_4
if-ge v0, v4, :cond_32
mul-int/lit8 v2, v0, 0x4
aget-byte v2, p0, v2
and-int/lit16 v2, v2, 0xff
shl-int/lit8 v2, v2, 0x18
mul-int/lit8 v3, v0, 0x4
add-int/lit8 v3, v3, 0x1
aget-byte v3, p0, v3
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0x10
or-int/2addr v2, v3
mul-int/lit8 v3, v0, 0x4
add-int/lit8 v3, v3, 0x2
aget-byte v3, p0, v3
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0x8
or-int/2addr v2, v3
mul-int/lit8 v3, v0, 0x4
add-int/lit8 v3, v3, 0x3
aget-byte v3, p0, v3
and-int/lit16 v3, v3, 0xff
or-int/2addr v2, v3
aput v2, v1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_4
:cond_32
return-object v1
.end method
.method private a([BZ)[I
.registers 16
const/16 v12, 0x20
const/4 v11, 0x3
const/4 v10, 0x2
const/4 v9, 0x1
const/4 v0, 0x0
invoke-static {p1}, Lcn/jiguang/al/b;->a([B)[I
move-result-object v2
aget v1, v2, v0
const v3, -0x5c4e453a
xor-int/2addr v1, v3
aput v1, v2, v0
aget v1, v2, v9
const v3, 0x56aa3350
xor-int/2addr v1, v3
aput v1, v2, v9
aget v1, v2, v10
const v3, 0x677d9197
xor-int/2addr v1, v3
aput v1, v2, v10
aget v1, v2, v11
const v3, -0x4d8fdd24
xor-int/2addr v1, v3
aput v1, v2, v11
new-array v3, v12, [I
move v1, v0
:goto_2d
if-ge v1, v12, :cond_ae
aget v4, v2, v0
aget v5, v2, v9
aget v6, v2, v10
xor-int/2addr v5, v6
aget v6, v2, v11
xor-int/2addr v5, v6
iget-object v6, p0, Lcn/jiguang/al/b;->b:[I
aget v6, v6, v1
xor-int/2addr v5, v6
invoke-direct {p0, v5}, Lcn/jiguang/al/b;->a(I)I
move-result v5
invoke-direct {p0, v5}, Lcn/jiguang/al/b;->c(I)I
move-result v5
xor-int/2addr v4, v5
aput v4, v2, v0
aput v4, v3, v1
add-int/lit8 v4, v1, 0x1
aget v5, v2, v9
aget v6, v2, v10
aget v7, v2, v11
xor-int/2addr v6, v7
aget v7, v2, v0
xor-int/2addr v6, v7
iget-object v7, p0, Lcn/jiguang/al/b;->b:[I
add-int/lit8 v8, v1, 0x1
aget v7, v7, v8
xor-int/2addr v6, v7
invoke-direct {p0, v6}, Lcn/jiguang/al/b;->a(I)I
move-result v6
invoke-direct {p0, v6}, Lcn/jiguang/al/b;->c(I)I
move-result v6
xor-int/2addr v5, v6
aput v5, v2, v9
aput v5, v3, v4
add-int/lit8 v4, v1, 0x2
aget v5, v2, v10
aget v6, v2, v11
aget v7, v2, v0
xor-int/2addr v6, v7
aget v7, v2, v9
xor-int/2addr v6, v7
iget-object v7, p0, Lcn/jiguang/al/b;->b:[I
add-int/lit8 v8, v1, 0x2
aget v7, v7, v8
xor-int/2addr v6, v7
invoke-direct {p0, v6}, Lcn/jiguang/al/b;->a(I)I
move-result v6
invoke-direct {p0, v6}, Lcn/jiguang/al/b;->c(I)I
move-result v6
xor-int/2addr v5, v6
aput v5, v2, v10
aput v5, v3, v4
add-int/lit8 v4, v1, 0x3
aget v5, v2, v11
aget v6, v2, v0
aget v7, v2, v9
xor-int/2addr v6, v7
aget v7, v2, v10
xor-int/2addr v6, v7
iget-object v7, p0, Lcn/jiguang/al/b;->b:[I
add-int/lit8 v8, v1, 0x3
aget v7, v7, v8
xor-int/2addr v6, v7
invoke-direct {p0, v6}, Lcn/jiguang/al/b;->a(I)I
move-result v6
invoke-direct {p0, v6}, Lcn/jiguang/al/b;->c(I)I
move-result v6
xor-int/2addr v5, v6
aput v5, v2, v11
aput v5, v3, v4
add-int/lit8 v1, v1, 0x4
goto :goto_2d
:cond_ae
if-eqz p2, :cond_c3
:goto_b0
const/16 v1, 0x10
if-ge v0, v1, :cond_c3
aget v1, v3, v0
rsub-int/lit8 v2, v0, 0x1f
aget v2, v3, v2
aput v2, v3, v0
rsub-int/lit8 v2, v0, 0x1f
aput v1, v3, v2
add-int/lit8 v0, v0, 0x1
goto :goto_b0
:cond_c3
return-object v3
.end method
.method private b(I)I
.registers 4
const/4 v0, 0x2
invoke-static {p1, v0}, Lcn/jiguang/al/b;->a(II)I
move-result v0
xor-int/2addr v0, p1
const/16 v1, 0xa
invoke-static {p1, v1}, Lcn/jiguang/al/b;->a(II)I
move-result v1
xor-int/2addr v0, v1
const/16 v1, 0x12
invoke-static {p1, v1}, Lcn/jiguang/al/b;->a(II)I
move-result v1
xor-int/2addr v0, v1
const/16 v1, 0x18
invoke-static {p1, v1}, Lcn/jiguang/al/b;->a(II)I
move-result v1
xor-int/2addr v0, v1
return v0
.end method
.method private static b([B)[B
.registers 6
array-length v0, p0
rem-int/lit8 v0, v0, 0x10
rsub-int/lit8 v1, v0, 0x10
array-length v0, p0
add-int/2addr v0, v1
invoke-static {p0, v0}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object v2
const/4 v0, 0x0
:goto_c
if-ge v0, v1, :cond_16
array-length v3, p0
add-int/2addr v3, v0
int-to-byte v4, v1
aput-byte v4, v2, v3
add-int/lit8 v0, v0, 0x1
goto :goto_c
:cond_16
return-object v2
.end method
.method private c(I)I
.registers 4
const/16 v0, 0xd
invoke-static {p1, v0}, Lcn/jiguang/al/b;->a(II)I
move-result v0
xor-int/2addr v0, p1
const/16 v1, 0x17
invoke-static {p1, v1}, Lcn/jiguang/al/b;->a(II)I
move-result v1
xor-int/2addr v0, v1
return v0
.end method
# virtual methods
.method public final a([B[B[B)[B
.registers 12
const/4 v1, 0x0
const/16 v7, 0x10
if-eqz p1, :cond_8
array-length v0, p1
if-nez v0, :cond_9
:cond_8
return-object p1
:cond_9
if-eqz p2, :cond_e
array-length v0, p2
if-eq v0, v7, :cond_16
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "key\'s length should be 16"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_16
if-eqz p3, :cond_1c
array-length v0, p3
if-eq v0, v7, :cond_1c
const/4 p3, 0x0
:cond_1c
invoke-static {p1}, Lcn/jiguang/al/b;->b([B)[B
move-result-object v2
invoke-direct {p0, p2, v1}, Lcn/jiguang/al/b;->a([BZ)[I
move-result-object v3
new-array v4, v7, [B
array-length v0, v2
new-array p1, v0, [B
move v0, v1
:goto_2a
add-int/lit8 v5, v0, 0x10
array-length v6, v2
if-gt v5, v6, :cond_8
invoke-static {v2, v0, v4, v1, v7}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
if-eqz p3, :cond_41
invoke-static {v4, p3}, Lcn/jiguang/al/b;->a([B[B)V
:goto_37
invoke-direct {p0, v4, p3, v3}, Lcn/jiguang/al/b;->a([B[B[I)V
array-length v5, p3
invoke-static {p3, v1, p1, v0, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
add-int/lit8 v0, v0, 0x10
goto :goto_2a
:cond_41
new-array p3, v7, [B
goto :goto_37
.end method
.method public final b([B[B[B)[B
.registers 13
const/4 v1, 0x0
const/16 v8, 0x10
if-eqz p1, :cond_8
array-length v0, p1
if-nez v0, :cond_9
:cond_8
:goto_8
return-object p1
:cond_9
if-eqz p2, :cond_e
array-length v0, p2
if-eq v0, v8, :cond_16
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "key\'s length should be 16"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_16
if-eqz p3, :cond_1c
array-length v0, p3
if-eq v0, v8, :cond_1c
const/4 p3, 0x0
:cond_1c
const/4 v0, 0x1
invoke-direct {p0, p2, v0}, Lcn/jiguang/al/b;->a([BZ)[I
move-result-object v2
new-array v3, v8, [B
new-array v4, v8, [B
array-length v0, p1
new-array v5, v0, [B
move v0, v1
:goto_29
add-int/lit8 v6, v0, 0x10
array-length v7, p1
if-gt v6, v7, :cond_45
invoke-static {p1, v0, v3, v1, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
invoke-direct {p0, v3, v4, v2}, Lcn/jiguang/al/b;->a([B[B[I)V
if-eqz p3, :cond_42
invoke-static {v4, p3}, Lcn/jiguang/al/b;->a([B[B)V
:goto_39
invoke-static {p1, v0, p3, v1, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
invoke-static {v4, v1, v5, v0, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
add-int/lit8 v0, v0, 0x10
goto :goto_29
:cond_42
new-array p3, v8, [B
goto :goto_39
:cond_45
array-length v0, v5
add-int/lit8 v0, v0, -0x1
aget-byte v0, v5, v0
array-length v2, v5
sub-int v0, v2, v0
new-array p1, v0, [B
array-length v0, p1
invoke-static {v5, v1, p1, v1, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_8
.end method