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