.class public Le/j/i/a; .super Ljava/lang/Object; .source "DefaultImageFormatChecker.java" # interfaces .implements Le/j/i/c$a; # static fields .field public static final b:[B .field public static final c:I .field public static final d:[B .field public static final e:I .field public static final f:[B .field public static final g:[B .field public static final h:[B .field public static final i:I .field public static final j:[B .field public static final k:I .field public static final l:[Ljava/lang/String; .field public static final m:I # instance fields .field public final a:I # direct methods .method public static constructor ()V .locals 7 const/4 v0, 0x3 new-array v0, v0, [B fill-array-data v0, :array_0 sput-object v0, Le/j/i/a;->b:[B sget-object v0, Le/j/i/a;->b:[B array-length v0, v0 sput v0, Le/j/i/a;->c:I const/16 v0, 0x8 new-array v0, v0, [B fill-array-data v0, :array_1 sput-object v0, Le/j/i/a;->d:[B sget-object v0, Le/j/i/a;->d:[B array-length v0, v0 sput v0, Le/j/i/a;->e:I const-string v0, "GIF87a" invoke-static {v0}, Li/a/b/b/g/e;->a(Ljava/lang/String;)[B move-result-object v0 sput-object v0, Le/j/i/a;->f:[B const-string v0, "GIF89a" invoke-static {v0}, Li/a/b/b/g/e;->a(Ljava/lang/String;)[B move-result-object v0 sput-object v0, Le/j/i/a;->g:[B const-string v0, "BM" invoke-static {v0}, Li/a/b/b/g/e;->a(Ljava/lang/String;)[B move-result-object v0 sput-object v0, Le/j/i/a;->h:[B sget-object v0, Le/j/i/a;->h:[B array-length v0, v0 sput v0, Le/j/i/a;->i:I const/4 v0, 0x4 new-array v0, v0, [B fill-array-data v0, :array_2 sput-object v0, Le/j/i/a;->j:[B sget-object v0, Le/j/i/a;->j:[B array-length v0, v0 sput v0, Le/j/i/a;->k:I const-string v1, "heic" const-string v2, "heix" const-string v3, "hevc" const-string v4, "hevx" const-string v5, "mif1" const-string v6, "msf1" filled-new-array/range {v1 .. v6}, [Ljava/lang/String; move-result-object v0 sput-object v0, Le/j/i/a;->l:[Ljava/lang/String; const-string v0, "ftyp" invoke-static {v0}, Le/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 sget-object v1, Le/j/i/a;->l:[Ljava/lang/String; const/4 v2, 0x0 aget-object v1, v1, v2 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Li/a/b/b/g/e;->a(Ljava/lang/String;)[B move-result-object v0 array-length v0, v0 sput v0, Le/j/i/a;->m:I return-void nop :array_0 .array-data 1 -0x1t -0x28t -0x1t .end array-data :array_1 .array-data 1 -0x77t 0x50t 0x4et 0x47t 0xdt 0xat 0x1at 0xat .end array-data :array_2 .array-data 1 0x0t 0x0t 0x1t 0x0t .end array-data .end method .method public constructor ()V .locals 6 invoke-direct {p0}, Ljava/lang/Object;->()V const/16 v0, 0x8 new-array v0, v0, [I const/4 v1, 0x0 const/16 v2, 0x15 aput v2, v0, v1 const/4 v2, 0x1 const/16 v3, 0x14 aput v3, v0, v2 sget v3, Le/j/i/a;->c:I const/4 v4, 0x2 aput v3, v0, v4 sget v3, Le/j/i/a;->e:I const/4 v4, 0x3 aput v3, v0, v4 const/4 v3, 0x6 const/4 v4, 0x4 aput v3, v0, v4 sget v4, Le/j/i/a;->i:I const/4 v5, 0x5 aput v4, v0, v5 sget v4, Le/j/i/a;->k:I aput v4, v0, v3 sget v3, Le/j/i/a;->m:I const/4 v4, 0x7 aput v3, v0, v4 array-length v3, v0 if-lez v3, :cond_0 const/4 v3, 0x1 goto :goto_0 :cond_0 const/4 v3, 0x0 :goto_0 invoke-static {v3}, Li/a/b/b/g/e;->a(Z)V aget v1, v0, v1 :goto_1 array-length v3, v0 if-ge v2, v3, :cond_2 aget v3, v0, v2 if-le v3, v1, :cond_1 aget v1, v0, v2 :cond_1 add-int/lit8 v2, v2, 0x1 goto :goto_1 :cond_2 iput v1, p0, Le/j/i/a;->a:I return-void .end method # virtual methods .method public final a([BI)Le/j/i/c; .locals 16 move-object/from16 v0, p1 move/from16 v1, p2 if-eqz v0, :cond_22 const/4 v2, 0x0 invoke-static {v0, v2, v1}, Le/j/d/n/c;->a([BII)Z move-result v3 const/4 v4, 0x1 if-eqz v3, :cond_a invoke-static {v0, v2, v1}, Le/j/d/n/c;->a([BII)Z move-result v3 invoke-static {v3}, Li/a/b/b/g/e;->a(Z)V const/16 v3, 0xc sget-object v5, Le/j/d/n/c;->g:[B invoke-static {v0, v3, v5}, Le/j/d/n/c;->a([BI[B)Z move-result v5 if-eqz v5, :cond_0 sget-object v0, Le/j/i/b;->f:Le/j/i/c; goto :goto_4 :cond_0 sget-object v5, Le/j/d/n/c;->h:[B invoke-static {v0, v3, v5}, Le/j/d/n/c;->a([BI[B)Z move-result v5 if-eqz v5, :cond_1 sget-object v0, Le/j/i/b;->g:Le/j/i/c; goto :goto_4 :cond_1 const/16 v5, 0x15 if-lt v1, v5, :cond_2 sget-object v1, Le/j/d/n/c;->i:[B invoke-static {v0, v3, v1}, Le/j/d/n/c;->a([BI[B)Z move-result v1 if-eqz v1, :cond_2 const/4 v1, 0x1 goto :goto_0 :cond_2 const/4 v1, 0x0 :goto_0 if-eqz v1, :cond_9 sget-object v1, Le/j/d/n/c;->i:[B invoke-static {v0, v3, v1}, Le/j/d/n/c;->a([BI[B)Z move-result v1 const/16 v5, 0x14 aget-byte v6, v0, v5 const/4 v7, 0x2 and-int/2addr v6, v7 if-ne v6, v7, :cond_3 const/4 v6, 0x1 goto :goto_1 :cond_3 const/4 v6, 0x0 :goto_1 if-eqz v1, :cond_4 if-eqz v6, :cond_4 const/4 v1, 0x1 goto :goto_2 :cond_4 const/4 v1, 0x0 :goto_2 if-eqz v1, :cond_5 sget-object v0, Le/j/i/b;->j:Le/j/i/c; goto :goto_4 :cond_5 sget-object v1, Le/j/d/n/c;->i:[B invoke-static {v0, v3, v1}, Le/j/d/n/c;->a([BI[B)Z move-result v1 aget-byte v0, v0, v5 const/16 v3, 0x10 and-int/2addr v0, v3 if-ne v0, v3, :cond_6 const/4 v0, 0x1 goto :goto_3 :cond_6 const/4 v0, 0x0 :goto_3 if-eqz v1, :cond_7 if-eqz v0, :cond_7 const/4 v2, 0x1 :cond_7 if-eqz v2, :cond_8 sget-object v0, Le/j/i/b;->i:Le/j/i/c; goto :goto_4 :cond_8 sget-object v0, Le/j/i/b;->h:Le/j/i/c; goto :goto_4 :cond_9 sget-object v0, Le/j/i/c;->b:Le/j/i/c; :goto_4 return-object v0 :cond_a sget-object v3, Le/j/i/a;->b:[B array-length v5, v3 if-lt v1, v5, :cond_b invoke-static {v0, v3}, Li/a/b/b/g/e;->a([B[B)Z move-result v3 if-eqz v3, :cond_b const/4 v3, 0x1 goto :goto_5 :cond_b const/4 v3, 0x0 :goto_5 if-eqz v3, :cond_c sget-object v0, Le/j/i/b;->a:Le/j/i/c; return-object v0 :cond_c sget-object v3, Le/j/i/a;->d:[B array-length v5, v3 if-lt v1, v5, :cond_d invoke-static {v0, v3}, Li/a/b/b/g/e;->a([B[B)Z move-result v3 if-eqz v3, :cond_d const/4 v3, 0x1 goto :goto_6 :cond_d const/4 v3, 0x0 :goto_6 if-eqz v3, :cond_e sget-object v0, Le/j/i/b;->b:Le/j/i/c; return-object v0 :cond_e const/4 v3, 0x6 if-ge v1, v3, :cond_f goto :goto_7 :cond_f sget-object v3, Le/j/i/a;->f:[B invoke-static {v0, v3}, Li/a/b/b/g/e;->a([B[B)Z move-result v3 if-nez v3, :cond_11 sget-object v3, Le/j/i/a;->g:[B invoke-static {v0, v3}, Li/a/b/b/g/e;->a([B[B)Z move-result v3 if-eqz v3, :cond_10 goto :goto_8 :cond_10 :goto_7 const/4 v3, 0x0 goto :goto_9 :cond_11 :goto_8 const/4 v3, 0x1 :goto_9 if-eqz v3, :cond_12 sget-object v0, Le/j/i/b;->c:Le/j/i/c; return-object v0 :cond_12 sget-object v3, Le/j/i/a;->h:[B array-length v5, v3 if-ge v1, v5, :cond_13 const/4 v3, 0x0 goto :goto_a :cond_13 invoke-static {v0, v3}, Li/a/b/b/g/e;->a([B[B)Z move-result v3 :goto_a if-eqz v3, :cond_14 sget-object v0, Le/j/i/b;->d:Le/j/i/c; return-object v0 :cond_14 sget-object v3, Le/j/i/a;->j:[B array-length v5, v3 if-ge v1, v5, :cond_15 const/4 v3, 0x0 goto :goto_b :cond_15 invoke-static {v0, v3}, Li/a/b/b/g/e;->a([B[B)Z move-result v3 :goto_b if-eqz v3, :cond_16 sget-object v0, Le/j/i/b;->e:Le/j/i/c; return-object v0 :cond_16 sget v3, Le/j/i/a;->m:I if-ge v1, v3, :cond_17 goto/16 :goto_12 :cond_17 const/4 v1, 0x3 aget-byte v1, v0, v1 const/16 v3, 0x8 if-ge v1, v3, :cond_18 goto/16 :goto_12 :cond_18 sget-object v1, Le/j/i/a;->l:[Ljava/lang/String; array-length v3, v1 const/4 v5, 0x0 :goto_c if-ge v5, v3, :cond_20 aget-object v6, v1, v5 array-length v7, v0 new-instance v8, Ljava/lang/StringBuilder; invoke-direct {v8}, Ljava/lang/StringBuilder;->()V const-string v9, "ftyp" invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v6}, Li/a/b/b/g/e;->a(Ljava/lang/String;)[B move-result-object v6 sget v8, Le/j/i/a;->m:I if-eqz v6, :cond_1f const/4 v9, -0x1 if-le v8, v7, :cond_19 goto :goto_10 :cond_19 aget-byte v10, v6, v2 sub-int/2addr v7, v8 const/4 v11, 0x0 :goto_d if-gt v11, v7, :cond_1d aget-byte v12, v0, v11 if-eq v12, v10, :cond_1a :goto_e add-int/2addr v11, v4 if-gt v11, v7, :cond_1a aget-byte v12, v0, v11 if-eq v12, v10, :cond_1a goto :goto_e :cond_1a if-gt v11, v7, :cond_1c add-int/lit8 v12, v11, 0x1 add-int v13, v12, v8 sub-int/2addr v13, v4 const/4 v14, 0x1 :goto_f if-ge v12, v13, :cond_1b aget-byte v15, v0, v12 aget-byte v2, v6, v14 if-ne v15, v2, :cond_1b add-int/lit8 v12, v12, 0x1 add-int/lit8 v14, v14, 0x1 const/4 v2, 0x0 goto :goto_f :cond_1b if-ne v12, v13, :cond_1c goto :goto_11 :cond_1c add-int/lit8 v11, v11, 0x1 const/4 v2, 0x0 goto :goto_d :cond_1d :goto_10 const/4 v11, -0x1 :goto_11 if-le v11, v9, :cond_1e const/4 v2, 0x1 goto :goto_12 :cond_1e add-int/lit8 v5, v5, 0x1 const/4 v2, 0x0 goto :goto_c :cond_1f new-instance v0, Ljava/lang/NullPointerException; invoke-direct {v0}, Ljava/lang/NullPointerException;->()V throw v0 :cond_20 const/4 v2, 0x0 :goto_12 if-eqz v2, :cond_21 sget-object v0, Le/j/i/b;->k:Le/j/i/c; return-object v0 :cond_21 sget-object v0, Le/j/i/c;->b:Le/j/i/c; return-object v0 :cond_22 new-instance v0, Ljava/lang/NullPointerException; invoke-direct {v0}, Ljava/lang/NullPointerException;->()V throw v0 .end method