summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/96C/wapiCrypto.S
diff options
context:
space:
mode:
authorRoman Yeryomin <roman@advem.lv>2012-09-13 00:40:35 +0300
committerRoman Yeryomin <roman@advem.lv>2012-12-03 00:13:21 +0200
commit5deb3317cb51ac52de922bb55f8492624018906d (patch)
treec2fbe6346699d9bb0f2100490c3029519bb8fde8 /target/linux/realtek/files/drivers/net/wireless/rtl8192cd/96C/wapiCrypto.S
parent0239d37124f9184b478a42de8a7fa1bc85a6a6fe (diff)
Add realtek target files
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'target/linux/realtek/files/drivers/net/wireless/rtl8192cd/96C/wapiCrypto.S')
-rw-r--r--target/linux/realtek/files/drivers/net/wireless/rtl8192cd/96C/wapiCrypto.S7065
1 files changed, 7065 insertions, 0 deletions
diff --git a/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/96C/wapiCrypto.S b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/96C/wapiCrypto.S
new file mode 100644
index 000000000..eab21aae6
--- /dev/null
+++ b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/96C/wapiCrypto.S
@@ -0,0 +1,7065 @@
+ .file 1 "wapiCrypto.c"
+ .section .mdebug.abi32
+ .previous
+#APP
+ .macro _ssnop; sll $0, $0, 1; .endm
+ .macro _ehb; sll $0, $0, 3; .endm
+ .macro mtc0_tlbw_hazard; nop; nop; .endm
+ .macro tlbw_use_hazard; nop; nop; nop; .endm
+ .macro tlb_probe_hazard; nop; nop; nop; .endm
+ .macro irq_enable_hazard; _ssnop; _ssnop; _ssnop;; .endm
+ .macro irq_disable_hazard; nop; nop; nop; .endm
+ .macro back_to_back_c0_hazard; _ssnop; _ssnop; _ssnop;; .endm
+ .macro raw_local_irq_enable
+ .set push
+ .set reorder
+ .set noat
+ mfc0 $1,$12
+ ori $1,0x1f
+ xori $1,0x1e
+ mtc0 $1,$12
+ irq_enable_hazard
+ .set pop
+ .endm
+ .macro raw_local_irq_disable
+ .set push
+ .set noat
+ mfc0 $1,$12
+ ori $1,0x1f
+ xori $1,0x1f
+ .set noreorder
+ mtc0 $1,$12
+ irq_disable_hazard
+ .set pop
+ .endm
+
+ .macro raw_local_save_flags flags
+ .set push
+ .set reorder
+ mfc0 \flags, $12
+ .set pop
+ .endm
+
+ .macro raw_local_irq_save result
+ .set push
+ .set reorder
+ .set noat
+ mfc0 \result, $12
+ ori $1, \result, 0x1f
+ xori $1, 0x1f
+ .set noreorder
+ mtc0 $1, $12
+ irq_disable_hazard
+ .set pop
+ .endm
+
+ .macro raw_local_irq_restore flags
+ .set push
+ .set noreorder
+ .set noat
+ mfc0 $1, $12
+ andi \flags, 1
+ ori $1, 0x1f
+ xori $1, 0x1f
+ or \flags, $1
+ mtc0 \flags, $12
+ irq_disable_hazard
+ .set pop
+ .endm
+
+#NO_APP
+ .data
+ .align 2
+ .type mti, @object
+ .size mti, 4
+mti:
+ .word 625
+ .rdata
+ .align 2
+ .type sha2_padding, @object
+ .size sha2_padding, 64
+sha2_padding:
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .text.sha2_starts,"ax",@progbits
+ .align 2
+ .globl sha2_starts
+ .ent sha2_starts
+ .type sha2_starts, @function
+sha2_starts:
+ .set nomips16
+ .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ sw $0,0($4)
+ bne $5,$0,$L2
+ sw $0,4($4)
+
+ li $2,1778974720 # 0x6a090000
+ ori $2,$2,0xe667
+ sw $2,8($4)
+ li $2,-1150877696 # 0xffffffffbb670000
+ ori $2,$2,0xae85
+ sw $2,12($4)
+ li $2,1013841920 # 0x3c6e0000
+ ori $2,$2,0xf372
+ sw $2,16($4)
+ li $2,-1521549312 # 0xffffffffa54f0000
+ ori $2,$2,0xf53a
+ sw $2,20($4)
+ li $2,1359872000 # 0x510e0000
+ ori $2,$2,0x527f
+ sw $2,24($4)
+ li $2,-1694171136 # 0xffffffff9b050000
+ ori $2,$2,0x688c
+ sw $2,28($4)
+ li $2,528678912 # 0x1f830000
+ ori $2,$2,0xd9ab
+ sw $2,32($4)
+ li $2,1541406720 # 0x5be00000
+ j $L4
+ ori $2,$2,0xcd19
+
+$L2:
+ li $2,-1056636928 # 0xffffffffc1050000
+ ori $2,$2,0x9ed8
+ sw $2,8($4)
+ li $2,914096128 # 0x367c0000
+ ori $2,$2,0xd507
+ sw $2,12($4)
+ li $2,812646400 # 0x30700000
+ ori $2,$2,0xdd17
+ sw $2,16($4)
+ li $2,-150077440 # 0xfffffffff70e0000
+ ori $2,$2,0x5939
+ sw $2,20($4)
+ li $2,-4194304 # 0xffffffffffc00000
+ ori $2,$2,0xb31
+ sw $2,24($4)
+ li $2,1750597632 # 0x68580000
+ ori $2,$2,0x1511
+ sw $2,28($4)
+ li $2,1694040064 # 0x64f90000
+ ori $2,$2,0x8fa7
+ sw $2,32($4)
+ li $2,-1090912256 # 0xffffffffbefa0000
+ ori $2,$2,0x4fa4
+$L4:
+ sw $2,36($4)
+ j $31
+ sw $5,232($4)
+
+ .set macro
+ .set reorder
+ .end sha2_starts
+ .section .text.sha2_process,"ax",@progbits
+ .align 2
+ .ent sha2_process
+ .type sha2_process, @function
+sha2_process:
+ .set nomips16
+ .frame $sp,616,$31 # vars= 576, regs= 9/0, args= 0, gp= 0
+ .mask 0x40ff0000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-616
+ sw $fp,608($sp)
+ sw $22,600($sp)
+ sw $23,604($sp)
+ sw $21,596($sp)
+ sw $20,592($sp)
+ sw $19,588($sp)
+ sw $18,584($sp)
+ sw $17,580($sp)
+ sw $16,576($sp)
+ lbu $23,24($5)
+ lbu $21,20($5)
+ lbu $16,8($5)
+ sll $23,$23,24
+ lbu $9,9($5)
+ lbu $17,12($5)
+ lbu $8,13($5)
+ lbu $20,16($5)
+ lbu $7,17($5)
+ lbu $6,21($5)
+ lbu $3,25($5)
+ lbu $24,28($5)
+ lbu $2,29($5)
+ lbu $10,10($5)
+ lbu $11,14($5)
+ lbu $12,18($5)
+ lbu $13,22($5)
+ lbu $14,26($5)
+ lbu $15,30($5)
+ sw $23,332($sp)
+ lw $25,332($sp)
+ sll $16,$16,24
+ sll $17,$17,24
+ sll $20,$20,24
+ sll $24,$24,24
+ sll $3,$3,16
+ sw $16,292($sp)
+ sw $17,300($sp)
+ sw $20,312($sp)
+ sw $24,348($sp)
+ or $3,$25,$3
+ lbu $16,11($5)
+ lbu $17,15($5)
+ lbu $18,19($5)
+ lbu $19,23($5)
+ lbu $20,27($5)
+ lw $22,292($sp)
+ lw $23,300($sp)
+ lw $24,312($sp)
+ sll $fp,$21,24
+ lbu $21,31($5)
+ sw $3,336($sp)
+ lw $3,348($sp)
+ sll $2,$2,16
+ sll $9,$9,16
+ or $2,$3,$2
+ sw $2,352($sp)
+ or $9,$22,$9
+ sll $10,$10,8
+ or $2,$9,$10
+ lw $9,336($sp)
+ lw $10,352($sp)
+ sll $6,$6,16
+ sll $8,$8,16
+ sll $7,$7,16
+ or $8,$23,$8
+ or $7,$24,$7
+ or $fp,$fp,$6
+ sll $11,$11,8
+ sll $12,$12,8
+ sll $13,$13,8
+ sll $14,$14,8
+ sll $15,$15,8
+ or $3,$8,$11
+ or $6,$7,$12
+ or $8,$9,$14
+ or $7,$fp,$13
+ or $9,$10,$15
+ or $2,$2,$16
+ or $3,$3,$17
+ or $6,$6,$18
+ or $7,$7,$19
+ or $8,$8,$20
+ or $9,$9,$21
+ sw $2,296($sp)
+ sw $3,308($sp)
+ sw $6,320($sp)
+ sw $7,328($sp)
+ sw $8,344($sp)
+ sw $9,360($sp)
+ sw $2,8($sp)
+ sw $3,12($sp)
+ sw $6,16($sp)
+ sw $7,20($sp)
+ sw $8,24($sp)
+ lbu $11,0($5)
+ nop
+ sw $11,256($sp)
+ lbu $13,1($5)
+ nop
+ sw $13,260($sp)
+ lbu $14,2($5)
+ nop
+ sw $14,264($sp)
+ lbu $15,3($5)
+ nop
+ sw $15,268($sp)
+ lbu $16,4($5)
+ nop
+ sw $16,276($sp)
+ lbu $17,5($5)
+ nop
+ sw $17,280($sp)
+ lbu $18,6($5)
+ nop
+ sw $18,284($sp)
+ lbu $19,7($5)
+ sw $9,28($sp)
+ sw $19,288($sp)
+ lbu $21,32($5)
+ lbu $20,40($5)
+ lbu $22,44($5)
+ lbu $24,52($5)
+ lbu $25,56($5)
+ lbu $fp,36($5)
+ lbu $17,58($5)
+ sll $21,$21,24
+ lbu $23,48($5)
+ lbu $10,33($5)
+ lbu $9,37($5)
+ lbu $8,41($5)
+ lbu $7,45($5)
+ lbu $6,49($5)
+ lbu $3,53($5)
+ lbu $2,57($5)
+ lbu $11,34($5)
+ lbu $12,38($5)
+ lbu $13,42($5)
+ lbu $14,46($5)
+ lbu $15,50($5)
+ lbu $16,54($5)
+ sll $18,$20,24
+ sw $17,448($sp)
+ sll $19,$22,24
+ sw $21,364($sp)
+ sll $20,$24,24
+ sll $21,$25,24
+ sll $fp,$fp,24
+ sw $fp,372($sp)
+ sw $20,420($sp)
+ sw $21,440($sp)
+ sw $18,384($sp)
+ sw $19,400($sp)
+ lbu $22,35($5)
+ sll $fp,$23,24
+ lw $20,364($sp)
+ sw $22,368($sp)
+ lbu $23,39($5)
+ lw $22,384($sp)
+ sll $3,$3,16
+ sw $23,376($sp)
+ lbu $24,43($5)
+ sll $2,$2,16
+ sll $10,$10,16
+ sw $24,388($sp)
+ lbu $25,47($5)
+ lw $24,420($sp)
+ sll $8,$8,16
+ sw $25,404($sp)
+ lbu $17,51($5)
+ lw $25,440($sp)
+ or $3,$24,$3
+ sw $17,412($sp)
+ lbu $18,55($5)
+ or $2,$25,$2
+ lw $21,372($sp)
+ sw $18,428($sp)
+ lbu $19,59($5)
+ or $8,$22,$8
+ sw $3,424($sp)
+ sw $2,444($sp)
+ sll $6,$6,16
+ lw $2,448($sp)
+ or $10,$20,$10
+ sll $11,$11,8
+ sll $13,$13,8
+ lw $23,400($sp)
+ or $fp,$fp,$6
+ or $10,$10,$11
+ or $3,$8,$13
+ lw $11,424($sp)
+ lw $13,444($sp)
+ sll $15,$15,8
+ or $8,$fp,$15
+ lw $20,428($sp)
+ lw $15,388($sp)
+ sll $9,$9,16
+ lw $18,404($sp)
+ or $9,$21,$9
+ sll $12,$12,8
+ sll $16,$16,8
+ sll $6,$2,8
+ sll $7,$7,16
+ or $2,$9,$12
+ or $7,$23,$7
+ or $9,$11,$16
+ sll $14,$14,8
+ or $6,$13,$6
+ or $13,$6,$19
+ or $3,$3,$15
+ lw $19,412($sp)
+ or $9,$9,$20
+ or $7,$7,$14
+ lw $14,376($sp)
+ or $12,$7,$18
+ lw $17,368($sp)
+ sw $3,392($sp)
+ sw $9,432($sp)
+ lw $18,24($4)
+ or $16,$2,$14
+ lw $20,28($4)
+ or $14,$8,$19
+ lw $22,256($sp)
+ lw $19,32($4)
+ lw $23,260($sp)
+ sw $3,40($sp)
+ lw $24,264($sp)
+ srl $7,$18,6
+ srl $6,$18,11
+ sll $3,$18,26
+ sll $2,$18,21
+ or $2,$2,$6
+ lw $21,36($4)
+ or $3,$3,$7
+ sll $6,$18,7
+ srl $7,$18,25
+ lw $25,268($sp)
+ or $6,$6,$7
+ sll $8,$22,24
+ xor $3,$3,$2
+ sll $7,$23,16
+ xor $2,$20,$19
+ or $7,$8,$7
+ xor $3,$3,$6
+ and $2,$18,$2
+ sll $15,$24,8
+ xor $2,$19,$2
+ addu $3,$21,$3
+ or $15,$7,$15
+ or $15,$15,$25
+ addu $3,$3,$2
+ lw $24,20($4)
+ li $2,1116340224 # 0x428a0000
+ addu $3,$3,$15
+ ori $2,$2,0x2f98
+ or $11,$10,$17
+ addu $17,$3,$2
+ addu $24,$24,$17
+ srl $7,$24,6
+ srl $3,$24,11
+ sll $6,$24,26
+ sll $2,$24,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$24,25
+ sll $7,$24,7
+ lw $22,8($4)
+ or $7,$7,$3
+ xor $6,$6,$2
+ lw $3,280($sp)
+ lw $2,276($sp)
+ lw $23,12($4)
+ xor $6,$6,$7
+ lw $7,284($sp)
+ sw $15,272($sp)
+ sw $9,52($sp)
+ lw $25,16($4)
+ sll $21,$2,24
+ sll $15,$3,16
+ srl $8,$22,2
+ srl $2,$22,13
+ sll $3,$22,30
+ sll $9,$22,19
+ or $9,$9,$2
+ or $3,$3,$8
+ or $fp,$21,$15
+ xor $10,$18,$20
+ or $8,$22,$23
+ srl $2,$22,22
+ sll $21,$7,8
+ xor $3,$3,$9
+ sll $7,$22,10
+ lw $9,288($sp)
+ or $7,$7,$2
+ and $8,$25,$8
+ and $2,$22,$23
+ and $10,$24,$10
+ or $21,$fp,$21
+ xor $10,$20,$10
+ xor $3,$3,$7
+ or $2,$2,$8
+ addu $6,$19,$6
+ or $15,$21,$9
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,1899429888 # 0x71370000
+ addu $6,$6,$15
+ ori $2,$2,0x4491
+ addu $21,$17,$fp
+ addu $17,$6,$2
+ addu $25,$25,$17
+ srl $7,$25,6
+ srl $3,$25,11
+ sll $6,$25,26
+ sll $2,$25,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$25,25
+ sll $7,$25,7
+ or $7,$7,$3
+ xor $10,$24,$18
+ xor $6,$6,$2
+ srl $9,$21,2
+ srl $2,$21,13
+ sll $3,$21,30
+ sll $8,$21,19
+ xor $6,$6,$7
+ and $10,$25,$10
+ or $8,$8,$2
+ xor $10,$18,$10
+ srl $2,$21,22
+ or $3,$3,$9
+ sll $7,$21,10
+ or $9,$21,$22
+ addu $6,$20,$6
+ or $7,$7,$2
+ and $9,$23,$9
+ and $2,$21,$22
+ xor $3,$3,$8
+ addu $6,$6,$10
+ lw $10,296($sp)
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $fp,$3,$2
+ li $2,-1245708288 # 0xffffffffb5c00000
+ addu $6,$6,$10
+ ori $2,$2,0xfbcf
+ addu $19,$17,$fp
+ addu $17,$6,$2
+ addu $23,$23,$17
+ srl $7,$23,6
+ srl $3,$23,11
+ sll $6,$23,26
+ sll $2,$23,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$23,25
+ sll $7,$23,7
+ or $7,$7,$3
+ srl $9,$19,2
+ xor $6,$6,$2
+ sll $3,$19,30
+ srl $2,$19,13
+ sll $8,$19,19
+ xor $10,$25,$24
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$19,22
+ or $9,$19,$21
+ xor $6,$6,$7
+ sll $7,$19,10
+ or $7,$7,$2
+ and $9,$22,$9
+ and $2,$19,$21
+ and $10,$23,$10
+ addu $6,$18,$6
+ xor $3,$3,$8
+ lw $18,308($sp)
+ xor $10,$24,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,-374013952 # 0xffffffffe9b50000
+ addu $6,$6,$18
+ ori $2,$2,0xdba5
+ addu $20,$17,$fp
+ addu $17,$6,$2
+ addu $22,$22,$17
+ srl $7,$22,6
+ srl $3,$22,11
+ sll $6,$22,26
+ sll $2,$22,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$22,25
+ sll $7,$22,7
+ or $7,$7,$3
+ srl $9,$20,2
+ xor $6,$6,$2
+ sll $3,$20,30
+ srl $2,$20,13
+ sll $8,$20,19
+ xor $10,$23,$25
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$20,22
+ or $9,$20,$19
+ xor $6,$6,$7
+ sll $7,$20,10
+ or $7,$7,$2
+ and $9,$21,$9
+ and $2,$20,$19
+ and $10,$22,$10
+ addu $6,$24,$6
+ xor $3,$3,$8
+ lw $24,320($sp)
+ xor $10,$25,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,961937408 # 0x39560000
+ addu $6,$6,$24
+ ori $2,$2,0xc25b
+ addu $18,$17,$fp
+ addu $17,$6,$2
+ addu $21,$21,$17
+ srl $7,$21,6
+ srl $3,$21,11
+ sll $6,$21,26
+ sll $2,$21,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$21,25
+ sll $7,$21,7
+ or $7,$7,$3
+ srl $9,$18,2
+ xor $6,$6,$2
+ sll $3,$18,30
+ srl $2,$18,13
+ sll $8,$18,19
+ xor $10,$22,$23
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$18,22
+ or $9,$18,$20
+ xor $6,$6,$7
+ sll $7,$18,10
+ or $7,$7,$2
+ and $9,$19,$9
+ and $2,$18,$20
+ and $10,$21,$10
+ addu $6,$25,$6
+ xor $3,$3,$8
+ lw $25,328($sp)
+ xor $10,$23,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,1508966400 # 0x59f10000
+ addu $6,$6,$25
+ ori $2,$2,0x11f1
+ addu $24,$17,$fp
+ addu $17,$6,$2
+ addu $19,$19,$17
+ srl $7,$19,6
+ srl $3,$19,11
+ sll $6,$19,26
+ sll $2,$19,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$19,25
+ sll $7,$19,7
+ or $7,$7,$3
+ srl $9,$24,2
+ xor $6,$6,$2
+ sll $3,$24,30
+ srl $2,$24,13
+ sll $8,$24,19
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$24,22
+ or $9,$24,$18
+ xor $6,$6,$7
+ sll $7,$24,10
+ or $7,$7,$2
+ and $9,$20,$9
+ and $2,$24,$18
+ xor $3,$3,$8
+ xor $10,$21,$22
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $fp,$3,$2
+ and $10,$19,$10
+ lw $2,344($sp)
+ xor $10,$22,$10
+ addu $6,$23,$6
+ addu $6,$6,$10
+ addu $6,$6,$2
+ li $2,-1841364992 # 0xffffffff923f0000
+ ori $2,$2,0x82a4
+ addu $25,$17,$fp
+ addu $17,$6,$2
+ addu $20,$20,$17
+ srl $7,$20,6
+ srl $3,$20,11
+ sll $6,$20,26
+ sll $2,$20,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$20,25
+ sll $7,$20,7
+ or $7,$7,$3
+ srl $9,$25,2
+ xor $6,$6,$2
+ sll $3,$25,30
+ srl $2,$25,13
+ sll $8,$25,19
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$25,22
+ or $9,$25,$24
+ xor $6,$6,$7
+ sll $7,$25,10
+ or $7,$7,$2
+ and $9,$18,$9
+ and $2,$25,$24
+ xor $3,$3,$8
+ xor $10,$19,$21
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $fp,$3,$2
+ and $10,$20,$10
+ lw $3,360($sp)
+ xor $10,$21,$10
+ addu $6,$22,$6
+ addu $6,$6,$10
+ li $2,-1424228352 # 0xffffffffab1c0000
+ addu $6,$6,$3
+ ori $2,$2,0x5ed5
+ addu $23,$17,$fp
+ addu $17,$6,$2
+ addu $18,$18,$17
+ srl $7,$18,6
+ srl $3,$18,11
+ sll $6,$18,26
+ sll $2,$18,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$18,25
+ sll $7,$18,7
+ or $7,$7,$3
+ srl $9,$23,2
+ xor $6,$6,$2
+ sll $3,$23,30
+ srl $2,$23,13
+ sll $8,$23,19
+ xor $10,$20,$19
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$23,22
+ or $9,$23,$25
+ xor $6,$6,$7
+ sll $7,$23,10
+ or $7,$7,$2
+ and $9,$24,$9
+ and $2,$23,$25
+ and $10,$18,$10
+ xor $3,$3,$8
+ xor $10,$19,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $6,$21,$6
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,-670629888 # 0xffffffffd8070000
+ addu $6,$6,$11
+ ori $2,$2,0xaa98
+ addu $22,$17,$fp
+ addu $17,$6,$2
+ addu $24,$24,$17
+ srl $7,$24,6
+ srl $3,$24,11
+ sll $6,$24,26
+ sll $2,$24,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$24,25
+ sll $7,$24,7
+ or $7,$7,$3
+ srl $9,$22,2
+ xor $6,$6,$2
+ sll $3,$22,30
+ srl $2,$22,13
+ sll $8,$22,19
+ xor $10,$18,$20
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$22,22
+ or $9,$22,$23
+ xor $6,$6,$7
+ sll $7,$22,10
+ or $7,$7,$2
+ and $9,$25,$9
+ and $2,$22,$23
+ and $10,$24,$10
+ xor $3,$3,$8
+ xor $10,$20,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $6,$19,$6
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,310575104 # 0x12830000
+ addu $6,$6,$16
+ ori $2,$2,0x5b01
+ addu $21,$17,$fp
+ addu $17,$6,$2
+ addu $25,$25,$17
+ srl $7,$25,6
+ srl $3,$25,11
+ sll $6,$25,26
+ sll $2,$25,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$25,25
+ sll $7,$25,7
+ or $7,$7,$3
+ srl $9,$21,2
+ xor $6,$6,$2
+ sll $3,$21,30
+ srl $2,$21,13
+ sll $8,$21,19
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$21,22
+ xor $6,$6,$7
+ sll $7,$21,10
+ xor $10,$24,$18
+ or $9,$21,$22
+ or $7,$7,$2
+ xor $3,$3,$8
+ and $9,$23,$9
+ and $2,$21,$22
+ xor $3,$3,$7
+ and $10,$25,$10
+ lw $7,392($sp)
+ xor $10,$18,$10
+ or $2,$2,$9
+ addu $6,$20,$6
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,607191040 # 0x24310000
+ addu $6,$6,$7
+ ori $2,$2,0x85be
+ addu $19,$17,$fp
+ addu $17,$6,$2
+ addu $23,$23,$17
+ srl $7,$23,6
+ srl $3,$23,11
+ sll $6,$23,26
+ sll $2,$23,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$23,25
+ sll $7,$23,7
+ or $7,$7,$3
+ srl $9,$19,2
+ xor $6,$6,$2
+ sll $3,$19,30
+ srl $2,$19,13
+ sll $8,$19,19
+ xor $10,$25,$24
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$19,22
+ or $9,$19,$21
+ xor $6,$6,$7
+ sll $7,$19,10
+ or $7,$7,$2
+ and $9,$22,$9
+ and $2,$19,$21
+ and $10,$23,$10
+ xor $3,$3,$8
+ xor $10,$24,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $6,$18,$6
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,1426849792 # 0x550c0000
+ addu $6,$6,$12
+ ori $2,$2,0x7dc3
+ addu $20,$17,$fp
+ addu $17,$6,$2
+ addu $22,$22,$17
+ srl $7,$22,6
+ srl $3,$22,11
+ sll $6,$22,26
+ sll $2,$22,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$22,25
+ sll $7,$22,7
+ or $7,$7,$3
+ srl $9,$20,2
+ xor $6,$6,$2
+ sll $3,$20,30
+ srl $2,$20,13
+ sll $8,$20,19
+ xor $10,$23,$25
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$20,22
+ or $9,$20,$19
+ xor $6,$6,$7
+ sll $7,$20,10
+ or $7,$7,$2
+ and $9,$21,$9
+ and $2,$20,$19
+ and $10,$22,$10
+ xor $3,$3,$8
+ xor $10,$25,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $6,$24,$6
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,1925054464 # 0x72be0000
+ addu $6,$6,$14
+ ori $2,$2,0x5d74
+ addu $18,$17,$fp
+ addu $17,$6,$2
+ addu $21,$21,$17
+ srl $7,$21,6
+ srl $3,$21,11
+ sll $6,$21,26
+ sll $2,$21,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$21,25
+ sll $7,$21,7
+ or $7,$7,$3
+ srl $9,$18,2
+ xor $6,$6,$2
+ sll $3,$18,30
+ srl $2,$18,13
+ sll $8,$18,19
+ xor $10,$22,$23
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$18,22
+ or $9,$18,$20
+ xor $6,$6,$7
+ sll $7,$18,10
+ or $7,$7,$2
+ and $9,$19,$9
+ and $2,$18,$20
+ and $10,$21,$10
+ xor $3,$3,$8
+ lw $8,432($sp)
+ xor $10,$23,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $6,$25,$6
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,-2132934656 # 0xffffffff80de0000
+ addu $6,$6,$8
+ ori $2,$2,0xb1fe
+ addu $24,$17,$fp
+ addu $17,$6,$2
+ addu $19,$19,$17
+ srl $7,$19,6
+ srl $3,$19,11
+ sll $6,$19,26
+ sll $2,$19,21
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$19,25
+ sll $7,$19,7
+ or $7,$7,$3
+ srl $9,$24,2
+ xor $6,$6,$2
+ sll $3,$24,30
+ srl $2,$24,13
+ sll $8,$24,19
+ xor $10,$21,$22
+ or $8,$8,$2
+ or $3,$3,$9
+ srl $2,$24,22
+ or $9,$24,$18
+ xor $6,$6,$7
+ sll $7,$24,10
+ or $7,$7,$2
+ and $9,$20,$9
+ and $2,$24,$18
+ and $10,$19,$10
+ xor $3,$3,$8
+ xor $10,$22,$10
+ xor $3,$3,$7
+ or $2,$2,$9
+ addu $6,$23,$6
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,-1680080896 # 0xffffffff9bdc0000
+ addu $6,$6,$13
+ ori $2,$2,0x6a7
+ addu $25,$17,$fp
+ addu $17,$6,$2
+ addu $20,$20,$17
+ sw $16,36($sp)
+ sw $13,56($sp)
+ sw $11,32($sp)
+ sw $12,44($sp)
+ sw $14,48($sp)
+ lbu $14,60($5)
+ lbu $10,61($5)
+ srl $7,$20,6
+ srl $3,$20,11
+ sll $6,$20,26
+ sll $2,$20,21
+ lbu $11,62($5)
+ or $2,$2,$3
+ or $6,$6,$7
+ srl $3,$20,25
+ sll $7,$20,7
+ lbu $12,63($5)
+ or $7,$7,$3
+ srl $5,$25,2
+ xor $6,$6,$2
+ sll $3,$25,30
+ srl $2,$25,13
+ sll $8,$25,19
+ xor $9,$19,$21
+ or $8,$8,$2
+ sll $10,$10,16
+ srl $2,$25,22
+ or $3,$3,$5
+ xor $6,$6,$7
+ sll $5,$25,10
+ or $7,$25,$24
+ sll $14,$14,24
+ or $5,$5,$2
+ and $7,$18,$7
+ and $2,$25,$24
+ or $14,$14,$10
+ and $9,$20,$9
+ sll $11,$11,8
+ xor $3,$3,$8
+ xor $9,$21,$9
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$22,$6
+ or $14,$14,$11
+ or $14,$14,$12
+ addu $fp,$3,$2
+ addu $6,$6,$9
+ li $2,-1046806528 # 0xffffffffc19b0000
+ addu $6,$6,$14
+ ori $2,$2,0xf174
+ addu $23,$17,$fp
+ addu $17,$6,$2
+ addu $18,$18,$17
+ sll $5,$13,15
+ srl $3,$13,17
+ srl $2,$13,19
+ sll $6,$13,13
+ or $12,$5,$3
+ or $6,$6,$2
+ srl $11,$18,6
+ srl $9,$18,11
+ srl $10,$15,7
+ srl $2,$15,18
+ sll $5,$18,26
+ sll $8,$18,21
+ sll $7,$15,25
+ sll $3,$15,14
+ or $8,$8,$9
+ or $3,$3,$2
+ srl $9,$13,10
+ srl $2,$18,25
+ or $5,$5,$11
+ or $7,$7,$10
+ xor $11,$12,$6
+ sll $6,$18,7
+ or $6,$6,$2
+ xor $12,$11,$9
+ srl $2,$23,13
+ xor $5,$5,$8
+ xor $7,$7,$3
+ srl $8,$23,2
+ sll $3,$23,30
+ sll $9,$23,19
+ or $9,$9,$2
+ or $3,$3,$8
+ xor $10,$20,$19
+ srl $11,$15,3
+ or $8,$23,$25
+ srl $2,$23,22
+ xor $5,$5,$6
+ xor $3,$3,$9
+ sll $6,$23,10
+ lw $9,272($sp)
+ xor $7,$7,$11
+ or $6,$6,$2
+ and $8,$24,$8
+ and $2,$23,$25
+ addu $12,$12,$16
+ and $10,$18,$10
+ xor $10,$19,$10
+ xor $3,$3,$6
+ or $2,$2,$8
+ addu $5,$21,$5
+ addu $12,$12,$7
+ addu $12,$12,$9
+ addu $fp,$3,$2
+ addu $5,$5,$10
+ li $2,-459603968 # 0xffffffffe49b0000
+ sw $12,64($sp)
+ addu $5,$5,$12
+ lw $13,296($sp)
+ lw $10,296($sp)
+ ori $2,$2,0x69c1
+ addu $22,$17,$fp
+ addu $17,$5,$2
+ addu $24,$24,$17
+ srl $3,$14,17
+ srl $2,$14,19
+ sll $12,$14,15
+ sll $6,$14,13
+ or $6,$6,$2
+ srl $11,$24,6
+ srl $9,$24,11
+ srl $2,$13,18
+ or $12,$12,$3
+ sll $5,$24,26
+ sll $8,$24,21
+ sll $7,$10,25
+ sll $3,$13,14
+ srl $10,$10,7
+ lw $16,392($sp)
+ or $8,$8,$9
+ or $3,$3,$2
+ or $5,$5,$11
+ srl $2,$24,25
+ xor $12,$12,$6
+ or $7,$7,$10
+ srl $6,$14,10
+ sll $9,$24,7
+ or $9,$9,$2
+ xor $5,$5,$8
+ srl $2,$22,13
+ xor $12,$12,$6
+ xor $7,$7,$3
+ srl $6,$22,2
+ sll $3,$22,30
+ sll $8,$22,19
+ srl $11,$13,3
+ xor $10,$18,$20
+ or $8,$8,$2
+ or $3,$3,$6
+ srl $2,$22,22
+ xor $5,$5,$9
+ sll $6,$22,10
+ or $9,$22,$23
+ xor $7,$7,$11
+ or $6,$6,$2
+ and $9,$25,$9
+ and $2,$22,$23
+ addu $12,$12,$16
+ and $10,$24,$10
+ xor $3,$3,$8
+ xor $10,$20,$10
+ xor $3,$3,$6
+ or $2,$2,$9
+ addu $5,$19,$5
+ addu $12,$12,$7
+ lw $19,64($sp)
+ addu $12,$12,$15
+ addu $fp,$3,$2
+ addu $5,$5,$10
+ li $2,-272760832 # 0xffffffffefbe0000
+ lw $15,12($sp)
+ addu $5,$5,$12
+ ori $2,$2,0x4786
+ addu $21,$17,$fp
+ addu $17,$5,$2
+ addu $25,$25,$17
+ sll $6,$19,15
+ srl $3,$19,17
+ or $13,$6,$3
+ srl $11,$25,6
+ srl $9,$25,11
+ srl $3,$15,18
+ sll $6,$25,26
+ sll $8,$25,21
+ sll $7,$15,14
+ or $8,$8,$9
+ or $7,$7,$3
+ or $6,$6,$11
+ srl $3,$25,25
+ sll $9,$25,7
+ srl $2,$19,19
+ or $9,$9,$3
+ sll $5,$19,13
+ srl $3,$21,13
+ xor $6,$6,$8
+ sll $8,$21,19
+ or $5,$5,$2
+ srl $10,$15,7
+ or $8,$8,$3
+ sll $2,$15,25
+ lw $3,44($sp)
+ xor $11,$13,$5
+ or $2,$2,$10
+ srl $5,$19,10
+ xor $13,$11,$5
+ srl $10,$15,3
+ xor $2,$2,$7
+ sll $5,$21,30
+ srl $7,$21,2
+ xor $2,$2,$10
+ addu $13,$13,$3
+ or $5,$5,$7
+ xor $11,$24,$18
+ xor $5,$5,$8
+ addu $8,$13,$2
+ lw $2,8($sp)
+ srl $3,$21,22
+ xor $6,$6,$9
+ and $11,$25,$11
+ or $9,$21,$22
+ sll $7,$21,10
+ or $7,$7,$3
+ and $9,$23,$9
+ xor $11,$18,$11
+ and $3,$21,$22
+ addu $6,$20,$6
+ addu $8,$8,$2
+ xor $5,$5,$7
+ or $3,$3,$9
+ addu $6,$6,$11
+ li $2,264306688 # 0xfc10000
+ addu $fp,$5,$3
+ addu $6,$6,$8
+ ori $2,$2,0x9dc6
+ sw $19,460($sp)
+ addu $19,$17,$fp
+ addu $17,$6,$2
+ addu $23,$23,$17
+ sll $5,$12,15
+ srl $3,$12,17
+ lw $13,16($sp)
+ sw $12,68($sp)
+ srl $2,$12,19
+ srl $11,$23,6
+ sll $6,$12,13
+ or $12,$5,$3
+ sll $5,$23,26
+ or $5,$5,$11
+ lw $11,68($sp)
+ sw $8,464($sp)
+ lw $20,48($sp)
+ or $6,$6,$2
+ srl $9,$23,11
+ srl $10,$13,7
+ srl $3,$13,18
+ sll $8,$23,21
+ sll $2,$13,25
+ sll $7,$13,14
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$12,$6
+ srl $3,$23,25
+ srl $6,$11,10
+ or $2,$2,$10
+ sll $10,$23,7
+ xor $12,$9,$6
+ or $10,$10,$3
+ srl $6,$19,13
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$13,3
+ srl $7,$19,2
+ sll $3,$19,30
+ sll $9,$19,19
+ xor $11,$25,$24
+ or $9,$9,$6
+ xor $2,$2,$8
+ addu $16,$12,$20
+ srl $8,$19,22
+ or $3,$3,$7
+ sll $6,$19,10
+ or $7,$19,$21
+ or $6,$6,$8
+ and $7,$22,$7
+ xor $5,$5,$10
+ and $11,$23,$11
+ xor $3,$3,$9
+ addu $16,$16,$2
+ and $2,$19,$21
+ xor $11,$24,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$18,$5
+ addu $16,$16,$15
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,604766208 # 0x240c0000
+ addu $5,$5,$16
+ ori $2,$2,0xa1cc
+ addu $20,$17,$fp
+ addu $17,$5,$2
+ lw $2,464($sp)
+ lw $15,20($sp)
+ addu $22,$22,$17
+ srl $3,$2,17
+ sll $12,$2,15
+ sll $6,$2,13
+ srl $2,$2,19
+ or $6,$6,$2
+ srl $11,$22,6
+ srl $9,$22,11
+ srl $10,$15,7
+ or $12,$12,$3
+ sll $5,$22,26
+ srl $3,$15,18
+ sll $8,$22,21
+ sll $2,$15,25
+ sll $7,$15,14
+ or $8,$8,$9
+ or $7,$7,$3
+ lw $9,464($sp)
+ srl $3,$22,25
+ or $5,$5,$11
+ or $2,$2,$10
+ sll $10,$22,7
+ or $10,$10,$3
+ xor $5,$5,$8
+ xor $5,$5,$10
+ lw $10,52($sp)
+ xor $12,$12,$6
+ srl $6,$9,10
+ srl $8,$15,3
+ xor $12,$12,$6
+ xor $2,$2,$7
+ srl $6,$20,13
+ srl $7,$20,2
+ sll $3,$20,30
+ sll $9,$20,19
+ xor $11,$23,$25
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$20,22
+ or $7,$20,$19
+ addu $12,$12,$10
+ sll $6,$20,10
+ or $6,$6,$8
+ and $7,$21,$7
+ and $11,$22,$11
+ xor $3,$3,$9
+ addu $12,$12,$2
+ and $2,$20,$19
+ xor $11,$25,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$24,$5
+ addu $12,$12,$13
+ sw $16,468($sp)
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,770244608 # 0x2de90000
+ lw $24,468($sp)
+ addu $5,$5,$12
+ ori $2,$2,0x2c6f
+ addu $18,$17,$fp
+ srl $3,$16,17
+ addu $17,$5,$2
+ sll $13,$16,15
+ srl $2,$16,19
+ sll $6,$16,13
+ addu $21,$21,$17
+ lw $16,24($sp)
+ or $6,$6,$2
+ or $13,$13,$3
+ srl $9,$21,11
+ sll $8,$21,21
+ xor $13,$13,$6
+ srl $6,$24,10
+ or $8,$8,$9
+ xor $13,$13,$6
+ sll $9,$18,19
+ srl $6,$18,13
+ srl $11,$21,6
+ srl $10,$16,7
+ srl $3,$16,18
+ or $9,$9,$6
+ sll $5,$21,26
+ lw $6,56($sp)
+ sll $2,$16,25
+ sll $7,$16,14
+ or $7,$7,$3
+ or $5,$5,$11
+ srl $3,$21,25
+ or $2,$2,$10
+ sll $10,$21,7
+ or $10,$10,$3
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$16,3
+ srl $7,$18,2
+ sll $3,$18,30
+ xor $11,$22,$23
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$18,22
+ or $7,$18,$20
+ addu $13,$13,$6
+ sll $6,$18,10
+ or $6,$6,$8
+ and $7,$19,$7
+ xor $5,$5,$10
+ and $11,$21,$11
+ xor $3,$3,$9
+ addu $13,$13,$2
+ and $2,$18,$20
+ xor $11,$23,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$25,$5
+ addu $13,$13,$15
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,1249116160 # 0x4a740000
+ lw $7,28($sp)
+ sw $14,60($sp)
+ addu $5,$5,$13
+ lw $14,28($sp)
+ ori $2,$2,0x84aa
+ addu $24,$17,$fp
+ addu $17,$5,$2
+ addu $19,$19,$17
+ srl $3,$12,17
+ srl $2,$12,19
+ sll $16,$12,15
+ sll $6,$12,13
+ or $6,$6,$2
+ srl $11,$19,6
+ srl $9,$19,11
+ srl $10,$7,7
+ or $16,$16,$3
+ sll $5,$19,26
+ srl $3,$14,18
+ sll $8,$19,21
+ sll $2,$7,25
+ sll $7,$7,14
+ lw $15,60($sp)
+ or $8,$8,$9
+ or $7,$7,$3
+ or $5,$5,$11
+ srl $3,$19,25
+ or $2,$2,$10
+ sll $10,$19,7
+ or $10,$10,$3
+ xor $16,$16,$6
+ xor $5,$5,$8
+ srl $6,$12,10
+ srl $8,$14,3
+ xor $16,$16,$6
+ xor $2,$2,$7
+ srl $6,$24,13
+ srl $7,$24,2
+ sll $3,$24,30
+ sll $9,$24,19
+ xor $5,$5,$10
+ xor $11,$21,$22
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$24,22
+ or $7,$24,$18
+ addu $16,$16,$15
+ sll $6,$24,10
+ addu $5,$23,$5
+ lw $23,24($sp)
+ or $6,$6,$8
+ and $7,$20,$7
+ and $11,$19,$11
+ xor $3,$3,$9
+ addu $16,$16,$2
+ and $2,$24,$18
+ xor $11,$22,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $16,$16,$23
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ srl $3,$13,17
+ sll $15,$13,15
+ li $2,1555038208 # 0x5cb00000
+ addu $5,$5,$16
+ ori $2,$2,0xa9dc
+ or $15,$15,$3
+ lw $3,32($sp)
+ addu $25,$17,$fp
+ addu $17,$5,$2
+ addu $20,$20,$17
+ lw $14,32($sp)
+ srl $2,$13,19
+ sll $6,$13,13
+ or $6,$6,$2
+ srl $11,$20,6
+ srl $9,$20,11
+ srl $10,$3,7
+ sll $5,$20,26
+ sll $8,$20,21
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ lw $23,460($sp)
+ or $8,$8,$9
+ or $7,$7,$3
+ or $5,$5,$11
+ xor $15,$15,$6
+ or $2,$2,$10
+ srl $6,$13,10
+ srl $3,$20,25
+ sll $10,$20,7
+ xor $5,$5,$8
+ xor $15,$15,$6
+ srl $8,$14,3
+ srl $6,$25,13
+ xor $2,$2,$7
+ sll $9,$25,19
+ or $10,$10,$3
+ srl $7,$25,2
+ or $9,$9,$6
+ xor $2,$2,$8
+ sll $3,$25,30
+ srl $8,$25,22
+ sll $6,$25,10
+ xor $11,$19,$21
+ or $6,$6,$8
+ or $3,$3,$7
+ lw $8,28($sp)
+ or $7,$25,$24
+ addu $15,$15,$23
+ and $7,$18,$7
+ xor $5,$5,$10
+ and $11,$20,$11
+ xor $3,$3,$9
+ addu $15,$15,$2
+ and $2,$25,$24
+ xor $11,$21,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$22,$5
+ addu $15,$15,$8
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,1996029952 # 0x76f90000
+ addu $5,$5,$15
+ ori $2,$2,0x88da
+ addu $23,$17,$fp
+ srl $3,$16,17
+ addu $17,$5,$2
+ sll $14,$16,15
+ srl $2,$16,19
+ sll $5,$16,13
+ addu $18,$18,$17
+ lw $22,36($sp)
+ lw $10,36($sp)
+ or $5,$5,$2
+ or $14,$14,$3
+ srl $9,$18,11
+ sll $8,$18,21
+ xor $14,$14,$5
+ srl $5,$16,10
+ or $8,$8,$9
+ xor $14,$14,$5
+ sll $9,$23,19
+ srl $5,$23,13
+ srl $11,$18,6
+ srl $3,$22,18
+ or $9,$9,$5
+ sll $6,$18,26
+ lw $5,68($sp)
+ sll $2,$10,25
+ sll $7,$22,14
+ srl $10,$10,7
+ or $7,$7,$3
+ or $6,$6,$11
+ or $2,$2,$10
+ srl $3,$18,25
+ sll $10,$18,7
+ xor $6,$6,$8
+ xor $2,$2,$7
+ srl $8,$22,3
+ or $10,$10,$3
+ srl $7,$23,2
+ xor $2,$2,$8
+ sll $3,$23,30
+ srl $8,$23,22
+ addu $14,$14,$5
+ sll $5,$23,10
+ xor $11,$20,$19
+ or $5,$5,$8
+ or $3,$3,$7
+ lw $8,32($sp)
+ or $7,$23,$25
+ and $7,$24,$7
+ xor $6,$6,$10
+ and $11,$18,$11
+ xor $3,$3,$9
+ addu $14,$14,$2
+ and $2,$23,$25
+ xor $11,$19,$11
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$21,$6
+ addu $14,$14,$8
+ addu $fp,$3,$2
+ addu $6,$6,$11
+ li $2,-1740767232 # 0xffffffff983e0000
+ addu $6,$6,$14
+ ori $2,$2,0x5152
+ addu $22,$17,$fp
+ addu $17,$6,$2
+ addu $24,$24,$17
+ sll $5,$15,15
+ srl $3,$15,17
+ srl $2,$15,19
+ sll $6,$15,13
+ sw $12,80($sp)
+ or $fp,$5,$3
+ lw $21,40($sp)
+ lw $10,40($sp)
+ or $6,$6,$2
+ srl $9,$24,11
+ sll $8,$24,21
+ or $8,$8,$9
+ xor $9,$fp,$6
+ srl $6,$15,10
+ xor $fp,$9,$6
+ srl $6,$22,13
+ sll $9,$22,19
+ srl $11,$24,6
+ srl $3,$21,18
+ or $9,$9,$6
+ sll $5,$24,26
+ lw $6,464($sp)
+ sll $2,$10,25
+ sll $7,$21,14
+ srl $10,$10,7
+ or $7,$7,$3
+ or $5,$5,$11
+ or $2,$2,$10
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$21,3
+ xor $2,$2,$8
+ addu $fp,$fp,$6
+ srl $8,$22,22
+ sll $6,$22,10
+ or $6,$6,$8
+ lw $8,36($sp)
+ srl $3,$24,25
+ sll $10,$24,7
+ addu $fp,$fp,$2
+ or $10,$10,$3
+ srl $7,$22,2
+ addu $fp,$fp,$8
+ sll $3,$22,30
+ sw $fp,472($sp)
+ xor $11,$18,$20
+ or $3,$3,$7
+ or $7,$22,$23
+ and $7,$25,$7
+ and $2,$22,$23
+ xor $5,$5,$10
+ and $11,$24,$11
+ xor $3,$3,$9
+ lw $9,472($sp)
+ xor $11,$20,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$19,$5
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-1473183744 # 0xffffffffa8310000
+ addu $5,$5,$9
+ ori $2,$2,0xc66d
+ addu $21,$17,$fp
+ addu $17,$5,$2
+ addu $25,$25,$17
+ sll $5,$14,15
+ srl $3,$14,17
+ srl $2,$14,19
+ sll $6,$14,13
+ lw $19,44($sp)
+ or $fp,$5,$3
+ lw $10,44($sp)
+ or $6,$6,$2
+ srl $9,$25,11
+ sll $8,$25,21
+ or $8,$8,$9
+ xor $9,$fp,$6
+ srl $6,$14,10
+ xor $fp,$9,$6
+ srl $6,$21,13
+ sll $9,$21,19
+ srl $11,$25,6
+ srl $3,$19,18
+ or $9,$9,$6
+ sll $5,$25,26
+ lw $6,468($sp)
+ sll $2,$10,25
+ sll $7,$19,14
+ srl $10,$10,7
+ or $7,$7,$3
+ or $5,$5,$11
+ or $2,$2,$10
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$19,3
+ xor $2,$2,$8
+ addu $fp,$fp,$6
+ srl $8,$21,22
+ sll $6,$21,10
+ or $6,$6,$8
+ lw $8,40($sp)
+ srl $3,$25,25
+ sll $10,$25,7
+ addu $fp,$fp,$2
+ or $10,$10,$3
+ srl $7,$21,2
+ addu $fp,$fp,$8
+ sll $3,$21,30
+ sw $fp,476($sp)
+ xor $11,$24,$18
+ or $3,$3,$7
+ or $7,$21,$22
+ and $7,$23,$7
+ and $2,$21,$22
+ xor $5,$5,$10
+ and $11,$25,$11
+ xor $3,$3,$9
+ lw $9,476($sp)
+ xor $11,$18,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$20,$5
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-1341980672 # 0xffffffffb0030000
+ lw $11,472($sp)
+ addu $5,$5,$9
+ ori $2,$2,0x27c8
+ addu $19,$17,$fp
+ lw $10,472($sp)
+ addu $17,$5,$2
+ addu $23,$23,$17
+ lw $20,48($sp)
+ srl $3,$11,17
+ srl $2,$11,19
+ sll $6,$11,13
+ sll $5,$23,26
+ srl $11,$23,6
+ sll $10,$10,15
+ or $5,$5,$11
+ lw $11,472($sp)
+ or $fp,$10,$3
+ sw $10,480($sp)
+ or $6,$6,$2
+ srl $9,$23,11
+ srl $10,$20,7
+ srl $3,$20,18
+ sll $8,$23,21
+ sll $2,$20,25
+ sll $7,$20,14
+ or $8,$8,$9
+ or $7,$7,$3
+ or $2,$2,$10
+ srl $3,$23,25
+ sll $10,$23,7
+ xor $9,$fp,$6
+ or $10,$10,$3
+ srl $6,$11,10
+ xor $5,$5,$8
+ xor $fp,$9,$6
+ srl $8,$20,3
+ srl $6,$19,13
+ xor $2,$2,$7
+ sll $3,$19,30
+ srl $7,$19,2
+ sll $9,$19,19
+ xor $5,$5,$10
+ xor $11,$25,$24
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$19,22
+ or $7,$19,$21
+ addu $fp,$fp,$12
+ sll $6,$19,10
+ addu $5,$18,$5
+ lw $18,44($sp)
+ addu $fp,$fp,$2
+ or $6,$6,$8
+ and $7,$22,$7
+ and $2,$19,$21
+ and $11,$23,$11
+ xor $3,$3,$9
+ xor $11,$24,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $18,$fp,$18
+ sw $fp,484($sp)
+ addu $5,$5,$11
+ addu $fp,$3,$2
+ li $2,-1084686336 # 0xffffffffbf590000
+ addu $5,$5,$18
+ ori $2,$2,0x7fc7
+ addu $20,$17,$fp
+ addu $17,$5,$2
+ lw $2,476($sp)
+ addu $22,$22,$17
+ srl $9,$22,11
+ srl $3,$2,17
+ sll $12,$2,15
+ or $12,$12,$3
+ lw $3,52($sp)
+ sll $8,$22,21
+ or $8,$8,$9
+ sll $6,$2,13
+ lw $9,476($sp)
+ srl $2,$2,19
+ sw $18,488($sp)
+ or $6,$6,$2
+ lw $18,52($sp)
+ srl $11,$22,6
+ srl $10,$3,7
+ sll $5,$22,26
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ or $7,$7,$3
+ or $5,$5,$11
+ srl $3,$22,25
+ or $2,$2,$10
+ sll $10,$22,7
+ or $10,$10,$3
+ xor $12,$12,$6
+ xor $5,$5,$8
+ srl $6,$9,10
+ srl $8,$18,3
+ xor $12,$12,$6
+ xor $2,$2,$7
+ srl $6,$20,13
+ srl $7,$20,2
+ sll $3,$20,30
+ sll $9,$20,19
+ xor $5,$5,$10
+ xor $11,$23,$25
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$20,22
+ or $7,$20,$19
+ addu $12,$12,$13
+ sll $6,$20,10
+ addu $5,$24,$5
+ lw $24,48($sp)
+ or $6,$6,$8
+ and $7,$21,$7
+ and $11,$22,$11
+ xor $3,$3,$9
+ addu $12,$12,$2
+ and $2,$20,$19
+ xor $11,$25,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $12,$12,$24
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-958398464 # 0xffffffffc6e00000
+ addu $5,$5,$12
+ ori $2,$2,0xbf3
+ addu $18,$17,$fp
+ addu $17,$5,$2
+ lw $2,488($sp)
+ sw $13,84($sp)
+ addu $21,$21,$17
+ srl $3,$2,17
+ sll $13,$2,15
+ or $13,$13,$3
+ lw $3,56($sp)
+ srl $9,$21,11
+ sll $8,$21,21
+ or $8,$8,$9
+ sll $6,$2,13
+ lw $9,488($sp)
+ srl $2,$2,19
+ lw $24,56($sp)
+ or $6,$6,$2
+ srl $11,$21,6
+ srl $10,$3,7
+ sll $5,$21,26
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ or $7,$7,$3
+ or $5,$5,$11
+ srl $3,$21,25
+ or $2,$2,$10
+ sll $10,$21,7
+ or $10,$10,$3
+ xor $13,$13,$6
+ xor $5,$5,$8
+ srl $6,$9,10
+ srl $8,$24,3
+ xor $13,$13,$6
+ xor $2,$2,$7
+ srl $6,$18,13
+ srl $7,$18,2
+ sll $3,$18,30
+ sll $9,$18,19
+ xor $5,$5,$10
+ xor $11,$22,$23
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$18,22
+ or $7,$18,$20
+ addu $13,$13,$16
+ sll $6,$18,10
+ addu $5,$25,$5
+ lw $25,52($sp)
+ or $6,$6,$8
+ and $7,$19,$7
+ and $11,$21,$11
+ xor $3,$3,$9
+ addu $13,$13,$2
+ and $2,$18,$20
+ xor $11,$23,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $13,$13,$25
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-710475776 # 0xffffffffd5a70000
+ addu $5,$5,$13
+ ori $2,$2,0x9147
+ addu $24,$17,$fp
+ sll $6,$12,13
+ addu $17,$5,$2
+ srl $2,$12,19
+ or $6,$6,$2
+ lw $2,60($sp)
+ addu $19,$19,$17
+ lw $25,60($sp)
+ sw $16,88($sp)
+ srl $3,$12,17
+ sll $16,$12,15
+ srl $9,$19,11
+ srl $10,$2,7
+ or $16,$16,$3
+ sll $8,$19,21
+ sll $7,$2,25
+ sll $3,$2,14
+ srl $2,$2,18
+ srl $11,$19,6
+ or $8,$8,$9
+ or $3,$3,$2
+ srl $9,$12,10
+ sll $5,$19,26
+ xor $16,$16,$6
+ or $7,$7,$10
+ srl $2,$19,25
+ or $5,$5,$11
+ sll $6,$19,7
+ srl $11,$25,3
+ xor $16,$16,$9
+ xor $7,$7,$3
+ or $6,$6,$2
+ xor $7,$7,$11
+ srl $2,$24,13
+ xor $5,$5,$8
+ sll $3,$24,30
+ srl $8,$24,2
+ sll $9,$24,19
+ addu $16,$16,$15
+ xor $10,$21,$22
+ or $9,$9,$2
+ or $3,$3,$8
+ srl $2,$24,22
+ or $8,$24,$18
+ xor $5,$5,$6
+ addu $16,$16,$7
+ sll $6,$24,10
+ lw $7,56($sp)
+ or $6,$6,$2
+ and $8,$20,$8
+ and $2,$24,$18
+ and $10,$19,$10
+ xor $3,$3,$9
+ xor $10,$22,$10
+ xor $3,$3,$6
+ or $2,$2,$8
+ addu $5,$23,$5
+ addu $16,$16,$7
+ addu $fp,$3,$2
+ addu $5,$5,$10
+ li $2,113901568 # 0x6ca0000
+ lw $23,460($sp)
+ lw $10,460($sp)
+ addu $5,$5,$16
+ ori $2,$2,0x6351
+ addu $25,$17,$fp
+ addu $17,$5,$2
+ addu $20,$20,$17
+ sll $5,$13,15
+ srl $3,$13,17
+ srl $2,$13,19
+ sll $6,$13,13
+ sw $15,92($sp)
+ or $6,$6,$2
+ or $15,$5,$3
+ srl $11,$20,6
+ srl $2,$23,18
+ sll $5,$20,26
+ sll $7,$10,25
+ sll $3,$23,14
+ srl $10,$10,7
+ srl $9,$20,11
+ or $3,$3,$2
+ sll $8,$20,21
+ or $5,$5,$11
+ or $7,$7,$10
+ xor $11,$15,$6
+ srl $6,$13,10
+ or $8,$8,$9
+ srl $2,$20,25
+ xor $15,$11,$6
+ sll $9,$20,7
+ srl $11,$23,3
+ xor $7,$7,$3
+ or $9,$9,$2
+ srl $6,$25,2
+ srl $2,$25,13
+ xor $7,$7,$11
+ xor $5,$5,$8
+ sll $3,$25,30
+ sll $8,$25,19
+ addu $15,$15,$14
+ xor $10,$19,$21
+ or $8,$8,$2
+ or $3,$3,$6
+ srl $2,$25,22
+ xor $5,$5,$9
+ sll $6,$25,10
+ or $9,$25,$24
+ addu $15,$15,$7
+ lw $7,60($sp)
+ or $6,$6,$2
+ and $9,$18,$9
+ and $2,$25,$24
+ and $10,$20,$10
+ xor $3,$3,$8
+ xor $10,$21,$10
+ xor $3,$3,$6
+ or $2,$2,$9
+ addu $5,$22,$5
+ addu $15,$15,$7
+ addu $fp,$3,$2
+ addu $5,$5,$10
+ li $2,338231296 # 0x14290000
+ sw $14,96($sp)
+ addu $5,$5,$15
+ sw $15,124($sp)
+ ori $2,$2,0x2967
+ lw $15,68($sp)
+ lw $10,68($sp)
+ addu $23,$17,$fp
+ addu $17,$5,$2
+ addu $18,$18,$17
+ sll $6,$16,15
+ srl $3,$16,17
+ srl $2,$16,19
+ sll $5,$16,13
+ lw $22,472($sp)
+ or $14,$6,$3
+ or $5,$5,$2
+ srl $11,$18,6
+ srl $3,$15,18
+ sll $6,$18,26
+ sll $2,$10,25
+ sll $7,$15,14
+ srl $10,$10,7
+ or $7,$7,$3
+ or $6,$6,$11
+ or $2,$2,$10
+ xor $11,$14,$5
+ srl $5,$16,10
+ xor $14,$11,$5
+ srl $9,$18,11
+ srl $10,$15,3
+ sll $8,$18,21
+ xor $2,$2,$7
+ or $8,$8,$9
+ srl $3,$18,25
+ xor $2,$2,$10
+ addu $15,$14,$22
+ sll $9,$18,7
+ or $9,$9,$3
+ xor $11,$20,$19
+ srl $7,$23,2
+ srl $3,$23,13
+ xor $6,$6,$8
+ sll $5,$23,30
+ sll $8,$23,19
+ addu $15,$15,$2
+ lw $2,64($sp)
+ or $8,$8,$3
+ or $5,$5,$7
+ srl $3,$23,22
+ xor $6,$6,$9
+ and $11,$18,$11
+ or $9,$23,$25
+ sll $7,$23,10
+ or $7,$7,$3
+ and $9,$24,$9
+ xor $11,$19,$11
+ and $3,$23,$25
+ addu $6,$21,$6
+ xor $5,$5,$8
+ addu $15,$15,$2
+ xor $5,$5,$7
+ or $3,$3,$9
+ addu $6,$6,$11
+ li $2,666304512 # 0x27b70000
+ addu $fp,$5,$3
+ addu $6,$6,$15
+ ori $2,$2,0xa85
+ sw $22,492($sp)
+ addu $22,$17,$fp
+ addu $17,$6,$2
+ lw $2,124($sp)
+ addu $24,$24,$17
+ srl $11,$24,6
+ sll $5,$2,15
+ srl $3,$2,17
+ sw $2,496($sp)
+ or $14,$5,$3
+ lw $3,464($sp)
+ sll $5,$24,26
+ or $5,$5,$11
+ lw $11,496($sp)
+ lw $21,464($sp)
+ sll $6,$2,13
+ srl $2,$2,19
+ or $6,$6,$2
+ srl $9,$24,11
+ srl $10,$3,7
+ sll $8,$24,21
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ sw $15,128($sp)
+ or $8,$8,$9
+ lw $15,476($sp)
+ xor $9,$14,$6
+ or $7,$7,$3
+ srl $6,$11,10
+ or $2,$2,$10
+ srl $3,$24,25
+ xor $14,$9,$6
+ sll $10,$24,7
+ srl $6,$22,13
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$21,3
+ sll $9,$22,19
+ or $10,$10,$3
+ srl $7,$22,2
+ or $9,$9,$6
+ xor $2,$2,$8
+ sll $3,$22,30
+ srl $8,$22,22
+ sll $6,$22,10
+ xor $11,$18,$20
+ or $6,$6,$8
+ or $3,$3,$7
+ lw $8,68($sp)
+ or $7,$22,$23
+ addu $14,$14,$15
+ and $7,$25,$7
+ xor $5,$5,$10
+ and $11,$24,$11
+ xor $3,$3,$9
+ addu $14,$14,$2
+ and $2,$22,$23
+ lw $9,128($sp)
+ xor $11,$20,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$19,$5
+ addu $14,$14,$8
+ addu $fp,$3,$2
+ lw $10,468($sp)
+ sw $15,500($sp)
+ addu $5,$5,$11
+ lw $15,468($sp)
+ li $2,773521408 # 0x2e1b0000
+ addu $5,$5,$14
+ ori $2,$2,0x2138
+ addu $21,$17,$fp
+ sll $6,$9,15
+ addu $17,$5,$2
+ srl $3,$9,17
+ srl $2,$9,19
+ sll $5,$9,13
+ addu $25,$25,$17
+ sw $14,132($sp)
+ or $5,$5,$2
+ or $14,$6,$3
+ sll $2,$10,25
+ srl $3,$15,18
+ srl $10,$10,7
+ sll $7,$15,14
+ lw $19,128($sp)
+ or $7,$7,$3
+ or $2,$2,$10
+ srl $3,$25,25
+ sll $10,$25,7
+ or $10,$10,$3
+ lw $3,488($sp)
+ srl $9,$25,11
+ sll $8,$25,21
+ or $8,$8,$9
+ xor $9,$14,$5
+ srl $5,$19,10
+ sw $3,504($sp)
+ xor $14,$9,$5
+ srl $5,$21,13
+ sll $9,$21,19
+ srl $11,$25,6
+ or $9,$9,$5
+ sll $6,$25,26
+ lw $5,504($sp)
+ or $6,$6,$11
+ xor $6,$6,$8
+ xor $2,$2,$7
+ srl $8,$15,3
+ srl $7,$21,2
+ xor $2,$2,$8
+ sll $3,$21,30
+ srl $8,$21,22
+ addu $14,$14,$5
+ sll $5,$21,10
+ xor $11,$24,$18
+ or $5,$5,$8
+ or $3,$3,$7
+ lw $8,464($sp)
+ or $7,$21,$22
+ and $7,$23,$7
+ xor $6,$6,$10
+ and $11,$25,$11
+ xor $3,$3,$9
+ addu $14,$14,$2
+ and $2,$21,$22
+ xor $11,$18,$11
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$20,$6
+ lw $9,132($sp)
+ addu $14,$14,$8
+ addu $fp,$3,$2
+ addu $6,$6,$11
+ li $2,1294729216 # 0x4d2c0000
+ addu $6,$6,$14
+ ori $2,$2,0x6dfc
+ addu $19,$17,$fp
+ addu $17,$6,$2
+ addu $23,$23,$17
+ sll $5,$9,15
+ srl $3,$9,17
+ lw $15,80($sp)
+ sw $12,112($sp)
+ srl $11,$23,6
+ or $12,$5,$3
+ sll $5,$23,26
+ or $5,$5,$11
+ lw $11,132($sp)
+ srl $2,$9,19
+ sll $6,$9,13
+ or $6,$6,$2
+ srl $9,$23,11
+ srl $10,$15,7
+ srl $3,$15,18
+ sll $8,$23,21
+ sll $2,$15,25
+ sll $7,$15,14
+ lw $20,112($sp)
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$12,$6
+ or $2,$2,$10
+ srl $6,$11,10
+ xor $12,$9,$6
+ srl $3,$23,25
+ srl $6,$19,13
+ sll $10,$23,7
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$15,3
+ sll $9,$19,19
+ or $10,$10,$3
+ srl $7,$19,2
+ or $9,$9,$6
+ xor $2,$2,$8
+ sll $3,$19,30
+ srl $8,$19,22
+ sll $6,$19,10
+ sw $14,136($sp)
+ xor $11,$25,$24
+ addu $14,$12,$20
+ or $6,$6,$8
+ or $3,$3,$7
+ lw $8,468($sp)
+ or $7,$19,$21
+ and $7,$22,$7
+ xor $5,$5,$10
+ and $11,$23,$11
+ xor $3,$3,$9
+ addu $14,$14,$2
+ and $2,$19,$21
+ xor $11,$24,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$18,$5
+ lw $9,136($sp)
+ addu $14,$14,$8
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,1396178944 # 0x53380000
+ addu $5,$5,$14
+ ori $2,$2,0xd13
+ addu $20,$17,$fp
+ addu $17,$5,$2
+ addu $22,$22,$17
+ sll $5,$9,15
+ srl $3,$9,17
+ or $12,$5,$3
+ sw $14,508($sp)
+ srl $11,$22,6
+ lw $14,84($sp)
+ sll $5,$22,26
+ or $5,$5,$11
+ lw $11,136($sp)
+ srl $2,$9,19
+ sll $6,$9,13
+ or $6,$6,$2
+ srl $9,$22,11
+ srl $10,$14,7
+ srl $3,$14,18
+ sll $8,$22,21
+ sll $2,$14,25
+ sll $7,$14,14
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$12,$6
+ srl $3,$22,25
+ srl $6,$11,10
+ or $2,$2,$10
+ sll $10,$22,7
+ xor $12,$9,$6
+ or $10,$10,$3
+ srl $6,$20,13
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$14,3
+ srl $7,$20,2
+ sll $3,$20,30
+ sll $9,$20,19
+ addu $fp,$12,$13
+ xor $11,$23,$25
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$20,22
+ or $7,$20,$19
+ xor $5,$5,$10
+ sll $6,$20,10
+ or $6,$6,$8
+ and $7,$21,$7
+ and $11,$22,$11
+ addu $5,$24,$5
+ xor $3,$3,$9
+ addu $24,$fp,$2
+ and $2,$20,$19
+ addu $24,$24,$15
+ xor $11,$25,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $fp,$3,$2
+ sw $13,116($sp)
+ addu $5,$5,$11
+ sw $24,144($sp)
+ li $2,1695154176 # 0x650a0000
+ lw $15,508($sp)
+ lw $12,88($sp)
+ addu $5,$5,$24
+ ori $2,$2,0x7354
+ addu $18,$17,$fp
+ addu $17,$5,$2
+ addu $21,$21,$17
+ sll $5,$15,15
+ srl $3,$15,17
+ srl $2,$15,19
+ sll $6,$15,13
+ or $13,$5,$3
+ or $6,$6,$2
+ srl $11,$21,6
+ srl $9,$21,11
+ srl $10,$12,7
+ srl $3,$12,18
+ sll $5,$21,26
+ sll $8,$21,21
+ sll $2,$12,25
+ sll $7,$12,14
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$13,$6
+ srl $3,$21,25
+ srl $6,$15,10
+ or $5,$5,$11
+ or $2,$2,$10
+ sll $10,$21,7
+ xor $13,$9,$6
+ or $10,$10,$3
+ srl $6,$18,13
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$12,3
+ srl $7,$18,2
+ sll $3,$18,30
+ sll $9,$18,19
+ xor $11,$22,$23
+ or $9,$9,$6
+ xor $2,$2,$8
+ addu $15,$13,$16
+ srl $8,$18,22
+ or $3,$3,$7
+ sll $6,$18,10
+ or $7,$18,$20
+ or $6,$6,$8
+ and $7,$19,$7
+ xor $5,$5,$10
+ and $11,$21,$11
+ xor $3,$3,$9
+ addu $15,$15,$2
+ and $2,$18,$20
+ xor $11,$23,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$25,$5
+ addu $15,$15,$14
+ lw $25,144($sp)
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,1986658304 # 0x766a0000
+ addu $5,$5,$15
+ ori $2,$2,0xabb
+ addu $24,$17,$fp
+ addu $17,$5,$2
+ addu $19,$19,$17
+ sll $5,$25,15
+ srl $3,$25,17
+ srl $2,$25,19
+ sll $6,$25,13
+ lw $13,92($sp)
+ or $14,$5,$3
+ or $6,$6,$2
+ srl $9,$19,11
+ sll $8,$19,21
+ or $8,$8,$9
+ xor $9,$14,$6
+ srl $6,$25,10
+ xor $14,$9,$6
+ srl $6,$24,13
+ sll $9,$24,19
+ srl $11,$19,6
+ srl $10,$13,7
+ srl $3,$13,18
+ or $9,$9,$6
+ sll $5,$19,26
+ lw $6,496($sp)
+ sll $2,$13,25
+ sll $7,$13,14
+ or $7,$7,$3
+ or $5,$5,$11
+ srl $3,$19,25
+ or $2,$2,$10
+ sll $10,$19,7
+ or $10,$10,$3
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$13,3
+ srl $7,$24,2
+ sll $3,$24,30
+ sw $15,148($sp)
+ xor $11,$21,$22
+ xor $2,$2,$8
+ addu $15,$14,$6
+ srl $8,$24,22
+ or $3,$3,$7
+ sll $6,$24,10
+ or $7,$24,$18
+ or $6,$6,$8
+ and $7,$20,$7
+ xor $5,$5,$10
+ and $11,$19,$11
+ xor $3,$3,$9
+ addu $15,$15,$2
+ and $2,$24,$18
+ xor $11,$22,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$23,$5
+ lw $7,148($sp)
+ addu $15,$15,$12
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-2117992448 # 0xffffffff81c20000
+ addu $5,$5,$15
+ ori $2,$2,0xc92e
+ addu $25,$17,$fp
+ addu $17,$5,$2
+ addu $20,$20,$17
+ sll $5,$7,15
+ srl $3,$7,17
+ lw $12,96($sp)
+ or $14,$5,$3
+ srl $11,$20,6
+ sll $5,$20,26
+ or $5,$5,$11
+ lw $11,148($sp)
+ srl $2,$7,19
+ sll $6,$7,13
+ lw $23,128($sp)
+ or $6,$6,$2
+ srl $9,$20,11
+ srl $10,$12,7
+ srl $3,$12,18
+ sll $8,$20,21
+ sll $2,$12,25
+ sll $7,$12,14
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$14,$6
+ srl $3,$20,25
+ srl $6,$11,10
+ or $2,$2,$10
+ sll $10,$20,7
+ xor $14,$9,$6
+ or $10,$10,$3
+ srl $6,$25,13
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$12,3
+ srl $7,$25,2
+ sll $3,$25,30
+ sll $9,$25,19
+ sw $15,152($sp)
+ xor $11,$19,$21
+ addu $15,$14,$23
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$25,22
+ or $7,$25,$24
+ xor $5,$5,$10
+ sll $6,$25,10
+ or $6,$6,$8
+ and $7,$18,$7
+ and $11,$20,$11
+ addu $5,$22,$5
+ xor $3,$3,$9
+ addu $22,$15,$2
+ and $2,$25,$24
+ xor $11,$21,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $22,$22,$13
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-1838022656 # 0xffffffff92720000
+ addu $5,$5,$22
+ ori $2,$2,0x2c85
+ addu $23,$17,$fp
+ addu $17,$5,$2
+ lw $2,152($sp)
+ addu $18,$18,$17
+ srl $11,$18,6
+ sll $5,$2,15
+ srl $3,$2,17
+ or $13,$5,$3
+ lw $3,492($sp)
+ sll $5,$18,26
+ or $5,$5,$11
+ lw $11,152($sp)
+ lw $14,492($sp)
+ sll $6,$2,13
+ srl $2,$2,19
+ lw $15,132($sp)
+ or $6,$6,$2
+ srl $9,$18,11
+ srl $10,$3,7
+ sll $8,$18,21
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$13,$6
+ srl $3,$18,25
+ srl $6,$11,10
+ or $2,$2,$10
+ sll $10,$18,7
+ or $10,$10,$3
+ xor $13,$9,$6
+ xor $5,$5,$8
+ srl $6,$23,13
+ srl $8,$14,3
+ xor $2,$2,$7
+ sll $3,$23,30
+ srl $7,$23,2
+ sll $9,$23,19
+ xor $11,$20,$19
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$23,22
+ or $7,$23,$25
+ addu $13,$13,$15
+ sll $6,$23,10
+ sw $22,156($sp)
+ or $6,$6,$8
+ addu $13,$13,$2
+ and $7,$24,$7
+ and $2,$23,$25
+ xor $5,$5,$10
+ and $11,$18,$11
+ xor $3,$3,$9
+ xor $11,$19,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$21,$5
+ lw $21,156($sp)
+ addu $15,$13,$12
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-1564540928 # 0xffffffffa2bf0000
+ addu $5,$5,$15
+ ori $2,$2,0xe8a1
+ addu $22,$17,$fp
+ srl $3,$21,17
+ addu $17,$5,$2
+ sll $5,$21,15
+ or $12,$5,$3
+ lw $3,500($sp)
+ addu $24,$24,$17
+ srl $2,$21,19
+ sll $6,$21,13
+ lw $13,500($sp)
+ or $6,$6,$2
+ srl $11,$24,6
+ srl $9,$24,11
+ srl $10,$3,7
+ sll $5,$24,26
+ sll $8,$24,21
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ lw $14,136($sp)
+ or $8,$8,$9
+ or $7,$7,$3
+ or $5,$5,$11
+ srl $3,$24,25
+ or $2,$2,$10
+ sll $10,$24,7
+ xor $9,$12,$6
+ or $10,$10,$3
+ srl $6,$21,10
+ xor $5,$5,$8
+ xor $12,$9,$6
+ srl $8,$13,3
+ srl $6,$22,13
+ xor $2,$2,$7
+ sll $3,$22,30
+ srl $7,$22,2
+ sll $9,$22,19
+ xor $5,$5,$10
+ xor $11,$18,$20
+ or $9,$9,$6
+ addu $13,$12,$14
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$22,22
+ or $7,$22,$23
+ sll $6,$22,10
+ addu $5,$19,$5
+ lw $19,492($sp)
+ or $6,$6,$8
+ and $7,$25,$7
+ and $11,$24,$11
+ xor $3,$3,$9
+ addu $13,$13,$2
+ and $2,$22,$23
+ xor $11,$20,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $13,$13,$19
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-1474691072 # 0xffffffffa81a0000
+ addu $5,$5,$13
+ ori $2,$2,0x664b
+ addu $21,$17,$fp
+ srl $3,$15,17
+ addu $17,$5,$2
+ sll $5,$15,15
+ or $12,$5,$3
+ lw $3,504($sp)
+ addu $25,$25,$17
+ sw $13,512($sp)
+ srl $2,$15,19
+ lw $13,504($sp)
+ sll $6,$15,13
+ lw $14,508($sp)
+ or $6,$6,$2
+ srl $11,$25,6
+ srl $9,$25,11
+ srl $10,$3,7
+ sll $5,$25,26
+ sll $8,$25,21
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$12,$6
+ srl $3,$25,25
+ srl $6,$15,10
+ or $5,$5,$11
+ or $2,$2,$10
+ sll $10,$25,7
+ xor $12,$9,$6
+ or $10,$10,$3
+ srl $6,$21,13
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$13,3
+ srl $7,$21,2
+ sll $3,$21,30
+ sll $9,$21,19
+ lw $19,500($sp)
+ xor $11,$24,$18
+ or $9,$9,$6
+ xor $2,$2,$8
+ addu $13,$12,$14
+ srl $8,$21,22
+ or $3,$3,$7
+ sll $6,$21,10
+ or $7,$21,$22
+ or $6,$6,$8
+ and $7,$23,$7
+ xor $5,$5,$10
+ and $11,$25,$11
+ xor $3,$3,$9
+ addu $13,$13,$2
+ and $2,$21,$22
+ xor $11,$18,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$20,$5
+ lw $20,512($sp)
+ addu $13,$13,$19
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-1035272192 # 0xffffffffc24b0000
+ addu $5,$5,$13
+ ori $2,$2,0x8b70
+ addu $19,$17,$fp
+ srl $3,$20,17
+ addu $17,$5,$2
+ sll $5,$20,15
+ or $12,$5,$3
+ lw $3,112($sp)
+ addu $23,$23,$17
+ sw $13,516($sp)
+ srl $2,$20,19
+ lw $13,112($sp)
+ sll $6,$20,13
+ or $6,$6,$2
+ srl $11,$23,6
+ srl $9,$23,11
+ srl $10,$3,7
+ sll $5,$23,26
+ sll $8,$23,21
+ sll $2,$3,25
+ sll $7,$3,14
+ srl $3,$3,18
+ or $8,$8,$9
+ or $7,$7,$3
+ xor $9,$12,$6
+ or $5,$5,$11
+ srl $6,$20,10
+ or $2,$2,$10
+ xor $12,$9,$6
+ lw $20,144($sp)
+ srl $6,$19,13
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$13,3
+ sll $9,$19,19
+ srl $3,$23,25
+ or $9,$9,$6
+ xor $2,$2,$8
+ sll $10,$23,7
+ srl $8,$19,22
+ sll $6,$19,10
+ or $10,$10,$3
+ srl $7,$19,2
+ or $6,$6,$8
+ sll $3,$19,30
+ lw $8,504($sp)
+ xor $11,$25,$24
+ addu $14,$12,$20
+ or $3,$3,$7
+ or $7,$19,$21
+ and $7,$22,$7
+ xor $5,$5,$10
+ and $11,$23,$11
+ xor $3,$3,$9
+ addu $14,$14,$2
+ and $2,$19,$21
+ addu $14,$14,$8
+ xor $11,$24,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$18,$5
+ sw $14,520($sp)
+ addu $fp,$3,$2
+ lw $9,516($sp)
+ addu $5,$5,$11
+ li $2,-949223424 # 0xffffffffc76c0000
+ lw $13,116($sp)
+ lw $10,116($sp)
+ addu $5,$5,$14
+ ori $2,$2,0x51a3
+ addu $20,$17,$fp
+ addu $17,$5,$2
+ addu $22,$22,$17
+ lw $14,516($sp)
+ srl $3,$9,17
+ srl $2,$9,19
+ sll $12,$9,15
+ sll $6,$9,13
+ or $6,$6,$2
+ srl $11,$22,6
+ srl $9,$22,11
+ or $12,$12,$3
+ sll $5,$22,26
+ srl $3,$13,18
+ sll $8,$22,21
+ sll $2,$10,25
+ sll $7,$13,14
+ srl $10,$10,7
+ lw $18,148($sp)
+ or $8,$8,$9
+ or $7,$7,$3
+ or $5,$5,$11
+ srl $3,$22,25
+ or $2,$2,$10
+ sll $10,$22,7
+ or $10,$10,$3
+ xor $12,$12,$6
+ xor $5,$5,$8
+ srl $6,$14,10
+ srl $8,$13,3
+ xor $12,$12,$6
+ xor $2,$2,$7
+ srl $6,$20,13
+ srl $7,$20,2
+ sll $3,$20,30
+ sll $9,$20,19
+ xor $5,$5,$10
+ xor $11,$23,$25
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$20,22
+ or $7,$20,$19
+ addu $12,$12,$18
+ sll $6,$20,10
+ addu $5,$24,$5
+ lw $24,112($sp)
+ or $6,$6,$8
+ and $7,$21,$7
+ and $11,$22,$11
+ xor $3,$3,$9
+ addu $12,$12,$2
+ and $2,$20,$19
+ xor $11,$25,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $12,$12,$24
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-778960896 # 0xffffffffd1920000
+ addu $5,$5,$12
+ ori $2,$2,0xe819
+ addu $18,$17,$fp
+ addu $17,$5,$2
+ lw $2,520($sp)
+ addu $21,$21,$17
+ srl $11,$21,6
+ sll $5,$2,15
+ srl $3,$2,17
+ or $13,$5,$3
+ sll $5,$21,26
+ sll $6,$2,13
+ or $5,$5,$11
+ srl $2,$2,19
+ lw $11,520($sp)
+ or $6,$6,$2
+ srl $9,$21,11
+ srl $10,$16,7
+ srl $3,$16,18
+ sll $8,$21,21
+ sll $2,$16,25
+ sll $7,$16,14
+ lw $24,152($sp)
+ or $8,$8,$9
+ or $7,$7,$3
+ or $2,$2,$10
+ srl $3,$21,25
+ sll $10,$21,7
+ xor $9,$13,$6
+ or $10,$10,$3
+ srl $6,$11,10
+ xor $5,$5,$8
+ xor $13,$9,$6
+ srl $8,$16,3
+ srl $6,$18,13
+ xor $2,$2,$7
+ sll $3,$18,30
+ srl $7,$18,2
+ sll $9,$18,19
+ xor $5,$5,$10
+ xor $11,$22,$23
+ or $9,$9,$6
+ addu $14,$13,$24
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$18,22
+ or $7,$18,$20
+ sll $6,$18,10
+ addu $5,$25,$5
+ lw $25,116($sp)
+ or $6,$6,$8
+ and $7,$19,$7
+ and $11,$21,$11
+ xor $3,$3,$9
+ addu $14,$14,$2
+ and $2,$18,$20
+ xor $11,$23,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $14,$14,$25
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,-694616064 # 0xffffffffd6990000
+ addu $5,$5,$14
+ ori $2,$2,0x624
+ addu $24,$17,$fp
+ addu $17,$5,$2
+ srl $2,$12,19
+ sll $5,$12,13
+ or $5,$5,$2
+ lw $2,496($sp)
+ sll $6,$12,15
+ srl $3,$12,17
+ or $13,$6,$3
+ srl $10,$2,7
+ sll $7,$2,25
+ sll $3,$2,14
+ srl $2,$2,18
+ or $3,$3,$2
+ or $7,$7,$10
+ addu $19,$19,$17
+ xor $7,$7,$3
+ lw $3,496($sp)
+ srl $11,$19,6
+ sll $6,$19,26
+ or $6,$6,$11
+ xor $11,$13,$5
+ srl $5,$12,10
+ xor $13,$11,$5
+ srl $11,$3,3
+ srl $5,$24,2
+ sll $3,$24,30
+ srl $9,$19,11
+ sll $8,$19,21
+ or $3,$3,$5
+ lw $5,156($sp)
+ or $8,$8,$9
+ srl $2,$19,25
+ sll $9,$19,7
+ or $9,$9,$2
+ xor $6,$6,$8
+ srl $2,$24,13
+ sll $8,$24,19
+ xor $10,$21,$22
+ or $8,$8,$2
+ addu $13,$13,$5
+ srl $2,$24,22
+ xor $6,$6,$9
+ sll $5,$24,10
+ or $9,$24,$18
+ or $5,$5,$2
+ and $9,$20,$9
+ and $2,$24,$18
+ xor $7,$7,$11
+ and $10,$19,$10
+ xor $3,$3,$8
+ xor $10,$22,$10
+ xor $3,$3,$5
+ or $2,$2,$9
+ addu $6,$23,$6
+ addu $7,$13,$7
+ addu $7,$7,$16
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,-200409088 # 0xfffffffff40e0000
+ sw $14,180($sp)
+ addu $6,$6,$7
+ ori $2,$2,0x3585
+ addu $25,$17,$fp
+ addu $17,$6,$2
+ lw $6,180($sp)
+ sw $7,184($sp)
+ lw $14,128($sp)
+ sw $6,524($sp)
+ lw $7,524($sp)
+ srl $10,$14,7
+ addu $20,$20,$17
+ srl $2,$7,19
+ sll $5,$7,13
+ or $5,$5,$2
+ sll $2,$14,25
+ or $2,$2,$10
+ lw $10,524($sp)
+ srl $3,$7,17
+ sll $6,$6,15
+ or $13,$6,$3
+ srl $11,$20,6
+ srl $3,$14,18
+ sll $6,$20,26
+ sll $7,$14,14
+ or $7,$7,$3
+ or $6,$6,$11
+ xor $11,$13,$5
+ srl $5,$10,10
+ srl $9,$20,11
+ xor $13,$11,$5
+ srl $10,$14,3
+ sll $8,$20,21
+ xor $2,$2,$7
+ or $8,$8,$9
+ srl $3,$20,25
+ xor $2,$2,$10
+ sll $9,$20,7
+ addu $13,$13,$15
+ or $9,$9,$3
+ xor $11,$19,$21
+ srl $7,$25,2
+ srl $3,$25,13
+ xor $6,$6,$8
+ sll $5,$25,30
+ sll $8,$25,19
+ addu $13,$13,$2
+ lw $2,124($sp)
+ or $8,$8,$3
+ or $5,$5,$7
+ srl $3,$25,22
+ xor $6,$6,$9
+ and $11,$20,$11
+ or $9,$25,$24
+ sll $7,$25,10
+ or $7,$7,$3
+ and $9,$18,$9
+ xor $11,$21,$11
+ and $3,$25,$24
+ addu $6,$22,$6
+ xor $5,$5,$8
+ addu $13,$13,$2
+ xor $5,$5,$7
+ or $3,$3,$9
+ addu $6,$6,$11
+ li $2,275382272 # 0x106a0000
+ lw $11,184($sp)
+ addu $fp,$5,$3
+ addu $6,$6,$13
+ ori $2,$2,0xa070
+ addu $23,$17,$fp
+ addu $17,$6,$2
+ addu $18,$18,$17
+ sll $6,$11,15
+ srl $3,$11,17
+ srl $2,$11,19
+ sll $5,$11,13
+ sw $13,188($sp)
+ sw $15,528($sp)
+ lw $13,132($sp)
+ or $15,$6,$3
+ or $5,$5,$2
+ srl $9,$18,11
+ sll $8,$18,21
+ or $8,$8,$9
+ xor $9,$15,$5
+ lw $15,184($sp)
+ lw $16,512($sp)
+ srl $11,$18,6
+ srl $10,$13,7
+ srl $3,$13,18
+ sll $6,$18,26
+ sll $2,$13,25
+ sll $7,$13,14
+ or $7,$7,$3
+ or $6,$6,$11
+ srl $3,$18,25
+ or $2,$2,$10
+ srl $5,$15,10
+ sll $10,$18,7
+ or $10,$10,$3
+ xor $15,$9,$5
+ xor $6,$6,$8
+ srl $5,$23,13
+ srl $8,$13,3
+ xor $2,$2,$7
+ sll $3,$23,30
+ srl $7,$23,2
+ sll $9,$23,19
+ xor $11,$20,$19
+ or $9,$9,$5
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$23,22
+ or $7,$23,$25
+ addu $15,$15,$16
+ sll $5,$23,10
+ or $5,$5,$8
+ and $7,$24,$7
+ xor $6,$6,$10
+ and $11,$18,$11
+ xor $3,$3,$9
+ addu $15,$15,$2
+ and $2,$23,$25
+ xor $11,$19,$11
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$21,$6
+ lw $21,188($sp)
+ addu $15,$15,$14
+ addu $fp,$3,$2
+ lw $14,136($sp)
+ addu $6,$6,$11
+ li $2,430178304 # 0x19a40000
+ addu $6,$6,$15
+ ori $2,$2,0xc116
+ addu $22,$17,$fp
+ sll $5,$21,15
+ addu $17,$6,$2
+ srl $3,$21,17
+ srl $2,$21,19
+ sll $6,$21,13
+ addu $24,$24,$17
+ sw $15,192($sp)
+ or $6,$6,$2
+ or $15,$5,$3
+ srl $10,$14,7
+ srl $3,$14,18
+ sll $2,$14,25
+ sll $7,$14,14
+ or $7,$7,$3
+ or $2,$2,$10
+ srl $3,$24,25
+ sll $10,$24,7
+ or $10,$10,$3
+ lw $3,516($sp)
+ srl $9,$24,11
+ sll $8,$24,21
+ or $8,$8,$9
+ xor $9,$15,$6
+ srl $6,$21,10
+ xor $15,$9,$6
+ sw $3,536($sp)
+ srl $6,$22,13
+ sll $9,$22,19
+ srl $11,$24,6
+ or $9,$9,$6
+ sll $5,$24,26
+ lw $6,536($sp)
+ or $5,$5,$11
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$14,3
+ srl $7,$22,2
+ sll $3,$22,30
+ sw $16,532($sp)
+ xor $11,$18,$20
+ xor $2,$2,$8
+ addu $16,$15,$6
+ srl $8,$22,22
+ or $3,$3,$7
+ sll $6,$22,10
+ or $7,$22,$23
+ or $6,$6,$8
+ and $7,$25,$7
+ xor $5,$5,$10
+ and $11,$24,$11
+ xor $3,$3,$9
+ addu $16,$16,$2
+ and $2,$22,$23
+ addu $16,$16,$13
+ xor $11,$20,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$19,$5
+ sw $16,540($sp)
+ addu $fp,$3,$2
+ lw $7,192($sp)
+ addu $5,$5,$11
+ li $2,506920960 # 0x1e370000
+ lw $15,508($sp)
+ lw $10,508($sp)
+ addu $5,$5,$16
+ ori $2,$2,0x6c08
+ addu $21,$17,$fp
+ lw $16,192($sp)
+ addu $17,$5,$2
+ addu $25,$25,$17
+ srl $3,$7,17
+ srl $2,$7,19
+ sll $13,$7,15
+ sll $5,$7,13
+ lw $19,520($sp)
+ or $5,$5,$2
+ srl $11,$25,6
+ srl $9,$25,11
+ or $13,$13,$3
+ sll $6,$25,26
+ srl $3,$15,18
+ sll $8,$25,21
+ sll $2,$10,25
+ sll $7,$15,14
+ srl $10,$10,7
+ or $8,$8,$9
+ or $7,$7,$3
+ or $6,$6,$11
+ srl $3,$25,25
+ xor $13,$13,$5
+ or $2,$2,$10
+ srl $5,$16,10
+ sll $10,$25,7
+ or $10,$10,$3
+ xor $6,$6,$8
+ xor $13,$13,$5
+ srl $8,$15,3
+ srl $5,$21,13
+ xor $2,$2,$7
+ sll $3,$21,30
+ srl $7,$21,2
+ sll $9,$21,19
+ xor $11,$24,$18
+ or $9,$9,$5
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$21,22
+ or $7,$21,$22
+ addu $13,$13,$19
+ sll $5,$21,10
+ or $5,$5,$8
+ and $7,$23,$7
+ xor $6,$6,$10
+ and $11,$25,$11
+ xor $3,$3,$9
+ addu $13,$13,$2
+ and $2,$21,$22
+ xor $11,$18,$11
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$20,$6
+ addu $13,$13,$14
+ lw $20,540($sp)
+ addu $fp,$3,$2
+ addu $6,$6,$11
+ li $2,659030016 # 0x27480000
+ lw $15,144($sp)
+ addu $6,$6,$13
+ ori $2,$2,0x774c
+ sw $19,544($sp)
+ addu $19,$17,$fp
+ addu $17,$6,$2
+ addu $23,$23,$17
+ srl $3,$20,17
+ srl $2,$20,19
+ sll $14,$20,15
+ sll $5,$20,13
+ or $5,$5,$2
+ srl $11,$23,6
+ srl $9,$23,11
+ srl $10,$15,7
+ or $14,$14,$3
+ sll $6,$23,26
+ srl $3,$15,18
+ sll $8,$23,21
+ sll $2,$15,25
+ sll $7,$15,14
+ or $8,$8,$9
+ or $7,$7,$3
+ or $6,$6,$11
+ xor $14,$14,$5
+ or $2,$2,$10
+ srl $5,$20,10
+ srl $3,$23,25
+ sll $10,$23,7
+ xor $6,$6,$8
+ xor $14,$14,$5
+ srl $8,$15,3
+ srl $5,$19,13
+ xor $2,$2,$7
+ sll $9,$19,19
+ or $10,$10,$3
+ srl $7,$19,2
+ or $9,$9,$5
+ xor $2,$2,$8
+ sll $3,$19,30
+ srl $8,$19,22
+ sll $5,$19,10
+ xor $11,$25,$24
+ or $5,$5,$8
+ or $3,$3,$7
+ lw $8,508($sp)
+ or $7,$19,$21
+ addu $14,$14,$12
+ and $7,$22,$7
+ xor $6,$6,$10
+ and $11,$23,$11
+ xor $3,$3,$9
+ addu $14,$14,$2
+ and $2,$19,$21
+ xor $11,$24,$11
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$18,$6
+ addu $14,$14,$8
+ addu $fp,$3,$2
+ addu $6,$6,$11
+ li $2,883949568 # 0x34b00000
+ sw $12,176($sp)
+ addu $6,$6,$14
+ lw $12,148($sp)
+ ori $2,$2,0xbcb5
+ addu $20,$17,$fp
+ addu $17,$6,$2
+ addu $22,$22,$17
+ sll $9,$13,15
+ srl $3,$13,17
+ srl $2,$13,19
+ sll $5,$13,13
+ or $16,$9,$3
+ or $5,$5,$2
+ srl $11,$22,6
+ srl $9,$22,11
+ srl $10,$12,7
+ srl $3,$12,18
+ sll $6,$22,26
+ sll $8,$22,21
+ sll $2,$12,25
+ sll $7,$12,14
+ or $8,$8,$9
+ or $7,$7,$3
+ or $6,$6,$11
+ srl $3,$22,25
+ or $2,$2,$10
+ sll $10,$22,7
+ or $10,$10,$3
+ xor $6,$6,$8
+ xor $6,$6,$10
+ lw $10,524($sp)
+ xor $9,$16,$5
+ srl $5,$13,10
+ xor $16,$9,$5
+ srl $8,$12,3
+ srl $5,$20,13
+ xor $2,$2,$7
+ sll $3,$20,30
+ srl $7,$20,2
+ sll $9,$20,19
+ xor $11,$23,$25
+ or $9,$9,$5
+ xor $2,$2,$8
+ addu $fp,$16,$10
+ srl $8,$20,22
+ or $3,$3,$7
+ sll $5,$20,10
+ or $7,$20,$19
+ addu $fp,$fp,$2
+ or $5,$5,$8
+ and $7,$21,$7
+ and $2,$20,$19
+ and $11,$22,$11
+ xor $3,$3,$9
+ xor $11,$25,$11
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$24,$6
+ addu $15,$fp,$15
+ sw $fp,552($sp)
+ addu $6,$6,$11
+ addu $fp,$3,$2
+ li $2,958136320 # 0x391c0000
+ lw $16,152($sp)
+ addu $6,$6,$15
+ ori $2,$2,0xcb3
+ addu $18,$17,$fp
+ addu $17,$6,$2
+ addu $21,$21,$17
+ sw $15,556($sp)
+ srl $3,$14,17
+ srl $2,$14,19
+ sll $15,$14,15
+ sll $5,$14,13
+ lw $24,184($sp)
+ or $5,$5,$2
+ srl $11,$21,6
+ srl $9,$21,11
+ srl $10,$16,7
+ or $15,$15,$3
+ sll $6,$21,26
+ srl $3,$16,18
+ sll $8,$21,21
+ sll $2,$16,25
+ sll $7,$16,14
+ or $8,$8,$9
+ or $7,$7,$3
+ or $6,$6,$11
+ srl $3,$21,25
+ xor $15,$15,$5
+ or $2,$2,$10
+ srl $5,$14,10
+ sll $10,$21,7
+ or $10,$10,$3
+ xor $6,$6,$8
+ xor $15,$15,$5
+ srl $8,$16,3
+ srl $5,$18,13
+ xor $2,$2,$7
+ sll $3,$18,30
+ srl $7,$18,2
+ sll $9,$18,19
+ xor $11,$22,$23
+ or $9,$9,$5
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$18,22
+ or $7,$18,$20
+ addu $15,$15,$24
+ sll $5,$18,10
+ or $5,$5,$8
+ and $7,$19,$7
+ xor $6,$6,$10
+ and $11,$21,$11
+ xor $3,$3,$9
+ addu $15,$15,$2
+ and $2,$18,$20
+ xor $11,$23,$11
+ xor $3,$3,$5
+ or $2,$2,$7
+ addu $6,$25,$6
+ lw $25,556($sp)
+ addu $15,$15,$12
+ addu $fp,$3,$2
+ addu $6,$6,$11
+ li $2,1322778624 # 0x4ed80000
+ addu $6,$6,$15
+ ori $2,$2,0xaa4a
+ addu $24,$17,$fp
+ srl $3,$25,17
+ addu $17,$6,$2
+ sll $16,$25,15
+ srl $2,$25,19
+ sll $6,$25,13
+ addu $19,$19,$17
+ lw $12,156($sp)
+ or $6,$6,$2
+ or $16,$16,$3
+ srl $9,$19,11
+ sll $8,$19,21
+ xor $16,$16,$6
+ srl $6,$25,10
+ or $8,$8,$9
+ xor $16,$16,$6
+ sll $9,$24,19
+ srl $6,$24,13
+ srl $11,$19,6
+ srl $10,$12,7
+ srl $3,$12,18
+ or $9,$9,$6
+ sll $5,$19,26
+ lw $6,188($sp)
+ sll $2,$12,25
+ sll $7,$12,14
+ or $7,$7,$3
+ or $5,$5,$11
+ or $2,$2,$10
+ srl $3,$19,25
+ sll $10,$19,7
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$12,3
+ or $10,$10,$3
+ srl $7,$24,2
+ xor $2,$2,$8
+ sll $3,$24,30
+ srl $8,$24,22
+ addu $16,$16,$6
+ sll $6,$24,10
+ xor $11,$21,$22
+ or $6,$6,$8
+ or $3,$3,$7
+ lw $8,152($sp)
+ or $7,$24,$18
+ and $7,$20,$7
+ xor $5,$5,$10
+ and $11,$19,$11
+ xor $3,$3,$9
+ addu $16,$16,$2
+ and $2,$24,$18
+ xor $11,$22,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$23,$5
+ addu $16,$16,$8
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,1536950272 # 0x5b9c0000
+ addu $5,$5,$16
+ ori $2,$2,0xca4f
+ addu $25,$17,$fp
+ addu $17,$5,$2
+ addu $20,$20,$17
+ sll $5,$15,15
+ srl $3,$15,17
+ srl $2,$15,19
+ sll $6,$15,13
+ lw $23,528($sp)
+ or $fp,$5,$3
+ lw $10,528($sp)
+ or $6,$6,$2
+ srl $9,$20,11
+ sll $8,$20,21
+ or $8,$8,$9
+ xor $9,$fp,$6
+ srl $6,$15,10
+ xor $fp,$9,$6
+ srl $6,$25,13
+ sll $9,$25,19
+ srl $11,$20,6
+ srl $3,$23,18
+ or $9,$9,$6
+ sll $5,$20,26
+ lw $6,192($sp)
+ sll $2,$10,25
+ sll $7,$23,14
+ srl $10,$10,7
+ or $7,$7,$3
+ or $5,$5,$11
+ or $2,$2,$10
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$23,3
+ srl $3,$20,25
+ xor $2,$2,$8
+ sll $10,$20,7
+ addu $fp,$fp,$6
+ or $10,$10,$3
+ srl $7,$25,2
+ sll $3,$25,30
+ addu $fp,$fp,$2
+ addu $fp,$fp,$12
+ or $3,$3,$7
+ or $7,$25,$24
+ sw $fp,560($sp)
+ xor $11,$19,$21
+ srl $8,$25,22
+ and $7,$18,$7
+ and $2,$25,$24
+ sll $6,$25,10
+ or $6,$6,$8
+ or $2,$2,$7
+ xor $5,$5,$10
+ lw $7,560($sp)
+ and $11,$20,$11
+ xor $3,$3,$9
+ xor $11,$21,$11
+ xor $3,$3,$6
+ addu $5,$22,$5
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,1747845120 # 0x682e0000
+ addu $5,$5,$7
+ ori $2,$2,0x6ff3
+ addu $23,$17,$fp
+ addu $17,$5,$2
+ addu $18,$18,$17
+ sll $5,$16,15
+ srl $3,$16,17
+ srl $2,$16,19
+ sll $6,$16,13
+ lw $22,532($sp)
+ or $12,$5,$3
+ lw $10,532($sp)
+ or $6,$6,$2
+ srl $9,$18,11
+ sll $8,$18,21
+ or $8,$8,$9
+ xor $9,$12,$6
+ srl $6,$16,10
+ xor $12,$9,$6
+ srl $6,$23,13
+ sll $9,$23,19
+ srl $11,$18,6
+ srl $3,$22,18
+ or $9,$9,$6
+ sll $5,$18,26
+ lw $6,540($sp)
+ sll $2,$10,25
+ sll $7,$22,14
+ srl $10,$10,7
+ or $7,$7,$3
+ or $5,$5,$11
+ or $2,$2,$10
+ srl $3,$18,25
+ sll $10,$18,7
+ xor $5,$5,$8
+ xor $2,$2,$7
+ srl $8,$22,3
+ or $10,$10,$3
+ srl $7,$23,2
+ xor $2,$2,$8
+ sll $3,$23,30
+ srl $8,$23,22
+ addu $12,$12,$6
+ sll $6,$23,10
+ xor $11,$20,$19
+ or $6,$6,$8
+ or $3,$3,$7
+ lw $8,528($sp)
+ or $7,$23,$25
+ and $7,$24,$7
+ xor $5,$5,$10
+ and $11,$18,$11
+ xor $3,$3,$9
+ addu $12,$12,$2
+ and $2,$23,$25
+ xor $11,$19,$11
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$21,$5
+ addu $12,$12,$8
+ addu $fp,$3,$2
+ addu $5,$5,$11
+ li $2,1955528704 # 0x748f0000
+ lw $9,560($sp)
+ addu $5,$5,$12
+ ori $2,$2,0x82ee
+ addu $22,$17,$fp
+ addu $17,$5,$2
+ addu $24,$24,$17
+ lw $21,536($sp)
+ lw $11,536($sp)
+ srl $3,$9,17
+ srl $2,$9,19
+ sll $10,$9,15
+ sll $6,$9,13
+ sll $8,$24,21
+ srl $9,$24,11
+ or $8,$8,$9
+ lw $9,560($sp)
+ sw $12,564($sp)
+ or $6,$6,$2
+ srl $12,$24,6
+ or $10,$10,$3
+ sll $5,$24,26
+ srl $3,$21,18
+ sll $2,$11,25
+ sll $7,$21,14
+ srl $11,$11,7
+ or $7,$7,$3
+ or $5,$5,$12
+ srl $3,$24,25
+ xor $10,$10,$6
+ or $2,$2,$11
+ srl $6,$9,10
+ sll $11,$24,7
+ or $11,$11,$3
+ xor $5,$5,$8
+ xor $10,$10,$6
+ srl $8,$21,3
+ srl $6,$22,13
+ xor $2,$2,$7
+ sll $3,$22,30
+ srl $7,$22,2
+ sll $9,$22,19
+ xor $12,$18,$20
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$22,22
+ or $7,$22,$23
+ xor $5,$5,$11
+ addu $10,$10,$13
+ lw $11,532($sp)
+ sll $6,$22,10
+ or $6,$6,$8
+ and $7,$25,$7
+ and $12,$24,$12
+ xor $3,$3,$9
+ addu $10,$10,$2
+ and $2,$22,$23
+ xor $12,$20,$12
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$19,$5
+ addu $10,$10,$11
+ addu $fp,$3,$2
+ addu $5,$5,$12
+ li $2,2024079360 # 0x78a50000
+ addu $5,$5,$10
+ ori $2,$2,0x636f
+ addu $21,$17,$fp
+ addu $17,$5,$2
+ addu $25,$25,$17
+ lw $13,564($sp)
+ lw $19,544($sp)
+ srl $9,$25,11
+ sll $8,$25,21
+ or $8,$8,$9
+ lw $9,564($sp)
+ srl $3,$13,17
+ srl $2,$13,19
+ sll $11,$13,15
+ sll $6,$13,13
+ or $6,$6,$2
+ srl $13,$25,6
+ srl $12,$19,7
+ or $11,$11,$3
+ sll $5,$25,26
+ srl $3,$19,18
+ sll $2,$19,25
+ sll $7,$19,14
+ or $7,$7,$3
+ or $5,$5,$13
+ srl $3,$25,25
+ xor $11,$11,$6
+ or $2,$2,$12
+ srl $6,$9,10
+ sll $12,$25,7
+ or $12,$12,$3
+ xor $5,$5,$8
+ xor $11,$11,$6
+ srl $8,$19,3
+ srl $6,$21,13
+ xor $2,$2,$7
+ sll $3,$21,30
+ srl $7,$21,2
+ sll $9,$21,19
+ xor $13,$24,$18
+ or $9,$9,$6
+ xor $2,$2,$8
+ or $3,$3,$7
+ srl $8,$21,22
+ or $7,$21,$22
+ addu $11,$11,$14
+ sll $6,$21,10
+ lw $14,536($sp)
+ or $6,$6,$8
+ and $7,$23,$7
+ xor $5,$5,$12
+ and $13,$25,$13
+ xor $3,$3,$9
+ addu $11,$11,$2
+ and $2,$21,$22
+ xor $13,$18,$13
+ xor $3,$3,$6
+ or $2,$2,$7
+ addu $5,$20,$5
+ addu $11,$11,$14
+ lw $20,176($sp)
+ addu $fp,$3,$2
+ addu $5,$5,$13
+ li $2,-2067267584 # 0xffffffff84c80000
+ addu $5,$5,$11
+ ori $2,$2,0x7814
+ addu $19,$17,$fp
+ srl $3,$10,17
+ addu $17,$5,$2
+ sll $12,$10,15
+ srl $2,$10,19
+ sll $6,$10,13
+ addu $23,$23,$17
+ or $6,$6,$2
+ or $12,$12,$3
+ srl $2,$20,18
+ sll $3,$20,14
+ srl $9,$23,11
+ or $3,$3,$2
+ sll $8,$23,21
+ srl $2,$23,25
+ xor $12,$12,$6
+ sll $6,$23,7
+ or $8,$8,$9
+ or $6,$6,$2
+ sll $9,$19,19
+ srl $2,$19,13
+ srl $13,$20,7
+ or $9,$9,$2
+ sll $7,$20,25
+ lw $2,556($sp)
+ srl $14,$23,6
+ sll $5,$23,26
+ or $7,$7,$13
+ srl $10,$10,10
+ srl $13,$20,3
+ or $5,$5,$14
+ xor $12,$12,$10
+ xor $7,$7,$3
+ xor $7,$7,$13
+ xor $5,$5,$8
+ sll $3,$19,30
+ srl $8,$19,2
+ addu $12,$12,$2
+ xor $10,$25,$24
+ srl $2,$19,22
+ or $3,$3,$8
+ xor $5,$5,$6
+ or $8,$19,$21
+ sll $6,$19,10
+ addu $12,$12,$7
+ lw $7,544($sp)
+ or $6,$6,$2
+ and $8,$22,$8
+ and $2,$19,$21
+ and $10,$23,$10
+ xor $3,$3,$9
+ xor $10,$24,$10
+ xor $3,$3,$6
+ or $2,$2,$8
+ addu $5,$18,$5
+ addu $12,$12,$7
+ addu $fp,$3,$2
+ addu $5,$5,$10
+ li $2,-1933115392 # 0xffffffff8cc70000
+ lw $18,524($sp)
+ addu $5,$5,$12
+ ori $2,$2,0x208
+ addu $20,$17,$fp
+ lw $10,524($sp)
+ addu $17,$5,$2
+ addu $22,$22,$17
+ srl $3,$11,17
+ srl $2,$11,19
+ sll $13,$11,15
+ sll $5,$11,13
+ or $5,$5,$2
+ srl $14,$22,6
+ srl $9,$22,11
+ srl $2,$18,18
+ or $13,$13,$3
+ sll $6,$22,26
+ sll $8,$22,21
+ sll $3,$18,14
+ or $8,$8,$9
+ or $3,$3,$2
+ sll $7,$10,25
+ srl $2,$22,25
+ srl $10,$10,7
+ or $6,$6,$14
+ sll $9,$22,7
+ or $9,$9,$2
+ or $7,$7,$10
+ xor $6,$6,$8
+ srl $2,$20,13
+ xor $13,$13,$5
+ srl $11,$11,10
+ srl $5,$20,2
+ xor $7,$7,$3
+ sll $8,$20,19
+ sll $3,$20,30
+ xor $6,$6,$9
+ xor $10,$23,$25
+ or $8,$8,$2
+ or $9,$20,$19
+ srl $2,$20,22
+ xor $13,$13,$11
+ or $3,$3,$5
+ srl $11,$18,3
+ sll $5,$20,10
+ addu $6,$24,$6
+ lw $24,176($sp)
+ xor $7,$7,$11
+ or $5,$5,$2
+ and $9,$21,$9
+ and $2,$20,$19
+ addu $13,$13,$15
+ and $10,$22,$10
+ xor $3,$3,$8
+ xor $10,$25,$10
+ xor $3,$3,$5
+ or $2,$2,$9
+ addu $13,$13,$7
+ addu $13,$13,$24
+ addu $fp,$3,$2
+ addu $6,$6,$10
+ li $2,-1866596352 # 0xffffffff90be0000
+ addu $6,$6,$13
+ ori $2,$2,0xfffa
+ addu $18,$17,$fp
+ sll $5,$12,13
+ addu $17,$6,$2
+ srl $2,$12,19
+ addu $21,$21,$17
+ or $5,$5,$2
+ lw $2,184($sp)
+ srl $14,$21,6
+ sll $6,$21,26
+ srl $3,$12,17
+ sll $11,$12,15
+ or $6,$6,$14
+ lw $14,184($sp)
+ srl $9,$21,11
+ srl $10,$2,7
+ or $11,$11,$3
+ sll $8,$21,21
+ sll $3,$2,25
+ sll $7,$2,14
+ srl $2,$2,18
+ or $8,$8,$9
+ or $7,$7,$2
+ xor $11,$11,$5
+ srl $2,$21,25
+ or $3,$3,$10
+ srl $12,$12,10
+ sll $9,$21,7
+ or $9,$9,$2
+ xor $6,$6,$8
+ srl $2,$18,13
+ xor $11,$11,$12
+ xor $3,$3,$7
+ srl $12,$14,3
+ srl $7,$18,2
+ sll $5,$18,30
+ sll $8,$18,19
+ or $8,$8,$2
+ xor $3,$3,$12
+ srl $2,$18,22
+ or $5,$5,$7
+ xor $6,$6,$9
+ addu $11,$11,$16
+ or $9,$18,$20
+ sll $7,$18,10
+ or $7,$7,$2
+ and $9,$19,$9
+ xor $5,$5,$8
+ addu $11,$11,$3
+ and $3,$18,$20
+ xor $5,$5,$7
+ or $3,$3,$9
+ lw $2,180($sp)
+ addu $fp,$5,$3
+ xor $10,$22,$23
+ addu $24,$17,$fp
+ and $10,$21,$10
+ xor $10,$23,$10
+ addu $6,$25,$6
+ srl $15,$24,2
+ sw $15,568($sp)
+ addu $11,$11,$2
+ lw $25,188($sp)
+ addu $6,$6,$10
+ li $2,-1538260992 # 0xffffffffa4500000
+ addu $6,$6,$11
+ ori $2,$2,0x6ceb
+ addu $17,$6,$2
+ sll $9,$13,13
+ srl $2,$13,19
+ addu $19,$19,$17
+ srl $3,$13,17
+ or $9,$9,$2
+ srl $10,$25,7
+ srl $2,$25,18
+ sll $6,$13,15
+ sll $7,$25,25
+ sll $14,$25,14
+ srl $12,$19,6
+ lw $25,568($sp)
+ or $14,$14,$2
+ or $6,$6,$3
+ sll $5,$19,26
+ srl $3,$19,11
+ sll $15,$19,21
+ or $7,$7,$10
+ or $15,$15,$3
+ or $5,$5,$12
+ xor $7,$7,$14
+ lw $14,188($sp)
+ srl $fp,$24,13
+ xor $5,$5,$15
+ sll $8,$24,30
+ lw $15,560($sp)
+ sll $16,$24,19
+ or $16,$16,$fp
+ srl $3,$19,25
+ or $8,$8,$25
+ xor $6,$6,$9
+ srl $13,$13,10
+ or $12,$24,$18
+ srl $2,$24,22
+ sll $10,$19,7
+ sll $9,$24,10
+ or $9,$9,$2
+ or $10,$10,$3
+ and $12,$20,$12
+ xor $2,$21,$22
+ xor $8,$8,$16
+ xor $6,$6,$13
+ lw $16,184($sp)
+ srl $13,$14,3
+ and $3,$24,$18
+ xor $8,$8,$9
+ or $3,$3,$12
+ xor $7,$7,$13
+ xor $5,$5,$10
+ addu $6,$6,$15
+ and $2,$19,$2
+ addu $fp,$8,$3
+ xor $2,$22,$2
+ addu $5,$23,$5
+ addu $6,$6,$7
+ addu $25,$17,$fp
+ addu $6,$6,$16
+ addu $5,$5,$2
+ li $2,-1090977792 # 0xffffffffbef90000
+ lw $14,192($sp)
+ addu $5,$5,$6
+ srl $8,$25,2
+ srl $7,$25,13
+ ori $2,$2,0xa3f7
+ sll $6,$25,30
+ sll $3,$25,19
+ addu $17,$5,$2
+ or $3,$3,$7
+ or $6,$6,$8
+ srl $7,$25,22
+ sll $5,$25,10
+ or $2,$25,$24
+ addu $20,$20,$17
+ or $5,$5,$7
+ and $2,$18,$2
+ srl $7,$11,17
+ xor $6,$6,$3
+ sll $8,$11,15
+ and $12,$25,$24
+ xor $6,$6,$5
+ srl $16,$20,6
+ srl $5,$20,11
+ or $12,$12,$2
+ or $8,$8,$7
+ srl $2,$14,18
+ sll $7,$20,26
+ sll $10,$20,21
+ sll $9,$14,14
+ srl $3,$11,19
+ addu $fp,$6,$12
+ or $10,$10,$5
+ or $9,$9,$2
+ srl $5,$20,25
+ sll $13,$11,13
+ or $7,$7,$16
+ sll $2,$20,7
+ addu $23,$17,$fp
+ or $2,$2,$5
+ lw $17,564($sp)
+ or $13,$13,$3
+ srl $15,$14,7
+ sll $3,$14,25
+ xor $7,$7,$10
+ xor $5,$19,$21
+ xor $7,$7,$2
+ xor $8,$8,$13
+ or $3,$3,$15
+ srl $11,$11,10
+ srl $2,$23,13
+ xor $3,$3,$9
+ and $5,$20,$5
+ sll $9,$23,19
+ addu $7,$22,$7
+ xor $8,$8,$11
+ lw $22,188($sp)
+ srl $14,$14,3
+ srl $10,$23,2
+ or $9,$9,$2
+ xor $5,$21,$5
+ addu $8,$8,$17
+ xor $3,$3,$14
+ sll $6,$23,30
+ or $2,$23,$25
+ addu $8,$8,$3
+ or $6,$6,$10
+ sll $3,$23,10
+ srl $10,$23,22
+ addu $7,$7,$5
+ and $2,$24,$2
+ and $5,$23,$25
+ addu $8,$8,$22
+ or $5,$5,$2
+ xor $6,$6,$9
+ or $3,$3,$10
+ li $2,-965672960 # 0xffffffffc6710000
+ addu $7,$7,$8
+ xor $6,$6,$3
+ ori $2,$2,0x78f2
+ lw $3,8($4)
+ addu $17,$7,$2
+ addu $fp,$6,$5
+ addu $22,$17,$fp
+ addu $3,$3,$22
+ lw $7,24($4)
+ lw $8,28($4)
+ lw $9,32($4)
+ lw $2,36($4)
+ sw $3,8($4)
+ lw $3,12($4)
+ addu $18,$18,$17
+ lw $5,16($4)
+ lw $6,20($4)
+ addu $3,$3,$23
+ addu $7,$7,$18
+ addu $8,$8,$20
+ addu $9,$9,$19
+ addu $2,$2,$21
+ lw $fp,608($sp)
+ lw $23,604($sp)
+ lw $22,600($sp)
+ lw $21,596($sp)
+ lw $20,592($sp)
+ lw $19,588($sp)
+ lw $18,584($sp)
+ lw $17,580($sp)
+ lw $16,576($sp)
+ addu $5,$5,$25
+ addu $6,$6,$24
+ addiu $sp,$sp,616
+ sw $2,36($4)
+ sw $3,12($4)
+ sw $5,16($4)
+ sw $6,20($4)
+ sw $7,24($4)
+ sw $8,28($4)
+ j $31
+ sw $9,32($4)
+
+ .set macro
+ .set reorder
+ .end sha2_process
+ .section .text.sha2_update,"ax",@progbits
+ .align 2
+ .globl sha2_update
+ .ent sha2_update
+ .type sha2_update, @function
+sha2_update:
+ .set nomips16
+ .frame $sp,40,$31 # vars= 0, regs= 6/0, args= 16, gp= 0
+ .mask 0x801f0000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-40
+ sw $20,32($sp)
+ sw $17,20($sp)
+ sw $16,16($sp)
+ sw $31,36($sp)
+ sw $19,28($sp)
+ sw $18,24($sp)
+ move $16,$6
+ move $17,$4
+ blez $6,$L6
+ move $20,$5
+
+ lw $2,0($4)
+ nop
+ addu $3,$2,$6
+ andi $19,$2,0x3f
+ sltu $4,$3,$6
+ li $2,64 # 0x40
+ subu $18,$2,$19
+ beq $4,$0,$L8
+ sw $3,0($17)
+
+ lw $2,4($17)
+ nop
+ addiu $2,$2,1
+ sw $2,4($17)
+$L8:
+ beq $19,$0,$L16
+ slt $2,$16,64
+
+ slt $2,$16,$18
+ bne $2,$0,$L16
+ slt $2,$16,64
+
+ addu $4,$17,$19
+ addiu $4,$4,40
+ jal memcpy
+ move $6,$18
+
+ move $4,$17
+ jal sha2_process
+ addiu $5,$17,40
+
+ subu $16,$16,$18
+ addu $20,$20,$18
+ move $19,$0
+ slt $2,$16,64
+$L16:
+ bne $2,$0,$L15
+ move $5,$20
+
+ addiu $16,$16,-64
+ jal sha2_process
+ move $4,$17
+
+ addiu $20,$20,64
+ j $L16
+ slt $2,$16,64
+
+$L15:
+ blez $16,$L6
+ addu $4,$17,$19
+
+ move $5,$20
+ move $6,$16
+ lw $31,36($sp)
+ lw $20,32($sp)
+ lw $19,28($sp)
+ lw $18,24($sp)
+ lw $17,20($sp)
+ lw $16,16($sp)
+ addiu $4,$4,40
+ j memcpy
+ addiu $sp,$sp,40
+
+$L6:
+ lw $31,36($sp)
+ lw $20,32($sp)
+ lw $19,28($sp)
+ lw $18,24($sp)
+ lw $17,20($sp)
+ lw $16,16($sp)
+ j $31
+ addiu $sp,$sp,40
+
+ .set macro
+ .set reorder
+ .end sha2_update
+ .section .text.sha2_finish,"ax",@progbits
+ .align 2
+ .globl sha2_finish
+ .ent sha2_finish
+ .type sha2_finish, @function
+sha2_finish:
+ .set nomips16
+ .frame $sp,40,$31 # vars= 8, regs= 3/0, args= 16, gp= 0
+ .mask 0x80030000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-40
+ sw $17,28($sp)
+ sw $16,24($sp)
+ sw $31,32($sp)
+ lw $3,0($4)
+ lw $2,4($4)
+ move $16,$4
+ srl $4,$3,29
+ sll $2,$2,3
+ or $4,$4,$2
+ andi $11,$3,0x3f
+ sll $3,$3,3
+ srl $2,$4,24
+ move $17,$5
+ srl $6,$4,8
+ srl $5,$4,16
+ srl $7,$3,24
+ srl $8,$3,16
+ srl $9,$3,8
+ sltu $10,$11,56
+ sb $2,16($sp)
+ sb $5,17($sp)
+ sb $6,18($sp)
+ sb $4,19($sp)
+ sb $7,20($sp)
+ sb $8,21($sp)
+ sb $9,22($sp)
+ sb $3,23($sp)
+ bne $10,$0,$L21
+ li $2,56 # 0x38
+
+ li $2,120 # 0x78
+$L21:
+ lui $5,%hi(sha2_padding)
+ subu $6,$2,$11
+ addiu $5,$5,%lo(sha2_padding)
+ jal sha2_update
+ move $4,$16
+
+ move $4,$16
+ addiu $5,$sp,16
+ jal sha2_update
+ li $6,8 # 0x8
+
+ lbu $2,8($16)
+ nop
+ sb $2,0($17)
+ lhu $2,8($16)
+ nop
+ sb $2,1($17)
+ lw $2,8($16)
+ nop
+ srl $2,$2,8
+ sb $2,2($17)
+ lw $2,8($16)
+ nop
+ sb $2,3($17)
+ lbu $2,12($16)
+ nop
+ sb $2,4($17)
+ lhu $2,12($16)
+ nop
+ sb $2,5($17)
+ lw $2,12($16)
+ nop
+ srl $2,$2,8
+ sb $2,6($17)
+ lw $2,12($16)
+ nop
+ sb $2,7($17)
+ lbu $2,16($16)
+ nop
+ sb $2,8($17)
+ lhu $2,16($16)
+ nop
+ sb $2,9($17)
+ lw $2,16($16)
+ nop
+ srl $2,$2,8
+ sb $2,10($17)
+ lw $2,16($16)
+ nop
+ sb $2,11($17)
+ lbu $2,20($16)
+ nop
+ sb $2,12($17)
+ lhu $2,20($16)
+ nop
+ sb $2,13($17)
+ lw $2,20($16)
+ nop
+ srl $2,$2,8
+ sb $2,14($17)
+ lw $2,20($16)
+ nop
+ sb $2,15($17)
+ lbu $2,24($16)
+ nop
+ sb $2,16($17)
+ lhu $2,24($16)
+ nop
+ sb $2,17($17)
+ lw $2,24($16)
+ nop
+ srl $2,$2,8
+ sb $2,18($17)
+ lw $2,24($16)
+ nop
+ sb $2,19($17)
+ lbu $2,28($16)
+ nop
+ sb $2,20($17)
+ lhu $2,28($16)
+ nop
+ sb $2,21($17)
+ lw $2,28($16)
+ nop
+ srl $2,$2,8
+ sb $2,22($17)
+ lw $2,28($16)
+ nop
+ sb $2,23($17)
+ lbu $2,32($16)
+ nop
+ sb $2,24($17)
+ lhu $2,32($16)
+ nop
+ sb $2,25($17)
+ lw $2,32($16)
+ nop
+ srl $2,$2,8
+ sb $2,26($17)
+ lw $2,32($16)
+ nop
+ sb $2,27($17)
+ lw $2,232($16)
+ nop
+ bne $2,$0,$L17
+ nop
+
+ lbu $2,36($16)
+ nop
+ sb $2,28($17)
+ lhu $2,36($16)
+ nop
+ sb $2,29($17)
+ lw $2,36($16)
+ nop
+ srl $2,$2,8
+ sb $2,30($17)
+ lw $2,36($16)
+ nop
+ sb $2,31($17)
+$L17:
+ lw $31,32($sp)
+ lw $17,28($sp)
+ lw $16,24($sp)
+ j $31
+ addiu $sp,$sp,40
+
+ .set macro
+ .set reorder
+ .end sha2_finish
+ .section .text.sha2,"ax",@progbits
+ .align 2
+ .globl sha2
+ .ent sha2
+ .type sha2, @function
+sha2:
+ .set nomips16
+ .frame $sp,272,$31 # vars= 240, regs= 4/0, args= 16, gp= 0
+ .mask 0x80070000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-272
+ sw $17,260($sp)
+ sw $16,256($sp)
+ move $17,$5
+ move $16,$4
+ move $5,$7
+ addiu $4,$sp,16
+ sw $31,268($sp)
+ sw $18,264($sp)
+ jal sha2_starts
+ move $18,$6
+
+ move $6,$17
+ move $5,$16
+ jal sha2_update
+ addiu $4,$sp,16
+
+ move $5,$18
+ jal sha2_finish
+ addiu $4,$sp,16
+
+ addiu $4,$sp,16
+ move $5,$0
+ jal memset
+ li $6,236 # 0xec
+
+ lw $31,268($sp)
+ lw $18,264($sp)
+ lw $17,260($sp)
+ lw $16,256($sp)
+ j $31
+ addiu $sp,$sp,272
+
+ .set macro
+ .set reorder
+ .end sha2
+ .section .text.sha2_hmac_starts,"ax",@progbits
+ .align 2
+ .globl sha2_hmac_starts
+ .ent sha2_hmac_starts
+ .type sha2_hmac_starts, @function
+sha2_hmac_starts:
+ .set nomips16
+ .frame $sp,72,$31 # vars= 32, regs= 6/0, args= 16, gp= 0
+ .mask 0x801f0000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ slt $2,$6,65
+ sw $20,64($sp)
+ sw $18,56($sp)
+ sw $17,52($sp)
+ sw $16,48($sp)
+ sw $31,68($sp)
+ sw $19,60($sp)
+ move $16,$6
+ move $18,$4
+ move $17,$5
+ bne $2,$0,$L24
+ move $20,$7
+
+ move $4,$5
+ move $5,$6
+ jal sha2
+ addiu $6,$sp,16
+
+ li $16,28 # 0x1c
+ li $2,32 # 0x20
+ movz $16,$2,$20 #RLX4181/RLX4281:conditional move
+ addiu $17,$sp,16
+$L24:
+ addiu $19,$18,104
+ move $4,$19
+ li $5,54 # 0x36
+ jal memset
+ li $6,64 # 0x40
+
+ addiu $4,$18,168
+ li $5,92 # 0x5c
+ jal memset
+ li $6,64 # 0x40
+
+ blez $16,$L32
+ move $7,$0
+
+$L30:
+ addu $4,$7,$18
+ addu $6,$17,$7
+ lbu $5,0($6)
+ lbu $2,104($4)
+ lbu $3,168($4)
+ addiu $7,$7,1
+ xor $2,$2,$5
+ sb $2,104($4)
+ lbu $2,0($6)
+ slt $5,$7,$16
+ xor $3,$3,$2
+ bne $5,$0,$L30
+ sb $3,168($4)
+
+$L32:
+ move $5,$20
+ jal sha2_starts
+ move $4,$18
+
+ move $4,$18
+ move $5,$19
+ jal sha2_update
+ li $6,64 # 0x40
+
+ addiu $4,$sp,16
+ move $5,$0
+ jal memset
+ li $6,32 # 0x20
+
+ lw $31,68($sp)
+ lw $20,64($sp)
+ lw $19,60($sp)
+ lw $18,56($sp)
+ lw $17,52($sp)
+ lw $16,48($sp)
+ j $31
+ addiu $sp,$sp,72
+
+ .set macro
+ .set reorder
+ .end sha2_hmac_starts
+ .section .text.sha2_hmac_update,"ax",@progbits
+ .align 2
+ .globl sha2_hmac_update
+ .ent sha2_hmac_update
+ .type sha2_hmac_update, @function
+sha2_hmac_update:
+ .set nomips16
+ .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ j sha2_update
+ nop
+
+ .set macro
+ .set reorder
+ .end sha2_hmac_update
+ .section .text.sha2_hmac_finish,"ax",@progbits
+ .align 2
+ .globl sha2_hmac_finish
+ .ent sha2_hmac_finish
+ .type sha2_hmac_finish, @function
+sha2_hmac_finish:
+ .set nomips16
+ .frame $sp,72,$31 # vars= 32, regs= 5/0, args= 16, gp= 0
+ .mask 0x800f0000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ sw $31,64($sp)
+ sw $19,60($sp)
+ sw $17,52($sp)
+ sw $16,48($sp)
+ sw $18,56($sp)
+ lw $18,232($4)
+ move $16,$4
+ li $2,28 # 0x1c
+ move $19,$5
+ li $17,32 # 0x20
+ addiu $5,$sp,16
+ jal sha2_finish
+ movn $17,$2,$18 #RLX4181/RLX4281:conditional move
+
+ move $4,$16
+ jal sha2_starts
+ move $5,$18
+
+ move $4,$16
+ addiu $5,$16,168
+ jal sha2_update
+ li $6,64 # 0x40
+
+ move $6,$17
+ move $4,$16
+ jal sha2_update
+ addiu $5,$sp,16
+
+ move $4,$16
+ jal sha2_finish
+ move $5,$19
+
+ addiu $4,$sp,16
+ move $5,$0
+ jal memset
+ li $6,32 # 0x20
+
+ lw $31,64($sp)
+ lw $19,60($sp)
+ lw $18,56($sp)
+ lw $17,52($sp)
+ lw $16,48($sp)
+ j $31
+ addiu $sp,$sp,72
+
+ .set macro
+ .set reorder
+ .end sha2_hmac_finish
+ .section .text.sha2_hmac,"ax",@progbits
+ .align 2
+ .globl sha2_hmac
+ .ent sha2_hmac
+ .type sha2_hmac, @function
+sha2_hmac:
+ .set nomips16
+ .frame $sp,272,$31 # vars= 240, regs= 3/0, args= 16, gp= 0
+ .mask 0x80030000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-272
+ sw $17,260($sp)
+ move $17,$7
+ lw $7,292($sp)
+ move $2,$5
+ sw $16,256($sp)
+ move $5,$4
+ move $16,$6
+ addiu $4,$sp,16
+ sw $31,264($sp)
+ jal sha2_hmac_starts
+ move $6,$2
+
+ move $6,$17
+ move $5,$16
+ jal sha2_hmac_update
+ addiu $4,$sp,16
+
+ lw $5,288($sp)
+ jal sha2_hmac_finish
+ addiu $4,$sp,16
+
+ addiu $4,$sp,16
+ move $5,$0
+ jal memset
+ li $6,236 # 0xec
+
+ lw $31,264($sp)
+ lw $17,260($sp)
+ lw $16,256($sp)
+ j $31
+ addiu $sp,$sp,272
+
+ .set macro
+ .set reorder
+ .end sha2_hmac
+ .section .text.sha256_hmac,"ax",@progbits
+ .align 2
+ .globl sha256_hmac
+ .ent sha256_hmac
+ .type sha256_hmac, @function
+sha256_hmac:
+ .set nomips16
+ .frame $sp,64,$31 # vars= 32, regs= 2/0, args= 24, gp= 0
+ .mask 0x80010000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-64
+ sw $16,56($sp)
+ addiu $16,$sp,24
+ sw $31,60($sp)
+ sw $16,16($sp)
+ jal sha2_hmac
+ sw $0,20($sp)
+
+ lw $4,80($sp)
+ lw $6,84($sp)
+ jal memcpy
+ move $5,$16
+
+ move $4,$16
+ move $5,$0
+ jal memset
+ li $6,32 # 0x20
+
+ lw $31,60($sp)
+ lw $16,56($sp)
+ j $31
+ addiu $sp,$sp,64
+
+ .set macro
+ .set reorder
+ .end sha256_hmac
+ .section .text.KD_hmac_sha256,"ax",@progbits
+ .align 2
+ .globl KD_hmac_sha256
+ .ent KD_hmac_sha256
+ .type KD_hmac_sha256, @function
+KD_hmac_sha256:
+ .set nomips16
+ .frame $sp,56,$31 # vars= 0, regs= 7/0, args= 24, gp= 0
+ .mask 0x803f0000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-56
+ sw $21,44($sp)
+ sw $20,40($sp)
+ sw $19,36($sp)
+ sw $18,32($sp)
+ sw $16,24($sp)
+ sw $31,48($sp)
+ sw $17,28($sp)
+ move $20,$4
+ move $21,$5
+ move $9,$6
+ move $8,$7
+ lw $19,72($sp)
+ lw $16,76($sp)
+ j $L40
+ move $18,$0
+
+$L44:
+ li $2,32 # 0x20
+ sw $2,20($sp)
+ sw $17,16($sp)
+ jal sha256_hmac
+ addiu $18,$18,1
+
+ addiu $16,$16,-32
+ move $9,$17
+ li $8,32 # 0x20
+$L40:
+ addiu $2,$16,31
+ slt $3,$16,0
+ movz $2,$16,$3 #RLX4181/RLX4281:conditional move
+ sll $4,$18,5
+ sra $2,$2,5
+ addu $17,$19,$4
+ move $6,$9
+ move $7,$8
+ move $4,$20
+ bne $2,$0,$L44
+ move $5,$21
+
+ blez $16,$L39
+ nop
+
+ sw $17,72($sp)
+ sw $16,76($sp)
+ lw $31,48($sp)
+ lw $21,44($sp)
+ lw $20,40($sp)
+ lw $19,36($sp)
+ lw $18,32($sp)
+ lw $17,28($sp)
+ lw $16,24($sp)
+ j sha256_hmac
+ addiu $sp,$sp,56
+
+$L39:
+ lw $31,48($sp)
+ lw $21,44($sp)
+ lw $20,40($sp)
+ lw $19,36($sp)
+ lw $18,32($sp)
+ lw $17,28($sp)
+ lw $16,24($sp)
+ j $31
+ addiu $sp,$sp,56
+
+ .set macro
+ .set reorder
+ .end KD_hmac_sha256
+ .data
+ .align 2
+ .type Sbox_tmp.2, @object
+ .size Sbox_tmp.2, 256
+Sbox_tmp.2:
+ .byte -42
+ .byte -112
+ .byte -23
+ .byte -2
+ .byte -52
+ .byte -31
+ .byte 61
+ .byte -73
+ .byte 22
+ .byte -74
+ .byte 20
+ .byte -62
+ .byte 40
+ .byte -5
+ .byte 44
+ .byte 5
+ .byte 43
+ .byte 103
+ .byte -102
+ .byte 118
+ .byte 42
+ .byte -66
+ .byte 4
+ .byte -61
+ .byte -86
+ .byte 68
+ .byte 19
+ .byte 38
+ .byte 73
+ .byte -122
+ .byte 6
+ .byte -103
+ .byte -100
+ .byte 66
+ .byte 80
+ .byte -12
+ .byte -111
+ .byte -17
+ .byte -104
+ .byte 122
+ .byte 51
+ .byte 84
+ .byte 11
+ .byte 67
+ .byte -19
+ .byte -49
+ .byte -84
+ .byte 98
+ .byte -28
+ .byte -77
+ .byte 28
+ .byte -87
+ .byte -55
+ .byte 8
+ .byte -24
+ .byte -107
+ .byte -128
+ .byte -33
+ .byte -108
+ .byte -6
+ .byte 117
+ .byte -113
+ .byte 63
+ .byte -90
+ .byte 71
+ .byte 7
+ .byte -89
+ .byte -4
+ .byte -13
+ .byte 115
+ .byte 23
+ .byte -70
+ .byte -125
+ .byte 89
+ .byte 60
+ .byte 25
+ .byte -26
+ .byte -123
+ .byte 79
+ .byte -88
+ .byte 104
+ .byte 107
+ .byte -127
+ .byte -78
+ .byte 113
+ .byte 100
+ .byte -38
+ .byte -117
+ .byte -8
+ .byte -21
+ .byte 15
+ .byte 75
+ .byte 112
+ .byte 86
+ .byte -99
+ .byte 53
+ .byte 30
+ .byte 36
+ .byte 14
+ .byte 94
+ .byte 99
+ .byte 88
+ .byte -47
+ .byte -94
+ .byte 37
+ .byte 34
+ .byte 124
+ .byte 59
+ .byte 1
+ .byte 33
+ .byte 120
+ .byte -121
+ .byte -44
+ .byte 0
+ .byte 70
+ .byte 87
+ .byte -97
+ .byte -45
+ .byte 39
+ .byte 82
+ .byte 76
+ .byte 54
+ .byte 2
+ .byte -25
+ .byte -96
+ .byte -60
+ .byte -56
+ .byte -98
+ .byte -22
+ .byte -65
+ .byte -118
+ .byte -46
+ .byte 64
+ .byte -57
+ .byte 56
+ .byte -75
+ .byte -93
+ .byte -9
+ .byte -14
+ .byte -50
+ .byte -7
+ .byte 97
+ .byte 21
+ .byte -95
+ .byte -32
+ .byte -82
+ .byte 93
+ .byte -92
+ .byte -101
+ .byte 52
+ .byte 26
+ .byte 85
+ .byte -83
+ .byte -109
+ .byte 50
+ .byte 48
+ .byte -11
+ .byte -116
+ .byte -79
+ .byte -29
+ .byte 29
+ .byte -10
+ .byte -30
+ .byte 46
+ .byte -126
+ .byte 102
+ .byte -54
+ .byte 96
+ .byte -64
+ .byte 41
+ .byte 35
+ .byte -85
+ .byte 13
+ .byte 83
+ .byte 78
+ .byte 111
+ .byte -43
+ .byte -37
+ .byte 55
+ .byte 69
+ .byte -34
+ .byte -3
+ .byte -114
+ .byte 47
+ .byte 3
+ .byte -1
+ .byte 106
+ .byte 114
+ .byte 109
+ .byte 108
+ .byte 91
+ .byte 81
+ .byte -115
+ .byte 27
+ .byte -81
+ .byte -110
+ .byte -69
+ .byte -35
+ .byte -68
+ .byte 127
+ .byte 17
+ .byte -39
+ .byte 92
+ .byte 65
+ .byte 31
+ .byte 16
+ .byte 90
+ .byte -40
+ .byte 10
+ .byte -63
+ .byte 49
+ .byte -120
+ .byte -91
+ .byte -51
+ .byte 123
+ .byte -67
+ .byte 45
+ .byte 116
+ .byte -48
+ .byte 18
+ .byte -72
+ .byte -27
+ .byte -76
+ .byte -80
+ .byte -119
+ .byte 105
+ .byte -105
+ .byte 74
+ .byte 12
+ .byte -106
+ .byte 119
+ .byte 126
+ .byte 101
+ .byte -71
+ .byte -15
+ .byte 9
+ .byte -59
+ .byte 110
+ .byte -58
+ .byte -124
+ .byte 24
+ .byte -16
+ .byte 125
+ .byte -20
+ .byte 58
+ .byte -36
+ .byte 77
+ .byte 32
+ .byte 121
+ .byte -18
+ .byte 95
+ .byte 62
+ .byte -41
+ .byte -53
+ .byte 57
+ .byte 72
+ .align 2
+ .type CK_tmp.3, @object
+ .size CK_tmp.3, 128
+CK_tmp.3:
+ .word 462357
+ .word 472066609
+ .word 943670861
+ .word 1415275113
+ .word 1886879365
+ .word -1936483679
+ .word -1464879427
+ .word -993275175
+ .word -521670923
+ .word -66909679
+ .word 404694573
+ .word 876298825
+ .word 1347903077
+ .word 1819507329
+ .word -2003855715
+ .word -1532251463
+ .word -1060647211
+ .word -589042959
+ .word -117504499
+ .word 337322537
+ .word 808926789
+ .word 1280531041
+ .word 1752135293
+ .word -2071227751
+ .word -1599623499
+ .word -1128019247
+ .word -656414995
+ .word -184876535
+ .word 269950501
+ .word 741554753
+ .word 1213159005
+ .word 1684763257
+ .section .text.init_SMS4_CK_Sbox,"ax",@progbits
+ .align 2
+ .globl init_SMS4_CK_Sbox
+ .ent init_SMS4_CK_Sbox
+ .type init_SMS4_CK_Sbox, @function
+init_SMS4_CK_Sbox:
+ .set nomips16
+ .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ lui $4,%hi(Sbox)
+ lui $5,%hi(Sbox_tmp.2)
+ addiu $sp,$sp,-24
+ addiu $4,$4,%lo(Sbox)
+ addiu $5,$5,%lo(Sbox_tmp.2)
+ sw $31,16($sp)
+ jal memcpy
+ li $6,256 # 0x100
+
+ lui $4,%hi(CK)
+ lui $5,%hi(CK_tmp.3)
+ addiu $4,$4,%lo(CK)
+ addiu $5,$5,%lo(CK_tmp.3)
+ jal memcpy
+ li $6,128 # 0x80
+
+ lw $31,16($sp)
+ li $2,1 # 0x1
+ j $31
+ addiu $sp,$sp,24
+
+ .set macro
+ .set reorder
+ .end init_SMS4_CK_Sbox
+ .section .text.SMS4Crypt,"ax",@progbits
+ .align 2
+ .ent SMS4Crypt
+ .type SMS4Crypt, @function
+SMS4Crypt:
+ .set nomips16
+ .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ lw $12,12($4)
+ lw $9,0($4)
+ lw $11,4($4)
+ lw $10,8($4)
+ lui $2,%hi(Sbox)
+ move $13,$5
+ addiu $8,$2,%lo(Sbox)
+ li $14,28 # 0x1c
+$L51:
+ lw $3,0($6)
+ xor $2,$11,$10
+ xor $2,$2,$12
+ xor $7,$2,$3
+ srl $3,$7,16
+ srl $2,$7,24
+ srl $4,$7,8
+ andi $3,$3,0xff
+ addu $3,$3,$8
+ addu $2,$2,$8
+ andi $4,$4,0xff
+ lbu $5,0($3)
+ lbu $2,0($2)
+ addu $4,$4,$8
+ andi $3,$7,0xff
+ lbu $4,0($4)
+ addu $3,$3,$8
+ sll $5,$5,16
+ lbu $3,0($3)
+ sll $2,$2,24
+ xor $2,$2,$5
+ sll $4,$4,8
+ xor $2,$2,$4
+ xor $7,$2,$3
+ srl $2,$7,30
+ sll $3,$7,2
+ or $3,$3,$2
+ sll $4,$7,10
+ srl $2,$7,22
+ or $4,$4,$2
+ xor $3,$7,$3
+ srl $2,$7,14
+ sll $5,$7,18
+ or $5,$5,$2
+ xor $3,$3,$4
+ sll $2,$7,24
+ srl $4,$7,8
+ or $2,$2,$4
+ xor $3,$3,$5
+ xor $3,$3,$2
+ lw $4,4($6)
+ xor $9,$9,$3
+ xor $2,$10,$12
+ xor $2,$2,$9
+ xor $7,$2,$4
+ srl $3,$7,16
+ srl $2,$7,24
+ srl $4,$7,8
+ andi $3,$3,0xff
+ addu $3,$3,$8
+ addu $2,$2,$8
+ andi $4,$4,0xff
+ lbu $5,0($3)
+ lbu $2,0($2)
+ addu $4,$4,$8
+ andi $3,$7,0xff
+ lbu $4,0($4)
+ addu $3,$3,$8
+ sll $5,$5,16
+ lbu $3,0($3)
+ sll $2,$2,24
+ xor $2,$2,$5
+ sll $4,$4,8
+ xor $2,$2,$4
+ xor $7,$2,$3
+ srl $2,$7,30
+ sll $3,$7,2
+ or $3,$3,$2
+ sll $4,$7,10
+ srl $2,$7,22
+ or $4,$4,$2
+ xor $3,$7,$3
+ srl $2,$7,14
+ sll $5,$7,18
+ or $5,$5,$2
+ xor $3,$3,$4
+ sll $2,$7,24
+ srl $4,$7,8
+ or $2,$2,$4
+ xor $3,$3,$5
+ xor $3,$3,$2
+ lw $4,8($6)
+ xor $11,$11,$3
+ xor $2,$12,$9
+ xor $2,$2,$11
+ xor $7,$2,$4
+ srl $3,$7,16
+ srl $2,$7,24
+ srl $4,$7,8
+ andi $3,$3,0xff
+ addu $3,$3,$8
+ addu $2,$2,$8
+ andi $4,$4,0xff
+ lbu $5,0($3)
+ lbu $2,0($2)
+ addu $4,$4,$8
+ andi $3,$7,0xff
+ lbu $4,0($4)
+ addu $3,$3,$8
+ sll $5,$5,16
+ lbu $3,0($3)
+ sll $2,$2,24
+ xor $2,$2,$5
+ sll $4,$4,8
+ xor $2,$2,$4
+ xor $7,$2,$3
+ srl $2,$7,30
+ sll $3,$7,2
+ or $3,$3,$2
+ sll $4,$7,10
+ srl $2,$7,22
+ or $4,$4,$2
+ xor $3,$7,$3
+ srl $2,$7,14
+ sll $5,$7,18
+ or $5,$5,$2
+ xor $3,$3,$4
+ sll $2,$7,24
+ srl $4,$7,8
+ or $2,$2,$4
+ xor $3,$3,$5
+ xor $3,$3,$2
+ lw $4,12($6)
+ xor $10,$10,$3
+ xor $2,$9,$11
+ xor $2,$2,$10
+ xor $7,$2,$4
+ srl $3,$7,16
+ srl $2,$7,24
+ srl $4,$7,8
+ andi $3,$3,0xff
+ addu $3,$3,$8
+ addu $2,$2,$8
+ andi $4,$4,0xff
+ lbu $5,0($3)
+ lbu $2,0($2)
+ addu $4,$4,$8
+ andi $3,$7,0xff
+ lbu $4,0($4)
+ addu $3,$3,$8
+ sll $5,$5,16
+ lbu $3,0($3)
+ sll $2,$2,24
+ xor $2,$2,$5
+ sll $4,$4,8
+ xor $2,$2,$4
+ xor $7,$2,$3
+ srl $2,$7,30
+ sll $3,$7,2
+ or $3,$3,$2
+ sll $4,$7,10
+ srl $2,$7,22
+ or $4,$4,$2
+ xor $3,$7,$3
+ srl $2,$7,14
+ sll $5,$7,18
+ xor $3,$3,$4
+ or $5,$5,$2
+ srl $4,$7,8
+ sll $2,$7,24
+ xor $3,$3,$5
+ or $2,$2,$4
+ xor $3,$3,$2
+ addiu $14,$14,-4
+ xor $12,$12,$3
+ bgez $14,$L51
+ addiu $6,$6,16
+
+ sw $9,12($13)
+ sw $12,0($13)
+ sw $10,4($13)
+ j $31
+ sw $11,8($13)
+
+ .set macro
+ .set reorder
+ .end SMS4Crypt
+ .section .text.SMS4KeyExt,"ax",@progbits
+ .align 2
+ .ent SMS4KeyExt
+ .type SMS4KeyExt, @function
+SMS4KeyExt:
+ .set nomips16
+ .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ lw $12,0($4)
+ li $2,-1548681216 # 0xffffffffa3b10000
+ ori $2,$2,0xbac6
+ lw $11,4($4)
+ xor $12,$12,$2
+ li $2,1453981696 # 0x56aa0000
+ ori $2,$2,0x3350
+ lw $10,8($4)
+ xor $11,$11,$2
+ li $2,1736245248 # 0x677d0000
+ ori $2,$2,0x9197
+ lw $13,12($4)
+ xor $10,$10,$2
+ li $2,-1301282816 # 0xffffffffb2700000
+ ori $2,$2,0x22dc
+ xor $13,$13,$2
+ lui $2,%hi(CK)
+ addiu $24,$2,%lo(CK)
+ lui $2,%hi(Sbox)
+ move $15,$5
+ addiu $9,$2,%lo(Sbox)
+ move $14,$0
+$L58:
+ sll $6,$14,2
+ addu $7,$6,$24
+ lw $3,0($7)
+ xor $2,$11,$10
+ xor $2,$2,$13
+ xor $8,$2,$3
+ srl $4,$8,16
+ srl $3,$8,24
+ srl $2,$8,8
+ andi $4,$4,0xff
+ addu $3,$3,$9
+ addu $4,$4,$9
+ andi $2,$2,0xff
+ lbu $3,0($3)
+ lbu $4,0($4)
+ addu $2,$2,$9
+ lbu $5,0($2)
+ andi $2,$8,0xff
+ addu $2,$2,$9
+ lbu $2,0($2)
+ sll $4,$4,16
+ sll $3,$3,24
+ xor $3,$3,$4
+ sll $5,$5,8
+ xor $3,$3,$5
+ xor $8,$3,$2
+ srl $3,$8,19
+ sll $2,$8,13
+ srl $4,$8,9
+ or $2,$2,$3
+ sll $3,$8,23
+ or $3,$3,$4
+ xor $2,$8,$2
+ xor $2,$2,$3
+ xor $12,$12,$2
+ addu $6,$6,$15
+ sw $12,0($6)
+ lw $3,4($7)
+ xor $2,$10,$13
+ xor $2,$2,$12
+ xor $8,$2,$3
+ srl $4,$8,16
+ srl $3,$8,24
+ srl $2,$8,8
+ andi $4,$4,0xff
+ addu $3,$3,$9
+ addu $4,$4,$9
+ andi $2,$2,0xff
+ lbu $3,0($3)
+ lbu $4,0($4)
+ addu $2,$2,$9
+ lbu $5,0($2)
+ andi $2,$8,0xff
+ addu $2,$2,$9
+ lbu $2,0($2)
+ sll $4,$4,16
+ sll $3,$3,24
+ xor $3,$3,$4
+ sll $5,$5,8
+ xor $3,$3,$5
+ xor $8,$3,$2
+ srl $3,$8,19
+ sll $2,$8,13
+ srl $4,$8,9
+ or $2,$2,$3
+ sll $3,$8,23
+ or $3,$3,$4
+ xor $2,$8,$2
+ xor $2,$2,$3
+ xor $11,$11,$2
+ sw $11,4($6)
+ lw $3,8($7)
+ xor $2,$13,$12
+ xor $2,$2,$11
+ xor $8,$2,$3
+ srl $4,$8,16
+ srl $3,$8,24
+ srl $2,$8,8
+ andi $4,$4,0xff
+ addu $3,$3,$9
+ addu $4,$4,$9
+ andi $2,$2,0xff
+ lbu $3,0($3)
+ lbu $4,0($4)
+ addu $2,$2,$9
+ lbu $5,0($2)
+ andi $2,$8,0xff
+ addu $2,$2,$9
+ lbu $2,0($2)
+ sll $4,$4,16
+ sll $3,$3,24
+ xor $3,$3,$4
+ sll $5,$5,8
+ xor $3,$3,$5
+ xor $8,$3,$2
+ srl $3,$8,19
+ sll $2,$8,13
+ srl $4,$8,9
+ or $2,$2,$3
+ sll $3,$8,23
+ or $3,$3,$4
+ xor $2,$8,$2
+ xor $2,$2,$3
+ xor $10,$10,$2
+ sw $10,8($6)
+ lw $3,12($7)
+ xor $2,$12,$11
+ xor $2,$2,$10
+ xor $8,$2,$3
+ srl $4,$8,16
+ srl $3,$8,24
+ srl $2,$8,8
+ andi $4,$4,0xff
+ addu $3,$3,$9
+ addu $4,$4,$9
+ andi $2,$2,0xff
+ lbu $3,0($3)
+ lbu $4,0($4)
+ addu $2,$2,$9
+ lbu $5,0($2)
+ andi $2,$8,0xff
+ addu $2,$2,$9
+ lbu $2,0($2)
+ sll $4,$4,16
+ sll $3,$3,24
+ xor $3,$3,$4
+ sll $5,$5,8
+ xor $3,$3,$5
+ xor $8,$3,$2
+ srl $3,$8,19
+ sll $2,$8,13
+ or $2,$2,$3
+ srl $4,$8,9
+ sll $3,$8,23
+ or $3,$3,$4
+ xor $2,$8,$2
+ xor $2,$2,$3
+ addiu $14,$14,4
+ xor $13,$13,$2
+ sltu $2,$14,32
+ bne $2,$0,$L58
+ sw $13,12($6)
+
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end SMS4KeyExt
+ .section .text.WapiSMS4Cryption,"ax",@progbits
+ .align 2
+ .globl WapiSMS4Cryption
+ .ent WapiSMS4Cryption
+ .type WapiSMS4Cryption, @function
+WapiSMS4Cryption:
+ .set nomips16
+ .frame $sp,56,$31 # vars= 0, regs= 10/0, args= 16, gp= 0
+ .mask 0xc0ff0000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-56
+ sw $fp,48($sp)
+ sw $18,24($sp)
+ lw $fp,76($sp)
+ lw $18,72($sp)
+ andi $7,$7,0xffff
+ lui $2,%hi(wapiBlockIn)
+ sw $22,40($sp)
+ sw $21,36($sp)
+ sw $19,28($sp)
+ sw $17,20($sp)
+ sw $16,16($sp)
+ sw $31,52($sp)
+ sw $23,44($sp)
+ sw $20,32($sp)
+ move $8,$4
+ move $17,$6
+ srl $22,$7,4
+ addiu $19,$2,%lo(wapiBlockIn)
+ andi $21,$7,0xf
+ move $16,$0
+$L65:
+ subu $2,$5,$16
+ lbu $4,15($2)
+ addu $3,$16,$19
+ addiu $16,$16,1
+ sltu $2,$16,16
+ bne $2,$0,$L65
+ sb $4,0($3)
+
+ lui $23,%hi(wapiRK)
+ move $4,$8
+ jal SMS4KeyExt
+ addiu $5,$23,%lo(wapiRK)
+
+ lui $2,%hi(wapiTempBlock)
+ move $20,$19
+ move $16,$0
+ beq $22,$0,$L80
+ addiu $19,$2,%lo(wapiTempBlock)
+
+$L70:
+ move $4,$20
+ move $5,$19
+ jal SMS4Crypt
+ addiu $6,$23,%lo(wapiRK)
+
+ lw $3,0($19)
+ lw $2,0($17)
+ addiu $16,$16,1
+ move $5,$20
+ xor $2,$2,$3
+ sw $2,0($18)
+ lw $3,4($19)
+ lw $2,4($17)
+ sltu $4,$16,$22
+ move $20,$19
+ xor $2,$2,$3
+ sw $2,4($18)
+ lw $3,8($19)
+ lw $2,8($17)
+ nop
+ xor $2,$2,$3
+ sw $2,8($18)
+ lw $2,12($17)
+ lw $3,12($19)
+ addiu $17,$17,16
+ move $19,$5
+ xor $2,$2,$3
+ sw $2,12($18)
+ bne $4,$0,$L70
+ addiu $18,$18,16
+
+$L80:
+ beq $21,$0,$L71
+ sll $2,$16,4
+
+ addu $2,$21,$2
+ lui $6,%hi(wapiRK)
+ move $5,$19
+ sh $2,0($fp)
+ move $4,$20
+ jal SMS4Crypt
+ addiu $6,$6,%lo(wapiRK)
+
+ beq $21,$0,$L61
+ move $5,$0
+
+$L75:
+ addu $2,$17,$5
+ addu $3,$19,$5
+ lbu $3,0($3)
+ lbu $2,0($2)
+ addu $4,$18,$5
+ addiu $5,$5,1
+ xor $2,$2,$3
+ sltu $3,$5,$21
+ bne $3,$0,$L75
+ sb $2,0($4)
+
+ j $L61
+ nop
+
+$L71:
+ sh $2,0($fp)
+$L61:
+ lw $31,52($sp)
+ lw $fp,48($sp)
+ lw $23,44($sp)
+ lw $22,40($sp)
+ lw $21,36($sp)
+ lw $20,32($sp)
+ lw $19,28($sp)
+ lw $18,24($sp)
+ lw $17,20($sp)
+ lw $16,16($sp)
+ j $31
+ addiu $sp,$sp,56
+
+ .set macro
+ .set reorder
+ .end WapiSMS4Cryption
+ .section .text.WapiSMS4CalculateMic,"ax",@progbits
+ .align 2
+ .globl WapiSMS4CalculateMic
+ .ent WapiSMS4CalculateMic
+ .type WapiSMS4CalculateMic, @function
+WapiSMS4CalculateMic:
+ .set nomips16
+ .frame $sp,72,$31 # vars= 16, regs= 9/0, args= 16, gp= 0
+ .mask 0x80ff0000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ sw $23,60($sp)
+ sw $20,48($sp)
+ lhu $23,94($sp)
+ lw $20,88($sp)
+ andi $7,$7,0x00ff
+ sw $22,56($sp)
+ lui $22,%hi(wapiBlockIn)
+ sw $19,44($sp)
+ sw $18,40($sp)
+ sw $17,36($sp)
+ sw $16,32($sp)
+ move $18,$6
+ sw $31,64($sp)
+ sw $21,52($sp)
+ move $8,$4
+ srl $17,$7,4
+ andi $19,$7,0xf
+ move $16,$0
+ addiu $6,$22,%lo(wapiBlockIn)
+$L87:
+ subu $2,$5,$16
+ lbu $4,15($2)
+ addu $3,$16,$6
+ addiu $16,$16,1
+ sltu $2,$16,16
+ bne $2,$0,$L87
+ sb $4,0($3)
+
+ lui $21,%hi(wapiRK)
+ move $4,$8
+ jal SMS4KeyExt
+ addiu $5,$21,%lo(wapiRK)
+
+ addiu $4,$22,%lo(wapiBlockIn)
+ addiu $5,$sp,16
+ jal SMS4Crypt
+ addiu $6,$21,%lo(wapiRK)
+
+ beq $17,$0,$L105
+ move $16,$0
+
+$L92:
+ lw $2,0($18)
+ lw $3,16($sp)
+ addiu $7,$22,%lo(wapiBlockIn)
+ move $4,$7
+ xor $2,$2,$3
+ sw $2,%lo(wapiBlockIn)($22)
+ lw $2,4($18)
+ lw $3,20($sp)
+ addiu $16,$16,1
+ addiu $5,$sp,16
+ xor $2,$2,$3
+ sw $2,4($7)
+ lw $3,8($18)
+ lw $2,24($sp)
+ addiu $6,$21,%lo(wapiRK)
+ xor $3,$3,$2
+ sw $3,8($7)
+ lw $3,12($18)
+ lw $2,28($sp)
+ addiu $18,$18,16
+ xor $3,$3,$2
+ jal SMS4Crypt
+ sw $3,12($7)
+
+ sltu $2,$16,$17
+ bne $2,$0,$L92
+ nop
+
+$L105:
+ beq $19,$0,$L108
+ srl $17,$23,4
+
+ lui $17,%hi(wapiTempBlock)
+ addiu $16,$17,%lo(wapiTempBlock)
+ li $6,16 # 0x10
+ subu $6,$6,$19
+ addu $4,$19,$16
+ jal memset
+ move $5,$0
+
+ move $4,$16
+ move $5,$18
+ jal memcpy
+ move $6,$19
+
+ lw $2,16($sp)
+ lw $9,%lo(wapiTempBlock)($17)
+ lw $7,4($16)
+ lw $8,8($16)
+ xor $9,$9,$2
+ lw $2,20($sp)
+ lw $10,12($16)
+ lui $11,%hi(wapiBlockIn)
+ xor $7,$7,$2
+ lw $2,24($sp)
+ addiu $3,$11,%lo(wapiBlockIn)
+ lui $6,%hi(wapiRK)
+ xor $8,$8,$2
+ lw $2,28($sp)
+ move $4,$3
+ sw $9,%lo(wapiBlockIn)($11)
+ xor $10,$10,$2
+ addiu $6,$6,%lo(wapiRK)
+ addiu $5,$sp,16
+ sw $7,4($3)
+ sw $8,8($3)
+ jal SMS4Crypt
+ sw $10,12($3)
+
+ srl $17,$23,4
+$L108:
+ andi $19,$23,0xf
+ beq $17,$0,$L107
+ move $16,$0
+
+$L99:
+ lw $2,0($20)
+ lw $3,16($sp)
+ lui $7,%hi(wapiBlockIn)
+ lui $6,%hi(wapiRK)
+ xor $2,$2,$3
+ sw $2,%lo(wapiBlockIn)($7)
+ lw $2,4($20)
+ lw $3,20($sp)
+ addiu $7,$7,%lo(wapiBlockIn)
+ move $4,$7
+ xor $2,$2,$3
+ sw $2,4($7)
+ lw $2,8($20)
+ lw $3,24($sp)
+ addiu $6,$6,%lo(wapiRK)
+ addiu $16,$16,1
+ xor $2,$2,$3
+ sw $2,8($7)
+ lw $3,12($20)
+ lw $2,28($sp)
+ addiu $5,$sp,16
+ addiu $20,$20,16
+ xor $3,$3,$2
+ jal SMS4Crypt
+ sw $3,12($7)
+
+ sltu $2,$16,$17
+ bne $2,$0,$L99
+ nop
+
+$L107:
+ beq $19,$0,$L100
+ lui $17,%hi(wapiTempBlock)
+
+ addiu $16,$17,%lo(wapiTempBlock)
+ li $6,16 # 0x10
+ subu $6,$6,$19
+ addu $4,$19,$16
+ jal memset
+ move $5,$0
+
+ move $4,$16
+ move $5,$20
+ jal memcpy
+ move $6,$19
+
+ lw $2,16($sp)
+ lw $9,%lo(wapiTempBlock)($17)
+ lw $7,4($16)
+ lw $8,8($16)
+ xor $9,$9,$2
+ lw $2,20($sp)
+ lw $10,12($16)
+ lui $11,%hi(wapiBlockIn)
+ xor $7,$7,$2
+ lw $2,24($sp)
+ addiu $3,$11,%lo(wapiBlockIn)
+ lui $6,%hi(wapiRK)
+ xor $8,$8,$2
+ lw $2,28($sp)
+ move $4,$3
+ sw $9,%lo(wapiBlockIn)($11)
+ xor $10,$10,$2
+ addiu $6,$6,%lo(wapiRK)
+ addiu $5,$sp,16
+ sw $7,4($3)
+ sw $8,8($3)
+ jal SMS4Crypt
+ sw $10,12($3)
+
+$L100:
+ lw $4,96($sp)
+ addiu $5,$sp,16
+ jal memcpy
+ li $6,16 # 0x10
+
+ lw $31,64($sp)
+ lw $23,60($sp)
+ lw $22,56($sp)
+ lw $21,52($sp)
+ lw $20,48($sp)
+ lw $19,44($sp)
+ lw $18,40($sp)
+ lw $17,36($sp)
+ lw $16,32($sp)
+ j $31
+ addiu $sp,$sp,72
+
+ .set macro
+ .set reorder
+ .end WapiSMS4CalculateMic
+ .section .text.WapiSMS4ForMNKEncrypt,"ax",@progbits
+ .align 2
+ .globl WapiSMS4ForMNKEncrypt
+ .ent WapiSMS4ForMNKEncrypt
+ .type WapiSMS4ForMNKEncrypt, @function
+WapiSMS4ForMNKEncrypt:
+ .set nomips16
+ .frame $sp,56,$31 # vars= 0, regs= 9/0, args= 16, gp= 0
+ .mask 0x80ff0000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-56
+ sw $19,28($sp)
+ lw $19,76($sp)
+ andi $2,$7,0xf
+ sw $23,44($sp)
+ sb $0,0($19)
+ sw $22,40($sp)
+ sw $17,20($sp)
+ sw $16,16($sp)
+ sw $31,48($sp)
+ sw $21,36($sp)
+ sw $20,32($sp)
+ sw $18,24($sp)
+ move $17,$4
+ move $22,$6
+ lw $23,72($sp)
+ beq $2,$0,$L111
+ srl $16,$7,4
+
+ addiu $16,$16,1
+ sll $4,$16,4
+ sltu $2,$7,$4
+$L129:
+ beq $2,$0,$L111
+ addu $3,$22,$7
+
+ addiu $7,$7,1
+ sltu $2,$7,$4
+ j $L129
+ sb $0,0($3)
+
+$L111:
+ lui $4,%hi(wapiBlockIn)
+ addiu $4,$4,%lo(wapiBlockIn)
+ li $6,16 # 0x10
+ jal memcpy
+ lui $21,%hi(wapiRK)
+
+ move $4,$17
+ jal SMS4KeyExt
+ addiu $5,$21,%lo(wapiRK)
+
+ beq $16,$0,$L126
+ move $18,$0
+
+ lui $17,%hi(wapiTempBlock)
+$L130:
+ lui $20,%hi(wapiBlockIn)
+ addiu $5,$17,%lo(wapiTempBlock)
+ addiu $6,$21,%lo(wapiRK)
+ jal SMS4Crypt
+ addiu $4,$20,%lo(wapiBlockIn)
+
+ lbu $2,0($19)
+ sll $3,$18,4
+ addu $6,$3,$22
+ addiu $2,$2,16
+ sb $2,0($19)
+ move $7,$0
+ addu $5,$3,$23
+ addiu $8,$17,%lo(wapiTempBlock)
+$L122:
+ addu $2,$6,$7
+ addu $3,$7,$8
+ lbu $3,0($3)
+ lbu $2,0($2)
+ addu $4,$5,$7
+ addiu $7,$7,1
+ xor $2,$2,$3
+ sltu $3,$7,16
+ bne $3,$0,$L122
+ sb $2,0($4)
+
+ addiu $4,$20,%lo(wapiBlockIn)
+ addiu $5,$17,%lo(wapiTempBlock)
+ addiu $18,$18,1
+ jal memcpy
+ li $6,16 # 0x10
+
+ sltu $2,$18,$16
+ bne $2,$0,$L130
+ lui $17,%hi(wapiTempBlock)
+
+$L126:
+ lw $31,48($sp)
+ lw $23,44($sp)
+ lw $22,40($sp)
+ lw $21,36($sp)
+ lw $20,32($sp)
+ lw $19,28($sp)
+ lw $18,24($sp)
+ lw $17,20($sp)
+ lw $16,16($sp)
+ j $31
+ addiu $sp,$sp,56
+
+ .set macro
+ .set reorder
+ .end WapiSMS4ForMNKEncrypt
+ .local TempBuf.1
+ .comm TempBuf.1,34,4
+ .section .text.SecCalculateMicSMS4,"ax",@progbits
+ .align 2
+ .globl SecCalculateMicSMS4
+ .ent SecCalculateMicSMS4
+ .type SecCalculateMicSMS4, @function
+SecCalculateMicSMS4:
+ .set nomips16
+ .frame $sp,64,$31 # vars= 0, regs= 8/0, args= 32, gp= 0
+ .mask 0x807f0000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-64
+ sw $31,60($sp)
+ sw $22,56($sp)
+ sw $21,52($sp)
+ sw $20,48($sp)
+ sw $19,44($sp)
+ sw $18,40($sp)
+ sw $17,36($sp)
+ sw $16,32($sp)
+ lhu $2,0($6)
+ andi $19,$4,0x00ff
+ lui $4,%hi(TempBuf.1+2)
+ move $17,$6
+ lui $16,%hi(TempBuf.1+14)
+ andi $2,$2,0x8fc7
+ addiu $4,$4,%lo(TempBuf.1+2)
+ move $22,$5
+ lui $20,%hi(TempBuf.1)
+ addiu $5,$6,4
+ li $6,12 # 0xc
+ sh $2,%lo(TempBuf.1)($20)
+ lhu $18,82($sp)
+ jal memcpy
+ move $21,$7
+
+ addiu $4,$16,%lo(TempBuf.1+14)
+ addiu $5,$17,22
+ jal memcpy
+ li $6,2 # 0x2
+
+ lhu $2,%lo(TempBuf.1+14)($16)
+ lui $4,%hi(TempBuf.1+16)
+ addiu $4,$4,%lo(TempBuf.1+16)
+ andi $2,$2,0xf00
+ addiu $5,$17,16
+ li $6,6 # 0x6
+ jal memcpy
+ sh $2,%lo(TempBuf.1+14)($16)
+
+ lhu $2,0($17)
+ lui $7,%hi(TempBuf.1+22)
+ addiu $5,$17,24
+ srl $3,$2,1
+ andi $2,$2,0x1
+ andi $3,$3,0x1
+ sll $2,$2,1
+ or $2,$2,$3
+ li $3,3 # 0x3
+ li $6,6 # 0x6
+ bne $2,$3,$L132
+ addiu $4,$7,%lo(TempBuf.1+22)
+
+ jal memcpy
+ nop
+
+ j $L133
+ li $5,30 # 0x1e
+
+$L132:
+ move $5,$0
+ jal memset
+ li $6,6 # 0x6
+
+ li $5,24 # 0x18
+$L133:
+ lhu $2,0($17)
+ lui $4,%hi(TempBuf.1+28)
+ addu $16,$17,$5
+ srl $2,$2,8
+ andi $2,$2,0x88
+ li $3,136 # 0x88
+ addiu $4,$4,%lo(TempBuf.1+28)
+ li $6,2 # 0x2
+ bne $2,$3,$L134
+ move $5,$16
+
+ jal memcpy
+ nop
+
+ addiu $5,$16,4
+ j $L138
+ li $3,34 # 0x22
+
+$L134:
+ addiu $5,$16,2
+ li $3,32 # 0x20
+$L138:
+ addiu $2,$20,%lo(TempBuf.1)
+ move $6,$2
+ move $7,$3
+ addu $2,$3,$2
+ srl $3,$18,8
+ sb $3,-2($2)
+ lw $3,84($sp)
+ sb $19,-4($2)
+ move $4,$22
+ sw $21,16($sp)
+ sw $18,20($sp)
+ sw $3,24($sp)
+ sb $18,-1($2)
+ jal WapiSMS4CalculateMic
+ sb $0,-3($2)
+
+ lw $31,60($sp)
+ lw $22,56($sp)
+ lw $21,52($sp)
+ lw $20,48($sp)
+ lw $19,44($sp)
+ lw $18,40($sp)
+ lw $17,36($sp)
+ lw $16,32($sp)
+ j $31
+ addiu $sp,$sp,64
+
+ .set macro
+ .set reorder
+ .end SecCalculateMicSMS4
+ .section .text.SecSWSMS4Encryption,"ax",@progbits
+ .align 2
+ .globl SecSWSMS4Encryption
+ .ent SecSWSMS4Encryption
+ .type SecSWSMS4Encryption, @function
+SecSWSMS4Encryption:
+ .set nomips16
+ .frame $sp,72,$31 # vars= 8, regs= 10/0, args= 24, gp= 0
+ .mask 0xc0ff0000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ sw $18,40($sp)
+ sw $17,36($sp)
+ sw $31,68($sp)
+ sw $fp,64($sp)
+ sw $23,60($sp)
+ sw $22,56($sp)
+ sw $21,52($sp)
+ sw $20,48($sp)
+ sw $19,44($sp)
+ sw $16,32($sp)
+ lw $2,68($5)
+ move $18,$5
+ lw $22,8($5)
+ bne $2,$0,$L140
+ move $17,$4
+
+ lw $2,1232($4)
+ addiu $21,$4,928
+ li $5,1 # 0x1
+ srl $2,$2,15
+ andi $20,$2,0x1
+ sll $3,$20,5
+ li $2,65536 # 0x10000
+ addu $3,$4,$3
+ addu $2,$4,$2
+ move $4,$21
+ lw $16,15800($2)
+ addiu $fp,$3,1238
+ jal WapiIncreasePN
+ addiu $23,$3,1254
+
+ bne $2,$0,$L141
+ nop
+
+ lw $2,1232($17)
+ nop
+ andi $2,$2,0x2000
+ bne $2,$0,$L141
+ nop
+
+ beq $16,$0,$L165
+ move $4,$17
+
+ lw $2,6676($16)
+ nop
+ beq $2,$0,$L165
+ nop
+
+ lw $2,352($2)
+ nop
+ andi $2,$2,0x1000
+ bne $2,$0,$L141
+ nop
+
+$L165:
+ jal wapiUpdateMSK
+ move $5,$0
+
+$L141:
+ lw $4,1304($17)
+ lw $3,20($18)
+ nop
+ sltu $2,$3,$4
+ bne $2,$0,$L145
+ subu $2,$4,$3
+
+ lw $3,8($17)
+ nop
+ lw $2,5260($3)
+ nop
+ sw $2,1304($17)
+ lw $2,5252($3)
+ nop
+ addiu $2,$2,-3
+ sltu $2,$2,2
+ beq $2,$0,$L150
+ nop
+
+ lw $2,1232($17)
+ nop
+ andi $2,$2,0x2000
+ bne $2,$0,$L150
+ nop
+
+ beq $16,$0,$L147
+ nop
+
+ lw $2,6676($16)
+ nop
+ beq $2,$0,$L147
+ nop
+
+ lw $2,352($2)
+ nop
+ andi $2,$2,0x1000
+ bne $2,$0,$L150
+ nop
+
+$L147:
+ move $4,$17
+ jal wapiUpdateMSK
+ move $5,$0
+
+ j $L150
+ nop
+
+$L145:
+ sw $2,1304($17)
+$L150:
+ lw $2,8($17)
+ nop
+ lw $16,668($2)
+ j $L151
+ nop
+
+$L140:
+ lw $16,6676($2)
+ li $5,2 # 0x2
+ lw $2,352($16)
+ addiu $21,$16,432
+ move $4,$21
+ srl $2,$2,15
+ andi $20,$2,0x1
+ sll $2,$20,5
+ addu $2,$16,$2
+ addiu $fp,$2,488
+ jal WapiIncreasePN
+ addiu $23,$2,504
+
+ bne $2,$0,$L152
+ nop
+
+ lw $2,352($16)
+ nop
+ andi $2,$2,0x1000
+ bne $2,$0,$L152
+ nop
+
+ lw $2,1232($17)
+ nop
+ andi $2,$2,0x2000
+ bne $2,$0,$L152
+ nop
+
+ lw $5,68($18)
+ jal wapiUpdateUSK
+ move $4,$17
+
+$L152:
+ lw $4,596($16)
+ lw $3,20($18)
+ nop
+ sltu $2,$3,$4
+ bne $2,$0,$L156
+ subu $2,$4,$3
+
+ lw $2,8($17)
+ lw $3,652($16)
+ lw $2,5248($2)
+ nop
+ sw $2,596($16)
+ lw $2,8($3)
+ nop
+ lw $2,5240($2)
+ nop
+ addiu $2,$2,-3
+ sltu $2,$2,2
+ beq $2,$0,$L161
+ nop
+
+ lw $2,352($16)
+ nop
+ andi $2,$2,0x1000
+ bne $2,$0,$L161
+ nop
+
+ lw $2,1232($17)
+ nop
+ andi $2,$2,0x2000
+ bne $2,$0,$L161
+ nop
+
+ lw $5,68($18)
+ jal wapiUpdateUSK
+ move $4,$17
+
+ j $L161
+ nop
+
+$L156:
+ sw $2,596($16)
+$L161:
+ lw $2,68($18)
+ nop
+ lw $16,6124($2)
+$L151:
+ lw $2,12($18)
+ move $5,$21
+ li $6,16 # 0x10
+ addu $17,$22,$2
+ sb $20,0($17)
+ sb $0,1($17)
+ jal memcpy
+ addiu $4,$17,2
+
+ li $2,1 # 0x1
+ beq $16,$2,$L162
+ nop
+
+ lw $2,4($18)
+ lbu $6,56($18)
+ lw $3,20($18)
+ lw $2,176($2)
+ nop
+ addu $19,$2,$3
+ beq $6,$0,$L163
+ subu $16,$2,$6
+
+ lw $5,12($18)
+ lw $2,44($18)
+ move $4,$16
+ addu $5,$22,$5
+ jal memcpy
+ addu $5,$5,$2
+
+$L163:
+ lbu $3,56($18)
+ lw $2,20($18)
+ move $4,$20
+ move $5,$23
+ addu $2,$2,$3
+ andi $2,$2,0xffff
+ move $6,$22
+ move $7,$16
+ sw $2,16($sp)
+ jal SecCalculateMicSMS4
+ sw $19,20($sp)
+
+ lbu $2,56($18)
+ lw $7,20($18)
+ move $4,$fp
+ move $5,$21
+ addu $7,$7,$2
+ addiu $7,$7,16
+ addiu $2,$sp,24
+ andi $7,$7,0xffff
+ move $6,$16
+ sw $2,20($sp)
+ jal WapiSMS4Cryption
+ sw $16,16($sp)
+
+ lw $2,0($16)
+ nop
+ sw $2,18($17)
+ lw $2,4($16)
+ j $L139
+ sw $2,22($17)
+
+$L162:
+ sw $0,52($18)
+$L139:
+ lw $31,68($sp)
+ lw $fp,64($sp)
+ lw $23,60($sp)
+ lw $22,56($sp)
+ lw $21,52($sp)
+ lw $20,48($sp)
+ lw $19,44($sp)
+ lw $18,40($sp)
+ lw $17,36($sp)
+ lw $16,32($sp)
+ j $31
+ addiu $sp,$sp,72
+
+ .set macro
+ .set reorder
+ .end SecSWSMS4Encryption
+ .section .text.SecSWSMS4Decryption,"ax",@progbits
+ .align 2
+ .globl SecSWSMS4Decryption
+ .ent SecSWSMS4Decryption
+ .type SecSWSMS4Decryption, @function
+SecSWSMS4Decryption:
+ .set nomips16
+ .frame $sp,80,$31 # vars= 16, regs= 10/0, args= 24, gp= 0
+ .mask 0xc0ff0000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-80
+ sw $22,64($sp)
+ sw $21,60($sp)
+ sw $20,56($sp)
+ sw $17,44($sp)
+ sw $31,76($sp)
+ sw $fp,72($sp)
+ sw $23,68($sp)
+ sw $19,52($sp)
+ sw $18,48($sp)
+ sw $16,40($sp)
+ lw $2,0($6)
+ lbu $3,35($6)
+ move $22,$5
+ lw $23,176($2)
+ addiu $2,$3,18
+ andi $2,$2,0x00ff
+ sw $2,28($sp)
+ lbu $2,4($23)
+ addu $3,$23,$3
+ lw $19,6676($5)
+ andi $2,$2,0x1
+ move $20,$6
+ addiu $21,$3,2
+ move $17,$4
+ lbu $fp,0($3)
+ beq $2,$0,$L167
+ addiu $5,$23,10
+
+ jal get_stainfo
+ nop
+
+ beq $2,$0,$L166
+ move $5,$0
+
+ lw $2,6676($2)
+ nop
+ beq $2,$0,$L166
+ nop
+
+ lw $2,352($2)
+ nop
+ andi $2,$2,0x800
+ beq $2,$0,$L166
+ nop
+
+ lw $3,1232($17)
+ nop
+ srl $2,$3,15
+ andi $2,$2,0x1
+ beq $fp,$2,$L168
+ andi $2,$3,0x2000
+
+ beq $2,$0,$L166
+ nop
+
+$L168:
+ addiu $16,$17,944
+ move $5,$16
+ jal WapiComparePN
+ move $4,$21
+
+ li $3,-1 # 0xffffffffffffffff
+ beq $2,$3,$L166
+ move $5,$0
+
+ move $5,$21
+ move $4,$16
+ jal memcpy
+ li $6,16 # 0x10
+
+ lw $3,8($17)
+ sll $2,$fp,5
+ addu $2,$17,$2
+ lw $5,668($3)
+ addiu $22,$2,1238
+ j $L188
+ addiu $2,$2,1254
+
+$L167:
+ lw $3,352($19)
+ nop
+ andi $2,$3,0x4000
+ beq $2,$0,$L166
+ move $5,$0
+
+ srl $2,$3,15
+ andi $2,$2,0x1
+ beq $fp,$2,$L172
+ nop
+
+ lw $2,1232($4)
+ nop
+ andi $2,$2,0x2000
+ beq $2,$0,$L166
+ nop
+
+$L172:
+ lhu $3,38($20)
+ nop
+ beq $3,$0,$L176
+ move $4,$0
+
+ li $5,3 # 0x3
+ beq $3,$5,$L176
+ sltu $2,$3,3
+
+ bne $2,$0,$L176
+ li $4,1 # 0x1
+
+ sltu $2,$3,6
+ li $4,2 # 0x2
+ movz $4,$5,$2 #RLX4181/RLX4281:conditional move
+$L176:
+ lbu $2,15($21)
+ nop
+ andi $2,$2,0x1
+ bne $2,$0,$L166
+ move $5,$0
+
+ sll $2,$4,1
+ addu $17,$2,$19
+ lhu $3,448($17)
+ lhu $2,36($20)
+ nop
+ sltu $2,$2,$3
+ bne $2,$0,$L182
+ sll $18,$4,4
+
+ addu $2,$19,$18
+ addiu $16,$2,368
+ move $5,$16
+ jal WapiComparePN
+ move $4,$21
+
+ li $3,-1 # 0xffffffffffffffff
+ beq $2,$3,$L166
+ move $5,$0
+
+ move $4,$16
+ move $5,$21
+ jal memcpy
+ li $6,16 # 0x10
+
+ lhu $2,36($20)
+ j $L184
+ sh $2,448($17)
+
+$L182:
+ lui $16,%hi(wapiCryptoTemp)
+ li $6,16 # 0x10
+ addiu $4,$16,%lo(wapiCryptoTemp)
+ jal memcpy
+ move $5,$21
+
+ lbu $5,449($17)
+ lbu $2,37($20)
+ addiu $4,$16,%lo(wapiCryptoTemp)
+ subu $5,$5,$2
+ addiu $5,$5,1
+ sll $5,$5,1
+ jal WapiIncreasePN
+ andi $5,$5,0xfe
+
+ addu $5,$19,$18
+ addiu $5,$5,368
+ jal WapiComparePN
+ addiu $4,$16,%lo(wapiCryptoTemp)
+
+ li $3,-1 # 0xffffffffffffffff
+ beq $2,$3,$L166
+ move $5,$0
+
+$L184:
+ sll $2,$fp,5
+ addu $2,$19,$2
+ lw $5,6124($22)
+ addiu $22,$2,488
+ addiu $2,$2,504
+$L188:
+ sw $2,32($sp)
+ li $2,1 # 0x1
+ beq $5,$2,$L186
+ lui $16,%hi(wapiDecrytBuf)
+
+ lhu $17,14($20)
+ lw $2,28($sp)
+ addiu $4,$16,%lo(wapiDecrytBuf)
+ addu $18,$23,$2
+ subu $2,$17,$2
+ andi $20,$2,0xffff
+ move $6,$20
+ jal memcpy
+ move $5,$18
+
+ lw $6,28($sp)
+ lui $19,%hi(wapiDecrytHdrBuf)
+ move $5,$23
+ jal memcpy
+ addiu $4,$19,%lo(wapiDecrytHdrBuf)
+
+ addiu $6,$16,%lo(wapiDecrytBuf)
+ move $7,$20
+ addiu $2,$sp,24
+ move $4,$22
+ move $5,$21
+ sw $2,20($sp)
+ jal WapiSMS4Cryption
+ sw $18,16($sp)
+
+ lw $5,32($sp)
+ addiu $2,$20,-16
+ addu $17,$23,$17
+ lui $16,%hi(wapiCryptoTemp)
+ andi $20,$2,0xffff
+ addiu $16,$16,%lo(wapiCryptoTemp)
+ move $4,$fp
+ addiu $6,$19,%lo(wapiDecrytHdrBuf)
+ move $7,$18
+ addiu $17,$17,-16
+ sw $20,16($sp)
+ jal SecCalculateMicSMS4
+ sw $16,20($sp)
+
+ move $5,$17
+ move $4,$16
+ jal memcmp
+ li $6,16 # 0x10
+
+ bne $2,$0,$L166
+ move $5,$0
+
+$L186:
+ li $5,1 # 0x1
+$L166:
+ lw $31,76($sp)
+ lw $fp,72($sp)
+ lw $23,68($sp)
+ lw $22,64($sp)
+ lw $21,60($sp)
+ lw $20,56($sp)
+ lw $19,52($sp)
+ lw $18,48($sp)
+ lw $17,44($sp)
+ lw $16,40($sp)
+ move $2,$5
+ j $31
+ addiu $sp,$sp,80
+
+ .set macro
+ .set reorder
+ .end SecSWSMS4Decryption
+ .section .text.WapiMTgenSeed,"ax",@progbits
+ .align 2
+ .globl WapiMTgenSeed
+ .ent WapiMTgenSeed
+ .type WapiMTgenSeed, @function
+WapiMTgenSeed:
+ .set nomips16
+ .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ lui $2,%hi(mt)
+ addiu $3,$2,%lo(mt)
+ sw $4,%lo(mt)($2)
+ lui $7,%hi(mti)
+ li $2,1 # 0x1
+ sw $2,%lo(mti)($7)
+ li $2,1812398080 # 0x6c070000
+ ori $6,$2,0x8965
+ addiu $5,$3,4
+ li $4,1 # 0x1
+$L193:
+ lw $2,-4($5)
+ nop
+ srl $3,$2,30
+ xor $2,$2,$3
+ mult $2,$6
+ mflo $2
+ addu $2,$2,$4
+ addiu $4,$4,1
+ slt $3,$4,624
+ sw $2,0($5)
+ bne $3,$0,$L193
+ addiu $5,$5,4
+
+ li $2,624 # 0x270
+ j $31
+ sw $2,%lo(mti)($7)
+
+ .set macro
+ .set reorder
+ .end WapiMTgenSeed
+ .data
+ .align 2
+ .type mag01.0, @object
+ .size mag01.0, 8
+mag01.0:
+ .word 0
+ .word -1727483681
+ .section .text.WapiMTgenrand,"ax",@progbits
+ .align 2
+ .globl WapiMTgenrand
+ .ent WapiMTgenrand
+ .type WapiMTgenrand, @function
+WapiMTgenrand:
+ .set nomips16
+ .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0
+ .mask 0x80010000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-24
+ sw $16,16($sp)
+ lui $16,%hi(mti)
+ lw $3,%lo(mti)($16)
+ nop
+ slt $2,$3,624
+ bne $2,$0,$L198
+ sw $31,20($sp)
+
+ li $2,625 # 0x271
+ bne $3,$2,$L212
+ li $2,2147418112 # 0x7fff0000
+
+ jal WapiMTgenSeed
+ li $4,5489 # 0x1571
+
+ li $2,2147418112 # 0x7fff0000
+$L212:
+ ori $10,$2,0xffff
+ lui $2,%hi(mag01.0)
+ addiu $9,$2,%lo(mag01.0)
+ lui $2,%hi(mt)
+ addiu $5,$2,%lo(mt)
+ li $8,-2147483648 # 0xffffffff80000000
+ li $7,226 # 0xe2
+$L203:
+ lw $3,0($5)
+ lw $2,4($5)
+ lw $4,1588($5)
+ and $3,$3,$8
+ and $2,$2,$10
+ or $6,$3,$2
+ andi $2,$6,0x1
+ sll $2,$2,2
+ addu $2,$2,$9
+ lw $3,0($2)
+ srl $2,$6,1
+ xor $4,$4,$2
+ xor $4,$4,$3
+ addiu $7,$7,-1
+ sw $4,0($5)
+ bgez $7,$L203
+ addiu $5,$5,4
+
+ li $2,2147418112 # 0x7fff0000
+ ori $10,$2,0xffff
+ lui $2,%hi(mag01.0)
+ addiu $9,$2,%lo(mag01.0)
+ lui $2,%hi(mt)
+ addiu $2,$2,%lo(mt)
+ addiu $5,$2,908
+ li $7,227 # 0xe3
+ li $8,-2147483648 # 0xffffffff80000000
+$L207:
+ lw $3,0($5)
+ lw $2,4($5)
+ lw $4,-908($5)
+ and $3,$3,$8
+ and $2,$2,$10
+ or $6,$3,$2
+ andi $2,$6,0x1
+ sll $2,$2,2
+ addu $2,$2,$9
+ lw $3,0($2)
+ srl $2,$6,1
+ xor $4,$4,$2
+ addiu $7,$7,1
+ xor $4,$4,$3
+ slt $2,$7,623
+ sw $4,0($5)
+ bne $2,$0,$L207
+ addiu $5,$5,4
+
+ lui $2,%hi(mt)
+ addiu $5,$2,%lo(mt)
+ lw $3,2492($5)
+ lw $4,%lo(mt)($2)
+ li $2,-2147483648 # 0xffffffff80000000
+ and $3,$3,$2
+ li $2,2147418112 # 0x7fff0000
+ ori $2,$2,0xffff
+ and $4,$4,$2
+ or $6,$3,$4
+ andi $3,$6,0x1
+ lui $2,%hi(mag01.0)
+ addiu $2,$2,%lo(mag01.0)
+ sll $3,$3,2
+ addu $3,$3,$2
+ lw $2,1584($5)
+ lw $4,0($3)
+ srl $3,$6,1
+ xor $2,$2,$3
+ xor $2,$2,$4
+ sw $2,2492($5)
+ sw $0,%lo(mti)($16)
+$L198:
+ lui $5,%hi(mti)
+ lw $4,%lo(mti)($5)
+ lui $2,%hi(mt)
+ addiu $2,$2,%lo(mt)
+ sll $3,$4,2
+ addu $3,$3,$2
+ lw $6,0($3)
+ lw $31,20($sp)
+ lw $16,16($sp)
+ srl $2,$6,11
+ xor $6,$6,$2
+ li $2,-1658060800 # 0xffffffff9d2c0000
+ sll $3,$6,7
+ ori $2,$2,0x5680
+ and $3,$3,$2
+ xor $6,$6,$3
+ sll $2,$6,15
+ li $3,-272236544 # 0xffffffffefc60000
+ and $2,$2,$3
+ xor $6,$6,$2
+ srl $2,$6,18
+ addiu $4,$4,1
+ xor $2,$6,$2
+ addiu $sp,$sp,24
+ j $31
+ sw $4,%lo(mti)($5)
+
+ .set macro
+ .set reorder
+ .end WapiMTgenrand
+ .section .text.GenerateRandomData,"ax",@progbits
+ .align 2
+ .globl GenerateRandomData
+ .ent GenerateRandomData
+ .type GenerateRandomData, @function
+GenerateRandomData:
+ .set nomips16
+ .frame $sp,80,$31 # vars= 40, regs= 5/0, args= 16, gp= 0
+ .mask 0x800f0000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-80
+ sw $31,72($sp)
+ sw $19,68($sp)
+ sw $18,64($sp)
+ sw $17,60($sp)
+ sw $16,56($sp)
+ lui $2,%hi(jiffies)
+ lw $2,%lo(jiffies)($2)
+ move $19,$4
+ move $18,$5
+ jal srandom32
+ move $4,$2
+
+ jal random32
+ move $17,$0
+
+ jal WapiMTgenSeed
+ move $4,$2
+
+ srl $3,$18,2
+ addiu $4,$3,1
+ andi $2,$18,0x3
+ move $16,$3
+ movn $16,$4,$2 #RLX4181/RLX4281:conditional move
+ move $5,$0
+ addiu $4,$sp,16
+ jal memset
+ sll $6,$16,2
+
+ blez $16,$L222
+ move $4,$19
+
+$L219:
+ jal WapiMTgenrand
+ nop
+
+ sll $4,$17,2
+ addiu $3,$sp,16
+ addu $4,$3,$4
+ addiu $17,$17,1
+ addiu $5,$sp,48
+ li $6,4 # 0x4
+ jal memcpy
+ sw $2,48($sp)
+
+ slt $2,$17,$16
+ bne $2,$0,$L219
+ move $4,$19
+
+$L222:
+ move $6,$18
+ jal memcpy
+ addiu $5,$sp,16
+
+ lw $31,72($sp)
+ lw $19,68($sp)
+ lw $18,64($sp)
+ lw $17,60($sp)
+ lw $16,56($sp)
+ j $31
+ addiu $sp,$sp,80
+
+ .set macro
+ .set reorder
+ .end GenerateRandomData
+ .local wapiCryptoTemp
+ .comm wapiCryptoTemp,16,4
+ .local wapiBlockIn
+ .comm wapiBlockIn,16,4
+ .local wapiTempBlock
+ .comm wapiTempBlock,16,4
+ .local wapiRK
+ .comm wapiRK,128,4
+ .local wapiDecrytBuf
+ .comm wapiDecrytBuf,1560,4
+ .local wapiDecrytHdrBuf
+ .comm wapiDecrytHdrBuf,64,4
+ .globl Sbox
+ .section .dram-rtkwlan,"aw",@progbits
+ .align 2
+ .type Sbox, @object
+ .size Sbox, 256
+Sbox:
+ .space 256
+ .globl CK
+ .align 2
+ .type CK, @object
+ .size CK, 128
+CK:
+ .space 128
+ .local mt
+ .comm mt,2496,4
+ .ident "GCC: (GNU) 3.4.6-1.3.6"