public class org.bouncycastle.crypto.digests.MD4Digest extends org.bouncycastle.crypto.digests.GeneralDigest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.digests.MD4Digest
super_class: org.bouncycastle.crypto.digests.GeneralDigest
{
private static final int DIGEST_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private int H1;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H2;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H3;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H4;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] X;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int xOff;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int S11;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int S12;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final int S13;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final int S14;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 19
private static final int S21;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int S22;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int S23;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int S24;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 13
private static final int S31;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int S32;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int S33;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final int S34;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:()V
1: aload 0
bipush 16
newarray 10
putfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
2: aload 0
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.reset:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
public void <init>(org.bouncycastle.crypto.digests.MD4Digest);
descriptor: (Lorg/bouncycastle/crypto/digests/MD4Digest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:(Lorg/bouncycastle/crypto/digests/GeneralDigest;)V
1: aload 0
bipush 16
newarray 10
putfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
2: aload 0
aload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.copyIn:(Lorg/bouncycastle/crypto/digests/MD4Digest;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 4 1 t Lorg/bouncycastle/crypto/digests/MD4Digest;
MethodParameters:
Name Flags
t
private void copyIn(org.bouncycastle.crypto.digests.MD4Digest);
descriptor: (Lorg/bouncycastle/crypto/digests/MD4Digest;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.copyIn:(Lorg/bouncycastle/crypto/digests/GeneralDigest;)V
1: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.MD4Digest.H1:I
putfield org.bouncycastle.crypto.digests.MD4Digest.H1:I
2: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.MD4Digest.H2:I
putfield org.bouncycastle.crypto.digests.MD4Digest.H2:I
3: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.MD4Digest.H3:I
putfield org.bouncycastle.crypto.digests.MD4Digest.H3:I
4: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.MD4Digest.H4:I
putfield org.bouncycastle.crypto.digests.MD4Digest.H4:I
5: aload 1
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_0
aload 1
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
putfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 8 1 t Lorg/bouncycastle/crypto/digests/MD4Digest;
MethodParameters:
Name Flags
t
public java.lang.String getAlgorithmName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "MD4"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
public int getDigestSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 16
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
protected void processWord(byte[], int);
descriptor: ([BI)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
aload 0
dup
getfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
aload 1
iload 2
baload
sipush 255
iand
aload 1
iload 2
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
ior
1: aload 1
iload 2
iconst_2
iadd
baload
sipush 255
iand
bipush 16
ishl
ior
aload 1
iload 2
iconst_3
iadd
baload
sipush 255
iand
bipush 24
ishl
ior
2: iastore
3: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
bipush 16
if_icmpne 5
4: aload 0
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.processBlock:()V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 6 1 in [B
0 6 2 inOff I
MethodParameters:
Name Flags
in
inOff
protected void processLength(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
bipush 14
if_icmple 2
1: aload 0
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.processBlock:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 14
lload 1
ldc -1
land
l2i
iastore
3: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 15
lload 1
bipush 32
lushr
l2i
iastore
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 5 1 bitLength J
MethodParameters:
Name Flags
bitLength
private void unpackWord(int, byte[], int);
descriptor: (I[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 3
iload 1
i2b
bastore
1: aload 2
iload 3
iconst_1
iadd
iload 1
bipush 8
iushr
i2b
bastore
2: aload 2
iload 3
iconst_2
iadd
iload 1
bipush 16
iushr
i2b
bastore
3: aload 2
iload 3
iconst_3
iadd
iload 1
bipush 24
iushr
i2b
bastore
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 5 1 word I
0 5 2 out [B
0 5 3 outOff I
MethodParameters:
Name Flags
word
out
outOff
public int doFinal(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.finish:()V
1: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H1:I
aload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.unpackWord:(I[BI)V
2: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H2:I
aload 1
iload 2
iconst_4
iadd
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.unpackWord:(I[BI)V
3: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H3:I
aload 1
iload 2
bipush 8
iadd
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.unpackWord:(I[BI)V
4: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H4:I
aload 1
iload 2
bipush 12
iadd
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.unpackWord:(I[BI)V
5: aload 0
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.reset:()V
6: bipush 16
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 7 1 out [B
0 7 2 outOff I
MethodParameters:
Name Flags
out
outOff
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.reset:()V
1: aload 0
ldc 1732584193
putfield org.bouncycastle.crypto.digests.MD4Digest.H1:I
2: aload 0
ldc -271733879
putfield org.bouncycastle.crypto.digests.MD4Digest.H2:I
3: aload 0
ldc -1732584194
putfield org.bouncycastle.crypto.digests.MD4Digest.H3:I
4: aload 0
ldc 271733878
putfield org.bouncycastle.crypto.digests.MD4Digest.H4:I
5: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
6: iconst_0
istore 1
start local 1 7: goto 10
8: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iload 1
iconst_0
iastore
9: iinc 1 1
StackMap locals:
StackMap stack:
10: iload 1
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
arraylength
if_icmpne 8
end local 1 11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
7 11 1 i I
private int rotateLeft(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
ishl
iload 1
bipush 32
iload 2
isub
iushr
ior
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 1 1 x I
0 1 2 n I
MethodParameters:
Name Flags
x
n
private int F(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
iand
iload 1
iconst_m1
ixor
iload 3
iand
ior
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 1 1 u I
0 1 2 v I
0 1 3 w I
MethodParameters:
Name Flags
u
v
w
private int G(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
iand
iload 1
iload 3
iand
ior
iload 2
iload 3
iand
ior
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 1 1 u I
0 1 2 v I
0 1 3 w I
MethodParameters:
Name Flags
u
v
w
private int H(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
ixor
iload 3
ixor
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 1 1 u I
0 1 2 v I
0 1 3 w I
MethodParameters:
Name Flags
u
v
w
protected void processBlock();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H1:I
istore 1
start local 1 1: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H2:I
istore 2
start local 2 2: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H3:I
istore 3
start local 3 3: aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.H4:I
istore 4
start local 4 4: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_0
iaload
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
5: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_1
iaload
iadd
bipush 7
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
6: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_2
iaload
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
7: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_3
iaload
iadd
bipush 19
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
8: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_4
iaload
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
9: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_5
iaload
iadd
bipush 7
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
10: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 6
iaload
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
11: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 7
iaload
iadd
bipush 19
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
12: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 8
iaload
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
13: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 9
iaload
iadd
bipush 7
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
14: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 10
iaload
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
15: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 11
iaload
iadd
bipush 19
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
16: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 12
iaload
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
17: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 13
iaload
iadd
bipush 7
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
18: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 14
iaload
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
19: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.F:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 15
iaload
iadd
bipush 19
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
20: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_0
iaload
iadd
ldc 1518500249
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
21: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_4
iaload
iadd
ldc 1518500249
iadd
iconst_5
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
22: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 8
iaload
iadd
ldc 1518500249
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
23: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 12
iaload
iadd
ldc 1518500249
iadd
bipush 13
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
24: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_1
iaload
iadd
ldc 1518500249
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
25: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_5
iaload
iadd
ldc 1518500249
iadd
iconst_5
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
26: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 9
iaload
iadd
ldc 1518500249
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
27: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 13
iaload
iadd
ldc 1518500249
iadd
bipush 13
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
28: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_2
iaload
iadd
ldc 1518500249
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
29: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 6
iaload
iadd
ldc 1518500249
iadd
iconst_5
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
30: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 10
iaload
iadd
ldc 1518500249
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
31: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 14
iaload
iadd
ldc 1518500249
iadd
bipush 13
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
32: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_3
iaload
iadd
ldc 1518500249
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
33: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 7
iaload
iadd
ldc 1518500249
iadd
iconst_5
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
34: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 11
iaload
iadd
ldc 1518500249
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
35: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.G:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 15
iaload
iadd
ldc 1518500249
iadd
bipush 13
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
36: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_0
iaload
iadd
ldc 1859775393
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
37: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 8
iaload
iadd
ldc 1859775393
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
38: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_4
iaload
iadd
ldc 1859775393
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
39: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 12
iaload
iadd
ldc 1859775393
iadd
bipush 15
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
40: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_2
iaload
iadd
ldc 1859775393
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
41: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 10
iaload
iadd
ldc 1859775393
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
42: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 6
iaload
iadd
ldc 1859775393
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
43: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 14
iaload
iadd
ldc 1859775393
iadd
bipush 15
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
44: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_1
iaload
iadd
ldc 1859775393
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
45: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 9
iaload
iadd
ldc 1859775393
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
46: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_5
iaload
iadd
ldc 1859775393
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
47: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 13
iaload
iadd
ldc 1859775393
iadd
bipush 15
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
48: aload 0
iload 1
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iconst_3
iaload
iadd
ldc 1859775393
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 1
49: aload 0
iload 4
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 11
iaload
iadd
ldc 1859775393
iadd
bipush 9
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 4
50: aload 0
iload 3
aload 0
iload 4
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 7
iaload
iadd
ldc 1859775393
iadd
bipush 11
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 3
51: aload 0
iload 2
aload 0
iload 3
iload 4
iload 1
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.H:(III)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
bipush 15
iaload
iadd
ldc 1859775393
iadd
bipush 15
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.rotateLeft:(II)I
istore 2
52: aload 0
dup
getfield org.bouncycastle.crypto.digests.MD4Digest.H1:I
iload 1
iadd
putfield org.bouncycastle.crypto.digests.MD4Digest.H1:I
53: aload 0
dup
getfield org.bouncycastle.crypto.digests.MD4Digest.H2:I
iload 2
iadd
putfield org.bouncycastle.crypto.digests.MD4Digest.H2:I
54: aload 0
dup
getfield org.bouncycastle.crypto.digests.MD4Digest.H3:I
iload 3
iadd
putfield org.bouncycastle.crypto.digests.MD4Digest.H3:I
55: aload 0
dup
getfield org.bouncycastle.crypto.digests.MD4Digest.H4:I
iload 4
iadd
putfield org.bouncycastle.crypto.digests.MD4Digest.H4:I
56: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.MD4Digest.xOff:I
57: iconst_0
istore 5
start local 5 58: goto 61
59: StackMap locals: org.bouncycastle.crypto.digests.MD4Digest int int int int int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
iload 5
iconst_0
iastore
60: iinc 5 1
StackMap locals:
StackMap stack:
61: iload 5
aload 0
getfield org.bouncycastle.crypto.digests.MD4Digest.X:[I
arraylength
if_icmpne 59
end local 5 62: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
1 63 1 a I
2 63 2 b I
3 63 3 c I
4 63 4 d I
58 62 5 i I
public org.bouncycastle.util.Memoable copy();
descriptor: ()Lorg/bouncycastle/util/Memoable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.crypto.digests.MD4Digest
dup
aload 0
invokespecial org.bouncycastle.crypto.digests.MD4Digest.<init>:(Lorg/bouncycastle/crypto/digests/MD4Digest;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
public void reset(org.bouncycastle.util.Memoable);
descriptor: (Lorg/bouncycastle/util/Memoable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.bouncycastle.crypto.digests.MD4Digest
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.bouncycastle.crypto.digests.MD4Digest.copyIn:(Lorg/bouncycastle/crypto/digests/MD4Digest;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/crypto/digests/MD4Digest;
0 3 1 other Lorg/bouncycastle/util/Memoable;
1 3 2 d Lorg/bouncycastle/crypto/digests/MD4Digest;
MethodParameters:
Name Flags
other
}
SourceFile: "MD4Digest.java"