b.smali

.class public Lcom/keniu/security/update/lzma/b;
.super Ljava/io/FilterInputStream;
.source "LzmaInputStream.java"


# instance fields
.field a:Z

.field b:Lcom/keniu/security/update/lzma/a;

.field c:[B

.field d:I

.field e:I

.field f:I

.field g:I

.field h:I

.field i:I

.field j:I

.field k:I

.field l:I

.field m:I

.field n:I

.field o:Z

.field p:I

.field q:[I

.field r:[B

.field s:I

.field t:I

.field u:J

.field v:J


# direct methods
.method public constructor <init>(Ljava/io/InputStream;)V
    .registers 3
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 61
    invoke-direct {p0, p1}, Ljava/io/FilterInputStream;-><init>(Ljava/io/InputStream;)V

    .line 63
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/keniu/security/update/lzma/b;->a:Z

    .line 65
    invoke-direct {p0}, Lcom/keniu/security/update/lzma/b;->b()V

    .line 67
    invoke-direct {p0}, Lcom/keniu/security/update/lzma/b;->a()V

    .line 68
    return-void
.end method

.method private a()V
    .registers 5
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 224
    iget-wide v0, p0, Lcom/keniu/security/update/lzma/b;->u:J

    iget-wide v2, p0, Lcom/keniu/security/update/lzma/b;->v:J

    cmp-long v0, v0, v2

    if-gez v0, :cond_24

    .line 225
    const/4 v0, 0x0

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->t:I

    .line 226
    iget-wide v0, p0, Lcom/keniu/security/update/lzma/b;->v:J

    iget-wide v2, p0, Lcom/keniu/security/update/lzma/b;->u:J

    sub-long/2addr v0, v2

    .line 228
    const-wide/32 v2, 0x10000

    cmp-long v2, v0, v2

    if-lez v2, :cond_25

    .line 229
    const/high16 v0, 0x10000

    .line 233
    :goto_19
    invoke-direct {p0, v0}, Lcom/keniu/security/update/lzma/b;->a(I)V

    .line 235
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->s:I

    if-nez v0, :cond_27

    .line 236
    iget-wide v0, p0, Lcom/keniu/security/update/lzma/b;->u:J

    iput-wide v0, p0, Lcom/keniu/security/update/lzma/b;->v:J

    .line 241
    :cond_24
    :goto_24
    return-void

    .line 231
    :cond_25
    long-to-int v0, v0

    goto :goto_19

    .line 238
    :cond_27
    iget-wide v0, p0, Lcom/keniu/security/update/lzma/b;->u:J

    iget v2, p0, Lcom/keniu/security/update/lzma/b;->s:I

    int-to-long v2, v2

    add-long/2addr v0, v2

    iput-wide v0, p0, Lcom/keniu/security/update/lzma/b;->u:J

    goto :goto_24
.end method

.method private a(I)V
    .registers 15
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    const/4 v12, -0x1

    const/4 v1, 0x7

    const/4 v11, 0x4

    const/4 v10, 0x1

    const/4 v9, 0x0

    .line 72
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->m:I

    shl-int v0, v10, v0

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

    .line 73
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->l:I

    shl-int v0, v10, v0

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

    .line 75
    iput v9, p0, Lcom/keniu/security/update/lzma/b;->s:I

    .line 77
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    if-ne v0, v12, :cond_18

    .line 221
    :goto_17
    return-void

    .line 81
    :cond_18
    :goto_18
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    if-lez v0, :cond_51

    iget v0, p0, Lcom/keniu/security/update/lzma/b;->s:I

    if-ge v0, p1, :cond_51

    .line 82
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->g:I

    sub-int/2addr v0, v4

    .line 83
    if-gez v0, :cond_2a

    .line 84
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->d:I

    add-int/2addr v0, v4

    .line 85
    :cond_2a
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->r:[B

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->s:I

    add-int/lit8 v6, v5, 0x1

    iput v6, p0, Lcom/keniu/security/update/lzma/b;->s:I

    iget-object v6, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    iget v7, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget-object v8, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    aget-byte v0, v8, v0

    aput-byte v0, v6, v7

    aput-byte v0, v4, v5

    .line 86
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->e:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->d:I

    if-ne v0, v4, :cond_4a

    .line 87
    iput v9, p0, Lcom/keniu/security/update/lzma/b;->e:I

    .line 88
    :cond_4a
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

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

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    goto :goto_18

    .line 90
    :cond_51
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->e:I

    if-nez v0, :cond_cc

    .line 91
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->d:I

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

    aget-byte v0, v0, v4

    .line 95
    :cond_5d
    :goto_5d
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->s:I

    if-ge v4, p1, :cond_197

    .line 96
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->s:I

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->f:I

    add-int/2addr v4, v5

    and-int/2addr v4, v2

    .line 98
    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v6, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v7, p0, Lcom/keniu/security/update/lzma/b;->n:I

    shl-int/lit8 v7, v7, 0x4

    add-int/lit8 v7, v7, 0x0

    add-int/2addr v7, v4

    invoke-virtual {v5, v6, v7}, Lcom/keniu/security/update/lzma/a;->a([II)I

    move-result v5

    if-nez v5, :cond_f2

    .line 99
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->s:I

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->f:I

    add-int/2addr v4, v5

    and-int/2addr v4, v3

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->k:I

    shl-int/2addr v4, v5

    and-int/lit16 v0, v0, 0xff

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->k:I

    rsub-int/lit8 v5, v5, 0x8

    shr-int/2addr v0, v5

    add-int/2addr v0, v4

    mul-int/lit16 v0, v0, 0x300

    add-int/lit16 v4, v0, 0x736

    .line 103
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    if-ge v0, v11, :cond_d5

    .line 104
    iput v9, p0, Lcom/keniu/security/update/lzma/b;->n:I

    .line 109
    :goto_93
    iget-boolean v0, p0, Lcom/keniu/security/update/lzma/b;->o:Z

    if-eqz v0, :cond_e9

    .line 110
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->g:I

    sub-int/2addr v0, v5

    .line 111
    if-gez v0, :cond_a1

    .line 112
    iget v5, p0, Lcom/keniu/security/update/lzma/b;->d:I

    add-int/2addr v0, v5

    .line 113
    :cond_a1
    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    aget-byte v0, v5, v0

    .line 115
    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v6, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    invoke-virtual {v5, v6, v4, v0}, Lcom/keniu/security/update/lzma/a;->a([IIB)B

    move-result v0

    .line 116
    iput-boolean v9, p0, Lcom/keniu/security/update/lzma/b;->o:Z

    .line 121
    :goto_af
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->r:[B

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->s:I

    add-int/lit8 v6, v5, 0x1

    iput v6, p0, Lcom/keniu/security/update/lzma/b;->s:I

    aput-byte v0, v4, v5

    .line 123
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->e:I

    aput-byte v0, v4, v5

    .line 124
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->e:I

    add-int/lit8 v4, v4, 0x1

    iput v4, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->d:I

    if-ne v4, v5, :cond_5d

    .line 125
    iput v9, p0, Lcom/keniu/security/update/lzma/b;->e:I

    goto :goto_5d

    .line 93
    :cond_cc
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->e:I

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

    aget-byte v0, v0, v4

    goto :goto_5d

    .line 105
    :cond_d5
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    const/16 v5, 0xa

    if-ge v0, v5, :cond_e2

    .line 106
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

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

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    goto :goto_93

    .line 108
    :cond_e2
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

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

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    goto :goto_93

    .line 118
    :cond_e9
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    invoke-virtual {v0, v5, v4}, Lcom/keniu/security/update/lzma/a;->b([II)B

    move-result v0

    goto :goto_af

    .line 128
    :cond_f2
    iput-boolean v10, p0, Lcom/keniu/security/update/lzma/b;->o:Z

    .line 129
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v6, p0, Lcom/keniu/security/update/lzma/b;->n:I

    add-int/lit16 v6, v6, 0xc0

    invoke-virtual {v0, v5, v6}, Lcom/keniu/security/update/lzma/a;->a([II)I

    move-result v0

    if-ne v0, v10, :cond_1bf

    .line 130
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v6, p0, Lcom/keniu/security/update/lzma/b;->n:I

    add-int/lit16 v6, v6, 0xcc

    invoke-virtual {v0, v5, v6}, Lcom/keniu/security/update/lzma/a;->a([II)I

    move-result v0

    if-nez v0, :cond_167

    .line 131
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v6, p0, Lcom/keniu/security/update/lzma/b;->n:I

    shl-int/lit8 v6, v6, 0x4

    add-int/lit16 v6, v6, 0xf0

    add-int/2addr v6, v4

    invoke-virtual {v0, v5, v6}, Lcom/keniu/security/update/lzma/a;->a([II)I

    move-result v0

    if-nez v0, :cond_17d

    .line 133
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->s:I

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->f:I

    add-int/2addr v0, v4

    if-nez v0, :cond_130

    .line 134
    new-instance v0, Lcom/keniu/security/update/lzma/LzmaException;

    const-string v1, "LZMA : Data Error"

    invoke-direct {v0, v1}, Lcom/keniu/security/update/lzma/LzmaException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 136
    :cond_130
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    if-ge v0, v1, :cond_164

    const/16 v0, 0x9

    :goto_136
    iput v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    .line 138
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->g:I

    sub-int/2addr v0, v4

    .line 139
    if-gez v0, :cond_142

    .line 140
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->d:I

    add-int/2addr v0, v4

    .line 141
    :cond_142
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    aget-byte v0, v4, v0

    .line 142
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->e:I

    aput-byte v0, v4, v5

    .line 143
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->e:I

    add-int/lit8 v4, v4, 0x1

    iput v4, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->d:I

    if-ne v4, v5, :cond_158

    .line 144
    iput v9, p0, Lcom/keniu/security/update/lzma/b;->e:I

    .line 146
    :cond_158
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->r:[B

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->s:I

    add-int/lit8 v6, v5, 0x1

    iput v6, p0, Lcom/keniu/security/update/lzma/b;->s:I

    aput-byte v0, v4, v5

    goto/16 :goto_5d

    .line 136
    :cond_164
    const/16 v0, 0xb

    goto :goto_136

    .line 151
    :cond_167
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v6, p0, Lcom/keniu/security/update/lzma/b;->n:I

    add-int/lit16 v6, v6, 0xd8

    invoke-virtual {v0, v5, v6}, Lcom/keniu/security/update/lzma/a;->a([II)I

    move-result v0

    if-nez v0, :cond_1a0

    .line 152
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->h:I

    .line 162
    :goto_177
    iget v5, p0, Lcom/keniu/security/update/lzma/b;->g:I

    iput v5, p0, Lcom/keniu/security/update/lzma/b;->h:I

    .line 163
    iput v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    .line 165
    :cond_17d
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    const/16 v6, 0x534

    invoke-virtual {v0, v5, v6, v4}, Lcom/keniu/security/update/lzma/a;->c([III)I

    move-result v0

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    .line 166
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    if-ge v0, v1, :cond_1bc

    const/16 v0, 0x8

    :goto_18f
    iput v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    .line 191
    :goto_191
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    if-nez v0, :cond_246

    .line 193
    iput v12, p0, Lcom/keniu/security/update/lzma/b;->p:I

    .line 220
    :cond_197
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->f:I

    iget v1, p0, Lcom/keniu/security/update/lzma/b;->s:I

    add-int/2addr v0, v1

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->f:I

    goto/16 :goto_17

    .line 154
    :cond_1a0
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v6, p0, Lcom/keniu/security/update/lzma/b;->n:I

    add-int/lit16 v6, v6, 0xe4

    invoke-virtual {v0, v5, v6}, Lcom/keniu/security/update/lzma/a;->a([II)I

    move-result v0

    if-nez v0, :cond_1b5

    .line 155
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->i:I

    .line 160
    :goto_1b0
    iget v5, p0, Lcom/keniu/security/update/lzma/b;->h:I

    iput v5, p0, Lcom/keniu/security/update/lzma/b;->i:I

    goto :goto_177

    .line 157
    :cond_1b5
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->j:I

    .line 158
    iget v5, p0, Lcom/keniu/security/update/lzma/b;->i:I

    iput v5, p0, Lcom/keniu/security/update/lzma/b;->j:I

    goto :goto_1b0

    .line 166
    :cond_1bc
    const/16 v0, 0xb

    goto :goto_18f

    .line 168
    :cond_1bf
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->i:I

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->j:I

    .line 169
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->h:I

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->i:I

    .line 170
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->h:I

    .line 171
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    if-ge v0, v1, :cond_21f

    move v0, v1

    :goto_1d0
    iput v0, p0, Lcom/keniu/security/update/lzma/b;->n:I

    .line 172
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    const/16 v6, 0x332

    invoke-virtual {v0, v5, v6, v4}, Lcom/keniu/security/update/lzma/a;->c([III)I

    move-result v0

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    .line 173
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    if-ge v0, v11, :cond_222

    iget v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

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

    add-int/lit16 v0, v0, 0x1b0

    const/4 v6, 0x6

    invoke-virtual {v4, v5, v0, v6}, Lcom/keniu/security/update/lzma/a;->a([III)I

    move-result v0

    .line 176
    if-lt v0, v11, :cond_243

    .line 177
    shr-int/lit8 v4, v0, 0x1

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

    .line 178
    and-int/lit8 v5, v0, 0x1

    or-int/lit8 v5, v5, 0x2

    shl-int/2addr v5, v4

    iput v5, p0, Lcom/keniu/security/update/lzma/b;->g:I

    .line 179
    const/16 v5, 0xe

    if-ge v0, v5, :cond_224

    .line 180
    iget v5, p0, Lcom/keniu/security/update/lzma/b;->g:I

    iget-object v6, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v7, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    iget v8, p0, Lcom/keniu/security/update/lzma/b;->g:I

    add-int/lit16 v8, v8, 0x2b0

    sub-int v0, v8, v0

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

    invoke-virtual {v6, v7, v0, v4}, Lcom/keniu/security/update/lzma/a;->b([III)I

    move-result v0

    add-int/2addr v0, v5

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    .line 189
    :goto_217
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    goto/16 :goto_191

    .line 171
    :cond_21f
    const/16 v0, 0xa

    goto :goto_1d0

    .line 173
    :cond_222
    const/4 v0, 0x3

    goto :goto_1e8

    .line 183
    :cond_224
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

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

    invoke-virtual {v5, v4}, Lcom/keniu/security/update/lzma/a;->a(I)I

    move-result v4

    shl-int/lit8 v4, v4, 0x4

    add-int/2addr v0, v4

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    .line 185
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    iget-object v5, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    const/16 v6, 0x322

    invoke-virtual {v4, v5, v6, v11}, Lcom/keniu/security/update/lzma/a;->b([III)I

    move-result v4

    add-int/2addr v0, v4

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    goto :goto_217

    .line 188
    :cond_243
    iput v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    goto :goto_217

    .line 196
    :cond_246
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->s:I

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->f:I

    add-int/2addr v4, v5

    if-le v0, v4, :cond_257

    .line 201
    new-instance v0, Lcom/keniu/security/update/lzma/LzmaException;

    const-string v1, "LZMA : Data Error"

    invoke-direct {v0, v1}, Lcom/keniu/security/update/lzma/LzmaException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 203
    :cond_257
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    add-int/lit8 v0, v0, 0x2

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->p:I

    .line 206
    :cond_25d
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->g:I

    sub-int/2addr v0, v4

    .line 207
    if-gez v0, :cond_267

    .line 208
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->d:I

    add-int/2addr v0, v4

    .line 209
    :cond_267
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    aget-byte v0, v4, v0

    .line 210
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->e:I

    aput-byte v0, v4, v5

    .line 211
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->e:I

    add-int/lit8 v4, v4, 0x1

    iput v4, p0, Lcom/keniu/security/update/lzma/b;->e:I

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->d:I

    if-ne v4, v5, :cond_27d

    .line 212
    iput v9, p0, Lcom/keniu/security/update/lzma/b;->e:I

    .line 214
    :cond_27d
    iget-object v4, p0, Lcom/keniu/security/update/lzma/b;->r:[B

    iget v5, p0, Lcom/keniu/security/update/lzma/b;->s:I

    add-int/lit8 v6, v5, 0x1

    iput v6, p0, Lcom/keniu/security/update/lzma/b;->s:I

    aput-byte v0, v4, v5

    .line 215
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->p:I

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

    iput v4, p0, Lcom/keniu/security/update/lzma/b;->p:I

    .line 216
    iget v4, p0, Lcom/keniu/security/update/lzma/b;->p:I

    if-lez v4, :cond_5d

    iget v4, p0, Lcom/keniu/security/update/lzma/b;->s:I

    if-lt v4, p1, :cond_25d

    goto/16 :goto_5d
.end method

.method private b()V
    .registers 13
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    const-wide/16 v10, 0x0

    const/16 v8, 0x300

    const/4 v3, 0x5

    const/4 v1, 0x0

    .line 244
    new-array v2, v3, [B

    .line 246
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->in:Ljava/io/InputStream;

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

    move-result v0

    if-eq v3, v0, :cond_18

    .line 247
    new-instance v0, Lcom/keniu/security/update/lzma/LzmaException;

    const-string v1, "LZMA header corrupted : Properties error"

    invoke-direct {v0, v1}, Lcom/keniu/security/update/lzma/LzmaException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 249
    :cond_18
    iput-wide v10, p0, Lcom/keniu/security/update/lzma/b;->v:J

    move v0, v1

    .line 250
    :goto_1b
    const/16 v3, 0x8

    if-ge v0, v3, :cond_3c

    .line 251
    iget-object v3, p0, Lcom/keniu/security/update/lzma/b;->in:Ljava/io/InputStream;

    invoke-virtual {v3}, Ljava/io/InputStream;->read()I

    move-result v3

    .line 252
    const/4 v4, -0x1

    if-ne v3, v4, :cond_30

    .line 253
    new-instance v0, Lcom/keniu/security/update/lzma/LzmaException;

    const-string v1, "LZMA header corrupted : Size error"

    invoke-direct {v0, v1}, Lcom/keniu/security/update/lzma/LzmaException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 254
    :cond_30
    iget-wide v4, p0, Lcom/keniu/security/update/lzma/b;->v:J

    int-to-long v6, v3

    mul-int/lit8 v3, v0, 0x8

    shl-long/2addr v6, v3

    add-long/2addr v4, v6

    iput-wide v4, p0, Lcom/keniu/security/update/lzma/b;->v:J

    .line 250
    add-int/lit8 v0, v0, 0x1

    goto :goto_1b

    .line 257
    :cond_3c
    iget-wide v4, p0, Lcom/keniu/security/update/lzma/b;->v:J

    const-wide/16 v6, -0x1

    cmp-long v0, v4, v6

    if-nez v0, :cond_4b

    const-wide v4, 0x7fffffffffffffffL

    iput-wide v4, p0, Lcom/keniu/security/update/lzma/b;->v:J

    .line 259
    :cond_4b
    aget-byte v0, v2, v1

    and-int/lit16 v0, v0, 0xff

    .line 260
    const/16 v3, 0xe1

    if-lt v0, v3, :cond_5b

    .line 261
    new-instance v0, Lcom/keniu/security/update/lzma/LzmaException;

    const-string v1, "LZMA header corrupted : Properties error"

    invoke-direct {v0, v1}, Lcom/keniu/security/update/lzma/LzmaException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 264
    :cond_5b
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->m:I

    :goto_5d
    const/16 v3, 0x2d

    if-lt v0, v3, :cond_6a

    iget v3, p0, Lcom/keniu/security/update/lzma/b;->m:I

    add-int/lit8 v3, v3, 0x1

    iput v3, p0, Lcom/keniu/security/update/lzma/b;->m:I

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

    goto :goto_5d

    .line 266
    :cond_6a
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->l:I

    :goto_6c
    const/16 v3, 0x9

    if-lt v0, v3, :cond_79

    iget v3, p0, Lcom/keniu/security/update/lzma/b;->l:I

    add-int/lit8 v3, v3, 0x1

    iput v3, p0, Lcom/keniu/security/update/lzma/b;->l:I

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

    goto :goto_6c

    .line 268
    :cond_79
    iput v0, p0, Lcom/keniu/security/update/lzma/b;->k:I

    .line 270
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->k:I

    iget v3, p0, Lcom/keniu/security/update/lzma/b;->l:I

    add-int/2addr v0, v3

    shl-int v0, v8, v0

    add-int/lit16 v0, v0, 0x736

    .line 272
    new-array v0, v0, [I

    iput-object v0, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    .line 274
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->d:I

    move v0, v1

    .line 275
    :goto_8b
    const/4 v3, 0x4

    if-ge v0, v3, :cond_9f

    .line 276
    iget v3, p0, Lcom/keniu/security/update/lzma/b;->d:I

    add-int/lit8 v4, v0, 0x1

    aget-byte v4, v2, v4

    and-int/lit16 v4, v4, 0xff

    mul-int/lit8 v5, v0, 0x8

    shl-int/2addr v4, v5

    add-int/2addr v3, v4

    iput v3, p0, Lcom/keniu/security/update/lzma/b;->d:I

    .line 275
    add-int/lit8 v0, v0, 0x1

    goto :goto_8b

    .line 277
    :cond_9f
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->d:I

    new-array v0, v0, [B

    iput-object v0, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    .line 278
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    if-nez v0, :cond_b1

    .line 279
    new-instance v0, Lcom/keniu/security/update/lzma/LzmaException;

    const-string v1, "LZMA : can\'t allocate"

    invoke-direct {v0, v1}, Lcom/keniu/security/update/lzma/LzmaException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 282
    :cond_b1
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->k:I

    iget v2, p0, Lcom/keniu/security/update/lzma/b;->l:I

    add-int/2addr v0, v2

    shl-int v0, v8, v0

    add-int/lit16 v2, v0, 0x736

    .line 284
    new-instance v0, Lcom/keniu/security/update/lzma/a;

    iget-object v3, p0, Lcom/keniu/security/update/lzma/b;->in:Ljava/io/InputStream;

    invoke-direct {v0, v3}, Lcom/keniu/security/update/lzma/a;-><init>(Ljava/io/InputStream;)V

    iput-object v0, p0, Lcom/keniu/security/update/lzma/b;->b:Lcom/keniu/security/update/lzma/a;

    .line 285
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->e:I

    .line 286
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->f:I

    .line 287
    const/4 v0, 0x1

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->j:I

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->i:I

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->h:I

    iput v0, p0, Lcom/keniu/security/update/lzma/b;->g:I

    .line 288
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->n:I

    .line 289
    iput-boolean v1, p0, Lcom/keniu/security/update/lzma/b;->o:Z

    .line 290
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->p:I

    .line 291
    iget-object v0, p0, Lcom/keniu/security/update/lzma/b;->c:[B

    iget v3, p0, Lcom/keniu/security/update/lzma/b;->d:I

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

    aput-byte v1, v0, v3

    move v0, v1

    .line 292
    :goto_df
    if-ge v0, v2, :cond_ea

    .line 293
    iget-object v3, p0, Lcom/keniu/security/update/lzma/b;->q:[I

    const/16 v4, 0x400

    aput v4, v3, v0

    .line 292
    add-int/lit8 v0, v0, 0x1

    goto :goto_df

    .line 295
    :cond_ea
    const/high16 v0, 0x10000

    new-array v0, v0, [B

    iput-object v0, p0, Lcom/keniu/security/update/lzma/b;->r:[B

    .line 296
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->s:I

    .line 297
    iput v1, p0, Lcom/keniu/security/update/lzma/b;->t:I

    .line 299
    iput-wide v10, p0, Lcom/keniu/security/update/lzma/b;->u:J

    .line 300
    return-void
.end method


# virtual methods
.method public close()V
    .registers 2
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 324
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/keniu/security/update/lzma/b;->a:Z

    .line 325
    invoke-super {p0}, Ljava/io/FilterInputStream;->close()V

    .line 326
    return-void
.end method

.method public read([BII)I
    .registers 7
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 303
    iget-boolean v0, p0, Lcom/keniu/security/update/lzma/b;->a:Z

    if-eqz v0, :cond_d

    .line 304
    new-instance v0, Ljava/io/IOException;

    const-string/jumbo v1, "stream closed"

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

    throw v0

    .line 306
    :cond_d
    or-int v0, p2, p3

    add-int v1, p2, p3

    or-int/2addr v0, v1

    array-length v1, p1

    add-int v2, p2, p3

    sub-int/2addr v1, v2

    or-int/2addr v0, v1

    if-gez v0, :cond_1f

    .line 307
    new-instance v0, Ljava/lang/IndexOutOfBoundsException;

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

    throw v0

    .line 309
    :cond_1f
    if-nez p3, :cond_23

    .line 310
    const/4 v0, 0x0

    .line 320
    :goto_22
    return v0

    .line 312
    :cond_23
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->t:I

    iget v1, p0, Lcom/keniu/security/update/lzma/b;->s:I

    if-ne v0, v1, :cond_2c

    .line 313
    invoke-direct {p0}, Lcom/keniu/security/update/lzma/b;->a()V

    .line 314
    :cond_2c
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->t:I

    iget v1, p0, Lcom/keniu/security/update/lzma/b;->s:I

    if-ne v0, v1, :cond_34

    .line 315
    const/4 v0, -0x1

    goto :goto_22

    .line 317
    :cond_34
    iget v0, p0, Lcom/keniu/security/update/lzma/b;->s:I

    iget v1, p0, Lcom/keniu/security/update/lzma/b;->t:I

    sub-int/2addr v0, v1

    invoke-static {p3, v0}, Ljava/lang/Math;->min(II)I

    move-result v0

    .line 318
    iget-object v1, p0, Lcom/keniu/security/update/lzma/b;->r:[B

    iget v2, p0, Lcom/keniu/security/update/lzma/b;->t:I

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

    .line 319
    iget v1, p0, Lcom/keniu/security/update/lzma/b;->t:I

    add-int/2addr v1, v0

    iput v1, p0, Lcom/keniu/security/update/lzma/b;->t:I

    goto :goto_22
.end method