MessageKeyData.smali
.class public Lim/tpelyyftgw/messenger/MessageKeyData;
.super Ljava/lang/Object;
.source "MessageKeyData.java"
# instance fields
.field public aesIv:[B
.field public aesKey:[B
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 7
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static generateMessageKeyData([B[BZI)Lim/tpelyyftgw/messenger/MessageKeyData;
.registers 20
.param p0, "authKey" # [B
.param p1, "messageKey" # [B
.param p2, "incoming" # Z
.param p3, "version" # I
.line 13
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v2, p3
new-instance v3, Lim/tpelyyftgw/messenger/MessageKeyData;
invoke-direct {v3}, Lim/tpelyyftgw/messenger/MessageKeyData;-><init>()V
.line 14
.local v3, "keyData":Lim/tpelyyftgw/messenger/MessageKeyData;
if-eqz v0, :cond_12a
array-length v4, v0
if-nez v4, :cond_12
goto/16 :goto_12a
.line 20
:cond_12
const/4 v4, 0x0
const/16 v5, 0x8
if-eqz p2, :cond_1a
const/16 v6, 0x8
goto :goto_1b
:cond_1a
const/4 v6, 0x0
.line 22
.local v6, "x":I
:goto_1b
const/4 v7, 0x1
const/16 v8, 0x10
if-eq v2, v7, :cond_8a
const/4 v7, 0x2
if-eq v2, v7, :cond_25
goto/16 :goto_129
.line 24
:cond_25
new-instance v7, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v7}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
.line 25
.local v7, "data":Lim/tpelyyftgw/tgnet/SerializedData;
invoke-virtual {v7, v1, v4, v8}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 26
const/16 v9, 0x24
invoke-virtual {v7, v0, v6, v9}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 27
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v10
invoke-static {v10}, Lim/tpelyyftgw/messenger/Utilities;->computeSHA256([B)[B
move-result-object v10
.line 28
.local v10, "sha256_a":[B
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 30
new-instance v11, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v11}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v11
.line 31
add-int/lit8 v11, v6, 0x28
invoke-virtual {v7, v0, v11, v9}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 32
invoke-virtual {v7, v1, v4, v8}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 33
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v9
invoke-static {v9}, Lim/tpelyyftgw/messenger/Utilities;->computeSHA256([B)[B
move-result-object v9
.line 34
.local v9, "sha256_b":[B
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 36
new-instance v11, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v11}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v11
.line 37
invoke-virtual {v7, v10, v4, v5}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 38
invoke-virtual {v7, v9, v5, v8}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 39
const/16 v11, 0x18
invoke-virtual {v7, v10, v11, v5}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 40
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v12
iput-object v12, v3, Lim/tpelyyftgw/messenger/MessageKeyData;->aesKey:[B
.line 41
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 43
new-instance v12, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v12}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v12
.line 44
invoke-virtual {v7, v9, v4, v5}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 45
invoke-virtual {v7, v10, v5, v8}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 46
invoke-virtual {v7, v9, v11, v5}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 47
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v4
iput-object v4, v3, Lim/tpelyyftgw/messenger/MessageKeyData;->aesIv:[B
.line 48
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 49
goto/16 :goto_129
.line 52
.end local v7 # "data":Lim/tpelyyftgw/tgnet/SerializedData;
.end local v9 # "sha256_b":[B
.end local v10 # "sha256_a":[B
:cond_8a
new-instance v7, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v7}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
.line 53
.restart local v7 # "data":Lim/tpelyyftgw/tgnet/SerializedData;
invoke-virtual {v7, v1}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([B)V
.line 54
const/16 v9, 0x20
invoke-virtual {v7, v0, v6, v9}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 55
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v10
invoke-static {v10}, Lim/tpelyyftgw/messenger/Utilities;->computeSHA1([B)[B
move-result-object v10
.line 56
.local v10, "sha1_a":[B
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 58
new-instance v11, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v11}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v11
.line 59
add-int/lit8 v11, v6, 0x20
invoke-virtual {v7, v0, v11, v8}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 60
invoke-virtual {v7, v1}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([B)V
.line 61
add-int/lit8 v11, v6, 0x30
invoke-virtual {v7, v0, v11, v8}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 62
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v11
invoke-static {v11}, Lim/tpelyyftgw/messenger/Utilities;->computeSHA1([B)[B
move-result-object v11
.line 63
.local v11, "sha1_b":[B
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 65
new-instance v12, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v12}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v12
.line 66
add-int/lit8 v12, v6, 0x40
invoke-virtual {v7, v0, v12, v9}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 67
invoke-virtual {v7, v1}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([B)V
.line 68
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v12
invoke-static {v12}, Lim/tpelyyftgw/messenger/Utilities;->computeSHA1([B)[B
move-result-object v12
.line 69
.local v12, "sha1_c":[B
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 71
new-instance v13, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v13}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v13
.line 72
invoke-virtual {v7, v1}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([B)V
.line 73
add-int/lit8 v13, v6, 0x60
invoke-virtual {v7, v0, v13, v9}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 74
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v9
invoke-static {v9}, Lim/tpelyyftgw/messenger/Utilities;->computeSHA1([B)[B
move-result-object v9
.line 75
.local v9, "sha1_d":[B
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 77
new-instance v13, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v13}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v13
.line 78
invoke-virtual {v7, v10, v4, v5}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 79
const/16 v13, 0xc
invoke-virtual {v7, v11, v5, v13}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 80
const/4 v14, 0x4
invoke-virtual {v7, v12, v14, v13}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 81
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v15
iput-object v15, v3, Lim/tpelyyftgw/messenger/MessageKeyData;->aesKey:[B
.line 82
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 84
new-instance v15, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v15}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>()V
move-object v7, v15
.line 85
invoke-virtual {v7, v10, v5, v13}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 86
invoke-virtual {v7, v11, v4, v5}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 87
invoke-virtual {v7, v12, v8, v14}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 88
invoke-virtual {v7, v9, v4, v5}, Lim/tpelyyftgw/tgnet/SerializedData;->writeBytes([BII)V
.line 89
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v4
iput-object v4, v3, Lim/tpelyyftgw/messenger/MessageKeyData;->aesIv:[B
.line 90
invoke-virtual {v7}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 91
nop
.line 94
.end local v7 # "data":Lim/tpelyyftgw/tgnet/SerializedData;
.end local v9 # "sha1_d":[B
.end local v10 # "sha1_a":[B
.end local v11 # "sha1_b":[B
.end local v12 # "sha1_c":[B
:goto_129
return-object v3
.line 15
.end local v6 # "x":I
:cond_12a
:goto_12a
const/4 v4, 0x0
iput-object v4, v3, Lim/tpelyyftgw/messenger/MessageKeyData;->aesIv:[B
.line 16
iput-object v4, v3, Lim/tpelyyftgw/messenger/MessageKeyData;->aesKey:[B
.line 17
return-object v3
.end method