j.smali
.class public final Llive/sg/bigo/sdk/network/g/j;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Llive/sg/bigo/sdk/network/d/c;
# instance fields
.field public a:I
.field public b:[I
.field public c:[I
.field private d:J
# direct methods
.method public constructor <init>(J)V
.registers 3
.line 24
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 25
iput-wide p1, p0, Llive/sg/bigo/sdk/network/g/j;->d:J
return-void
.end method
# virtual methods
.method public final a(Ljava/nio/ByteBuffer;)I
.registers 2
const/4 p1, 0x0
return p1
.end method
.method public final a()Ljava/nio/ByteBuffer;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
const/4 v0, 0x0
return-object v0
.end method
.method public final b()I
.registers 2
const/4 v0, 0x0
return v0
.end method
.method public final b(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.registers 19
move-object/from16 v0, p0
.line 52
iget-object v1, v0, Llive/sg/bigo/sdk/network/g/j;->b:[I
if-nez v1, :cond_7
return-object p1
.line 56
:cond_7
invoke-static/range {p1 .. p1}, Lsg/bigo/svcapi/proto/ProtoHelper;->peekUri(Ljava/nio/ByteBuffer;)I
move-result v1
.line 57
invoke-virtual/range {p1 .. p1}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v2
const/16 v3, 0xa
invoke-virtual/range {p1 .. p1}, Ljava/nio/ByteBuffer;->limit()I
move-result v4
invoke-static {v2, v3, v4}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v2
.line 59
new-instance v3, Llive/sg/bigo/sdk/network/g/b/q;
invoke-direct {v3}, Llive/sg/bigo/sdk/network/g/b/q;-><init>()V
.line 60
iget v4, v0, Llive/sg/bigo/sdk/network/g/j;->a:I
iput v4, v3, Llive/sg/bigo/sdk/network/g/b/q;->a:I
.line 61
iput v1, v3, Llive/sg/bigo/sdk/network/g/b/q;->b:I
.line 62
iput-object v2, v3, Llive/sg/bigo/sdk/network/g/b/q;->c:[B
.line 64
invoke-virtual {v3}, Llive/sg/bigo/sdk/network/g/b/q;->size()I
move-result v1
invoke-static {v1}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v1
.line 65
sget-object v2, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 66
invoke-virtual {v3, v1}, Llive/sg/bigo/sdk/network/g/b/q;->marshall(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.line 67
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v1
iget-object v2, v0, Llive/sg/bigo/sdk/network/g/j;->b:[I
const/4 v3, 0x0
if-eqz v1, :cond_b6
if-eqz v2, :cond_b6
.line 1009
array-length v4, v2
const/4 v5, 0x4
if-eq v4, v5, :cond_46
goto :goto_b6
.line 1013
:cond_46
array-length v4, v1
.line 1014
rem-int/lit8 v5, v4, 0x8
if-eqz v5, :cond_51
.line 1015
array-length v5, v1
rem-int/lit8 v5, v5, 0x8
rsub-int/lit8 v5, v5, 0x8
add-int/2addr v4, v5
.line 1018
:cond_51
invoke-static {v4}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v5
.line 1019
sget-object v6, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v5, v6}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 1020
invoke-virtual {v5, v1}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 1021
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 1023
invoke-static {v4}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v1
.line 1024
sget-object v6, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v6}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
const/4 v6, 0x0
:goto_6a
if-ge v6, v4, :cond_b1
.line 1060
aget v7, v2, v3
const/4 v8, 0x1
aget v8, v2, v8
const/4 v9, 0x2
aget v9, v2, v9
const/4 v10, 0x3
aget v10, v2, v10
.line 1062
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->getInt()I
move-result v11
.line 1063
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->getInt()I
move-result v12
const/4 v13, 0x0
const/4 v14, 0x0
:goto_81
const/16 v15, 0x20
if-ge v13, v15, :cond_a8
const v15, -0x61c88647
add-int/2addr v14, v15
shl-int/lit8 v15, v12, 0x4
add-int/2addr v15, v7
add-int v16, v12, v14
xor-int v15, v15, v16
ushr-int/lit8 v16, v12, 0x5
add-int v16, v16, v8
xor-int v15, v15, v16
add-int/2addr v11, v15
shl-int/lit8 v15, v11, 0x4
add-int/2addr v15, v9
add-int v16, v11, v14
xor-int v15, v15, v16
ushr-int/lit8 v16, v11, 0x5
add-int v16, v16, v10
xor-int v15, v15, v16
add-int/2addr v12, v15
add-int/lit8 v13, v13, 0x1
goto :goto_81
.line 1071
:cond_a8
invoke-virtual {v1, v11}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
.line 1072
invoke-virtual {v1, v12}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
add-int/lit8 v6, v6, 0x8
goto :goto_6a
.line 1030
:cond_b1
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v1
goto :goto_b8
:cond_b6
:goto_b6
new-array v1, v3, [B
.line 69
:goto_b8
new-instance v2, Llive/sg/bigo/sdk/network/g/b/b;
invoke-direct {v2}, Llive/sg/bigo/sdk/network/g/b/b;-><init>()V
.line 70
iget-wide v3, v0, Llive/sg/bigo/sdk/network/g/j;->d:J
iput-wide v3, v2, Llive/sg/bigo/sdk/network/g/b/b;->a:J
.line 71
iput-object v1, v2, Llive/sg/bigo/sdk/network/g/b/b;->b:[B
const/16 v1, 0xd99
.line 72
invoke-static {v1, v2}, Lsg/bigo/svcapi/proto/ProtoHelper;->protoToByteBuffer(ILsg/bigo/svcapi/proto/Marshallable;)Ljava/nio/ByteBuffer;
move-result-object v1
return-object v1
.end method
.method public final c(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.registers 20
move-object/from16 v1, p0
const-string v2, "yysdk-net-udp"
.line 77
iget-object v0, v1, Llive/sg/bigo/sdk/network/g/j;->c:[I
const/4 v3, 0x0
if-nez v0, :cond_a
return-object v3
.line 81
:cond_a
invoke-virtual/range {p1 .. p1}, Ljava/nio/ByteBuffer;->limit()I
move-result v0
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 82
sget-object v4, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v0, v4}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 83
invoke-virtual/range {p1 .. p1}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
move-object/from16 v4, p1
.line 84
invoke-virtual {v0, v4}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.line 85
invoke-virtual/range {p1 .. p1}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 86
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
.line 88
invoke-static {v0}, Lsg/bigo/svcapi/proto/ProtoHelper;->skipHeader(Ljava/nio/ByteBuffer;)V
.line 90
new-instance v4, Llive/sg/bigo/sdk/network/g/b/b;
invoke-direct {v4}, Llive/sg/bigo/sdk/network/g/b/b;-><init>()V
.line 92
:try_start_2d
invoke-virtual {v4, v0}, Llive/sg/bigo/sdk/network/g/b/b;->unmarshall(Ljava/nio/ByteBuffer;)V
:try_end_30
.catch Lsg/bigo/svcapi/proto/InvalidProtocolData; {:try_start_2d .. :try_end_30} :catch_10a
.line 98
iget-object v0, v4, Llive/sg/bigo/sdk/network/g/b/b;->b:[B
iget-object v4, v1, Llive/sg/bigo/sdk/network/g/j;->c:[I
const/4 v5, 0x1
const/4 v6, 0x0
if-eqz v0, :cond_b9
if-eqz v4, :cond_b9
.line 2034
array-length v7, v4
const/4 v8, 0x4
if-eq v7, v8, :cond_40
goto/16 :goto_b9
.line 2037
:cond_40
array-length v7, v0
.line 2038
rem-int/lit8 v8, v7, 0x8
if-eqz v8, :cond_4b
.line 2039
array-length v8, v0
rem-int/lit8 v8, v8, 0x8
rsub-int/lit8 v8, v8, 0x8
add-int/2addr v7, v8
.line 2042
:cond_4b
invoke-static {v7}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v8
.line 2043
sget-object v9, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v8, v9}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 2044
invoke-virtual {v8, v0}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 2045
invoke-virtual {v8}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 2047
invoke-static {v7}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v7
.line 2048
sget-object v9, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v7, v9}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
const/4 v9, 0x0
.line 2050
:goto_64
array-length v10, v0
if-ge v9, v10, :cond_b2
.line 2080
aget v10, v4, v6
aget v11, v4, v5
const/4 v12, 0x2
aget v12, v4, v12
const/4 v13, 0x3
aget v13, v4, v13
const v14, -0x3910c8e0
.line 2090
invoke-virtual {v8}, Ljava/nio/ByteBuffer;->getInt()I
move-result v15
.line 2091
invoke-virtual {v8}, Ljava/nio/ByteBuffer;->getInt()I
move-result v16
move/from16 v3, v16
const/4 v5, 0x0
:goto_7f
const/16 v6, 0x20
if-ge v5, v6, :cond_a6
shl-int/lit8 v6, v15, 0x4
add-int/2addr v6, v12
add-int v17, v15, v14
xor-int v6, v6, v17
ushr-int/lit8 v17, v15, 0x5
add-int v17, v17, v13
xor-int v6, v6, v17
sub-int/2addr v3, v6
shl-int/lit8 v6, v3, 0x4
add-int/2addr v6, v10
add-int v17, v3, v14
xor-int v6, v6, v17
ushr-int/lit8 v17, v3, 0x5
add-int v17, v17, v11
xor-int v6, v6, v17
sub-int/2addr v15, v6
const v6, -0x61c88647
sub-int/2addr v14, v6
add-int/lit8 v5, v5, 0x1
goto :goto_7f
.line 2099
:cond_a6
invoke-virtual {v7, v15}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
.line 2100
invoke-virtual {v7, v3}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
add-int/lit8 v9, v9, 0x8
const/4 v3, 0x0
const/4 v5, 0x1
const/4 v6, 0x0
goto :goto_64
.line 2054
:cond_b2
invoke-virtual {v7}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v0
move-object v3, v0
const/4 v0, 0x0
goto :goto_bc
:cond_b9
:goto_b9
const/4 v0, 0x0
new-array v3, v0, [B
.line 99
:goto_bc
array-length v4, v3
invoke-static {v4}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v4
.line 100
sget-object v5, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 101
invoke-virtual {v4, v3}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 102
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
.line 104
new-instance v3, Llive/sg/bigo/sdk/network/g/b/q;
invoke-direct {v3}, Llive/sg/bigo/sdk/network/g/b/q;-><init>()V
.line 106
:try_start_d1
invoke-virtual {v3, v4}, Llive/sg/bigo/sdk/network/g/b/q;->unmarshall(Ljava/nio/ByteBuffer;)V
:try_end_d4
.catch Lsg/bigo/svcapi/proto/InvalidProtocolData; {:try_start_d1 .. :try_end_d4} :catch_101
.line 112
iget-object v2, v3, Llive/sg/bigo/sdk/network/g/b/q;->c:[B
if-nez v2, :cond_da
const/4 v6, 0x0
goto :goto_dd
:cond_da
iget-object v0, v3, Llive/sg/bigo/sdk/network/g/b/q;->c:[B
array-length v6, v0
:goto_dd
add-int/lit8 v6, v6, 0xa
.line 113
invoke-static {v6}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 114
sget-object v2, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 115
invoke-virtual {v0, v6}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
.line 116
iget v2, v3, Llive/sg/bigo/sdk/network/g/b/q;->b:I
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
const/4 v2, 0x1
.line 117
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 118
iget-object v2, v3, Llive/sg/bigo/sdk/network/g/b/q;->c:[B
if-eqz v2, :cond_fd
.line 119
iget-object v2, v3, Llive/sg/bigo/sdk/network/g/b/q;->c:[B
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 121
:cond_fd
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
return-object v0
:catch_101
move-exception v0
move-object v3, v0
const-string v0, "unmarshal BCS_UdpRouter failed"
.line 108
invoke-static {v2, v0, v3}, Lsg/bigo/log/TraceLog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
const/4 v3, 0x0
return-object v3
:catch_10a
move-exception v0
move-object v4, v0
const-string v0, "unmarshal BCS_EncryptUdpRouter failed"
.line 94
invoke-static {v2, v0, v4}, Lsg/bigo/log/TraceLog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
return-object v3
.end method