# Purely for shits and giggles. glabel StableRandom lw $t0, ($a0) bne $t0, $zero, .leftloaded lw $t1, 4($a0) srl $t2, $t1, 24 addiu $t3, $zero, 4 .leftloop: sll $t4, $t2, 3 addiu $t5, $t2, 29 sll $t2, $t4, 3 addu $t5, $t4, $t5 addu $t4, $t2, $t5 addiu $t3, $t3, -1 andi $t2, $t4, 255 sll $t4, $t0, 8 bne $t3, $zero, .leftloop or $t0, $t2, $t4 lui $t3, 256 addiu $t3, $t3, -1 sll $t2, $t2, 24 and $t3, $t1, $t3 or $t1, $t3, $t2 .leftloaded: srl $t2, $t0, 8 xor $t3, $t0, $t2 sll $t0, $t3, 9 xor $t2, $t3, $t0 srl $t3, $t2, 23 xor $t0, $t2, $t3 andi $t4, $t1, 255 addiu $t2, $t4, -210 bltz $t2, .noreduction srl $t3, $t1, 8 addu $t4, $zero, $t2 .noreduction: srl $t2, $t1, 16 andi $t3, $t3, 255 andi $t2, $t2, 255 addu $t5, $t4, $t3 addu $t5, $t5, $t2 srl $t1, $t1, 24 beq $t5, $zero, .reloadright addiu $at, $zero, 719 bne $t5, $at, .rightloaded nop .reloadright: sll $t4, $t1, 3 addiu $t3, $t1, 29 sll $t2, $t4, 3 addu $t4, $t4, $t3 addu $t1, $t2, $t4 sll $t5, $t1, 3 addiu $t3, $t1, 29 sll $t4, $t5, 3 addu $t6, $t5, $t3 andi $t2, $t1, 255 addu $t1, $t4, $t6 sll $t5, $t1, 3 andi $t4, $t1, 255 addiu $t3, $t1, 29 sltiu $at, $t4, 210 addu $t5, $t5, $t3 addiu $at, $at, -1 sll $t6, $t1, 6 andi $at, $at, 210 addu $t1, $t5, $t6 subu $t4, $t4, $at andi $t3, $t1, 255 .rightloaded: addiu $at, $zero, 210 multu $at, $t2 sll $t2, $t3, 16 mflo $t5 addu $t4, $t5, $t4 srl $t3, $t4, 8 andi $t5, $t4, 255 addu $t2, $t2, $t3 sll $t4, $t5, 8 addu $t2, $t2, $t4 sll $t3, $t1, 3 addiu $t4, $t1, 29 sll $t1, $t1, 6 addu $t3, $t3, $t4 addu $t4, $t1, $t3 sll $t1, $t4, 24 addu $t1, $t1, $t2 sw $t0, ($a0) sw $t1, 4($a0) srl $t2, $t1, 27 andi $t3, $t2, 24 srl $t4, $t1, 28 srlv $t5, $t0, $t3 srl $t2, $t1, 8 andi $t3, $t4, 3 andi $t1, $t2, 255 andi $t0, $t5, 255 addu $t2, $t0, $t1 beq $t3, $zero, .done addiu $at, $zero, 1 xor $t2, $t0, $t1 beq $t3, $at, .done addiu $at, $zero, 2 subu $t2, $t0, $t1 beq $t3, $at, .done nop subu $t2, $t1, $t0 .done: jr $ra andi $v0, $t2, 255