ClassReader.smali

.class public Lorg/objectweb/asm/ClassReader;
.super Ljava/lang/Object;


# static fields
.field public static final EXPAND_FRAMES:I = 0x8

.field public static final SKIP_CODE:I = 0x1

.field public static final SKIP_DEBUG:I = 0x2

.field public static final SKIP_FRAMES:I = 0x4


# instance fields
.field private final a:[I

.field public final b:[B

.field private final c:[Ljava/lang/String;

.field private final d:I

.field public final header:I


# direct methods
.method public constructor <init>(Ljava/io/InputStream;)V
    .registers 3

    const/4 v0, 0x0

    invoke-static {p1, v0}, Lorg/objectweb/asm/ClassReader;->a(Ljava/io/InputStream;Z)[B

    move-result-object v0

    invoke-direct {p0, v0}, Lorg/objectweb/asm/ClassReader;-><init>([B)V

    return-void
.end method

.method public constructor <init>(Ljava/lang/String;)V
    .registers 5

    new-instance v0, Ljava/lang/StringBuffer;

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

    const/16 v1, 0x2e

    const/16 v2, 0x2f

    invoke-virtual {p1, v1, v2}, Ljava/lang/String;->replace(CC)Ljava/lang/String;

    move-result-object v1

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

    move-result-object v0

    const-string v1, ".class"

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

    move-result-object v0

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

    move-result-object v0

    invoke-static {v0}, Ljava/lang/ClassLoader;->getSystemResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;

    move-result-object v0

    const/4 v1, 0x1

    invoke-static {v0, v1}, Lorg/objectweb/asm/ClassReader;->a(Ljava/io/InputStream;Z)[B

    move-result-object v0

    invoke-direct {p0, v0}, Lorg/objectweb/asm/ClassReader;-><init>([B)V

    return-void
.end method

.method public constructor <init>([B)V
    .registers 4

    const/4 v0, 0x0

    array-length v1, p1

    invoke-direct {p0, p1, v0, v1}, Lorg/objectweb/asm/ClassReader;-><init>([BII)V

    return-void
.end method

.method public constructor <init>([BII)V
    .registers 10

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

    iput-object p1, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v0, p2, 0x6

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readShort(I)S

    move-result v0

    const/16 v1, 0x34

    if-le v0, v1, :cond_15

    new-instance v0, Ljava/lang/IllegalArgumentException;

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

    throw v0

    :cond_15
    add-int/lit8 v0, p2, 0x8

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    new-array v0, v0, [I

    iput-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    array-length v4, v0

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

    iput-object v0, p0, Lorg/objectweb/asm/ClassReader;->c:[Ljava/lang/String;

    const/4 v2, 0x0

    add-int/lit8 v0, p2, 0xa

    const/4 v1, 0x1

    move v3, v0

    :goto_2b
    if-ge v1, v4, :cond_53

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v5, v3, 0x1

    aput v5, v0, v1

    aget-byte v0, p1, v3

    packed-switch v0, :pswitch_data_58

    :pswitch_38
    const/4 v0, 0x3

    :cond_39
    :goto_39
    add-int/2addr v0, v3

    add-int/lit8 v1, v1, 0x1

    move v3, v0

    goto :goto_2b

    :pswitch_3e
    const/4 v0, 0x5

    goto :goto_39

    :pswitch_40
    const/16 v0, 0x9

    add-int/lit8 v1, v1, 0x1

    goto :goto_39

    :pswitch_45
    add-int/lit8 v0, v3, 0x1

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    add-int/lit8 v0, v0, 0x3

    if-le v0, v2, :cond_39

    move v2, v0

    goto :goto_39

    :pswitch_51
    const/4 v0, 0x4

    goto :goto_39

    :cond_53
    iput v2, p0, Lorg/objectweb/asm/ClassReader;->d:I

    iput v3, p0, Lorg/objectweb/asm/ClassReader;->header:I

    return-void

    :pswitch_data_58
    .packed-switch 0x1
        :pswitch_45
        :pswitch_38
        :pswitch_3e
        :pswitch_3e
        :pswitch_40
        :pswitch_40
        :pswitch_38
        :pswitch_38
        :pswitch_3e
        :pswitch_3e
        :pswitch_3e
        :pswitch_3e
        :pswitch_38
        :pswitch_38
        :pswitch_51
        :pswitch_38
        :pswitch_38
        :pswitch_3e
    .end packed-switch
.end method

.method private a()I
    .registers 5

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->header:I

    add-int/lit8 v0, v0, 0x8

    iget v1, p0, Lorg/objectweb/asm/ClassReader;->header:I

    add-int/lit8 v1, v1, 0x6

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    shl-int/lit8 v1, v1, 0x1

    add-int/2addr v1, v0

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    move v2, v0

    :goto_14
    if-lez v2, :cond_30

    add-int/lit8 v0, v1, 0x8

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    :goto_1c
    if-lez v0, :cond_2a

    add-int/lit8 v3, v1, 0xc

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v3

    add-int/lit8 v3, v3, 0x6

    add-int/2addr v1, v3

    add-int/lit8 v0, v0, -0x1

    goto :goto_1c

    :cond_2a
    add-int/lit8 v1, v1, 0x8

    add-int/lit8 v0, v2, -0x1

    move v2, v0

    goto :goto_14

    :cond_30
    add-int/lit8 v1, v1, 0x2

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    move v2, v0

    :goto_37
    if-lez v2, :cond_53

    add-int/lit8 v0, v1, 0x8

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    :goto_3f
    if-lez v0, :cond_4d

    add-int/lit8 v3, v1, 0xc

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v3

    add-int/lit8 v3, v3, 0x6

    add-int/2addr v1, v3

    add-int/lit8 v0, v0, -0x1

    goto :goto_3f

    :cond_4d
    add-int/lit8 v1, v1, 0x8

    add-int/lit8 v0, v2, -0x1

    move v2, v0

    goto :goto_37

    :cond_53
    add-int/lit8 v0, v1, 0x2

    return v0
.end method

.method private a(IZZLorg/objectweb/asm/Context;)I
    .registers 15

    iget-object v4, p4, Lorg/objectweb/asm/Context;->c:[C

    iget-object v5, p4, Lorg/objectweb/asm/Context;->h:[Lorg/objectweb/asm/Label;

    if-eqz p2, :cond_29

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v3, p1, 0x1

    aget-byte v0, v0, p1

    and-int/lit16 v0, v0, 0xff

    move v6, v0

    :goto_f
    const/4 v0, 0x0

    iput v0, p4, Lorg/objectweb/asm/Context;->r:I

    const/16 v0, 0x40

    if-ge v6, v0, :cond_31

    const/4 v0, 0x3

    iput v0, p4, Lorg/objectweb/asm/Context;->p:I

    const/4 v0, 0x0

    iput v0, p4, Lorg/objectweb/asm/Context;->t:I

    :goto_1c
    iget v0, p4, Lorg/objectweb/asm/Context;->o:I

    add-int/lit8 v1, v6, 0x1

    add-int/2addr v0, v1

    iput v0, p4, Lorg/objectweb/asm/Context;->o:I

    iget v0, p4, Lorg/objectweb/asm/Context;->o:I

    invoke-virtual {p0, v0, v5}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    return v3

    :cond_29
    const/16 v0, 0xff

    const/4 v1, -0x1

    iput v1, p4, Lorg/objectweb/asm/Context;->o:I

    move v6, v0

    move v3, p1

    goto :goto_f

    :cond_31
    const/16 v0, 0x80

    if-ge v6, v0, :cond_46

    add-int/lit8 v6, v6, -0x40

    iget-object v1, p4, Lorg/objectweb/asm/Context;->u:[Ljava/lang/Object;

    const/4 v2, 0x0

    move-object v0, p0

    invoke-direct/range {v0 .. v5}, Lorg/objectweb/asm/ClassReader;->a([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I

    move-result v3

    const/4 v0, 0x4

    iput v0, p4, Lorg/objectweb/asm/Context;->p:I

    const/4 v0, 0x1

    iput v0, p4, Lorg/objectweb/asm/Context;->t:I

    goto :goto_1c

    :cond_46
    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v7

    add-int/lit8 v3, v3, 0x2

    const/16 v0, 0xf7

    if-ne v6, v0, :cond_60

    iget-object v1, p4, Lorg/objectweb/asm/Context;->u:[Ljava/lang/Object;

    const/4 v2, 0x0

    move-object v0, p0

    invoke-direct/range {v0 .. v5}, Lorg/objectweb/asm/ClassReader;->a([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I

    move-result v3

    const/4 v0, 0x4

    iput v0, p4, Lorg/objectweb/asm/Context;->p:I

    const/4 v0, 0x1

    iput v0, p4, Lorg/objectweb/asm/Context;->t:I

    move v6, v7

    goto :goto_1c

    :cond_60
    const/16 v0, 0xf8

    if-lt v6, v0, :cond_7b

    const/16 v0, 0xfb

    if-ge v6, v0, :cond_7b

    const/4 v0, 0x2

    iput v0, p4, Lorg/objectweb/asm/Context;->p:I

    rsub-int v0, v6, 0xfb

    iput v0, p4, Lorg/objectweb/asm/Context;->r:I

    iget v0, p4, Lorg/objectweb/asm/Context;->q:I

    iget v1, p4, Lorg/objectweb/asm/Context;->r:I

    sub-int/2addr v0, v1

    iput v0, p4, Lorg/objectweb/asm/Context;->q:I

    const/4 v0, 0x0

    iput v0, p4, Lorg/objectweb/asm/Context;->t:I

    move v6, v7

    goto :goto_1c

    :cond_7b
    const/16 v0, 0xfb

    if-ne v6, v0, :cond_87

    const/4 v0, 0x3

    iput v0, p4, Lorg/objectweb/asm/Context;->p:I

    const/4 v0, 0x0

    iput v0, p4, Lorg/objectweb/asm/Context;->t:I

    move v6, v7

    goto :goto_1c

    :cond_87
    const/16 v0, 0xff

    if-ge v6, v0, :cond_b9

    if-eqz p3, :cond_a3

    iget v0, p4, Lorg/objectweb/asm/Context;->q:I

    :goto_8f
    add-int/lit16 v1, v6, -0xfb

    move v8, v1

    move v2, v0

    :goto_93
    if-lez v8, :cond_a5

    iget-object v1, p4, Lorg/objectweb/asm/Context;->s:[Ljava/lang/Object;

    add-int/lit8 v9, v2, 0x1

    move-object v0, p0

    invoke-direct/range {v0 .. v5}, Lorg/objectweb/asm/ClassReader;->a([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I

    move-result v3

    add-int/lit8 v0, v8, -0x1

    move v8, v0

    move v2, v9

    goto :goto_93

    :cond_a3
    const/4 v0, 0x0

    goto :goto_8f

    :cond_a5
    const/4 v0, 0x1

    iput v0, p4, Lorg/objectweb/asm/Context;->p:I

    add-int/lit16 v0, v6, -0xfb

    iput v0, p4, Lorg/objectweb/asm/Context;->r:I

    iget v0, p4, Lorg/objectweb/asm/Context;->q:I

    iget v1, p4, Lorg/objectweb/asm/Context;->r:I

    add-int/2addr v0, v1

    iput v0, p4, Lorg/objectweb/asm/Context;->q:I

    const/4 v0, 0x0

    iput v0, p4, Lorg/objectweb/asm/Context;->t:I

    move v6, v7

    goto/16 :goto_1c

    :cond_b9
    const/4 v0, 0x0

    iput v0, p4, Lorg/objectweb/asm/Context;->p:I

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    add-int/lit8 v3, v3, 0x2

    iput v0, p4, Lorg/objectweb/asm/Context;->r:I

    iput v0, p4, Lorg/objectweb/asm/Context;->q:I

    const/4 v2, 0x0

    move v8, v0

    :goto_c8
    if-lez v8, :cond_d8

    iget-object v1, p4, Lorg/objectweb/asm/Context;->s:[Ljava/lang/Object;

    add-int/lit8 v6, v2, 0x1

    move-object v0, p0

    invoke-direct/range {v0 .. v5}, Lorg/objectweb/asm/ClassReader;->a([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I

    move-result v3

    add-int/lit8 v0, v8, -0x1

    move v2, v6

    move v8, v0

    goto :goto_c8

    :cond_d8
    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    add-int/lit8 v3, v3, 0x2

    iput v0, p4, Lorg/objectweb/asm/Context;->t:I

    const/4 v2, 0x0

    move v8, v0

    :goto_e2
    if-lez v8, :cond_f2

    iget-object v1, p4, Lorg/objectweb/asm/Context;->u:[Ljava/lang/Object;

    add-int/lit8 v6, v2, 0x1

    move-object v0, p0

    invoke-direct/range {v0 .. v5}, Lorg/objectweb/asm/ClassReader;->a([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I

    move-result v3

    add-int/lit8 v0, v8, -0x1

    move v2, v6

    move v8, v0

    goto :goto_e2

    :cond_f2
    move v6, v7

    goto/16 :goto_1c
.end method

.method private a(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I
    .registers 13

    const/4 v3, 0x0

    const/4 v1, 0x1

    const/4 v2, 0x0

    if-nez p4, :cond_22

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    aget-byte v0, v0, p1

    and-int/lit16 v0, v0, 0xff

    sparse-switch v0, :sswitch_data_208

    add-int/lit8 v0, p1, 0x3

    :goto_10
    return v0

    :sswitch_11
    add-int/lit8 v0, p1, 0x5

    goto :goto_10

    :sswitch_14
    add-int/lit8 v0, p1, 0x3

    invoke-direct {p0, v0, p2, v1, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v0

    goto :goto_10

    :sswitch_1b
    add-int/lit8 v0, p1, 0x1

    invoke-direct {p0, v0, p2, v2, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v0

    goto :goto_10

    :cond_22
    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v3, p1, 0x1

    aget-byte v0, v0, p1

    and-int/lit16 v0, v0, 0xff

    sparse-switch v0, :sswitch_data_216

    move v0, v3

    goto :goto_10

    :sswitch_2f
    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v0

    invoke-virtual {p4, p3, v0}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v3, 0x2

    goto :goto_10

    :sswitch_3d
    new-instance v0, Ljava/lang/Byte;

    iget-object v1, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v2

    aget v1, v1, v2

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v1

    int-to-byte v1, v1

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

    invoke-virtual {p4, p3, v0}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v3, 0x2

    goto :goto_10

    :sswitch_55
    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    aget v0, v0, v1

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v0

    if-nez v0, :cond_6b

    sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;

    :goto_65
    invoke-virtual {p4, p3, v0}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v3, 0x2

    goto :goto_10

    :cond_6b
    sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;

    goto :goto_65

    :sswitch_6e
    new-instance v0, Ljava/lang/Short;

    iget-object v1, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v2

    aget v1, v1, v2

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v1

    int-to-short v1, v1

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

    invoke-virtual {p4, p3, v0}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v3, 0x2

    goto :goto_10

    :sswitch_86
    new-instance v0, Ljava/lang/Character;

    iget-object v1, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v2

    aget v1, v1, v2

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v1

    int-to-char v1, v1

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

    invoke-virtual {p4, p3, v0}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v3, 0x2

    goto/16 :goto_10

    :sswitch_9f
    invoke-virtual {p0, v3, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p4, p3, v0}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v3, 0x2

    goto/16 :goto_10

    :sswitch_aa
    invoke-virtual {p0, v3, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    add-int/lit8 v1, v3, 0x2

    invoke-virtual {p0, v1, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p4, p3, v0, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visitEnum(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    add-int/lit8 v0, v3, 0x4

    goto/16 :goto_10

    :sswitch_bb
    invoke-virtual {p0, v3, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;

    move-result-object v0

    invoke-virtual {p4, p3, v0}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v3, 0x2

    goto/16 :goto_10

    :sswitch_ca
    add-int/lit8 v0, v3, 0x2

    invoke-virtual {p0, v3, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p4, p3, v2}, Lorg/objectweb/asm/AnnotationVisitor;->visitAnnotation(Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v2

    invoke-direct {p0, v0, p2, v1, v2}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v0

    goto/16 :goto_10

    :sswitch_da
    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v3, v3, 0x2

    if-nez v5, :cond_ee

    add-int/lit8 v0, v3, -0x2

    invoke-virtual {p4, p3}, Lorg/objectweb/asm/AnnotationVisitor;->visitArray(Ljava/lang/String;)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v1

    invoke-direct {p0, v0, p2, v2, v1}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v0

    goto/16 :goto_10

    :cond_ee
    iget-object v4, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v0, v3, 0x1

    aget-byte v3, v4, v3

    and-int/lit16 v3, v3, 0xff

    sparse-switch v3, :sswitch_data_24c

    add-int/lit8 v0, v0, -0x3

    invoke-virtual {p4, p3}, Lorg/objectweb/asm/AnnotationVisitor;->visitArray(Ljava/lang/String;)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v1

    invoke-direct {p0, v0, p2, v2, v1}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v0

    goto/16 :goto_10

    :sswitch_105
    new-array v1, v5, [B

    :goto_107
    if-ge v2, v5, :cond_11d

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v3, v3, v4

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v3

    int-to-byte v3, v3

    aput-byte v3, v1, v2

    add-int/lit8 v0, v0, 0x3

    add-int/lit8 v2, v2, 0x1

    goto :goto_107

    :cond_11d
    invoke-virtual {p4, p3, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v0, -0x1

    goto/16 :goto_10

    :sswitch_124
    new-array v6, v5, [Z

    move v3, v2

    move v4, v0

    :goto_128
    if-ge v3, v5, :cond_143

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v7

    aget v0, v0, v7

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v0

    if-eqz v0, :cond_141

    move v0, v1

    :goto_139
    aput-boolean v0, v6, v3

    add-int/lit8 v4, v4, 0x3

    add-int/lit8 v0, v3, 0x1

    move v3, v0

    goto :goto_128

    :cond_141
    move v0, v2

    goto :goto_139

    :cond_143
    invoke-virtual {p4, p3, v6}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v4, -0x1

    goto/16 :goto_10

    :sswitch_14a
    new-array v1, v5, [S

    :goto_14c
    if-ge v2, v5, :cond_162

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v3, v3, v4

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v3

    int-to-short v3, v3

    aput-short v3, v1, v2

    add-int/lit8 v0, v0, 0x3

    add-int/lit8 v2, v2, 0x1

    goto :goto_14c

    :cond_162
    invoke-virtual {p4, p3, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v0, -0x1

    goto/16 :goto_10

    :sswitch_169
    new-array v1, v5, [C

    :goto_16b
    if-ge v2, v5, :cond_181

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v3, v3, v4

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v3

    int-to-char v3, v3

    aput-char v3, v1, v2

    add-int/lit8 v0, v0, 0x3

    add-int/lit8 v2, v2, 0x1

    goto :goto_16b

    :cond_181
    invoke-virtual {p4, p3, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v0, -0x1

    goto/16 :goto_10

    :sswitch_188
    new-array v1, v5, [I

    :goto_18a
    if-ge v2, v5, :cond_19f

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v3, v3, v4

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v3

    aput v3, v1, v2

    add-int/lit8 v0, v0, 0x3

    add-int/lit8 v2, v2, 0x1

    goto :goto_18a

    :cond_19f
    invoke-virtual {p4, p3, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v0, -0x1

    goto/16 :goto_10

    :sswitch_1a6
    new-array v1, v5, [J

    :goto_1a8
    if-ge v2, v5, :cond_1bd

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v3, v3, v4

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readLong(I)J

    move-result-wide v6

    aput-wide v6, v1, v2

    add-int/lit8 v0, v0, 0x3

    add-int/lit8 v2, v2, 0x1

    goto :goto_1a8

    :cond_1bd
    invoke-virtual {p4, p3, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v0, -0x1

    goto/16 :goto_10

    :sswitch_1c4
    new-array v1, v5, [F

    :goto_1c6
    if-ge v2, v5, :cond_1df

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v3, v3, v4

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v3

    invoke-static {v3}, Ljava/lang/Float;->intBitsToFloat(I)F

    move-result v3

    aput v3, v1, v2

    add-int/lit8 v0, v0, 0x3

    add-int/lit8 v2, v2, 0x1

    goto :goto_1c6

    :cond_1df
    invoke-virtual {p4, p3, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v0, -0x1

    goto/16 :goto_10

    :sswitch_1e6
    new-array v1, v5, [D

    :goto_1e8
    if-ge v2, v5, :cond_201

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v3, v3, v4

    invoke-virtual {p0, v3}, Lorg/objectweb/asm/ClassReader;->readLong(I)J

    move-result-wide v6

    invoke-static {v6, v7}, Ljava/lang/Double;->longBitsToDouble(J)D

    move-result-wide v6

    aput-wide v6, v1, v2

    add-int/lit8 v0, v0, 0x3

    add-int/lit8 v2, v2, 0x1

    goto :goto_1e8

    :cond_201
    invoke-virtual {p4, p3, v1}, Lorg/objectweb/asm/AnnotationVisitor;->visit(Ljava/lang/String;Ljava/lang/Object;)V

    add-int/lit8 v0, v0, -0x1

    goto/16 :goto_10

    :sswitch_data_208
    .sparse-switch
        0x40 -> :sswitch_14
        0x5b -> :sswitch_1b
        0x65 -> :sswitch_11
    .end sparse-switch

    :sswitch_data_216
    .sparse-switch
        0x40 -> :sswitch_ca
        0x42 -> :sswitch_3d
        0x43 -> :sswitch_86
        0x44 -> :sswitch_2f
        0x46 -> :sswitch_2f
        0x49 -> :sswitch_2f
        0x4a -> :sswitch_2f
        0x53 -> :sswitch_6e
        0x5a -> :sswitch_55
        0x5b -> :sswitch_da
        0x63 -> :sswitch_bb
        0x65 -> :sswitch_aa
        0x73 -> :sswitch_9f
    .end sparse-switch

    :sswitch_data_24c
    .sparse-switch
        0x42 -> :sswitch_105
        0x43 -> :sswitch_169
        0x44 -> :sswitch_1e6
        0x46 -> :sswitch_1c4
        0x49 -> :sswitch_188
        0x4a -> :sswitch_1a6
        0x53 -> :sswitch_14a
        0x5a -> :sswitch_124
    .end sparse-switch
.end method

.method private a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I
    .registers 9

    invoke-virtual {p0, p1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    add-int/lit8 v1, p1, 0x2

    if-eqz p3, :cond_2e

    move v3, v0

    move v0, v1

    move v1, v3

    :goto_b
    if-lez v1, :cond_28

    add-int/lit8 v2, v0, 0x2

    invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v2, p2, v0, p4}, Lorg/objectweb/asm/ClassReader;->a(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I

    move-result v2

    add-int/lit8 v0, v1, -0x1

    move v1, v0

    move v0, v2

    goto :goto_b

    :goto_1c
    if-lez v1, :cond_28

    const/4 v2, 0x0

    invoke-direct {p0, v0, p2, v2, p4}, Lorg/objectweb/asm/ClassReader;->a(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I

    move-result v2

    add-int/lit8 v0, v1, -0x1

    move v1, v0

    move v0, v2

    goto :goto_1c

    :cond_28
    if-eqz p4, :cond_2d

    invoke-virtual {p4}, Lorg/objectweb/asm/AnnotationVisitor;->visitEnd()V

    :cond_2d
    return v0

    :cond_2e
    move v3, v0

    move v0, v1

    move v1, v3

    goto :goto_1c
.end method

.method private a(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I
    .registers 26

    move-object/from16 v0, p2

    iget-object v7, v0, Lorg/objectweb/asm/Context;->c:[C

    move-object/from16 v0, p0

    move/from16 v1, p3

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v19

    add-int/lit8 v2, p3, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v2, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v10

    add-int/lit8 v2, p3, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v2, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v11

    add-int/lit8 v3, p3, 0x6

    const/4 v12, 0x0

    const/16 v18, 0x0

    const/16 v17, 0x0

    const/16 v16, 0x0

    const/4 v15, 0x0

    const/4 v13, 0x0

    const/4 v14, 0x0

    move-object/from16 v0, p0

    invoke-virtual {v0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v2

    move/from16 v20, v2

    move/from16 v21, v3

    :goto_32
    if-lez v20, :cond_13e

    add-int/lit8 v2, v21, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v2, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    const-string v2, "ConstantValue"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_7d

    add-int/lit8 v2, v21, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v2}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v2

    if-nez v2, :cond_76

    const/4 v13, 0x0

    :goto_4f
    move-object v2, v14

    move v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v8, v19

    :goto_59
    add-int/lit8 v9, v21, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v9

    add-int/lit8 v9, v9, 0x6

    add-int v14, v21, v9

    add-int/lit8 v9, v20, -0x1

    move/from16 v20, v9

    move v15, v3

    move/from16 v16, v4

    move/from16 v17, v5

    move/from16 v18, v6

    move/from16 v19, v8

    move/from16 v21, v14

    move-object v14, v2

    goto :goto_32

    :cond_76
    move-object/from16 v0, p0

    invoke-virtual {v0, v2, v7}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v13

    goto :goto_4f

    :cond_7d
    const-string v2, "Signature"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_98

    add-int/lit8 v2, v21, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v2, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v12

    move-object v2, v14

    move v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v8, v19

    goto :goto_59

    :cond_98
    const-string v2, "Deprecated"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_ae

    const/high16 v2, 0x20000

    or-int v2, v2, v19

    move v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move v8, v2

    move-object v2, v14

    goto :goto_59

    :cond_ae
    const-string v2, "Synthetic"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_c5

    const v2, 0x41000

    or-int v2, v2, v19

    move v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move v8, v2

    move-object v2, v14

    goto :goto_59

    :cond_c5
    const-string v2, "RuntimeVisibleAnnotations"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_d9

    add-int/lit8 v2, v21, 0x8

    move v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move v6, v2

    move/from16 v8, v19

    move-object v2, v14

    goto :goto_59

    :cond_d9
    const-string v2, "RuntimeVisibleTypeAnnotations"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_ee

    add-int/lit8 v2, v21, 0x8

    move v3, v15

    move v4, v2

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v8, v19

    move-object v2, v14

    goto/16 :goto_59

    :cond_ee
    const-string v2, "RuntimeInvisibleAnnotations"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_103

    add-int/lit8 v2, v21, 0x8

    move v3, v15

    move/from16 v4, v16

    move v5, v2

    move/from16 v6, v18

    move/from16 v8, v19

    move-object v2, v14

    goto/16 :goto_59

    :cond_103
    const-string v2, "RuntimeInvisibleTypeAnnotations"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_119

    add-int/lit8 v2, v21, 0x8

    move v3, v2

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v8, v19

    move-object v2, v14

    goto/16 :goto_59

    :cond_119
    move-object/from16 v0, p2

    iget-object v3, v0, Lorg/objectweb/asm/Context;->a:[Lorg/objectweb/asm/Attribute;

    add-int/lit8 v5, v21, 0x8

    add-int/lit8 v2, v21, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v2}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v6

    const/4 v8, -0x1

    const/4 v9, 0x0

    move-object/from16 v2, p0

    invoke-direct/range {v2 .. v9}, Lorg/objectweb/asm/ClassReader;->a([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;

    move-result-object v2

    if-eqz v2, :cond_20e

    iput-object v14, v2, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    move v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v8, v19

    goto/16 :goto_59

    :cond_13e
    add-int/lit8 v2, v21, 0x2

    move-object/from16 v8, p1

    move/from16 v9, v19

    invoke-virtual/range {v8 .. v13}, Lorg/objectweb/asm/ClassVisitor;->visitField(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;

    move-result-object v5

    if-nez v5, :cond_14b

    :goto_14a
    return v2

    :cond_14b
    if-eqz v18, :cond_170

    move-object/from16 v0, p0

    move/from16 v1, v18

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    add-int/lit8 v3, v18, 0x2

    :goto_157
    if-lez v4, :cond_170

    add-int/lit8 v6, v3, 0x2

    const/4 v8, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v9, 0x1

    invoke-virtual {v5, v3, v9}, Lorg/objectweb/asm/FieldVisitor;->visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v7, v8, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v4, v4, -0x1

    goto :goto_157

    :cond_170
    if-eqz v17, :cond_195

    move-object/from16 v0, p0

    move/from16 v1, v17

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    add-int/lit8 v3, v17, 0x2

    :goto_17c
    if-lez v4, :cond_195

    add-int/lit8 v6, v3, 0x2

    const/4 v8, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v9, 0x0

    invoke-virtual {v5, v3, v9}, Lorg/objectweb/asm/FieldVisitor;->visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v7, v8, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v4, v4, -0x1

    goto :goto_17c

    :cond_195
    if-eqz v16, :cond_1ca

    move-object/from16 v0, p0

    move/from16 v1, v16

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    add-int/lit8 v3, v16, 0x2

    :goto_1a1
    if-lez v4, :cond_1ca

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v3}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v3

    add-int/lit8 v6, v3, 0x2

    const/4 v8, 0x1

    move-object/from16 v0, p2

    iget v9, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v10, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v11, 0x1

    invoke-virtual {v5, v9, v10, v3, v11}, Lorg/objectweb/asm/FieldVisitor;->visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v7, v8, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v4, v4, -0x1

    goto :goto_1a1

    :cond_1ca
    if-eqz v15, :cond_1fd

    move-object/from16 v0, p0

    invoke-virtual {v0, v15}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    add-int/lit8 v3, v15, 0x2

    :goto_1d4
    if-lez v4, :cond_1fd

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v3}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v3

    add-int/lit8 v6, v3, 0x2

    const/4 v8, 0x1

    move-object/from16 v0, p2

    iget v9, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v10, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v7}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v11, 0x0

    invoke-virtual {v5, v9, v10, v3, v11}, Lorg/objectweb/asm/FieldVisitor;->visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v7, v8, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v4, v4, -0x1

    goto :goto_1d4

    :cond_1fd
    :goto_1fd
    if-eqz v14, :cond_209

    iget-object v3, v14, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    const/4 v4, 0x0

    iput-object v4, v14, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    invoke-virtual {v5, v14}, Lorg/objectweb/asm/FieldVisitor;->visitAttribute(Lorg/objectweb/asm/Attribute;)V

    move-object v14, v3

    goto :goto_1fd

    :cond_209
    invoke-virtual {v5}, Lorg/objectweb/asm/FieldVisitor;->visitEnd()V

    goto/16 :goto_14a

    :cond_20e
    move-object v2, v14

    move v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v8, v19

    goto/16 :goto_59
.end method

.method private a(Lorg/objectweb/asm/Context;I)I
    .registers 12

    const/high16 v0, -0x1000000

    invoke-virtual {p0, p2}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v1

    ushr-int/lit8 v2, v1, 0x18

    sparse-switch v2, :sswitch_data_8c

    ushr-int/lit8 v2, v1, 0x18

    const/16 v3, 0x43

    if-ge v2, v3, :cond_13

    const/16 v0, -0x100

    :cond_13
    and-int/2addr v0, v1

    add-int/lit8 v1, p2, 0x3

    :cond_16
    :goto_16
    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v2

    iput v0, p1, Lorg/objectweb/asm/Context;->i:I

    if-nez v2, :cond_83

    const/4 v0, 0x0

    :goto_1f
    iput-object v0, p1, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    add-int/lit8 v0, v1, 0x1

    mul-int/lit8 v1, v2, 0x2

    add-int/2addr v0, v1

    return v0

    :sswitch_27
    const/high16 v0, -0x10000

    and-int/2addr v0, v1

    add-int/lit8 v1, p2, 0x2

    goto :goto_16

    :sswitch_2d
    and-int/2addr v0, v1

    add-int/lit8 v1, p2, 0x1

    goto :goto_16

    :sswitch_31
    and-int/2addr v0, v1

    add-int/lit8 v1, p2, 0x1

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    new-array v1, v4, [Lorg/objectweb/asm/Label;

    iput-object v1, p1, Lorg/objectweb/asm/Context;->l:[Lorg/objectweb/asm/Label;

    new-array v1, v4, [Lorg/objectweb/asm/Label;

    iput-object v1, p1, Lorg/objectweb/asm/Context;->m:[Lorg/objectweb/asm/Label;

    new-array v1, v4, [I

    iput-object v1, p1, Lorg/objectweb/asm/Context;->n:[I

    add-int/lit8 v2, p2, 0x3

    const/4 v1, 0x0

    move v8, v1

    move v1, v2

    move v2, v8

    :goto_4a
    if-ge v2, v4, :cond_16

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v3

    add-int/lit8 v5, v1, 0x2

    invoke-virtual {p0, v5}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    iget-object v6, p1, Lorg/objectweb/asm/Context;->l:[Lorg/objectweb/asm/Label;

    iget-object v7, p1, Lorg/objectweb/asm/Context;->h:[Lorg/objectweb/asm/Label;

    invoke-virtual {p0, v3, v7}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v7

    aput-object v7, v6, v2

    iget-object v6, p1, Lorg/objectweb/asm/Context;->m:[Lorg/objectweb/asm/Label;

    add-int/2addr v3, v5

    iget-object v5, p1, Lorg/objectweb/asm/Context;->h:[Lorg/objectweb/asm/Label;

    invoke-virtual {p0, v3, v5}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v3

    aput-object v3, v6, v2

    iget-object v3, p1, Lorg/objectweb/asm/Context;->n:[I

    add-int/lit8 v5, v1, 0x4

    invoke-virtual {p0, v5}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    aput v5, v3, v2

    add-int/lit8 v3, v1, 0x6

    add-int/lit8 v1, v2, 0x1

    move v2, v1

    move v1, v3

    goto :goto_4a

    :sswitch_7c
    const v0, -0xffff01

    and-int/2addr v0, v1

    add-int/lit8 v1, p2, 0x4

    goto :goto_16

    :cond_83
    new-instance v0, Lorg/objectweb/asm/TypePath;

    iget-object v3, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    invoke-direct {v0, v3, v1}, Lorg/objectweb/asm/TypePath;-><init>([BI)V

    goto :goto_1f

    nop

    :sswitch_data_8c
    .sparse-switch
        0x0 -> :sswitch_27
        0x1 -> :sswitch_27
        0x13 -> :sswitch_2d
        0x14 -> :sswitch_2d
        0x15 -> :sswitch_2d
        0x16 -> :sswitch_27
        0x40 -> :sswitch_31
        0x41 -> :sswitch_31
        0x47 -> :sswitch_7c
        0x48 -> :sswitch_7c
        0x49 -> :sswitch_7c
        0x4a -> :sswitch_7c
        0x4b -> :sswitch_7c
    .end sparse-switch
.end method

.method private a([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I
    .registers 8

    iget-object v1, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v0, p3, 0x1

    aget-byte v1, v1, p3

    and-int/lit16 v1, v1, 0xff

    packed-switch v1, :pswitch_data_44

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    invoke-virtual {p0, v1, p5}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v1

    aput-object v1, p1, p2

    add-int/lit8 v0, v0, 0x2

    :goto_17
    return v0

    :pswitch_18
    sget-object v1, Lorg/objectweb/asm/Opcodes;->TOP:Ljava/lang/Integer;

    aput-object v1, p1, p2

    goto :goto_17

    :pswitch_1d
    sget-object v1, Lorg/objectweb/asm/Opcodes;->INTEGER:Ljava/lang/Integer;

    aput-object v1, p1, p2

    goto :goto_17

    :pswitch_22
    sget-object v1, Lorg/objectweb/asm/Opcodes;->FLOAT:Ljava/lang/Integer;

    aput-object v1, p1, p2

    goto :goto_17

    :pswitch_27
    sget-object v1, Lorg/objectweb/asm/Opcodes;->DOUBLE:Ljava/lang/Integer;

    aput-object v1, p1, p2

    goto :goto_17

    :pswitch_2c
    sget-object v1, Lorg/objectweb/asm/Opcodes;->LONG:Ljava/lang/Integer;

    aput-object v1, p1, p2

    goto :goto_17

    :pswitch_31
    sget-object v1, Lorg/objectweb/asm/Opcodes;->NULL:Ljava/lang/Integer;

    aput-object v1, p1, p2

    goto :goto_17

    :pswitch_36
    sget-object v1, Lorg/objectweb/asm/Opcodes;->UNINITIALIZED_THIS:Ljava/lang/Integer;

    aput-object v1, p1, p2

    goto :goto_17

    :pswitch_3b
    invoke-virtual {p0, v0, p4}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v1

    aput-object v1, p1, p2

    add-int/lit8 v0, v0, 0x2

    goto :goto_17

    :pswitch_data_44
    .packed-switch 0x0
        :pswitch_18
        :pswitch_1d
        :pswitch_22
        :pswitch_27
        :pswitch_2c
        :pswitch_31
        :pswitch_36
        :pswitch_3b
    .end packed-switch
.end method

.method private a(II[C)Ljava/lang/String;
    .registers 14

    const/4 v2, 0x1

    const/4 v3, 0x0

    add-int v7, p1, p2

    iget-object v8, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    move v0, v3

    move v1, v3

    move v4, v3

    :goto_9
    if-ge p1, v7, :cond_4c

    add-int/lit8 v6, p1, 0x1

    aget-byte v5, v8, p1

    packed-switch v1, :pswitch_data_52

    :goto_12
    move p1, v6

    goto :goto_9

    :pswitch_14
    and-int/lit16 v9, v5, 0xff

    const/16 v5, 0x80

    if-ge v9, v5, :cond_22

    add-int/lit8 v5, v4, 0x1

    int-to-char v9, v9

    aput-char v9, p3, v4

    move v4, v5

    move p1, v6

    goto :goto_9

    :cond_22
    const/16 v0, 0xe0

    if-ge v9, v0, :cond_30

    const/16 v0, 0xbf

    if-le v9, v0, :cond_30

    and-int/lit8 v0, v9, 0x1f

    int-to-char v0, v0

    move v1, v2

    move p1, v6

    goto :goto_9

    :cond_30
    and-int/lit8 v0, v9, 0xf

    int-to-char v0, v0

    const/4 v1, 0x2

    move p1, v6

    goto :goto_9

    :pswitch_36
    add-int/lit8 v1, v4, 0x1

    shl-int/lit8 v9, v0, 0x6

    and-int/lit8 v5, v5, 0x3f

    or-int/2addr v5, v9

    int-to-char v5, v5

    aput-char v5, p3, v4

    move v4, v1

    move p1, v6

    move v1, v3

    goto :goto_9

    :pswitch_44
    shl-int/lit8 v0, v0, 0x6

    and-int/lit8 v1, v5, 0x3f

    or-int/2addr v0, v1

    int-to-char v0, v0

    move v1, v2

    goto :goto_12

    :cond_4c
    new-instance v0, Ljava/lang/String;

    invoke-direct {v0, p3, v3, v4}, Ljava/lang/String;-><init>([CII)V

    return-object v0

    :pswitch_data_52
    .packed-switch 0x0
        :pswitch_14
        :pswitch_36
        :pswitch_44
    .end packed-switch
.end method

.method private a([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;
    .registers 15

    const/4 v4, 0x0

    const/4 v0, 0x0

    :goto_2
    array-length v1, p1

    if-ge v0, v1, :cond_1f

    aget-object v1, p1, v0

    iget-object v1, v1, Lorg/objectweb/asm/Attribute;->type:Ljava/lang/String;

    invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_1c

    aget-object v0, p1, v0

    move-object v1, p0

    move v2, p3

    move v3, p4

    move-object v4, p5

    move v5, p6

    move-object v6, p7

    invoke-virtual/range {v0 .. v6}, Lorg/objectweb/asm/Attribute;->read(Lorg/objectweb/asm/ClassReader;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;

    move-result-object v0

    :goto_1b
    return-object v0

    :cond_1c
    add-int/lit8 v0, v0, 0x1

    goto :goto_2

    :cond_1f
    new-instance v0, Lorg/objectweb/asm/Attribute;

    invoke-direct {v0, p2}, Lorg/objectweb/asm/Attribute;-><init>(Ljava/lang/String;)V

    const/4 v5, -0x1

    move-object v1, p0

    move v2, p3

    move v3, p4

    move-object v6, v4

    invoke-virtual/range {v0 .. v6}, Lorg/objectweb/asm/Attribute;->read(Lorg/objectweb/asm/ClassReader;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;

    move-result-object v0

    goto :goto_1b
.end method

.method private a(Lorg/objectweb/asm/ClassWriter;[Lorg/objectweb/asm/Item;[C)V
    .registers 12

    const/4 v0, 0x0

    invoke-direct {p0}, Lorg/objectweb/asm/ClassReader;->a()I

    move-result v2

    invoke-virtual {p0, v2}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    move v4, v2

    :goto_a
    if-lez v1, :cond_99

    add-int/lit8 v2, v4, 0x2

    invoke-virtual {p0, v2, p3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v2

    const-string v3, "BootstrapMethods"

    invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_1e

    const/4 v1, 0x1

    :goto_1b
    if-nez v1, :cond_2b

    :goto_1d
    return-void

    :cond_1e
    add-int/lit8 v2, v4, 0x4

    invoke-virtual {p0, v2}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v2

    add-int/lit8 v2, v2, 0x6

    add-int/2addr v2, v4

    add-int/lit8 v1, v1, -0x1

    move v4, v2

    goto :goto_a

    :cond_2b
    add-int/lit8 v1, v4, 0x8

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v2, v4, 0xa

    move v3, v0

    :goto_34
    if-ge v3, v5, :cond_7e

    sub-int v0, v2, v4

    add-int/lit8 v6, v0, -0xa

    invoke-virtual {p0, v2}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    invoke-virtual {p0, v0, p3}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I

    move-result v1

    add-int/lit8 v0, v2, 0x2

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    :goto_4c
    if-lez v0, :cond_62

    add-int/lit8 v7, v2, 0x4

    invoke-virtual {p0, v7}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v7

    invoke-virtual {p0, v7, p3}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v7

    invoke-virtual {v7}, Ljava/lang/Object;->hashCode()I

    move-result v7

    xor-int/2addr v1, v7

    add-int/lit8 v2, v2, 0x2

    add-int/lit8 v0, v0, -0x1

    goto :goto_4c

    :cond_62
    add-int/lit8 v2, v2, 0x4

    new-instance v0, Lorg/objectweb/asm/Item;

    invoke-direct {v0, v3}, Lorg/objectweb/asm/Item;-><init>(I)V

    const v7, 0x7fffffff

    and-int/2addr v1, v7

    invoke-virtual {v0, v6, v1}, Lorg/objectweb/asm/Item;->a(II)V

    iget v1, v0, Lorg/objectweb/asm/Item;->j:I

    array-length v6, p2

    rem-int/2addr v1, v6

    aget-object v6, p2, v1

    iput-object v6, v0, Lorg/objectweb/asm/Item;->k:Lorg/objectweb/asm/Item;

    aput-object v0, p2, v1

    add-int/lit8 v0, v3, 0x1

    move v3, v0

    goto :goto_34

    :cond_7e
    add-int/lit8 v0, v4, 0x4

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v0

    new-instance v1, Lorg/objectweb/asm/ByteVector;

    add-int/lit8 v2, v0, 0x3e

    invoke-direct {v1, v2}, Lorg/objectweb/asm/ByteVector;-><init>(I)V

    iget-object v2, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v3, v4, 0xa

    add-int/lit8 v0, v0, -0x2

    invoke-virtual {v1, v2, v3, v0}, Lorg/objectweb/asm/ByteVector;->putByteArray([BII)Lorg/objectweb/asm/ByteVector;

    iput v5, p1, Lorg/objectweb/asm/ClassWriter;->z:I

    iput-object v1, p1, Lorg/objectweb/asm/ClassWriter;->A:Lorg/objectweb/asm/ByteVector;

    goto :goto_1d

    :cond_99
    move v1, v0

    goto :goto_1b
.end method

.method private a(Lorg/objectweb/asm/Context;)V
    .registers 10

    const/16 v7, 0x3b

    const/4 v1, 0x1

    const/4 v0, 0x0

    iget-object v4, p1, Lorg/objectweb/asm/Context;->g:Ljava/lang/String;

    iget-object v5, p1, Lorg/objectweb/asm/Context;->s:[Ljava/lang/Object;

    iget v2, p1, Lorg/objectweb/asm/Context;->e:I

    and-int/lit8 v2, v2, 0x8

    if-nez v2, :cond_1d

    const-string v2, "<init>"

    iget-object v3, p1, Lorg/objectweb/asm/Context;->f:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_2a

    sget-object v2, Lorg/objectweb/asm/Opcodes;->UNINITIALIZED_THIS:Ljava/lang/Integer;

    aput-object v2, v5, v0

    move v0, v1

    :cond_1d
    :goto_1d
    move v2, v0

    :goto_1e
    add-int/lit8 v0, v1, 0x1

    invoke-virtual {v4, v1}, Ljava/lang/String;->charAt(I)C

    move-result v3

    sparse-switch v3, :sswitch_data_a2

    iput v2, p1, Lorg/objectweb/asm/Context;->q:I

    return-void

    :cond_2a
    iget v2, p0, Lorg/objectweb/asm/ClassReader;->header:I

    add-int/lit8 v2, v2, 0x2

    iget-object v3, p1, Lorg/objectweb/asm/Context;->c:[C

    invoke-virtual {p0, v2, v3}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v2

    aput-object v2, v5, v0

    move v0, v1

    goto :goto_1d

    :sswitch_38
    add-int/lit8 v1, v2, 0x1

    sget-object v3, Lorg/objectweb/asm/Opcodes;->INTEGER:Ljava/lang/Integer;

    aput-object v3, v5, v2

    move v2, v1

    move v1, v0

    goto :goto_1e

    :sswitch_41
    add-int/lit8 v1, v2, 0x1

    sget-object v3, Lorg/objectweb/asm/Opcodes;->FLOAT:Ljava/lang/Integer;

    aput-object v3, v5, v2

    move v2, v1

    move v1, v0

    goto :goto_1e

    :sswitch_4a
    add-int/lit8 v1, v2, 0x1

    sget-object v3, Lorg/objectweb/asm/Opcodes;->LONG:Ljava/lang/Integer;

    aput-object v3, v5, v2

    move v2, v1

    move v1, v0

    goto :goto_1e

    :sswitch_53
    add-int/lit8 v1, v2, 0x1

    sget-object v3, Lorg/objectweb/asm/Opcodes;->DOUBLE:Ljava/lang/Integer;

    aput-object v3, v5, v2

    move v2, v1

    move v1, v0

    goto :goto_1e

    :goto_5c
    :sswitch_5c
    invoke-virtual {v4, v0}, Ljava/lang/String;->charAt(I)C

    move-result v3

    const/16 v6, 0x5b

    if-ne v3, v6, :cond_67

    add-int/lit8 v0, v0, 0x1

    goto :goto_5c

    :cond_67
    invoke-virtual {v4, v0}, Ljava/lang/String;->charAt(I)C

    move-result v3

    const/16 v6, 0x4c

    if-ne v3, v6, :cond_7a

    add-int/lit8 v0, v0, 0x1

    :goto_71
    invoke-virtual {v4, v0}, Ljava/lang/String;->charAt(I)C

    move-result v3

    if-eq v3, v7, :cond_7a

    add-int/lit8 v0, v0, 0x1

    goto :goto_71

    :cond_7a
    add-int/lit8 v3, v2, 0x1

    add-int/lit8 v0, v0, 0x1

    invoke-virtual {v4, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v1

    aput-object v1, v5, v2

    move v1, v0

    move v2, v3

    goto :goto_1e

    :goto_87
    invoke-virtual {v4, v3}, Ljava/lang/String;->charAt(I)C

    move-result v0

    if-eq v0, v7, :cond_91

    add-int/lit8 v0, v3, 0x1

    move v3, v0

    goto :goto_87

    :cond_91
    add-int/lit8 v0, v2, 0x1

    add-int/lit8 v6, v1, 0x1

    add-int/lit8 v1, v3, 0x1

    invoke-virtual {v4, v6, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v3

    aput-object v3, v5, v2

    move v2, v0

    goto :goto_1e

    :sswitch_9f
    move v3, v0

    goto :goto_87

    nop

    :sswitch_data_a2
    .sparse-switch
        0x42 -> :sswitch_38
        0x43 -> :sswitch_38
        0x44 -> :sswitch_53
        0x46 -> :sswitch_41
        0x49 -> :sswitch_38
        0x4a -> :sswitch_4a
        0x4c -> :sswitch_9f
        0x53 -> :sswitch_38
        0x5a -> :sswitch_38
        0x5b -> :sswitch_5c
    .end sparse-switch
.end method

.method private a(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;I)V
    .registers 41

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/objectweb/asm/ClassReader;->b:[B

    move-object/from16 v30, v0

    move-object/from16 v0, p2

    iget-object v8, v0, Lorg/objectweb/asm/Context;->c:[C

    move-object/from16 v0, p0

    move/from16 v1, p3

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v31

    add-int/lit8 v4, p3, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v32

    add-int/lit8 v4, p3, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v33

    add-int/lit8 v29, p3, 0x8

    add-int v34, v29, v33

    add-int/lit8 v4, v33, 0x2

    new-array v10, v4, [Lorg/objectweb/asm/Label;

    move-object/from16 v0, p2

    iput-object v10, v0, Lorg/objectweb/asm/Context;->h:[Lorg/objectweb/asm/Label;

    add-int/lit8 v4, v33, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move/from16 v5, v29

    :goto_37
    move/from16 v0, v34

    if-ge v5, v0, :cond_fd

    sub-int v6, v5, v29

    aget-byte v4, v30, v5

    and-int/lit16 v4, v4, 0xff

    sget-object v7, Lorg/objectweb/asm/ClassWriter;->a:[B

    aget-byte v4, v7, v4

    packed-switch v4, :pswitch_data_9e0

    :pswitch_48
    add-int/lit8 v5, v5, 0x4

    goto :goto_37

    :pswitch_4b
    add-int/lit8 v5, v5, 0x1

    goto :goto_37

    :pswitch_4e
    add-int/lit8 v4, v5, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readShort(I)S

    move-result v4

    add-int/2addr v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/lit8 v5, v5, 0x3

    goto :goto_37

    :pswitch_5f
    add-int/lit8 v4, v5, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v4

    add-int/2addr v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/lit8 v5, v5, 0x5

    goto :goto_37

    :pswitch_70
    add-int/lit8 v4, v5, 0x1

    aget-byte v4, v30, v4

    and-int/lit16 v4, v4, 0xff

    const/16 v6, 0x84

    if-ne v4, v6, :cond_7d

    add-int/lit8 v5, v5, 0x6

    goto :goto_37

    :cond_7d
    add-int/lit8 v5, v5, 0x4

    goto :goto_37

    :pswitch_80
    add-int/lit8 v4, v5, 0x4

    and-int/lit8 v5, v6, 0x3

    sub-int v5, v4, v5

    move-object/from16 v0, p0

    invoke-virtual {v0, v5}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v4

    add-int/2addr v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/lit8 v4, v5, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v4

    add-int/lit8 v7, v5, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v7}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v7

    sub-int/2addr v4, v7

    add-int/lit8 v4, v4, 0x1

    :goto_a5
    if-lez v4, :cond_ba

    add-int/lit8 v7, v5, 0xc

    move-object/from16 v0, p0

    invoke-virtual {v0, v7}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v7

    add-int/2addr v7, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v7, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/lit8 v5, v5, 0x4

    add-int/lit8 v4, v4, -0x1

    goto :goto_a5

    :cond_ba
    add-int/lit8 v5, v5, 0xc

    goto/16 :goto_37

    :pswitch_be
    add-int/lit8 v4, v5, 0x4

    and-int/lit8 v5, v6, 0x3

    sub-int v5, v4, v5

    move-object/from16 v0, p0

    invoke-virtual {v0, v5}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v4

    add-int/2addr v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/lit8 v4, v5, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v4

    :goto_d8
    if-lez v4, :cond_ed

    add-int/lit8 v7, v5, 0xc

    move-object/from16 v0, p0

    invoke-virtual {v0, v7}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v7

    add-int/2addr v7, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v7, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/lit8 v5, v5, 0x8

    add-int/lit8 v4, v4, -0x1

    goto :goto_d8

    :cond_ed
    add-int/lit8 v5, v5, 0x8

    goto/16 :goto_37

    :pswitch_f1
    add-int/lit8 v5, v5, 0x2

    goto/16 :goto_37

    :pswitch_f5
    add-int/lit8 v5, v5, 0x3

    goto/16 :goto_37

    :pswitch_f9
    add-int/lit8 v5, v5, 0x5

    goto/16 :goto_37

    :cond_fd
    move-object/from16 v0, p0

    invoke-virtual {v0, v5}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    :goto_103
    if-lez v4, :cond_14d

    add-int/lit8 v6, v5, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v6

    add-int/lit8 v7, v5, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v7}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v7

    move-object/from16 v0, p0

    invoke-virtual {v0, v7, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v7

    add-int/lit8 v9, v5, 0x6

    move-object/from16 v0, p0

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    move-object/from16 v0, p0

    invoke-virtual {v0, v9, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v9

    move-object/from16 v0, p0

    iget-object v11, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v12, v5, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v12}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v12

    aget v11, v11, v12

    move-object/from16 v0, p0

    invoke-virtual {v0, v11, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v11

    move-object/from16 v0, p1

    invoke-virtual {v0, v6, v7, v9, v11}, Lorg/objectweb/asm/MethodVisitor;->visitTryCatchBlock(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V

    add-int/lit8 v5, v5, 0x8

    add-int/lit8 v4, v4, -0x1

    goto :goto_103

    :cond_14d
    add-int/lit8 v27, v5, 0x2

    const/16 v22, 0x0

    const/16 v21, 0x0

    const/16 v26, 0x0

    const/16 v25, 0x0

    const/16 v16, -0x1

    const/4 v15, -0x1

    const/16 v20, 0x0

    const/16 v19, 0x0

    const/16 v18, 0x1

    move-object/from16 v0, p2

    iget v4, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v4, v4, 0x8

    if-eqz v4, :cond_1e0

    const/4 v4, 0x1

    move/from16 v17, v4

    :goto_16b
    const/4 v14, 0x0

    const/4 v13, 0x0

    const/4 v12, 0x0

    const/16 v24, 0x0

    const/4 v5, 0x0

    move-object/from16 v0, p0

    move/from16 v1, v27

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    move/from16 v28, v4

    :goto_17b
    if-lez v28, :cond_3ce

    add-int/lit8 v4, v27, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v35

    const-string v4, "LocalVariableTable"

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_21c

    move-object/from16 v0, p2

    iget v4, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v4, v4, 0x2

    if-nez v4, :cond_9cc

    add-int/lit8 v4, v27, 0x8

    add-int/lit8 v6, v27, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    move v7, v6

    move/from16 v6, v27

    :goto_1a4
    if-lez v7, :cond_1e4

    add-int/lit8 v9, v6, 0xa

    move-object/from16 v0, p0

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    aget-object v11, v10, v9

    if-nez v11, :cond_1c2

    move-object/from16 v0, p0

    invoke-virtual {v0, v9, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v11

    iget v0, v11, Lorg/objectweb/asm/Label;->a:I

    move/from16 v20, v0

    or-int/lit8 v20, v20, 0x1

    move/from16 v0, v20

    iput v0, v11, Lorg/objectweb/asm/Label;->a:I

    :cond_1c2
    add-int/lit8 v11, v6, 0xc

    move-object/from16 v0, p0

    invoke-virtual {v0, v11}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v11

    add-int/2addr v9, v11

    aget-object v11, v10, v9

    if-nez v11, :cond_1db

    move-object/from16 v0, p0

    invoke-virtual {v0, v9, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v9

    iget v11, v9, Lorg/objectweb/asm/Label;->a:I

    or-int/lit8 v11, v11, 0x1

    iput v11, v9, Lorg/objectweb/asm/Label;->a:I

    :cond_1db
    add-int/lit8 v6, v6, 0xa

    add-int/lit8 v7, v7, -0x1

    goto :goto_1a4

    :cond_1e0
    const/4 v4, 0x0

    move/from16 v17, v4

    goto :goto_16b

    :cond_1e4
    move v6, v13

    move v7, v14

    move/from16 v9, v18

    move/from16 v11, v19

    move v13, v15

    move/from16 v14, v16

    move-object/from16 v15, v21

    move-object/from16 v16, v22

    move/from16 v36, v12

    move v12, v4

    move-object v4, v5

    move/from16 v5, v36

    :goto_1f7
    add-int/lit8 v18, v27, 0x4

    move-object/from16 v0, p0

    move/from16 v1, v18

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v18

    add-int/lit8 v18, v18, 0x6

    add-int v27, v27, v18

    add-int/lit8 v18, v28, -0x1

    move/from16 v28, v18

    move/from16 v19, v11

    move/from16 v20, v12

    move-object/from16 v21, v15

    move-object/from16 v22, v16

    move/from16 v18, v9

    move v12, v5

    move v15, v13

    move/from16 v16, v14

    move-object v5, v4

    move v13, v6

    move v14, v7

    goto/16 :goto_17b

    :cond_21c
    const-string v4, "LocalVariableTypeTable"

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_239

    add-int/lit8 v4, v27, 0x8

    move v6, v13

    move v7, v14

    move/from16 v9, v18

    move v11, v4

    move-object v4, v5

    move v13, v15

    move/from16 v14, v16

    move v5, v12

    move-object/from16 v15, v21

    move-object/from16 v16, v22

    move/from16 v12, v20

    goto :goto_1f7

    :cond_239
    const-string v4, "LineNumberTable"

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_294

    move-object/from16 v0, p2

    iget v4, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v4, v4, 0x2

    if-nez v4, :cond_9cc

    add-int/lit8 v4, v27, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    move v6, v4

    move/from16 v4, v27

    :goto_256
    if-lez v6, :cond_281

    add-int/lit8 v7, v4, 0xa

    move-object/from16 v0, p0

    invoke-virtual {v0, v7}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v7

    aget-object v9, v10, v7

    if-nez v9, :cond_270

    move-object/from16 v0, p0

    invoke-virtual {v0, v7, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    move-result-object v9

    iget v11, v9, Lorg/objectweb/asm/Label;->a:I

    or-int/lit8 v11, v11, 0x1

    iput v11, v9, Lorg/objectweb/asm/Label;->a:I

    :cond_270
    aget-object v7, v10, v7

    add-int/lit8 v9, v4, 0xc

    move-object/from16 v0, p0

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    iput v9, v7, Lorg/objectweb/asm/Label;->b:I

    add-int/lit8 v4, v4, 0x4

    add-int/lit8 v6, v6, -0x1

    goto :goto_256

    :cond_281
    move-object v4, v5

    move v6, v13

    move v7, v14

    move/from16 v9, v18

    move/from16 v11, v19

    move v5, v12

    move v13, v15

    move/from16 v14, v16

    move/from16 v12, v20

    move-object/from16 v15, v21

    move-object/from16 v16, v22

    goto/16 :goto_1f7

    :cond_294
    const-string v4, "RuntimeVisibleTypeAnnotations"

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_2da

    add-int/lit8 v4, v27, 0x8

    const/4 v6, 0x1

    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, p2

    invoke-direct {v0, v1, v2, v4, v6}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)[I

    move-result-object v6

    array-length v4, v6

    if-eqz v4, :cond_2bb

    const/4 v4, 0x0

    aget v4, v6, v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v4

    const/16 v7, 0x43

    if-ge v4, v7, :cond_2ce

    :cond_2bb
    const/4 v4, -0x1

    :goto_2bc
    move v7, v14

    move/from16 v9, v18

    move/from16 v11, v19

    move-object/from16 v16, v6

    move v6, v13

    move v14, v4

    move v13, v15

    move-object v4, v5

    move v5, v12

    move-object/from16 v15, v21

    move/from16 v12, v20

    goto/16 :goto_1f7

    :cond_2ce
    const/4 v4, 0x0

    aget v4, v6, v4

    add-int/lit8 v4, v4, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    goto :goto_2bc

    :cond_2da
    const-string v4, "RuntimeInvisibleTypeAnnotations"

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_320

    add-int/lit8 v4, v27, 0x8

    const/4 v6, 0x0

    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, p2

    invoke-direct {v0, v1, v2, v4, v6}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)[I

    move-result-object v6

    array-length v4, v6

    if-eqz v4, :cond_301

    const/4 v4, 0x0

    aget v4, v6, v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v4

    const/16 v7, 0x43

    if-ge v4, v7, :cond_314

    :cond_301
    const/4 v4, -0x1

    :goto_302
    move v7, v14

    move/from16 v9, v18

    move/from16 v11, v19

    move-object v15, v6

    move v6, v13

    move/from16 v14, v16

    move v13, v4

    move-object/from16 v16, v22

    move-object v4, v5

    move v5, v12

    move/from16 v12, v20

    goto/16 :goto_1f7

    :cond_314
    const/4 v4, 0x0

    aget v4, v6, v4

    add-int/lit8 v4, v4, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    goto :goto_302

    :cond_320
    const-string v4, "StackMapTable"

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_358

    move-object/from16 v0, p2

    iget v4, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v4, v4, 0x4

    if-nez v4, :cond_9cc

    add-int/lit8 v7, v27, 0xa

    add-int/lit8 v4, v27, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v6

    add-int/lit8 v4, v27, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    move/from16 v9, v18

    move/from16 v11, v19

    move/from16 v12, v20

    move v13, v15

    move/from16 v14, v16

    move-object/from16 v15, v21

    move-object/from16 v16, v22

    move/from16 v36, v4

    move-object v4, v5

    move/from16 v5, v36

    goto/16 :goto_1f7

    :cond_358
    const-string v4, "StackMap"

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_38f

    move-object/from16 v0, p2

    iget v4, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v4, v4, 0x4

    if-nez v4, :cond_9cc

    const/4 v9, 0x0

    add-int/lit8 v7, v27, 0xa

    add-int/lit8 v4, v27, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v6

    add-int/lit8 v4, v27, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    move/from16 v11, v19

    move/from16 v12, v20

    move v13, v15

    move/from16 v14, v16

    move-object/from16 v15, v21

    move-object/from16 v16, v22

    move-object/from16 v36, v5

    move v5, v4

    move-object/from16 v4, v36

    goto/16 :goto_1f7

    :cond_38f
    const/4 v4, 0x0

    move/from16 v23, v4

    move-object v11, v5

    :goto_393
    move-object/from16 v0, p2

    iget-object v4, v0, Lorg/objectweb/asm/Context;->a:[Lorg/objectweb/asm/Attribute;

    array-length v4, v4

    move/from16 v0, v23

    if-ge v0, v4, :cond_9b9

    move-object/from16 v0, p2

    iget-object v4, v0, Lorg/objectweb/asm/Context;->a:[Lorg/objectweb/asm/Attribute;

    aget-object v4, v4, v23

    iget-object v4, v4, Lorg/objectweb/asm/Attribute;->type:Ljava/lang/String;

    move-object/from16 v0, v35

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_3c9

    move-object/from16 v0, p2

    iget-object v4, v0, Lorg/objectweb/asm/Context;->a:[Lorg/objectweb/asm/Attribute;

    aget-object v4, v4, v23

    add-int/lit8 v6, v27, 0x8

    add-int/lit8 v5, v27, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v5}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v7

    add-int/lit8 v9, v29, -0x8

    move-object/from16 v5, p0

    invoke-virtual/range {v4 .. v10}, Lorg/objectweb/asm/Attribute;->read(Lorg/objectweb/asm/ClassReader;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;

    move-result-object v4

    if-eqz v4, :cond_3c9

    iput-object v11, v4, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    move-object v11, v4

    :cond_3c9
    add-int/lit8 v4, v23, 0x1

    move/from16 v23, v4

    goto :goto_393

    :cond_3ce
    if-eqz v14, :cond_9b5

    const/4 v4, -0x1

    move-object/from16 v0, p2

    iput v4, v0, Lorg/objectweb/asm/Context;->o:I

    const/4 v4, 0x0

    move-object/from16 v0, p2

    iput v4, v0, Lorg/objectweb/asm/Context;->p:I

    const/4 v4, 0x0

    move-object/from16 v0, p2

    iput v4, v0, Lorg/objectweb/asm/Context;->q:I

    const/4 v4, 0x0

    move-object/from16 v0, p2

    iput v4, v0, Lorg/objectweb/asm/Context;->r:I

    const/4 v4, 0x0

    move-object/from16 v0, p2

    iput v4, v0, Lorg/objectweb/asm/Context;->t:I

    move/from16 v0, v32

    new-array v4, v0, [Ljava/lang/Object;

    move-object/from16 v0, p2

    iput-object v4, v0, Lorg/objectweb/asm/Context;->s:[Ljava/lang/Object;

    move/from16 v0, v31

    new-array v4, v0, [Ljava/lang/Object;

    move-object/from16 v0, p2

    iput-object v4, v0, Lorg/objectweb/asm/Context;->u:[Ljava/lang/Object;

    if-eqz v17, :cond_402

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;)V

    :cond_402
    move v4, v14

    :goto_403
    add-int v6, v14, v13

    add-int/lit8 v6, v6, -0x2

    if-ge v4, v6, :cond_42f

    aget-byte v6, v30, v4

    const/16 v7, 0x8

    if-ne v6, v7, :cond_42c

    add-int/lit8 v6, v4, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    if-ltz v6, :cond_42c

    move/from16 v0, v33

    if-ge v6, v0, :cond_42c

    add-int v7, v29, v6

    aget-byte v7, v30, v7

    and-int/lit16 v7, v7, 0xff

    const/16 v9, 0xbb

    if-ne v7, v9, :cond_42c

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v10}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    :cond_42c
    add-int/lit8 v4, v4, 0x1

    goto :goto_403

    :cond_42f
    move-object/from16 v4, p2

    :goto_431
    move v6, v12

    move v7, v14

    move/from16 v24, v15

    move/from16 v27, v26

    move/from16 v28, v29

    move/from16 v26, v25

    move/from16 v25, v16

    :goto_43d
    move/from16 v0, v28

    move/from16 v1, v34

    if-ge v0, v1, :cond_84a

    sub-int v35, v28, v29

    aget-object v9, v10, v35

    if-eqz v9, :cond_461

    move-object/from16 v0, p1

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/MethodVisitor;->visitLabel(Lorg/objectweb/asm/Label;)V

    move-object/from16 v0, p2

    iget v11, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v11, v11, 0x2

    if-nez v11, :cond_461

    iget v11, v9, Lorg/objectweb/asm/Label;->b:I

    if-lez v11, :cond_461

    iget v11, v9, Lorg/objectweb/asm/Label;->b:I

    move-object/from16 v0, p1

    invoke-virtual {v0, v11, v9}, Lorg/objectweb/asm/MethodVisitor;->visitLineNumber(ILorg/objectweb/asm/Label;)V

    :cond_461
    move v9, v6

    move/from16 v23, v7

    move-object v7, v4

    :goto_465
    if-eqz v7, :cond_4b4

    iget v4, v7, Lorg/objectweb/asm/Context;->o:I

    move/from16 v0, v35

    if-eq v4, v0, :cond_472

    iget v4, v7, Lorg/objectweb/asm/Context;->o:I

    const/4 v6, -0x1

    if-ne v4, v6, :cond_4b4

    :cond_472
    iget v4, v7, Lorg/objectweb/asm/Context;->o:I

    const/4 v6, -0x1

    if-eq v4, v6, :cond_48b

    if-eqz v18, :cond_47b

    if-eqz v17, :cond_49f

    :cond_47b
    const/4 v12, -0x1

    iget v13, v7, Lorg/objectweb/asm/Context;->q:I

    iget-object v14, v7, Lorg/objectweb/asm/Context;->s:[Ljava/lang/Object;

    iget v15, v7, Lorg/objectweb/asm/Context;->t:I

    iget-object v0, v7, Lorg/objectweb/asm/Context;->u:[Ljava/lang/Object;

    move-object/from16 v16, v0

    move-object/from16 v11, p1

    invoke-virtual/range {v11 .. v16}, Lorg/objectweb/asm/MethodVisitor;->visitFrame(II[Ljava/lang/Object;I[Ljava/lang/Object;)V

    :cond_48b
    :goto_48b
    if-lez v9, :cond_4b1

    move-object/from16 v0, p0

    move/from16 v1, v23

    move/from16 v2, v18

    move/from16 v3, v17

    invoke-direct {v0, v1, v2, v3, v7}, Lorg/objectweb/asm/ClassReader;->a(IZZLorg/objectweb/asm/Context;)I

    move-result v6

    add-int/lit8 v4, v9, -0x1

    move v9, v4

    move/from16 v23, v6

    goto :goto_465

    :cond_49f
    iget v12, v7, Lorg/objectweb/asm/Context;->p:I

    iget v13, v7, Lorg/objectweb/asm/Context;->r:I

    iget-object v14, v7, Lorg/objectweb/asm/Context;->s:[Ljava/lang/Object;

    iget v15, v7, Lorg/objectweb/asm/Context;->t:I

    iget-object v0, v7, Lorg/objectweb/asm/Context;->u:[Ljava/lang/Object;

    move-object/from16 v16, v0

    move-object/from16 v11, p1

    invoke-virtual/range {v11 .. v16}, Lorg/objectweb/asm/MethodVisitor;->visitFrame(II[Ljava/lang/Object;I[Ljava/lang/Object;)V

    goto :goto_48b

    :cond_4b1
    const/4 v4, 0x0

    move-object v7, v4

    goto :goto_465

    :cond_4b4
    aget-byte v4, v30, v28

    and-int/lit16 v12, v4, 0xff

    sget-object v4, Lorg/objectweb/asm/ClassWriter;->a:[B

    aget-byte v4, v4, v12

    packed-switch v4, :pswitch_data_a08

    :pswitch_4bf
    add-int/lit8 v4, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v4

    add-int/lit8 v6, v28, 0x3

    aget-byte v6, v30, v6

    and-int/lit16 v6, v6, 0xff

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v6}, Lorg/objectweb/asm/MethodVisitor;->visitMultiANewArrayInsn(Ljava/lang/String;I)V

    add-int/lit8 v11, v28, 0x4

    move/from16 v16, v25

    move/from16 v6, v27

    :goto_4d8
    if-eqz v22, :cond_9af

    move-object/from16 v0, v22

    array-length v4, v0

    if-ge v6, v4, :cond_9af

    move/from16 v0, v16

    move/from16 v1, v35

    if-gt v0, v1, :cond_9af

    move/from16 v0, v16

    move/from16 v1, v35

    if-ne v0, v1, :cond_515

    aget v4, v22, v6

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v4}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v4

    add-int/lit8 v12, v4, 0x2

    const/4 v13, 0x1

    move-object/from16 v0, p2

    iget v14, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v15, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    const/16 v16, 0x1

    move-object/from16 v0, p1

    move/from16 v1, v16

    invoke-virtual {v0, v14, v15, v4, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsnAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v4

    move-object/from16 v0, p0

    invoke-direct {v0, v12, v8, v13, v4}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    :cond_515
    add-int/lit8 v27, v6, 0x1

    move-object/from16 v0, v22

    array-length v4, v0

    move/from16 v0, v27

    if-ge v0, v4, :cond_52a

    aget v4, v22, v27

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v4

    const/16 v6, 0x43

    if-ge v4, v6, :cond_7cc

    :cond_52a
    const/4 v4, -0x1

    :goto_52b
    move/from16 v16, v4

    move/from16 v6, v27

    goto :goto_4d8

    :pswitch_530
    move-object/from16 v0, p1

    invoke-virtual {v0, v12}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V

    add-int/lit8 v11, v28, 0x1

    move/from16 v16, v25

    move/from16 v6, v27

    goto :goto_4d8

    :pswitch_53c
    const/16 v4, 0x36

    if-le v12, v4, :cond_554

    add-int/lit8 v4, v12, -0x3b

    shr-int/lit8 v6, v4, 0x2

    add-int/lit8 v6, v6, 0x36

    and-int/lit8 v4, v4, 0x3

    move-object/from16 v0, p1

    invoke-virtual {v0, v6, v4}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V

    :goto_54d
    add-int/lit8 v11, v28, 0x1

    move/from16 v16, v25

    move/from16 v6, v27

    goto :goto_4d8

    :cond_554
    add-int/lit8 v4, v12, -0x1a

    shr-int/lit8 v6, v4, 0x2

    add-int/lit8 v6, v6, 0x15

    and-int/lit8 v4, v4, 0x3

    move-object/from16 v0, p1

    invoke-virtual {v0, v6, v4}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V

    goto :goto_54d

    :pswitch_562
    add-int/lit8 v4, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readShort(I)S

    move-result v4

    add-int v4, v4, v35

    aget-object v4, v10, v4

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v4}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V

    add-int/lit8 v11, v28, 0x3

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_57b
    add-int/lit8 v4, v12, -0x21

    add-int/lit8 v6, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v6

    add-int v6, v6, v35

    aget-object v6, v10, v6

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v6}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V

    add-int/lit8 v11, v28, 0x5

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_596
    add-int/lit8 v4, v28, 0x1

    aget-byte v4, v30, v4

    and-int/lit16 v4, v4, 0xff

    const/16 v6, 0x84

    if-ne v4, v6, :cond_5bd

    add-int/lit8 v4, v28, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    add-int/lit8 v6, v28, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readShort(I)S

    move-result v6

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v6}, Lorg/objectweb/asm/MethodVisitor;->visitIincInsn(II)V

    add-int/lit8 v11, v28, 0x6

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :cond_5bd
    add-int/lit8 v6, v28, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v6}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V

    add-int/lit8 v11, v28, 0x4

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_5d2
    add-int/lit8 v4, v28, 0x4

    and-int/lit8 v6, v35, 0x3

    sub-int/2addr v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v6

    add-int v11, v35, v6

    add-int/lit8 v6, v4, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v12

    add-int/lit8 v6, v4, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v13

    sub-int v6, v13, v12

    add-int/lit8 v6, v6, 0x1

    new-array v14, v6, [Lorg/objectweb/asm/Label;

    add-int/lit8 v6, v4, 0xc

    const/4 v4, 0x0

    :goto_5f8
    array-length v15, v14

    if-ge v4, v15, :cond_60c

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v15

    add-int v15, v15, v35

    aget-object v15, v10, v15

    aput-object v15, v14, v4

    add-int/lit8 v6, v6, 0x4

    add-int/lit8 v4, v4, 0x1

    goto :goto_5f8

    :cond_60c
    aget-object v4, v10, v11

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v13, v4, v14}, Lorg/objectweb/asm/MethodVisitor;->visitTableSwitchInsn(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V

    move/from16 v16, v25

    move v11, v6

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_61a
    add-int/lit8 v4, v28, 0x4

    and-int/lit8 v6, v35, 0x3

    sub-int/2addr v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v6

    add-int v6, v6, v35

    add-int/lit8 v11, v4, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v11}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v12

    new-array v13, v12, [I

    new-array v14, v12, [Lorg/objectweb/asm/Label;

    add-int/lit8 v11, v4, 0x8

    const/4 v4, 0x0

    :goto_636
    if-ge v4, v12, :cond_653

    move-object/from16 v0, p0

    invoke-virtual {v0, v11}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v15

    aput v15, v13, v4

    add-int/lit8 v15, v11, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v15}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v15

    add-int v15, v15, v35

    aget-object v15, v10, v15

    aput-object v15, v14, v4

    add-int/lit8 v11, v11, 0x8

    add-int/lit8 v4, v4, 0x1

    goto :goto_636

    :cond_653
    aget-object v4, v10, v6

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v13, v14}, Lorg/objectweb/asm/MethodVisitor;->visitLookupSwitchInsn(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_660
    add-int/lit8 v4, v28, 0x1

    aget-byte v4, v30, v4

    and-int/lit16 v4, v4, 0xff

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v4}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V

    add-int/lit8 v11, v28, 0x2

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_673
    add-int/lit8 v4, v28, 0x1

    aget-byte v4, v30, v4

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v4}, Lorg/objectweb/asm/MethodVisitor;->visitIntInsn(II)V

    add-int/lit8 v11, v28, 0x2

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_684
    add-int/lit8 v4, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readShort(I)S

    move-result v4

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v4}, Lorg/objectweb/asm/MethodVisitor;->visitIntInsn(II)V

    add-int/lit8 v11, v28, 0x3

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_699
    add-int/lit8 v4, v28, 0x1

    aget-byte v4, v30, v4

    and-int/lit16 v4, v4, 0xff

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v4

    move-object/from16 v0, p1

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    add-int/lit8 v11, v28, 0x2

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_6b2
    add-int/lit8 v4, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v4

    move-object/from16 v0, p1

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    add-int/lit8 v11, v28, 0x3

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_6cd
    move-object/from16 v0, p0

    iget-object v4, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v6, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    aget v4, v4, v6

    add-int/lit8 v6, v4, -0x1

    aget-byte v6, v30, v6

    const/16 v11, 0xb

    if-ne v6, v11, :cond_71c

    const/16 v16, 0x1

    :goto_6e5
    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v13

    move-object/from16 v0, p0

    iget-object v6, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v4, v4, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    aget v4, v6, v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v14

    add-int/lit8 v4, v4, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v15

    const/16 v4, 0xb6

    if-ge v12, v4, :cond_71f

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v13, v14, v15}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_710
    const/16 v4, 0xb9

    if-ne v12, v4, :cond_725

    add-int/lit8 v11, v28, 0x5

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :cond_71c
    const/16 v16, 0x0

    goto :goto_6e5

    :cond_71f
    move-object/from16 v11, p1

    invoke-virtual/range {v11 .. v16}, Lorg/objectweb/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V

    goto :goto_710

    :cond_725
    add-int/lit8 v11, v28, 0x3

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_72d
    move-object/from16 v0, p0

    iget-object v4, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v6, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    aget v12, v4, v6

    move-object/from16 v0, p2

    iget-object v4, v0, Lorg/objectweb/asm/Context;->d:[I

    move-object/from16 v0, p0

    invoke-virtual {v0, v12}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    aget v6, v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Lorg/objectweb/asm/Handle;

    add-int/lit8 v11, v6, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v11}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v13

    new-array v14, v13, [Ljava/lang/Object;

    add-int/lit8 v6, v6, 0x4

    const/4 v11, 0x0

    :goto_762
    if-ge v11, v13, :cond_777

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v15

    move-object/from16 v0, p0

    invoke-virtual {v0, v15, v8}, Lorg/objectweb/asm/ClassReader;->readConst(I[C)Ljava/lang/Object;

    move-result-object v15

    aput-object v15, v14, v11

    add-int/lit8 v6, v6, 0x2

    add-int/lit8 v11, v11, 0x1

    goto :goto_762

    :cond_777
    move-object/from16 v0, p0

    iget-object v6, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v11, v12, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v11}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v11

    aget v6, v6, v11

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v11

    add-int/lit8 v6, v6, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v6

    move-object/from16 v0, p1

    invoke-virtual {v0, v11, v6, v4, v14}, Lorg/objectweb/asm/MethodVisitor;->visitInvokeDynamicInsn(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V

    add-int/lit8 v11, v28, 0x5

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_7a0
    add-int/lit8 v4, v28, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v4

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v4}, Lorg/objectweb/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    add-int/lit8 v11, v28, 0x3

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :pswitch_7b5
    add-int/lit8 v4, v28, 0x1

    aget-byte v4, v30, v4

    and-int/lit16 v4, v4, 0xff

    add-int/lit8 v6, v28, 0x2

    aget-byte v6, v30, v6

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v6}, Lorg/objectweb/asm/MethodVisitor;->visitIincInsn(II)V

    add-int/lit8 v11, v28, 0x3

    move/from16 v16, v25

    move/from16 v6, v27

    goto/16 :goto_4d8

    :cond_7cc
    aget v4, v22, v27

    add-int/lit8 v4, v4, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    goto/16 :goto_52b

    :goto_7d8
    if-eqz v21, :cond_83a

    move-object/from16 v0, v21

    array-length v12, v0

    if-ge v4, v12, :cond_83a

    move/from16 v0, v35

    if-gt v15, v0, :cond_83a

    move/from16 v0, v35

    if-ne v15, v0, :cond_815

    aget v12, v21, v4

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v12}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v12

    add-int/lit8 v13, v12, 0x2

    const/4 v14, 0x1

    move-object/from16 v0, p2

    iget v15, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v0, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v24, v0

    move-object/from16 v0, p0

    invoke-virtual {v0, v12, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v12

    const/16 v25, 0x0

    move-object/from16 v0, p1

    move-object/from16 v1, v24

    move/from16 v2, v25

    invoke-virtual {v0, v15, v1, v12, v2}, Lorg/objectweb/asm/MethodVisitor;->visitInsnAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v12

    move-object/from16 v0, p0

    invoke-direct {v0, v13, v8, v14, v12}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    :cond_815
    add-int/lit8 v26, v4, 0x1

    move-object/from16 v0, v21

    array-length v4, v0

    move/from16 v0, v26

    if-ge v0, v4, :cond_82a

    aget v4, v21, v26

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v4

    const/16 v12, 0x43

    if-ge v4, v12, :cond_82f

    :cond_82a
    const/4 v4, -0x1

    :goto_82b
    move v15, v4

    move/from16 v4, v26

    goto :goto_7d8

    :cond_82f
    aget v4, v21, v26

    add-int/lit8 v4, v4, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    goto :goto_82b

    :cond_83a
    move/from16 v24, v15

    move/from16 v25, v16

    move/from16 v26, v4

    move/from16 v27, v6

    move/from16 v28, v11

    move-object v4, v7

    move v6, v9

    move/from16 v7, v23

    goto/16 :goto_43d

    :cond_84a
    aget-object v4, v10, v33

    if-eqz v4, :cond_855

    aget-object v4, v10, v33

    move-object/from16 v0, p1

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/MethodVisitor;->visitLabel(Lorg/objectweb/asm/Label;)V

    :cond_855
    move-object/from16 v0, p2

    iget v4, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v4, v4, 0x2

    if-nez v4, :cond_8f7

    if-eqz v20, :cond_8f7

    const/4 v4, 0x0

    if-eqz v19, :cond_892

    add-int/lit8 v7, v19, 0x2

    move-object/from16 v0, p0

    move/from16 v1, v19

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    mul-int/lit8 v4, v4, 0x3

    new-array v4, v4, [I

    array-length v6, v4

    :goto_871
    if-lez v6, :cond_892

    add-int/lit8 v6, v6, -0x1

    add-int/lit8 v9, v7, 0x6

    aput v9, v4, v6

    add-int/lit8 v6, v6, -0x1

    add-int/lit8 v9, v7, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    aput v9, v4, v6

    add-int/lit8 v6, v6, -0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v7}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    aput v9, v4, v6

    add-int/lit8 v7, v7, 0xa

    goto :goto_871

    :cond_892
    add-int/lit8 v7, v20, 0x2

    move-object/from16 v0, p0

    move/from16 v1, v20

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    move v9, v7

    move v7, v6

    :goto_89e
    if-lez v7, :cond_8f7

    move-object/from16 v0, p0

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v11

    add-int/lit8 v6, v9, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v16

    add-int/lit8 v6, v9, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v17

    const/4 v14, 0x0

    if-eqz v4, :cond_8d3

    const/4 v6, 0x0

    :goto_8ba
    array-length v12, v4

    if-ge v6, v12, :cond_8d3

    aget v12, v4, v6

    if-ne v12, v11, :cond_8f4

    add-int/lit8 v12, v6, 0x1

    aget v12, v4, v12

    move/from16 v0, v17

    if-ne v12, v0, :cond_8f4

    add-int/lit8 v6, v6, 0x2

    aget v6, v4, v6

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v14

    :cond_8d3
    add-int/lit8 v6, v9, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v12

    add-int/lit8 v6, v9, 0x6

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v13

    aget-object v15, v10, v11

    add-int v6, v11, v16

    aget-object v16, v10, v6

    move-object/from16 v11, p1

    invoke-virtual/range {v11 .. v17}, Lorg/objectweb/asm/MethodVisitor;->visitLocalVariable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V

    add-int/lit8 v9, v9, 0xa

    add-int/lit8 v6, v7, -0x1

    move v7, v6

    goto :goto_89e

    :cond_8f4
    add-int/lit8 v6, v6, 0x3

    goto :goto_8ba

    :cond_8f7
    if-eqz v22, :cond_947

    const/4 v4, 0x0

    :goto_8fa
    move-object/from16 v0, v22

    array-length v6, v0

    if-ge v4, v6, :cond_947

    aget v6, v22, v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v6

    shr-int/lit8 v6, v6, 0x1

    const/16 v7, 0x20

    if-ne v6, v7, :cond_944

    aget v6, v22, v4

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v6}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v6

    add-int/lit8 v7, v6, 0x2

    const/16 v17, 0x1

    move-object/from16 v0, p2

    iget v10, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v11, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p2

    iget-object v12, v0, Lorg/objectweb/asm/Context;->l:[Lorg/objectweb/asm/Label;

    move-object/from16 v0, p2

    iget-object v13, v0, Lorg/objectweb/asm/Context;->m:[Lorg/objectweb/asm/Label;

    move-object/from16 v0, p2

    iget-object v14, v0, Lorg/objectweb/asm/Context;->n:[I

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v15

    const/16 v16, 0x1

    move-object/from16 v9, p1

    invoke-virtual/range {v9 .. v16}, Lorg/objectweb/asm/MethodVisitor;->visitLocalVariableAnnotation(ILorg/objectweb/asm/TypePath;[Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;[ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v6

    move-object/from16 v0, p0

    move/from16 v1, v17

    invoke-direct {v0, v7, v8, v1, v6}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    :cond_944
    add-int/lit8 v4, v4, 0x1

    goto :goto_8fa

    :cond_947
    if-eqz v21, :cond_997

    const/4 v4, 0x0

    :goto_94a
    move-object/from16 v0, v21

    array-length v6, v0

    if-ge v4, v6, :cond_997

    aget v6, v21, v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v6}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v6

    shr-int/lit8 v6, v6, 0x1

    const/16 v7, 0x20

    if-ne v6, v7, :cond_994

    aget v6, v21, v4

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v6}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v6

    add-int/lit8 v7, v6, 0x2

    const/16 v17, 0x1

    move-object/from16 v0, p2

    iget v10, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v11, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p2

    iget-object v12, v0, Lorg/objectweb/asm/Context;->l:[Lorg/objectweb/asm/Label;

    move-object/from16 v0, p2

    iget-object v13, v0, Lorg/objectweb/asm/Context;->m:[Lorg/objectweb/asm/Label;

    move-object/from16 v0, p2

    iget-object v14, v0, Lorg/objectweb/asm/Context;->n:[I

    move-object/from16 v0, p0

    invoke-virtual {v0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v15

    const/16 v16, 0x0

    move-object/from16 v9, p1

    invoke-virtual/range {v9 .. v16}, Lorg/objectweb/asm/MethodVisitor;->visitLocalVariableAnnotation(ILorg/objectweb/asm/TypePath;[Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;[ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v6

    move-object/from16 v0, p0

    move/from16 v1, v17

    invoke-direct {v0, v7, v8, v1, v6}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    :cond_994
    add-int/lit8 v4, v4, 0x1

    goto :goto_94a

    :cond_997
    :goto_997
    if-eqz v5, :cond_9a5

    iget-object v4, v5, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    const/4 v6, 0x0

    iput-object v6, v5, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    move-object/from16 v0, p1

    invoke-virtual {v0, v5}, Lorg/objectweb/asm/MethodVisitor;->visitAttribute(Lorg/objectweb/asm/Attribute;)V

    move-object v5, v4

    goto :goto_997

    :cond_9a5
    move-object/from16 v0, p1

    move/from16 v1, v31

    move/from16 v2, v32

    invoke-virtual {v0, v1, v2}, Lorg/objectweb/asm/MethodVisitor;->visitMaxs(II)V

    return-void

    :cond_9af
    move/from16 v15, v24

    move/from16 v4, v26

    goto/16 :goto_7d8

    :cond_9b5
    move-object/from16 v4, v24

    goto/16 :goto_431

    :cond_9b9
    move-object v4, v11

    move v5, v12

    move v6, v13

    move v7, v14

    move/from16 v9, v18

    move/from16 v11, v19

    move/from16 v12, v20

    move v13, v15

    move/from16 v14, v16

    move-object/from16 v15, v21

    move-object/from16 v16, v22

    goto/16 :goto_1f7

    :cond_9cc
    move-object v4, v5

    move v6, v13

    move v7, v14

    move/from16 v9, v18

    move/from16 v11, v19

    move v5, v12

    move v13, v15

    move/from16 v14, v16

    move/from16 v12, v20

    move-object/from16 v15, v21

    move-object/from16 v16, v22

    goto/16 :goto_1f7

    nop

    :pswitch_data_9e0
    .packed-switch 0x0
        :pswitch_4b
        :pswitch_f1
        :pswitch_f5
        :pswitch_f1
        :pswitch_4b
        :pswitch_f5
        :pswitch_f5
        :pswitch_f9
        :pswitch_f9
        :pswitch_4e
        :pswitch_5f
        :pswitch_f1
        :pswitch_f5
        :pswitch_f5
        :pswitch_80
        :pswitch_be
        :pswitch_48
        :pswitch_70
    .end packed-switch

    :pswitch_data_a08
    .packed-switch 0x0
        :pswitch_530
        :pswitch_673
        :pswitch_684
        :pswitch_660
        :pswitch_53c
        :pswitch_7a0
        :pswitch_6cd
        :pswitch_6cd
        :pswitch_72d
        :pswitch_562
        :pswitch_57b
        :pswitch_699
        :pswitch_6b2
        :pswitch_7b5
        :pswitch_5d2
        :pswitch_61a
        :pswitch_4bf
        :pswitch_596
    .end packed-switch
.end method

.method private static a(Ljava/io/InputStream;Z)[B
    .registers 8

    const/4 v0, 0x0

    if-nez p0, :cond_b

    new-instance v0, Ljava/io/IOException;

    const-string v1, "Class not found"

    invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_b
    :try_start_b
    invoke-virtual {p0}, Ljava/io/InputStream;->available()I

    move-result v1

    new-array v1, v1, [B

    move v2, v0

    :goto_12
    array-length v0, v1

    sub-int/2addr v0, v2

    invoke-virtual {p0, v1, v2, v0}, Ljava/io/InputStream;->read([BII)I

    move-result v0

    const/4 v3, -0x1

    if-ne v0, v3, :cond_2b

    array-length v0, v1

    if-ge v2, v0, :cond_57

    new-array v0, v2, [B

    const/4 v3, 0x0

    const/4 v4, 0x0

    invoke-static {v1, v3, v0, v4, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    :try_end_25
    .catchall {:try_start_b .. :try_end_25} :catchall_4e

    :goto_25
    if-eqz p1, :cond_2a

    invoke-virtual {p0}, Ljava/io/InputStream;->close()V

    :cond_2a
    :goto_2a
    return-object v0

    :cond_2b
    add-int/2addr v2, v0

    :try_start_2c
    array-length v0, v1

    if-ne v2, v0, :cond_55

    invoke-virtual {p0}, Ljava/io/InputStream;->read()I
    :try_end_32
    .catchall {:try_start_2c .. :try_end_32} :catchall_4e

    move-result v4

    if-gez v4, :cond_3c

    if-eqz p1, :cond_3a

    invoke-virtual {p0}, Ljava/io/InputStream;->close()V

    :cond_3a
    move-object v0, v1

    goto :goto_2a

    :cond_3c
    :try_start_3c
    array-length v0, v1

    add-int/lit16 v0, v0, 0x3e8

    new-array v3, v0, [B

    const/4 v0, 0x0

    const/4 v5, 0x0

    invoke-static {v1, v0, v3, v5, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    add-int/lit8 v0, v2, 0x1

    int-to-byte v1, v4

    aput-byte v1, v3, v2
    :try_end_4b
    .catchall {:try_start_3c .. :try_end_4b} :catchall_4e

    move-object v1, v3

    :goto_4c
    move v2, v0

    goto :goto_12

    :catchall_4e
    move-exception v0

    if-eqz p1, :cond_54

    invoke-virtual {p0}, Ljava/io/InputStream;->close()V

    :cond_54
    throw v0

    :cond_55
    move v0, v2

    goto :goto_4c

    :cond_57
    move-object v0, v1

    goto :goto_25
.end method

.method private a(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)[I
    .registers 15

    iget-object v3, p2, Lorg/objectweb/asm/Context;->c:[C

    invoke-virtual {p0, p3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    new-array v4, v0, [I

    add-int/lit8 v1, p3, 0x2

    const/4 v0, 0x0

    :goto_b
    array-length v2, v4

    if-ge v0, v2, :cond_86

    aput v1, v4, v0

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v5

    ushr-int/lit8 v2, v5, 0x18

    sparse-switch v2, :sswitch_data_88

    add-int/lit8 v1, v1, 0x3

    :goto_1b
    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v6

    ushr-int/lit8 v2, v5, 0x18

    const/16 v7, 0x42

    if-ne v2, v7, :cond_7a

    if-nez v6, :cond_72

    const/4 v2, 0x0

    :goto_28
    mul-int/lit8 v6, v6, 0x2

    add-int/lit8 v6, v6, 0x1

    add-int/2addr v1, v6

    add-int/lit8 v6, v1, 0x2

    const/4 v7, 0x1

    invoke-virtual {p0, v1, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p1, v5, v2, v1, p4}, Lorg/objectweb/asm/MethodVisitor;->visitTryCatchAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v1

    invoke-direct {p0, v6, v3, v7, v1}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v1

    :goto_3c
    add-int/lit8 v0, v0, 0x1

    goto :goto_b

    :sswitch_3f
    add-int/lit8 v1, v1, 0x2

    goto :goto_1b

    :sswitch_42
    add-int/lit8 v1, v1, 0x1

    goto :goto_1b

    :sswitch_45
    add-int/lit8 v2, v1, 0x1

    invoke-virtual {p0, v2}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v2

    move v9, v2

    move v2, v1

    move v1, v9

    :goto_4e
    if-lez v1, :cond_6c

    add-int/lit8 v6, v2, 0x3

    invoke-virtual {p0, v6}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v6

    add-int/lit8 v7, v2, 0x5

    invoke-virtual {p0, v7}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v7

    iget-object v8, p2, Lorg/objectweb/asm/Context;->h:[Lorg/objectweb/asm/Label;

    invoke-virtual {p0, v6, v8}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/2addr v6, v7

    iget-object v7, p2, Lorg/objectweb/asm/Context;->h:[Lorg/objectweb/asm/Label;

    invoke-virtual {p0, v6, v7}, Lorg/objectweb/asm/ClassReader;->readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;

    add-int/lit8 v2, v2, 0x6

    add-int/lit8 v1, v1, -0x1

    goto :goto_4e

    :cond_6c
    add-int/lit8 v1, v2, 0x3

    goto :goto_1b

    :sswitch_6f
    add-int/lit8 v1, v1, 0x4

    goto :goto_1b

    :cond_72
    new-instance v2, Lorg/objectweb/asm/TypePath;

    iget-object v7, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    invoke-direct {v2, v7, v1}, Lorg/objectweb/asm/TypePath;-><init>([BI)V

    goto :goto_28

    :cond_7a
    add-int/lit8 v1, v1, 0x3

    mul-int/lit8 v2, v6, 0x2

    add-int/2addr v1, v2

    const/4 v2, 0x1

    const/4 v5, 0x0

    invoke-direct {p0, v1, v3, v2, v5}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v1

    goto :goto_3c

    :cond_86
    return-object v4

    nop

    :sswitch_data_88
    .sparse-switch
        0x0 -> :sswitch_3f
        0x1 -> :sswitch_3f
        0x13 -> :sswitch_42
        0x14 -> :sswitch_42
        0x15 -> :sswitch_42
        0x16 -> :sswitch_3f
        0x40 -> :sswitch_45
        0x41 -> :sswitch_45
        0x47 -> :sswitch_6f
        0x48 -> :sswitch_6f
        0x49 -> :sswitch_6f
        0x4a -> :sswitch_6f
        0x4b -> :sswitch_6f
    .end sparse-switch
.end method

.method private b(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I
    .registers 34

    move-object/from16 v0, p2

    iget-object v8, v0, Lorg/objectweb/asm/Context;->c:[C

    move-object/from16 v0, p0

    move/from16 v1, p3

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v3

    move-object/from16 v0, p2

    iput v3, v0, Lorg/objectweb/asm/Context;->e:I

    add-int/lit8 v3, p3, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    move-object/from16 v0, p2

    iput-object v3, v0, Lorg/objectweb/asm/Context;->f:Ljava/lang/String;

    add-int/lit8 v3, p3, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    move-object/from16 v0, p2

    iput-object v3, v0, Lorg/objectweb/asm/Context;->g:Ljava/lang/String;

    add-int/lit8 v28, p3, 0x6

    const/16 v25, 0x0

    const/16 v24, 0x0

    const/4 v14, 0x0

    const/4 v13, 0x0

    const/16 v23, 0x0

    const/16 v22, 0x0

    const/16 v21, 0x0

    const/16 v20, 0x0

    const/16 v19, 0x0

    const/16 v18, 0x0

    const/16 v17, 0x0

    const/16 v16, 0x0

    const/4 v15, 0x0

    move-object/from16 v0, p0

    move/from16 v1, v28

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v3

    move/from16 v26, v3

    move/from16 v27, v28

    :goto_4d
    if-lez v26, :cond_298

    add-int/lit8 v3, v27, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v5

    const-string v3, "Code"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_a8

    move-object/from16 v0, p2

    iget v3, v0, Lorg/objectweb/asm/Context;->b:I

    and-int/lit8 v3, v3, 0x1

    if-nez v3, :cond_41c

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v16, v3

    move-object v3, v15

    move/from16 v15, v24

    :goto_7e
    add-int/lit8 v17, v27, 0x4

    move-object/from16 v0, p0

    move/from16 v1, v17

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v17

    add-int/lit8 v17, v17, 0x6

    add-int v18, v27, v17

    add-int/lit8 v17, v26, -0x1

    move/from16 v26, v17

    move/from16 v19, v7

    move/from16 v20, v9

    move/from16 v21, v10

    move/from16 v22, v11

    move/from16 v23, v12

    move/from16 v24, v15

    move/from16 v25, v16

    move/from16 v27, v18

    move-object v15, v3

    move/from16 v16, v4

    move/from16 v17, v5

    move/from16 v18, v6

    goto :goto_4d

    :cond_a8
    const-string v3, "Exceptions"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_ec

    add-int/lit8 v3, v27, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v3}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v3

    new-array v14, v3, [Ljava/lang/String;

    add-int/lit8 v4, v27, 0xa

    const/4 v3, 0x0

    move/from16 v29, v3

    move v3, v4

    move/from16 v4, v29

    :goto_c2
    array-length v5, v14

    if-ge v4, v5, :cond_d4

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v5

    aput-object v5, v14, v4

    add-int/lit8 v5, v3, 0x2

    add-int/lit8 v3, v4, 0x1

    move v4, v3

    move v3, v5

    goto :goto_c2

    :cond_d4
    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v16, v25

    move/from16 v29, v3

    move-object v3, v15

    move/from16 v15, v29

    goto :goto_7e

    :cond_ec
    const-string v3, "Signature"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_113

    add-int/lit8 v3, v27, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v13

    move-object v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v15, v24

    move/from16 v16, v25

    goto/16 :goto_7e

    :cond_113
    const-string v3, "Deprecated"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_13d

    move-object/from16 v0, p2

    iget v3, v0, Lorg/objectweb/asm/Context;->e:I

    const/high16 v4, 0x20000

    or-int/2addr v3, v4

    move-object/from16 v0, p2

    iput v3, v0, Lorg/objectweb/asm/Context;->e:I

    move-object v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v15, v24

    move/from16 v16, v25

    goto/16 :goto_7e

    :cond_13d
    const-string v3, "RuntimeVisibleAnnotations"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_15d

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move v11, v3

    move/from16 v12, v23

    move-object v3, v15

    move/from16 v16, v25

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_15d
    const-string v3, "RuntimeVisibleTypeAnnotations"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_17d

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move v9, v3

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move-object v3, v15

    move/from16 v16, v25

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_17d
    const-string v3, "AnnotationDefault"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_19d

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move/from16 v5, v17

    move v6, v3

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move-object v3, v15

    move/from16 v16, v25

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_19d
    const-string v3, "Synthetic"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_1c8

    move-object/from16 v0, p2

    iget v3, v0, Lorg/objectweb/asm/Context;->e:I

    const v4, 0x41000

    or-int/2addr v3, v4

    move-object/from16 v0, p2

    iput v3, v0, Lorg/objectweb/asm/Context;->e:I

    move-object v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v15, v24

    move/from16 v16, v25

    goto/16 :goto_7e

    :cond_1c8
    const-string v3, "RuntimeInvisibleAnnotations"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_1e8

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move v10, v3

    move/from16 v11, v22

    move/from16 v12, v23

    move-object v3, v15

    move/from16 v16, v25

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_1e8
    const-string v3, "RuntimeInvisibleTypeAnnotations"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_208

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move v7, v3

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move-object v3, v15

    move/from16 v16, v25

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_208
    const-string v3, "RuntimeVisibleParameterAnnotations"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_228

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move v5, v3

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move-object v3, v15

    move/from16 v16, v25

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_228
    const-string v3, "RuntimeInvisibleParameterAnnotations"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_248

    add-int/lit8 v3, v27, 0x8

    move v4, v3

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v16, v25

    move-object v3, v15

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_248
    const-string v3, "MethodParameters"

    invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_268

    add-int/lit8 v3, v27, 0x8

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move v12, v3

    move-object v3, v15

    move/from16 v16, v25

    move/from16 v15, v24

    goto/16 :goto_7e

    :cond_268
    move-object/from16 v0, p2

    iget-object v4, v0, Lorg/objectweb/asm/Context;->a:[Lorg/objectweb/asm/Attribute;

    add-int/lit8 v6, v27, 0x8

    add-int/lit8 v3, v27, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v3}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v7

    const/4 v9, -0x1

    const/4 v10, 0x0

    move-object/from16 v3, p0

    invoke-direct/range {v3 .. v10}, Lorg/objectweb/asm/ClassReader;->a([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;

    move-result-object v3

    if-eqz v3, :cond_41c

    iput-object v15, v3, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v15, v24

    move/from16 v16, v25

    goto/16 :goto_7e

    :cond_298
    add-int/lit8 v6, v27, 0x2

    move-object/from16 v0, p2

    iget v10, v0, Lorg/objectweb/asm/Context;->e:I

    move-object/from16 v0, p2

    iget-object v11, v0, Lorg/objectweb/asm/Context;->f:Ljava/lang/String;

    move-object/from16 v0, p2

    iget-object v12, v0, Lorg/objectweb/asm/Context;->g:Ljava/lang/String;

    move-object/from16 v9, p1

    invoke-virtual/range {v9 .. v14}, Lorg/objectweb/asm/ClassVisitor;->visitMethod(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;

    move-result-object v4

    if-nez v4, :cond_2b0

    move v3, v6

    :goto_2af
    return v3

    :cond_2b0
    instance-of v3, v4, Lorg/objectweb/asm/MethodWriter;

    if-eqz v3, :cond_2f9

    move-object v3, v4

    check-cast v3, Lorg/objectweb/asm/MethodWriter;

    iget-object v5, v3, Lorg/objectweb/asm/MethodWriter;->b:Lorg/objectweb/asm/ClassWriter;

    iget-object v5, v5, Lorg/objectweb/asm/ClassWriter;->M:Lorg/objectweb/asm/ClassReader;

    move-object/from16 v0, p0

    if-ne v5, v0, :cond_2f9

    iget-object v5, v3, Lorg/objectweb/asm/MethodWriter;->g:Ljava/lang/String;

    if-ne v13, v5, :cond_2f9

    const/4 v5, 0x0

    if-nez v14, :cond_2d9

    iget v5, v3, Lorg/objectweb/asm/MethodWriter;->j:I

    if-nez v5, :cond_2d7

    const/4 v5, 0x1

    :cond_2cb
    :goto_2cb
    if-eqz v5, :cond_2f9

    move/from16 v0, v28

    iput v0, v3, Lorg/objectweb/asm/MethodWriter;->h:I

    sub-int v4, v6, v28

    iput v4, v3, Lorg/objectweb/asm/MethodWriter;->i:I

    move v3, v6

    goto :goto_2af

    :cond_2d7
    const/4 v5, 0x0

    goto :goto_2cb

    :cond_2d9
    array-length v7, v14

    iget v9, v3, Lorg/objectweb/asm/MethodWriter;->j:I

    if-ne v7, v9, :cond_2cb

    const/4 v5, 0x1

    array-length v7, v14

    add-int/lit8 v7, v7, -0x1

    :goto_2e2
    if-ltz v7, :cond_2cb

    add-int/lit8 v24, v24, -0x2

    iget-object v9, v3, Lorg/objectweb/asm/MethodWriter;->k:[I

    aget v9, v9, v7

    move-object/from16 v0, p0

    move/from16 v1, v24

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v10

    if-eq v9, v10, :cond_2f6

    const/4 v5, 0x0

    goto :goto_2cb

    :cond_2f6
    add-int/lit8 v7, v7, -0x1

    goto :goto_2e2

    :cond_2f9
    if-eqz v23, :cond_31d

    move-object/from16 v0, p0

    iget-object v3, v0, Lorg/objectweb/asm/ClassReader;->b:[B

    aget-byte v3, v3, v23

    and-int/lit16 v5, v3, 0xff

    add-int/lit8 v3, v23, 0x1

    :goto_305
    if-lez v5, :cond_31d

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v7

    add-int/lit8 v9, v3, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    invoke-virtual {v4, v7, v9}, Lorg/objectweb/asm/MethodVisitor;->visitParameter(Ljava/lang/String;I)V

    add-int/lit8 v5, v5, -0x1

    add-int/lit8 v3, v3, 0x4

    goto :goto_305

    :cond_31d
    if-eqz v18, :cond_330

    invoke-virtual {v4}, Lorg/objectweb/asm/MethodVisitor;->visitAnnotationDefault()Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    const/4 v5, 0x0

    move-object/from16 v0, p0

    move/from16 v1, v18

    invoke-direct {v0, v1, v8, v5, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I

    if-eqz v3, :cond_330

    invoke-virtual {v3}, Lorg/objectweb/asm/AnnotationVisitor;->visitEnd()V

    :cond_330
    if-eqz v22, :cond_355

    move-object/from16 v0, p0

    move/from16 v1, v22

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v3, v22, 0x2

    :goto_33c
    if-lez v5, :cond_355

    add-int/lit8 v7, v3, 0x2

    const/4 v9, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v10, 0x1

    invoke-virtual {v4, v3, v10}, Lorg/objectweb/asm/MethodVisitor;->visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v7, v8, v9, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v5, v5, -0x1

    goto :goto_33c

    :cond_355
    if-eqz v21, :cond_37a

    move-object/from16 v0, p0

    move/from16 v1, v21

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v3, v21, 0x2

    :goto_361
    if-lez v5, :cond_37a

    add-int/lit8 v7, v3, 0x2

    const/4 v9, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v10, 0x0

    invoke-virtual {v4, v3, v10}, Lorg/objectweb/asm/MethodVisitor;->visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v7, v8, v9, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v5, v5, -0x1

    goto :goto_361

    :cond_37a
    if-eqz v20, :cond_3af

    move-object/from16 v0, p0

    move/from16 v1, v20

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v3, v20, 0x2

    :goto_386
    if-lez v5, :cond_3af

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v3}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v3

    add-int/lit8 v7, v3, 0x2

    const/4 v9, 0x1

    move-object/from16 v0, p2

    iget v10, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v11, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v12, 0x1

    invoke-virtual {v4, v10, v11, v3, v12}, Lorg/objectweb/asm/MethodVisitor;->visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v7, v8, v9, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v5, v5, -0x1

    goto :goto_386

    :cond_3af
    if-eqz v19, :cond_3e4

    move-object/from16 v0, p0

    move/from16 v1, v19

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v3, v19, 0x2

    :goto_3bb
    if-lez v5, :cond_3e4

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1, v3}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v3

    add-int/lit8 v7, v3, 0x2

    const/4 v9, 0x1

    move-object/from16 v0, p2

    iget v10, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, p2

    iget-object v11, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p0

    invoke-virtual {v0, v3, v8}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v3

    const/4 v12, 0x0

    invoke-virtual {v4, v10, v11, v3, v12}, Lorg/objectweb/asm/MethodVisitor;->visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v3

    move-object/from16 v0, p0

    invoke-direct {v0, v7, v8, v9, v3}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v3

    add-int/lit8 v5, v5, -0x1

    goto :goto_3bb

    :cond_3e4
    if-eqz v17, :cond_3f0

    const/4 v3, 0x1

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    move/from16 v2, v17

    invoke-direct {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/ClassReader;->b(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)V

    :cond_3f0
    if-eqz v16, :cond_3fc

    const/4 v3, 0x0

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    move/from16 v2, v16

    invoke-direct {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/ClassReader;->b(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)V

    :cond_3fc
    :goto_3fc
    if-eqz v15, :cond_408

    iget-object v3, v15, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    const/4 v5, 0x0

    iput-object v5, v15, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    invoke-virtual {v4, v15}, Lorg/objectweb/asm/MethodVisitor;->visitAttribute(Lorg/objectweb/asm/Attribute;)V

    move-object v15, v3

    goto :goto_3fc

    :cond_408
    if-eqz v25, :cond_416

    invoke-virtual {v4}, Lorg/objectweb/asm/MethodVisitor;->visitCode()V

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    move/from16 v2, v25

    invoke-direct {v0, v4, v1, v2}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;I)V

    :cond_416
    invoke-virtual {v4}, Lorg/objectweb/asm/MethodVisitor;->visitEnd()V

    move v3, v6

    goto/16 :goto_2af

    :cond_41c
    move-object v3, v15

    move/from16 v4, v16

    move/from16 v5, v17

    move/from16 v6, v18

    move/from16 v7, v19

    move/from16 v9, v20

    move/from16 v10, v21

    move/from16 v11, v22

    move/from16 v12, v23

    move/from16 v15, v24

    move/from16 v16, v25

    goto/16 :goto_7e
.end method

.method private b(Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/Context;IZ)V
    .registers 13

    const/4 v2, 0x0

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v1, p3, 0x1

    aget-byte v0, v0, p3

    and-int/lit16 v3, v0, 0xff

    iget-object v0, p2, Lorg/objectweb/asm/Context;->g:Ljava/lang/String;

    invoke-static {v0}, Lorg/objectweb/asm/Type;->getArgumentTypes(Ljava/lang/String;)[Lorg/objectweb/asm/Type;

    move-result-object v0

    array-length v0, v0

    sub-int v4, v0, v3

    move v0, v2

    :goto_13
    if-ge v0, v4, :cond_23

    const-string v5, "Ljava/lang/Synthetic;"

    invoke-virtual {p1, v0, v5, v2}, Lorg/objectweb/asm/MethodVisitor;->visitParameterAnnotation(ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v5

    if-eqz v5, :cond_20

    invoke-virtual {v5}, Lorg/objectweb/asm/AnnotationVisitor;->visitEnd()V

    :cond_20
    add-int/lit8 v0, v0, 0x1

    goto :goto_13

    :cond_23
    iget-object v5, p2, Lorg/objectweb/asm/Context;->c:[C

    move v2, v0

    :goto_26
    add-int v0, v3, v4

    if-ge v2, v0, :cond_48

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    add-int/lit8 v1, v1, 0x2

    :goto_30
    if-lez v0, :cond_44

    invoke-virtual {p0, v1, v5}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p1, v2, v6, p4}, Lorg/objectweb/asm/MethodVisitor;->visitParameterAnnotation(ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v6

    add-int/lit8 v1, v1, 0x2

    const/4 v7, 0x1

    invoke-direct {p0, v1, v5, v7, v6}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v1

    add-int/lit8 v0, v0, -0x1

    goto :goto_30

    :cond_44
    add-int/lit8 v0, v2, 0x1

    move v2, v0

    goto :goto_26

    :cond_48
    return-void
.end method


# virtual methods
.method a(Lorg/objectweb/asm/ClassWriter;)V
    .registers 13

    const/4 v2, 0x1

    const/4 v10, 0x0

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->d:I

    new-array v3, v0, [C

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    array-length v4, v0

    new-array v5, v4, [Lorg/objectweb/asm/Item;

    move v1, v2

    :goto_c
    if-ge v1, v4, :cond_ff

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v0, v0, v1

    iget-object v6, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v7, v0, -0x1

    aget-byte v6, v6, v7

    new-instance v7, Lorg/objectweb/asm/Item;

    invoke-direct {v7, v1}, Lorg/objectweb/asm/Item;-><init>(I)V

    packed-switch v6, :pswitch_data_11c

    :pswitch_20
    invoke-virtual {p0, v0, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v7, v6, v0, v10, v10}, Lorg/objectweb/asm/Item;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move v0, v1

    :goto_28
    iget v1, v7, Lorg/objectweb/asm/Item;->j:I

    rem-int/2addr v1, v4

    aget-object v6, v5, v1

    iput-object v6, v7, Lorg/objectweb/asm/Item;->k:Lorg/objectweb/asm/Item;

    aput-object v7, v5, v1

    add-int/lit8 v1, v0, 0x1

    goto :goto_c

    :pswitch_34
    iget-object v8, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v9, v0, 0x2

    invoke-virtual {p0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    aget v8, v8, v9

    invoke-virtual {p0, v0, v3}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v8, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v9

    add-int/lit8 v8, v8, 0x2

    invoke-virtual {p0, v8, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v7, v6, v0, v9, v8}, Lorg/objectweb/asm/Item;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move v0, v1

    goto :goto_28

    :pswitch_51
    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v0

    invoke-virtual {v7, v0}, Lorg/objectweb/asm/Item;->a(I)V

    move v0, v1

    goto :goto_28

    :pswitch_5a
    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v0

    invoke-static {v0}, Ljava/lang/Float;->intBitsToFloat(I)F

    move-result v0

    invoke-virtual {v7, v0}, Lorg/objectweb/asm/Item;->a(F)V

    move v0, v1

    goto :goto_28

    :pswitch_67
    invoke-virtual {p0, v0, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v8

    add-int/lit8 v0, v0, 0x2

    invoke-virtual {p0, v0, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v7, v6, v8, v0, v10}, Lorg/objectweb/asm/Item;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move v0, v1

    goto :goto_28

    :pswitch_76
    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readLong(I)J

    move-result-wide v8

    invoke-virtual {v7, v8, v9}, Lorg/objectweb/asm/Item;->a(J)V

    add-int/lit8 v0, v1, 0x1

    goto :goto_28

    :pswitch_80
    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readLong(I)J

    move-result-wide v8

    invoke-static {v8, v9}, Ljava/lang/Double;->longBitsToDouble(J)D

    move-result-wide v8

    invoke-virtual {v7, v8, v9}, Lorg/objectweb/asm/Item;->a(D)V

    add-int/lit8 v0, v1, 0x1

    goto :goto_28

    :pswitch_8e
    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->c:[Ljava/lang/String;

    aget-object v0, v0, v1

    if-nez v0, :cond_a6

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v0, v0, v1

    iget-object v8, p0, Lorg/objectweb/asm/ClassReader;->c:[Ljava/lang/String;

    add-int/lit8 v9, v0, 0x2

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    invoke-direct {p0, v9, v0, v3}, Lorg/objectweb/asm/ClassReader;->a(II[C)Ljava/lang/String;

    move-result-object v0

    aput-object v0, v8, v1

    :cond_a6
    invoke-virtual {v7, v6, v0, v10, v10}, Lorg/objectweb/asm/Item;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move v0, v1

    goto/16 :goto_28

    :pswitch_ac
    iget-object v6, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v8, v0, 0x1

    invoke-virtual {p0, v8}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v8

    aget v6, v6, v8

    iget-object v8, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v9, v6, 0x2

    invoke-virtual {p0, v9}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v9

    aget v8, v8, v9

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v0

    add-int/lit8 v0, v0, 0x14

    invoke-virtual {p0, v6, v3}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p0, v8, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v9

    add-int/lit8 v8, v8, 0x2

    invoke-virtual {p0, v8, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v7, v0, v6, v9, v8}, Lorg/objectweb/asm/Item;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move v0, v1

    goto/16 :goto_28

    :pswitch_da
    iget-object v6, p1, Lorg/objectweb/asm/ClassWriter;->A:Lorg/objectweb/asm/ByteVector;

    if-nez v6, :cond_e1

    invoke-direct {p0, p1, v5, v3}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/ClassWriter;[Lorg/objectweb/asm/Item;[C)V

    :cond_e1
    iget-object v6, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v8, v0, 0x2

    invoke-virtual {p0, v8}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v8

    aget v6, v6, v8

    invoke-virtual {p0, v6, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v8

    add-int/lit8 v6, v6, 0x2

    invoke-virtual {p0, v6, v3}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    invoke-virtual {v7, v8, v6, v0}, Lorg/objectweb/asm/Item;->a(Ljava/lang/String;Ljava/lang/String;I)V

    move v0, v1

    goto/16 :goto_28

    :cond_ff
    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v0, v0, v2

    add-int/lit8 v0, v0, -0x1

    iget-object v1, p1, Lorg/objectweb/asm/ClassWriter;->d:Lorg/objectweb/asm/ByteVector;

    iget-object v2, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    iget v3, p0, Lorg/objectweb/asm/ClassReader;->header:I

    sub-int/2addr v3, v0

    invoke-virtual {v1, v2, v0, v3}, Lorg/objectweb/asm/ByteVector;->putByteArray([BII)Lorg/objectweb/asm/ByteVector;

    iput-object v5, p1, Lorg/objectweb/asm/ClassWriter;->e:[Lorg/objectweb/asm/Item;

    const-wide/high16 v0, 0x3fe8000000000000L    # 0.75

    int-to-double v2, v4

    mul-double/2addr v0, v2

    double-to-int v0, v0

    iput v0, p1, Lorg/objectweb/asm/ClassWriter;->f:I

    iput v4, p1, Lorg/objectweb/asm/ClassWriter;->c:I

    return-void

    nop

    :pswitch_data_11c
    .packed-switch 0x1
        :pswitch_8e
        :pswitch_20
        :pswitch_51
        :pswitch_5a
        :pswitch_76
        :pswitch_80
        :pswitch_20
        :pswitch_20
        :pswitch_34
        :pswitch_34
        :pswitch_34
        :pswitch_67
        :pswitch_20
        :pswitch_20
        :pswitch_ac
        :pswitch_20
        :pswitch_20
        :pswitch_da
    .end packed-switch
.end method

.method public accept(Lorg/objectweb/asm/ClassVisitor;I)V
    .registers 4

    const/4 v0, 0x0

    new-array v0, v0, [Lorg/objectweb/asm/Attribute;

    invoke-virtual {p0, p1, v0, p2}, Lorg/objectweb/asm/ClassReader;->accept(Lorg/objectweb/asm/ClassVisitor;[Lorg/objectweb/asm/Attribute;I)V

    return-void
.end method

.method public accept(Lorg/objectweb/asm/ClassVisitor;[Lorg/objectweb/asm/Attribute;I)V
    .registers 36

    move-object/from16 v0, p0

    iget v4, v0, Lorg/objectweb/asm/ClassReader;->header:I

    move-object/from16 v0, p0

    iget v5, v0, Lorg/objectweb/asm/ClassReader;->d:I

    new-array v9, v5, [C

    new-instance v30, Lorg/objectweb/asm/Context;

    invoke-direct/range {v30 .. v30}, Lorg/objectweb/asm/Context;-><init>()V

    move-object/from16 v0, p2

    move-object/from16 v1, v30

    iput-object v0, v1, Lorg/objectweb/asm/Context;->a:[Lorg/objectweb/asm/Attribute;

    move/from16 v0, p3

    move-object/from16 v1, v30

    iput v0, v1, Lorg/objectweb/asm/Context;->b:I

    move-object/from16 v0, v30

    iput-object v9, v0, Lorg/objectweb/asm/Context;->c:[C

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v12

    add-int/lit8 v5, v4, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v5, v9}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v13

    add-int/lit8 v5, v4, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v5, v9}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v15

    add-int/lit8 v5, v4, 0x6

    move-object/from16 v0, p0

    invoke-virtual {v0, v5}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

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

    move-object/from16 v16, v0

    add-int/lit8 v5, v4, 0x8

    const/4 v4, 0x0

    :goto_44
    move-object/from16 v0, v16

    array-length v6, v0

    if-ge v4, v6, :cond_56

    move-object/from16 v0, p0

    invoke-virtual {v0, v5, v9}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v6

    aput-object v6, v16, v4

    add-int/lit8 v5, v5, 0x2

    add-int/lit8 v4, v4, 0x1

    goto :goto_44

    :cond_56
    const/4 v14, 0x0

    const/16 v27, 0x0

    const/16 v26, 0x0

    const/16 v25, 0x0

    const/16 v24, 0x0

    const/16 v23, 0x0

    const/16 v22, 0x0

    const/16 v21, 0x0

    const/16 v20, 0x0

    const/16 v19, 0x0

    const/16 v18, 0x0

    const/16 v17, 0x0

    invoke-direct/range {p0 .. p0}, Lorg/objectweb/asm/ClassReader;->a()I

    move-result v5

    move-object/from16 v0, p0

    invoke-virtual {v0, v5}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    move/from16 v28, v4

    move/from16 v29, v5

    :goto_7b
    if-lez v28, :cond_317

    add-int/lit8 v4, v29, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v6

    const-string v4, "SourceFile"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_de

    add-int/lit8 v4, v29, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v18, v4

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v4, v17

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    move-object/from16 v17, v26

    :goto_af
    add-int/lit8 v21, v29, 0x4

    move-object/from16 v0, p0

    move/from16 v1, v21

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v21

    add-int/lit8 v21, v21, 0x6

    add-int v22, v29, v21

    add-int/lit8 v21, v28, -0x1

    move/from16 v28, v21

    move-object/from16 v23, v11

    move-object/from16 v24, v12

    move-object/from16 v25, v14

    move-object/from16 v26, v17

    move-object/from16 v27, v18

    move/from16 v29, v22

    move-object/from16 v17, v4

    move/from16 v18, v5

    move/from16 v21, v8

    move-object/from16 v14, v19

    move/from16 v12, v20

    move/from16 v22, v10

    move/from16 v19, v6

    move/from16 v20, v7

    goto :goto_7b

    :cond_de
    const-string v4, "InnerClasses"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_102

    add-int/lit8 v4, v29, 0x8

    move v5, v4

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v18, v27

    move-object/from16 v4, v17

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    move-object/from16 v17, v26

    goto :goto_af

    :cond_102
    const-string v4, "EnclosingMethod"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_152

    add-int/lit8 v4, v29, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v6

    add-int/lit8 v4, v29, 0xa

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    if-eqz v4, :cond_4ac

    move-object/from16 v0, p0

    iget-object v5, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v5, v5, v4

    move-object/from16 v0, p0

    invoke-virtual {v0, v5, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v5

    move-object/from16 v0, p0

    iget-object v7, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v4, v7, v4

    add-int/lit8 v4, v4, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    :goto_136
    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object v11, v4

    move-object/from16 v4, v17

    move/from16 v20, v12

    move-object v12, v5

    move-object/from16 v17, v26

    move/from16 v5, v18

    move-object/from16 v18, v27

    move-object/from16 v31, v6

    move/from16 v6, v19

    move-object/from16 v19, v14

    move-object/from16 v14, v31

    goto/16 :goto_af

    :cond_152
    const-string v4, "Signature"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_17e

    add-int/lit8 v4, v29, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v14

    move-object/from16 v4, v17

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v17, v26

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    goto/16 :goto_af

    :cond_17e
    const-string v4, "RuntimeVisibleAnnotations"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_1a3

    add-int/lit8 v4, v29, 0x8

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move v10, v4

    move-object/from16 v11, v23

    move-object/from16 v4, v17

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    move-object/from16 v17, v26

    goto/16 :goto_af

    :cond_1a3
    const-string v4, "RuntimeVisibleTypeAnnotations"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_1c8

    add-int/lit8 v4, v29, 0x8

    move/from16 v5, v18

    move/from16 v6, v19

    move v7, v4

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move-object/from16 v4, v17

    move-object/from16 v17, v26

    move-object/from16 v14, v25

    goto/16 :goto_af

    :cond_1c8
    const-string v4, "Deprecated"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_1ef

    const/high16 v4, 0x20000

    or-int/2addr v12, v4

    move-object/from16 v4, v17

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v17, v26

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    goto/16 :goto_af

    :cond_1ef
    const-string v4, "Synthetic"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_217

    const v4, 0x41000

    or-int/2addr v12, v4

    move-object/from16 v4, v17

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v17, v26

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    goto/16 :goto_af

    :cond_217
    const-string v4, "SourceDebugExtension"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_24f

    add-int/lit8 v4, v29, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v4

    add-int/lit8 v5, v29, 0x8

    new-array v6, v4, [C

    move-object/from16 v0, p0

    invoke-direct {v0, v5, v4, v6}, Lorg/objectweb/asm/ClassReader;->a(II[C)Ljava/lang/String;

    move-result-object v4

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    move-object/from16 v31, v4

    move-object/from16 v4, v17

    move-object/from16 v17, v31

    goto/16 :goto_af

    :cond_24f
    const-string v4, "RuntimeInvisibleAnnotations"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_274

    add-int/lit8 v4, v29, 0x8

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move v8, v4

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v4, v17

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    move-object/from16 v17, v26

    goto/16 :goto_af

    :cond_274
    const-string v4, "RuntimeInvisibleTypeAnnotations"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_299

    add-int/lit8 v4, v29, 0x8

    move/from16 v5, v18

    move v6, v4

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v19, v14

    move-object/from16 v14, v25

    move-object/from16 v18, v27

    move-object/from16 v4, v17

    move/from16 v20, v12

    move-object/from16 v17, v26

    move-object/from16 v12, v24

    goto/16 :goto_af

    :cond_299
    const-string v4, "BootstrapMethods"

    invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_2e3

    add-int/lit8 v4, v29, 0x8

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    new-array v6, v4, [I

    const/4 v5, 0x0

    add-int/lit8 v4, v29, 0xa

    :goto_2ae
    array-length v7, v6

    if-ge v5, v7, :cond_2c3

    aput v4, v6, v5

    add-int/lit8 v7, v4, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v7}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v7

    add-int/lit8 v7, v7, 0x2

    shl-int/lit8 v7, v7, 0x1

    add-int/2addr v4, v7

    add-int/lit8 v5, v5, 0x1

    goto :goto_2ae

    :cond_2c3
    move-object/from16 v0, v30

    iput-object v6, v0, Lorg/objectweb/asm/Context;->d:[I

    move-object/from16 v4, v17

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v17, v26

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    goto/16 :goto_af

    :cond_2e3
    add-int/lit8 v7, v29, 0x8

    add-int/lit8 v4, v29, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v8

    const/4 v10, -0x1

    const/4 v11, 0x0

    move-object/from16 v4, p0

    move-object/from16 v5, p2

    invoke-direct/range {v4 .. v11}, Lorg/objectweb/asm/ClassReader;->a([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;

    move-result-object v4

    if-eqz v4, :cond_490

    move-object/from16 v0, v17

    iput-object v0, v4, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v17, v26

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    goto/16 :goto_af

    :cond_317
    move-object/from16 v0, p0

    iget-object v4, v0, Lorg/objectweb/asm/ClassReader;->a:[I

    const/4 v5, 0x1

    aget v4, v4, v5

    add-int/lit8 v4, v4, -0x7

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v11

    move-object/from16 v10, p1

    invoke-virtual/range {v10 .. v16}, Lorg/objectweb/asm/ClassVisitor;->visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V

    and-int/lit8 v4, p3, 0x2

    if-nez v4, :cond_33c

    if-nez v27, :cond_333

    if-eqz v26, :cond_33c

    :cond_333
    move-object/from16 v0, p1

    move-object/from16 v1, v27

    move-object/from16 v2, v26

    invoke-virtual {v0, v1, v2}, Lorg/objectweb/asm/ClassVisitor;->visitSource(Ljava/lang/String;Ljava/lang/String;)V

    :cond_33c
    if-eqz v25, :cond_349

    move-object/from16 v0, p1

    move-object/from16 v1, v25

    move-object/from16 v2, v24

    move-object/from16 v3, v23

    invoke-virtual {v0, v1, v2, v3}, Lorg/objectweb/asm/ClassVisitor;->visitOuterClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :cond_349
    if-eqz v22, :cond_370

    move-object/from16 v0, p0

    move/from16 v1, v22

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v4, v22, 0x2

    :goto_355
    if-lez v5, :cond_370

    add-int/lit8 v6, v4, 0x2

    const/4 v7, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    const/4 v8, 0x1

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassVisitor;->visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v4

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v9, v7, v4}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v4

    add-int/lit8 v5, v5, -0x1

    goto :goto_355

    :cond_370
    if-eqz v21, :cond_397

    move-object/from16 v0, p0

    move/from16 v1, v21

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v4, v21, 0x2

    :goto_37c
    if-lez v5, :cond_397

    add-int/lit8 v6, v4, 0x2

    const/4 v7, 0x1

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    const/4 v8, 0x0

    move-object/from16 v0, p1

    invoke-virtual {v0, v4, v8}, Lorg/objectweb/asm/ClassVisitor;->visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v4

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v9, v7, v4}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v4

    add-int/lit8 v5, v5, -0x1

    goto :goto_37c

    :cond_397
    if-eqz v20, :cond_3ce

    move-object/from16 v0, p0

    move/from16 v1, v20

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v4, v20, 0x2

    :goto_3a3
    if-lez v5, :cond_3ce

    move-object/from16 v0, p0

    move-object/from16 v1, v30

    invoke-direct {v0, v1, v4}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v4

    add-int/lit8 v6, v4, 0x2

    const/4 v7, 0x1

    move-object/from16 v0, v30

    iget v8, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, v30

    iget-object v10, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    const/4 v11, 0x1

    move-object/from16 v0, p1

    invoke-virtual {v0, v8, v10, v4, v11}, Lorg/objectweb/asm/ClassVisitor;->visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v4

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v9, v7, v4}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v4

    add-int/lit8 v5, v5, -0x1

    goto :goto_3a3

    :cond_3ce
    if-eqz v19, :cond_405

    move-object/from16 v0, p0

    move/from16 v1, v19

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v5

    add-int/lit8 v4, v19, 0x2

    :goto_3da
    if-lez v5, :cond_405

    move-object/from16 v0, p0

    move-object/from16 v1, v30

    invoke-direct {v0, v1, v4}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/Context;I)I

    move-result v4

    add-int/lit8 v6, v4, 0x2

    const/4 v7, 0x1

    move-object/from16 v0, v30

    iget v8, v0, Lorg/objectweb/asm/Context;->i:I

    move-object/from16 v0, v30

    iget-object v10, v0, Lorg/objectweb/asm/Context;->j:Lorg/objectweb/asm/TypePath;

    move-object/from16 v0, p0

    invoke-virtual {v0, v4, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    const/4 v11, 0x0

    move-object/from16 v0, p1

    invoke-virtual {v0, v8, v10, v4, v11}, Lorg/objectweb/asm/ClassVisitor;->visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;

    move-result-object v4

    move-object/from16 v0, p0

    invoke-direct {v0, v6, v9, v7, v4}, Lorg/objectweb/asm/ClassReader;->a(I[CZLorg/objectweb/asm/AnnotationVisitor;)I

    move-result v4

    add-int/lit8 v5, v5, -0x1

    goto :goto_3da

    :cond_405
    :goto_405
    if-eqz v17, :cond_41a

    move-object/from16 v0, v17

    iget-object v4, v0, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    const/4 v5, 0x0

    move-object/from16 v0, v17

    iput-object v5, v0, Lorg/objectweb/asm/Attribute;->a:Lorg/objectweb/asm/Attribute;

    move-object/from16 v0, p1

    move-object/from16 v1, v17

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassVisitor;->visitAttribute(Lorg/objectweb/asm/Attribute;)V

    move-object/from16 v17, v4

    goto :goto_405

    :cond_41a
    if-eqz v18, :cond_450

    add-int/lit8 v5, v18, 0x2

    move-object/from16 v0, p0

    move/from16 v1, v18

    invoke-virtual {v0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    :goto_426
    if-lez v4, :cond_450

    move-object/from16 v0, p0

    invoke-virtual {v0, v5, v9}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v6

    add-int/lit8 v7, v5, 0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v7, v9}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v7

    add-int/lit8 v8, v5, 0x4

    move-object/from16 v0, p0

    invoke-virtual {v0, v8, v9}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v8

    add-int/lit8 v10, v5, 0x6

    move-object/from16 v0, p0

    invoke-virtual {v0, v10}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v10

    move-object/from16 v0, p1

    invoke-virtual {v0, v6, v7, v8, v10}, Lorg/objectweb/asm/ClassVisitor;->visitInnerClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V

    add-int/lit8 v5, v5, 0x8

    add-int/lit8 v4, v4, -0x1

    goto :goto_426

    :cond_450
    move-object/from16 v0, p0

    iget v4, v0, Lorg/objectweb/asm/ClassReader;->header:I

    add-int/lit8 v4, v4, 0xa

    move-object/from16 v0, v16

    array-length v5, v0

    mul-int/lit8 v5, v5, 0x2

    add-int/2addr v5, v4

    add-int/lit8 v4, v5, -0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    :goto_464
    if-lez v4, :cond_473

    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, v30

    invoke-direct {v0, v1, v2, v5}, Lorg/objectweb/asm/ClassReader;->a(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I

    move-result v5

    add-int/lit8 v4, v4, -0x1

    goto :goto_464

    :cond_473
    add-int/lit8 v5, v5, 0x2

    add-int/lit8 v4, v5, -0x2

    move-object/from16 v0, p0

    invoke-virtual {v0, v4}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v4

    :goto_47d
    if-lez v4, :cond_48c

    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, v30

    invoke-direct {v0, v1, v2, v5}, Lorg/objectweb/asm/ClassReader;->b(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/Context;I)I

    move-result v5

    add-int/lit8 v4, v4, -0x1

    goto :goto_47d

    :cond_48c
    invoke-virtual/range {p1 .. p1}, Lorg/objectweb/asm/ClassVisitor;->visitEnd()V

    return-void

    :cond_490
    move-object/from16 v4, v17

    move/from16 v5, v18

    move/from16 v6, v19

    move/from16 v7, v20

    move/from16 v8, v21

    move/from16 v10, v22

    move-object/from16 v11, v23

    move-object/from16 v17, v26

    move-object/from16 v18, v27

    move-object/from16 v19, v14

    move/from16 v20, v12

    move-object/from16 v12, v24

    move-object/from16 v14, v25

    goto/16 :goto_af

    :cond_4ac
    move-object/from16 v4, v23

    move-object/from16 v5, v24

    goto/16 :goto_136
.end method

.method public getAccess()I
    .registers 2

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->header:I

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    return v0
.end method

.method public getClassName()Ljava/lang/String;
    .registers 3

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->header:I

    add-int/lit8 v0, v0, 0x2

    iget v1, p0, Lorg/objectweb/asm/ClassReader;->d:I

    new-array v1, v1, [C

    invoke-virtual {p0, v0, v1}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public getInterfaces()[Ljava/lang/String;
    .registers 7

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->header:I

    add-int/lit8 v1, v0, 0x6

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v2

    new-array v3, v2, [Ljava/lang/String;

    if-lez v2, :cond_1e

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->d:I

    new-array v4, v0, [C

    const/4 v0, 0x0

    :goto_11
    if-ge v0, v2, :cond_1e

    add-int/lit8 v1, v1, 0x2

    invoke-virtual {p0, v1, v4}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v5

    aput-object v5, v3, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_11

    :cond_1e
    return-object v3
.end method

.method public getItem(I)I
    .registers 3

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v0, v0, p1

    return v0
.end method

.method public getItemCount()I
    .registers 2

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    array-length v0, v0

    return v0
.end method

.method public getMaxStringLength()I
    .registers 2

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->d:I

    return v0
.end method

.method public getSuperName()Ljava/lang/String;
    .registers 3

    iget v0, p0, Lorg/objectweb/asm/ClassReader;->header:I

    add-int/lit8 v0, v0, 0x4

    iget v1, p0, Lorg/objectweb/asm/ClassReader;->d:I

    new-array v1, v1, [C

    invoke-virtual {p0, v0, v1}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public readByte(I)I
    .registers 3

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    aget-byte v0, v0, p1

    and-int/lit16 v0, v0, 0xff

    return v0
.end method

.method public readClass(I[C)Ljava/lang/String;
    .registers 5

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    invoke-virtual {p0, p1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    aget v0, v0, v1

    invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public readConst(I[C)Ljava/lang/Object;
    .registers 8

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v1, v0, p1

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    add-int/lit8 v2, v1, -0x1

    aget-byte v0, v0, v2

    packed-switch v0, :pswitch_data_7e

    :pswitch_d
    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readByte(I)I

    move-result v2

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    add-int/lit8 v1, v1, 0x1

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    aget v1, v0, v1

    invoke-virtual {p0, v1, p2}, Lorg/objectweb/asm/ClassReader;->readClass(I[C)Ljava/lang/String;

    move-result-object v3

    add-int/lit8 v1, v1, 0x2

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    aget v0, v0, v1

    invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v1

    add-int/lit8 v0, v0, 0x2

    invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v4

    new-instance v0, Lorg/objectweb/asm/Handle;

    invoke-direct {v0, v2, v3, v1, v4}, Lorg/objectweb/asm/Handle;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_36
    return-object v0

    :pswitch_37
    new-instance v0, Ljava/lang/Integer;

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v1

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

    goto :goto_36

    :pswitch_41
    new-instance v0, Ljava/lang/Float;

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v1

    invoke-static {v1}, Ljava/lang/Float;->intBitsToFloat(I)F

    move-result v1

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

    goto :goto_36

    :pswitch_4f
    new-instance v0, Ljava/lang/Long;

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readLong(I)J

    move-result-wide v2

    invoke-direct {v0, v2, v3}, Ljava/lang/Long;-><init>(J)V

    goto :goto_36

    :pswitch_59
    new-instance v0, Ljava/lang/Double;

    invoke-virtual {p0, v1}, Lorg/objectweb/asm/ClassReader;->readLong(I)J

    move-result-wide v2

    invoke-static {v2, v3}, Ljava/lang/Double;->longBitsToDouble(J)D

    move-result-wide v2

    invoke-direct {v0, v2, v3}, Ljava/lang/Double;-><init>(D)V

    goto :goto_36

    :pswitch_67
    invoke-virtual {p0, v1, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;

    move-result-object v0

    goto :goto_36

    :pswitch_70
    invoke-virtual {p0, v1, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    goto :goto_36

    :pswitch_75
    invoke-virtual {p0, v1, p2}, Lorg/objectweb/asm/ClassReader;->readUTF8(I[C)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lorg/objectweb/asm/Type;->getMethodType(Ljava/lang/String;)Lorg/objectweb/asm/Type;

    move-result-object v0

    goto :goto_36

    :pswitch_data_7e
    .packed-switch 0x3
        :pswitch_37
        :pswitch_41
        :pswitch_4f
        :pswitch_59
        :pswitch_67
        :pswitch_70
        :pswitch_d
        :pswitch_d
        :pswitch_d
        :pswitch_d
        :pswitch_d
        :pswitch_d
        :pswitch_d
        :pswitch_75
    .end packed-switch
.end method

.method public readInt(I)I
    .registers 5

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    aget-byte v1, v0, p1

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x18

    add-int/lit8 v2, p1, 0x1

    aget-byte v2, v0, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    or-int/2addr v1, v2

    add-int/lit8 v2, p1, 0x2

    aget-byte v2, v0, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    or-int/2addr v1, v2

    add-int/lit8 v2, p1, 0x3

    aget-byte v0, v0, v2

    and-int/lit16 v0, v0, 0xff

    or-int/2addr v0, v1

    return v0
.end method

.method protected readLabel(I[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Label;
    .registers 4

    aget-object v0, p2, p1

    if-nez v0, :cond_b

    new-instance v0, Lorg/objectweb/asm/Label;

    invoke-direct {v0}, Lorg/objectweb/asm/Label;-><init>()V

    aput-object v0, p2, p1

    :cond_b
    aget-object v0, p2, p1

    return-object v0
.end method

.method public readLong(I)J
    .registers 8

    invoke-virtual {p0, p1}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v0

    int-to-long v0, v0

    add-int/lit8 v2, p1, 0x4

    invoke-virtual {p0, v2}, Lorg/objectweb/asm/ClassReader;->readInt(I)I

    move-result v2

    int-to-long v2, v2

    const-wide v4, 0xffffffffL

    and-long/2addr v2, v4

    const/16 v4, 0x20

    shl-long/2addr v0, v4

    or-long/2addr v0, v2

    return-wide v0
.end method

.method public readShort(I)S
    .registers 5

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    aget-byte v1, v0, p1

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    add-int/lit8 v2, p1, 0x1

    aget-byte v0, v0, v2

    and-int/lit16 v0, v0, 0xff

    or-int/2addr v0, v1

    int-to-short v0, v0

    return v0
.end method

.method public readUTF8(I[C)Ljava/lang/String;
    .registers 7

    invoke-virtual {p0, p1}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v1

    if-eqz p1, :cond_8

    if-nez v1, :cond_a

    :cond_8
    const/4 v0, 0x0

    :cond_9
    :goto_9
    return-object v0

    :cond_a
    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->c:[Ljava/lang/String;

    aget-object v0, v0, v1

    if-nez v0, :cond_9

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->a:[I

    aget v0, v0, v1

    iget-object v2, p0, Lorg/objectweb/asm/ClassReader;->c:[Ljava/lang/String;

    add-int/lit8 v3, v0, 0x2

    invoke-virtual {p0, v0}, Lorg/objectweb/asm/ClassReader;->readUnsignedShort(I)I

    move-result v0

    invoke-direct {p0, v3, v0, p2}, Lorg/objectweb/asm/ClassReader;->a(II[C)Ljava/lang/String;

    move-result-object v0

    aput-object v0, v2, v1

    goto :goto_9
.end method

.method public readUnsignedShort(I)I
    .registers 5

    iget-object v0, p0, Lorg/objectweb/asm/ClassReader;->b:[B

    aget-byte v1, v0, p1

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    add-int/lit8 v2, p1, 0x1

    aget-byte v0, v0, v2

    and-int/lit16 v0, v0, 0xff

    or-int/2addr v0, v1

    return v0
.end method