mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-18 14:07:30 +00:00
d83a3d71bc
Merge in RedPhone // FREEBIE
1665 lines
23 KiB
ArmAsm
1665 lines
23 KiB
ArmAsm
#ifdef OPENSSL_FIPSCANISTER
|
|
# include <openssl/fipssyms.h>
|
|
#endif
|
|
|
|
.text
|
|
|
|
.set noat
|
|
.set noreorder
|
|
.align 5
|
|
.globl sha1_block_data_order
|
|
.ent sha1_block_data_order
|
|
sha1_block_data_order:
|
|
.frame $29,16*4,$31
|
|
.mask 3237937152,-4
|
|
.set noreorder
|
|
sub $29,16*4
|
|
sw $31,(16-1)*4($29)
|
|
sw $30,(16-2)*4($29)
|
|
sw $23,(16-3)*4($29)
|
|
sw $22,(16-4)*4($29)
|
|
sw $21,(16-5)*4($29)
|
|
sw $20,(16-6)*4($29)
|
|
sw $19,(16-7)*4($29)
|
|
sw $18,(16-8)*4($29)
|
|
sw $17,(16-9)*4($29)
|
|
sw $16,(16-10)*4($29)
|
|
sll $6,6
|
|
add $6,$5
|
|
sw $6,0($29)
|
|
lw $1,0($4)
|
|
lw $2,4($4)
|
|
lw $3,8($4)
|
|
lw $7,12($4)
|
|
b .Loop
|
|
lw $24,16($4)
|
|
.align 4
|
|
.Loop:
|
|
.set reorder
|
|
lwl $8,3($5)
|
|
lui $31,0x5a82
|
|
lwr $8,0($5)
|
|
ori $31,0x7999 # K_00_19
|
|
srl $25,$8,24 # byte swap(0)
|
|
srl $6,$8,8
|
|
andi $30,$8,0xFF00
|
|
sll $8,$8,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $8,$25
|
|
or $6,$30
|
|
or $8,$6
|
|
lwl $9,1*4+3($5)
|
|
sll $25,$1,5 # 0
|
|
addu $24,$31
|
|
lwr $9,1*4+0($5)
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
sll $30,$2,30
|
|
and $25,$2
|
|
srl $2,$2,2
|
|
xor $25,$7
|
|
addu $24,$8
|
|
or $2,$30
|
|
addu $24,$25
|
|
srl $25,$9,24 # byte swap(1)
|
|
srl $6,$9,8
|
|
andi $30,$9,0xFF00
|
|
sll $9,$9,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $9,$25
|
|
or $6,$30
|
|
or $9,$6
|
|
lwl $10,2*4+3($5)
|
|
sll $25,$24,5 # 1
|
|
addu $7,$31
|
|
lwr $10,2*4+0($5)
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
sll $30,$1,30
|
|
and $25,$1
|
|
srl $1,$1,2
|
|
xor $25,$3
|
|
addu $7,$9
|
|
or $1,$30
|
|
addu $7,$25
|
|
srl $25,$10,24 # byte swap(2)
|
|
srl $6,$10,8
|
|
andi $30,$10,0xFF00
|
|
sll $10,$10,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $10,$25
|
|
or $6,$30
|
|
or $10,$6
|
|
lwl $11,3*4+3($5)
|
|
sll $25,$7,5 # 2
|
|
addu $3,$31
|
|
lwr $11,3*4+0($5)
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
sll $30,$24,30
|
|
and $25,$24
|
|
srl $24,$24,2
|
|
xor $25,$2
|
|
addu $3,$10
|
|
or $24,$30
|
|
addu $3,$25
|
|
srl $25,$11,24 # byte swap(3)
|
|
srl $6,$11,8
|
|
andi $30,$11,0xFF00
|
|
sll $11,$11,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $11,$25
|
|
or $6,$30
|
|
or $11,$6
|
|
lwl $12,4*4+3($5)
|
|
sll $25,$3,5 # 3
|
|
addu $2,$31
|
|
lwr $12,4*4+0($5)
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
sll $30,$7,30
|
|
and $25,$7
|
|
srl $7,$7,2
|
|
xor $25,$1
|
|
addu $2,$11
|
|
or $7,$30
|
|
addu $2,$25
|
|
srl $25,$12,24 # byte swap(4)
|
|
srl $6,$12,8
|
|
andi $30,$12,0xFF00
|
|
sll $12,$12,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $12,$25
|
|
or $6,$30
|
|
or $12,$6
|
|
lwl $13,5*4+3($5)
|
|
sll $25,$2,5 # 4
|
|
addu $1,$31
|
|
lwr $13,5*4+0($5)
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
sll $30,$3,30
|
|
and $25,$3
|
|
srl $3,$3,2
|
|
xor $25,$24
|
|
addu $1,$12
|
|
or $3,$30
|
|
addu $1,$25
|
|
srl $25,$13,24 # byte swap(5)
|
|
srl $6,$13,8
|
|
andi $30,$13,0xFF00
|
|
sll $13,$13,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $13,$25
|
|
or $6,$30
|
|
or $13,$6
|
|
lwl $14,6*4+3($5)
|
|
sll $25,$1,5 # 5
|
|
addu $24,$31
|
|
lwr $14,6*4+0($5)
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
sll $30,$2,30
|
|
and $25,$2
|
|
srl $2,$2,2
|
|
xor $25,$7
|
|
addu $24,$13
|
|
or $2,$30
|
|
addu $24,$25
|
|
srl $25,$14,24 # byte swap(6)
|
|
srl $6,$14,8
|
|
andi $30,$14,0xFF00
|
|
sll $14,$14,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $14,$25
|
|
or $6,$30
|
|
or $14,$6
|
|
lwl $15,7*4+3($5)
|
|
sll $25,$24,5 # 6
|
|
addu $7,$31
|
|
lwr $15,7*4+0($5)
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
sll $30,$1,30
|
|
and $25,$1
|
|
srl $1,$1,2
|
|
xor $25,$3
|
|
addu $7,$14
|
|
or $1,$30
|
|
addu $7,$25
|
|
srl $25,$15,24 # byte swap(7)
|
|
srl $6,$15,8
|
|
andi $30,$15,0xFF00
|
|
sll $15,$15,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $15,$25
|
|
or $6,$30
|
|
or $15,$6
|
|
lwl $16,8*4+3($5)
|
|
sll $25,$7,5 # 7
|
|
addu $3,$31
|
|
lwr $16,8*4+0($5)
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
sll $30,$24,30
|
|
and $25,$24
|
|
srl $24,$24,2
|
|
xor $25,$2
|
|
addu $3,$15
|
|
or $24,$30
|
|
addu $3,$25
|
|
srl $25,$16,24 # byte swap(8)
|
|
srl $6,$16,8
|
|
andi $30,$16,0xFF00
|
|
sll $16,$16,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $16,$25
|
|
or $6,$30
|
|
or $16,$6
|
|
lwl $17,9*4+3($5)
|
|
sll $25,$3,5 # 8
|
|
addu $2,$31
|
|
lwr $17,9*4+0($5)
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
sll $30,$7,30
|
|
and $25,$7
|
|
srl $7,$7,2
|
|
xor $25,$1
|
|
addu $2,$16
|
|
or $7,$30
|
|
addu $2,$25
|
|
srl $25,$17,24 # byte swap(9)
|
|
srl $6,$17,8
|
|
andi $30,$17,0xFF00
|
|
sll $17,$17,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $17,$25
|
|
or $6,$30
|
|
or $17,$6
|
|
lwl $18,10*4+3($5)
|
|
sll $25,$2,5 # 9
|
|
addu $1,$31
|
|
lwr $18,10*4+0($5)
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
sll $30,$3,30
|
|
and $25,$3
|
|
srl $3,$3,2
|
|
xor $25,$24
|
|
addu $1,$17
|
|
or $3,$30
|
|
addu $1,$25
|
|
srl $25,$18,24 # byte swap(10)
|
|
srl $6,$18,8
|
|
andi $30,$18,0xFF00
|
|
sll $18,$18,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $18,$25
|
|
or $6,$30
|
|
or $18,$6
|
|
lwl $19,11*4+3($5)
|
|
sll $25,$1,5 # 10
|
|
addu $24,$31
|
|
lwr $19,11*4+0($5)
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
sll $30,$2,30
|
|
and $25,$2
|
|
srl $2,$2,2
|
|
xor $25,$7
|
|
addu $24,$18
|
|
or $2,$30
|
|
addu $24,$25
|
|
srl $25,$19,24 # byte swap(11)
|
|
srl $6,$19,8
|
|
andi $30,$19,0xFF00
|
|
sll $19,$19,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $19,$25
|
|
or $6,$30
|
|
or $19,$6
|
|
lwl $20,12*4+3($5)
|
|
sll $25,$24,5 # 11
|
|
addu $7,$31
|
|
lwr $20,12*4+0($5)
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
sll $30,$1,30
|
|
and $25,$1
|
|
srl $1,$1,2
|
|
xor $25,$3
|
|
addu $7,$19
|
|
or $1,$30
|
|
addu $7,$25
|
|
srl $25,$20,24 # byte swap(12)
|
|
srl $6,$20,8
|
|
andi $30,$20,0xFF00
|
|
sll $20,$20,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $20,$25
|
|
or $6,$30
|
|
or $20,$6
|
|
lwl $21,13*4+3($5)
|
|
sll $25,$7,5 # 12
|
|
addu $3,$31
|
|
lwr $21,13*4+0($5)
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
sll $30,$24,30
|
|
and $25,$24
|
|
srl $24,$24,2
|
|
xor $25,$2
|
|
addu $3,$20
|
|
or $24,$30
|
|
addu $3,$25
|
|
srl $25,$21,24 # byte swap(13)
|
|
srl $6,$21,8
|
|
andi $30,$21,0xFF00
|
|
sll $21,$21,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $21,$25
|
|
or $6,$30
|
|
or $21,$6
|
|
lwl $22,14*4+3($5)
|
|
sll $25,$3,5 # 13
|
|
addu $2,$31
|
|
lwr $22,14*4+0($5)
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
sll $30,$7,30
|
|
and $25,$7
|
|
srl $7,$7,2
|
|
xor $25,$1
|
|
addu $2,$21
|
|
or $7,$30
|
|
addu $2,$25
|
|
srl $25,$22,24 # byte swap(14)
|
|
srl $6,$22,8
|
|
andi $30,$22,0xFF00
|
|
sll $22,$22,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $22,$25
|
|
or $6,$30
|
|
or $22,$6
|
|
lwl $23,15*4+3($5)
|
|
sll $25,$2,5 # 14
|
|
addu $1,$31
|
|
lwr $23,15*4+0($5)
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
sll $30,$3,30
|
|
and $25,$3
|
|
srl $3,$3,2
|
|
xor $25,$24
|
|
addu $1,$22
|
|
or $3,$30
|
|
addu $1,$25
|
|
srl $25,$23,24 # byte swap(15)
|
|
srl $6,$23,8
|
|
andi $30,$23,0xFF00
|
|
sll $23,$23,24
|
|
andi $6,0xFF00
|
|
sll $30,$30,8
|
|
or $23,$25
|
|
or $23,$6
|
|
or $23,$30
|
|
xor $8,$10
|
|
sll $25,$1,5 # 15
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $8,$16
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $8,$21
|
|
sll $30,$2,30
|
|
and $25,$2
|
|
srl $6,$8,31
|
|
addu $8,$8
|
|
srl $2,$2,2
|
|
xor $25,$7
|
|
or $8,$6
|
|
addu $24,$23
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $9,$11
|
|
sll $25,$24,5 # 16
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $9,$17
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $9,$22
|
|
sll $30,$1,30
|
|
and $25,$1
|
|
srl $6,$9,31
|
|
addu $9,$9
|
|
srl $1,$1,2
|
|
xor $25,$3
|
|
or $9,$6
|
|
addu $7,$8
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $10,$12
|
|
sll $25,$7,5 # 17
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $10,$18
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $10,$23
|
|
sll $30,$24,30
|
|
and $25,$24
|
|
srl $6,$10,31
|
|
addu $10,$10
|
|
srl $24,$24,2
|
|
xor $25,$2
|
|
or $10,$6
|
|
addu $3,$9
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $11,$13
|
|
sll $25,$3,5 # 18
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $11,$19
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $11,$8
|
|
sll $30,$7,30
|
|
and $25,$7
|
|
srl $6,$11,31
|
|
addu $11,$11
|
|
srl $7,$7,2
|
|
xor $25,$1
|
|
or $11,$6
|
|
addu $2,$10
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $12,$14
|
|
sll $25,$2,5 # 19
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $12,$20
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $12,$9
|
|
sll $30,$3,30
|
|
and $25,$3
|
|
srl $6,$12,31
|
|
addu $12,$12
|
|
srl $3,$3,2
|
|
xor $25,$24
|
|
or $12,$6
|
|
addu $1,$11
|
|
or $3,$30
|
|
addu $1,$25
|
|
lui $31,0x6ed9
|
|
ori $31,0xeba1 # K_20_39
|
|
xor $13,$15
|
|
sll $25,$1,5 # 20
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $13,$21
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $13,$10
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$13,31
|
|
addu $13,$13
|
|
srl $2,$2,2
|
|
addu $24,$12
|
|
or $13,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $14,$16
|
|
sll $25,$24,5 # 21
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $14,$22
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $14,$11
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$14,31
|
|
addu $14,$14
|
|
srl $1,$1,2
|
|
addu $7,$13
|
|
or $14,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $15,$17
|
|
sll $25,$7,5 # 22
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $15,$23
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $15,$12
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$15,31
|
|
addu $15,$15
|
|
srl $24,$24,2
|
|
addu $3,$14
|
|
or $15,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $16,$18
|
|
sll $25,$3,5 # 23
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $16,$8
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $16,$13
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$16,31
|
|
addu $16,$16
|
|
srl $7,$7,2
|
|
addu $2,$15
|
|
or $16,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $17,$19
|
|
sll $25,$2,5 # 24
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $17,$9
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $17,$14
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
srl $6,$17,31
|
|
addu $17,$17
|
|
srl $3,$3,2
|
|
addu $1,$16
|
|
or $17,$6
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $18,$20
|
|
sll $25,$1,5 # 25
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $18,$10
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $18,$15
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$18,31
|
|
addu $18,$18
|
|
srl $2,$2,2
|
|
addu $24,$17
|
|
or $18,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $19,$21
|
|
sll $25,$24,5 # 26
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $19,$11
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $19,$16
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$19,31
|
|
addu $19,$19
|
|
srl $1,$1,2
|
|
addu $7,$18
|
|
or $19,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $20,$22
|
|
sll $25,$7,5 # 27
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $20,$12
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $20,$17
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$20,31
|
|
addu $20,$20
|
|
srl $24,$24,2
|
|
addu $3,$19
|
|
or $20,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $21,$23
|
|
sll $25,$3,5 # 28
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $21,$13
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $21,$18
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$21,31
|
|
addu $21,$21
|
|
srl $7,$7,2
|
|
addu $2,$20
|
|
or $21,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $22,$8
|
|
sll $25,$2,5 # 29
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $22,$14
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $22,$19
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
srl $6,$22,31
|
|
addu $22,$22
|
|
srl $3,$3,2
|
|
addu $1,$21
|
|
or $22,$6
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $23,$9
|
|
sll $25,$1,5 # 30
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $23,$15
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $23,$20
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$23,31
|
|
addu $23,$23
|
|
srl $2,$2,2
|
|
addu $24,$22
|
|
or $23,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $8,$10
|
|
sll $25,$24,5 # 31
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $8,$16
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $8,$21
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$8,31
|
|
addu $8,$8
|
|
srl $1,$1,2
|
|
addu $7,$23
|
|
or $8,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $9,$11
|
|
sll $25,$7,5 # 32
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $9,$17
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $9,$22
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$9,31
|
|
addu $9,$9
|
|
srl $24,$24,2
|
|
addu $3,$8
|
|
or $9,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $10,$12
|
|
sll $25,$3,5 # 33
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $10,$18
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $10,$23
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$10,31
|
|
addu $10,$10
|
|
srl $7,$7,2
|
|
addu $2,$9
|
|
or $10,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $11,$13
|
|
sll $25,$2,5 # 34
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $11,$19
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $11,$8
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
srl $6,$11,31
|
|
addu $11,$11
|
|
srl $3,$3,2
|
|
addu $1,$10
|
|
or $11,$6
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $12,$14
|
|
sll $25,$1,5 # 35
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $12,$20
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $12,$9
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$12,31
|
|
addu $12,$12
|
|
srl $2,$2,2
|
|
addu $24,$11
|
|
or $12,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $13,$15
|
|
sll $25,$24,5 # 36
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $13,$21
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $13,$10
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$13,31
|
|
addu $13,$13
|
|
srl $1,$1,2
|
|
addu $7,$12
|
|
or $13,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $14,$16
|
|
sll $25,$7,5 # 37
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $14,$22
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $14,$11
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$14,31
|
|
addu $14,$14
|
|
srl $24,$24,2
|
|
addu $3,$13
|
|
or $14,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $15,$17
|
|
sll $25,$3,5 # 38
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $15,$23
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $15,$12
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$15,31
|
|
addu $15,$15
|
|
srl $7,$7,2
|
|
addu $2,$14
|
|
or $15,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $16,$18
|
|
sll $25,$2,5 # 39
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $16,$8
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $16,$13
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
srl $6,$16,31
|
|
addu $16,$16
|
|
srl $3,$3,2
|
|
addu $1,$15
|
|
or $16,$6
|
|
or $3,$30
|
|
addu $1,$25
|
|
lui $31,0x8f1b
|
|
ori $31,0xbcdc # K_40_59
|
|
xor $17,$19
|
|
sll $25,$1,5 # 40
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $17,$9
|
|
and $25,$3,$7
|
|
addu $24,$6
|
|
xor $17,$14
|
|
sll $30,$2,30
|
|
addu $24,$25
|
|
srl $6,$17,31
|
|
xor $25,$3,$7
|
|
addu $17,$17
|
|
and $25,$2
|
|
srl $2,$2,2
|
|
or $17,$6
|
|
addu $24,$16
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $18,$20
|
|
sll $25,$24,5 # 41
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $18,$10
|
|
and $25,$2,$3
|
|
addu $7,$6
|
|
xor $18,$15
|
|
sll $30,$1,30
|
|
addu $7,$25
|
|
srl $6,$18,31
|
|
xor $25,$2,$3
|
|
addu $18,$18
|
|
and $25,$1
|
|
srl $1,$1,2
|
|
or $18,$6
|
|
addu $7,$17
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $19,$21
|
|
sll $25,$7,5 # 42
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $19,$11
|
|
and $25,$1,$2
|
|
addu $3,$6
|
|
xor $19,$16
|
|
sll $30,$24,30
|
|
addu $3,$25
|
|
srl $6,$19,31
|
|
xor $25,$1,$2
|
|
addu $19,$19
|
|
and $25,$24
|
|
srl $24,$24,2
|
|
or $19,$6
|
|
addu $3,$18
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $20,$22
|
|
sll $25,$3,5 # 43
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $20,$12
|
|
and $25,$24,$1
|
|
addu $2,$6
|
|
xor $20,$17
|
|
sll $30,$7,30
|
|
addu $2,$25
|
|
srl $6,$20,31
|
|
xor $25,$24,$1
|
|
addu $20,$20
|
|
and $25,$7
|
|
srl $7,$7,2
|
|
or $20,$6
|
|
addu $2,$19
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $21,$23
|
|
sll $25,$2,5 # 44
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $21,$13
|
|
and $25,$7,$24
|
|
addu $1,$6
|
|
xor $21,$18
|
|
sll $30,$3,30
|
|
addu $1,$25
|
|
srl $6,$21,31
|
|
xor $25,$7,$24
|
|
addu $21,$21
|
|
and $25,$3
|
|
srl $3,$3,2
|
|
or $21,$6
|
|
addu $1,$20
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $22,$8
|
|
sll $25,$1,5 # 45
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $22,$14
|
|
and $25,$3,$7
|
|
addu $24,$6
|
|
xor $22,$19
|
|
sll $30,$2,30
|
|
addu $24,$25
|
|
srl $6,$22,31
|
|
xor $25,$3,$7
|
|
addu $22,$22
|
|
and $25,$2
|
|
srl $2,$2,2
|
|
or $22,$6
|
|
addu $24,$21
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $23,$9
|
|
sll $25,$24,5 # 46
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $23,$15
|
|
and $25,$2,$3
|
|
addu $7,$6
|
|
xor $23,$20
|
|
sll $30,$1,30
|
|
addu $7,$25
|
|
srl $6,$23,31
|
|
xor $25,$2,$3
|
|
addu $23,$23
|
|
and $25,$1
|
|
srl $1,$1,2
|
|
or $23,$6
|
|
addu $7,$22
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $8,$10
|
|
sll $25,$7,5 # 47
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $8,$16
|
|
and $25,$1,$2
|
|
addu $3,$6
|
|
xor $8,$21
|
|
sll $30,$24,30
|
|
addu $3,$25
|
|
srl $6,$8,31
|
|
xor $25,$1,$2
|
|
addu $8,$8
|
|
and $25,$24
|
|
srl $24,$24,2
|
|
or $8,$6
|
|
addu $3,$23
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $9,$11
|
|
sll $25,$3,5 # 48
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $9,$17
|
|
and $25,$24,$1
|
|
addu $2,$6
|
|
xor $9,$22
|
|
sll $30,$7,30
|
|
addu $2,$25
|
|
srl $6,$9,31
|
|
xor $25,$24,$1
|
|
addu $9,$9
|
|
and $25,$7
|
|
srl $7,$7,2
|
|
or $9,$6
|
|
addu $2,$8
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $10,$12
|
|
sll $25,$2,5 # 49
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $10,$18
|
|
and $25,$7,$24
|
|
addu $1,$6
|
|
xor $10,$23
|
|
sll $30,$3,30
|
|
addu $1,$25
|
|
srl $6,$10,31
|
|
xor $25,$7,$24
|
|
addu $10,$10
|
|
and $25,$3
|
|
srl $3,$3,2
|
|
or $10,$6
|
|
addu $1,$9
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $11,$13
|
|
sll $25,$1,5 # 50
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $11,$19
|
|
and $25,$3,$7
|
|
addu $24,$6
|
|
xor $11,$8
|
|
sll $30,$2,30
|
|
addu $24,$25
|
|
srl $6,$11,31
|
|
xor $25,$3,$7
|
|
addu $11,$11
|
|
and $25,$2
|
|
srl $2,$2,2
|
|
or $11,$6
|
|
addu $24,$10
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $12,$14
|
|
sll $25,$24,5 # 51
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $12,$20
|
|
and $25,$2,$3
|
|
addu $7,$6
|
|
xor $12,$9
|
|
sll $30,$1,30
|
|
addu $7,$25
|
|
srl $6,$12,31
|
|
xor $25,$2,$3
|
|
addu $12,$12
|
|
and $25,$1
|
|
srl $1,$1,2
|
|
or $12,$6
|
|
addu $7,$11
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $13,$15
|
|
sll $25,$7,5 # 52
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $13,$21
|
|
and $25,$1,$2
|
|
addu $3,$6
|
|
xor $13,$10
|
|
sll $30,$24,30
|
|
addu $3,$25
|
|
srl $6,$13,31
|
|
xor $25,$1,$2
|
|
addu $13,$13
|
|
and $25,$24
|
|
srl $24,$24,2
|
|
or $13,$6
|
|
addu $3,$12
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $14,$16
|
|
sll $25,$3,5 # 53
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $14,$22
|
|
and $25,$24,$1
|
|
addu $2,$6
|
|
xor $14,$11
|
|
sll $30,$7,30
|
|
addu $2,$25
|
|
srl $6,$14,31
|
|
xor $25,$24,$1
|
|
addu $14,$14
|
|
and $25,$7
|
|
srl $7,$7,2
|
|
or $14,$6
|
|
addu $2,$13
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $15,$17
|
|
sll $25,$2,5 # 54
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $15,$23
|
|
and $25,$7,$24
|
|
addu $1,$6
|
|
xor $15,$12
|
|
sll $30,$3,30
|
|
addu $1,$25
|
|
srl $6,$15,31
|
|
xor $25,$7,$24
|
|
addu $15,$15
|
|
and $25,$3
|
|
srl $3,$3,2
|
|
or $15,$6
|
|
addu $1,$14
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $16,$18
|
|
sll $25,$1,5 # 55
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $16,$8
|
|
and $25,$3,$7
|
|
addu $24,$6
|
|
xor $16,$13
|
|
sll $30,$2,30
|
|
addu $24,$25
|
|
srl $6,$16,31
|
|
xor $25,$3,$7
|
|
addu $16,$16
|
|
and $25,$2
|
|
srl $2,$2,2
|
|
or $16,$6
|
|
addu $24,$15
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $17,$19
|
|
sll $25,$24,5 # 56
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $17,$9
|
|
and $25,$2,$3
|
|
addu $7,$6
|
|
xor $17,$14
|
|
sll $30,$1,30
|
|
addu $7,$25
|
|
srl $6,$17,31
|
|
xor $25,$2,$3
|
|
addu $17,$17
|
|
and $25,$1
|
|
srl $1,$1,2
|
|
or $17,$6
|
|
addu $7,$16
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $18,$20
|
|
sll $25,$7,5 # 57
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $18,$10
|
|
and $25,$1,$2
|
|
addu $3,$6
|
|
xor $18,$15
|
|
sll $30,$24,30
|
|
addu $3,$25
|
|
srl $6,$18,31
|
|
xor $25,$1,$2
|
|
addu $18,$18
|
|
and $25,$24
|
|
srl $24,$24,2
|
|
or $18,$6
|
|
addu $3,$17
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $19,$21
|
|
sll $25,$3,5 # 58
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $19,$11
|
|
and $25,$24,$1
|
|
addu $2,$6
|
|
xor $19,$16
|
|
sll $30,$7,30
|
|
addu $2,$25
|
|
srl $6,$19,31
|
|
xor $25,$24,$1
|
|
addu $19,$19
|
|
and $25,$7
|
|
srl $7,$7,2
|
|
or $19,$6
|
|
addu $2,$18
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $20,$22
|
|
sll $25,$2,5 # 59
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $20,$12
|
|
and $25,$7,$24
|
|
addu $1,$6
|
|
xor $20,$17
|
|
sll $30,$3,30
|
|
addu $1,$25
|
|
srl $6,$20,31
|
|
xor $25,$7,$24
|
|
addu $20,$20
|
|
and $25,$3
|
|
srl $3,$3,2
|
|
or $20,$6
|
|
addu $1,$19
|
|
or $3,$30
|
|
addu $1,$25
|
|
lui $31,0xca62
|
|
ori $31,0xc1d6 # K_60_79
|
|
xor $21,$23
|
|
sll $25,$1,5 # 60
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $21,$13
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $21,$18
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$21,31
|
|
addu $21,$21
|
|
srl $2,$2,2
|
|
addu $24,$20
|
|
or $21,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $22,$8
|
|
sll $25,$24,5 # 61
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $22,$14
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $22,$19
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$22,31
|
|
addu $22,$22
|
|
srl $1,$1,2
|
|
addu $7,$21
|
|
or $22,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $23,$9
|
|
sll $25,$7,5 # 62
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $23,$15
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $23,$20
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$23,31
|
|
addu $23,$23
|
|
srl $24,$24,2
|
|
addu $3,$22
|
|
or $23,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $8,$10
|
|
sll $25,$3,5 # 63
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $8,$16
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $8,$21
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$8,31
|
|
addu $8,$8
|
|
srl $7,$7,2
|
|
addu $2,$23
|
|
or $8,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $9,$11
|
|
sll $25,$2,5 # 64
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $9,$17
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $9,$22
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
srl $6,$9,31
|
|
addu $9,$9
|
|
srl $3,$3,2
|
|
addu $1,$8
|
|
or $9,$6
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $10,$12
|
|
sll $25,$1,5 # 65
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $10,$18
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $10,$23
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$10,31
|
|
addu $10,$10
|
|
srl $2,$2,2
|
|
addu $24,$9
|
|
or $10,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $11,$13
|
|
sll $25,$24,5 # 66
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $11,$19
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $11,$8
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$11,31
|
|
addu $11,$11
|
|
srl $1,$1,2
|
|
addu $7,$10
|
|
or $11,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $12,$14
|
|
sll $25,$7,5 # 67
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $12,$20
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $12,$9
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$12,31
|
|
addu $12,$12
|
|
srl $24,$24,2
|
|
addu $3,$11
|
|
or $12,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $13,$15
|
|
sll $25,$3,5 # 68
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $13,$21
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $13,$10
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$13,31
|
|
addu $13,$13
|
|
srl $7,$7,2
|
|
addu $2,$12
|
|
or $13,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $14,$16
|
|
sll $25,$2,5 # 69
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $14,$22
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $14,$11
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
srl $6,$14,31
|
|
addu $14,$14
|
|
srl $3,$3,2
|
|
addu $1,$13
|
|
or $14,$6
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $15,$17
|
|
sll $25,$1,5 # 70
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $15,$23
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $15,$12
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$15,31
|
|
addu $15,$15
|
|
srl $2,$2,2
|
|
addu $24,$14
|
|
or $15,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $16,$18
|
|
sll $25,$24,5 # 71
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $16,$8
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $16,$13
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$16,31
|
|
addu $16,$16
|
|
srl $1,$1,2
|
|
addu $7,$15
|
|
or $16,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $17,$19
|
|
sll $25,$7,5 # 72
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $17,$9
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $17,$14
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$17,31
|
|
addu $17,$17
|
|
srl $24,$24,2
|
|
addu $3,$16
|
|
or $17,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $18,$20
|
|
sll $25,$3,5 # 73
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $18,$10
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $18,$15
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$18,31
|
|
addu $18,$18
|
|
srl $7,$7,2
|
|
addu $2,$17
|
|
or $18,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
xor $19,$21
|
|
sll $25,$2,5 # 74
|
|
addu $1,$31
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
xor $19,$11
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
xor $19,$16
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
srl $6,$19,31
|
|
addu $19,$19
|
|
srl $3,$3,2
|
|
addu $1,$18
|
|
or $19,$6
|
|
or $3,$30
|
|
addu $1,$25
|
|
xor $20,$22
|
|
sll $25,$1,5 # 75
|
|
addu $24,$31
|
|
srl $6,$1,27
|
|
addu $24,$25
|
|
xor $20,$12
|
|
xor $25,$3,$7
|
|
addu $24,$6
|
|
xor $20,$17
|
|
sll $30,$2,30
|
|
xor $25,$2
|
|
srl $6,$20,31
|
|
addu $20,$20
|
|
srl $2,$2,2
|
|
addu $24,$19
|
|
or $20,$6
|
|
or $2,$30
|
|
addu $24,$25
|
|
xor $21,$23
|
|
sll $25,$24,5 # 76
|
|
addu $7,$31
|
|
srl $6,$24,27
|
|
addu $7,$25
|
|
xor $21,$13
|
|
xor $25,$2,$3
|
|
addu $7,$6
|
|
xor $21,$18
|
|
sll $30,$1,30
|
|
xor $25,$1
|
|
srl $6,$21,31
|
|
addu $21,$21
|
|
srl $1,$1,2
|
|
addu $7,$20
|
|
or $21,$6
|
|
or $1,$30
|
|
addu $7,$25
|
|
xor $22,$8
|
|
sll $25,$7,5 # 77
|
|
addu $3,$31
|
|
srl $6,$7,27
|
|
addu $3,$25
|
|
xor $22,$14
|
|
xor $25,$1,$2
|
|
addu $3,$6
|
|
xor $22,$19
|
|
sll $30,$24,30
|
|
xor $25,$24
|
|
srl $6,$22,31
|
|
addu $22,$22
|
|
srl $24,$24,2
|
|
addu $3,$21
|
|
or $22,$6
|
|
or $24,$30
|
|
addu $3,$25
|
|
xor $23,$9
|
|
sll $25,$3,5 # 78
|
|
addu $2,$31
|
|
srl $6,$3,27
|
|
addu $2,$25
|
|
xor $23,$15
|
|
xor $25,$24,$1
|
|
addu $2,$6
|
|
xor $23,$20
|
|
sll $30,$7,30
|
|
xor $25,$7
|
|
srl $6,$23,31
|
|
addu $23,$23
|
|
srl $7,$7,2
|
|
addu $2,$22
|
|
or $23,$6
|
|
or $7,$30
|
|
addu $2,$25
|
|
lw $8,0($4)
|
|
sll $25,$2,5 # 79
|
|
addu $1,$31
|
|
lw $9,4($4)
|
|
srl $6,$2,27
|
|
addu $1,$25
|
|
lw $10,8($4)
|
|
xor $25,$7,$24
|
|
addu $1,$6
|
|
lw $11,12($4)
|
|
sll $30,$3,30
|
|
xor $25,$3
|
|
lw $12,16($4)
|
|
srl $3,$3,2
|
|
addu $1,$23
|
|
or $3,$30
|
|
addu $1,$25
|
|
add $5,64
|
|
lw $6,0($29)
|
|
|
|
addu $1,$8
|
|
addu $2,$9
|
|
sw $1,0($4)
|
|
addu $3,$10
|
|
addu $7,$11
|
|
sw $2,4($4)
|
|
addu $24,$12
|
|
sw $3,8($4)
|
|
sw $7,12($4)
|
|
sw $24,16($4)
|
|
.set noreorder
|
|
bne $5,$6,.Loop
|
|
nop
|
|
|
|
.set noreorder
|
|
lw $31,(16-1)*4($29)
|
|
lw $30,(16-2)*4($29)
|
|
lw $23,(16-3)*4($29)
|
|
lw $22,(16-4)*4($29)
|
|
lw $21,(16-5)*4($29)
|
|
lw $20,(16-6)*4($29)
|
|
lw $19,(16-7)*4($29)
|
|
lw $18,(16-8)*4($29)
|
|
lw $17,(16-9)*4($29)
|
|
lw $16,(16-10)*4($29)
|
|
jr $31
|
|
add $29,16*4
|
|
.end sha1_block_data_order
|
|
.rdata
|
|
.asciiz "SHA1 for MIPS, CRYPTOGAMS by <appro@openssl.org>"
|