ThreefishEngine$Threefish1024Cipher.smali
.class final Lorg/spongycastle/crypto/engines/ThreefishEngine$Threefish1024Cipher;
.super Lorg/spongycastle/crypto/engines/ThreefishEngine$ThreefishCipher;
.source "ThreefishEngine.java"
# static fields
.field private static final ROTATION_0_0:I = 0x18
.field private static final ROTATION_0_1:I = 0xd
.field private static final ROTATION_0_2:I = 0x8
.field private static final ROTATION_0_3:I = 0x2f
.field private static final ROTATION_0_4:I = 0x8
.field private static final ROTATION_0_5:I = 0x11
.field private static final ROTATION_0_6:I = 0x16
.field private static final ROTATION_0_7:I = 0x25
.field private static final ROTATION_1_0:I = 0x26
.field private static final ROTATION_1_1:I = 0x13
.field private static final ROTATION_1_2:I = 0xa
.field private static final ROTATION_1_3:I = 0x37
.field private static final ROTATION_1_4:I = 0x31
.field private static final ROTATION_1_5:I = 0x12
.field private static final ROTATION_1_6:I = 0x17
.field private static final ROTATION_1_7:I = 0x34
.field private static final ROTATION_2_0:I = 0x21
.field private static final ROTATION_2_1:I = 0x4
.field private static final ROTATION_2_2:I = 0x33
.field private static final ROTATION_2_3:I = 0xd
.field private static final ROTATION_2_4:I = 0x22
.field private static final ROTATION_2_5:I = 0x29
.field private static final ROTATION_2_6:I = 0x3b
.field private static final ROTATION_2_7:I = 0x11
.field private static final ROTATION_3_0:I = 0x5
.field private static final ROTATION_3_1:I = 0x14
.field private static final ROTATION_3_2:I = 0x30
.field private static final ROTATION_3_3:I = 0x29
.field private static final ROTATION_3_4:I = 0x2f
.field private static final ROTATION_3_5:I = 0x1c
.field private static final ROTATION_3_6:I = 0x10
.field private static final ROTATION_3_7:I = 0x19
.field private static final ROTATION_4_0:I = 0x29
.field private static final ROTATION_4_1:I = 0x9
.field private static final ROTATION_4_2:I = 0x25
.field private static final ROTATION_4_3:I = 0x1f
.field private static final ROTATION_4_4:I = 0xc
.field private static final ROTATION_4_5:I = 0x2f
.field private static final ROTATION_4_6:I = 0x2c
.field private static final ROTATION_4_7:I = 0x1e
.field private static final ROTATION_5_0:I = 0x10
.field private static final ROTATION_5_1:I = 0x22
.field private static final ROTATION_5_2:I = 0x38
.field private static final ROTATION_5_3:I = 0x33
.field private static final ROTATION_5_4:I = 0x4
.field private static final ROTATION_5_5:I = 0x35
.field private static final ROTATION_5_6:I = 0x2a
.field private static final ROTATION_5_7:I = 0x29
.field private static final ROTATION_6_0:I = 0x1f
.field private static final ROTATION_6_1:I = 0x2c
.field private static final ROTATION_6_2:I = 0x2f
.field private static final ROTATION_6_3:I = 0x2e
.field private static final ROTATION_6_4:I = 0x13
.field private static final ROTATION_6_5:I = 0x2a
.field private static final ROTATION_6_6:I = 0x2c
.field private static final ROTATION_6_7:I = 0x19
.field private static final ROTATION_7_0:I = 0x9
.field private static final ROTATION_7_1:I = 0x30
.field private static final ROTATION_7_2:I = 0x23
.field private static final ROTATION_7_3:I = 0x34
.field private static final ROTATION_7_4:I = 0x17
.field private static final ROTATION_7_5:I = 0x1f
.field private static final ROTATION_7_6:I = 0x25
.field private static final ROTATION_7_7:I = 0x14
# direct methods
.method public constructor <init>([J[J)V
.registers 3
.prologue
.line 1017
invoke-direct {p0, p1, p2}, Lorg/spongycastle/crypto/engines/ThreefishEngine$ThreefishCipher;-><init>([J[J)V
.line 1018
return-void
.end method
# virtual methods
.method final decryptBlock([J[J)V
.registers 53
.prologue
.line 1239
move-object/from16 v0, p0
iget-object v0, v0, Lorg/spongycastle/crypto/engines/ThreefishEngine$Threefish1024Cipher;->kw:[J
move-object/from16 v39, v0
.line 1240
move-object/from16 v0, p0
iget-object v0, v0, Lorg/spongycastle/crypto/engines/ThreefishEngine$Threefish1024Cipher;->t:[J
move-object/from16 v40, v0
.line 1241
# getter for: Lorg/spongycastle/crypto/engines/ThreefishEngine;->MOD17:[I
invoke-static {}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->access$300()[I
move-result-object v41
.line 1242
# getter for: Lorg/spongycastle/crypto/engines/ThreefishEngine;->MOD3:[I
invoke-static {}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->access$100()[I
move-result-object v42
.line 1245
move-object/from16 v0, v39
array-length v6, v0
const/16 v7, 0x21
if-eq v6, v7, :cond_21
.line 1247
new-instance v6, Ljava/lang/IllegalArgumentException;
invoke-direct {v6}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v6
.line 1249
:cond_21
move-object/from16 v0, v40
array-length v6, v0
const/4 v7, 0x5
if-eq v6, v7, :cond_2d
.line 1251
new-instance v6, Ljava/lang/IllegalArgumentException;
invoke-direct {v6}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v6
.line 1254
:cond_2d
const/4 v6, 0x0
aget-wide v36, p1, v6
.line 1255
const/4 v6, 0x1
aget-wide v34, p1, v6
.line 1256
const/4 v6, 0x2
aget-wide v32, p1, v6
.line 1257
const/4 v6, 0x3
aget-wide v30, p1, v6
.line 1258
const/4 v6, 0x4
aget-wide v28, p1, v6
.line 1259
const/4 v6, 0x5
aget-wide v26, p1, v6
.line 1260
const/4 v6, 0x6
aget-wide v24, p1, v6
.line 1261
const/4 v6, 0x7
aget-wide v22, p1, v6
.line 1262
const/16 v6, 0x8
aget-wide v20, p1, v6
.line 1263
const/16 v6, 0x9
aget-wide v18, p1, v6
.line 1264
const/16 v6, 0xa
aget-wide v16, p1, v6
.line 1265
const/16 v6, 0xb
aget-wide v14, p1, v6
.line 1266
const/16 v6, 0xc
aget-wide v12, p1, v6
.line 1267
const/16 v6, 0xd
aget-wide v10, p1, v6
.line 1268
const/16 v6, 0xe
aget-wide v8, p1, v6
.line 1269
const/16 v6, 0xf
aget-wide v6, p1, v6
.line 1271
const/16 v38, 0x13
:goto_67
if-lez v38, :cond_47f
.line 1273
aget v43, v41, v38
.line 1274
aget v44, v42, v38
.line 1277
add-int/lit8 v45, v43, 0x1
aget-wide v46, v39, v45
sub-long v36, v36, v46
.line 1278
add-int/lit8 v45, v43, 0x2
aget-wide v46, v39, v45
sub-long v34, v34, v46
.line 1279
add-int/lit8 v45, v43, 0x3
aget-wide v46, v39, v45
sub-long v32, v32, v46
.line 1280
add-int/lit8 v45, v43, 0x4
aget-wide v46, v39, v45
sub-long v30, v30, v46
.line 1281
add-int/lit8 v45, v43, 0x5
aget-wide v46, v39, v45
sub-long v28, v28, v46
.line 1282
add-int/lit8 v45, v43, 0x6
aget-wide v46, v39, v45
sub-long v26, v26, v46
.line 1283
add-int/lit8 v45, v43, 0x7
aget-wide v46, v39, v45
sub-long v24, v24, v46
.line 1284
add-int/lit8 v45, v43, 0x8
aget-wide v46, v39, v45
sub-long v22, v22, v46
.line 1285
add-int/lit8 v45, v43, 0x9
aget-wide v46, v39, v45
sub-long v20, v20, v46
.line 1286
add-int/lit8 v45, v43, 0xa
aget-wide v46, v39, v45
sub-long v18, v18, v46
.line 1287
add-int/lit8 v45, v43, 0xb
aget-wide v46, v39, v45
sub-long v16, v16, v46
.line 1288
add-int/lit8 v45, v43, 0xc
aget-wide v46, v39, v45
sub-long v14, v14, v46
.line 1289
add-int/lit8 v45, v43, 0xd
aget-wide v46, v39, v45
sub-long v12, v12, v46
.line 1290
add-int/lit8 v45, v43, 0xe
aget-wide v46, v39, v45
add-int/lit8 v45, v44, 0x1
aget-wide v48, v40, v45
add-long v46, v46, v48
sub-long v10, v10, v46
.line 1291
add-int/lit8 v45, v43, 0xf
aget-wide v46, v39, v45
add-int/lit8 v45, v44, 0x2
aget-wide v48, v40, v45
add-long v46, v46, v48
sub-long v8, v8, v46
.line 1292
add-int/lit8 v45, v43, 0x10
aget-wide v46, v39, v45
move/from16 v0, v38
int-to-long v0, v0
move-wide/from16 v48, v0
add-long v46, v46, v48
const-wide/16 v48, 0x1
add-long v46, v46, v48
sub-long v6, v6, v46
.line 1295
const/16 v45, 0x9
move/from16 v0, v45
move-wide/from16 v1, v36
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1296
sub-long v36, v36, v6
.line 1297
const/16 v45, 0x30
move/from16 v0, v45
move-wide/from16 v1, v32
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1298
sub-long v32, v32, v14
.line 1299
const/16 v45, 0x23
move/from16 v0, v45
move-wide/from16 v1, v24
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1300
sub-long v24, v24, v10
.line 1301
const/16 v45, 0x34
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1302
sub-long v28, v28, v18
.line 1303
const/16 v45, 0x17
move-wide/from16 v0, v34
move/from16 v2, v45
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1304
sub-long v8, v8, v34
.line 1305
const/16 v45, 0x1f
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1306
sub-long v20, v20, v26
.line 1307
const/16 v45, 0x25
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1308
sub-long v16, v16, v30
.line 1309
const/16 v45, 0x14
move-wide/from16 v0, v22
move/from16 v2, v45
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1310
sub-long v12, v12, v22
.line 1312
const/16 v45, 0x1f
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1313
sub-long v36, v36, v22
.line 1314
const/16 v45, 0x2c
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1315
sub-long v32, v32, v26
.line 1316
const/16 v45, 0x2f
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1317
sub-long v28, v28, v30
.line 1318
const/16 v45, 0x2e
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1319
sub-long v24, v24, v34
.line 1320
const/16 v45, 0x13
move/from16 v0, v45
invoke-static {v6, v7, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1321
sub-long/2addr v12, v6
.line 1322
const/16 v45, 0x2a
move/from16 v0, v45
invoke-static {v10, v11, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1323
sub-long/2addr v8, v10
.line 1324
const/16 v45, 0x2c
move/from16 v0, v45
move-wide/from16 v1, v20
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1325
sub-long v20, v20, v14
.line 1326
const/16 v45, 0x19
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1327
sub-long v16, v16, v18
.line 1329
const/16 v45, 0x10
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1330
sub-long v36, v36, v18
.line 1331
const/16 v45, 0x22
move/from16 v0, v45
move-wide/from16 v1, v32
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1332
sub-long v32, v32, v10
.line 1333
const/16 v45, 0x38
move/from16 v0, v45
move-wide/from16 v1, v24
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1334
sub-long v24, v24, v14
.line 1335
const/16 v45, 0x33
move/from16 v0, v45
move-wide/from16 v1, v28
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1336
sub-long v28, v28, v6
.line 1337
const/16 v45, 0x4
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1338
sub-long v16, v16, v22
.line 1339
const/16 v45, 0x35
move-wide/from16 v0, v30
move/from16 v2, v45
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1340
sub-long v12, v12, v30
.line 1341
const/16 v45, 0x2a
move-wide/from16 v0, v26
move/from16 v2, v45
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1342
sub-long v8, v8, v26
.line 1343
const/16 v45, 0x29
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1344
sub-long v20, v20, v34
.line 1346
const/16 v45, 0x29
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1347
sub-long v36, v36, v34
.line 1348
const/16 v45, 0x9
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1349
sub-long v32, v32, v30
.line 1350
const/16 v45, 0x25
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1351
sub-long v28, v28, v26
.line 1352
const/16 v45, 0x1f
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1353
sub-long v24, v24, v22
.line 1354
const/16 v45, 0xc
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1355
sub-long v20, v20, v18
.line 1356
const/16 v45, 0x2f
move/from16 v0, v45
move-wide/from16 v1, v16
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1357
sub-long v16, v16, v14
.line 1358
const/16 v45, 0x2c
move/from16 v0, v45
invoke-static {v10, v11, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1359
sub-long/2addr v12, v10
.line 1360
const/16 v45, 0x1e
move/from16 v0, v45
invoke-static {v6, v7, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1361
sub-long/2addr v8, v6
.line 1364
aget-wide v46, v39, v43
sub-long v36, v36, v46
.line 1365
add-int/lit8 v45, v43, 0x1
aget-wide v46, v39, v45
sub-long v34, v34, v46
.line 1366
add-int/lit8 v45, v43, 0x2
aget-wide v46, v39, v45
sub-long v32, v32, v46
.line 1367
add-int/lit8 v45, v43, 0x3
aget-wide v46, v39, v45
sub-long v30, v30, v46
.line 1368
add-int/lit8 v45, v43, 0x4
aget-wide v46, v39, v45
sub-long v28, v28, v46
.line 1369
add-int/lit8 v45, v43, 0x5
aget-wide v46, v39, v45
sub-long v26, v26, v46
.line 1370
add-int/lit8 v45, v43, 0x6
aget-wide v46, v39, v45
sub-long v24, v24, v46
.line 1371
add-int/lit8 v45, v43, 0x7
aget-wide v46, v39, v45
sub-long v22, v22, v46
.line 1372
add-int/lit8 v45, v43, 0x8
aget-wide v46, v39, v45
sub-long v20, v20, v46
.line 1373
add-int/lit8 v45, v43, 0x9
aget-wide v46, v39, v45
sub-long v18, v18, v46
.line 1374
add-int/lit8 v45, v43, 0xa
aget-wide v46, v39, v45
sub-long v16, v16, v46
.line 1375
add-int/lit8 v45, v43, 0xb
aget-wide v46, v39, v45
sub-long v14, v14, v46
.line 1376
add-int/lit8 v45, v43, 0xc
aget-wide v46, v39, v45
sub-long v12, v12, v46
.line 1377
add-int/lit8 v45, v43, 0xd
aget-wide v46, v39, v45
aget-wide v48, v40, v44
add-long v46, v46, v48
sub-long v10, v10, v46
.line 1378
add-int/lit8 v45, v43, 0xe
aget-wide v46, v39, v45
add-int/lit8 v44, v44, 0x1
aget-wide v44, v40, v44
add-long v44, v44, v46
sub-long v8, v8, v44
.line 1379
add-int/lit8 v43, v43, 0xf
aget-wide v44, v39, v43
move/from16 v0, v38
int-to-long v0, v0
move-wide/from16 v46, v0
add-long v44, v44, v46
sub-long v6, v6, v44
.line 1382
const/16 v43, 0x5
move/from16 v0, v43
move-wide/from16 v1, v36
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1383
sub-long v36, v36, v6
.line 1384
const/16 v43, 0x14
move/from16 v0, v43
move-wide/from16 v1, v32
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1385
sub-long v32, v32, v14
.line 1386
const/16 v43, 0x30
move/from16 v0, v43
move-wide/from16 v1, v24
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1387
sub-long v24, v24, v10
.line 1388
const/16 v43, 0x29
move-wide/from16 v0, v18
move/from16 v2, v43
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1389
sub-long v28, v28, v18
.line 1390
const/16 v43, 0x2f
move-wide/from16 v0, v34
move/from16 v2, v43
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1391
sub-long v8, v8, v34
.line 1392
const/16 v43, 0x1c
move-wide/from16 v0, v26
move/from16 v2, v43
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1393
sub-long v20, v20, v26
.line 1394
const/16 v43, 0x10
move-wide/from16 v0, v30
move/from16 v2, v43
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1395
sub-long v16, v16, v30
.line 1396
const/16 v43, 0x19
move-wide/from16 v0, v22
move/from16 v2, v43
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1397
sub-long v12, v12, v22
.line 1399
const/16 v43, 0x21
move-wide/from16 v0, v22
move/from16 v2, v43
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1400
sub-long v36, v36, v22
.line 1401
const/16 v43, 0x4
move-wide/from16 v0, v26
move/from16 v2, v43
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1402
sub-long v32, v32, v26
.line 1403
const/16 v43, 0x33
move-wide/from16 v0, v30
move/from16 v2, v43
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1404
sub-long v28, v28, v30
.line 1405
const/16 v43, 0xd
move-wide/from16 v0, v34
move/from16 v2, v43
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1406
sub-long v24, v24, v34
.line 1407
const/16 v43, 0x22
move/from16 v0, v43
invoke-static {v6, v7, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1408
sub-long/2addr v12, v6
.line 1409
const/16 v43, 0x29
move/from16 v0, v43
invoke-static {v10, v11, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1410
sub-long/2addr v8, v10
.line 1411
const/16 v43, 0x3b
move/from16 v0, v43
move-wide/from16 v1, v20
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1412
sub-long v20, v20, v14
.line 1413
const/16 v43, 0x11
move-wide/from16 v0, v18
move/from16 v2, v43
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1414
sub-long v16, v16, v18
.line 1416
const/16 v43, 0x26
move-wide/from16 v0, v18
move/from16 v2, v43
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1417
sub-long v36, v36, v18
.line 1418
const/16 v43, 0x13
move/from16 v0, v43
move-wide/from16 v1, v32
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1419
sub-long v32, v32, v10
.line 1420
const/16 v43, 0xa
move/from16 v0, v43
move-wide/from16 v1, v24
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1421
sub-long v24, v24, v14
.line 1422
const/16 v43, 0x37
move/from16 v0, v43
move-wide/from16 v1, v28
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1423
sub-long v28, v28, v6
.line 1424
const/16 v43, 0x31
move-wide/from16 v0, v22
move/from16 v2, v43
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1425
sub-long v16, v16, v22
.line 1426
const/16 v43, 0x12
move-wide/from16 v0, v30
move/from16 v2, v43
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1427
sub-long v12, v12, v30
.line 1428
const/16 v43, 0x17
move-wide/from16 v0, v26
move/from16 v2, v43
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1429
sub-long v8, v8, v26
.line 1430
const/16 v43, 0x34
move-wide/from16 v0, v34
move/from16 v2, v43
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1431
sub-long v20, v20, v34
.line 1433
const/16 v43, 0x18
move-wide/from16 v0, v34
move/from16 v2, v43
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v34
.line 1434
sub-long v36, v36, v34
.line 1435
const/16 v43, 0xd
move-wide/from16 v0, v30
move/from16 v2, v43
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v30
.line 1436
sub-long v32, v32, v30
.line 1437
const/16 v43, 0x8
move-wide/from16 v0, v26
move/from16 v2, v43
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v26
.line 1438
sub-long v28, v28, v26
.line 1439
const/16 v43, 0x2f
move-wide/from16 v0, v22
move/from16 v2, v43
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v22
.line 1440
sub-long v24, v24, v22
.line 1441
const/16 v43, 0x8
move-wide/from16 v0, v18
move/from16 v2, v43
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v18
.line 1442
sub-long v20, v20, v18
.line 1443
const/16 v43, 0x11
move/from16 v0, v43
move-wide/from16 v1, v16
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v14
.line 1444
sub-long v16, v16, v14
.line 1445
const/16 v43, 0x16
move/from16 v0, v43
invoke-static {v10, v11, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v10
.line 1446
sub-long/2addr v12, v10
.line 1447
const/16 v43, 0x25
move/from16 v0, v43
invoke-static {v6, v7, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->xorRotr(JIJ)J
move-result-wide v6
.line 1448
sub-long/2addr v8, v6
.line 1271
add-int/lit8 v38, v38, -0x2
goto/16 :goto_67
.line 1454
:cond_47f
const/16 v38, 0x0
aget-wide v42, v39, v38
sub-long v36, v36, v42
.line 1455
const/16 v38, 0x1
aget-wide v42, v39, v38
sub-long v34, v34, v42
.line 1456
const/16 v38, 0x2
aget-wide v42, v39, v38
sub-long v32, v32, v42
.line 1457
const/16 v38, 0x3
aget-wide v42, v39, v38
sub-long v30, v30, v42
.line 1458
const/16 v38, 0x4
aget-wide v42, v39, v38
sub-long v28, v28, v42
.line 1459
const/16 v38, 0x5
aget-wide v42, v39, v38
sub-long v26, v26, v42
.line 1460
const/16 v38, 0x6
aget-wide v42, v39, v38
sub-long v24, v24, v42
.line 1461
const/16 v38, 0x7
aget-wide v42, v39, v38
sub-long v22, v22, v42
.line 1462
const/16 v38, 0x8
aget-wide v42, v39, v38
sub-long v20, v20, v42
.line 1463
const/16 v38, 0x9
aget-wide v42, v39, v38
sub-long v18, v18, v42
.line 1464
const/16 v38, 0xa
aget-wide v42, v39, v38
sub-long v16, v16, v42
.line 1465
const/16 v38, 0xb
aget-wide v42, v39, v38
sub-long v14, v14, v42
.line 1466
const/16 v38, 0xc
aget-wide v42, v39, v38
sub-long v12, v12, v42
.line 1467
const/16 v38, 0xd
aget-wide v42, v39, v38
const/16 v38, 0x0
aget-wide v44, v40, v38
add-long v42, v42, v44
sub-long v10, v10, v42
.line 1468
const/16 v38, 0xe
aget-wide v42, v39, v38
const/16 v38, 0x1
aget-wide v40, v40, v38
add-long v40, v40, v42
sub-long v8, v8, v40
.line 1469
const/16 v38, 0xf
aget-wide v38, v39, v38
sub-long v6, v6, v38
.line 1474
const/16 v38, 0x0
aput-wide v36, p2, v38
.line 1475
const/16 v36, 0x1
aput-wide v34, p2, v36
.line 1476
const/16 v34, 0x2
aput-wide v32, p2, v34
.line 1477
const/16 v32, 0x3
aput-wide v30, p2, v32
.line 1478
const/16 v30, 0x4
aput-wide v28, p2, v30
.line 1479
const/16 v28, 0x5
aput-wide v26, p2, v28
.line 1480
const/16 v26, 0x6
aput-wide v24, p2, v26
.line 1481
const/16 v24, 0x7
aput-wide v22, p2, v24
.line 1482
const/16 v22, 0x8
aput-wide v20, p2, v22
.line 1483
const/16 v20, 0x9
aput-wide v18, p2, v20
.line 1484
const/16 v18, 0xa
aput-wide v16, p2, v18
.line 1485
const/16 v16, 0xb
aput-wide v14, p2, v16
.line 1486
const/16 v14, 0xc
aput-wide v12, p2, v14
.line 1487
const/16 v12, 0xd
aput-wide v10, p2, v12
.line 1488
const/16 v10, 0xe
aput-wide v8, p2, v10
.line 1489
const/16 v8, 0xf
aput-wide v6, p2, v8
.line 1490
return-void
.end method
.method final encryptBlock([J[J)V
.registers 63
.prologue
.line 1022
move-object/from16 v0, p0
iget-object v0, v0, Lorg/spongycastle/crypto/engines/ThreefishEngine$Threefish1024Cipher;->kw:[J
move-object/from16 v39, v0
.line 1023
move-object/from16 v0, p0
iget-object v0, v0, Lorg/spongycastle/crypto/engines/ThreefishEngine$Threefish1024Cipher;->t:[J
move-object/from16 v40, v0
.line 1024
# getter for: Lorg/spongycastle/crypto/engines/ThreefishEngine;->MOD17:[I
invoke-static {}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->access$300()[I
move-result-object v41
.line 1025
# getter for: Lorg/spongycastle/crypto/engines/ThreefishEngine;->MOD3:[I
invoke-static {}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->access$100()[I
move-result-object v42
.line 1028
move-object/from16 v0, v39
array-length v6, v0
const/16 v7, 0x21
if-eq v6, v7, :cond_21
.line 1030
new-instance v6, Ljava/lang/IllegalArgumentException;
invoke-direct {v6}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v6
.line 1032
:cond_21
move-object/from16 v0, v40
array-length v6, v0
const/4 v7, 0x5
if-eq v6, v7, :cond_2d
.line 1034
new-instance v6, Ljava/lang/IllegalArgumentException;
invoke-direct {v6}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v6
.line 1040
:cond_2d
const/4 v6, 0x0
aget-wide v6, p1, v6
.line 1041
const/4 v8, 0x1
aget-wide v8, p1, v8
.line 1042
const/4 v10, 0x2
aget-wide v10, p1, v10
.line 1043
const/4 v12, 0x3
aget-wide v12, p1, v12
.line 1044
const/4 v14, 0x4
aget-wide v14, p1, v14
.line 1045
const/16 v16, 0x5
aget-wide v16, p1, v16
.line 1046
const/16 v18, 0x6
aget-wide v18, p1, v18
.line 1047
const/16 v20, 0x7
aget-wide v20, p1, v20
.line 1048
const/16 v22, 0x8
aget-wide v44, p1, v22
.line 1049
const/16 v22, 0x9
aget-wide v46, p1, v22
.line 1050
const/16 v22, 0xa
aget-wide v48, p1, v22
.line 1051
const/16 v22, 0xb
aget-wide v50, p1, v22
.line 1052
const/16 v22, 0xc
aget-wide v52, p1, v22
.line 1053
const/16 v22, 0xd
aget-wide v54, p1, v22
.line 1054
const/16 v22, 0xe
aget-wide v56, p1, v22
.line 1055
const/16 v22, 0xf
aget-wide v58, p1, v22
.line 1060
const/16 v22, 0x0
aget-wide v22, v39, v22
add-long v36, v6, v22
.line 1061
const/4 v6, 0x1
aget-wide v6, v39, v6
add-long v34, v8, v6
.line 1062
const/4 v6, 0x2
aget-wide v6, v39, v6
add-long v32, v10, v6
.line 1063
const/4 v6, 0x3
aget-wide v6, v39, v6
add-long v30, v12, v6
.line 1064
const/4 v6, 0x4
aget-wide v6, v39, v6
add-long v28, v14, v6
.line 1065
const/4 v6, 0x5
aget-wide v6, v39, v6
add-long v26, v16, v6
.line 1066
const/4 v6, 0x6
aget-wide v6, v39, v6
add-long v24, v18, v6
.line 1067
const/4 v6, 0x7
aget-wide v6, v39, v6
add-long v22, v20, v6
.line 1068
const/16 v6, 0x8
aget-wide v6, v39, v6
add-long v20, v44, v6
.line 1069
const/16 v6, 0x9
aget-wide v6, v39, v6
add-long v18, v46, v6
.line 1070
const/16 v6, 0xa
aget-wide v6, v39, v6
add-long v16, v48, v6
.line 1071
const/16 v6, 0xb
aget-wide v6, v39, v6
add-long v14, v50, v6
.line 1072
const/16 v6, 0xc
aget-wide v6, v39, v6
add-long v12, v52, v6
.line 1073
const/16 v6, 0xd
aget-wide v6, v39, v6
const/4 v8, 0x0
aget-wide v8, v40, v8
add-long/2addr v6, v8
add-long v10, v54, v6
.line 1074
const/16 v6, 0xe
aget-wide v6, v39, v6
const/4 v8, 0x1
aget-wide v8, v40, v8
add-long/2addr v6, v8
add-long v8, v56, v6
.line 1075
const/16 v6, 0xf
aget-wide v6, v39, v6
add-long v6, v6, v58
.line 1088
const/16 v38, 0x1
:goto_cb
const/16 v43, 0x14
move/from16 v0, v38
move/from16 v1, v43
if-ge v0, v1, :cond_4e9
.line 1090
aget v43, v41, v38
.line 1091
aget v44, v42, v38
.line 1099
const/16 v45, 0x18
add-long v36, v36, v34
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1100
const/16 v45, 0xd
add-long v32, v32, v30
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1101
const/16 v45, 0x8
add-long v28, v28, v26
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1102
const/16 v45, 0x2f
add-long v24, v24, v22
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1103
const/16 v45, 0x8
add-long v20, v20, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1104
const/16 v45, 0x11
add-long v16, v16, v14
move/from16 v0, v45
move-wide/from16 v1, v16
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1105
const/16 v45, 0x16
add-long/2addr v12, v10
move/from16 v0, v45
invoke-static {v10, v11, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1106
const/16 v45, 0x25
add-long/2addr v8, v6
move/from16 v0, v45
invoke-static {v6, v7, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1108
const/16 v45, 0x26
add-long v36, v36, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1109
const/16 v45, 0x13
add-long v32, v32, v10
move/from16 v0, v45
move-wide/from16 v1, v32
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1110
const/16 v45, 0xa
add-long v24, v24, v14
move/from16 v0, v45
move-wide/from16 v1, v24
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1111
const/16 v45, 0x37
add-long v28, v28, v6
move/from16 v0, v45
move-wide/from16 v1, v28
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1112
const/16 v45, 0x31
add-long v16, v16, v22
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1113
const/16 v45, 0x12
add-long v12, v12, v30
move-wide/from16 v0, v30
move/from16 v2, v45
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1114
const/16 v45, 0x17
add-long v8, v8, v26
move-wide/from16 v0, v26
move/from16 v2, v45
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1115
const/16 v45, 0x34
add-long v20, v20, v34
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1117
const/16 v45, 0x21
add-long v36, v36, v22
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1118
const/16 v45, 0x4
add-long v32, v32, v26
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1119
const/16 v45, 0x33
add-long v28, v28, v30
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1120
const/16 v45, 0xd
add-long v24, v24, v34
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1121
const/16 v45, 0x22
add-long/2addr v12, v6
move/from16 v0, v45
invoke-static {v6, v7, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1122
const/16 v45, 0x29
add-long/2addr v8, v10
move/from16 v0, v45
invoke-static {v10, v11, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1123
const/16 v45, 0x3b
add-long v20, v20, v14
move/from16 v0, v45
move-wide/from16 v1, v20
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1124
const/16 v45, 0x11
add-long v16, v16, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1126
const/16 v45, 0x5
add-long v36, v36, v6
move/from16 v0, v45
move-wide/from16 v1, v36
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1127
const/16 v45, 0x14
add-long v32, v32, v14
move/from16 v0, v45
move-wide/from16 v1, v32
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1128
const/16 v45, 0x30
add-long v24, v24, v10
move/from16 v0, v45
move-wide/from16 v1, v24
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1129
const/16 v45, 0x29
add-long v28, v28, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1130
const/16 v45, 0x2f
add-long v8, v8, v34
move-wide/from16 v0, v34
move/from16 v2, v45
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1131
const/16 v45, 0x1c
add-long v20, v20, v26
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1132
const/16 v45, 0x10
add-long v16, v16, v30
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1133
const/16 v45, 0x19
add-long v12, v12, v22
move-wide/from16 v0, v22
move/from16 v2, v45
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1138
aget-wide v46, v39, v43
add-long v36, v36, v46
.line 1139
add-int/lit8 v45, v43, 0x1
aget-wide v46, v39, v45
add-long v34, v34, v46
.line 1140
add-int/lit8 v45, v43, 0x2
aget-wide v46, v39, v45
add-long v32, v32, v46
.line 1141
add-int/lit8 v45, v43, 0x3
aget-wide v46, v39, v45
add-long v30, v30, v46
.line 1142
add-int/lit8 v45, v43, 0x4
aget-wide v46, v39, v45
add-long v28, v28, v46
.line 1143
add-int/lit8 v45, v43, 0x5
aget-wide v46, v39, v45
add-long v26, v26, v46
.line 1144
add-int/lit8 v45, v43, 0x6
aget-wide v46, v39, v45
add-long v24, v24, v46
.line 1145
add-int/lit8 v45, v43, 0x7
aget-wide v46, v39, v45
add-long v22, v22, v46
.line 1146
add-int/lit8 v45, v43, 0x8
aget-wide v46, v39, v45
add-long v20, v20, v46
.line 1147
add-int/lit8 v45, v43, 0x9
aget-wide v46, v39, v45
add-long v18, v18, v46
.line 1148
add-int/lit8 v45, v43, 0xa
aget-wide v46, v39, v45
add-long v16, v16, v46
.line 1149
add-int/lit8 v45, v43, 0xb
aget-wide v46, v39, v45
add-long v14, v14, v46
.line 1150
add-int/lit8 v45, v43, 0xc
aget-wide v46, v39, v45
add-long v12, v12, v46
.line 1151
add-int/lit8 v45, v43, 0xd
aget-wide v46, v39, v45
aget-wide v48, v40, v44
add-long v46, v46, v48
add-long v10, v10, v46
.line 1152
add-int/lit8 v45, v43, 0xe
aget-wide v46, v39, v45
add-int/lit8 v45, v44, 0x1
aget-wide v48, v40, v45
add-long v46, v46, v48
add-long v8, v8, v46
.line 1153
add-int/lit8 v45, v43, 0xf
aget-wide v46, v39, v45
move/from16 v0, v38
int-to-long v0, v0
move-wide/from16 v48, v0
add-long v46, v46, v48
add-long v6, v6, v46
.line 1158
const/16 v45, 0x29
add-long v36, v36, v34
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1159
const/16 v45, 0x9
add-long v32, v32, v30
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1160
const/16 v45, 0x25
add-long v28, v28, v26
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1161
const/16 v45, 0x1f
add-long v24, v24, v22
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1162
const/16 v45, 0xc
add-long v20, v20, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1163
const/16 v45, 0x2f
add-long v16, v16, v14
move/from16 v0, v45
move-wide/from16 v1, v16
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1164
const/16 v45, 0x2c
add-long/2addr v12, v10
move/from16 v0, v45
invoke-static {v10, v11, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1165
const/16 v45, 0x1e
add-long/2addr v8, v6
move/from16 v0, v45
invoke-static {v6, v7, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1167
const/16 v45, 0x10
add-long v36, v36, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1168
const/16 v45, 0x22
add-long v32, v32, v10
move/from16 v0, v45
move-wide/from16 v1, v32
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1169
const/16 v45, 0x38
add-long v24, v24, v14
move/from16 v0, v45
move-wide/from16 v1, v24
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1170
const/16 v45, 0x33
add-long v28, v28, v6
move/from16 v0, v45
move-wide/from16 v1, v28
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1171
const/16 v45, 0x4
add-long v16, v16, v22
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1172
const/16 v45, 0x35
add-long v12, v12, v30
move-wide/from16 v0, v30
move/from16 v2, v45
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1173
const/16 v45, 0x2a
add-long v8, v8, v26
move-wide/from16 v0, v26
move/from16 v2, v45
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1174
const/16 v45, 0x29
add-long v20, v20, v34
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1176
const/16 v45, 0x1f
add-long v36, v36, v22
move-wide/from16 v0, v22
move/from16 v2, v45
move-wide/from16 v3, v36
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1177
const/16 v45, 0x2c
add-long v32, v32, v26
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v32
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1178
const/16 v45, 0x2f
add-long v28, v28, v30
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1179
const/16 v45, 0x2e
add-long v24, v24, v34
move-wide/from16 v0, v34
move/from16 v2, v45
move-wide/from16 v3, v24
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1180
const/16 v45, 0x13
add-long/2addr v12, v6
move/from16 v0, v45
invoke-static {v6, v7, v0, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1181
const/16 v45, 0x2a
add-long/2addr v8, v10
move/from16 v0, v45
invoke-static {v10, v11, v0, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1182
const/16 v45, 0x2c
add-long v20, v20, v14
move/from16 v0, v45
move-wide/from16 v1, v20
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1183
const/16 v45, 0x19
add-long v16, v16, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1185
const/16 v45, 0x9
add-long v36, v36, v6
move/from16 v0, v45
move-wide/from16 v1, v36
invoke-static {v6, v7, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v6
.line 1186
const/16 v45, 0x30
add-long v32, v32, v14
move/from16 v0, v45
move-wide/from16 v1, v32
invoke-static {v14, v15, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v14
.line 1187
const/16 v45, 0x23
add-long v24, v24, v10
move/from16 v0, v45
move-wide/from16 v1, v24
invoke-static {v10, v11, v0, v1, v2}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v10
.line 1188
const/16 v45, 0x34
add-long v28, v28, v18
move-wide/from16 v0, v18
move/from16 v2, v45
move-wide/from16 v3, v28
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v18
.line 1189
const/16 v45, 0x17
add-long v8, v8, v34
move-wide/from16 v0, v34
move/from16 v2, v45
invoke-static {v0, v1, v2, v8, v9}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v34
.line 1190
const/16 v45, 0x1f
add-long v20, v20, v26
move-wide/from16 v0, v26
move/from16 v2, v45
move-wide/from16 v3, v20
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v26
.line 1191
const/16 v45, 0x25
add-long v16, v16, v30
move-wide/from16 v0, v30
move/from16 v2, v45
move-wide/from16 v3, v16
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v30
.line 1192
const/16 v45, 0x14
add-long v12, v12, v22
move-wide/from16 v0, v22
move/from16 v2, v45
invoke-static {v0, v1, v2, v12, v13}, Lorg/spongycastle/crypto/engines/ThreefishEngine;->rotlXor(JIJ)J
move-result-wide v22
.line 1197
add-int/lit8 v45, v43, 0x1
aget-wide v46, v39, v45
add-long v36, v36, v46
.line 1198
add-int/lit8 v45, v43, 0x2
aget-wide v46, v39, v45
add-long v34, v34, v46
.line 1199
add-int/lit8 v45, v43, 0x3
aget-wide v46, v39, v45
add-long v32, v32, v46
.line 1200
add-int/lit8 v45, v43, 0x4
aget-wide v46, v39, v45
add-long v30, v30, v46
.line 1201
add-int/lit8 v45, v43, 0x5
aget-wide v46, v39, v45
add-long v28, v28, v46
.line 1202
add-int/lit8 v45, v43, 0x6
aget-wide v46, v39, v45
add-long v26, v26, v46
.line 1203
add-int/lit8 v45, v43, 0x7
aget-wide v46, v39, v45
add-long v24, v24, v46
.line 1204
add-int/lit8 v45, v43, 0x8
aget-wide v46, v39, v45
add-long v22, v22, v46
.line 1205
add-int/lit8 v45, v43, 0x9
aget-wide v46, v39, v45
add-long v20, v20, v46
.line 1206
add-int/lit8 v45, v43, 0xa
aget-wide v46, v39, v45
add-long v18, v18, v46
.line 1207
add-int/lit8 v45, v43, 0xb
aget-wide v46, v39, v45
add-long v16, v16, v46
.line 1208
add-int/lit8 v45, v43, 0xc
aget-wide v46, v39, v45
add-long v14, v14, v46
.line 1209
add-int/lit8 v45, v43, 0xd
aget-wide v46, v39, v45
add-long v12, v12, v46
.line 1210
add-int/lit8 v45, v43, 0xe
aget-wide v46, v39, v45
add-int/lit8 v45, v44, 0x1
aget-wide v48, v40, v45
add-long v46, v46, v48
add-long v10, v10, v46
.line 1211
add-int/lit8 v45, v43, 0xf
aget-wide v46, v39, v45
add-int/lit8 v44, v44, 0x2
aget-wide v44, v40, v44
add-long v44, v44, v46
add-long v8, v8, v44
.line 1212
add-int/lit8 v43, v43, 0x10
aget-wide v44, v39, v43
move/from16 v0, v38
int-to-long v0, v0
move-wide/from16 v46, v0
add-long v44, v44, v46
const-wide/16 v46, 0x1
add-long v44, v44, v46
add-long v6, v6, v44
.line 1088
add-int/lit8 v38, v38, 0x2
goto/16 :goto_cb
.line 1219
:cond_4e9
const/16 v38, 0x0
aput-wide v36, p2, v38
.line 1220
const/16 v36, 0x1
aput-wide v34, p2, v36
.line 1221
const/16 v34, 0x2
aput-wide v32, p2, v34
.line 1222
const/16 v32, 0x3
aput-wide v30, p2, v32
.line 1223
const/16 v30, 0x4
aput-wide v28, p2, v30
.line 1224
const/16 v28, 0x5
aput-wide v26, p2, v28
.line 1225
const/16 v26, 0x6
aput-wide v24, p2, v26
.line 1226
const/16 v24, 0x7
aput-wide v22, p2, v24
.line 1227
const/16 v22, 0x8
aput-wide v20, p2, v22
.line 1228
const/16 v20, 0x9
aput-wide v18, p2, v20
.line 1229
const/16 v18, 0xa
aput-wide v16, p2, v18
.line 1230
const/16 v16, 0xb
aput-wide v14, p2, v16
.line 1231
const/16 v14, 0xc
aput-wide v12, p2, v14
.line 1232
const/16 v12, 0xd
aput-wide v10, p2, v12
.line 1233
const/16 v10, 0xe
aput-wide v8, p2, v10
.line 1234
const/16 v8, 0xf
aput-wide v6, p2, v8
.line 1235
return-void
.end method