summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/98/wapiCrypto.S
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/realtek/files/drivers/net/wireless/rtl8192cd/98/wapiCrypto.S')
-rw-r--r--target/linux/realtek/files/drivers/net/wireless/rtl8192cd/98/wapiCrypto.S10153
1 files changed, 10153 insertions, 0 deletions
diff --git a/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/98/wapiCrypto.S b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/98/wapiCrypto.S
new file mode 100644
index 000000000..16910635d
--- /dev/null
+++ b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/98/wapiCrypto.S
@@ -0,0 +1,10153 @@
+ .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
+ .rdata
+ .align 2
+ .type rtl_ap_EDCA, @object
+ .size rtl_ap_EDCA, 120
+rtl_ap_EDCA:
+ .word 0
+ .word 7
+ .word 4
+ .word 10
+ .word 0
+ .word 0
+ .word 3
+ .word 4
+ .word 6
+ .word 0
+ .word 0
+ .word 1
+ .word 3
+ .word 4
+ .word 188
+ .word 0
+ .word 1
+ .word 2
+ .word 3
+ .word 102
+ .word 0
+ .word 1
+ .word 3
+ .word 4
+ .word 94
+ .word 0
+ .word 1
+ .word 2
+ .word 3
+ .word 47
+ .align 2
+ .type rtl_sta_EDCA, @object
+ .size rtl_sta_EDCA, 120
+rtl_sta_EDCA:
+ .word 0
+ .word 7
+ .word 4
+ .word 10
+ .word 0
+ .word 0
+ .word 3
+ .word 4
+ .word 10
+ .word 0
+ .word 0
+ .word 2
+ .word 3
+ .word 4
+ .word 188
+ .word 0
+ .word 2
+ .word 2
+ .word 3
+ .word 102
+ .word 0
+ .word 2
+ .word 3
+ .word 4
+ .word 94
+ .word 0
+ .word 2
+ .word 2
+ .word 3
+ .word 47
+ .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 $4,0($sp)
+ sw $5,4($sp)
+ lw $2,0($sp)
+ sw $0,0($2)
+ lw $2,0($sp)
+ sw $0,4($2)
+ lw $2,4($sp)
+ bne $2,$0,$L2
+ nop
+
+ lw $3,0($sp)
+ li $2,1778974720 # 0x6a090000
+ ori $2,$2,0xe667
+ sw $2,8($3)
+ lw $3,0($sp)
+ li $2,-1150877696 # 0xbb670000
+ ori $2,$2,0xae85
+ sw $2,12($3)
+ lw $3,0($sp)
+ li $2,1013841920 # 0x3c6e0000
+ ori $2,$2,0xf372
+ sw $2,16($3)
+ lw $3,0($sp)
+ li $2,-1521549312 # 0xa54f0000
+ ori $2,$2,0xf53a
+ sw $2,20($3)
+ lw $3,0($sp)
+ li $2,1359872000 # 0x510e0000
+ ori $2,$2,0x527f
+ sw $2,24($3)
+ lw $3,0($sp)
+ li $2,-1694171136 # 0x9b050000
+ ori $2,$2,0x688c
+ sw $2,28($3)
+ lw $3,0($sp)
+ li $2,528678912 # 0x1f830000
+ ori $2,$2,0xd9ab
+ sw $2,32($3)
+ lw $3,0($sp)
+ li $2,1541406720 # 0x5be00000
+ ori $2,$2,0xcd19
+ sw $2,36($3)
+ j $L3
+ nop
+
+$L2:
+ lw $3,0($sp)
+ li $2,-1056636928 # 0xc1050000
+ ori $2,$2,0x9ed8
+ sw $2,8($3)
+ lw $3,0($sp)
+ li $2,914096128 # 0x367c0000
+ ori $2,$2,0xd507
+ sw $2,12($3)
+ lw $3,0($sp)
+ li $2,812646400 # 0x30700000
+ ori $2,$2,0xdd17
+ sw $2,16($3)
+ lw $3,0($sp)
+ li $2,-150077440 # 0xf70e0000
+ ori $2,$2,0x5939
+ sw $2,20($3)
+ lw $3,0($sp)
+ li $2,-4194304 # 0xffc00000
+ ori $2,$2,0xb31
+ sw $2,24($3)
+ lw $3,0($sp)
+ li $2,1750597632 # 0x68580000
+ ori $2,$2,0x1511
+ sw $2,28($3)
+ lw $3,0($sp)
+ li $2,1694040064 # 0x64f90000
+ ori $2,$2,0x8fa7
+ sw $2,32($3)
+ lw $3,0($sp)
+ li $2,-1090912256 # 0xbefa0000
+ ori $2,$2,0x4fa4
+ sw $2,36($3)
+$L3:
+ lw $3,0($sp)
+ lw $2,4($sp)
+ sw $2,232($3)
+ j $31
+ nop
+
+ .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,296,$31 # vars= 296, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-296
+ sw $4,296($sp)
+ sw $5,300($sp)
+ lw $2,300($sp)
+ lbu $2,0($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,1($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,2($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,3($2)
+ or $2,$3,$2
+ sw $2,8($sp)
+ lw $2,300($sp)
+ lbu $2,4($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,5($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,6($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,7($2)
+ or $2,$3,$2
+ sw $2,12($sp)
+ lw $2,300($sp)
+ lbu $2,8($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,9($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,10($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,11($2)
+ or $2,$3,$2
+ sw $2,16($sp)
+ lw $2,300($sp)
+ lbu $2,12($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,13($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,14($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,15($2)
+ or $2,$3,$2
+ sw $2,20($sp)
+ lw $2,300($sp)
+ lbu $2,16($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,17($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,18($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,19($2)
+ or $2,$3,$2
+ sw $2,24($sp)
+ lw $2,300($sp)
+ lbu $2,20($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,21($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,22($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,23($2)
+ or $2,$3,$2
+ sw $2,28($sp)
+ lw $2,300($sp)
+ lbu $2,24($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,25($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,26($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,27($2)
+ or $2,$3,$2
+ sw $2,32($sp)
+ lw $2,300($sp)
+ lbu $2,28($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,29($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,30($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,31($2)
+ or $2,$3,$2
+ sw $2,36($sp)
+ lw $2,300($sp)
+ lbu $2,32($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,33($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,34($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,35($2)
+ or $2,$3,$2
+ sw $2,40($sp)
+ lw $2,300($sp)
+ lbu $2,36($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,37($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,38($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,39($2)
+ or $2,$3,$2
+ sw $2,44($sp)
+ lw $2,300($sp)
+ lbu $2,40($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,41($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,42($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,43($2)
+ or $2,$3,$2
+ sw $2,48($sp)
+ lw $2,300($sp)
+ lbu $2,44($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,45($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,46($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,47($2)
+ or $2,$3,$2
+ sw $2,52($sp)
+ lw $2,300($sp)
+ lbu $2,48($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,49($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,50($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,51($2)
+ or $2,$3,$2
+ sw $2,56($sp)
+ lw $2,300($sp)
+ lbu $2,52($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,53($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,54($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,55($2)
+ or $2,$3,$2
+ sw $2,60($sp)
+ lw $2,300($sp)
+ lbu $2,56($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,57($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,58($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,59($2)
+ or $2,$3,$2
+ sw $2,64($sp)
+ lw $2,300($sp)
+ lbu $2,60($2)
+ sll $3,$2,24
+ lw $2,300($sp)
+ lbu $2,61($2)
+ sll $2,$2,16
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,62($2)
+ sll $2,$2,8
+ or $3,$3,$2
+ lw $2,300($sp)
+ lbu $2,63($2)
+ or $2,$3,$2
+ sw $2,68($sp)
+ lw $2,296($sp)
+ lw $2,8($2)
+ sw $2,264($sp)
+ lw $2,296($sp)
+ lw $2,12($2)
+ sw $2,268($sp)
+ lw $2,296($sp)
+ lw $2,16($2)
+ sw $2,272($sp)
+ lw $2,296($sp)
+ lw $2,20($2)
+ sw $2,276($sp)
+ lw $2,296($sp)
+ lw $2,24($2)
+ sw $2,280($sp)
+ lw $2,296($sp)
+ lw $2,28($2)
+ sw $2,284($sp)
+ lw $2,296($sp)
+ lw $2,32($2)
+ sw $2,288($sp)
+ lw $2,296($sp)
+ lw $2,36($2)
+ sw $2,292($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,8($sp)
+ addu $3,$3,$2
+ li $2,1116340224 # 0x428a0000
+ ori $2,$2,0x2f98
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,12($sp)
+ addu $3,$3,$2
+ li $2,1899429888 # 0x71370000
+ ori $2,$2,0x4491
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,16($sp)
+ addu $3,$3,$2
+ li $2,-1245708288 # 0xb5c00000
+ ori $2,$2,0xfbcf
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,20($sp)
+ addu $3,$3,$2
+ li $2,-374013952 # 0xe9b50000
+ ori $2,$2,0xdba5
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,24($sp)
+ addu $3,$3,$2
+ li $2,961937408 # 0x39560000
+ ori $2,$2,0xc25b
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,28($sp)
+ addu $3,$3,$2
+ li $2,1508966400 # 0x59f10000
+ ori $2,$2,0x11f1
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,32($sp)
+ addu $3,$3,$2
+ li $2,-1841364992 # 0x923f0000
+ ori $2,$2,0x82a4
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,36($sp)
+ addu $3,$3,$2
+ li $2,-1424228352 # 0xab1c0000
+ ori $2,$2,0x5ed5
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,40($sp)
+ addu $3,$3,$2
+ li $2,-670629888 # 0xd8070000
+ ori $2,$2,0xaa98
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,44($sp)
+ addu $3,$3,$2
+ li $2,310575104 # 0x12830000
+ ori $2,$2,0x5b01
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,48($sp)
+ addu $3,$3,$2
+ li $2,607191040 # 0x24310000
+ ori $2,$2,0x85be
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,52($sp)
+ addu $3,$3,$2
+ li $2,1426849792 # 0x550c0000
+ ori $2,$2,0x7dc3
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,56($sp)
+ addu $3,$3,$2
+ li $2,1925054464 # 0x72be0000
+ ori $2,$2,0x5d74
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,60($sp)
+ addu $3,$3,$2
+ li $2,-2132934656 # 0x80de0000
+ ori $2,$2,0xb1fe
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,64($sp)
+ addu $3,$3,$2
+ li $2,-1680080896 # 0x9bdc0000
+ ori $2,$2,0x6a7
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $3,$4,$2
+ lw $2,68($sp)
+ addu $3,$3,$2
+ li $2,-1046806528 # 0xc19b0000
+ ori $2,$2,0xf174
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,64($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,64($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,64($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,44($sp)
+ addu $6,$3,$2
+ lw $2,12($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,12($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,12($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,8($sp)
+ addu $2,$3,$2
+ sw $2,72($sp)
+ addu $3,$5,$2
+ li $2,-459603968 # 0xe49b0000
+ ori $2,$2,0x69c1
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,68($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,68($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,68($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,48($sp)
+ addu $6,$3,$2
+ lw $2,16($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,16($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,16($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,12($sp)
+ addu $2,$3,$2
+ sw $2,76($sp)
+ addu $3,$5,$2
+ li $2,-272760832 # 0xefbe0000
+ ori $2,$2,0x4786
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,72($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,72($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,72($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,52($sp)
+ addu $6,$3,$2
+ lw $2,20($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,20($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,20($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,16($sp)
+ addu $2,$3,$2
+ sw $2,80($sp)
+ addu $3,$5,$2
+ li $2,264306688 # 0xfc10000
+ ori $2,$2,0x9dc6
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,76($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,76($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,76($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,56($sp)
+ addu $6,$3,$2
+ lw $2,24($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,24($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,24($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,20($sp)
+ addu $2,$3,$2
+ sw $2,84($sp)
+ addu $3,$5,$2
+ li $2,604766208 # 0x240c0000
+ ori $2,$2,0xa1cc
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,80($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,80($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,80($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,60($sp)
+ addu $6,$3,$2
+ lw $2,28($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,28($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,28($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,24($sp)
+ addu $2,$3,$2
+ sw $2,88($sp)
+ addu $3,$5,$2
+ li $2,770244608 # 0x2de90000
+ ori $2,$2,0x2c6f
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,84($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,84($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,84($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,64($sp)
+ addu $6,$3,$2
+ lw $2,32($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,32($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,32($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,28($sp)
+ addu $2,$3,$2
+ sw $2,92($sp)
+ addu $3,$5,$2
+ li $2,1249116160 # 0x4a740000
+ ori $2,$2,0x84aa
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,88($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,88($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,88($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,68($sp)
+ addu $6,$3,$2
+ lw $2,36($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,36($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,36($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,32($sp)
+ addu $2,$3,$2
+ sw $2,96($sp)
+ addu $3,$5,$2
+ li $2,1555038208 # 0x5cb00000
+ ori $2,$2,0xa9dc
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,92($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,92($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,92($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,72($sp)
+ addu $6,$3,$2
+ lw $2,40($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,40($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,40($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,36($sp)
+ addu $2,$3,$2
+ sw $2,100($sp)
+ addu $3,$5,$2
+ li $2,1996029952 # 0x76f90000
+ ori $2,$2,0x88da
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,96($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,96($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,96($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,76($sp)
+ addu $6,$3,$2
+ lw $2,44($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,44($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,44($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,40($sp)
+ addu $2,$3,$2
+ sw $2,104($sp)
+ addu $3,$5,$2
+ li $2,-1740767232 # 0x983e0000
+ ori $2,$2,0x5152
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,100($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,100($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,100($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,80($sp)
+ addu $6,$3,$2
+ lw $2,48($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,48($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,48($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,44($sp)
+ addu $2,$3,$2
+ sw $2,108($sp)
+ addu $3,$5,$2
+ li $2,-1473183744 # 0xa8310000
+ ori $2,$2,0xc66d
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,104($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,104($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,104($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,84($sp)
+ addu $6,$3,$2
+ lw $2,52($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,52($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,52($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,48($sp)
+ addu $2,$3,$2
+ sw $2,112($sp)
+ addu $3,$5,$2
+ li $2,-1341980672 # 0xb0030000
+ ori $2,$2,0x27c8
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,108($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,108($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,108($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,88($sp)
+ addu $6,$3,$2
+ lw $2,56($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,56($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,56($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,52($sp)
+ addu $2,$3,$2
+ sw $2,116($sp)
+ addu $3,$5,$2
+ li $2,-1084686336 # 0xbf590000
+ ori $2,$2,0x7fc7
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,112($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,112($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,112($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,92($sp)
+ addu $6,$3,$2
+ lw $2,60($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,60($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,60($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,56($sp)
+ addu $2,$3,$2
+ sw $2,120($sp)
+ addu $3,$5,$2
+ li $2,-958398464 # 0xc6e00000
+ ori $2,$2,0xbf3
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,116($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,116($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,116($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,96($sp)
+ addu $6,$3,$2
+ lw $2,64($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,64($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,64($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,60($sp)
+ addu $2,$3,$2
+ sw $2,124($sp)
+ addu $3,$5,$2
+ li $2,-710475776 # 0xd5a70000
+ ori $2,$2,0x9147
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,120($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,120($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,120($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,100($sp)
+ addu $6,$3,$2
+ lw $2,68($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,68($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,68($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,64($sp)
+ addu $2,$3,$2
+ sw $2,128($sp)
+ addu $3,$5,$2
+ li $2,113901568 # 0x6ca0000
+ ori $2,$2,0x6351
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,124($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,124($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,124($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,104($sp)
+ addu $6,$3,$2
+ lw $2,72($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,72($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,72($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,68($sp)
+ addu $2,$3,$2
+ sw $2,132($sp)
+ addu $3,$5,$2
+ li $2,338231296 # 0x14290000
+ ori $2,$2,0x2967
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,128($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,128($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,128($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,108($sp)
+ addu $6,$3,$2
+ lw $2,76($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,76($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,76($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,72($sp)
+ addu $2,$3,$2
+ sw $2,136($sp)
+ addu $3,$5,$2
+ li $2,666304512 # 0x27b70000
+ ori $2,$2,0xa85
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,132($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,132($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,132($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,112($sp)
+ addu $6,$3,$2
+ lw $2,80($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,80($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,80($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,76($sp)
+ addu $2,$3,$2
+ sw $2,140($sp)
+ addu $3,$5,$2
+ li $2,773521408 # 0x2e1b0000
+ ori $2,$2,0x2138
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,136($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,136($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,136($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,116($sp)
+ addu $6,$3,$2
+ lw $2,84($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,84($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,84($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,80($sp)
+ addu $2,$3,$2
+ sw $2,144($sp)
+ addu $3,$5,$2
+ li $2,1294729216 # 0x4d2c0000
+ ori $2,$2,0x6dfc
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,140($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,140($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,140($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,120($sp)
+ addu $6,$3,$2
+ lw $2,88($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,88($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,88($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,84($sp)
+ addu $2,$3,$2
+ sw $2,148($sp)
+ addu $3,$5,$2
+ li $2,1396178944 # 0x53380000
+ ori $2,$2,0xd13
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,144($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,144($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,144($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,124($sp)
+ addu $6,$3,$2
+ lw $2,92($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,92($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,92($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,88($sp)
+ addu $2,$3,$2
+ sw $2,152($sp)
+ addu $3,$5,$2
+ li $2,1695154176 # 0x650a0000
+ ori $2,$2,0x7354
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,148($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,148($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,148($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,128($sp)
+ addu $6,$3,$2
+ lw $2,96($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,96($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,96($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,92($sp)
+ addu $2,$3,$2
+ sw $2,156($sp)
+ addu $3,$5,$2
+ li $2,1986658304 # 0x766a0000
+ ori $2,$2,0xabb
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,152($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,152($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,152($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,132($sp)
+ addu $6,$3,$2
+ lw $2,100($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,100($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,100($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,96($sp)
+ addu $2,$3,$2
+ sw $2,160($sp)
+ addu $3,$5,$2
+ li $2,-2117992448 # 0x81c20000
+ ori $2,$2,0xc92e
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,156($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,156($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,156($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,136($sp)
+ addu $6,$3,$2
+ lw $2,104($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,104($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,104($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,100($sp)
+ addu $2,$3,$2
+ sw $2,164($sp)
+ addu $3,$5,$2
+ li $2,-1838022656 # 0x92720000
+ ori $2,$2,0x2c85
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,160($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,160($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,160($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,140($sp)
+ addu $6,$3,$2
+ lw $2,108($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,108($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,108($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,104($sp)
+ addu $2,$3,$2
+ sw $2,168($sp)
+ addu $3,$5,$2
+ li $2,-1564540928 # 0xa2bf0000
+ ori $2,$2,0xe8a1
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,164($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,164($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,164($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,144($sp)
+ addu $6,$3,$2
+ lw $2,112($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,112($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,112($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,108($sp)
+ addu $2,$3,$2
+ sw $2,172($sp)
+ addu $3,$5,$2
+ li $2,-1474691072 # 0xa81a0000
+ ori $2,$2,0x664b
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,168($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,168($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,168($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,148($sp)
+ addu $6,$3,$2
+ lw $2,116($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,116($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,116($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,112($sp)
+ addu $2,$3,$2
+ sw $2,176($sp)
+ addu $3,$5,$2
+ li $2,-1035272192 # 0xc24b0000
+ ori $2,$2,0x8b70
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,172($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,172($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,172($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,152($sp)
+ addu $6,$3,$2
+ lw $2,120($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,120($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,120($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,116($sp)
+ addu $2,$3,$2
+ sw $2,180($sp)
+ addu $3,$5,$2
+ li $2,-949223424 # 0xc76c0000
+ ori $2,$2,0x51a3
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,176($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,176($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,176($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,156($sp)
+ addu $6,$3,$2
+ lw $2,124($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,124($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,124($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,120($sp)
+ addu $2,$3,$2
+ sw $2,184($sp)
+ addu $3,$5,$2
+ li $2,-778960896 # 0xd1920000
+ ori $2,$2,0xe819
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,180($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,180($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,180($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,160($sp)
+ addu $6,$3,$2
+ lw $2,128($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,128($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,128($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,124($sp)
+ addu $2,$3,$2
+ sw $2,188($sp)
+ addu $3,$5,$2
+ li $2,-694616064 # 0xd6990000
+ ori $2,$2,0x624
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,184($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,184($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,184($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,164($sp)
+ addu $6,$3,$2
+ lw $2,132($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,132($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,132($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,128($sp)
+ addu $2,$3,$2
+ sw $2,192($sp)
+ addu $3,$5,$2
+ li $2,-200409088 # 0xf40e0000
+ ori $2,$2,0x3585
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,188($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,188($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,188($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,168($sp)
+ addu $6,$3,$2
+ lw $2,136($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,136($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,136($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,132($sp)
+ addu $2,$3,$2
+ sw $2,196($sp)
+ addu $3,$5,$2
+ li $2,275382272 # 0x106a0000
+ ori $2,$2,0xa070
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,192($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,192($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,192($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,172($sp)
+ addu $6,$3,$2
+ lw $2,140($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,140($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,140($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,136($sp)
+ addu $2,$3,$2
+ sw $2,200($sp)
+ addu $3,$5,$2
+ li $2,430178304 # 0x19a40000
+ ori $2,$2,0xc116
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,196($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,196($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,196($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,176($sp)
+ addu $6,$3,$2
+ lw $2,144($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,144($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,144($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,140($sp)
+ addu $2,$3,$2
+ sw $2,204($sp)
+ addu $3,$5,$2
+ li $2,506920960 # 0x1e370000
+ ori $2,$2,0x6c08
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,200($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,200($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,200($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,180($sp)
+ addu $6,$3,$2
+ lw $2,148($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,148($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,148($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,144($sp)
+ addu $2,$3,$2
+ sw $2,208($sp)
+ addu $3,$5,$2
+ li $2,659030016 # 0x27480000
+ ori $2,$2,0x774c
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,204($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,204($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,204($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,184($sp)
+ addu $6,$3,$2
+ lw $2,152($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,152($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,152($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,148($sp)
+ addu $2,$3,$2
+ sw $2,212($sp)
+ addu $3,$5,$2
+ li $2,883949568 # 0x34b00000
+ ori $2,$2,0xbcb5
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,208($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,208($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,208($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,188($sp)
+ addu $6,$3,$2
+ lw $2,156($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,156($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,156($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,152($sp)
+ addu $2,$3,$2
+ sw $2,216($sp)
+ addu $3,$5,$2
+ li $2,958136320 # 0x391c0000
+ ori $2,$2,0xcb3
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,212($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,212($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,212($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,192($sp)
+ addu $6,$3,$2
+ lw $2,160($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,160($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,160($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,156($sp)
+ addu $2,$3,$2
+ sw $2,220($sp)
+ addu $3,$5,$2
+ li $2,1322778624 # 0x4ed80000
+ ori $2,$2,0xaa4a
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,216($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,216($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,216($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,196($sp)
+ addu $6,$3,$2
+ lw $2,164($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,164($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,164($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,160($sp)
+ addu $2,$3,$2
+ sw $2,224($sp)
+ addu $3,$5,$2
+ li $2,1536950272 # 0x5b9c0000
+ ori $2,$2,0xca4f
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,220($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,220($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,220($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,200($sp)
+ addu $6,$3,$2
+ lw $2,168($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,168($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,168($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,164($sp)
+ addu $2,$3,$2
+ sw $2,228($sp)
+ addu $3,$5,$2
+ li $2,1747845120 # 0x682e0000
+ ori $2,$2,0x6ff3
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $2,280($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,292($sp)
+ addu $4,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ xor $3,$3,$2
+ lw $2,280($sp)
+ and $3,$3,$2
+ lw $2,288($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,224($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,224($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,224($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,204($sp)
+ addu $6,$3,$2
+ lw $2,172($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,172($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,172($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,168($sp)
+ addu $2,$3,$2
+ sw $2,232($sp)
+ addu $3,$5,$2
+ li $2,1955528704 # 0x748f0000
+ ori $2,$2,0x82ee
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,264($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ and $5,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ or $3,$3,$2
+ lw $2,272($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,276($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $2,276($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,288($sp)
+ addu $4,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ xor $3,$3,$2
+ lw $2,276($sp)
+ and $3,$3,$2
+ lw $2,284($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,228($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,228($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,228($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,208($sp)
+ addu $6,$3,$2
+ lw $2,176($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,176($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,176($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,172($sp)
+ addu $2,$3,$2
+ sw $2,236($sp)
+ addu $3,$5,$2
+ li $2,2024079360 # 0x78a50000
+ ori $2,$2,0x636f
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,292($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ and $5,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ or $3,$3,$2
+ lw $2,268($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,272($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $2,272($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,284($sp)
+ addu $4,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ xor $3,$3,$2
+ lw $2,272($sp)
+ and $3,$3,$2
+ lw $2,280($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,232($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,232($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,232($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,212($sp)
+ addu $6,$3,$2
+ lw $2,180($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,180($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,180($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,176($sp)
+ addu $2,$3,$2
+ sw $2,240($sp)
+ addu $3,$5,$2
+ li $2,-2067267584 # 0x84c80000
+ ori $2,$2,0x7814
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,288($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ and $5,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ or $3,$3,$2
+ lw $2,264($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,268($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $2,268($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,280($sp)
+ addu $4,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ xor $3,$3,$2
+ lw $2,268($sp)
+ and $3,$3,$2
+ lw $2,276($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,236($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,236($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,236($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,216($sp)
+ addu $6,$3,$2
+ lw $2,184($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,184($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,184($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,180($sp)
+ addu $2,$3,$2
+ sw $2,244($sp)
+ addu $3,$5,$2
+ li $2,-1933115392 # 0x8cc70000
+ ori $2,$2,0x208
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,284($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ and $5,$3,$2
+ lw $3,284($sp)
+ lw $2,288($sp)
+ or $3,$3,$2
+ lw $2,292($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,264($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $2,264($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,264($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,264($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,276($sp)
+ addu $4,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ xor $3,$3,$2
+ lw $2,264($sp)
+ and $3,$3,$2
+ lw $2,272($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,240($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,240($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,240($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,220($sp)
+ addu $6,$3,$2
+ lw $2,188($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,188($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,188($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,184($sp)
+ addu $2,$3,$2
+ sw $2,248($sp)
+ addu $3,$5,$2
+ li $2,-1866596352 # 0x90be0000
+ ori $2,$2,0xfffa
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,280($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,280($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,280($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ and $5,$3,$2
+ lw $3,280($sp)
+ lw $2,284($sp)
+ or $3,$3,$2
+ lw $2,288($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,292($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,292($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,276($sp)
+ lw $2,292($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,292($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,292($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,272($sp)
+ addu $4,$3,$2
+ lw $3,264($sp)
+ lw $2,268($sp)
+ xor $3,$3,$2
+ lw $2,292($sp)
+ and $3,$3,$2
+ lw $2,268($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,244($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,244($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,244($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,224($sp)
+ addu $6,$3,$2
+ lw $2,192($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,192($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,192($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,188($sp)
+ addu $2,$3,$2
+ sw $2,252($sp)
+ addu $3,$5,$2
+ li $2,-1538260992 # 0xa4500000
+ ori $2,$2,0x6ceb
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,276($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,276($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,276($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ and $5,$3,$2
+ lw $3,276($sp)
+ lw $2,280($sp)
+ or $3,$3,$2
+ lw $2,284($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,288($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,288($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,272($sp)
+ lw $2,288($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,288($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,288($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,268($sp)
+ addu $4,$3,$2
+ lw $3,292($sp)
+ lw $2,264($sp)
+ xor $3,$3,$2
+ lw $2,288($sp)
+ and $3,$3,$2
+ lw $2,264($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,248($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,248($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,248($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,228($sp)
+ addu $6,$3,$2
+ lw $2,196($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,196($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,196($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,192($sp)
+ addu $2,$3,$2
+ sw $2,256($sp)
+ addu $3,$5,$2
+ li $2,-1090977792 # 0xbef90000
+ ori $2,$2,0xa3f7
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,272($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,272($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,272($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ and $5,$3,$2
+ lw $3,272($sp)
+ lw $2,276($sp)
+ or $3,$3,$2
+ lw $2,280($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,284($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,284($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,268($sp)
+ lw $2,284($sp)
+ sll $3,$2,26
+ srl $2,$2,6
+ or $4,$3,$2
+ lw $2,284($sp)
+ sll $3,$2,21
+ srl $2,$2,11
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,284($sp)
+ sll $3,$2,7
+ srl $2,$2,25
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,264($sp)
+ addu $4,$3,$2
+ lw $3,288($sp)
+ lw $2,292($sp)
+ xor $3,$3,$2
+ lw $2,284($sp)
+ and $3,$3,$2
+ lw $2,292($sp)
+ xor $2,$3,$2
+ addu $5,$4,$2
+ lw $2,252($sp)
+ sll $3,$2,15
+ srl $2,$2,17
+ or $4,$3,$2
+ lw $2,252($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,252($sp)
+ srl $2,$2,10
+ xor $3,$3,$2
+ lw $2,232($sp)
+ addu $6,$3,$2
+ lw $2,200($sp)
+ sll $3,$2,25
+ srl $2,$2,7
+ or $4,$3,$2
+ lw $2,200($sp)
+ sll $3,$2,14
+ srl $2,$2,18
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,200($sp)
+ srl $2,$2,3
+ xor $2,$3,$2
+ addu $3,$6,$2
+ lw $2,196($sp)
+ addu $2,$3,$2
+ sw $2,260($sp)
+ addu $3,$5,$2
+ li $2,-965672960 # 0xc6710000
+ ori $2,$2,0x78f2
+ addu $2,$3,$2
+ sw $2,0($sp)
+ lw $2,268($sp)
+ sll $3,$2,30
+ srl $2,$2,2
+ or $4,$3,$2
+ lw $2,268($sp)
+ sll $3,$2,19
+ srl $2,$2,13
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,268($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ and $5,$3,$2
+ lw $3,268($sp)
+ lw $2,272($sp)
+ or $3,$3,$2
+ lw $2,276($sp)
+ and $2,$3,$2
+ or $2,$5,$2
+ addu $2,$4,$2
+ sw $2,4($sp)
+ lw $3,280($sp)
+ lw $2,0($sp)
+ addu $2,$3,$2
+ sw $2,280($sp)
+ lw $3,0($sp)
+ lw $2,4($sp)
+ addu $2,$3,$2
+ sw $2,264($sp)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,8($2)
+ lw $2,264($sp)
+ addu $2,$3,$2
+ sw $2,8($4)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,12($2)
+ lw $2,268($sp)
+ addu $2,$3,$2
+ sw $2,12($4)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,16($2)
+ lw $2,272($sp)
+ addu $2,$3,$2
+ sw $2,16($4)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,20($2)
+ lw $2,276($sp)
+ addu $2,$3,$2
+ sw $2,20($4)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,24($2)
+ lw $2,280($sp)
+ addu $2,$3,$2
+ sw $2,24($4)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,28($2)
+ lw $2,284($sp)
+ addu $2,$3,$2
+ sw $2,28($4)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,32($2)
+ lw $2,288($sp)
+ addu $2,$3,$2
+ sw $2,32($4)
+ lw $4,296($sp)
+ lw $2,296($sp)
+ lw $3,36($2)
+ lw $2,292($sp)
+ addu $2,$3,$2
+ sw $2,36($4)
+ addiu $sp,$sp,296
+ j $31
+ nop
+
+ .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,32,$31 # vars= 8, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-32
+ sw $31,24($sp)
+ sw $4,32($sp)
+ sw $5,36($sp)
+ sw $6,40($sp)
+ lw $2,40($sp)
+ bgtz $2,$L6
+ nop
+
+ j $L5
+ nop
+
+$L6:
+ lw $2,32($sp)
+ lw $2,0($2)
+ andi $2,$2,0x3f
+ sw $2,20($sp)
+ li $3,64 # 0x40
+ lw $2,20($sp)
+ subu $2,$3,$2
+ sw $2,16($sp)
+ lw $4,32($sp)
+ lw $2,32($sp)
+ lw $3,0($2)
+ lw $2,40($sp)
+ addu $2,$3,$2
+ sw $2,0($4)
+ lw $3,32($sp)
+ lw $2,32($sp)
+ lw $2,0($2)
+ sw $2,0($3)
+ lw $2,32($sp)
+ lw $3,0($2)
+ lw $2,40($sp)
+ sltu $2,$3,$2
+ beq $2,$0,$L7
+ nop
+
+ lw $3,32($sp)
+ lw $2,32($sp)
+ lw $2,4($2)
+ addiu $2,$2,1
+ sw $2,4($3)
+$L7:
+ lw $2,20($sp)
+ beq $2,$0,$L9
+ nop
+
+ lw $2,40($sp)
+ lw $3,16($sp)
+ slt $2,$2,$3
+ bne $2,$0,$L9
+ nop
+
+ lw $3,32($sp)
+ lw $2,20($sp)
+ addu $2,$3,$2
+ addiu $2,$2,40
+ move $4,$2
+ lw $5,36($sp)
+ lw $6,16($sp)
+ jal memcpy
+ nop
+
+ lw $2,32($sp)
+ addiu $2,$2,40
+ lw $4,32($sp)
+ move $5,$2
+ jal sha2_process
+ nop
+
+ lw $3,36($sp)
+ lw $2,16($sp)
+ addu $2,$3,$2
+ sw $2,36($sp)
+ lw $3,40($sp)
+ lw $2,16($sp)
+ subu $2,$3,$2
+ sw $2,40($sp)
+ sw $0,20($sp)
+$L9:
+ lw $2,40($sp)
+ slt $2,$2,64
+ bne $2,$0,$L10
+ nop
+
+ lw $4,32($sp)
+ lw $5,36($sp)
+ jal sha2_process
+ nop
+
+ lw $2,36($sp)
+ addiu $2,$2,64
+ sw $2,36($sp)
+ lw $2,40($sp)
+ addiu $2,$2,-64
+ sw $2,40($sp)
+ j $L9
+ nop
+
+$L10:
+ lw $2,40($sp)
+ blez $2,$L5
+ nop
+
+ lw $3,32($sp)
+ lw $2,20($sp)
+ addu $2,$3,$2
+ addiu $2,$2,40
+ move $4,$2
+ lw $5,36($sp)
+ lw $6,40($sp)
+ jal memcpy
+ nop
+
+$L5:
+ lw $31,24($sp)
+ addiu $sp,$sp,32
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end sha2_update
+ .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_finish,"ax",@progbits
+ .align 2
+ .globl sha2_finish
+ .ent sha2_finish
+ .type sha2_finish, @function
+sha2_finish:
+ .set nomips16
+ .frame $sp,56,$31 # vars= 32, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-56
+ sw $31,48($sp)
+ sw $4,56($sp)
+ sw $5,60($sp)
+ lw $2,56($sp)
+ lw $2,0($2)
+ srl $3,$2,29
+ lw $2,56($sp)
+ lw $2,4($2)
+ sll $2,$2,3
+ or $2,$3,$2
+ sw $2,24($sp)
+ lw $2,56($sp)
+ lw $2,0($2)
+ sll $2,$2,3
+ sw $2,28($sp)
+ lw $2,24($sp)
+ srl $2,$2,24
+ sb $2,32($sp)
+ lw $2,24($sp)
+ srl $2,$2,16
+ sb $2,33($sp)
+ lw $2,24($sp)
+ srl $2,$2,8
+ sb $2,34($sp)
+ lw $2,24($sp)
+ sb $2,35($sp)
+ lw $2,28($sp)
+ srl $2,$2,24
+ sb $2,36($sp)
+ lw $2,28($sp)
+ srl $2,$2,16
+ sb $2,37($sp)
+ lw $2,28($sp)
+ srl $2,$2,8
+ sb $2,38($sp)
+ lw $2,28($sp)
+ sb $2,39($sp)
+ lw $2,56($sp)
+ lw $2,0($2)
+ andi $2,$2,0x3f
+ sw $2,16($sp)
+ lw $2,16($sp)
+ sltu $2,$2,56
+ beq $2,$0,$L13
+ nop
+
+ li $3,56 # 0x38
+ lw $2,16($sp)
+ subu $3,$3,$2
+ sw $3,40($sp)
+ j $L14
+ nop
+
+$L13:
+ li $3,120 # 0x78
+ lw $2,16($sp)
+ subu $3,$3,$2
+ sw $3,40($sp)
+$L14:
+ lw $2,40($sp)
+ sw $2,20($sp)
+ lw $4,56($sp)
+ lui $2,%hi(sha2_padding)
+ addiu $5,$2,%lo(sha2_padding)
+ lw $6,20($sp)
+ jal sha2_update
+ nop
+
+ addiu $2,$sp,32
+ lw $4,56($sp)
+ move $5,$2
+ li $6,8 # 0x8
+ jal sha2_update
+ nop
+
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,8($2)
+ srl $2,$2,24
+ sb $2,0($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,8($2)
+ srl $2,$2,16
+ sb $2,1($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,8($2)
+ srl $2,$2,8
+ sb $2,2($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,8($2)
+ sb $2,3($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,12($2)
+ srl $2,$2,24
+ sb $2,4($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,12($2)
+ srl $2,$2,16
+ sb $2,5($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,12($2)
+ srl $2,$2,8
+ sb $2,6($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,12($2)
+ sb $2,7($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,16($2)
+ srl $2,$2,24
+ sb $2,8($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,16($2)
+ srl $2,$2,16
+ sb $2,9($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,16($2)
+ srl $2,$2,8
+ sb $2,10($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,16($2)
+ sb $2,11($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,20($2)
+ srl $2,$2,24
+ sb $2,12($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,20($2)
+ srl $2,$2,16
+ sb $2,13($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,20($2)
+ srl $2,$2,8
+ sb $2,14($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,20($2)
+ sb $2,15($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,24($2)
+ srl $2,$2,24
+ sb $2,16($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,24($2)
+ srl $2,$2,16
+ sb $2,17($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,24($2)
+ srl $2,$2,8
+ sb $2,18($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,24($2)
+ sb $2,19($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,28($2)
+ srl $2,$2,24
+ sb $2,20($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,28($2)
+ srl $2,$2,16
+ sb $2,21($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,28($2)
+ srl $2,$2,8
+ sb $2,22($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,28($2)
+ sb $2,23($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,32($2)
+ srl $2,$2,24
+ sb $2,24($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,32($2)
+ srl $2,$2,16
+ sb $2,25($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,32($2)
+ srl $2,$2,8
+ sb $2,26($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,32($2)
+ sb $2,27($3)
+ lw $2,56($sp)
+ lw $2,232($2)
+ bne $2,$0,$L12
+ nop
+
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,36($2)
+ srl $2,$2,24
+ sb $2,28($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,36($2)
+ srl $2,$2,16
+ sb $2,29($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,36($2)
+ srl $2,$2,8
+ sb $2,30($3)
+ lw $3,60($sp)
+ lw $2,56($sp)
+ lw $2,36($2)
+ sb $2,31($3)
+$L12:
+ lw $31,48($sp)
+ addiu $sp,$sp,56
+ j $31
+ nop
+
+ .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,264,$31 # vars= 240, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-264
+ sw $31,256($sp)
+ sw $4,264($sp)
+ sw $5,268($sp)
+ sw $6,272($sp)
+ sw $7,276($sp)
+ addiu $4,$sp,16
+ lw $5,276($sp)
+ jal sha2_starts
+ nop
+
+ addiu $4,$sp,16
+ lw $5,264($sp)
+ lw $6,268($sp)
+ jal sha2_update
+ nop
+
+ addiu $4,$sp,16
+ lw $5,272($sp)
+ jal sha2_finish
+ nop
+
+ addiu $4,$sp,16
+ move $5,$0
+ li $6,236 # 0xec
+ jal memset
+ nop
+
+ lw $31,256($sp)
+ addiu $sp,$sp,264
+ j $31
+ nop
+
+ .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= 48, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ sw $31,64($sp)
+ sw $4,72($sp)
+ sw $5,76($sp)
+ sw $6,80($sp)
+ sw $7,84($sp)
+ lw $2,80($sp)
+ slt $2,$2,65
+ bne $2,$0,$L18
+ nop
+
+ addiu $2,$sp,24
+ lw $4,76($sp)
+ lw $5,80($sp)
+ move $6,$2
+ lw $7,84($sp)
+ jal sha2
+ nop
+
+ lw $2,84($sp)
+ beq $2,$0,$L19
+ nop
+
+ li $2,28 # 0x1c
+ sw $2,56($sp)
+ j $L20
+ nop
+
+$L19:
+ li $2,32 # 0x20
+ sw $2,56($sp)
+$L20:
+ lw $2,56($sp)
+ sw $2,80($sp)
+ addiu $2,$sp,24
+ sw $2,76($sp)
+$L18:
+ lw $2,72($sp)
+ addiu $2,$2,104
+ move $4,$2
+ li $5,54 # 0x36
+ li $6,64 # 0x40
+ jal memset
+ nop
+
+ lw $2,72($sp)
+ addiu $2,$2,168
+ move $4,$2
+ li $5,92 # 0x5c
+ li $6,64 # 0x40
+ jal memset
+ nop
+
+ sw $0,16($sp)
+$L21:
+ lw $2,16($sp)
+ lw $3,80($sp)
+ slt $2,$2,$3
+ beq $2,$0,$L22
+ nop
+
+ lw $3,72($sp)
+ lw $2,16($sp)
+ addu $5,$3,$2
+ lw $3,72($sp)
+ lw $2,16($sp)
+ addu $4,$3,$2
+ lw $3,76($sp)
+ lw $2,16($sp)
+ addu $2,$3,$2
+ lbu $3,104($4)
+ lbu $2,0($2)
+ xor $2,$3,$2
+ sb $2,104($5)
+ lw $3,72($sp)
+ lw $2,16($sp)
+ addu $5,$3,$2
+ lw $3,72($sp)
+ lw $2,16($sp)
+ addu $4,$3,$2
+ lw $3,76($sp)
+ lw $2,16($sp)
+ addu $2,$3,$2
+ lbu $3,168($4)
+ lbu $2,0($2)
+ xor $2,$3,$2
+ sb $2,168($5)
+ lw $2,16($sp)
+ addiu $2,$2,1
+ sw $2,16($sp)
+ j $L21
+ nop
+
+$L22:
+ lw $4,72($sp)
+ lw $5,84($sp)
+ jal sha2_starts
+ nop
+
+ lw $2,72($sp)
+ addiu $2,$2,104
+ lw $4,72($sp)
+ move $5,$2
+ li $6,64 # 0x40
+ jal sha2_update
+ nop
+
+ addiu $2,$sp,24
+ move $4,$2
+ move $5,$0
+ li $6,32 # 0x20
+ jal memset
+ nop
+
+ lw $31,64($sp)
+ addiu $sp,$sp,72
+ j $31
+ nop
+
+ .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,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-24
+ sw $31,16($sp)
+ sw $4,24($sp)
+ sw $5,28($sp)
+ sw $6,32($sp)
+ lw $4,24($sp)
+ lw $5,28($sp)
+ lw $6,32($sp)
+ jal sha2_update
+ nop
+
+ lw $31,16($sp)
+ addiu $sp,$sp,24
+ j $31
+ 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= 48, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ sw $31,64($sp)
+ sw $4,72($sp)
+ sw $5,76($sp)
+ lw $2,72($sp)
+ lw $2,232($2)
+ sw $2,16($sp)
+ lw $2,16($sp)
+ bne $2,$0,$L26
+ nop
+
+ li $2,32 # 0x20
+ sw $2,56($sp)
+ j $L27
+ nop
+
+$L26:
+ li $2,28 # 0x1c
+ sw $2,56($sp)
+$L27:
+ lw $2,56($sp)
+ sw $2,20($sp)
+ addiu $2,$sp,24
+ lw $4,72($sp)
+ move $5,$2
+ jal sha2_finish
+ nop
+
+ lw $4,72($sp)
+ lw $5,16($sp)
+ jal sha2_starts
+ nop
+
+ lw $2,72($sp)
+ addiu $2,$2,168
+ lw $4,72($sp)
+ move $5,$2
+ li $6,64 # 0x40
+ jal sha2_update
+ nop
+
+ addiu $2,$sp,24
+ lw $4,72($sp)
+ move $5,$2
+ lw $6,20($sp)
+ jal sha2_update
+ nop
+
+ lw $4,72($sp)
+ lw $5,76($sp)
+ jal sha2_finish
+ nop
+
+ addiu $2,$sp,24
+ move $4,$2
+ move $5,$0
+ li $6,32 # 0x20
+ jal memset
+ nop
+
+ lw $31,64($sp)
+ addiu $sp,$sp,72
+ j $31
+ nop
+
+ .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,264,$31 # vars= 240, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-264
+ sw $31,256($sp)
+ sw $4,264($sp)
+ sw $5,268($sp)
+ sw $6,272($sp)
+ sw $7,276($sp)
+ addiu $4,$sp,16
+ lw $5,264($sp)
+ lw $6,268($sp)
+ lw $7,284($sp)
+ jal sha2_hmac_starts
+ nop
+
+ addiu $4,$sp,16
+ lw $5,272($sp)
+ lw $6,276($sp)
+ jal sha2_hmac_update
+ nop
+
+ addiu $4,$sp,16
+ lw $5,280($sp)
+ jal sha2_hmac_finish
+ nop
+
+ addiu $4,$sp,16
+ move $5,$0
+ li $6,236 # 0xec
+ jal memset
+ nop
+
+ lw $31,256($sp)
+ addiu $sp,$sp,264
+ j $31
+ nop
+
+ .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= 1/0, args= 24, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-64
+ sw $31,56($sp)
+ sw $4,64($sp)
+ sw $5,68($sp)
+ sw $6,72($sp)
+ sw $7,76($sp)
+ addiu $2,$sp,24
+ sw $2,16($sp)
+ sw $0,20($sp)
+ lw $4,64($sp)
+ lw $5,68($sp)
+ lw $6,72($sp)
+ lw $7,76($sp)
+ jal sha2_hmac
+ nop
+
+ lw $4,80($sp)
+ addiu $5,$sp,24
+ lw $6,84($sp)
+ jal memcpy
+ nop
+
+ addiu $4,$sp,24
+ move $5,$0
+ li $6,32 # 0x20
+ jal memset
+ nop
+
+ lw $31,56($sp)
+ addiu $sp,$sp,64
+ j $31
+ nop
+
+ .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,40,$31 # vars= 8, regs= 1/0, args= 24, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-40
+ sw $31,32($sp)
+ sw $4,40($sp)
+ sw $5,44($sp)
+ sw $6,48($sp)
+ sw $7,52($sp)
+ sw $0,24($sp)
+$L31:
+ lw $2,60($sp)
+ sw $2,28($sp)
+ lw $2,28($sp)
+ bgez $2,$L34
+ nop
+
+ lw $3,28($sp)
+ addiu $3,$3,31
+ sw $3,28($sp)
+$L34:
+ lw $3,28($sp)
+ sra $2,$3,5
+ beq $2,$0,$L32
+ nop
+
+ lw $2,24($sp)
+ sll $3,$2,5
+ lw $2,56($sp)
+ addu $2,$3,$2
+ sw $2,16($sp)
+ li $2,32 # 0x20
+ sw $2,20($sp)
+ lw $4,40($sp)
+ lw $5,44($sp)
+ lw $6,48($sp)
+ lw $7,52($sp)
+ jal sha256_hmac
+ nop
+
+ lw $2,24($sp)
+ sll $3,$2,5
+ lw $2,56($sp)
+ addu $2,$3,$2
+ sw $2,48($sp)
+ li $2,32 # 0x20
+ sw $2,52($sp)
+ lw $2,24($sp)
+ addiu $2,$2,1
+ sw $2,24($sp)
+ lw $2,60($sp)
+ addiu $2,$2,-32
+ sw $2,60($sp)
+ j $L31
+ nop
+
+$L32:
+ lw $2,60($sp)
+ blez $2,$L30
+ nop
+
+ lw $2,24($sp)
+ sll $3,$2,5
+ lw $2,56($sp)
+ addu $2,$3,$2
+ sw $2,16($sp)
+ lw $2,60($sp)
+ sw $2,20($sp)
+ lw $4,40($sp)
+ lw $5,44($sp)
+ lw $6,48($sp)
+ lw $7,52($sp)
+ jal sha256_hmac
+ nop
+
+$L30:
+ lw $31,32($sp)
+ addiu $sp,$sp,40
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end KD_hmac_sha256
+ .data
+ .align 2
+ .type Sbox_tmp.3, @object
+ .size Sbox_tmp.3, 256
+Sbox_tmp.3:
+ .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.4, @object
+ .size CK_tmp.4, 128
+CK_tmp.4:
+ .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
+
+ addiu $sp,$sp,-24
+ sw $31,16($sp)
+ lui $2,%hi(Sbox)
+ addiu $4,$2,%lo(Sbox)
+ lui $2,%hi(Sbox_tmp.3)
+ addiu $5,$2,%lo(Sbox_tmp.3)
+ li $6,256 # 0x100
+ jal memcpy
+ nop
+
+ lui $2,%hi(CK)
+ addiu $4,$2,%lo(CK)
+ lui $2,%hi(CK_tmp.4)
+ addiu $5,$2,%lo(CK_tmp.4)
+ li $6,128 # 0x80
+ jal memcpy
+ nop
+
+ li $2,1 # 0x1
+ lw $31,16($sp)
+ addiu $sp,$sp,24
+ j $31
+ nop
+
+ .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,32,$31 # vars= 32, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-32
+ sw $4,32($sp)
+ sw $5,36($sp)
+ sw $6,40($sp)
+ lw $2,32($sp)
+ sw $2,24($sp)
+ lw $2,24($sp)
+ lw $2,0($2)
+ sw $2,8($sp)
+ lw $2,24($sp)
+ lw $2,4($2)
+ sw $2,12($sp)
+ lw $2,24($sp)
+ lw $2,8($2)
+ sw $2,16($sp)
+ lw $2,24($sp)
+ lw $2,12($2)
+ sw $2,20($sp)
+ sw $0,0($sp)
+$L38:
+ lw $2,0($sp)
+ sltu $2,$2,32
+ beq $2,$0,$L39
+ nop
+
+ lw $3,12($sp)
+ lw $2,16($sp)
+ xor $3,$3,$2
+ lw $2,20($sp)
+ xor $4,$3,$2
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,40($sp)
+ addu $2,$3,$2
+ lw $2,0($2)
+ xor $2,$4,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,4($sp)
+ sll $3,$2,2
+ srl $2,$2,30
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,18
+ srl $2,$2,14
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,24
+ srl $2,$2,8
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,8($sp)
+ xor $2,$2,$3
+ sw $2,8($sp)
+ lw $3,16($sp)
+ lw $2,20($sp)
+ xor $3,$3,$2
+ lw $2,8($sp)
+ xor $4,$3,$2
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,40($sp)
+ addu $2,$3,$2
+ lw $2,4($2)
+ xor $2,$4,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,4($sp)
+ sll $3,$2,2
+ srl $2,$2,30
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,18
+ srl $2,$2,14
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,24
+ srl $2,$2,8
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,12($sp)
+ xor $2,$2,$3
+ sw $2,12($sp)
+ lw $3,20($sp)
+ lw $2,8($sp)
+ xor $3,$3,$2
+ lw $2,12($sp)
+ xor $4,$3,$2
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,40($sp)
+ addu $2,$3,$2
+ lw $2,8($2)
+ xor $2,$4,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,4($sp)
+ sll $3,$2,2
+ srl $2,$2,30
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,18
+ srl $2,$2,14
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,24
+ srl $2,$2,8
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,16($sp)
+ xor $2,$2,$3
+ sw $2,16($sp)
+ lw $3,8($sp)
+ lw $2,12($sp)
+ xor $3,$3,$2
+ lw $2,16($sp)
+ xor $4,$3,$2
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,40($sp)
+ addu $2,$3,$2
+ lw $2,12($2)
+ xor $2,$4,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,4($sp)
+ sll $3,$2,2
+ srl $2,$2,30
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,10
+ srl $2,$2,22
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,18
+ srl $2,$2,14
+ or $2,$3,$2
+ xor $4,$4,$2
+ lw $2,4($sp)
+ sll $3,$2,24
+ srl $2,$2,8
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,20($sp)
+ xor $2,$2,$3
+ sw $2,20($sp)
+ lw $2,0($sp)
+ addiu $2,$2,4
+ sw $2,0($sp)
+ j $L38
+ nop
+
+$L39:
+ lw $2,36($sp)
+ sw $2,24($sp)
+ lw $3,24($sp)
+ lw $2,20($sp)
+ sw $2,0($3)
+ lw $3,24($sp)
+ lw $2,16($sp)
+ sw $2,4($3)
+ lw $3,24($sp)
+ lw $2,12($sp)
+ sw $2,8($3)
+ lw $3,24($sp)
+ lw $2,8($sp)
+ sw $2,12($3)
+ addiu $sp,$sp,32
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end SMS4Crypt
+ .section .text.SMS4KeyExt,"ax",@progbits
+ .align 2
+ .ent SMS4KeyExt
+ .type SMS4KeyExt, @function
+SMS4KeyExt:
+ .set nomips16
+ .frame $sp,32,$31 # vars= 32, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-32
+ sw $4,32($sp)
+ sw $5,36($sp)
+ lw $2,32($sp)
+ sw $2,24($sp)
+ lw $2,24($sp)
+ lw $2,0($2)
+ sw $2,8($sp)
+ lw $2,24($sp)
+ lw $2,4($2)
+ sw $2,12($sp)
+ lw $2,24($sp)
+ lw $2,8($2)
+ sw $2,16($sp)
+ lw $2,24($sp)
+ lw $2,12($2)
+ sw $2,20($sp)
+ lw $3,8($sp)
+ li $2,-1548681216 # 0xa3b10000
+ ori $2,$2,0xbac6
+ xor $2,$3,$2
+ sw $2,8($sp)
+ lw $3,12($sp)
+ li $2,1453981696 # 0x56aa0000
+ ori $2,$2,0x3350
+ xor $2,$3,$2
+ sw $2,12($sp)
+ lw $3,16($sp)
+ li $2,1736245248 # 0x677d0000
+ ori $2,$2,0x9197
+ xor $2,$3,$2
+ sw $2,16($sp)
+ lw $3,20($sp)
+ li $2,-1301282816 # 0xb2700000
+ ori $2,$2,0x22dc
+ xor $2,$3,$2
+ sw $2,20($sp)
+ sw $0,0($sp)
+$L42:
+ lw $2,0($sp)
+ sltu $2,$2,32
+ beq $2,$0,$L41
+ nop
+
+ lw $3,12($sp)
+ lw $2,16($sp)
+ xor $3,$3,$2
+ lw $2,20($sp)
+ xor $5,$3,$2
+ lui $4,%hi(CK)
+ lw $2,0($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(CK)
+ addu $2,$3,$2
+ lw $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,36($sp)
+ addu $5,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,23
+ srl $2,$2,9
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,8($sp)
+ xor $2,$2,$3
+ sw $2,8($sp)
+ sw $2,0($5)
+ lw $3,16($sp)
+ lw $2,20($sp)
+ xor $3,$3,$2
+ lw $2,8($sp)
+ xor $5,$3,$2
+ lui $4,%hi(CK)
+ lw $2,0($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(CK)
+ addu $2,$3,$2
+ lw $2,4($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,36($sp)
+ addu $5,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,23
+ srl $2,$2,9
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,12($sp)
+ xor $2,$2,$3
+ sw $2,12($sp)
+ sw $2,4($5)
+ lw $3,20($sp)
+ lw $2,8($sp)
+ xor $3,$3,$2
+ lw $2,12($sp)
+ xor $5,$3,$2
+ lui $4,%hi(CK)
+ lw $2,0($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(CK)
+ addu $2,$3,$2
+ lw $2,8($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,36($sp)
+ addu $5,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,23
+ srl $2,$2,9
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,16($sp)
+ xor $2,$2,$3
+ sw $2,16($sp)
+ sw $2,8($5)
+ lw $3,8($sp)
+ lw $2,12($sp)
+ xor $3,$3,$2
+ lw $2,16($sp)
+ xor $5,$3,$2
+ lui $4,%hi(CK)
+ lw $2,0($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(CK)
+ addu $2,$3,$2
+ lw $2,12($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $3,$2,24
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $5,$2,24
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,16
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,16
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ srl $2,$2,8
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ sll $2,$2,8
+ xor $5,$5,$2
+ lui $4,%hi(Sbox)
+ lw $2,4($sp)
+ andi $3,$2,0xff
+ addiu $2,$4,%lo(Sbox)
+ addu $2,$3,$2
+ lbu $2,0($2)
+ xor $2,$5,$2
+ sw $2,4($sp)
+ lw $2,0($sp)
+ sll $3,$2,2
+ lw $2,36($sp)
+ addu $5,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,13
+ srl $2,$2,19
+ or $3,$3,$2
+ lw $2,4($sp)
+ xor $4,$3,$2
+ lw $2,4($sp)
+ sll $3,$2,23
+ srl $2,$2,9
+ or $2,$3,$2
+ xor $3,$4,$2
+ lw $2,20($sp)
+ xor $2,$2,$3
+ sw $2,20($sp)
+ sw $2,12($5)
+ lw $2,0($sp)
+ addiu $2,$2,4
+ sw $2,0($sp)
+ j $L42
+ nop
+
+$L41:
+ addiu $sp,$sp,32
+ 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,64,$31 # vars= 40, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-64
+ sw $31,56($sp)
+ sw $4,64($sp)
+ sw $5,68($sp)
+ sw $6,72($sp)
+ move $2,$7
+ sh $2,76($sp)
+ lhu $2,76($sp)
+ andi $2,$2,0xf
+ sh $2,28($sp)
+ lhu $2,76($sp)
+ srl $2,$2,4
+ andi $2,$2,0xffff
+ sw $2,16($sp)
+ sw $0,20($sp)
+$L46:
+ lw $2,20($sp)
+ sltu $2,$2,16
+ beq $2,$0,$L47
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $3,$2,%lo(wapiBlockIn)
+ lw $2,20($sp)
+ addu $4,$3,$2
+ lw $3,68($sp)
+ lw $2,20($sp)
+ subu $2,$3,$2
+ lbu $2,15($2)
+ sb $2,0($4)
+ lw $2,20($sp)
+ addiu $2,$2,1
+ sw $2,20($sp)
+ j $L46
+ nop
+
+$L47:
+ lw $4,64($sp)
+ lui $2,%hi(wapiRK)
+ addiu $5,$2,%lo(wapiRK)
+ jal SMS4KeyExt
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $2,$2,%lo(wapiBlockIn)
+ sw $2,32($sp)
+ lui $2,%hi(wapiTempBlock)
+ addiu $2,$2,%lo(wapiTempBlock)
+ sw $2,36($sp)
+ sw $0,20($sp)
+$L49:
+ lw $2,20($sp)
+ lw $3,16($sp)
+ sltu $2,$2,$3
+ beq $2,$0,$L50
+ nop
+
+ lw $4,32($sp)
+ lw $5,36($sp)
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+ lw $2,80($sp)
+ sw $2,44($sp)
+ lw $2,72($sp)
+ sw $2,48($sp)
+ lw $2,36($sp)
+ sw $2,52($sp)
+ lw $5,44($sp)
+ lw $2,48($sp)
+ lw $3,52($sp)
+ lw $4,0($2)
+ lw $2,0($3)
+ xor $2,$4,$2
+ sw $2,0($5)
+ lw $5,44($sp)
+ lw $2,48($sp)
+ lw $3,52($sp)
+ lw $4,4($2)
+ lw $2,4($3)
+ xor $2,$4,$2
+ sw $2,4($5)
+ lw $5,44($sp)
+ lw $2,48($sp)
+ lw $3,52($sp)
+ lw $4,8($2)
+ lw $2,8($3)
+ xor $2,$4,$2
+ sw $2,8($5)
+ lw $5,44($sp)
+ lw $2,48($sp)
+ lw $3,52($sp)
+ lw $4,12($2)
+ lw $2,12($3)
+ xor $2,$4,$2
+ sw $2,12($5)
+ lw $2,32($sp)
+ sw $2,40($sp)
+ lw $2,36($sp)
+ sw $2,32($sp)
+ lw $2,40($sp)
+ sw $2,36($sp)
+ lw $2,80($sp)
+ addiu $2,$2,16
+ sw $2,80($sp)
+ lw $2,72($sp)
+ addiu $2,$2,16
+ sw $2,72($sp)
+ lw $2,20($sp)
+ addiu $2,$2,1
+ sw $2,20($sp)
+ j $L49
+ nop
+
+$L50:
+ lhu $2,28($sp)
+ beq $2,$0,$L53
+ nop
+
+ lw $4,84($sp)
+ lw $2,20($sp)
+ sll $2,$2,4
+ move $3,$2
+ lhu $2,28($sp)
+ addu $2,$3,$2
+ sh $2,0($4)
+ lw $4,32($sp)
+ lw $5,36($sp)
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+ sw $0,24($sp)
+$L54:
+ lhu $2,28($sp)
+ lw $3,24($sp)
+ sltu $2,$3,$2
+ beq $2,$0,$L45
+ nop
+
+ lw $3,80($sp)
+ lw $2,24($sp)
+ addu $5,$3,$2
+ lw $3,72($sp)
+ lw $2,24($sp)
+ addu $4,$3,$2
+ lw $3,36($sp)
+ lw $2,24($sp)
+ addu $2,$3,$2
+ lbu $3,0($4)
+ lbu $2,0($2)
+ xor $2,$3,$2
+ sb $2,0($5)
+ lw $2,24($sp)
+ addiu $2,$2,1
+ sw $2,24($sp)
+ j $L54
+ nop
+
+$L53:
+ lw $3,84($sp)
+ lw $2,20($sp)
+ sll $2,$2,4
+ sh $2,0($3)
+$L45:
+ lw $31,56($sp)
+ addiu $sp,$sp,64
+ j $31
+ nop
+
+ .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= 48, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ sw $31,64($sp)
+ sw $4,72($sp)
+ sw $5,76($sp)
+ sw $6,80($sp)
+ move $2,$7
+ lw $3,92($sp)
+ sb $2,84($sp)
+ sh $3,16($sp)
+ lbu $2,84($sp)
+ andi $2,$2,0xf
+ sw $2,28($sp)
+ lbu $2,84($sp)
+ srl $2,$2,4
+ andi $2,$2,0x00ff
+ sw $2,20($sp)
+ sw $0,24($sp)
+$L59:
+ lw $2,24($sp)
+ sltu $2,$2,16
+ beq $2,$0,$L60
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $3,$2,%lo(wapiBlockIn)
+ lw $2,24($sp)
+ addu $4,$3,$2
+ lw $3,76($sp)
+ lw $2,24($sp)
+ subu $2,$3,$2
+ lbu $2,15($2)
+ sb $2,0($4)
+ lw $2,24($sp)
+ addiu $2,$2,1
+ sw $2,24($sp)
+ j $L59
+ nop
+
+$L60:
+ lw $4,72($sp)
+ lui $2,%hi(wapiRK)
+ addiu $5,$2,%lo(wapiRK)
+ jal SMS4KeyExt
+ nop
+
+ addiu $3,$sp,32
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ move $5,$3
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+ sw $0,24($sp)
+$L62:
+ lw $2,24($sp)
+ lw $3,20($sp)
+ sltu $2,$2,$3
+ beq $2,$0,$L63
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $2,$2,%lo(wapiBlockIn)
+ sw $2,48($sp)
+ lw $2,80($sp)
+ sw $2,52($sp)
+ addiu $2,$sp,32
+ sw $2,56($sp)
+ lw $5,48($sp)
+ lw $2,52($sp)
+ lw $3,56($sp)
+ lw $4,0($2)
+ lw $2,0($3)
+ xor $2,$4,$2
+ sw $2,0($5)
+ lw $5,48($sp)
+ lw $2,52($sp)
+ lw $3,56($sp)
+ lw $4,4($2)
+ lw $2,4($3)
+ xor $2,$4,$2
+ sw $2,4($5)
+ lw $5,48($sp)
+ lw $2,52($sp)
+ lw $3,56($sp)
+ lw $4,8($2)
+ lw $2,8($3)
+ xor $2,$4,$2
+ sw $2,8($5)
+ lw $5,48($sp)
+ lw $2,52($sp)
+ lw $3,56($sp)
+ lw $4,12($2)
+ lw $2,12($3)
+ xor $2,$4,$2
+ sw $2,12($5)
+ addiu $3,$sp,32
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ move $5,$3
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+ lw $2,80($sp)
+ addiu $2,$2,16
+ sw $2,80($sp)
+ lw $2,24($sp)
+ addiu $2,$2,1
+ sw $2,24($sp)
+ j $L62
+ nop
+
+$L63:
+ lw $2,28($sp)
+ beq $2,$0,$L66
+ nop
+
+ lw $3,28($sp)
+ lui $2,%hi(wapiTempBlock)
+ addiu $2,$2,%lo(wapiTempBlock)
+ addu $4,$3,$2
+ li $3,16 # 0x10
+ lw $2,28($sp)
+ subu $2,$3,$2
+ move $5,$0
+ move $6,$2
+ jal memset
+ nop
+
+ lui $2,%hi(wapiTempBlock)
+ addiu $4,$2,%lo(wapiTempBlock)
+ lw $5,80($sp)
+ lw $6,28($sp)
+ jal memcpy
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $2,$2,%lo(wapiBlockIn)
+ sw $2,56($sp)
+ lui $2,%hi(wapiTempBlock)
+ addiu $2,$2,%lo(wapiTempBlock)
+ sw $2,52($sp)
+ addiu $2,$sp,32
+ sw $2,48($sp)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,0($2)
+ lw $2,0($3)
+ xor $2,$4,$2
+ sw $2,0($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,4($2)
+ lw $2,4($3)
+ xor $2,$4,$2
+ sw $2,4($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,8($2)
+ lw $2,8($3)
+ xor $2,$4,$2
+ sw $2,8($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,12($2)
+ lw $2,12($3)
+ xor $2,$4,$2
+ sw $2,12($5)
+ addiu $3,$sp,32
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ move $5,$3
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+$L66:
+ lhu $2,16($sp)
+ andi $2,$2,0xf
+ sw $2,28($sp)
+ lhu $2,16($sp)
+ srl $2,$2,4
+ andi $2,$2,0xffff
+ sw $2,20($sp)
+ sw $0,24($sp)
+$L68:
+ lw $2,24($sp)
+ lw $3,20($sp)
+ sltu $2,$2,$3
+ beq $2,$0,$L69
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $2,$2,%lo(wapiBlockIn)
+ sw $2,56($sp)
+ lw $2,88($sp)
+ sw $2,52($sp)
+ addiu $2,$sp,32
+ sw $2,48($sp)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,0($2)
+ lw $2,0($3)
+ xor $2,$4,$2
+ sw $2,0($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,4($2)
+ lw $2,4($3)
+ xor $2,$4,$2
+ sw $2,4($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,8($2)
+ lw $2,8($3)
+ xor $2,$4,$2
+ sw $2,8($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,12($2)
+ lw $2,12($3)
+ xor $2,$4,$2
+ sw $2,12($5)
+ addiu $3,$sp,32
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ move $5,$3
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+ lw $2,88($sp)
+ addiu $2,$2,16
+ sw $2,88($sp)
+ lw $2,24($sp)
+ addiu $2,$2,1
+ sw $2,24($sp)
+ j $L68
+ nop
+
+$L69:
+ lw $2,28($sp)
+ beq $2,$0,$L72
+ nop
+
+ lw $3,28($sp)
+ lui $2,%hi(wapiTempBlock)
+ addiu $2,$2,%lo(wapiTempBlock)
+ addu $4,$3,$2
+ li $3,16 # 0x10
+ lw $2,28($sp)
+ subu $2,$3,$2
+ move $5,$0
+ move $6,$2
+ jal memset
+ nop
+
+ lui $2,%hi(wapiTempBlock)
+ addiu $4,$2,%lo(wapiTempBlock)
+ lw $5,88($sp)
+ lw $6,28($sp)
+ jal memcpy
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $2,$2,%lo(wapiBlockIn)
+ sw $2,56($sp)
+ lui $2,%hi(wapiTempBlock)
+ addiu $2,$2,%lo(wapiTempBlock)
+ sw $2,52($sp)
+ addiu $2,$sp,32
+ sw $2,48($sp)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,0($2)
+ lw $2,0($3)
+ xor $2,$4,$2
+ sw $2,0($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,4($2)
+ lw $2,4($3)
+ xor $2,$4,$2
+ sw $2,4($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,8($2)
+ lw $2,8($3)
+ xor $2,$4,$2
+ sw $2,8($5)
+ lw $5,56($sp)
+ lw $2,52($sp)
+ lw $3,48($sp)
+ lw $4,12($2)
+ lw $2,12($3)
+ xor $2,$4,$2
+ sw $2,12($5)
+ addiu $3,$sp,32
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ move $5,$3
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+$L72:
+ addiu $2,$sp,32
+ lw $4,96($sp)
+ move $5,$2
+ li $6,16 # 0x10
+ jal memcpy
+ nop
+
+ lw $31,64($sp)
+ addiu $sp,$sp,72
+ j $31
+ nop
+
+ .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,40,$31 # vars= 16, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-40
+ sw $31,32($sp)
+ sw $4,40($sp)
+ sw $5,44($sp)
+ sw $6,48($sp)
+ sw $7,52($sp)
+ lw $2,60($sp)
+ sb $0,0($2)
+ lw $2,52($sp)
+ andi $2,$2,0xf
+ sw $2,28($sp)
+ lw $2,52($sp)
+ srl $2,$2,4
+ sw $2,16($sp)
+ lw $2,28($sp)
+ beq $2,$0,$L75
+ nop
+
+ lw $2,16($sp)
+ addiu $2,$2,1
+ sw $2,16($sp)
+$L75:
+ lw $2,28($sp)
+ beq $2,$0,$L76
+ nop
+
+ lw $2,52($sp)
+ sw $2,24($sp)
+$L77:
+ lw $2,16($sp)
+ sll $3,$2,4
+ lw $2,24($sp)
+ sltu $2,$2,$3
+ beq $2,$0,$L76
+ nop
+
+ lw $3,48($sp)
+ lw $2,24($sp)
+ addu $2,$3,$2
+ sb $0,0($2)
+ lw $2,24($sp)
+ addiu $2,$2,1
+ sw $2,24($sp)
+ j $L77
+ nop
+
+$L76:
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ lw $5,44($sp)
+ li $6,16 # 0x10
+ jal memcpy
+ nop
+
+ lw $4,40($sp)
+ lui $2,%hi(wapiRK)
+ addiu $5,$2,%lo(wapiRK)
+ jal SMS4KeyExt
+ nop
+
+ sw $0,20($sp)
+$L80:
+ lw $2,20($sp)
+ lw $3,16($sp)
+ sltu $2,$2,$3
+ beq $2,$0,$L74
+ nop
+
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ lui $2,%hi(wapiTempBlock)
+ addiu $5,$2,%lo(wapiTempBlock)
+ lui $2,%hi(wapiRK)
+ addiu $6,$2,%lo(wapiRK)
+ jal SMS4Crypt
+ nop
+
+ lw $3,60($sp)
+ lw $2,60($sp)
+ lbu $2,0($2)
+ addiu $2,$2,16
+ sb $2,0($3)
+ sw $0,24($sp)
+$L83:
+ lw $2,24($sp)
+ sltu $2,$2,16
+ beq $2,$0,$L84
+ nop
+
+ lw $2,20($sp)
+ sll $3,$2,4
+ lw $2,56($sp)
+ addu $3,$3,$2
+ lw $2,24($sp)
+ addu $5,$3,$2
+ lw $2,20($sp)
+ sll $3,$2,4
+ lw $2,48($sp)
+ addu $3,$3,$2
+ lw $2,24($sp)
+ addu $4,$3,$2
+ lui $2,%hi(wapiTempBlock)
+ addiu $3,$2,%lo(wapiTempBlock)
+ lw $2,24($sp)
+ addu $2,$3,$2
+ lbu $3,0($4)
+ lbu $2,0($2)
+ xor $2,$3,$2
+ sb $2,0($5)
+ lw $2,24($sp)
+ addiu $2,$2,1
+ sw $2,24($sp)
+ j $L83
+ nop
+
+$L84:
+ lui $2,%hi(wapiBlockIn)
+ addiu $4,$2,%lo(wapiBlockIn)
+ lui $2,%hi(wapiTempBlock)
+ addiu $5,$2,%lo(wapiTempBlock)
+ li $6,16 # 0x10
+ jal memcpy
+ nop
+
+ lw $2,20($sp)
+ addiu $2,$2,1
+ sw $2,20($sp)
+ j $L80
+ nop
+
+$L74:
+ lw $31,32($sp)
+ addiu $sp,$sp,40
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end WapiSMS4ForMNKEncrypt
+ .local TempBuf.5
+ .comm TempBuf.5,34,4
+ .section .text.SecCalculateMicSMS4,"ax",@progbits
+ .align 2
+ .globl SecCalculateMicSMS4
+ .ent SecCalculateMicSMS4
+ .type SecCalculateMicSMS4, @function
+SecCalculateMicSMS4:
+ .set nomips16
+ .frame $sp,64,$31 # vars= 24, regs= 1/0, args= 32, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-64
+ sw $31,56($sp)
+ move $3,$4
+ sw $5,68($sp)
+ sw $6,72($sp)
+ sw $7,76($sp)
+ lw $2,80($sp)
+ sb $3,64($sp)
+ sh $2,32($sp)
+ lui $3,%hi(TempBuf.5)
+ lw $2,72($sp)
+ lhu $2,0($2)
+ sh $2,%lo(TempBuf.5)($3)
+ lui $2,%hi(TempBuf.5)
+ addiu $2,$2,%lo(TempBuf.5)
+ sw $2,40($sp)
+ lui $4,%hi(TempBuf.5)
+ lui $2,%hi(TempBuf.5)
+ li $3,-28729
+ lhu $2,%lo(TempBuf.5)($2)
+ and $2,$2,$3
+ sh $2,%lo(TempBuf.5)($4)
+ lw $2,72($sp)
+ addiu $3,$2,4
+ lui $2,%hi(TempBuf.5+2)
+ addiu $4,$2,%lo(TempBuf.5+2)
+ move $5,$3
+ li $6,12 # 0xc
+ jal memcpy
+ nop
+
+ lw $2,72($sp)
+ addiu $3,$2,22
+ lui $2,%hi(TempBuf.5+14)
+ addiu $4,$2,%lo(TempBuf.5+14)
+ move $5,$3
+ li $6,2 # 0x2
+ jal memcpy
+ nop
+
+ lui $2,%hi(TempBuf.5+14)
+ addiu $2,$2,%lo(TempBuf.5+14)
+ sw $2,40($sp)
+ lui $3,%hi(TempBuf.5+14)
+ lui $2,%hi(TempBuf.5+14)
+ lhu $2,%lo(TempBuf.5+14)($2)
+ andi $2,$2,0xf00
+ sh $2,%lo(TempBuf.5+14)($3)
+ lw $2,72($sp)
+ addiu $3,$2,16
+ lui $2,%hi(TempBuf.5+16)
+ addiu $4,$2,%lo(TempBuf.5+16)
+ move $5,$3
+ li $6,6 # 0x6
+ jal memcpy
+ nop
+
+ lw $2,72($sp)
+ lhu $2,0($2)
+ andi $2,$2,0x1
+ sll $3,$2,1
+ lw $2,72($sp)
+ lhu $2,0($2)
+ srl $2,$2,1
+ andi $2,$2,0x1
+ or $3,$3,$2
+ li $2,3 # 0x3
+ bne $3,$2,$L87
+ nop
+
+ lw $2,72($sp)
+ addiu $3,$2,24
+ lui $2,%hi(TempBuf.5+22)
+ addiu $4,$2,%lo(TempBuf.5+22)
+ move $5,$3
+ li $6,6 # 0x6
+ jal memcpy
+ nop
+
+ li $2,30
+ sb $2,35($sp)
+ j $L90
+ nop
+
+$L87:
+ lui $2,%hi(TempBuf.5+22)
+ addiu $4,$2,%lo(TempBuf.5+22)
+ move $5,$0
+ li $6,6 # 0x6
+ jal memset
+ nop
+
+ li $2,24
+ sb $2,35($sp)
+$L90:
+ lw $2,72($sp)
+ lhu $2,0($2)
+ sh $2,44($sp)
+ lhu $2,44($sp)
+ andi $2,$2,0xff
+ sll $3,$2,8
+ lhu $2,44($sp)
+ andi $2,$2,0xff00
+ sra $2,$2,8
+ or $2,$3,$2
+ andi $2,$2,0xffff
+ sw $2,48($sp)
+ lw $2,48($sp)
+ andi $2,$2,0xffff
+ andi $3,$2,0x88
+ li $2,136 # 0x88
+ beq $3,$2,$L91
+ nop
+
+ j $L89
+ nop
+
+$L91:
+ lbu $3,35($sp)
+ lw $2,72($sp)
+ addu $3,$3,$2
+ lui $2,%hi(TempBuf.5+28)
+ addiu $4,$2,%lo(TempBuf.5+28)
+ move $5,$3
+ li $6,2 # 0x2
+ jal memcpy
+ nop
+
+ li $2,34
+ sb $2,34($sp)
+ lbu $3,35($sp)
+ lw $2,72($sp)
+ addu $2,$3,$2
+ addiu $2,$2,4
+ sw $2,36($sp)
+ j $L93
+ nop
+
+$L89:
+ li $2,32
+ sb $2,34($sp)
+ lbu $3,35($sp)
+ lw $2,72($sp)
+ addu $2,$3,$2
+ addiu $2,$2,2
+ sw $2,36($sp)
+$L93:
+ lui $2,%hi(TempBuf.5)
+ lbu $3,34($sp)
+ addiu $2,$2,%lo(TempBuf.5)
+ addu $3,$3,$2
+ lhu $2,32($sp)
+ sb $2,-1($3)
+ lui $2,%hi(TempBuf.5)
+ lbu $3,34($sp)
+ addiu $2,$2,%lo(TempBuf.5)
+ addu $3,$3,$2
+ lhu $2,32($sp)
+ andi $2,$2,0xff00
+ sra $2,$2,8
+ sb $2,-2($3)
+ lui $2,%hi(TempBuf.5)
+ lbu $3,34($sp)
+ addiu $2,$2,%lo(TempBuf.5)
+ addu $2,$3,$2
+ sb $0,-3($2)
+ lui $2,%hi(TempBuf.5)
+ lbu $3,34($sp)
+ addiu $2,$2,%lo(TempBuf.5)
+ addu $3,$3,$2
+ lbu $2,64($sp)
+ sb $2,-4($3)
+ lbu $3,34($sp)
+ lw $2,76($sp)
+ sw $2,16($sp)
+ lhu $2,32($sp)
+ sw $2,20($sp)
+ lw $2,84($sp)
+ sw $2,24($sp)
+ lw $4,68($sp)
+ lw $5,36($sp)
+ lui $2,%hi(TempBuf.5)
+ addiu $6,$2,%lo(TempBuf.5)
+ move $7,$3
+ jal WapiSMS4CalculateMic
+ nop
+
+ lw $31,56($sp)
+ addiu $sp,$sp,64
+ j $31
+ nop
+
+ .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,88,$31 # vars= 56, regs= 1/0, args= 24, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-88
+ sw $31,80($sp)
+ sw $4,88($sp)
+ sw $5,92($sp)
+ lw $2,92($sp)
+ lw $2,8($2)
+ sw $2,32($sp)
+ lw $2,92($sp)
+ lw $2,68($2)
+ bne $2,$0,$L95
+ nop
+
+ lw $3,88($sp)
+ li $2,65536 # 0x10000
+ addu $2,$2,$3
+ lw $2,15776($2)
+ sw $2,72($sp)
+ lw $2,88($sp)
+ lw $2,1232($2)
+ srl $2,$2,15
+ andi $2,$2,0x1
+ sb $2,36($sp)
+ lw $2,88($sp)
+ addiu $2,$2,928
+ sw $2,52($sp)
+ lbu $2,36($sp)
+ sll $3,$2,5
+ lw $2,88($sp)
+ addu $2,$3,$2
+ addiu $2,$2,1254
+ sw $2,44($sp)
+ lbu $2,36($sp)
+ sll $3,$2,5
+ lw $2,88($sp)
+ addu $2,$3,$2
+ addiu $2,$2,1238
+ sw $2,48($sp)
+ lw $4,52($sp)
+ li $5,1 # 0x1
+ jal WapiIncreasePN
+ nop
+
+ sw $2,64($sp)
+ lw $2,64($sp)
+ bne $2,$0,$L96
+ nop
+
+ lw $2,88($sp)
+ lw $2,1232($2)
+ andi $2,$2,0x2000
+ bne $2,$0,$L96
+ nop
+
+ lw $2,72($sp)
+ beq $2,$0,$L97
+ nop
+
+ lw $2,72($sp)
+ lw $2,6676($2)
+ beq $2,$0,$L97
+ nop
+
+ lw $2,72($sp)
+ lw $2,6676($2)
+ lw $2,352($2)
+ andi $2,$2,0x1000
+ bne $2,$0,$L96
+ nop
+
+$L97:
+ lw $4,88($sp)
+ move $5,$0
+ jal wapiUpdateMSK
+ nop
+
+$L96:
+ lw $2,88($sp)
+ lw $3,92($sp)
+ lw $4,1304($2)
+ lw $2,20($3)
+ sltu $2,$2,$4
+ bne $2,$0,$L100
+ nop
+
+ lw $3,88($sp)
+ lw $2,88($sp)
+ lw $2,8($2)
+ lw $2,5260($2)
+ sw $2,1304($3)
+ lw $2,88($sp)
+ lw $2,8($2)
+ lw $3,5252($2)
+ li $2,3 # 0x3
+ beq $3,$2,$L102
+ nop
+
+ lw $2,88($sp)
+ lw $2,8($2)
+ lw $3,5252($2)
+ li $2,4 # 0x4
+ beq $3,$2,$L102
+ nop
+
+ j $L106
+ nop
+
+$L102:
+ lw $2,88($sp)
+ lw $2,1232($2)
+ andi $2,$2,0x2000
+ bne $2,$0,$L106
+ nop
+
+ lw $2,72($sp)
+ beq $2,$0,$L103
+ nop
+
+ lw $2,72($sp)
+ lw $2,6676($2)
+ beq $2,$0,$L103
+ nop
+
+ lw $2,72($sp)
+ lw $2,6676($2)
+ lw $2,352($2)
+ andi $2,$2,0x1000
+ bne $2,$0,$L106
+ nop
+
+$L103:
+ lw $4,88($sp)
+ move $5,$0
+ jal wapiUpdateMSK
+ nop
+
+ j $L106
+ nop
+
+$L100:
+ lw $5,88($sp)
+ lw $2,88($sp)
+ lw $3,92($sp)
+ lw $4,1304($2)
+ lw $2,20($3)
+ subu $2,$4,$2
+ sw $2,1304($5)
+$L106:
+ lw $2,88($sp)
+ lw $2,8($2)
+ lw $2,668($2)
+ sw $2,68($sp)
+ j $L107
+ nop
+
+$L95:
+ lw $2,92($sp)
+ lw $2,68($2)
+ lw $2,6676($2)
+ sw $2,28($sp)
+ lw $2,28($sp)
+ lw $2,352($2)
+ srl $2,$2,15
+ andi $2,$2,0x1
+ sb $2,36($sp)
+ lw $2,28($sp)
+ addiu $2,$2,432
+ sw $2,52($sp)
+ lbu $2,36($sp)
+ sll $3,$2,5
+ lw $2,28($sp)
+ addu $2,$3,$2
+ addiu $2,$2,504
+ sw $2,44($sp)
+ lbu $2,36($sp)
+ sll $3,$2,5
+ lw $2,28($sp)
+ addu $2,$3,$2
+ addiu $2,$2,488
+ sw $2,48($sp)
+ lw $4,52($sp)
+ li $5,2 # 0x2
+ jal WapiIncreasePN
+ nop
+
+ sw $2,64($sp)
+ lw $2,64($sp)
+ bne $2,$0,$L108
+ nop
+
+ lw $2,28($sp)
+ lw $2,352($2)
+ andi $2,$2,0x1000
+ bne $2,$0,$L108
+ nop
+
+ lw $2,88($sp)
+ lw $2,1232($2)
+ andi $2,$2,0x2000
+ bne $2,$0,$L108
+ nop
+
+ lw $2,92($sp)
+ lw $4,88($sp)
+ lw $5,68($2)
+ jal wapiUpdateUSK
+ nop
+
+$L108:
+ lw $2,28($sp)
+ lw $3,92($sp)
+ lw $4,596($2)
+ lw $2,20($3)
+ sltu $2,$2,$4
+ bne $2,$0,$L112
+ nop
+
+ lw $3,28($sp)
+ lw $2,88($sp)
+ lw $2,8($2)
+ lw $2,5248($2)
+ sw $2,596($3)
+ lw $2,28($sp)
+ lw $2,652($2)
+ lw $2,8($2)
+ lw $3,5240($2)
+ li $2,3 # 0x3
+ beq $3,$2,$L114
+ nop
+
+ lw $2,28($sp)
+ lw $2,652($2)
+ lw $2,8($2)
+ lw $3,5240($2)
+ li $2,4 # 0x4
+ beq $3,$2,$L114
+ nop
+
+ j $L118
+ nop
+
+$L114:
+ lw $2,28($sp)
+ lw $2,352($2)
+ andi $2,$2,0x1000
+ bne $2,$0,$L118
+ nop
+
+ lw $2,88($sp)
+ lw $2,1232($2)
+ andi $2,$2,0x2000
+ bne $2,$0,$L118
+ nop
+
+ lw $2,92($sp)
+ lw $4,88($sp)
+ lw $5,68($2)
+ jal wapiUpdateUSK
+ nop
+
+ j $L118
+ nop
+
+$L112:
+ lw $5,28($sp)
+ lw $2,28($sp)
+ lw $3,92($sp)
+ lw $4,596($2)
+ lw $2,20($3)
+ subu $2,$4,$2
+ sw $2,596($5)
+$L118:
+ lw $2,92($sp)
+ lw $2,68($2)
+ lw $2,6124($2)
+ sw $2,68($sp)
+$L107:
+ lw $2,92($sp)
+ lw $3,12($2)
+ lw $2,32($sp)
+ addu $2,$3,$2
+ sw $2,56($sp)
+ lw $3,56($sp)
+ lbu $2,36($sp)
+ sb $2,0($3)
+ lw $2,56($sp)
+ sb $0,1($2)
+ lw $2,56($sp)
+ addiu $2,$2,2
+ move $4,$2
+ lw $5,52($sp)
+ li $6,16 # 0x10
+ jal memcpy
+ nop
+
+ lw $3,68($sp)
+ li $2,1 # 0x1
+ beq $3,$2,$L119
+ nop
+
+ lw $2,92($sp)
+ lw $4,4($2)
+ lw $2,92($sp)
+ lbu $3,56($2)
+ lw $2,176($4)
+ subu $2,$2,$3
+ sw $2,60($sp)
+ lw $2,92($sp)
+ lw $2,4($2)
+ lw $3,92($sp)
+ lw $4,176($2)
+ lw $2,20($3)
+ addu $2,$4,$2
+ sw $2,40($sp)
+ lw $2,92($sp)
+ lbu $2,56($2)
+ beq $2,$0,$L120
+ nop
+
+ lw $2,92($sp)
+ lw $3,12($2)
+ lw $2,32($sp)
+ addu $3,$3,$2
+ lw $2,92($sp)
+ lw $2,44($2)
+ addu $3,$3,$2
+ lw $2,92($sp)
+ lbu $2,56($2)
+ lw $4,60($sp)
+ move $5,$3
+ move $6,$2
+ jal memcpy
+ nop
+
+$L120:
+ lbu $5,36($sp)
+ lw $2,92($sp)
+ lw $4,20($2)
+ lw $2,92($sp)
+ lbu $3,56($2)
+ move $2,$4
+ addu $2,$3,$2
+ andi $2,$2,0xffff
+ sw $2,16($sp)
+ lw $2,40($sp)
+ sw $2,20($sp)
+ move $4,$5
+ lw $5,44($sp)
+ lw $6,32($sp)
+ lw $7,60($sp)
+ jal SecCalculateMicSMS4
+ nop
+
+ lw $2,92($sp)
+ lw $4,20($2)
+ lw $2,92($sp)
+ lbu $3,56($2)
+ move $2,$4
+ addu $2,$3,$2
+ addiu $2,$2,16
+ andi $3,$2,0xffff
+ lw $2,60($sp)
+ sw $2,16($sp)
+ addiu $2,$sp,24
+ sw $2,20($sp)
+ lw $4,48($sp)
+ lw $5,52($sp)
+ lw $6,60($sp)
+ move $7,$3
+ jal WapiSMS4Cryption
+ nop
+
+ lw $3,56($sp)
+ lw $2,60($sp)
+ lw $2,0($2)
+ sw $2,18($3)
+ lw $3,56($sp)
+ lw $2,60($sp)
+ lw $2,4($2)
+ sw $2,22($3)
+ j $L94
+ nop
+
+$L119:
+ lw $2,92($sp)
+ sw $0,52($2)
+$L94:
+ lw $31,80($sp)
+ addiu $sp,$sp,88
+ j $31
+ nop
+
+ .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,104,$31 # vars= 72, regs= 1/0, args= 24, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-104
+ sw $31,96($sp)
+ sw $4,104($sp)
+ sw $5,108($sp)
+ sw $6,112($sp)
+ lw $2,108($sp)
+ lw $2,6676($2)
+ sw $2,28($sp)
+ lw $2,112($sp)
+ lw $2,0($2)
+ lw $2,176($2)
+ sw $2,32($sp)
+ lw $2,112($sp)
+ lw $2,32($2)
+ sb $2,24($sp)
+ lbu $2,24($sp)
+ addiu $2,$2,18
+ sb $2,25($sp)
+ lbu $3,24($sp)
+ lw $2,32($sp)
+ addu $2,$3,$2
+ sw $2,72($sp)
+ lw $2,32($sp)
+ addiu $2,$2,4
+ sw $2,36($sp)
+ lw $2,32($sp)
+ addiu $2,$2,10
+ sw $2,40($sp)
+ lw $2,72($sp)
+ lbu $2,0($2)
+ sb $2,44($sp)
+ lw $2,72($sp)
+ addiu $2,$2,2
+ sw $2,56($sp)
+ lw $2,36($sp)
+ lbu $2,0($2)
+ andi $2,$2,0x1
+ beq $2,$0,$L123
+ nop
+
+ lw $4,104($sp)
+ lw $5,40($sp)
+ jal get_stainfo
+ nop
+
+ sw $2,80($sp)
+ lw $2,80($sp)
+ beq $2,$0,$L125
+ nop
+
+ lw $2,80($sp)
+ lw $2,6676($2)
+ beq $2,$0,$L125
+ nop
+
+ lw $2,80($sp)
+ lw $2,6676($2)
+ lw $2,352($2)
+ andi $2,$2,0x800
+ beq $2,$0,$L125
+ nop
+
+ lw $2,104($sp)
+ lw $2,1232($2)
+ srl $2,$2,15
+ andi $2,$2,0x1
+ lbu $3,44($sp)
+ andi $2,$2,0x00ff
+ beq $3,$2,$L124
+ nop
+
+ lw $2,104($sp)
+ lw $2,1232($2)
+ andi $2,$2,0x2000
+ bne $2,$0,$L124
+ nop
+
+$L125:
+ sw $0,88($sp)
+ j $L122
+ nop
+
+$L124:
+ lw $2,104($sp)
+ addiu $2,$2,944
+ lw $4,56($sp)
+ move $5,$2
+ jal WapiComparePN
+ nop
+
+ move $3,$2
+ li $2,-1 # 0xffffffff
+ bne $3,$2,$L126
+ nop
+
+ sw $0,88($sp)
+ j $L122
+ nop
+
+$L126:
+ lw $2,104($sp)
+ addiu $2,$2,944
+ move $4,$2
+ lw $5,56($sp)
+ li $6,16 # 0x10
+ jal memcpy
+ nop
+
+ lbu $2,44($sp)
+ sll $3,$2,5
+ lw $2,104($sp)
+ addu $2,$3,$2
+ addiu $2,$2,1254
+ sw $2,48($sp)
+ lbu $2,44($sp)
+ sll $3,$2,5
+ lw $2,104($sp)
+ addu $2,$3,$2
+ addiu $2,$2,1238
+ sw $2,52($sp)
+ lw $2,104($sp)
+ lw $2,8($2)
+ lw $2,668($2)
+ sw $2,84($sp)
+ j $L127
+ nop
+
+$L123:
+ lw $2,28($sp)
+ lw $2,352($2)
+ andi $2,$2,0x4000
+ beq $2,$0,$L129
+ nop
+
+ lw $2,28($sp)
+ lw $2,352($2)
+ srl $2,$2,15
+ andi $2,$2,0x1
+ lbu $3,44($sp)
+ andi $2,$2,0x00ff
+ beq $3,$2,$L128
+ nop
+
+ lw $2,104($sp)
+ lw $2,1232($2)
+ andi $2,$2,0x2000
+ bne $2,$0,$L128
+ nop
+
+$L129:
+ sw $0,88($sp)
+ j $L122
+ nop
+
+$L128:
+ lw $2,112($sp)
+ lhu $2,38($2)
+ beq $2,$0,$L131
+ nop
+
+ lw $2,112($sp)
+ lhu $3,38($2)
+ li $2,3 # 0x3
+ beq $3,$2,$L131
+ nop
+
+ j $L130
+ nop
+
+$L131:
+ sb $0,76($sp)
+ j $L132
+ nop
+
+$L130:
+ lw $2,112($sp)
+ lhu $2,38($2)
+ sltu $2,$2,3
+ beq $2,$0,$L133
+ nop
+
+ li $2,1
+ sb $2,76($sp)
+ j $L132
+ nop
+
+$L133:
+ lw $2,112($sp)
+ lhu $2,38($2)
+ sltu $2,$2,6
+ beq $2,$0,$L135
+ nop
+
+ li $2,2
+ sb $2,76($sp)
+ j $L132
+ nop
+
+$L135:
+ li $2,3
+ sb $2,76($sp)
+$L132:
+ lw $2,56($sp)
+ lbu $2,15($2)
+ andi $2,$2,0x1
+ beq $2,$0,$L137
+ nop
+
+ sw $0,88($sp)
+ j $L122
+ nop
+
+$L137:
+ lw $4,112($sp)
+ lw $3,28($sp)
+ lbu $2,76($sp)
+ sll $2,$2,1
+ addu $2,$2,$3
+ lhu $3,36($4)
+ lhu $2,448($2)
+ sltu $2,$3,$2
+ bne $2,$0,$L138
+ nop
+
+ lbu $2,76($sp)
+ sll $3,$2,4
+ lw $2,28($sp)
+ addu $2,$3,$2
+ addiu $2,$2,368
+ lw $4,56($sp)
+ move $5,$2
+ jal WapiComparePN
+ nop
+
+ move $3,$2
+ li $2,-1 # 0xffffffff
+ bne $3,$2,$L139
+ nop
+
+ sw $0,88($sp)
+ j $L122
+ nop
+
+$L139:
+ lbu $2,76($sp)
+ sll $3,$2,4
+ lw $2,28($sp)
+ addu $2,$3,$2
+ addiu $2,$2,368
+ move $4,$2
+ lw $5,56($sp)
+ li $6,16 # 0x10
+ jal memcpy
+ nop
+
+ lw $3,28($sp)
+ lbu $2,76($sp)
+ sll $2,$2,1
+ addu $3,$2,$3
+ lw $2,112($sp)
+ lhu $2,36($2)
+ sh $2,448($3)
+ j $L140
+ nop
+
+$L138:
+ lui $2,%hi(wapiCryptoTemp)
+ addiu $4,$2,%lo(wapiCryptoTemp)
+ lw $5,56($sp)
+ li $6,16 # 0x10
+ jal memcpy
+ nop
+
+ lw $3,28($sp)
+ lbu $2,76($sp)
+ sll $2,$2,1
+ addu $2,$2,$3
+ lhu $3,448($2)
+ lw $2,112($sp)
+ lhu $2,36($2)
+ subu $2,$3,$2
+ addiu $2,$2,1
+ sll $2,$2,1
+ andi $3,$2,0x00ff
+ lui $2,%hi(wapiCryptoTemp)
+ addiu $4,$2,%lo(wapiCryptoTemp)
+ move $5,$3
+ jal WapiIncreasePN
+ nop
+
+ lbu $2,76($sp)
+ sll $3,$2,4
+ lw $2,28($sp)
+ addu $2,$3,$2
+ addiu $3,$2,368
+ lui $2,%hi(wapiCryptoTemp)
+ addiu $4,$2,%lo(wapiCryptoTemp)
+ move $5,$3
+ jal WapiComparePN
+ nop
+
+ move $3,$2
+ li $2,-1 # 0xffffffff
+ bne $3,$2,$L140
+ nop
+
+ sw $0,88($sp)
+ j $L122
+ nop
+
+$L140:
+ lbu $2,44($sp)
+ sll $3,$2,5
+ lw $2,28($sp)
+ addu $2,$3,$2
+ addiu $2,$2,504
+ sw $2,48($sp)
+ lbu $2,44($sp)
+ sll $3,$2,5
+ lw $2,28($sp)
+ addu $2,$3,$2
+ addiu $2,$2,488
+ sw $2,52($sp)
+ lw $2,108($sp)
+ lw $2,6124($2)
+ sw $2,84($sp)
+$L127:
+ lw $3,84($sp)
+ li $2,1 # 0x1
+ beq $3,$2,$L142
+ nop
+
+ lbu $3,25($sp)
+ lw $2,32($sp)
+ addu $2,$3,$2
+ sw $2,60($sp)
+ lw $2,112($sp)
+ lw $2,12($2)
+ sh $2,70($sp)
+ lbu $3,25($sp)
+ lhu $2,70($sp)
+ subu $2,$2,$3
+ sh $2,68($sp)
+ lhu $3,70($sp)
+ lw $2,32($sp)
+ addu $2,$3,$2
+ addiu $2,$2,-16
+ sw $2,64($sp)
+ lhu $3,68($sp)
+ lui $2,%hi(wapiDecrytBuf)
+ addiu $4,$2,%lo(wapiDecrytBuf)
+ lw $5,60($sp)
+ move $6,$3
+ jal memcpy
+ nop
+
+ lbu $3,25($sp)
+ lui $2,%hi(wapiDecrytHdrBuf)
+ addiu $4,$2,%lo(wapiDecrytHdrBuf)
+ lw $5,32($sp)
+ move $6,$3
+ jal memcpy
+ nop
+
+ lhu $3,68($sp)
+ lw $2,60($sp)
+ sw $2,16($sp)
+ addiu $2,$sp,26
+ sw $2,20($sp)
+ lw $4,52($sp)
+ lw $5,56($sp)
+ lui $2,%hi(wapiDecrytBuf)
+ addiu $6,$2,%lo(wapiDecrytBuf)
+ move $7,$3
+ jal WapiSMS4Cryption
+ nop
+
+ lhu $2,68($sp)
+ addiu $2,$2,-16
+ sh $2,68($sp)
+ lbu $3,44($sp)
+ lhu $2,68($sp)
+ sw $2,16($sp)
+ lui $2,%hi(wapiCryptoTemp)
+ addiu $2,$2,%lo(wapiCryptoTemp)
+ sw $2,20($sp)
+ move $4,$3
+ lw $5,48($sp)
+ lui $2,%hi(wapiDecrytHdrBuf)
+ addiu $6,$2,%lo(wapiDecrytHdrBuf)
+ lw $7,60($sp)
+ jal SecCalculateMicSMS4
+ nop
+
+ lui $2,%hi(wapiCryptoTemp)
+ addiu $4,$2,%lo(wapiCryptoTemp)
+ lw $5,64($sp)
+ li $6,16 # 0x10
+ jal memcmp
+ nop
+
+ beq $2,$0,$L142
+ nop
+
+ sw $0,88($sp)
+ j $L122
+ nop
+
+$L142:
+ li $2,1 # 0x1
+ sw $2,88($sp)
+$L122:
+ lw $2,88($sp)
+ lw $31,96($sp)
+ addiu $sp,$sp,104
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end SecSWSMS4Decryption
+ .data
+ .align 2
+ .type mti, @object
+ .size mti, 4
+mti:
+ .word 625
+ .section .text.WapiMTgenSeed,"ax",@progbits
+ .align 2
+ .globl WapiMTgenSeed
+ .ent WapiMTgenSeed
+ .type WapiMTgenSeed, @function
+WapiMTgenSeed:
+ .set nomips16
+ .frame $sp,8,$31 # vars= 8, regs= 0/0, args= 0, gp= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-8
+ sw $4,8($sp)
+ li $2,1812398080 # 0x6c070000
+ ori $2,$2,0x8965
+ sw $2,0($sp)
+ lui $3,%hi(mt)
+ lw $2,8($sp)
+ sw $2,%lo(mt)($3)
+ lui $3,%hi(mti)
+ li $2,1 # 0x1
+ sw $2,%lo(mti)($3)
+$L145:
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ slt $2,$2,624
+ beq $2,$0,$L144
+ nop
+
+ lui $4,%hi(mt)
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $6,$3,$2
+ lui $4,%hi(mt)
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $5,$3,$2
+ lui $4,%hi(mt)
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $2,$3,$2
+ lw $2,-4($2)
+ srl $3,$2,30
+ lw $2,-4($5)
+ xor $3,$3,$2
+ lw $2,0($sp)
+ mult $3,$2
+ mflo $3
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ addu $2,$3,$2
+ sw $2,0($6)
+ lui $4,%hi(mt)
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $5,$3,$2
+ lui $4,%hi(mt)
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $2,$3,$2
+ lw $2,0($2)
+ sw $2,0($5)
+ lui $3,%hi(mti)
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ addiu $2,$2,1
+ sw $2,%lo(mti)($3)
+ j $L145
+ nop
+
+$L144:
+ addiu $sp,$sp,8
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end WapiMTgenSeed
+ .data
+ .align 2
+ .type mag01.6, @object
+ .size mag01.6, 8
+mag01.6:
+ .word 0
+ .word -1727483681
+ .section .text.WapiMTgenrand,"ax",@progbits
+ .align 2
+ .globl WapiMTgenrand
+ .ent WapiMTgenrand
+ .type WapiMTgenrand, @function
+WapiMTgenrand:
+ .set nomips16
+ .frame $sp,32,$31 # vars= 8, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-32
+ sw $31,24($sp)
+ lui $2,%hi(mti)
+ lw $2,%lo(mti)($2)
+ slt $2,$2,624
+ bne $2,$0,$L149
+ nop
+
+ lui $2,%hi(mti)
+ lw $3,%lo(mti)($2)
+ li $2,625 # 0x271
+ bne $3,$2,$L150
+ nop
+
+ li $4,5489 # 0x1571
+ jal WapiMTgenSeed
+ nop
+
+$L150:
+ sw $0,20($sp)
+$L151:
+ lw $2,20($sp)
+ slt $2,$2,227
+ beq $2,$0,$L154
+ nop
+
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $2,$3,$2
+ lw $3,0($2)
+ li $2,-2147483648 # 0x80000000
+ and $5,$3,$2
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $2,$3,$2
+ lw $3,4($2)
+ li $2,2147418112 # 0x7fff0000
+ ori $2,$2,0xffff
+ and $2,$3,$2
+ or $2,$5,$2
+ sw $2,16($sp)
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $6,$3,$2
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $4,$3,$2
+ lw $2,16($sp)
+ srl $3,$2,1
+ lw $2,1588($4)
+ xor $5,$3,$2
+ lui $4,%hi(mag01.6)
+ lw $2,16($sp)
+ andi $2,$2,0x1
+ sll $3,$2,2
+ addiu $2,$4,%lo(mag01.6)
+ addu $2,$3,$2
+ lw $2,0($2)
+ xor $2,$5,$2
+ sw $2,0($6)
+ lw $2,20($sp)
+ addiu $2,$2,1
+ sw $2,20($sp)
+ j $L151
+ nop
+
+$L154:
+ lw $2,20($sp)
+ slt $2,$2,623
+ beq $2,$0,$L155
+ nop
+
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $2,$3,$2
+ lw $3,0($2)
+ li $2,-2147483648 # 0x80000000
+ and $5,$3,$2
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $2,$3,$2
+ lw $3,4($2)
+ li $2,2147418112 # 0x7fff0000
+ ori $2,$2,0xffff
+ and $2,$3,$2
+ or $2,$5,$2
+ sw $2,16($sp)
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $6,$3,$2
+ lui $4,%hi(mt)
+ lw $2,20($sp)
+ sll $3,$2,2
+ addiu $2,$4,%lo(mt)
+ addu $4,$3,$2
+ lw $2,16($sp)
+ srl $3,$2,1
+ lw $2,-908($4)
+ xor $5,$3,$2
+ lui $4,%hi(mag01.6)
+ lw $2,16($sp)
+ andi $2,$2,0x1
+ sll $3,$2,2
+ addiu $2,$4,%lo(mag01.6)
+ addu $2,$3,$2
+ lw $2,0($2)
+ xor $2,$5,$2
+ sw $2,0($6)
+ lw $2,20($sp)
+ addiu $2,$2,1
+ sw $2,20($sp)
+ j $L154
+ nop
+
+$L155:
+ lui $2,%hi(mt)
+ addiu $2,$2,%lo(mt)
+ lw $3,2492($2)
+ li $2,-2147483648 # 0x80000000
+ and $4,$3,$2
+ lui $2,%hi(mt)
+ lw $3,%lo(mt)($2)
+ li $2,2147418112 # 0x7fff0000
+ ori $2,$2,0xffff
+ and $2,$3,$2
+ or $2,$4,$2
+ sw $2,16($sp)
+ lui $2,%hi(mt)
+ addiu $6,$2,%lo(mt)
+ lui $2,%hi(mt)
+ addiu $4,$2,%lo(mt)
+ lw $2,16($sp)
+ srl $3,$2,1
+ lw $2,1584($4)
+ xor $5,$3,$2
+ lui $4,%hi(mag01.6)
+ lw $2,16($sp)
+ andi $2,$2,0x1
+ sll $3,$2,2
+ addiu $2,$4,%lo(mag01.6)
+ addu $2,$3,$2
+ lw $2,0($2)
+ xor $2,$5,$2
+ sw $2,2492($6)
+ lui $2,%hi(mti)
+ sw $0,%lo(mti)($2)
+$L149:
+ lui $5,%hi(mt)
+ lui $2,%hi(mti)
+ addiu $6,$2,%lo(mti)
+ lw $3,0($6)
+ move $2,$3
+ sll $4,$2,2
+ addiu $2,$5,%lo(mt)
+ addu $2,$4,$2
+ addiu $3,$3,1
+ sw $3,0($6)
+ lw $2,0($2)
+ sw $2,16($sp)
+ lw $2,16($sp)
+ srl $3,$2,11
+ lw $2,16($sp)
+ xor $2,$2,$3
+ sw $2,16($sp)
+ lw $2,16($sp)
+ sll $3,$2,7
+ li $2,-1658060800 # 0x9d2c0000
+ ori $2,$2,0x5680
+ and $3,$3,$2
+ lw $2,16($sp)
+ xor $2,$2,$3
+ sw $2,16($sp)
+ lw $2,16($sp)
+ sll $3,$2,15
+ li $2,-272236544 # 0xefc60000
+ and $3,$3,$2
+ lw $2,16($sp)
+ xor $2,$2,$3
+ sw $2,16($sp)
+ lw $2,16($sp)
+ srl $3,$2,18
+ lw $2,16($sp)
+ xor $2,$2,$3
+ sw $2,16($sp)
+ lw $2,16($sp)
+ lw $31,24($sp)
+ addiu $sp,$sp,32
+ j $31
+ nop
+
+ .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,72,$31 # vars= 48, regs= 1/0, args= 16, gp= 0
+ .mask 0x80000000,-8
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+
+ addiu $sp,$sp,-72
+ sw $31,64($sp)
+ sw $4,72($sp)
+ sw $5,76($sp)
+ lui $2,%hi(jiffies)
+ lw $4,%lo(jiffies)($2)
+ jal srandom32
+ nop
+
+ jal random32
+ nop
+
+ sw $2,60($sp)
+ lw $4,60($sp)
+ jal WapiMTgenSeed
+ nop
+
+ lw $2,76($sp)
+ andi $2,$2,0x3
+ bne $2,$0,$L158
+ nop
+
+ lw $2,76($sp)
+ srl $2,$2,2
+ sw $2,16($sp)
+ j $L159
+ nop
+
+$L158:
+ lw $2,76($sp)
+ srl $2,$2,2
+ addiu $2,$2,1
+ sw $2,16($sp)
+$L159:
+ addiu $3,$sp,24
+ lw $2,16($sp)
+ sll $2,$2,2
+ move $4,$3
+ move $5,$0
+ move $6,$2
+ jal memset
+ nop
+
+ sw $0,20($sp)
+$L160:
+ lw $2,20($sp)
+ lw $3,16($sp)
+ slt $2,$2,$3
+ beq $2,$0,$L161
+ nop
+
+ jal WapiMTgenrand
+ nop
+
+ sw $2,56($sp)
+ addiu $3,$sp,24
+ lw $2,20($sp)
+ sll $2,$2,2
+ addu $2,$3,$2
+ addiu $3,$sp,56
+ move $4,$2
+ move $5,$3
+ li $6,4 # 0x4
+ jal memcpy
+ nop
+
+ lw $2,20($sp)
+ addiu $2,$2,1
+ sw $2,20($sp)
+ j $L160
+ nop
+
+$L161:
+ addiu $2,$sp,24
+ lw $4,72($sp)
+ move $5,$2
+ lw $6,76($sp)
+ jal memcpy
+ nop
+
+ lw $31,64($sp)
+ addiu $sp,$sp,72
+ j $31
+ nop
+
+ .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"