Nat224.smali
.class public abstract Lorg/spongycastle/math/raw/Nat224;
.super Ljava/lang/Object;
.source "Nat224.java"
# static fields
.field private static final M:J = 0xffffffffL
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 7
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static add([II[II[II)I
.registers 15
.prologue
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 41
const-wide/16 v0, 0x0
aget v2, p0, p1
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p2, p3
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 42
long-to-int v2, v0
aput v2, p4, p5
.line 43
ushr-long/2addr v0, v8
.line 44
add-int/lit8 v2, p1, 0x1
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x1
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 45
add-int/lit8 v2, p5, 0x1
long-to-int v3, v0
aput v3, p4, v2
.line 46
ushr-long/2addr v0, v8
.line 47
add-int/lit8 v2, p1, 0x2
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x2
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 48
add-int/lit8 v2, p5, 0x2
long-to-int v3, v0
aput v3, p4, v2
.line 49
ushr-long/2addr v0, v8
.line 50
add-int/lit8 v2, p1, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x3
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 51
add-int/lit8 v2, p5, 0x3
long-to-int v3, v0
aput v3, p4, v2
.line 52
ushr-long/2addr v0, v8
.line 53
add-int/lit8 v2, p1, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x4
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 54
add-int/lit8 v2, p5, 0x4
long-to-int v3, v0
aput v3, p4, v2
.line 55
ushr-long/2addr v0, v8
.line 56
add-int/lit8 v2, p1, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x5
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 57
add-int/lit8 v2, p5, 0x5
long-to-int v3, v0
aput v3, p4, v2
.line 58
ushr-long/2addr v0, v8
.line 59
add-int/lit8 v2, p1, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x6
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 60
add-int/lit8 v2, p5, 0x6
long-to-int v3, v0
aput v3, p4, v2
.line 61
ushr-long/2addr v0, v8
.line 62
long-to-int v0, v0
return v0
.end method
.method public static add([I[I[I)I
.registers 15
.prologue
const/4 v11, 0x2
const/4 v10, 0x1
const/4 v9, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 14
const-wide/16 v0, 0x0
aget v2, p0, v9
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v9
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 15
long-to-int v2, v0
aput v2, p2, v9
.line 16
ushr-long/2addr v0, v8
.line 17
aget v2, p0, v10
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v10
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 18
long-to-int v2, v0
aput v2, p2, v10
.line 19
ushr-long/2addr v0, v8
.line 20
aget v2, p0, v11
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v11
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 21
long-to-int v2, v0
aput v2, p2, v11
.line 22
ushr-long/2addr v0, v8
.line 23
const/4 v2, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x3
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 24
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 25
ushr-long/2addr v0, v8
.line 26
const/4 v2, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x4
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 27
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 28
ushr-long/2addr v0, v8
.line 29
const/4 v2, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x5
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 30
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 31
ushr-long/2addr v0, v8
.line 32
const/4 v2, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 33
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 34
ushr-long/2addr v0, v8
.line 35
long-to-int v0, v0
return v0
.end method
.method public static addBothTo([II[II[II)I
.registers 15
.prologue
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 95
const-wide/16 v0, 0x0
aget v2, p0, p1
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p2, p3
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
aget v4, p4, p5
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 96
long-to-int v2, v0
aput v2, p4, p5
.line 97
ushr-long/2addr v0, v8
.line 98
add-int/lit8 v2, p1, 0x1
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x1
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-int/lit8 v4, p5, 0x1
aget v4, p4, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 99
add-int/lit8 v2, p5, 0x1
long-to-int v3, v0
aput v3, p4, v2
.line 100
ushr-long/2addr v0, v8
.line 101
add-int/lit8 v2, p1, 0x2
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x2
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-int/lit8 v4, p5, 0x2
aget v4, p4, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 102
add-int/lit8 v2, p5, 0x2
long-to-int v3, v0
aput v3, p4, v2
.line 103
ushr-long/2addr v0, v8
.line 104
add-int/lit8 v2, p1, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x3
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-int/lit8 v4, p5, 0x3
aget v4, p4, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 105
add-int/lit8 v2, p5, 0x3
long-to-int v3, v0
aput v3, p4, v2
.line 106
ushr-long/2addr v0, v8
.line 107
add-int/lit8 v2, p1, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x4
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-int/lit8 v4, p5, 0x4
aget v4, p4, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 108
add-int/lit8 v2, p5, 0x4
long-to-int v3, v0
aput v3, p4, v2
.line 109
ushr-long/2addr v0, v8
.line 110
add-int/lit8 v2, p1, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x5
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-int/lit8 v4, p5, 0x5
aget v4, p4, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 111
add-int/lit8 v2, p5, 0x5
long-to-int v3, v0
aput v3, p4, v2
.line 112
ushr-long/2addr v0, v8
.line 113
add-int/lit8 v2, p1, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x6
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-int/lit8 v4, p5, 0x6
aget v4, p4, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 114
add-int/lit8 v2, p5, 0x6
long-to-int v3, v0
aput v3, p4, v2
.line 115
ushr-long/2addr v0, v8
.line 116
long-to-int v0, v0
return v0
.end method
.method public static addBothTo([I[I[I)I
.registers 15
.prologue
const/4 v11, 0x2
const/4 v10, 0x1
const/4 v9, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 68
const-wide/16 v0, 0x0
aget v2, p0, v9
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v9
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
aget v4, p2, v9
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 69
long-to-int v2, v0
aput v2, p2, v9
.line 70
ushr-long/2addr v0, v8
.line 71
aget v2, p0, v10
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v10
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
aget v4, p2, v10
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 72
long-to-int v2, v0
aput v2, p2, v10
.line 73
ushr-long/2addr v0, v8
.line 74
aget v2, p0, v11
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v11
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
aget v4, p2, v11
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 75
long-to-int v2, v0
aput v2, p2, v11
.line 76
ushr-long/2addr v0, v8
.line 77
const/4 v2, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x3
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
const/4 v4, 0x3
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 78
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 79
ushr-long/2addr v0, v8
.line 80
const/4 v2, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x4
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
const/4 v4, 0x4
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 81
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 82
ushr-long/2addr v0, v8
.line 83
const/4 v2, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x5
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
const/4 v4, 0x5
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 84
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 85
ushr-long/2addr v0, v8
.line 86
const/4 v2, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
const/4 v4, 0x6
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 87
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 88
ushr-long/2addr v0, v8
.line 89
long-to-int v0, v0
return v0
.end method
.method public static addTo([II[III)I
.registers 14
.prologue
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 148
int-to-long v0, p4
and-long/2addr v0, v6
.line 149
aget v2, p0, p1
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p2, p3
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 150
long-to-int v2, v0
aput v2, p2, p3
.line 151
ushr-long/2addr v0, v8
.line 152
add-int/lit8 v2, p1, 0x1
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x1
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 153
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 154
ushr-long/2addr v0, v8
.line 155
add-int/lit8 v2, p1, 0x2
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x2
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 156
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 157
ushr-long/2addr v0, v8
.line 158
add-int/lit8 v2, p1, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x3
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 159
add-int/lit8 v2, p3, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 160
ushr-long/2addr v0, v8
.line 161
add-int/lit8 v2, p1, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x4
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 162
add-int/lit8 v2, p3, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 163
ushr-long/2addr v0, v8
.line 164
add-int/lit8 v2, p1, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x5
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 165
add-int/lit8 v2, p3, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 166
ushr-long/2addr v0, v8
.line 167
add-int/lit8 v2, p1, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x6
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 168
add-int/lit8 v2, p3, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 169
ushr-long/2addr v0, v8
.line 170
long-to-int v0, v0
return v0
.end method
.method public static addTo([I[I)I
.registers 14
.prologue
const/4 v11, 0x2
const/4 v10, 0x1
const/4 v9, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 122
const-wide/16 v0, 0x0
aget v2, p0, v9
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v9
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 123
long-to-int v2, v0
aput v2, p1, v9
.line 124
ushr-long/2addr v0, v8
.line 125
aget v2, p0, v10
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v10
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 126
long-to-int v2, v0
aput v2, p1, v10
.line 127
ushr-long/2addr v0, v8
.line 128
aget v2, p0, v11
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v11
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 129
long-to-int v2, v0
aput v2, p1, v11
.line 130
ushr-long/2addr v0, v8
.line 131
const/4 v2, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x3
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 132
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p1, v2
.line 133
ushr-long/2addr v0, v8
.line 134
const/4 v2, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x4
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 135
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p1, v2
.line 136
ushr-long/2addr v0, v8
.line 137
const/4 v2, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x5
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 138
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p1, v2
.line 139
ushr-long/2addr v0, v8
.line 140
const/4 v2, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 141
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p1, v2
.line 142
ushr-long/2addr v0, v8
.line 143
long-to-int v0, v0
return v0
.end method
.method public static addToEachOther([II[II)I
.registers 13
.prologue
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 176
const-wide/16 v0, 0x0
aget v2, p0, p1
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p2, p3
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 177
long-to-int v2, v0
aput v2, p0, p1
.line 178
long-to-int v2, v0
aput v2, p2, p3
.line 179
ushr-long/2addr v0, v8
.line 180
add-int/lit8 v2, p1, 0x1
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x1
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 181
add-int/lit8 v2, p1, 0x1
long-to-int v3, v0
aput v3, p0, v2
.line 182
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 183
ushr-long/2addr v0, v8
.line 184
add-int/lit8 v2, p1, 0x2
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x2
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 185
add-int/lit8 v2, p1, 0x2
long-to-int v3, v0
aput v3, p0, v2
.line 186
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 187
ushr-long/2addr v0, v8
.line 188
add-int/lit8 v2, p1, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x3
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 189
add-int/lit8 v2, p1, 0x3
long-to-int v3, v0
aput v3, p0, v2
.line 190
add-int/lit8 v2, p3, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 191
ushr-long/2addr v0, v8
.line 192
add-int/lit8 v2, p1, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x4
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 193
add-int/lit8 v2, p1, 0x4
long-to-int v3, v0
aput v3, p0, v2
.line 194
add-int/lit8 v2, p3, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 195
ushr-long/2addr v0, v8
.line 196
add-int/lit8 v2, p1, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x5
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 197
add-int/lit8 v2, p1, 0x5
long-to-int v3, v0
aput v3, p0, v2
.line 198
add-int/lit8 v2, p3, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 199
ushr-long/2addr v0, v8
.line 200
add-int/lit8 v2, p1, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x6
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 201
add-int/lit8 v2, p1, 0x6
long-to-int v3, v0
aput v3, p0, v2
.line 202
add-int/lit8 v2, p3, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 203
ushr-long/2addr v0, v8
.line 204
long-to-int v0, v0
return v0
.end method
.method public static copy([I[I)V
.registers 8
.prologue
const/4 v5, 0x4
const/4 v4, 0x3
const/4 v3, 0x2
const/4 v2, 0x1
const/4 v1, 0x0
.line 209
aget v0, p0, v1
aput v0, p1, v1
.line 210
aget v0, p0, v2
aput v0, p1, v2
.line 211
aget v0, p0, v3
aput v0, p1, v3
.line 212
aget v0, p0, v4
aput v0, p1, v4
.line 213
aget v0, p0, v5
aput v0, p1, v5
.line 214
const/4 v0, 0x5
const/4 v1, 0x5
aget v1, p0, v1
aput v1, p1, v0
.line 215
const/4 v0, 0x6
const/4 v1, 0x6
aget v1, p0, v1
aput v1, p1, v0
.line 216
return-void
.end method
.method public static create()[I
.registers 1
.prologue
.line 220
const/4 v0, 0x7
new-array v0, v0, [I
return-object v0
.end method
.method public static createExt()[I
.registers 1
.prologue
.line 225
const/16 v0, 0xe
new-array v0, v0, [I
return-object v0
.end method
.method public static diff([II[II[II)Z
.registers 13
.prologue
.line 230
invoke-static {p0, p1, p2, p3}, Lorg/spongycastle/math/raw/Nat224;->gte([II[II)Z
move-result v6
.line 231
if-eqz v6, :cond_a
.line 233
invoke-static/range {p0 .. p5}, Lorg/spongycastle/math/raw/Nat224;->sub([II[II[II)I
.line 239
:goto_9
return v6
:cond_a
move-object v0, p2
move v1, p3
move-object v2, p0
move v3, p1
move-object v4, p4
move v5, p5
.line 237
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/raw/Nat224;->sub([II[II[II)I
goto :goto_9
.end method
.method public static eq([I[I)Z
.registers 5
.prologue
.line 244
const/4 v0, 0x6
:goto_1
if-ltz v0, :cond_e
.line 246
aget v1, p0, v0
aget v2, p1, v0
if-eq v1, v2, :cond_b
.line 248
const/4 v0, 0x0
.line 251
:goto_a
return v0
.line 244
:cond_b
add-int/lit8 v0, v0, -0x1
goto :goto_1
.line 251
:cond_e
const/4 v0, 0x1
goto :goto_a
.end method
.method public static fromBigInteger(Ljava/math/BigInteger;)[I
.registers 5
.prologue
.line 256
invoke-virtual {p0}, Ljava/math/BigInteger;->signum()I
move-result v0
if-ltz v0, :cond_e
invoke-virtual {p0}, Ljava/math/BigInteger;->bitLength()I
move-result v0
const/16 v1, 0xe0
if-le v0, v1, :cond_14
.line 258
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v0
.line 261
:cond_14
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v2
.line 262
const/4 v0, 0x0
.line 263
:goto_19
invoke-virtual {p0}, Ljava/math/BigInteger;->signum()I
move-result v1
if-eqz v1, :cond_2f
.line 265
add-int/lit8 v1, v0, 0x1
invoke-virtual {p0}, Ljava/math/BigInteger;->intValue()I
move-result v3
aput v3, v2, v0
.line 266
const/16 v0, 0x20
invoke-virtual {p0, v0}, Ljava/math/BigInteger;->shiftRight(I)Ljava/math/BigInteger;
move-result-object p0
move v0, v1
goto :goto_19
.line 268
:cond_2f
return-object v2
.end method
.method public static getBit([II)I
.registers 5
.prologue
const/4 v0, 0x0
.line 273
if-nez p1, :cond_8
.line 275
aget v0, p0, v0
and-int/lit8 v0, v0, 0x1
.line 283
:cond_7
:goto_7
return v0
.line 277
:cond_8
shr-int/lit8 v1, p1, 0x5
.line 278
if-ltz v1, :cond_7
const/4 v2, 0x7
if-ge v1, v2, :cond_7
.line 282
and-int/lit8 v0, p1, 0x1f
.line 283
aget v1, p0, v1
ushr-int v0, v1, v0
and-int/lit8 v0, v0, 0x1
goto :goto_7
.end method
.method public static gte([II[II)Z
.registers 9
.prologue
const/4 v0, 0x1
const/high16 v4, -0x80000000
.line 302
const/4 v1, 0x6
:goto_4
if-ltz v1, :cond_13
.line 304
add-int v2, p1, v1
aget v2, p0, v2
xor-int/2addr v2, v4
.line 305
add-int v3, p3, v1
aget v3, p2, v3
xor-int/2addr v3, v4
.line 306
if-ge v2, v3, :cond_14
.line 307
const/4 v0, 0x0
.line 311
:cond_13
return v0
.line 308
:cond_14
if-gt v2, v3, :cond_13
.line 302
add-int/lit8 v1, v1, -0x1
goto :goto_4
.end method
.method public static gte([I[I)Z
.registers 7
.prologue
const/4 v0, 0x1
const/high16 v4, -0x80000000
.line 288
const/4 v1, 0x6
:goto_4
if-ltz v1, :cond_f
.line 290
aget v2, p0, v1
xor-int/2addr v2, v4
.line 291
aget v3, p1, v1
xor-int/2addr v3, v4
.line 292
if-ge v2, v3, :cond_10
.line 293
const/4 v0, 0x0
.line 297
:cond_f
return v0
.line 294
:cond_10
if-gt v2, v3, :cond_f
.line 288
add-int/lit8 v1, v1, -0x1
goto :goto_4
.end method
.method public static isOne([I)Z
.registers 5
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 316
aget v2, p0, v0
if-eq v2, v1, :cond_7
.line 327
:cond_6
:goto_6
return v0
:cond_7
move v2, v1
.line 320
:goto_8
const/4 v3, 0x7
if-ge v2, v3, :cond_12
.line 322
aget v3, p0, v2
if-nez v3, :cond_6
.line 320
add-int/lit8 v2, v2, 0x1
goto :goto_8
:cond_12
move v0, v1
.line 327
goto :goto_6
.end method
.method public static isZero([I)Z
.registers 4
.prologue
const/4 v0, 0x0
.line 332
move v1, v0
:goto_2
const/4 v2, 0x7
if-ge v1, v2, :cond_d
.line 334
aget v2, p0, v1
if-eqz v2, :cond_a
.line 339
:goto_9
return v0
.line 332
:cond_a
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 339
:cond_d
const/4 v0, 0x1
goto :goto_9
.end method
.method public static mul([II[II[II)V
.registers 34
.prologue
.line 408
aget v2, p2, p3
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long/2addr v4, v2
.line 409
add-int/lit8 v2, p3, 0x1
aget v2, p2, v2
int-to-long v2, v2
const-wide v6, 0xffffffffL
and-long/2addr v6, v2
.line 410
add-int/lit8 v2, p3, 0x2
aget v2, p2, v2
int-to-long v2, v2
const-wide v8, 0xffffffffL
and-long/2addr v8, v2
.line 411
add-int/lit8 v2, p3, 0x3
aget v2, p2, v2
int-to-long v2, v2
const-wide v10, 0xffffffffL
and-long/2addr v10, v2
.line 412
add-int/lit8 v2, p3, 0x4
aget v2, p2, v2
int-to-long v2, v2
const-wide v12, 0xffffffffL
and-long/2addr v12, v2
.line 413
add-int/lit8 v2, p3, 0x5
aget v2, p2, v2
int-to-long v2, v2
const-wide v14, 0xffffffffL
and-long/2addr v14, v2
.line 414
add-int/lit8 v2, p3, 0x6
aget v2, p2, v2
int-to-long v2, v2
const-wide v16, 0xffffffffL
and-long v16, v16, v2
.line 417
aget v2, p0, p1
int-to-long v2, v2
const-wide v18, 0xffffffffL
and-long v2, v2, v18
.line 418
const-wide/16 v18, 0x0
mul-long v20, v2, v4
add-long v18, v18, v20
.line 419
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v20, v0
aput v20, p4, p5
.line 420
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 421
mul-long v20, v2, v6
add-long v18, v18, v20
.line 422
add-int/lit8 v20, p5, 0x1
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p4, v20
.line 423
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 424
mul-long v20, v2, v8
add-long v18, v18, v20
.line 425
add-int/lit8 v20, p5, 0x2
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p4, v20
.line 426
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 427
mul-long v20, v2, v10
add-long v18, v18, v20
.line 428
add-int/lit8 v20, p5, 0x3
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p4, v20
.line 429
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 430
mul-long v20, v2, v12
add-long v18, v18, v20
.line 431
add-int/lit8 v20, p5, 0x4
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p4, v20
.line 432
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 433
mul-long v20, v2, v14
add-long v18, v18, v20
.line 434
add-int/lit8 v20, p5, 0x5
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p4, v20
.line 435
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 436
mul-long v2, v2, v16
add-long v2, v2, v18
.line 437
add-int/lit8 v18, p5, 0x6
long-to-int v0, v2
move/from16 v19, v0
aput v19, p4, v18
.line 438
const/16 v18, 0x20
ushr-long v2, v2, v18
.line 439
add-int/lit8 v18, p5, 0x7
long-to-int v2, v2
aput v2, p4, v18
.line 442
const/4 v2, 0x1
:goto_d1
const/4 v3, 0x7
if-ge v2, v3, :cond_1d4
.line 444
add-int/lit8 p5, p5, 0x1
.line 445
add-int v3, p1, v2
aget v3, p0, v3
int-to-long v0, v3
move-wide/from16 v18, v0
const-wide v20, 0xffffffffL
and-long v18, v18, v20
.line 446
const-wide/16 v20, 0x0
mul-long v22, v18, v4
aget v3, p4, p5
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 447
move-wide/from16 v0, v20
long-to-int v3, v0
aput v3, p4, p5
.line 448
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 449
mul-long v22, v18, v6
add-int/lit8 v3, p5, 0x1
aget v3, p4, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 450
add-int/lit8 v3, p5, 0x1
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, v3
.line 451
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 452
mul-long v22, v18, v8
add-int/lit8 v3, p5, 0x2
aget v3, p4, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 453
add-int/lit8 v3, p5, 0x2
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, v3
.line 454
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 455
mul-long v22, v18, v10
add-int/lit8 v3, p5, 0x3
aget v3, p4, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 456
add-int/lit8 v3, p5, 0x3
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, v3
.line 457
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 458
mul-long v22, v18, v12
add-int/lit8 v3, p5, 0x4
aget v3, p4, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 459
add-int/lit8 v3, p5, 0x4
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, v3
.line 460
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 461
mul-long v22, v18, v14
add-int/lit8 v3, p5, 0x5
aget v3, p4, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 462
add-int/lit8 v3, p5, 0x5
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, v3
.line 463
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 464
mul-long v18, v18, v16
add-int/lit8 v3, p5, 0x6
aget v3, p4, v3
int-to-long v0, v3
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
add-long v18, v18, v22
add-long v18, v18, v20
.line 465
add-int/lit8 v3, p5, 0x6
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v20, v0
aput v20, p4, v3
.line 466
const/16 v3, 0x20
ushr-long v18, v18, v3
.line 467
add-int/lit8 v3, p5, 0x7
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v18, v0
aput v18, p4, v3
.line 442
add-int/lit8 v2, v2, 0x1
goto/16 :goto_d1
.line 469
:cond_1d4
return-void
.end method
.method public static mul([I[I[I)V
.registers 31
.prologue
.line 344
const/4 v2, 0x0
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long/2addr v4, v2
.line 345
const/4 v2, 0x1
aget v2, p1, v2
int-to-long v2, v2
const-wide v6, 0xffffffffL
and-long/2addr v6, v2
.line 346
const/4 v2, 0x2
aget v2, p1, v2
int-to-long v2, v2
const-wide v8, 0xffffffffL
and-long/2addr v8, v2
.line 347
const/4 v2, 0x3
aget v2, p1, v2
int-to-long v2, v2
const-wide v10, 0xffffffffL
and-long/2addr v10, v2
.line 348
const/4 v2, 0x4
aget v2, p1, v2
int-to-long v2, v2
const-wide v12, 0xffffffffL
and-long/2addr v12, v2
.line 349
const/4 v2, 0x5
aget v2, p1, v2
int-to-long v2, v2
const-wide v14, 0xffffffffL
and-long/2addr v14, v2
.line 350
const/4 v2, 0x6
aget v2, p1, v2
int-to-long v2, v2
const-wide v16, 0xffffffffL
and-long v16, v16, v2
.line 353
const/4 v2, 0x0
aget v2, p0, v2
int-to-long v2, v2
const-wide v18, 0xffffffffL
and-long v2, v2, v18
.line 354
const-wide/16 v18, 0x0
mul-long v20, v2, v4
add-long v18, v18, v20
.line 355
const/16 v20, 0x0
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p2, v20
.line 356
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 357
mul-long v20, v2, v6
add-long v18, v18, v20
.line 358
const/16 v20, 0x1
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p2, v20
.line 359
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 360
mul-long v20, v2, v8
add-long v18, v18, v20
.line 361
const/16 v20, 0x2
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p2, v20
.line 362
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 363
mul-long v20, v2, v10
add-long v18, v18, v20
.line 364
const/16 v20, 0x3
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p2, v20
.line 365
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 366
mul-long v20, v2, v12
add-long v18, v18, v20
.line 367
const/16 v20, 0x4
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p2, v20
.line 368
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 369
mul-long v20, v2, v14
add-long v18, v18, v20
.line 370
const/16 v20, 0x5
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v21, v0
aput v21, p2, v20
.line 371
const/16 v20, 0x20
ushr-long v18, v18, v20
.line 372
mul-long v2, v2, v16
add-long v2, v2, v18
.line 373
const/16 v18, 0x6
long-to-int v0, v2
move/from16 v19, v0
aput v19, p2, v18
.line 374
const/16 v18, 0x20
ushr-long v2, v2, v18
.line 375
const/16 v18, 0x7
long-to-int v2, v2
aput v2, p2, v18
.line 378
const/4 v2, 0x1
:goto_cf
const/4 v3, 0x7
if-ge v2, v3, :cond_1ce
.line 380
aget v3, p0, v2
int-to-long v0, v3
move-wide/from16 v18, v0
const-wide v20, 0xffffffffL
and-long v18, v18, v20
.line 381
const-wide/16 v20, 0x0
mul-long v22, v18, v4
aget v3, p2, v2
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 382
move-wide/from16 v0, v20
long-to-int v3, v0
aput v3, p2, v2
.line 383
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 384
mul-long v22, v18, v6
add-int/lit8 v3, v2, 0x1
aget v3, p2, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 385
add-int/lit8 v3, v2, 0x1
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p2, v3
.line 386
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 387
mul-long v22, v18, v8
add-int/lit8 v3, v2, 0x2
aget v3, p2, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 388
add-int/lit8 v3, v2, 0x2
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p2, v3
.line 389
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 390
mul-long v22, v18, v10
add-int/lit8 v3, v2, 0x3
aget v3, p2, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 391
add-int/lit8 v3, v2, 0x3
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p2, v3
.line 392
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 393
mul-long v22, v18, v12
add-int/lit8 v3, v2, 0x4
aget v3, p2, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 394
add-int/lit8 v3, v2, 0x4
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p2, v3
.line 395
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 396
mul-long v22, v18, v14
add-int/lit8 v3, v2, 0x5
aget v3, p2, v3
int-to-long v0, v3
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v22, v22, v24
add-long v20, v20, v22
.line 397
add-int/lit8 v3, v2, 0x5
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p2, v3
.line 398
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 399
mul-long v18, v18, v16
add-int/lit8 v3, v2, 0x6
aget v3, p2, v3
int-to-long v0, v3
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
add-long v18, v18, v22
add-long v18, v18, v20
.line 400
add-int/lit8 v3, v2, 0x6
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v20, v0
aput v20, p2, v3
.line 401
const/16 v3, 0x20
ushr-long v18, v18, v3
.line 402
add-int/lit8 v3, v2, 0x7
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v18, v0
aput v18, p2, v3
.line 378
add-int/lit8 v2, v2, 0x1
goto/16 :goto_cf
.line 404
:cond_1ce
return-void
.end method
.method public static mul33Add(I[II[II[II)J
.registers 19
.prologue
.line 560
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
.line 561
aget v2, p1, p2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long/2addr v2, v4
.line 562
const-wide/16 v4, 0x0
mul-long v6, v0, v2
aget v8, p3, p4
int-to-long v8, v8
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
add-long/2addr v6, v8
add-long/2addr v4, v6
.line 563
long-to-int v6, v4
aput v6, p5, p6
.line 564
const/16 v6, 0x20
ushr-long/2addr v4, v6
.line 565
add-int/lit8 v6, p2, 0x1
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
.line 566
mul-long v8, v0, v6
add-long/2addr v2, v8
add-int/lit8 v8, p4, 0x1
aget v8, p3, v8
int-to-long v8, v8
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
add-long/2addr v2, v8
add-long/2addr v2, v4
.line 567
add-int/lit8 v4, p6, 0x1
long-to-int v5, v2
aput v5, p5, v4
.line 568
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 569
add-int/lit8 v4, p2, 0x2
aget v4, p1, v4
int-to-long v4, v4
const-wide v8, 0xffffffffL
and-long/2addr v4, v8
.line 570
mul-long v8, v0, v4
add-long/2addr v6, v8
add-int/lit8 v8, p4, 0x2
aget v8, p3, v8
int-to-long v8, v8
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
add-long/2addr v6, v8
add-long/2addr v2, v6
.line 571
add-int/lit8 v6, p6, 0x2
long-to-int v7, v2
aput v7, p5, v6
.line 572
const/16 v6, 0x20
ushr-long/2addr v2, v6
.line 573
add-int/lit8 v6, p2, 0x3
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
.line 574
mul-long v8, v0, v6
add-long/2addr v4, v8
add-int/lit8 v8, p4, 0x3
aget v8, p3, v8
int-to-long v8, v8
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
add-long/2addr v4, v8
add-long/2addr v2, v4
.line 575
add-int/lit8 v4, p6, 0x3
long-to-int v5, v2
aput v5, p5, v4
.line 576
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 577
add-int/lit8 v4, p2, 0x4
aget v4, p1, v4
int-to-long v4, v4
const-wide v8, 0xffffffffL
and-long/2addr v4, v8
.line 578
mul-long v8, v0, v4
add-long/2addr v6, v8
add-int/lit8 v8, p4, 0x4
aget v8, p3, v8
int-to-long v8, v8
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
add-long/2addr v6, v8
add-long/2addr v2, v6
.line 579
add-int/lit8 v6, p6, 0x4
long-to-int v7, v2
aput v7, p5, v6
.line 580
const/16 v6, 0x20
ushr-long/2addr v2, v6
.line 581
add-int/lit8 v6, p2, 0x5
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
.line 582
mul-long v8, v0, v6
add-long/2addr v4, v8
add-int/lit8 v8, p4, 0x5
aget v8, p3, v8
int-to-long v8, v8
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
add-long/2addr v4, v8
add-long/2addr v2, v4
.line 583
add-int/lit8 v4, p6, 0x5
long-to-int v5, v2
aput v5, p5, v4
.line 584
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 585
add-int/lit8 v4, p2, 0x6
aget v4, p1, v4
int-to-long v4, v4
const-wide v8, 0xffffffffL
and-long/2addr v4, v8
.line 586
mul-long/2addr v0, v4
add-long/2addr v0, v6
add-int/lit8 v6, p4, 0x6
aget v6, p3, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v0, v6
add-long/2addr v0, v2
.line 587
add-int/lit8 v2, p6, 0x6
long-to-int v3, v0
aput v3, p5, v2
.line 588
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 589
add-long/2addr v0, v4
.line 590
return-wide v0
.end method
.method public static mul33DWordAdd(IJ[II)I
.registers 20
.prologue
.line 679
int-to-long v2, p0
const-wide v4, 0xffffffffL
and-long/2addr v2, v4
.line 680
const-wide v4, 0xffffffffL
and-long v4, v4, p1
.line 681
const-wide/16 v6, 0x0
mul-long v8, v2, v4
aget v10, p3, p4
int-to-long v10, v10
const-wide v12, 0xffffffffL
and-long/2addr v10, v12
add-long/2addr v8, v10
add-long/2addr v6, v8
.line 682
long-to-int v8, v6
aput v8, p3, p4
.line 683
const/16 v8, 0x20
ushr-long/2addr v6, v8
.line 684
const/16 v8, 0x20
ushr-long v8, p1, v8
.line 685
mul-long/2addr v2, v8
add-long/2addr v2, v4
add-int/lit8 v4, p4, 0x1
aget v4, p3, v4
int-to-long v4, v4
const-wide v10, 0xffffffffL
and-long/2addr v4, v10
add-long/2addr v2, v4
add-long/2addr v2, v6
.line 686
add-int/lit8 v4, p4, 0x1
long-to-int v5, v2
aput v5, p3, v4
.line 687
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 688
add-int/lit8 v4, p4, 0x2
aget v4, p3, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
add-long/2addr v4, v8
add-long/2addr v2, v4
.line 689
add-int/lit8 v4, p4, 0x2
long-to-int v5, v2
aput v5, p3, v4
.line 690
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 691
add-int/lit8 v4, p4, 0x3
aget v4, p3, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
add-long/2addr v2, v4
.line 692
add-int/lit8 v4, p4, 0x3
long-to-int v5, v2
aput v5, p3, v4
.line 693
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 694
const-wide/16 v4, 0x0
cmp-long v2, v2, v4
if-nez v2, :cond_6f
const/4 v2, 0x0
:goto_6e
return v2
:cond_6f
const/4 v2, 0x7
const/4 v3, 0x4
move-object/from16 v0, p3
move/from16 v1, p4
invoke-static {v2, v0, v1, v3}, Lorg/spongycastle/math/raw/Nat;->incAt(I[III)I
move-result v2
goto :goto_6e
.end method
.method public static mul33WordAdd(II[II)I
.registers 16
.prologue
const-wide/16 v10, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 702
int-to-long v0, p0
and-long/2addr v0, v6
int-to-long v2, p1
and-long/2addr v2, v6
.line 703
mul-long/2addr v0, v2
aget v4, p2, p3
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v0, v4
add-long/2addr v0, v10
.line 704
long-to-int v4, v0
aput v4, p2, p3
.line 705
ushr-long/2addr v0, v8
.line 706
add-int/lit8 v4, p3, 0x1
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-long/2addr v0, v2
.line 707
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 708
ushr-long/2addr v0, v8
.line 709
add-int/lit8 v2, p3, 0x2
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-long/2addr v0, v2
.line 710
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 711
ushr-long/2addr v0, v8
.line 712
cmp-long v0, v0, v10
if-nez v0, :cond_39
const/4 v0, 0x0
:goto_38
return v0
:cond_39
const/4 v0, 0x7
const/4 v1, 0x3
invoke-static {v0, p2, p3, v1}, Lorg/spongycastle/math/raw/Nat;->incAt(I[III)I
move-result v0
goto :goto_38
.end method
.method public static mulAddTo([II[II[II)I
.registers 36
.prologue
.line 515
aget v2, p2, p3
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 516
add-int/lit8 v2, p3, 0x1
aget v2, p2, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v8, v2, v4
.line 517
add-int/lit8 v2, p3, 0x2
aget v2, p2, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v10, v2, v4
.line 518
add-int/lit8 v2, p3, 0x3
aget v2, p2, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v12, v2, v4
.line 519
add-int/lit8 v2, p3, 0x4
aget v2, p2, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v14, v2, v4
.line 520
add-int/lit8 v2, p3, 0x5
aget v2, p2, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v16, v2, v4
.line 521
add-int/lit8 v2, p3, 0x6
aget v2, p2, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v18, v2, v4
.line 523
const-wide/16 v2, 0x0
.line 524
const/4 v4, 0x0
:goto_55
const/4 v5, 0x7
if-ge v4, v5, :cond_16b
.line 526
add-int v5, p1, v4
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v20, v0
const-wide v22, 0xffffffffL
and-long v20, v20, v22
.line 527
const-wide/16 v22, 0x0
mul-long v24, v20, v6
aget v5, p4, p5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 528
move-wide/from16 v0, v22
long-to-int v5, v0
aput v5, p4, p5
.line 529
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 530
mul-long v24, v20, v8
add-int/lit8 v5, p5, 0x1
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 531
add-int/lit8 v5, p5, 0x1
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v5
.line 532
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 533
mul-long v24, v20, v10
add-int/lit8 v5, p5, 0x2
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 534
add-int/lit8 v5, p5, 0x2
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v5
.line 535
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 536
mul-long v24, v20, v12
add-int/lit8 v5, p5, 0x3
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 537
add-int/lit8 v5, p5, 0x3
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v5
.line 538
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 539
mul-long v24, v20, v14
add-int/lit8 v5, p5, 0x4
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 540
add-int/lit8 v5, p5, 0x4
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v5
.line 541
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 542
mul-long v24, v20, v16
add-int/lit8 v5, p5, 0x5
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 543
add-int/lit8 v5, p5, 0x5
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v5
.line 544
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 545
mul-long v20, v20, v18
add-int/lit8 v5, p5, 0x6
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v20, v20, v24
add-long v20, v20, v22
.line 546
add-int/lit8 v5, p5, 0x6
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, v5
.line 547
const/16 v5, 0x20
ushr-long v20, v20, v5
.line 548
add-int/lit8 v5, p5, 0x7
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
add-long v2, v2, v22
add-long v2, v2, v20
.line 549
add-int/lit8 v5, p5, 0x7
long-to-int v0, v2
move/from16 v20, v0
aput v20, p4, v5
.line 550
const/16 v5, 0x20
ushr-long/2addr v2, v5
.line 551
add-int/lit8 p5, p5, 0x1
.line 524
add-int/lit8 v4, v4, 0x1
goto/16 :goto_55
.line 553
:cond_16b
long-to-int v2, v2
return v2
.end method
.method public static mulAddTo([I[I[I)I
.registers 33
.prologue
.line 473
const/4 v2, 0x0
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 474
const/4 v2, 0x1
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v8, v2, v4
.line 475
const/4 v2, 0x2
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v10, v2, v4
.line 476
const/4 v2, 0x3
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v12, v2, v4
.line 477
const/4 v2, 0x4
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v14, v2, v4
.line 478
const/4 v2, 0x5
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v16, v2, v4
.line 479
const/4 v2, 0x6
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v18, v2, v4
.line 481
const-wide/16 v2, 0x0
.line 482
const/4 v4, 0x0
:goto_50
const/4 v5, 0x7
if-ge v4, v5, :cond_162
.line 484
aget v5, p0, v4
int-to-long v0, v5
move-wide/from16 v20, v0
const-wide v22, 0xffffffffL
and-long v20, v20, v22
.line 485
const-wide/16 v22, 0x0
mul-long v24, v20, v6
aget v5, p2, v4
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 486
move-wide/from16 v0, v22
long-to-int v5, v0
aput v5, p2, v4
.line 487
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 488
mul-long v24, v20, v8
add-int/lit8 v5, v4, 0x1
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 489
add-int/lit8 v5, v4, 0x1
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v5
.line 490
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 491
mul-long v24, v20, v10
add-int/lit8 v5, v4, 0x2
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 492
add-int/lit8 v5, v4, 0x2
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v5
.line 493
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 494
mul-long v24, v20, v12
add-int/lit8 v5, v4, 0x3
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 495
add-int/lit8 v5, v4, 0x3
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v5
.line 496
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 497
mul-long v24, v20, v14
add-int/lit8 v5, v4, 0x4
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 498
add-int/lit8 v5, v4, 0x4
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v5
.line 499
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 500
mul-long v24, v20, v16
add-int/lit8 v5, v4, 0x5
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
add-long v24, v24, v26
add-long v22, v22, v24
.line 501
add-int/lit8 v5, v4, 0x5
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v5
.line 502
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 503
mul-long v20, v20, v18
add-int/lit8 v5, v4, 0x6
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
add-long v20, v20, v24
add-long v20, v20, v22
.line 504
add-int/lit8 v5, v4, 0x6
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p2, v5
.line 505
const/16 v5, 0x20
ushr-long v20, v20, v5
.line 506
add-int/lit8 v5, v4, 0x7
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
add-long v2, v2, v22
add-long v2, v2, v20
.line 507
add-int/lit8 v5, v4, 0x7
long-to-int v0, v2
move/from16 v20, v0
aput v20, p2, v5
.line 508
const/16 v5, 0x20
ushr-long/2addr v2, v5
.line 482
add-int/lit8 v4, v4, 0x1
goto/16 :goto_50
.line 510
:cond_162
long-to-int v2, v2
return v2
.end method
.method public static mulByWord(I[I)I
.registers 14
.prologue
const/4 v11, 0x2
const/4 v10, 0x1
const/4 v9, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 595
int-to-long v0, p0
and-long/2addr v0, v6
.line 596
const-wide/16 v2, 0x0
aget v4, p1, v9
int-to-long v4, v4
and-long/2addr v4, v6
mul-long/2addr v4, v0
add-long/2addr v2, v4
.line 597
long-to-int v4, v2
aput v4, p1, v9
.line 598
ushr-long/2addr v2, v8
.line 599
aget v4, p1, v10
int-to-long v4, v4
and-long/2addr v4, v6
mul-long/2addr v4, v0
add-long/2addr v2, v4
.line 600
long-to-int v4, v2
aput v4, p1, v10
.line 601
ushr-long/2addr v2, v8
.line 602
aget v4, p1, v11
int-to-long v4, v4
and-long/2addr v4, v6
mul-long/2addr v4, v0
add-long/2addr v2, v4
.line 603
long-to-int v4, v2
aput v4, p1, v11
.line 604
ushr-long/2addr v2, v8
.line 605
const/4 v4, 0x3
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
mul-long/2addr v4, v0
add-long/2addr v2, v4
.line 606
const/4 v4, 0x3
long-to-int v5, v2
aput v5, p1, v4
.line 607
ushr-long/2addr v2, v8
.line 608
const/4 v4, 0x4
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
mul-long/2addr v4, v0
add-long/2addr v2, v4
.line 609
const/4 v4, 0x4
long-to-int v5, v2
aput v5, p1, v4
.line 610
ushr-long/2addr v2, v8
.line 611
const/4 v4, 0x5
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
mul-long/2addr v4, v0
add-long/2addr v2, v4
.line 612
const/4 v4, 0x5
long-to-int v5, v2
aput v5, p1, v4
.line 613
ushr-long/2addr v2, v8
.line 614
const/4 v4, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
mul-long/2addr v0, v4
add-long/2addr v0, v2
.line 615
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p1, v2
.line 616
ushr-long/2addr v0, v8
.line 617
long-to-int v0, v0
return v0
.end method
.method public static mulByWordAddTo(I[I[I)I
.registers 13
.prologue
.line 622
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
.line 623
const-wide/16 v2, 0x0
const/4 v4, 0x0
aget v4, p2, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
mul-long/2addr v4, v0
const/4 v6, 0x0
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 624
const/4 v4, 0x0
long-to-int v5, v2
aput v5, p2, v4
.line 625
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 626
const/4 v4, 0x1
aget v4, p2, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
mul-long/2addr v4, v0
const/4 v6, 0x1
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 627
const/4 v4, 0x1
long-to-int v5, v2
aput v5, p2, v4
.line 628
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 629
const/4 v4, 0x2
aget v4, p2, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
mul-long/2addr v4, v0
const/4 v6, 0x2
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 630
const/4 v4, 0x2
long-to-int v5, v2
aput v5, p2, v4
.line 631
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 632
const/4 v4, 0x3
aget v4, p2, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
mul-long/2addr v4, v0
const/4 v6, 0x3
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 633
const/4 v4, 0x3
long-to-int v5, v2
aput v5, p2, v4
.line 634
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 635
const/4 v4, 0x4
aget v4, p2, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
mul-long/2addr v4, v0
const/4 v6, 0x4
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 636
const/4 v4, 0x4
long-to-int v5, v2
aput v5, p2, v4
.line 637
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 638
const/4 v4, 0x5
aget v4, p2, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
mul-long/2addr v4, v0
const/4 v6, 0x5
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 639
const/4 v4, 0x5
long-to-int v5, v2
aput v5, p2, v4
.line 640
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 641
const/4 v4, 0x6
aget v4, p2, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
mul-long/2addr v0, v4
const/4 v4, 0x6
aget v4, p1, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
add-long/2addr v0, v4
add-long/2addr v0, v2
.line 642
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 643
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 644
long-to-int v0, v0
return v0
.end method
.method public static mulWord(I[I[II)I
.registers 14
.prologue
const-wide v8, 0xffffffffL
.line 733
const-wide/16 v0, 0x0
int-to-long v2, p0
and-long v4, v2, v8
.line 734
const/4 v2, 0x0
.line 737
:cond_b
aget v3, p1, v2
int-to-long v6, v3
and-long/2addr v6, v8
mul-long/2addr v6, v4
add-long/2addr v0, v6
.line 738
add-int v3, p3, v2
long-to-int v6, v0
aput v6, p2, v3
.line 739
const/16 v3, 0x20
ushr-long/2addr v0, v3
.line 741
add-int/lit8 v2, v2, 0x1
const/4 v3, 0x7
if-lt v2, v3, :cond_b
.line 742
long-to-int v0, v0
return v0
.end method
.method public static mulWordAddTo(I[II[II)I
.registers 16
.prologue
const/16 v10, 0x20
const-wide v8, 0xffffffffL
.line 649
int-to-long v0, p0
and-long/2addr v0, v8
.line 650
const-wide/16 v2, 0x0
aget v4, p1, p2
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v4, v0
aget v6, p3, p4
int-to-long v6, v6
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 651
long-to-int v4, v2
aput v4, p3, p4
.line 652
ushr-long/2addr v2, v10
.line 653
add-int/lit8 v4, p2, 0x1
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v4, v0
add-int/lit8 v6, p4, 0x1
aget v6, p3, v6
int-to-long v6, v6
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 654
add-int/lit8 v4, p4, 0x1
long-to-int v5, v2
aput v5, p3, v4
.line 655
ushr-long/2addr v2, v10
.line 656
add-int/lit8 v4, p2, 0x2
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v4, v0
add-int/lit8 v6, p4, 0x2
aget v6, p3, v6
int-to-long v6, v6
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 657
add-int/lit8 v4, p4, 0x2
long-to-int v5, v2
aput v5, p3, v4
.line 658
ushr-long/2addr v2, v10
.line 659
add-int/lit8 v4, p2, 0x3
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v4, v0
add-int/lit8 v6, p4, 0x3
aget v6, p3, v6
int-to-long v6, v6
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 660
add-int/lit8 v4, p4, 0x3
long-to-int v5, v2
aput v5, p3, v4
.line 661
ushr-long/2addr v2, v10
.line 662
add-int/lit8 v4, p2, 0x4
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v4, v0
add-int/lit8 v6, p4, 0x4
aget v6, p3, v6
int-to-long v6, v6
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 663
add-int/lit8 v4, p4, 0x4
long-to-int v5, v2
aput v5, p3, v4
.line 664
ushr-long/2addr v2, v10
.line 665
add-int/lit8 v4, p2, 0x5
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v4, v0
add-int/lit8 v6, p4, 0x5
aget v6, p3, v6
int-to-long v6, v6
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 666
add-int/lit8 v4, p4, 0x5
long-to-int v5, v2
aput v5, p3, v4
.line 667
ushr-long/2addr v2, v10
.line 668
add-int/lit8 v4, p2, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v0, v4
add-int/lit8 v4, p4, 0x6
aget v4, p3, v4
int-to-long v4, v4
and-long/2addr v4, v8
add-long/2addr v0, v4
add-long/2addr v0, v2
.line 669
add-int/lit8 v2, p4, 0x6
long-to-int v3, v0
aput v3, p3, v2
.line 670
ushr-long/2addr v0, v10
.line 671
long-to-int v0, v0
return v0
.end method
.method public static mulWordDwordAdd(IJ[II)I
.registers 16
.prologue
.line 718
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
.line 719
const-wide/16 v2, 0x0
const-wide v4, 0xffffffffL
and-long/2addr v4, p1
mul-long/2addr v4, v0
aget v6, p3, p4
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
add-long/2addr v4, v6
add-long/2addr v2, v4
.line 720
long-to-int v4, v2
aput v4, p3, p4
.line 721
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 722
const/16 v4, 0x20
ushr-long v4, p1, v4
mul-long/2addr v0, v4
add-int/lit8 v4, p4, 0x1
aget v4, p3, v4
int-to-long v4, v4
const-wide v6, 0xffffffffL
and-long/2addr v4, v6
add-long/2addr v0, v4
add-long/2addr v0, v2
.line 723
add-int/lit8 v2, p4, 0x1
long-to-int v3, v0
aput v3, p3, v2
.line 724
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 725
add-int/lit8 v2, p4, 0x2
aget v2, p3, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long/2addr v2, v4
add-long/2addr v0, v2
.line 726
add-int/lit8 v2, p4, 0x2
long-to-int v3, v0
aput v3, p3, v2
.line 727
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 728
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_57
const/4 v0, 0x0
:goto_56
return v0
:cond_57
const/4 v0, 0x7
const/4 v1, 0x3
invoke-static {v0, p3, p4, v1}, Lorg/spongycastle/math/raw/Nat;->incAt(I[III)I
move-result v0
goto :goto_56
.end method
.method public static square([II[II)V
.registers 38
.prologue
.line 886
aget v2, p0, p1
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 889
const/4 v4, 0x0
.line 891
const/4 v3, 0x6
const/16 v2, 0xe
move v5, v4
.line 894
:goto_f
add-int/lit8 v4, v3, -0x1
add-int v3, v3, p1
aget v3, p0, v3
int-to-long v8, v3
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
.line 895
mul-long/2addr v8, v8
.line 896
add-int/lit8 v2, v2, -0x1
add-int v3, p3, v2
shl-int/lit8 v5, v5, 0x1f
const/16 v10, 0x21
ushr-long v10, v8, v10
long-to-int v10, v10
or-int/2addr v5, v10
aput v5, p2, v3
.line 897
add-int/lit8 v2, v2, -0x1
add-int v3, p3, v2
const/4 v5, 0x1
ushr-long v10, v8, v5
long-to-int v5, v10
aput v5, p2, v3
.line 898
long-to-int v3, v8
.line 900
if-gtz v4, :cond_2c0
.line 903
mul-long v4, v6, v6
.line 904
shl-int/lit8 v2, v3, 0x1f
int-to-long v2, v2
const-wide v8, 0xffffffffL
and-long/2addr v2, v8
const/16 v8, 0x21
ushr-long v8, v4, v8
or-long/2addr v2, v8
.line 905
long-to-int v8, v4
aput v8, p2, p3
.line 906
const/16 v8, 0x20
ushr-long/2addr v4, v8
long-to-int v4, v4
and-int/lit8 v4, v4, 0x1
.line 910
add-int/lit8 v5, p1, 0x1
aget v5, p0, v5
int-to-long v8, v5
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
.line 911
add-int/lit8 v5, p3, 0x2
aget v5, p2, v5
int-to-long v10, v5
const-wide v12, 0xffffffffL
and-long/2addr v10, v12
.line 914
mul-long v12, v8, v6
add-long/2addr v2, v12
.line 915
long-to-int v5, v2
.line 916
add-int/lit8 v12, p3, 0x1
shl-int/lit8 v13, v5, 0x1
or-int/2addr v4, v13
aput v4, p2, v12
.line 917
ushr-int/lit8 v4, v5, 0x1f
.line 918
const/16 v5, 0x20
ushr-long/2addr v2, v5
add-long/2addr v2, v10
.line 921
add-int/lit8 v5, p1, 0x2
aget v5, p0, v5
int-to-long v10, v5
const-wide v12, 0xffffffffL
and-long/2addr v10, v12
.line 922
add-int/lit8 v5, p3, 0x3
aget v5, p2, v5
int-to-long v12, v5
const-wide v14, 0xffffffffL
and-long/2addr v12, v14
.line 923
add-int/lit8 v5, p3, 0x4
aget v5, p2, v5
int-to-long v14, v5
const-wide v16, 0xffffffffL
and-long v14, v14, v16
.line 925
mul-long v16, v10, v6
add-long v2, v2, v16
.line 926
long-to-int v5, v2
.line 927
add-int/lit8 v16, p3, 0x2
shl-int/lit8 v17, v5, 0x1
or-int v4, v4, v17
aput v4, p2, v16
.line 928
ushr-int/lit8 v4, v5, 0x1f
.line 929
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v16, v10, v8
add-long v2, v2, v16
add-long/2addr v2, v12
.line 930
const/16 v5, 0x20
ushr-long v12, v2, v5
add-long/2addr v12, v14
.line 931
const-wide v14, 0xffffffffL
and-long/2addr v2, v14
.line 934
add-int/lit8 v5, p1, 0x3
aget v5, p0, v5
int-to-long v14, v5
const-wide v16, 0xffffffffL
and-long v14, v14, v16
.line 935
add-int/lit8 v5, p3, 0x5
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v16, v0
const-wide v18, 0xffffffffL
and-long v16, v16, v18
.line 936
add-int/lit8 v5, p3, 0x6
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v18, v0
const-wide v20, 0xffffffffL
and-long v18, v18, v20
.line 938
mul-long v20, v14, v6
add-long v2, v2, v20
.line 939
long-to-int v5, v2
.line 940
add-int/lit8 v20, p3, 0x3
shl-int/lit8 v21, v5, 0x1
or-int v4, v4, v21
aput v4, p2, v20
.line 941
ushr-int/lit8 v4, v5, 0x1f
.line 942
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v20, v14, v8
add-long v2, v2, v20
add-long/2addr v2, v12
.line 943
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v20, v14, v10
add-long v12, v12, v20
add-long v12, v12, v16
.line 944
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 945
const/16 v5, 0x20
ushr-long v16, v12, v5
add-long v16, v16, v18
.line 946
const-wide v18, 0xffffffffL
and-long v12, v12, v18
.line 949
add-int/lit8 v5, p1, 0x4
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v18, v0
const-wide v20, 0xffffffffL
and-long v18, v18, v20
.line 950
add-int/lit8 v5, p3, 0x7
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v20, v0
const-wide v22, 0xffffffffL
and-long v20, v20, v22
.line 951
add-int/lit8 v5, p3, 0x8
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
.line 953
mul-long v24, v18, v6
add-long v2, v2, v24
.line 954
long-to-int v5, v2
.line 955
add-int/lit8 v24, p3, 0x4
shl-int/lit8 v25, v5, 0x1
or-int v4, v4, v25
aput v4, p2, v24
.line 956
ushr-int/lit8 v4, v5, 0x1f
.line 957
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v24, v18, v8
add-long v2, v2, v24
add-long/2addr v2, v12
.line 958
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v24, v18, v10
add-long v12, v12, v24
add-long v12, v12, v16
.line 959
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 960
const/16 v5, 0x20
ushr-long v16, v12, v5
mul-long v24, v18, v14
add-long v16, v16, v24
add-long v16, v16, v20
.line 961
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 962
const/16 v5, 0x20
ushr-long v20, v16, v5
add-long v20, v20, v22
.line 963
const-wide v22, 0xffffffffL
and-long v16, v16, v22
.line 966
add-int/lit8 v5, p1, 0x5
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
.line 967
add-int/lit8 v5, p3, 0x9
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
.line 968
add-int/lit8 v5, p3, 0xa
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
.line 970
mul-long v28, v22, v6
add-long v2, v2, v28
.line 971
long-to-int v5, v2
.line 972
add-int/lit8 v28, p3, 0x5
shl-int/lit8 v29, v5, 0x1
or-int v4, v4, v29
aput v4, p2, v28
.line 973
ushr-int/lit8 v4, v5, 0x1f
.line 974
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v28, v22, v8
add-long v2, v2, v28
add-long/2addr v2, v12
.line 975
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v28, v22, v10
add-long v12, v12, v28
add-long v12, v12, v16
.line 976
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 977
const/16 v5, 0x20
ushr-long v16, v12, v5
mul-long v28, v22, v14
add-long v16, v16, v28
add-long v16, v16, v20
.line 978
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 979
const/16 v5, 0x20
ushr-long v20, v16, v5
mul-long v28, v22, v18
add-long v20, v20, v28
add-long v20, v20, v24
.line 980
const-wide v24, 0xffffffffL
and-long v16, v16, v24
.line 981
const/16 v5, 0x20
ushr-long v24, v20, v5
add-long v24, v24, v26
.line 982
const-wide v26, 0xffffffffL
and-long v20, v20, v26
.line 985
add-int/lit8 v5, p1, 0x6
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
.line 986
add-int/lit8 v5, p3, 0xb
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
.line 987
add-int/lit8 v5, p3, 0xc
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v30, v0
const-wide v32, 0xffffffffL
and-long v30, v30, v32
.line 989
mul-long v6, v6, v26
add-long/2addr v2, v6
.line 990
long-to-int v5, v2
.line 991
add-int/lit8 v6, p3, 0x6
shl-int/lit8 v7, v5, 0x1
or-int/2addr v4, v7
aput v4, p2, v6
.line 992
ushr-int/lit8 v4, v5, 0x1f
.line 993
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v6, v26, v8
add-long/2addr v2, v6
add-long/2addr v2, v12
.line 994
const/16 v5, 0x20
ushr-long v6, v2, v5
mul-long v8, v26, v10
add-long/2addr v6, v8
add-long v6, v6, v16
.line 995
const/16 v5, 0x20
ushr-long v8, v6, v5
mul-long v10, v26, v14
add-long/2addr v8, v10
add-long v8, v8, v20
.line 996
const/16 v5, 0x20
ushr-long v10, v8, v5
mul-long v12, v26, v18
add-long/2addr v10, v12
add-long v10, v10, v24
.line 997
const/16 v5, 0x20
ushr-long v12, v10, v5
mul-long v14, v26, v22
add-long/2addr v12, v14
add-long v12, v12, v28
.line 998
const/16 v5, 0x20
ushr-long v14, v12, v5
add-long v14, v14, v30
.line 1001
long-to-int v2, v2
.line 1002
add-int/lit8 v3, p3, 0x7
shl-int/lit8 v5, v2, 0x1
or-int/2addr v4, v5
aput v4, p2, v3
.line 1003
ushr-int/lit8 v2, v2, 0x1f
.line 1004
long-to-int v3, v6
.line 1005
add-int/lit8 v4, p3, 0x8
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1006
ushr-int/lit8 v2, v3, 0x1f
.line 1007
long-to-int v3, v8
.line 1008
add-int/lit8 v4, p3, 0x9
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1009
ushr-int/lit8 v2, v3, 0x1f
.line 1010
long-to-int v3, v10
.line 1011
add-int/lit8 v4, p3, 0xa
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1012
ushr-int/lit8 v2, v3, 0x1f
.line 1013
long-to-int v3, v12
.line 1014
add-int/lit8 v4, p3, 0xb
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1015
ushr-int/lit8 v2, v3, 0x1f
.line 1016
long-to-int v3, v14
.line 1017
add-int/lit8 v4, p3, 0xc
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1018
ushr-int/lit8 v2, v3, 0x1f
.line 1019
add-int/lit8 v3, p3, 0xd
aget v3, p2, v3
const/16 v4, 0x20
shr-long v4, v14, v4
long-to-int v4, v4
add-int/2addr v3, v4
.line 1020
add-int/lit8 v4, p3, 0xd
shl-int/lit8 v3, v3, 0x1
or-int/2addr v2, v3
aput v2, p2, v4
.line 1021
return-void
:cond_2c0
move v5, v3
move v3, v4
goto/16 :goto_f
.end method
.method public static square([I[I)V
.registers 36
.prologue
.line 747
const/4 v2, 0x0
aget v2, p0, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 750
const/4 v4, 0x0
.line 752
const/4 v3, 0x6
const/16 v2, 0xe
move v5, v4
.line 755
:goto_10
add-int/lit8 v4, v3, -0x1
aget v3, p0, v3
int-to-long v8, v3
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
.line 756
mul-long/2addr v8, v8
.line 757
add-int/lit8 v2, v2, -0x1
shl-int/lit8 v3, v5, 0x1f
const/16 v5, 0x21
ushr-long v10, v8, v5
long-to-int v5, v10
or-int/2addr v3, v5
aput v3, p1, v2
.line 758
add-int/lit8 v2, v2, -0x1
const/4 v3, 0x1
ushr-long v10, v8, v3
long-to-int v3, v10
aput v3, p1, v2
.line 759
long-to-int v3, v8
.line 761
if-gtz v4, :cond_2ad
.line 764
mul-long v4, v6, v6
.line 765
shl-int/lit8 v2, v3, 0x1f
int-to-long v2, v2
const-wide v8, 0xffffffffL
and-long/2addr v2, v8
const/16 v8, 0x21
ushr-long v8, v4, v8
or-long/2addr v2, v8
.line 766
const/4 v8, 0x0
long-to-int v9, v4
aput v9, p1, v8
.line 767
const/16 v8, 0x20
ushr-long/2addr v4, v8
long-to-int v4, v4
and-int/lit8 v4, v4, 0x1
.line 771
const/4 v5, 0x1
aget v5, p0, v5
int-to-long v8, v5
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
.line 772
const/4 v5, 0x2
aget v5, p1, v5
int-to-long v10, v5
const-wide v12, 0xffffffffL
and-long/2addr v10, v12
.line 775
mul-long v12, v8, v6
add-long/2addr v2, v12
.line 776
long-to-int v5, v2
.line 777
const/4 v12, 0x1
shl-int/lit8 v13, v5, 0x1
or-int/2addr v4, v13
aput v4, p1, v12
.line 778
ushr-int/lit8 v4, v5, 0x1f
.line 779
const/16 v5, 0x20
ushr-long/2addr v2, v5
add-long/2addr v2, v10
.line 782
const/4 v5, 0x2
aget v5, p0, v5
int-to-long v10, v5
const-wide v12, 0xffffffffL
and-long/2addr v10, v12
.line 783
const/4 v5, 0x3
aget v5, p1, v5
int-to-long v12, v5
const-wide v14, 0xffffffffL
and-long/2addr v12, v14
.line 784
const/4 v5, 0x4
aget v5, p1, v5
int-to-long v14, v5
const-wide v16, 0xffffffffL
and-long v14, v14, v16
.line 786
mul-long v16, v10, v6
add-long v2, v2, v16
.line 787
long-to-int v5, v2
.line 788
const/16 v16, 0x2
shl-int/lit8 v17, v5, 0x1
or-int v4, v4, v17
aput v4, p1, v16
.line 789
ushr-int/lit8 v4, v5, 0x1f
.line 790
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v16, v10, v8
add-long v2, v2, v16
add-long/2addr v2, v12
.line 791
const/16 v5, 0x20
ushr-long v12, v2, v5
add-long/2addr v12, v14
.line 792
const-wide v14, 0xffffffffL
and-long/2addr v2, v14
.line 795
const/4 v5, 0x3
aget v5, p0, v5
int-to-long v14, v5
const-wide v16, 0xffffffffL
and-long v14, v14, v16
.line 796
const/4 v5, 0x5
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v16, v0
const-wide v18, 0xffffffffL
and-long v16, v16, v18
.line 797
const/4 v5, 0x6
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v18, v0
const-wide v20, 0xffffffffL
and-long v18, v18, v20
.line 799
mul-long v20, v14, v6
add-long v2, v2, v20
.line 800
long-to-int v5, v2
.line 801
const/16 v20, 0x3
shl-int/lit8 v21, v5, 0x1
or-int v4, v4, v21
aput v4, p1, v20
.line 802
ushr-int/lit8 v4, v5, 0x1f
.line 803
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v20, v14, v8
add-long v2, v2, v20
add-long/2addr v2, v12
.line 804
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v20, v14, v10
add-long v12, v12, v20
add-long v12, v12, v16
.line 805
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 806
const/16 v5, 0x20
ushr-long v16, v12, v5
add-long v16, v16, v18
.line 807
const-wide v18, 0xffffffffL
and-long v12, v12, v18
.line 810
const/4 v5, 0x4
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v18, v0
const-wide v20, 0xffffffffL
and-long v18, v18, v20
.line 811
const/4 v5, 0x7
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v20, v0
const-wide v22, 0xffffffffL
and-long v20, v20, v22
.line 812
const/16 v5, 0x8
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
.line 814
mul-long v24, v18, v6
add-long v2, v2, v24
.line 815
long-to-int v5, v2
.line 816
const/16 v24, 0x4
shl-int/lit8 v25, v5, 0x1
or-int v4, v4, v25
aput v4, p1, v24
.line 817
ushr-int/lit8 v4, v5, 0x1f
.line 818
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v24, v18, v8
add-long v2, v2, v24
add-long/2addr v2, v12
.line 819
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v24, v18, v10
add-long v12, v12, v24
add-long v12, v12, v16
.line 820
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 821
const/16 v5, 0x20
ushr-long v16, v12, v5
mul-long v24, v18, v14
add-long v16, v16, v24
add-long v16, v16, v20
.line 822
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 823
const/16 v5, 0x20
ushr-long v20, v16, v5
add-long v20, v20, v22
.line 824
const-wide v22, 0xffffffffL
and-long v16, v16, v22
.line 827
const/4 v5, 0x5
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
.line 828
const/16 v5, 0x9
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v24, v0
const-wide v26, 0xffffffffL
and-long v24, v24, v26
.line 829
const/16 v5, 0xa
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
.line 831
mul-long v28, v22, v6
add-long v2, v2, v28
.line 832
long-to-int v5, v2
.line 833
const/16 v28, 0x5
shl-int/lit8 v29, v5, 0x1
or-int v4, v4, v29
aput v4, p1, v28
.line 834
ushr-int/lit8 v4, v5, 0x1f
.line 835
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v28, v22, v8
add-long v2, v2, v28
add-long/2addr v2, v12
.line 836
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v28, v22, v10
add-long v12, v12, v28
add-long v12, v12, v16
.line 837
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 838
const/16 v5, 0x20
ushr-long v16, v12, v5
mul-long v28, v22, v14
add-long v16, v16, v28
add-long v16, v16, v20
.line 839
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 840
const/16 v5, 0x20
ushr-long v20, v16, v5
mul-long v28, v22, v18
add-long v20, v20, v28
add-long v20, v20, v24
.line 841
const-wide v24, 0xffffffffL
and-long v16, v16, v24
.line 842
const/16 v5, 0x20
ushr-long v24, v20, v5
add-long v24, v24, v26
.line 843
const-wide v26, 0xffffffffL
and-long v20, v20, v26
.line 846
const/4 v5, 0x6
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v26, v0
const-wide v28, 0xffffffffL
and-long v26, v26, v28
.line 847
const/16 v5, 0xb
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
.line 848
const/16 v5, 0xc
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v30, v0
const-wide v32, 0xffffffffL
and-long v30, v30, v32
.line 850
mul-long v6, v6, v26
add-long/2addr v2, v6
.line 851
long-to-int v5, v2
.line 852
const/4 v6, 0x6
shl-int/lit8 v7, v5, 0x1
or-int/2addr v4, v7
aput v4, p1, v6
.line 853
ushr-int/lit8 v4, v5, 0x1f
.line 854
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v6, v26, v8
add-long/2addr v2, v6
add-long/2addr v2, v12
.line 855
const/16 v5, 0x20
ushr-long v6, v2, v5
mul-long v8, v26, v10
add-long/2addr v6, v8
add-long v6, v6, v16
.line 856
const/16 v5, 0x20
ushr-long v8, v6, v5
mul-long v10, v26, v14
add-long/2addr v8, v10
add-long v8, v8, v20
.line 857
const/16 v5, 0x20
ushr-long v10, v8, v5
mul-long v12, v26, v18
add-long/2addr v10, v12
add-long v10, v10, v24
.line 858
const/16 v5, 0x20
ushr-long v12, v10, v5
mul-long v14, v26, v22
add-long/2addr v12, v14
add-long v12, v12, v28
.line 859
const/16 v5, 0x20
ushr-long v14, v12, v5
add-long v14, v14, v30
.line 862
long-to-int v2, v2
.line 863
const/4 v3, 0x7
shl-int/lit8 v5, v2, 0x1
or-int/2addr v4, v5
aput v4, p1, v3
.line 864
ushr-int/lit8 v2, v2, 0x1f
.line 865
long-to-int v3, v6
.line 866
const/16 v4, 0x8
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 867
ushr-int/lit8 v2, v3, 0x1f
.line 868
long-to-int v3, v8
.line 869
const/16 v4, 0x9
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 870
ushr-int/lit8 v2, v3, 0x1f
.line 871
long-to-int v3, v10
.line 872
const/16 v4, 0xa
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 873
ushr-int/lit8 v2, v3, 0x1f
.line 874
long-to-int v3, v12
.line 875
const/16 v4, 0xb
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 876
ushr-int/lit8 v2, v3, 0x1f
.line 877
long-to-int v3, v14
.line 878
const/16 v4, 0xc
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 879
ushr-int/lit8 v2, v3, 0x1f
.line 880
const/16 v3, 0xd
aget v3, p1, v3
const/16 v4, 0x20
shr-long v4, v14, v4
long-to-int v4, v4
add-int/2addr v3, v4
.line 881
const/16 v4, 0xd
shl-int/lit8 v3, v3, 0x1
or-int/2addr v2, v3
aput v2, p1, v4
.line 882
return-void
:cond_2ad
move v5, v3
move v3, v4
goto/16 :goto_10
.end method
.method public static sub([II[II[II)I
.registers 15
.prologue
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 1053
const-wide/16 v0, 0x0
aget v2, p0, p1
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p2, p3
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1054
long-to-int v2, v0
aput v2, p4, p5
.line 1055
shr-long/2addr v0, v8
.line 1056
add-int/lit8 v2, p1, 0x1
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x1
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1057
add-int/lit8 v2, p5, 0x1
long-to-int v3, v0
aput v3, p4, v2
.line 1058
shr-long/2addr v0, v8
.line 1059
add-int/lit8 v2, p1, 0x2
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x2
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1060
add-int/lit8 v2, p5, 0x2
long-to-int v3, v0
aput v3, p4, v2
.line 1061
shr-long/2addr v0, v8
.line 1062
add-int/lit8 v2, p1, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x3
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1063
add-int/lit8 v2, p5, 0x3
long-to-int v3, v0
aput v3, p4, v2
.line 1064
shr-long/2addr v0, v8
.line 1065
add-int/lit8 v2, p1, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x4
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1066
add-int/lit8 v2, p5, 0x4
long-to-int v3, v0
aput v3, p4, v2
.line 1067
shr-long/2addr v0, v8
.line 1068
add-int/lit8 v2, p1, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x5
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1069
add-int/lit8 v2, p5, 0x5
long-to-int v3, v0
aput v3, p4, v2
.line 1070
shr-long/2addr v0, v8
.line 1071
add-int/lit8 v2, p1, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x6
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1072
add-int/lit8 v2, p5, 0x6
long-to-int v3, v0
aput v3, p4, v2
.line 1073
shr-long/2addr v0, v8
.line 1074
long-to-int v0, v0
return v0
.end method
.method public static sub([I[I[I)I
.registers 15
.prologue
const/4 v11, 0x2
const/4 v10, 0x1
const/4 v9, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 1026
const-wide/16 v0, 0x0
aget v2, p0, v9
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v9
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1027
long-to-int v2, v0
aput v2, p2, v9
.line 1028
shr-long/2addr v0, v8
.line 1029
aget v2, p0, v10
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v10
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1030
long-to-int v2, v0
aput v2, p2, v10
.line 1031
shr-long/2addr v0, v8
.line 1032
aget v2, p0, v11
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p1, v11
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1033
long-to-int v2, v0
aput v2, p2, v11
.line 1034
shr-long/2addr v0, v8
.line 1035
const/4 v2, 0x3
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x3
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1036
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 1037
shr-long/2addr v0, v8
.line 1038
const/4 v2, 0x4
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x4
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1039
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 1040
shr-long/2addr v0, v8
.line 1041
const/4 v2, 0x5
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x5
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1042
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 1043
shr-long/2addr v0, v8
.line 1044
const/4 v2, 0x6
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1045
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 1046
shr-long/2addr v0, v8
.line 1047
long-to-int v0, v0
return v0
.end method
.method public static subBothFrom([I[I[I)I
.registers 15
.prologue
const/4 v11, 0x2
const/4 v10, 0x1
const/4 v9, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 1080
const-wide/16 v0, 0x0
aget v2, p2, v9
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p0, v9
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
aget v4, p1, v9
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1081
long-to-int v2, v0
aput v2, p2, v9
.line 1082
shr-long/2addr v0, v8
.line 1083
aget v2, p2, v10
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p0, v10
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
aget v4, p1, v10
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1084
long-to-int v2, v0
aput v2, p2, v10
.line 1085
shr-long/2addr v0, v8
.line 1086
aget v2, p2, v11
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p0, v11
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
aget v4, p1, v11
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1087
long-to-int v2, v0
aput v2, p2, v11
.line 1088
shr-long/2addr v0, v8
.line 1089
const/4 v2, 0x3
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x3
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
const/4 v4, 0x3
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1090
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 1091
shr-long/2addr v0, v8
.line 1092
const/4 v2, 0x4
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x4
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
const/4 v4, 0x4
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1093
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 1094
shr-long/2addr v0, v8
.line 1095
const/4 v2, 0x5
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x5
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
const/4 v4, 0x5
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1096
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 1097
shr-long/2addr v0, v8
.line 1098
const/4 v2, 0x6
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x6
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
const/4 v4, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1099
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 1100
shr-long/2addr v0, v8
.line 1101
long-to-int v0, v0
return v0
.end method
.method public static subFrom([II[II)I
.registers 13
.prologue
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 1134
const-wide/16 v0, 0x0
aget v2, p2, p3
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p0, p1
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1135
long-to-int v2, v0
aput v2, p2, p3
.line 1136
shr-long/2addr v0, v8
.line 1137
add-int/lit8 v2, p3, 0x1
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p1, 0x1
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1138
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 1139
shr-long/2addr v0, v8
.line 1140
add-int/lit8 v2, p3, 0x2
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p1, 0x2
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1141
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 1142
shr-long/2addr v0, v8
.line 1143
add-int/lit8 v2, p3, 0x3
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p1, 0x3
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1144
add-int/lit8 v2, p3, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 1145
shr-long/2addr v0, v8
.line 1146
add-int/lit8 v2, p3, 0x4
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p1, 0x4
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1147
add-int/lit8 v2, p3, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 1148
shr-long/2addr v0, v8
.line 1149
add-int/lit8 v2, p3, 0x5
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p1, 0x5
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1150
add-int/lit8 v2, p3, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 1151
shr-long/2addr v0, v8
.line 1152
add-int/lit8 v2, p3, 0x6
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p1, 0x6
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1153
add-int/lit8 v2, p3, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 1154
shr-long/2addr v0, v8
.line 1155
long-to-int v0, v0
return v0
.end method
.method public static subFrom([I[I)I
.registers 14
.prologue
const/4 v11, 0x2
const/4 v10, 0x1
const/4 v9, 0x0
const/16 v8, 0x20
const-wide v6, 0xffffffffL
.line 1107
const-wide/16 v0, 0x0
aget v2, p1, v9
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p0, v9
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1108
long-to-int v2, v0
aput v2, p1, v9
.line 1109
shr-long/2addr v0, v8
.line 1110
aget v2, p1, v10
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p0, v10
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1111
long-to-int v2, v0
aput v2, p1, v10
.line 1112
shr-long/2addr v0, v8
.line 1113
aget v2, p1, v11
int-to-long v2, v2
and-long/2addr v2, v6
aget v4, p0, v11
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1114
long-to-int v2, v0
aput v2, p1, v11
.line 1115
shr-long/2addr v0, v8
.line 1116
const/4 v2, 0x3
aget v2, p1, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x3
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1117
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p1, v2
.line 1118
shr-long/2addr v0, v8
.line 1119
const/4 v2, 0x4
aget v2, p1, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x4
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1120
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p1, v2
.line 1121
shr-long/2addr v0, v8
.line 1122
const/4 v2, 0x5
aget v2, p1, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x5
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1123
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p1, v2
.line 1124
shr-long/2addr v0, v8
.line 1125
const/4 v2, 0x6
aget v2, p1, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x6
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
add-long/2addr v0, v2
.line 1126
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p1, v2
.line 1127
shr-long/2addr v0, v8
.line 1128
long-to-int v0, v0
return v0
.end method
.method public static toBigInteger([I)Ljava/math/BigInteger;
.registers 5
.prologue
.line 1160
const/16 v0, 0x1c
new-array v1, v0, [B
.line 1161
const/4 v0, 0x0
:goto_5
const/4 v2, 0x7
if-ge v0, v2, :cond_16
.line 1163
aget v2, p0, v0
.line 1164
if-eqz v2, :cond_13
.line 1166
rsub-int/lit8 v3, v0, 0x6
shl-int/lit8 v3, v3, 0x2
invoke-static {v2, v1, v3}, Lorg/spongycastle/util/Pack;->intToBigEndian(I[BI)V
.line 1161
:cond_13
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 1169
:cond_16
new-instance v0, Ljava/math/BigInteger;
const/4 v2, 0x1
invoke-direct {v0, v2, v1}, Ljava/math/BigInteger;-><init>(I[B)V
return-object v0
.end method
.method public static zero([I)V
.registers 3
.prologue
const/4 v1, 0x0
.line 1174
aput v1, p0, v1
.line 1175
const/4 v0, 0x1
aput v1, p0, v0
.line 1176
const/4 v0, 0x2
aput v1, p0, v0
.line 1177
const/4 v0, 0x3
aput v1, p0, v0
.line 1178
const/4 v0, 0x4
aput v1, p0, v0
.line 1179
const/4 v0, 0x5
aput v1, p0, v0
.line 1180
const/4 v0, 0x6
aput v1, p0, v0
.line 1181
return-void
.end method