Nat256.smali
.class public abstract Lorg/spongycastle/math/raw/Nat256;
.super Ljava/lang/Object;
.source "Nat256.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 44
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 45
long-to-int v2, v0
aput v2, p4, p5
.line 46
ushr-long/2addr v0, v8
.line 47
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 48
add-int/lit8 v2, p5, 0x1
long-to-int v3, v0
aput v3, p4, v2
.line 49
ushr-long/2addr v0, v8
.line 50
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 51
add-int/lit8 v2, p5, 0x2
long-to-int v3, v0
aput v3, p4, v2
.line 52
ushr-long/2addr v0, v8
.line 53
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 54
add-int/lit8 v2, p5, 0x3
long-to-int v3, v0
aput v3, p4, v2
.line 55
ushr-long/2addr v0, v8
.line 56
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 57
add-int/lit8 v2, p5, 0x4
long-to-int v3, v0
aput v3, p4, v2
.line 58
ushr-long/2addr v0, v8
.line 59
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 60
add-int/lit8 v2, p5, 0x5
long-to-int v3, v0
aput v3, p4, v2
.line 61
ushr-long/2addr v0, v8
.line 62
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 63
add-int/lit8 v2, p5, 0x6
long-to-int v3, v0
aput v3, p4, v2
.line 64
ushr-long/2addr v0, v8
.line 65
add-int/lit8 v2, p1, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x7
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 66
add-int/lit8 v2, p5, 0x7
long-to-int v3, v0
aput v3, p4, v2
.line 67
ushr-long/2addr v0, v8
.line 68
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
const/4 v2, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x7
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 36
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 37
ushr-long/2addr v0, v8
.line 38
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 104
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 105
long-to-int v2, v0
aput v2, p4, p5
.line 106
ushr-long/2addr v0, v8
.line 107
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 108
add-int/lit8 v2, p5, 0x1
long-to-int v3, v0
aput v3, p4, v2
.line 109
ushr-long/2addr v0, v8
.line 110
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 111
add-int/lit8 v2, p5, 0x2
long-to-int v3, v0
aput v3, p4, v2
.line 112
ushr-long/2addr v0, v8
.line 113
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 114
add-int/lit8 v2, p5, 0x3
long-to-int v3, v0
aput v3, p4, v2
.line 115
ushr-long/2addr v0, v8
.line 116
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 117
add-int/lit8 v2, p5, 0x4
long-to-int v3, v0
aput v3, p4, v2
.line 118
ushr-long/2addr v0, v8
.line 119
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 120
add-int/lit8 v2, p5, 0x5
long-to-int v3, v0
aput v3, p4, v2
.line 121
ushr-long/2addr v0, v8
.line 122
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 123
add-int/lit8 v2, p5, 0x6
long-to-int v3, v0
aput v3, p4, v2
.line 124
ushr-long/2addr v0, v8
.line 125
add-int/lit8 v2, p1, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x7
aget v4, p2, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
add-int/lit8 v4, p5, 0x7
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 126
add-int/lit8 v2, p5, 0x7
long-to-int v3, v0
aput v3, p4, v2
.line 127
ushr-long/2addr v0, v8
.line 128
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 74
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 75
long-to-int v2, v0
aput v2, p2, v9
.line 76
ushr-long/2addr v0, v8
.line 77
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 78
long-to-int v2, v0
aput v2, p2, v10
.line 79
ushr-long/2addr v0, v8
.line 80
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 81
long-to-int v2, v0
aput v2, p2, v11
.line 82
ushr-long/2addr v0, v8
.line 83
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 84
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 85
ushr-long/2addr v0, v8
.line 86
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 87
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 88
ushr-long/2addr v0, v8
.line 89
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 90
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 91
ushr-long/2addr v0, v8
.line 92
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 93
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 94
ushr-long/2addr v0, v8
.line 95
const/4 v2, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x7
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v6
add-long/2addr v2, v4
const/4 v4, 0x7
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 96
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 97
ushr-long/2addr v0, v8
.line 98
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 163
int-to-long v0, p4
and-long/2addr v0, v6
.line 164
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 165
long-to-int v2, v0
aput v2, p2, p3
.line 166
ushr-long/2addr v0, v8
.line 167
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 168
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 169
ushr-long/2addr v0, v8
.line 170
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 171
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 172
ushr-long/2addr v0, v8
.line 173
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 174
add-int/lit8 v2, p3, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 175
ushr-long/2addr v0, v8
.line 176
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 177
add-int/lit8 v2, p3, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 178
ushr-long/2addr v0, v8
.line 179
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 180
add-int/lit8 v2, p3, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 181
ushr-long/2addr v0, v8
.line 182
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 183
add-int/lit8 v2, p3, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 184
ushr-long/2addr v0, v8
.line 185
add-int/lit8 v2, p1, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x7
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 186
add-int/lit8 v2, p3, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 187
ushr-long/2addr v0, v8
.line 188
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 134
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 135
long-to-int v2, v0
aput v2, p1, v9
.line 136
ushr-long/2addr v0, v8
.line 137
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 138
long-to-int v2, v0
aput v2, p1, v10
.line 139
ushr-long/2addr v0, v8
.line 140
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 141
long-to-int v2, v0
aput v2, p1, v11
.line 142
ushr-long/2addr v0, v8
.line 143
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 144
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p1, v2
.line 145
ushr-long/2addr v0, v8
.line 146
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 147
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p1, v2
.line 148
ushr-long/2addr v0, v8
.line 149
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 150
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p1, v2
.line 151
ushr-long/2addr v0, v8
.line 152
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 153
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p1, v2
.line 154
ushr-long/2addr v0, v8
.line 155
const/4 v2, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x7
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 156
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p1, v2
.line 157
ushr-long/2addr v0, v8
.line 158
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 194
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 195
long-to-int v2, v0
aput v2, p0, p1
.line 196
long-to-int v2, v0
aput v2, p2, p3
.line 197
ushr-long/2addr v0, v8
.line 198
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 199
add-int/lit8 v2, p1, 0x1
long-to-int v3, v0
aput v3, p0, v2
.line 200
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 201
ushr-long/2addr v0, v8
.line 202
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 203
add-int/lit8 v2, p1, 0x2
long-to-int v3, v0
aput v3, p0, v2
.line 204
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 205
ushr-long/2addr v0, v8
.line 206
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 207
add-int/lit8 v2, p1, 0x3
long-to-int v3, v0
aput v3, p0, v2
.line 208
add-int/lit8 v2, p3, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 209
ushr-long/2addr v0, v8
.line 210
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 211
add-int/lit8 v2, p1, 0x4
long-to-int v3, v0
aput v3, p0, v2
.line 212
add-int/lit8 v2, p3, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 213
ushr-long/2addr v0, v8
.line 214
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 215
add-int/lit8 v2, p1, 0x5
long-to-int v3, v0
aput v3, p0, v2
.line 216
add-int/lit8 v2, p3, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 217
ushr-long/2addr v0, v8
.line 218
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 219
add-int/lit8 v2, p1, 0x6
long-to-int v3, v0
aput v3, p0, v2
.line 220
add-int/lit8 v2, p3, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 221
ushr-long/2addr v0, v8
.line 222
add-int/lit8 v2, p1, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x7
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 223
add-int/lit8 v2, p1, 0x7
long-to-int v3, v0
aput v3, p0, v2
.line 224
add-int/lit8 v2, p3, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 225
ushr-long/2addr v0, v8
.line 226
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 231
aget v0, p0, v1
aput v0, p1, v1
.line 232
aget v0, p0, v2
aput v0, p1, v2
.line 233
aget v0, p0, v3
aput v0, p1, v3
.line 234
aget v0, p0, v4
aput v0, p1, v4
.line 235
aget v0, p0, v5
aput v0, p1, v5
.line 236
const/4 v0, 0x5
const/4 v1, 0x5
aget v1, p0, v1
aput v1, p1, v0
.line 237
const/4 v0, 0x6
const/4 v1, 0x6
aget v1, p0, v1
aput v1, p1, v0
.line 238
const/4 v0, 0x7
const/4 v1, 0x7
aget v1, p0, v1
aput v1, p1, v0
.line 239
return-void
.end method
.method public static copy64([J[J)V
.registers 8
.prologue
const/4 v5, 0x3
const/4 v4, 0x2
const/4 v3, 0x1
const/4 v2, 0x0
.line 243
aget-wide v0, p0, v2
aput-wide v0, p1, v2
.line 244
aget-wide v0, p0, v3
aput-wide v0, p1, v3
.line 245
aget-wide v0, p0, v4
aput-wide v0, p1, v4
.line 246
aget-wide v0, p0, v5
aput-wide v0, p1, v5
.line 247
return-void
.end method
.method public static create()[I
.registers 1
.prologue
.line 251
const/16 v0, 0x8
new-array v0, v0, [I
return-object v0
.end method
.method public static create64()[J
.registers 1
.prologue
.line 256
const/4 v0, 0x4
new-array v0, v0, [J
return-object v0
.end method
.method public static createExt()[I
.registers 1
.prologue
.line 261
const/16 v0, 0x10
new-array v0, v0, [I
return-object v0
.end method
.method public static createExt64()[J
.registers 1
.prologue
.line 266
const/16 v0, 0x8
new-array v0, v0, [J
return-object v0
.end method
.method public static diff([II[II[II)Z
.registers 13
.prologue
.line 271
invoke-static {p0, p1, p2, p3}, Lorg/spongycastle/math/raw/Nat256;->gte([II[II)Z
move-result v6
.line 272
if-eqz v6, :cond_a
.line 274
invoke-static/range {p0 .. p5}, Lorg/spongycastle/math/raw/Nat256;->sub([II[II[II)I
.line 280
: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 278
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/raw/Nat256;->sub([II[II[II)I
goto :goto_9
.end method
.method public static eq([I[I)Z
.registers 5
.prologue
.line 285
const/4 v0, 0x7
:goto_1
if-ltz v0, :cond_e
.line 287
aget v1, p0, v0
aget v2, p1, v0
if-eq v1, v2, :cond_b
.line 289
const/4 v0, 0x0
.line 292
:goto_a
return v0
.line 285
:cond_b
add-int/lit8 v0, v0, -0x1
goto :goto_1
.line 292
:cond_e
const/4 v0, 0x1
goto :goto_a
.end method
.method public static eq64([J[J)Z
.registers 8
.prologue
.line 297
const/4 v0, 0x3
:goto_1
if-ltz v0, :cond_10
.line 299
aget-wide v2, p0, v0
aget-wide v4, p1, v0
cmp-long v1, v2, v4
if-eqz v1, :cond_d
.line 301
const/4 v0, 0x0
.line 304
:goto_c
return v0
.line 297
:cond_d
add-int/lit8 v0, v0, -0x1
goto :goto_1
.line 304
:cond_10
const/4 v0, 0x1
goto :goto_c
.end method
.method public static fromBigInteger(Ljava/math/BigInteger;)[I
.registers 5
.prologue
.line 309
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, 0x100
if-le v0, v1, :cond_14
.line 311
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v0
.line 314
:cond_14
invoke-static {}, Lorg/spongycastle/math/raw/Nat256;->create()[I
move-result-object v2
.line 315
const/4 v0, 0x0
.line 316
:goto_19
invoke-virtual {p0}, Ljava/math/BigInteger;->signum()I
move-result v1
if-eqz v1, :cond_2f
.line 318
add-int/lit8 v1, v0, 0x1
invoke-virtual {p0}, Ljava/math/BigInteger;->intValue()I
move-result v3
aput v3, v2, v0
.line 319
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 321
:cond_2f
return-object v2
.end method
.method public static fromBigInteger64(Ljava/math/BigInteger;)[J
.registers 7
.prologue
.line 326
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, 0x100
if-le v0, v1, :cond_14
.line 328
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v0
.line 331
:cond_14
invoke-static {}, Lorg/spongycastle/math/raw/Nat256;->create64()[J
move-result-object v2
.line 332
const/4 v0, 0x0
.line 333
:goto_19
invoke-virtual {p0}, Ljava/math/BigInteger;->signum()I
move-result v1
if-eqz v1, :cond_2f
.line 335
add-int/lit8 v1, v0, 0x1
invoke-virtual {p0}, Ljava/math/BigInteger;->longValue()J
move-result-wide v4
aput-wide v4, v2, v0
.line 336
const/16 v0, 0x40
invoke-virtual {p0, v0}, Ljava/math/BigInteger;->shiftRight(I)Ljava/math/BigInteger;
move-result-object p0
move v0, v1
goto :goto_19
.line 338
:cond_2f
return-object v2
.end method
.method public static getBit([II)I
.registers 4
.prologue
const/4 v0, 0x0
.line 343
if-nez p1, :cond_8
.line 345
aget v0, p0, v0
and-int/lit8 v0, v0, 0x1
.line 353
:cond_7
:goto_7
return v0
.line 347
:cond_8
and-int/lit16 v1, p1, 0xff
if-ne v1, p1, :cond_7
.line 351
ushr-int/lit8 v0, p1, 0x5
.line 352
and-int/lit8 v1, p1, 0x1f
.line 353
aget v0, p0, v0
ushr-int/2addr v0, v1
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 372
const/4 v1, 0x7
:goto_4
if-ltz v1, :cond_13
.line 374
add-int v2, p1, v1
aget v2, p0, v2
xor-int/2addr v2, v4
.line 375
add-int v3, p3, v1
aget v3, p2, v3
xor-int/2addr v3, v4
.line 376
if-ge v2, v3, :cond_14
.line 377
const/4 v0, 0x0
.line 381
:cond_13
return v0
.line 378
:cond_14
if-gt v2, v3, :cond_13
.line 372
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 358
const/4 v1, 0x7
:goto_4
if-ltz v1, :cond_f
.line 360
aget v2, p0, v1
xor-int/2addr v2, v4
.line 361
aget v3, p1, v1
xor-int/2addr v3, v4
.line 362
if-ge v2, v3, :cond_10
.line 363
const/4 v0, 0x0
.line 367
:cond_f
return v0
.line 364
:cond_10
if-gt v2, v3, :cond_f
.line 358
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 386
aget v2, p0, v0
if-eq v2, v1, :cond_7
.line 397
:cond_6
:goto_6
return v0
:cond_7
move v2, v1
.line 390
:goto_8
const/16 v3, 0x8
if-ge v2, v3, :cond_13
.line 392
aget v3, p0, v2
if-nez v3, :cond_6
.line 390
add-int/lit8 v2, v2, 0x1
goto :goto_8
:cond_13
move v0, v1
.line 397
goto :goto_6
.end method
.method public static isOne64([J)Z
.registers 9
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 402
aget-wide v2, p0, v0
const-wide/16 v4, 0x1
cmp-long v2, v2, v4
if-eqz v2, :cond_b
.line 413
:cond_a
:goto_a
return v0
:cond_b
move v2, v1
.line 406
:goto_c
const/4 v3, 0x4
if-ge v2, v3, :cond_1a
.line 408
aget-wide v4, p0, v2
const-wide/16 v6, 0x0
cmp-long v3, v4, v6
if-nez v3, :cond_a
.line 406
add-int/lit8 v2, v2, 0x1
goto :goto_c
:cond_1a
move v0, v1
.line 413
goto :goto_a
.end method
.method public static isZero([I)Z
.registers 4
.prologue
const/4 v0, 0x0
.line 418
move v1, v0
:goto_2
const/16 v2, 0x8
if-ge v1, v2, :cond_e
.line 420
aget v2, p0, v1
if-eqz v2, :cond_b
.line 425
:goto_a
return v0
.line 418
:cond_b
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 425
:cond_e
const/4 v0, 0x1
goto :goto_a
.end method
.method public static isZero64([J)Z
.registers 7
.prologue
const/4 v0, 0x0
.line 430
move v1, v0
:goto_2
const/4 v2, 0x4
if-ge v1, v2, :cond_11
.line 432
aget-wide v2, p0, v1
const-wide/16 v4, 0x0
cmp-long v2, v2, v4
if-eqz v2, :cond_e
.line 437
:goto_d
return v0
.line 430
:cond_e
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 437
:cond_11
const/4 v0, 0x1
goto :goto_d
.end method
.method public static mul([II[II[II)V
.registers 36
.prologue
.line 513
aget v2, p2, p3
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long/2addr v4, v2
.line 514
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 515
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 516
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 517
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 518
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 519
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 520
add-int/lit8 v2, p3, 0x7
aget v2, p2, v2
int-to-long v2, v2
const-wide v18, 0xffffffffL
and-long v18, v18, v2
.line 523
aget v2, p0, p1
int-to-long v2, v2
const-wide v20, 0xffffffffL
and-long v2, v2, v20
.line 524
const-wide/16 v20, 0x0
mul-long v22, v2, v4
add-long v20, v20, v22
.line 525
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, p5
.line 526
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 527
mul-long v22, v2, v6
add-long v20, v20, v22
.line 528
add-int/lit8 v22, p5, 0x1
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p4, v22
.line 529
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 530
mul-long v22, v2, v8
add-long v20, v20, v22
.line 531
add-int/lit8 v22, p5, 0x2
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p4, v22
.line 532
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 533
mul-long v22, v2, v10
add-long v20, v20, v22
.line 534
add-int/lit8 v22, p5, 0x3
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p4, v22
.line 535
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 536
mul-long v22, v2, v12
add-long v20, v20, v22
.line 537
add-int/lit8 v22, p5, 0x4
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p4, v22
.line 538
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 539
mul-long v22, v2, v14
add-long v20, v20, v22
.line 540
add-int/lit8 v22, p5, 0x5
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p4, v22
.line 541
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 542
mul-long v22, v2, v16
add-long v20, v20, v22
.line 543
add-int/lit8 v22, p5, 0x6
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p4, v22
.line 544
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 545
mul-long v2, v2, v18
add-long v2, v2, v20
.line 546
add-int/lit8 v20, p5, 0x7
long-to-int v0, v2
move/from16 v21, v0
aput v21, p4, v20
.line 547
const/16 v20, 0x20
ushr-long v2, v2, v20
.line 548
add-int/lit8 v20, p5, 0x8
long-to-int v2, v2
aput v2, p4, v20
.line 551
const/4 v2, 0x1
:goto_ee
const/16 v3, 0x8
if-ge v2, v3, :cond_213
.line 553
add-int/lit8 p5, p5, 0x1
.line 554
add-int v3, p1, v2
aget v3, p0, v3
int-to-long v0, v3
move-wide/from16 v20, v0
const-wide v22, 0xffffffffL
and-long v20, v20, v22
.line 555
const-wide/16 v22, 0x0
mul-long v24, v20, v4
aget v3, p4, p5
int-to-long v0, v3
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 556
move-wide/from16 v0, v22
long-to-int v3, v0
aput v3, p4, p5
.line 557
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 558
mul-long v24, v20, v6
add-int/lit8 v3, p5, 0x1
aget v3, p4, v3
int-to-long v0, v3
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 559
add-int/lit8 v3, p5, 0x1
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v3
.line 560
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 561
mul-long v24, v20, v8
add-int/lit8 v3, p5, 0x2
aget v3, p4, v3
int-to-long v0, v3
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 562
add-int/lit8 v3, p5, 0x2
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v3
.line 563
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 564
mul-long v24, v20, v10
add-int/lit8 v3, p5, 0x3
aget v3, p4, v3
int-to-long v0, v3
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 565
add-int/lit8 v3, p5, 0x3
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v3
.line 566
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 567
mul-long v24, v20, v12
add-int/lit8 v3, p5, 0x4
aget v3, p4, v3
int-to-long v0, v3
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 568
add-int/lit8 v3, p5, 0x4
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v3
.line 569
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 570
mul-long v24, v20, v14
add-int/lit8 v3, p5, 0x5
aget v3, p4, v3
int-to-long v0, v3
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 571
add-int/lit8 v3, p5, 0x5
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v3
.line 572
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 573
mul-long v24, v20, v16
add-int/lit8 v3, p5, 0x6
aget v3, p4, v3
int-to-long v0, v3
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 574
add-int/lit8 v3, p5, 0x6
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v3
.line 575
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 576
mul-long v20, v20, v18
add-int/lit8 v3, p5, 0x7
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 v20, v20, v24
add-long v20, v20, v22
.line 577
add-int/lit8 v3, p5, 0x7
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p4, v3
.line 578
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 579
add-int/lit8 v3, p5, 0x8
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v20, v0
aput v20, p4, v3
.line 551
add-int/lit8 v2, v2, 0x1
goto/16 :goto_ee
.line 581
:cond_213
return-void
.end method
.method public static mul([I[I[I)V
.registers 33
.prologue
.line 442
const/4 v2, 0x0
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long/2addr v4, v2
.line 443
const/4 v2, 0x1
aget v2, p1, v2
int-to-long v2, v2
const-wide v6, 0xffffffffL
and-long/2addr v6, v2
.line 444
const/4 v2, 0x2
aget v2, p1, v2
int-to-long v2, v2
const-wide v8, 0xffffffffL
and-long/2addr v8, v2
.line 445
const/4 v2, 0x3
aget v2, p1, v2
int-to-long v2, v2
const-wide v10, 0xffffffffL
and-long/2addr v10, v2
.line 446
const/4 v2, 0x4
aget v2, p1, v2
int-to-long v2, v2
const-wide v12, 0xffffffffL
and-long/2addr v12, v2
.line 447
const/4 v2, 0x5
aget v2, p1, v2
int-to-long v2, v2
const-wide v14, 0xffffffffL
and-long/2addr v14, v2
.line 448
const/4 v2, 0x6
aget v2, p1, v2
int-to-long v2, v2
const-wide v16, 0xffffffffL
and-long v16, v16, v2
.line 449
const/4 v2, 0x7
aget v2, p1, v2
int-to-long v2, v2
const-wide v18, 0xffffffffL
and-long v18, v18, v2
.line 452
const/4 v2, 0x0
aget v2, p0, v2
int-to-long v2, v2
const-wide v20, 0xffffffffL
and-long v2, v2, v20
.line 453
const-wide/16 v20, 0x0
mul-long v22, v2, v4
add-long v20, v20, v22
.line 454
const/16 v22, 0x0
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p2, v22
.line 455
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 456
mul-long v22, v2, v6
add-long v20, v20, v22
.line 457
const/16 v22, 0x1
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p2, v22
.line 458
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 459
mul-long v22, v2, v8
add-long v20, v20, v22
.line 460
const/16 v22, 0x2
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p2, v22
.line 461
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 462
mul-long v22, v2, v10
add-long v20, v20, v22
.line 463
const/16 v22, 0x3
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p2, v22
.line 464
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 465
mul-long v22, v2, v12
add-long v20, v20, v22
.line 466
const/16 v22, 0x4
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p2, v22
.line 467
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 468
mul-long v22, v2, v14
add-long v20, v20, v22
.line 469
const/16 v22, 0x5
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p2, v22
.line 470
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 471
mul-long v22, v2, v16
add-long v20, v20, v22
.line 472
const/16 v22, 0x6
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v23, v0
aput v23, p2, v22
.line 473
const/16 v22, 0x20
ushr-long v20, v20, v22
.line 474
mul-long v2, v2, v18
add-long v2, v2, v20
.line 475
const/16 v20, 0x7
long-to-int v0, v2
move/from16 v21, v0
aput v21, p2, v20
.line 476
const/16 v20, 0x20
ushr-long v2, v2, v20
.line 477
const/16 v20, 0x8
long-to-int v2, v2
aput v2, p2, v20
.line 480
const/4 v2, 0x1
:goto_eb
const/16 v3, 0x8
if-ge v2, v3, :cond_20c
.line 482
aget v3, p0, v2
int-to-long v0, v3
move-wide/from16 v20, v0
const-wide v22, 0xffffffffL
and-long v20, v20, v22
.line 483
const-wide/16 v22, 0x0
mul-long v24, v20, v4
aget v3, p2, v2
int-to-long v0, v3
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 484
move-wide/from16 v0, v22
long-to-int v3, v0
aput v3, p2, v2
.line 485
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 486
mul-long v24, v20, v6
add-int/lit8 v3, v2, 0x1
aget v3, p2, v3
int-to-long v0, v3
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 487
add-int/lit8 v3, v2, 0x1
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v3
.line 488
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 489
mul-long v24, v20, v8
add-int/lit8 v3, v2, 0x2
aget v3, p2, v3
int-to-long v0, v3
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 490
add-int/lit8 v3, v2, 0x2
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v3
.line 491
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 492
mul-long v24, v20, v10
add-int/lit8 v3, v2, 0x3
aget v3, p2, v3
int-to-long v0, v3
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 493
add-int/lit8 v3, v2, 0x3
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v3
.line 494
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 495
mul-long v24, v20, v12
add-int/lit8 v3, v2, 0x4
aget v3, p2, v3
int-to-long v0, v3
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 496
add-int/lit8 v3, v2, 0x4
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v3
.line 497
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 498
mul-long v24, v20, v14
add-int/lit8 v3, v2, 0x5
aget v3, p2, v3
int-to-long v0, v3
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 499
add-int/lit8 v3, v2, 0x5
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v3
.line 500
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 501
mul-long v24, v20, v16
add-int/lit8 v3, v2, 0x6
aget v3, p2, v3
int-to-long v0, v3
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 502
add-int/lit8 v3, v2, 0x6
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v3
.line 503
const/16 v3, 0x20
ushr-long v22, v22, v3
.line 504
mul-long v20, v20, v18
add-int/lit8 v3, v2, 0x7
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 v20, v20, v24
add-long v20, v20, v22
.line 505
add-int/lit8 v3, v2, 0x7
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v22, v0
aput v22, p2, v3
.line 506
const/16 v3, 0x20
ushr-long v20, v20, v3
.line 507
add-int/lit8 v3, v2, 0x8
move-wide/from16 v0, v20
long-to-int v0, v0
move/from16 v20, v0
aput v20, p2, v3
.line 480
add-int/lit8 v2, v2, 0x1
goto/16 :goto_eb
.line 509
:cond_20c
return-void
.end method
.method public static mul33Add(I[II[II[II)J
.registers 19
.prologue
.line 680
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
.line 681
aget v2, p1, p2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long/2addr v2, v4
.line 682
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 683
long-to-int v6, v4
aput v6, p5, p6
.line 684
const/16 v6, 0x20
ushr-long/2addr v4, v6
.line 685
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 686
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 687
add-int/lit8 v4, p6, 0x1
long-to-int v5, v2
aput v5, p5, v4
.line 688
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 689
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 690
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 691
add-int/lit8 v6, p6, 0x2
long-to-int v7, v2
aput v7, p5, v6
.line 692
const/16 v6, 0x20
ushr-long/2addr v2, v6
.line 693
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 694
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 695
add-int/lit8 v4, p6, 0x3
long-to-int v5, v2
aput v5, p5, v4
.line 696
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 697
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 698
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 699
add-int/lit8 v6, p6, 0x4
long-to-int v7, v2
aput v7, p5, v6
.line 700
const/16 v6, 0x20
ushr-long/2addr v2, v6
.line 701
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 702
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 703
add-int/lit8 v4, p6, 0x5
long-to-int v5, v2
aput v5, p5, v4
.line 704
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 705
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 706
mul-long v8, v0, v4
add-long/2addr v6, v8
add-int/lit8 v8, p4, 0x6
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 707
add-int/lit8 v6, p6, 0x6
long-to-int v7, v2
aput v7, p5, v6
.line 708
const/16 v6, 0x20
ushr-long/2addr v2, v6
.line 709
add-int/lit8 v6, p2, 0x7
aget v6, p1, v6
int-to-long v6, v6
const-wide v8, 0xffffffffL
and-long/2addr v6, v8
.line 710
mul-long/2addr v0, v6
add-long/2addr v0, v4
add-int/lit8 v4, p4, 0x7
aget v4, p3, v4
int-to-long v4, v4
const-wide v8, 0xffffffffL
and-long/2addr v4, v8
add-long/2addr v0, v4
add-long/2addr v0, v2
.line 711
add-int/lit8 v2, p6, 0x7
long-to-int v3, v0
aput v3, p5, v2
.line 712
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 713
add-long/2addr v0, v6
.line 714
return-wide v0
.end method
.method public static mul33DWordAdd(IJ[II)I
.registers 20
.prologue
.line 812
int-to-long v2, p0
const-wide v4, 0xffffffffL
and-long/2addr v2, v4
.line 813
const-wide v4, 0xffffffffL
and-long v4, v4, p1
.line 814
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 815
long-to-int v8, v6
aput v8, p3, p4
.line 816
const/16 v8, 0x20
ushr-long/2addr v6, v8
.line 817
const/16 v8, 0x20
ushr-long v8, p1, v8
.line 818
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 819
add-int/lit8 v4, p4, 0x1
long-to-int v5, v2
aput v5, p3, v4
.line 820
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 821
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 822
add-int/lit8 v4, p4, 0x2
long-to-int v5, v2
aput v5, p3, v4
.line 823
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 824
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 825
add-int/lit8 v4, p4, 0x3
long-to-int v5, v2
aput v5, p3, v4
.line 826
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 827
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/16 v2, 0x8
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 835
int-to-long v0, p0
and-long/2addr v0, v6
int-to-long v2, p1
and-long/2addr v2, v6
.line 836
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 837
long-to-int v4, v0
aput v4, p2, p3
.line 838
ushr-long/2addr v0, v8
.line 839
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 840
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 841
ushr-long/2addr v0, v8
.line 842
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 843
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 844
ushr-long/2addr v0, v8
.line 845
cmp-long v0, v0, v10
if-nez v0, :cond_39
const/4 v0, 0x0
:goto_38
return v0
:cond_39
const/16 v0, 0x8
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 38
.prologue
.line 631
aget v2, p2, p3
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 632
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 633
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 634
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 635
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 636
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 637
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 638
add-int/lit8 v2, p3, 0x7
aget v2, p2, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v20, v2, v4
.line 640
const-wide/16 v2, 0x0
.line 641
const/4 v4, 0x0
:goto_61
const/16 v5, 0x8
if-ge v4, v5, :cond_199
.line 643
add-int v5, p1, v4
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
.line 644
const-wide/16 v24, 0x0
mul-long v26, v22, v6
aget v5, p4, p5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 645
move-wide/from16 v0, v24
long-to-int v5, v0
aput v5, p4, p5
.line 646
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 647
mul-long v26, v22, v8
add-int/lit8 v5, p5, 0x1
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 648
add-int/lit8 v5, p5, 0x1
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p4, v5
.line 649
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 650
mul-long v26, v22, v10
add-int/lit8 v5, p5, 0x2
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 651
add-int/lit8 v5, p5, 0x2
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p4, v5
.line 652
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 653
mul-long v26, v22, v12
add-int/lit8 v5, p5, 0x3
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 654
add-int/lit8 v5, p5, 0x3
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p4, v5
.line 655
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 656
mul-long v26, v22, v14
add-int/lit8 v5, p5, 0x4
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 657
add-int/lit8 v5, p5, 0x4
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p4, v5
.line 658
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 659
mul-long v26, v22, v16
add-int/lit8 v5, p5, 0x5
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 660
add-int/lit8 v5, p5, 0x5
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p4, v5
.line 661
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 662
mul-long v26, v22, v18
add-int/lit8 v5, p5, 0x6
aget v5, p4, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 663
add-int/lit8 v5, p5, 0x6
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p4, v5
.line 664
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 665
mul-long v22, v22, v20
add-int/lit8 v5, p5, 0x7
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 v22, v22, v26
add-long v22, v22, v24
.line 666
add-int/lit8 v5, p5, 0x7
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p4, v5
.line 667
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 668
add-int/lit8 v5, p5, 0x8
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 v2, v2, v24
add-long v2, v2, v22
.line 669
add-int/lit8 v5, p5, 0x8
long-to-int v0, v2
move/from16 v22, v0
aput v22, p4, v5
.line 670
const/16 v5, 0x20
ushr-long/2addr v2, v5
.line 671
add-int/lit8 p5, p5, 0x1
.line 641
add-int/lit8 v4, v4, 0x1
goto/16 :goto_61
.line 673
:cond_199
long-to-int v2, v2
return v2
.end method
.method public static mulAddTo([I[I[I)I
.registers 35
.prologue
.line 585
const/4 v2, 0x0
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 586
const/4 v2, 0x1
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v8, v2, v4
.line 587
const/4 v2, 0x2
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v10, v2, v4
.line 588
const/4 v2, 0x3
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v12, v2, v4
.line 589
const/4 v2, 0x4
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v14, v2, v4
.line 590
const/4 v2, 0x5
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v16, v2, v4
.line 591
const/4 v2, 0x6
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v18, v2, v4
.line 592
const/4 v2, 0x7
aget v2, p1, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v20, v2, v4
.line 594
const-wide/16 v2, 0x0
.line 595
const/4 v4, 0x0
:goto_5b
const/16 v5, 0x8
if-ge v4, v5, :cond_18f
.line 597
aget v5, p0, v4
int-to-long v0, v5
move-wide/from16 v22, v0
const-wide v24, 0xffffffffL
and-long v22, v22, v24
.line 598
const-wide/16 v24, 0x0
mul-long v26, v22, v6
aget v5, p2, v4
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 599
move-wide/from16 v0, v24
long-to-int v5, v0
aput v5, p2, v4
.line 600
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 601
mul-long v26, v22, v8
add-int/lit8 v5, v4, 0x1
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 602
add-int/lit8 v5, v4, 0x1
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p2, v5
.line 603
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 604
mul-long v26, v22, v10
add-int/lit8 v5, v4, 0x2
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 605
add-int/lit8 v5, v4, 0x2
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p2, v5
.line 606
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 607
mul-long v26, v22, v12
add-int/lit8 v5, v4, 0x3
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 608
add-int/lit8 v5, v4, 0x3
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p2, v5
.line 609
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 610
mul-long v26, v22, v14
add-int/lit8 v5, v4, 0x4
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 611
add-int/lit8 v5, v4, 0x4
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p2, v5
.line 612
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 613
mul-long v26, v22, v16
add-int/lit8 v5, v4, 0x5
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 614
add-int/lit8 v5, v4, 0x5
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p2, v5
.line 615
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 616
mul-long v26, v22, v18
add-int/lit8 v5, v4, 0x6
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v28, v0
const-wide v30, 0xffffffffL
and-long v28, v28, v30
add-long v26, v26, v28
add-long v24, v24, v26
.line 617
add-int/lit8 v5, v4, 0x6
move-wide/from16 v0, v24
long-to-int v0, v0
move/from16 v26, v0
aput v26, p2, v5
.line 618
const/16 v5, 0x20
ushr-long v24, v24, v5
.line 619
mul-long v22, v22, v20
add-int/lit8 v5, v4, 0x7
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 v22, v22, v26
add-long v22, v22, v24
.line 620
add-int/lit8 v5, v4, 0x7
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v24, v0
aput v24, p2, v5
.line 621
const/16 v5, 0x20
ushr-long v22, v22, v5
.line 622
add-int/lit8 v5, v4, 0x8
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 v2, v2, v24
add-long v2, v2, v22
.line 623
add-int/lit8 v5, v4, 0x8
long-to-int v0, v2
move/from16 v22, v0
aput v22, p2, v5
.line 624
const/16 v5, 0x20
ushr-long/2addr v2, v5
.line 595
add-int/lit8 v4, v4, 0x1
goto/16 :goto_5b
.line 626
:cond_18f
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 719
int-to-long v0, p0
and-long/2addr v0, v6
.line 720
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 721
long-to-int v4, v2
aput v4, p1, v9
.line 722
ushr-long/2addr v2, v8
.line 723
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 724
long-to-int v4, v2
aput v4, p1, v10
.line 725
ushr-long/2addr v2, v8
.line 726
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 727
long-to-int v4, v2
aput v4, p1, v11
.line 728
ushr-long/2addr v2, v8
.line 729
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 730
const/4 v4, 0x3
long-to-int v5, v2
aput v5, p1, v4
.line 731
ushr-long/2addr v2, v8
.line 732
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 733
const/4 v4, 0x4
long-to-int v5, v2
aput v5, p1, v4
.line 734
ushr-long/2addr v2, v8
.line 735
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 736
const/4 v4, 0x5
long-to-int v5, v2
aput v5, p1, v4
.line 737
ushr-long/2addr v2, v8
.line 738
const/4 v4, 0x6
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 739
const/4 v4, 0x6
long-to-int v5, v2
aput v5, p1, v4
.line 740
ushr-long/2addr v2, v8
.line 741
const/4 v4, 0x7
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 742
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p1, v2
.line 743
ushr-long/2addr v0, v8
.line 744
long-to-int v0, v0
return v0
.end method
.method public static mulByWordAddTo(I[I[I)I
.registers 13
.prologue
.line 749
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
.line 750
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 751
const/4 v4, 0x0
long-to-int v5, v2
aput v5, p2, v4
.line 752
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 753
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 754
const/4 v4, 0x1
long-to-int v5, v2
aput v5, p2, v4
.line 755
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 756
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 757
const/4 v4, 0x2
long-to-int v5, v2
aput v5, p2, v4
.line 758
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 759
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 760
const/4 v4, 0x3
long-to-int v5, v2
aput v5, p2, v4
.line 761
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 762
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 763
const/4 v4, 0x4
long-to-int v5, v2
aput v5, p2, v4
.line 764
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 765
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 766
const/4 v4, 0x5
long-to-int v5, v2
aput v5, p2, v4
.line 767
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 768
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 v4, v0
const/4 v6, 0x6
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 769
const/4 v4, 0x6
long-to-int v5, v2
aput v5, p2, v4
.line 770
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 771
const/4 v4, 0x7
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, 0x7
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 772
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 773
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 774
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 866
const-wide/16 v0, 0x0
int-to-long v2, p0
and-long v4, v2, v8
.line 867
const/4 v2, 0x0
.line 870
: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 871
add-int v3, p3, v2
long-to-int v6, v0
aput v6, p2, v3
.line 872
const/16 v3, 0x20
ushr-long/2addr v0, v3
.line 874
add-int/lit8 v2, v2, 0x1
const/16 v3, 0x8
if-lt v2, v3, :cond_b
.line 875
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 779
int-to-long v0, p0
and-long/2addr v0, v8
.line 780
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 781
long-to-int v4, v2
aput v4, p3, p4
.line 782
ushr-long/2addr v2, v10
.line 783
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 784
add-int/lit8 v4, p4, 0x1
long-to-int v5, v2
aput v5, p3, v4
.line 785
ushr-long/2addr v2, v10
.line 786
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 787
add-int/lit8 v4, p4, 0x2
long-to-int v5, v2
aput v5, p3, v4
.line 788
ushr-long/2addr v2, v10
.line 789
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 790
add-int/lit8 v4, p4, 0x3
long-to-int v5, v2
aput v5, p3, v4
.line 791
ushr-long/2addr v2, v10
.line 792
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 793
add-int/lit8 v4, p4, 0x4
long-to-int v5, v2
aput v5, p3, v4
.line 794
ushr-long/2addr v2, v10
.line 795
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 796
add-int/lit8 v4, p4, 0x5
long-to-int v5, v2
aput v5, p3, v4
.line 797
ushr-long/2addr v2, v10
.line 798
add-int/lit8 v4, p2, 0x6
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v4, v0
add-int/lit8 v6, p4, 0x6
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 799
add-int/lit8 v4, p4, 0x6
long-to-int v5, v2
aput v5, p3, v4
.line 800
ushr-long/2addr v2, v10
.line 801
add-int/lit8 v4, p2, 0x7
aget v4, p1, v4
int-to-long v4, v4
and-long/2addr v4, v8
mul-long/2addr v0, v4
add-int/lit8 v4, p4, 0x7
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 802
add-int/lit8 v2, p4, 0x7
long-to-int v3, v0
aput v3, p3, v2
.line 803
ushr-long/2addr v0, v10
.line 804
long-to-int v0, v0
return v0
.end method
.method public static mulWordDwordAdd(IJ[II)I
.registers 16
.prologue
.line 851
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
.line 852
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 853
long-to-int v4, v2
aput v4, p3, p4
.line 854
const/16 v4, 0x20
ushr-long/2addr v2, v4
.line 855
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 856
add-int/lit8 v2, p4, 0x1
long-to-int v3, v0
aput v3, p3, v2
.line 857
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 858
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 859
add-int/lit8 v2, p4, 0x2
long-to-int v3, v0
aput v3, p3, v2
.line 860
const/16 v2, 0x20
ushr-long/2addr v0, v2
.line 861
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/16 v0, 0x8
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 42
.prologue
.line 1044
aget v2, p0, p1
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 1047
const/4 v4, 0x0
.line 1049
const/4 v3, 0x7
const/16 v2, 0x10
move v5, v4
.line 1052
: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 1053
mul-long/2addr v8, v8
.line 1054
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 1055
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 1056
long-to-int v3, v8
.line 1058
if-gtz v4, :cond_368
.line 1061
mul-long v4, v6, v6
.line 1062
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 1063
long-to-int v8, v4
aput v8, p2, p3
.line 1064
const/16 v8, 0x20
ushr-long/2addr v4, v8
long-to-int v4, v4
and-int/lit8 v4, v4, 0x1
.line 1068
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 1069
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 1072
mul-long v12, v8, v6
add-long/2addr v2, v12
.line 1073
long-to-int v5, v2
.line 1074
add-int/lit8 v12, p3, 0x1
shl-int/lit8 v13, v5, 0x1
or-int/2addr v4, v13
aput v4, p2, v12
.line 1075
ushr-int/lit8 v4, v5, 0x1f
.line 1076
const/16 v5, 0x20
ushr-long/2addr v2, v5
add-long/2addr v2, v10
.line 1079
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 1080
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 1081
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 1083
mul-long v16, v10, v6
add-long v2, v2, v16
.line 1084
long-to-int v5, v2
.line 1085
add-int/lit8 v16, p3, 0x2
shl-int/lit8 v17, v5, 0x1
or-int v4, v4, v17
aput v4, p2, v16
.line 1086
ushr-int/lit8 v4, v5, 0x1f
.line 1087
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 1088
const/16 v5, 0x20
ushr-long v12, v2, v5
add-long/2addr v12, v14
.line 1089
const-wide v14, 0xffffffffL
and-long/2addr v2, v14
.line 1092
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 1093
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 1094
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 1096
mul-long v20, v14, v6
add-long v2, v2, v20
.line 1097
long-to-int v5, v2
.line 1098
add-int/lit8 v20, p3, 0x3
shl-int/lit8 v21, v5, 0x1
or-int v4, v4, v21
aput v4, p2, v20
.line 1099
ushr-int/lit8 v4, v5, 0x1f
.line 1100
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 1101
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 1102
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 1103
const/16 v5, 0x20
ushr-long v16, v12, v5
add-long v16, v16, v18
.line 1104
const-wide v18, 0xffffffffL
and-long v12, v12, v18
.line 1107
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 1108
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 1109
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 1111
mul-long v24, v18, v6
add-long v2, v2, v24
.line 1112
long-to-int v5, v2
.line 1113
add-int/lit8 v24, p3, 0x4
shl-int/lit8 v25, v5, 0x1
or-int v4, v4, v25
aput v4, p2, v24
.line 1114
ushr-int/lit8 v4, v5, 0x1f
.line 1115
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 1116
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 1117
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 1118
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 1119
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 1120
const/16 v5, 0x20
ushr-long v20, v16, v5
add-long v20, v20, v22
.line 1121
const-wide v22, 0xffffffffL
and-long v16, v16, v22
.line 1124
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 1125
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 1126
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 1128
mul-long v28, v22, v6
add-long v2, v2, v28
.line 1129
long-to-int v5, v2
.line 1130
add-int/lit8 v28, p3, 0x5
shl-int/lit8 v29, v5, 0x1
or-int v4, v4, v29
aput v4, p2, v28
.line 1131
ushr-int/lit8 v4, v5, 0x1f
.line 1132
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 1133
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 1134
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 1135
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 1136
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 1137
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 1138
const-wide v24, 0xffffffffL
and-long v16, v16, v24
.line 1139
const/16 v5, 0x20
ushr-long v24, v20, v5
add-long v24, v24, v26
.line 1140
const-wide v26, 0xffffffffL
and-long v20, v20, v26
.line 1143
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 1144
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 1145
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 1147
mul-long v32, v26, v6
add-long v2, v2, v32
.line 1148
long-to-int v5, v2
.line 1149
add-int/lit8 v32, p3, 0x6
shl-int/lit8 v33, v5, 0x1
or-int v4, v4, v33
aput v4, p2, v32
.line 1150
ushr-int/lit8 v4, v5, 0x1f
.line 1151
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v32, v26, v8
add-long v2, v2, v32
add-long/2addr v2, v12
.line 1152
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v32, v26, v10
add-long v12, v12, v32
add-long v12, v12, v16
.line 1153
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 1154
const/16 v5, 0x20
ushr-long v16, v12, v5
mul-long v32, v26, v14
add-long v16, v16, v32
add-long v16, v16, v20
.line 1155
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 1156
const/16 v5, 0x20
ushr-long v20, v16, v5
mul-long v32, v26, v18
add-long v20, v20, v32
add-long v20, v20, v24
.line 1157
const-wide v24, 0xffffffffL
and-long v16, v16, v24
.line 1158
const/16 v5, 0x20
ushr-long v24, v20, v5
mul-long v32, v26, v22
add-long v24, v24, v32
add-long v24, v24, v28
.line 1159
const-wide v28, 0xffffffffL
and-long v20, v20, v28
.line 1160
const/16 v5, 0x20
ushr-long v28, v24, v5
add-long v28, v28, v30
.line 1161
const-wide v30, 0xffffffffL
and-long v24, v24, v30
.line 1164
add-int/lit8 v5, p1, 0x7
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v30, v0
const-wide v32, 0xffffffffL
and-long v30, v30, v32
.line 1165
add-int/lit8 v5, p3, 0xd
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v32, v0
const-wide v34, 0xffffffffL
and-long v32, v32, v34
.line 1166
add-int/lit8 v5, p3, 0xe
aget v5, p2, v5
int-to-long v0, v5
move-wide/from16 v34, v0
const-wide v36, 0xffffffffL
and-long v34, v34, v36
.line 1168
mul-long v6, v6, v30
add-long/2addr v2, v6
.line 1169
long-to-int v5, v2
.line 1170
add-int/lit8 v6, p3, 0x7
shl-int/lit8 v7, v5, 0x1
or-int/2addr v4, v7
aput v4, p2, v6
.line 1171
ushr-int/lit8 v4, v5, 0x1f
.line 1172
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v6, v30, v8
add-long/2addr v2, v6
add-long/2addr v2, v12
.line 1173
const/16 v5, 0x20
ushr-long v6, v2, v5
mul-long v8, v30, v10
add-long/2addr v6, v8
add-long v6, v6, v16
.line 1174
const/16 v5, 0x20
ushr-long v8, v6, v5
mul-long v10, v30, v14
add-long/2addr v8, v10
add-long v8, v8, v20
.line 1175
const/16 v5, 0x20
ushr-long v10, v8, v5
mul-long v12, v30, v18
add-long/2addr v10, v12
add-long v10, v10, v24
.line 1176
const/16 v5, 0x20
ushr-long v12, v10, v5
mul-long v14, v30, v22
add-long/2addr v12, v14
add-long v12, v12, v28
.line 1177
const/16 v5, 0x20
ushr-long v14, v12, v5
mul-long v16, v30, v26
add-long v14, v14, v16
add-long v14, v14, v32
.line 1178
const/16 v5, 0x20
ushr-long v16, v14, v5
add-long v16, v16, v34
.line 1181
long-to-int v2, v2
.line 1182
add-int/lit8 v3, p3, 0x8
shl-int/lit8 v5, v2, 0x1
or-int/2addr v4, v5
aput v4, p2, v3
.line 1183
ushr-int/lit8 v2, v2, 0x1f
.line 1184
long-to-int v3, v6
.line 1185
add-int/lit8 v4, p3, 0x9
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1186
ushr-int/lit8 v2, v3, 0x1f
.line 1187
long-to-int v3, v8
.line 1188
add-int/lit8 v4, p3, 0xa
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1189
ushr-int/lit8 v2, v3, 0x1f
.line 1190
long-to-int v3, v10
.line 1191
add-int/lit8 v4, p3, 0xb
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1192
ushr-int/lit8 v2, v3, 0x1f
.line 1193
long-to-int v3, v12
.line 1194
add-int/lit8 v4, p3, 0xc
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1195
ushr-int/lit8 v2, v3, 0x1f
.line 1196
long-to-int v3, v14
.line 1197
add-int/lit8 v4, p3, 0xd
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1198
ushr-int/lit8 v2, v3, 0x1f
.line 1199
move-wide/from16 v0, v16
long-to-int v3, v0
.line 1200
add-int/lit8 v4, p3, 0xe
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p2, v4
.line 1201
ushr-int/lit8 v2, v3, 0x1f
.line 1202
add-int/lit8 v3, p3, 0xf
aget v3, p2, v3
const/16 v4, 0x20
shr-long v4, v16, v4
long-to-int v4, v4
add-int/2addr v3, v4
.line 1203
add-int/lit8 v4, p3, 0xf
shl-int/lit8 v3, v3, 0x1
or-int/2addr v2, v3
aput v2, p2, v4
.line 1204
return-void
:cond_368
move v5, v3
move v3, v4
goto/16 :goto_f
.end method
.method public static square([I[I)V
.registers 40
.prologue
.line 880
const/4 v2, 0x0
aget v2, p0, v2
int-to-long v2, v2
const-wide v4, 0xffffffffL
and-long v6, v2, v4
.line 883
const/4 v4, 0x0
.line 885
const/4 v3, 0x7
const/16 v2, 0x10
move v5, v4
.line 888
: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 889
mul-long/2addr v8, v8
.line 890
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 891
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 892
long-to-int v3, v8
.line 894
if-gtz v4, :cond_355
.line 897
mul-long v4, v6, v6
.line 898
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 899
const/4 v8, 0x0
long-to-int v9, v4
aput v9, p1, v8
.line 900
const/16 v8, 0x20
ushr-long/2addr v4, v8
long-to-int v4, v4
and-int/lit8 v4, v4, 0x1
.line 904
const/4 v5, 0x1
aget v5, p0, v5
int-to-long v8, v5
const-wide v10, 0xffffffffL
and-long/2addr v8, v10
.line 905
const/4 v5, 0x2
aget v5, p1, v5
int-to-long v10, v5
const-wide v12, 0xffffffffL
and-long/2addr v10, v12
.line 908
mul-long v12, v8, v6
add-long/2addr v2, v12
.line 909
long-to-int v5, v2
.line 910
const/4 v12, 0x1
shl-int/lit8 v13, v5, 0x1
or-int/2addr v4, v13
aput v4, p1, v12
.line 911
ushr-int/lit8 v4, v5, 0x1f
.line 912
const/16 v5, 0x20
ushr-long/2addr v2, v5
add-long/2addr v2, v10
.line 915
const/4 v5, 0x2
aget v5, p0, v5
int-to-long v10, v5
const-wide v12, 0xffffffffL
and-long/2addr v10, v12
.line 916
const/4 v5, 0x3
aget v5, p1, v5
int-to-long v12, v5
const-wide v14, 0xffffffffL
and-long/2addr v12, v14
.line 917
const/4 v5, 0x4
aget v5, p1, v5
int-to-long v14, v5
const-wide v16, 0xffffffffL
and-long v14, v14, v16
.line 919
mul-long v16, v10, v6
add-long v2, v2, v16
.line 920
long-to-int v5, v2
.line 921
const/16 v16, 0x2
shl-int/lit8 v17, v5, 0x1
or-int v4, v4, v17
aput v4, p1, v16
.line 922
ushr-int/lit8 v4, v5, 0x1f
.line 923
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 924
const/16 v5, 0x20
ushr-long v12, v2, v5
add-long/2addr v12, v14
.line 925
const-wide v14, 0xffffffffL
and-long/2addr v2, v14
.line 928
const/4 v5, 0x3
aget v5, p0, v5
int-to-long v14, v5
const-wide v16, 0xffffffffL
and-long v14, v14, v16
.line 929
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 930
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 932
mul-long v20, v14, v6
add-long v2, v2, v20
.line 933
long-to-int v5, v2
.line 934
const/16 v20, 0x3
shl-int/lit8 v21, v5, 0x1
or-int v4, v4, v21
aput v4, p1, v20
.line 935
ushr-int/lit8 v4, v5, 0x1f
.line 936
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 937
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 938
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 939
const/16 v5, 0x20
ushr-long v16, v12, v5
add-long v16, v16, v18
.line 940
const-wide v18, 0xffffffffL
and-long v12, v12, v18
.line 943
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 944
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 945
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 947
mul-long v24, v18, v6
add-long v2, v2, v24
.line 948
long-to-int v5, v2
.line 949
const/16 v24, 0x4
shl-int/lit8 v25, v5, 0x1
or-int v4, v4, v25
aput v4, p1, v24
.line 950
ushr-int/lit8 v4, v5, 0x1f
.line 951
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 952
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 953
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 954
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 955
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 956
const/16 v5, 0x20
ushr-long v20, v16, v5
add-long v20, v20, v22
.line 957
const-wide v22, 0xffffffffL
and-long v16, v16, v22
.line 960
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 961
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 962
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 964
mul-long v28, v22, v6
add-long v2, v2, v28
.line 965
long-to-int v5, v2
.line 966
const/16 v28, 0x5
shl-int/lit8 v29, v5, 0x1
or-int v4, v4, v29
aput v4, p1, v28
.line 967
ushr-int/lit8 v4, v5, 0x1f
.line 968
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 969
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 970
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 971
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 972
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 973
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 974
const-wide v24, 0xffffffffL
and-long v16, v16, v24
.line 975
const/16 v5, 0x20
ushr-long v24, v20, v5
add-long v24, v24, v26
.line 976
const-wide v26, 0xffffffffL
and-long v20, v20, v26
.line 979
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 980
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 981
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 983
mul-long v32, v26, v6
add-long v2, v2, v32
.line 984
long-to-int v5, v2
.line 985
const/16 v32, 0x6
shl-int/lit8 v33, v5, 0x1
or-int v4, v4, v33
aput v4, p1, v32
.line 986
ushr-int/lit8 v4, v5, 0x1f
.line 987
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v32, v26, v8
add-long v2, v2, v32
add-long/2addr v2, v12
.line 988
const/16 v5, 0x20
ushr-long v12, v2, v5
mul-long v32, v26, v10
add-long v12, v12, v32
add-long v12, v12, v16
.line 989
const-wide v16, 0xffffffffL
and-long v2, v2, v16
.line 990
const/16 v5, 0x20
ushr-long v16, v12, v5
mul-long v32, v26, v14
add-long v16, v16, v32
add-long v16, v16, v20
.line 991
const-wide v20, 0xffffffffL
and-long v12, v12, v20
.line 992
const/16 v5, 0x20
ushr-long v20, v16, v5
mul-long v32, v26, v18
add-long v20, v20, v32
add-long v20, v20, v24
.line 993
const-wide v24, 0xffffffffL
and-long v16, v16, v24
.line 994
const/16 v5, 0x20
ushr-long v24, v20, v5
mul-long v32, v26, v22
add-long v24, v24, v32
add-long v24, v24, v28
.line 995
const-wide v28, 0xffffffffL
and-long v20, v20, v28
.line 996
const/16 v5, 0x20
ushr-long v28, v24, v5
add-long v28, v28, v30
.line 997
const-wide v30, 0xffffffffL
and-long v24, v24, v30
.line 1000
const/4 v5, 0x7
aget v5, p0, v5
int-to-long v0, v5
move-wide/from16 v30, v0
const-wide v32, 0xffffffffL
and-long v30, v30, v32
.line 1001
const/16 v5, 0xd
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v32, v0
const-wide v34, 0xffffffffL
and-long v32, v32, v34
.line 1002
const/16 v5, 0xe
aget v5, p1, v5
int-to-long v0, v5
move-wide/from16 v34, v0
const-wide v36, 0xffffffffL
and-long v34, v34, v36
.line 1004
mul-long v6, v6, v30
add-long/2addr v2, v6
.line 1005
long-to-int v5, v2
.line 1006
const/4 v6, 0x7
shl-int/lit8 v7, v5, 0x1
or-int/2addr v4, v7
aput v4, p1, v6
.line 1007
ushr-int/lit8 v4, v5, 0x1f
.line 1008
const/16 v5, 0x20
ushr-long/2addr v2, v5
mul-long v6, v30, v8
add-long/2addr v2, v6
add-long/2addr v2, v12
.line 1009
const/16 v5, 0x20
ushr-long v6, v2, v5
mul-long v8, v30, v10
add-long/2addr v6, v8
add-long v6, v6, v16
.line 1010
const/16 v5, 0x20
ushr-long v8, v6, v5
mul-long v10, v30, v14
add-long/2addr v8, v10
add-long v8, v8, v20
.line 1011
const/16 v5, 0x20
ushr-long v10, v8, v5
mul-long v12, v30, v18
add-long/2addr v10, v12
add-long v10, v10, v24
.line 1012
const/16 v5, 0x20
ushr-long v12, v10, v5
mul-long v14, v30, v22
add-long/2addr v12, v14
add-long v12, v12, v28
.line 1013
const/16 v5, 0x20
ushr-long v14, v12, v5
mul-long v16, v30, v26
add-long v14, v14, v16
add-long v14, v14, v32
.line 1014
const/16 v5, 0x20
ushr-long v16, v14, v5
add-long v16, v16, v34
.line 1017
long-to-int v2, v2
.line 1018
const/16 v3, 0x8
shl-int/lit8 v5, v2, 0x1
or-int/2addr v4, v5
aput v4, p1, v3
.line 1019
ushr-int/lit8 v2, v2, 0x1f
.line 1020
long-to-int v3, v6
.line 1021
const/16 v4, 0x9
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 1022
ushr-int/lit8 v2, v3, 0x1f
.line 1023
long-to-int v3, v8
.line 1024
const/16 v4, 0xa
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 1025
ushr-int/lit8 v2, v3, 0x1f
.line 1026
long-to-int v3, v10
.line 1027
const/16 v4, 0xb
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 1028
ushr-int/lit8 v2, v3, 0x1f
.line 1029
long-to-int v3, v12
.line 1030
const/16 v4, 0xc
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 1031
ushr-int/lit8 v2, v3, 0x1f
.line 1032
long-to-int v3, v14
.line 1033
const/16 v4, 0xd
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 1034
ushr-int/lit8 v2, v3, 0x1f
.line 1035
move-wide/from16 v0, v16
long-to-int v3, v0
.line 1036
const/16 v4, 0xe
shl-int/lit8 v5, v3, 0x1
or-int/2addr v2, v5
aput v2, p1, v4
.line 1037
ushr-int/lit8 v2, v3, 0x1f
.line 1038
const/16 v3, 0xf
aget v3, p1, v3
const/16 v4, 0x20
shr-long v4, v16, v4
long-to-int v4, v4
add-int/2addr v3, v4
.line 1039
const/16 v4, 0xf
shl-int/lit8 v3, v3, 0x1
or-int/2addr v2, v3
aput v2, p1, v4
.line 1040
return-void
:cond_355
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 1239
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 1240
long-to-int v2, v0
aput v2, p4, p5
.line 1241
shr-long/2addr v0, v8
.line 1242
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 1243
add-int/lit8 v2, p5, 0x1
long-to-int v3, v0
aput v3, p4, v2
.line 1244
shr-long/2addr v0, v8
.line 1245
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 1246
add-int/lit8 v2, p5, 0x2
long-to-int v3, v0
aput v3, p4, v2
.line 1247
shr-long/2addr v0, v8
.line 1248
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 1249
add-int/lit8 v2, p5, 0x3
long-to-int v3, v0
aput v3, p4, v2
.line 1250
shr-long/2addr v0, v8
.line 1251
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 1252
add-int/lit8 v2, p5, 0x4
long-to-int v3, v0
aput v3, p4, v2
.line 1253
shr-long/2addr v0, v8
.line 1254
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 1255
add-int/lit8 v2, p5, 0x5
long-to-int v3, v0
aput v3, p4, v2
.line 1256
shr-long/2addr v0, v8
.line 1257
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 1258
add-int/lit8 v2, p5, 0x6
long-to-int v3, v0
aput v3, p4, v2
.line 1259
shr-long/2addr v0, v8
.line 1260
add-int/lit8 v2, p1, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p3, 0x7
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 1261
add-int/lit8 v2, p5, 0x7
long-to-int v3, v0
aput v3, p4, v2
.line 1262
shr-long/2addr v0, v8
.line 1263
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 1209
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 1210
long-to-int v2, v0
aput v2, p2, v9
.line 1211
shr-long/2addr v0, v8
.line 1212
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 1213
long-to-int v2, v0
aput v2, p2, v10
.line 1214
shr-long/2addr v0, v8
.line 1215
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 1216
long-to-int v2, v0
aput v2, p2, v11
.line 1217
shr-long/2addr v0, v8
.line 1218
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 1219
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 1220
shr-long/2addr v0, v8
.line 1221
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 1222
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 1223
shr-long/2addr v0, v8
.line 1224
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 1225
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 1226
shr-long/2addr v0, v8
.line 1227
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 1228
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 1229
shr-long/2addr v0, v8
.line 1230
const/4 v2, 0x7
aget v2, p0, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x7
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 1231
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 1232
shr-long/2addr v0, v8
.line 1233
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 1269
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 1270
long-to-int v2, v0
aput v2, p2, v9
.line 1271
shr-long/2addr v0, v8
.line 1272
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 1273
long-to-int v2, v0
aput v2, p2, v10
.line 1274
shr-long/2addr v0, v8
.line 1275
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 1276
long-to-int v2, v0
aput v2, p2, v11
.line 1277
shr-long/2addr v0, v8
.line 1278
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 1279
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 1280
shr-long/2addr v0, v8
.line 1281
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 1282
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 1283
shr-long/2addr v0, v8
.line 1284
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 1285
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 1286
shr-long/2addr v0, v8
.line 1287
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 1288
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 1289
shr-long/2addr v0, v8
.line 1290
const/4 v2, 0x7
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x7
aget v4, p0, v4
int-to-long v4, v4
and-long/2addr v4, v6
sub-long/2addr v2, v4
const/4 v4, 0x7
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 1291
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 1292
shr-long/2addr v0, v8
.line 1293
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 1329
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 1330
long-to-int v2, v0
aput v2, p2, p3
.line 1331
shr-long/2addr v0, v8
.line 1332
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 1333
add-int/lit8 v2, p3, 0x1
long-to-int v3, v0
aput v3, p2, v2
.line 1334
shr-long/2addr v0, v8
.line 1335
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 1336
add-int/lit8 v2, p3, 0x2
long-to-int v3, v0
aput v3, p2, v2
.line 1337
shr-long/2addr v0, v8
.line 1338
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 1339
add-int/lit8 v2, p3, 0x3
long-to-int v3, v0
aput v3, p2, v2
.line 1340
shr-long/2addr v0, v8
.line 1341
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 1342
add-int/lit8 v2, p3, 0x4
long-to-int v3, v0
aput v3, p2, v2
.line 1343
shr-long/2addr v0, v8
.line 1344
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 1345
add-int/lit8 v2, p3, 0x5
long-to-int v3, v0
aput v3, p2, v2
.line 1346
shr-long/2addr v0, v8
.line 1347
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 1348
add-int/lit8 v2, p3, 0x6
long-to-int v3, v0
aput v3, p2, v2
.line 1349
shr-long/2addr v0, v8
.line 1350
add-int/lit8 v2, p3, 0x7
aget v2, p2, v2
int-to-long v2, v2
and-long/2addr v2, v6
add-int/lit8 v4, p1, 0x7
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 1351
add-int/lit8 v2, p3, 0x7
long-to-int v3, v0
aput v3, p2, v2
.line 1352
shr-long/2addr v0, v8
.line 1353
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 1299
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 1300
long-to-int v2, v0
aput v2, p1, v9
.line 1301
shr-long/2addr v0, v8
.line 1302
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 1303
long-to-int v2, v0
aput v2, p1, v10
.line 1304
shr-long/2addr v0, v8
.line 1305
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 1306
long-to-int v2, v0
aput v2, p1, v11
.line 1307
shr-long/2addr v0, v8
.line 1308
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 1309
const/4 v2, 0x3
long-to-int v3, v0
aput v3, p1, v2
.line 1310
shr-long/2addr v0, v8
.line 1311
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 1312
const/4 v2, 0x4
long-to-int v3, v0
aput v3, p1, v2
.line 1313
shr-long/2addr v0, v8
.line 1314
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 1315
const/4 v2, 0x5
long-to-int v3, v0
aput v3, p1, v2
.line 1316
shr-long/2addr v0, v8
.line 1317
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 1318
const/4 v2, 0x6
long-to-int v3, v0
aput v3, p1, v2
.line 1319
shr-long/2addr v0, v8
.line 1320
const/4 v2, 0x7
aget v2, p1, v2
int-to-long v2, v2
and-long/2addr v2, v6
const/4 v4, 0x7
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 1321
const/4 v2, 0x7
long-to-int v3, v0
aput v3, p1, v2
.line 1322
shr-long/2addr v0, v8
.line 1323
long-to-int v0, v0
return v0
.end method
.method public static toBigInteger([I)Ljava/math/BigInteger;
.registers 5
.prologue
.line 1358
const/16 v0, 0x20
new-array v1, v0, [B
.line 1359
const/4 v0, 0x0
:goto_5
const/16 v2, 0x8
if-ge v0, v2, :cond_17
.line 1361
aget v2, p0, v0
.line 1362
if-eqz v2, :cond_14
.line 1364
rsub-int/lit8 v3, v0, 0x7
shl-int/lit8 v3, v3, 0x2
invoke-static {v2, v1, v3}, Lorg/spongycastle/util/Pack;->intToBigEndian(I[BI)V
.line 1359
:cond_14
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 1367
:cond_17
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 toBigInteger64([J)Ljava/math/BigInteger;
.registers 7
.prologue
.line 1372
const/16 v0, 0x20
new-array v1, v0, [B
.line 1373
const/4 v0, 0x0
:goto_5
const/4 v2, 0x4
if-ge v0, v2, :cond_1a
.line 1375
aget-wide v2, p0, v0
.line 1376
const-wide/16 v4, 0x0
cmp-long v4, v2, v4
if-eqz v4, :cond_17
.line 1378
rsub-int/lit8 v4, v0, 0x3
shl-int/lit8 v4, v4, 0x3
invoke-static {v2, v3, v1, v4}, Lorg/spongycastle/util/Pack;->longToBigEndian(J[BI)V
.line 1373
:cond_17
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 1381
:cond_1a
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 1386
aput v1, p0, v1
.line 1387
const/4 v0, 0x1
aput v1, p0, v0
.line 1388
const/4 v0, 0x2
aput v1, p0, v0
.line 1389
const/4 v0, 0x3
aput v1, p0, v0
.line 1390
const/4 v0, 0x4
aput v1, p0, v0
.line 1391
const/4 v0, 0x5
aput v1, p0, v0
.line 1392
const/4 v0, 0x6
aput v1, p0, v0
.line 1393
const/4 v0, 0x7
aput v1, p0, v0
.line 1394
return-void
.end method