SecP224R1FieldElement.smali
.class public Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
.super Lorg/spongycastle/math/ec/ECFieldElement;
.source "SecP224R1FieldElement.java"
# static fields
.field public static final Q:Ljava/math/BigInteger;
# instance fields
.field protected x:[I
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 13
sget-object v0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Curve;->q:Ljava/math/BigInteger;
sput-object v0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->Q:Ljava/math/BigInteger;
return-void
.end method
.method public constructor <init>()V
.registers 2
.prologue
.line 28
invoke-direct {p0}, Lorg/spongycastle/math/ec/ECFieldElement;-><init>()V
.line 29
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
.line 30
return-void
.end method
.method public constructor <init>(Ljava/math/BigInteger;)V
.registers 4
.prologue
.line 18
invoke-direct {p0}, Lorg/spongycastle/math/ec/ECFieldElement;-><init>()V
.line 19
if-eqz p1, :cond_13
invoke-virtual {p1}, Ljava/math/BigInteger;->signum()I
move-result v0
if-ltz v0, :cond_13
sget-object v0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->Q:Ljava/math/BigInteger;
invoke-virtual {p1, v0}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
move-result v0
if-ltz v0, :cond_1b
.line 21
:cond_13
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "x value invalid for SecP224R1FieldElement"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 24
:cond_1b
invoke-static {p1}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->fromBigInteger(Ljava/math/BigInteger;)[I
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
.line 25
return-void
.end method
.method protected constructor <init>([I)V
.registers 2
.prologue
.line 33
invoke-direct {p0}, Lorg/spongycastle/math/ec/ECFieldElement;-><init>()V
.line 34
iput-object p1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
.line 35
return-void
.end method
.method private static RM([I[I[I[I[I[I[I)V
.registers 7
.prologue
.line 199
invoke-static {p4, p2, p6}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 200
invoke-static {p6, p0, p6}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 201
invoke-static {p3, p1, p5}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 202
invoke-static {p5, p6, p5}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->add([I[I[I)V
.line 203
invoke-static {p3, p2, p6}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 204
invoke-static {p5, p3}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 205
invoke-static {p4, p1, p4}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 206
invoke-static {p4, p6, p4}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->add([I[I[I)V
.line 207
invoke-static {p4, p5}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->square([I[I)V
.line 208
invoke-static {p5, p0, p5}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 209
return-void
.end method
.method private static RP([I[I[I[I[I)V
.registers 13
.prologue
.line 213
invoke-static {p0, p3}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 215
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v1
.line 216
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v2
.line 218
const/4 v0, 0x0
move v7, v0
:goto_d
const/4 v0, 0x7
if-ge v7, v0, :cond_2c
.line 220
invoke-static {p1, v1}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 221
invoke-static {p2, v2}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 223
const/4 v0, 0x1
shl-int/2addr v0, v7
.line 224
:goto_18
add-int/lit8 v0, v0, -0x1
if-ltz v0, :cond_20
.line 226
invoke-static {p1, p2, p3, p4}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->RS([I[I[I[I)V
goto :goto_18
:cond_20
move-object v0, p0
move-object v3, p1
move-object v4, p2
move-object v5, p3
move-object v6, p4
.line 229
invoke-static/range {v0 .. v6}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->RM([I[I[I[I[I[I[I)V
.line 218
add-int/lit8 v0, v7, 0x1
move v7, v0
goto :goto_d
.line 231
:cond_2c
return-void
.end method
.method private static RS([I[I[I[I)V
.registers 7
.prologue
.line 235
invoke-static {p1, p0, p1}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 236
invoke-static {p1, p1}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->twice([I[I)V
.line 237
invoke-static {p0, p3}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->square([I[I)V
.line 238
invoke-static {p2, p3, p0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->add([I[I[I)V
.line 239
invoke-static {p2, p3, p2}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 240
const/4 v0, 0x7
const/4 v1, 0x2
const/4 v2, 0x0
invoke-static {v0, p2, v1, v2}, Lorg/spongycastle/math/raw/Nat;->shiftUpBits(I[III)I
move-result v0
.line 241
invoke-static {v0, p2}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->reduce32(I[I)V
.line 242
return-void
.end method
.method private static isSquare([I)Z
.registers 5
.prologue
.line 182
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v1
.line 183
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v2
.line 184
invoke-static {p0, v1}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 186
const/4 v0, 0x0
:goto_c
const/4 v3, 0x7
if-ge v0, v3, :cond_1d
.line 188
invoke-static {v1, v2}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 189
const/4 v3, 0x1
shl-int/2addr v3, v0
invoke-static {v1, v3, v1}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->squareN([II[I)V
.line 190
invoke-static {v1, v2, v1}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 186
add-int/lit8 v0, v0, 0x1
goto :goto_c
.line 193
:cond_1d
const/16 v0, 0x5f
invoke-static {v1, v0, v1}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->squareN([II[I)V
.line 194
invoke-static {v1}, Lorg/spongycastle/math/raw/Nat224;->isOne([I)Z
move-result v0
return v0
.end method
.method private static trySqrt([I[I[I)Z
.registers 12
.prologue
const/4 v1, 0x0
const/4 v0, 0x1
.line 246
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v3
.line 247
invoke-static {p1, v3}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 248
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v4
.line 249
aput v0, v4, v1
.line 250
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v5
.line 251
invoke-static {p0, v3, v4, v5, p2}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->RP([I[I[I[I[I)V
.line 253
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v6
.line 254
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v7
move v2, v0
.line 256
:goto_1f
const/16 v8, 0x60
if-ge v2, v8, :cond_3e
.line 258
invoke-static {v3, v6}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 259
invoke-static {v4, v7}, Lorg/spongycastle/math/raw/Nat224;->copy([I[I)V
.line 261
invoke-static {v3, v4, v5, p2}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->RS([I[I[I[I)V
.line 263
invoke-static {v3}, Lorg/spongycastle/math/raw/Nat224;->isZero([I)Z
move-result v8
if-eqz v8, :cond_3b
.line 265
sget-object v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->P:[I
invoke-static {v1, v7, p2}, Lorg/spongycastle/math/raw/Mod;->invert([I[I[I)V
.line 266
invoke-static {p2, v6, p2}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 271
:goto_3a
return v0
.line 256
:cond_3b
add-int/lit8 v2, v2, 0x1
goto :goto_1f
:cond_3e
move v0, v1
.line 271
goto :goto_3a
.end method
# virtual methods
.method public add(Lorg/spongycastle/math/ec/ECFieldElement;)Lorg/spongycastle/math/ec/ECFieldElement;
.registers 5
.prologue
.line 69
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 70
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
check-cast p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
iget-object v2, p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v2, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->add([I[I[I)V
.line 71
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public addOne()Lorg/spongycastle/math/ec/ECFieldElement;
.registers 3
.prologue
.line 76
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 77
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->addOne([I[I)V
.line 78
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public divide(Lorg/spongycastle/math/ec/ECFieldElement;)Lorg/spongycastle/math/ec/ECFieldElement;
.registers 5
.prologue
.line 98
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 99
sget-object v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->P:[I
check-cast p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
iget-object v2, p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v2, v0}, Lorg/spongycastle/math/raw/Mod;->invert([I[I[I)V
.line 100
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v0, v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 101
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 4
.prologue
.line 161
if-ne p1, p0, :cond_4
.line 163
const/4 v0, 0x1
.line 172
:goto_3
return v0
.line 166
:cond_4
instance-of v0, p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
if-nez v0, :cond_a
.line 168
const/4 v0, 0x0
goto :goto_3
.line 171
:cond_a
check-cast p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
.line 172
iget-object v0, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
iget-object v1, p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v0, v1}, Lorg/spongycastle/math/raw/Nat224;->eq([I[I)Z
move-result v0
goto :goto_3
.end method
.method public getFieldName()Ljava/lang/String;
.registers 2
.prologue
.line 59
const-string v0, "SecP224R1Field"
return-object v0
.end method
.method public getFieldSize()I
.registers 2
.prologue
.line 64
sget-object v0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->Q:Ljava/math/BigInteger;
invoke-virtual {v0}, Ljava/math/BigInteger;->bitLength()I
move-result v0
return v0
.end method
.method public hashCode()I
.registers 5
.prologue
.line 177
sget-object v0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->Q:Ljava/math/BigInteger;
invoke-virtual {v0}, Ljava/math/BigInteger;->hashCode()I
move-result v0
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
const/4 v2, 0x0
const/4 v3, 0x7
invoke-static {v1, v2, v3}, Lorg/spongycastle/util/Arrays;->hashCode([III)I
move-result v1
xor-int/2addr v0, v1
return v0
.end method
.method public invert()Lorg/spongycastle/math/ec/ECFieldElement;
.registers 4
.prologue
.line 121
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 122
sget-object v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->P:[I
iget-object v2, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v2, v0}, Lorg/spongycastle/math/raw/Mod;->invert([I[I[I)V
.line 123
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public isOne()Z
.registers 2
.prologue
.line 44
iget-object v0, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v0}, Lorg/spongycastle/math/raw/Nat224;->isOne([I)Z
move-result v0
return v0
.end method
.method public isZero()Z
.registers 2
.prologue
.line 39
iget-object v0, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v0}, Lorg/spongycastle/math/raw/Nat224;->isZero([I)Z
move-result v0
return v0
.end method
.method public multiply(Lorg/spongycastle/math/ec/ECFieldElement;)Lorg/spongycastle/math/ec/ECFieldElement;
.registers 5
.prologue
.line 90
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 91
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
check-cast p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
iget-object v2, p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v2, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->multiply([I[I[I)V
.line 92
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public negate()Lorg/spongycastle/math/ec/ECFieldElement;
.registers 3
.prologue
.line 106
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 107
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->negate([I[I)V
.line 108
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public sqrt()Lorg/spongycastle/math/ec/ECFieldElement;
.registers 7
.prologue
const/4 v0, 0x0
.line 132
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
.line 133
invoke-static {v1}, Lorg/spongycastle/math/raw/Nat224;->isZero([I)Z
move-result v2
if-nez v2, :cond_f
invoke-static {v1}, Lorg/spongycastle/math/raw/Nat224;->isOne([I)Z
move-result v2
if-eqz v2, :cond_10
.line 156
:cond_f
:goto_f
return-object p0
.line 138
:cond_10
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v2
.line 139
invoke-static {v1, v2}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->negate([I[I)V
.line 141
sget-object v3, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->P:[I
invoke-static {v3}, Lorg/spongycastle/math/raw/Mod;->random([I)[I
move-result-object v3
.line 142
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v4
.line 144
invoke-static {v1}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->isSquare([I)Z
move-result v5
if-nez v5, :cond_29
move-object p0, v0
.line 146
goto :goto_f
.line 149
:cond_29
:goto_29
invoke-static {v2, v3, v4}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->trySqrt([I[I[I)Z
move-result v5
if-nez v5, :cond_33
.line 151
invoke-static {v3, v3}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->addOne([I[I)V
goto :goto_29
.line 154
:cond_33
invoke-static {v4, v3}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->square([I[I)V
.line 156
invoke-static {v1, v3}, Lorg/spongycastle/math/raw/Nat224;->eq([I[I)Z
move-result v1
if-eqz v1, :cond_42
new-instance p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {p0, v4}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
goto :goto_f
:cond_42
move-object p0, v0
goto :goto_f
.end method
.method public square()Lorg/spongycastle/math/ec/ECFieldElement;
.registers 3
.prologue
.line 113
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 114
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->square([I[I)V
.line 115
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public subtract(Lorg/spongycastle/math/ec/ECFieldElement;)Lorg/spongycastle/math/ec/ECFieldElement;
.registers 5
.prologue
.line 83
invoke-static {}, Lorg/spongycastle/math/raw/Nat224;->create()[I
move-result-object v0
.line 84
iget-object v1, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
check-cast p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
iget-object v2, p1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v1, v2, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1Field;->subtract([I[I[I)V
.line 85
new-instance v1, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;
invoke-direct {v1, v0}, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;-><init>([I)V
return-object v1
.end method
.method public testBitZero()Z
.registers 4
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
.line 49
iget-object v2, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v2, v1}, Lorg/spongycastle/math/raw/Nat224;->getBit([II)I
move-result v2
if-ne v2, v0, :cond_b
:goto_a
return v0
:cond_b
move v0, v1
goto :goto_a
.end method
.method public toBigInteger()Ljava/math/BigInteger;
.registers 2
.prologue
.line 54
iget-object v0, p0, Lorg/spongycastle/math/ec/custom/sec/SecP224R1FieldElement;->x:[I
invoke-static {v0}, Lorg/spongycastle/math/raw/Nat224;->toBigInteger([I)Ljava/math/BigInteger;
move-result-object v0
return-object v0
.end method