[*] Binary protection state of libmtd.so

  
  	No RELRO       No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   No Symbols


[*] Function fprintf tear down of libmtd.so

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0xb5ac */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.__mtd_write_node ()          | void mtd_write_node () {
    0x0000b5ac lui gp, 2                     |     
    0x0000b5b0 addiu gp, gp, -0x59cc         |     
    0x0000b5b4 addu gp, gp, t9               |     gp += t9;
    0x0000b5b8 addiu sp, sp, -0x38           |     
    0x0000b5bc sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0000b5c0 sw fp, 0x30(sp)               |     *(var_30h) = fp;
    0x0000b5c4 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0000b5c8 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0000b5cc move fp, sp                   |     fp = sp;
    0x0000b5d0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000b5d4 sw a0, 0x38(fp)               |     *(arg_38h) = a0;
    0x0000b5d8 sw a1, 0x3c(fp)               |     *(arg_3ch) = a1;
    0x0000b5dc sw a2, 0x40(fp)               |     *(arg_40h) = a2;
    0x0000b5e0 sw a3, 0x44(fp)               |     *(arg_44h) = a3;
    0x0000b5e4 lw a0, 0x38(fp)               |     a0 = *(arg_38h);
    0x0000b5e8 addiu a1, zero, 1             |     a1 = 1;
    0x0000b5ec lw t8, -0x7fa8(gp)            |     t8 = *((gp - 8170));
    0x0000b5f0 move t9, t8                   |     t9 = t8;
    0x0000b5f4 jalr t9                       |     t9 ();
    0x0000b5f8 nop                           |     
    0x0000b5fc lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0000b600 sw v0, 0x20(fp)               |     *(arg_20h) = v0;
    0x0000b604 lw t8, 0x20(fp)               |     t8 = *(arg_20h);
                                             |     if (t8 < 0) {
    0x0000b608 bgez t8, 0xb644               |         
    0x0000b60c nop                           |         
    0x0000b610 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b614 addiu a0, t8, -0x2708         |         a0 = t8 + -0x2708;
    0x0000b618 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b61c addiu a1, t8, -0x25c0         |         a1 = t8 + -0x25c0;
    0x0000b620 lw a2, 0x38(fp)               |         a2 = *(arg_38h);
    0x0000b624 lw t8, -0x7ef4(gp)            |         t8 = *((gp - 8125));
    0x0000b628 move t9, t8                   |         t9 = t8;
    0x0000b62c jalr t9                       |         t9 ();
    0x0000b630 nop                           |         
    0x0000b634 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000b638 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x0000b63c b 0xb7bc                      |         goto label_0;
    0x0000b640 nop                           |         
                                             |     }
    0x0000b644 lw t8, 0x40(fp)               |     t8 = *(arg_40h);
    0x0000b648 lw a0, 0x20(fp)               |     a0 = *(arg_20h);
    0x0000b64c move a1, t8                   |     a1 = t8;
    0x0000b650 move a2, zero                 |     a2 = 0;
    0x0000b654 lw t8, -0x7f18(gp)            |     t8 = *((gp - 8134));
    0x0000b658 move t9, t8                   |     t9 = t8;
    0x0000b65c jalr t9                       |     t9 ();
    0x0000b660 nop                           |     
    0x0000b664 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0000b668 move t8, v0                   |     t8 = v0;
                                             |     if (t8 < 0) {
    0x0000b66c bgez t8, 0xb6e0               |         
    0x0000b670 nop                           |         
    0x0000b674 lw t8, 0x40(fp)               |         t8 = *(arg_40h);
    0x0000b678 lw t9, 0x44(fp)               |         t9 = *(arg_44h);
    0x0000b67c mtlo t8                       |         __asm ("mtlo t8");
    0x0000b680 mthi t9                       |         __asm ("mthi t9");
    0x0000b684 mflo t8                       |         __asm ("mflo t8");
    0x0000b688 mfhi t9                       |         __asm ("mfhi t9");
    0x0000b68c sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0000b690 sw t9, 0x14(sp)               |         *(var_14h) = t9;
    0x0000b694 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b698 addiu a0, t8, -0x26ac         |         a0 = t8 + -0x26ac;
    0x0000b69c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b6a0 addiu a1, t8, -0x25c0         |         a1 = t8 + -0x25c0;
    0x0000b6a4 lw a2, 0x38(fp)               |         a2 = *(arg_38h);
    0x0000b6a8 lw t8, -0x7ef4(gp)            |         t8 = *((gp - 8125));
    0x0000b6ac move t9, t8                   |         t9 = t8;
    0x0000b6b0 jalr t9                       |         t9 ();
    0x0000b6b4 nop                           |         
    0x0000b6b8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000b6bc lw a0, 0x20(fp)               |         a0 = *(arg_20h);
    0x0000b6c0 lw t8, -0x7fb8(gp)            |         t8 = *((gp - 8174));
    0x0000b6c4 move t9, t8                   |         t9 = t8;
    0x0000b6c8 jalr t9                       |         t9 ();
    0x0000b6cc nop                           |         
    0x0000b6d0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000b6d4 addiu t8, zero, -1            |         t8 = -1;
    0x0000b6d8 b 0xb7bc                      |         goto label_0;
    0x0000b6dc nop                           |         
                                             |     }
    0x0000b6e0 lw t8, 0x48(fp)               |     t8 = *(arg_48h);
    0x0000b6e4 lw a0, 0x20(fp)               |     a0 = *(arg_20h);
    0x0000b6e8 lw a1, 0x3c(fp)               |     a1 = *(arg_3ch);
    0x0000b6ec move a2, t8                   |     a2 = t8;
    0x0000b6f0 lw t8, -0x7f20(gp)            |     t8 = *((gp - 8136));
    0x0000b6f4 move t9, t8                   |     t9 = t8;
    0x0000b6f8 jalr t9                       |     t9 ();
    0x0000b6fc nop                           |     
    0x0000b700 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0000b704 move t8, v0                   |     t8 = v0;
    0x0000b708 move s0, t8                   |     s0 = t8;
    0x0000b70c sra t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x0000b710 move s1, t8                   |     s1 = t8;
    0x0000b714 lw v0, 0x48(fp)               |     v0 = *(arg_48h);
    0x0000b718 move t8, s0                   |     t8 = s0;
                                             |     if (v0 == t8) {
    0x0000b71c bne v0, t8, 0xb734            |         
    0x0000b720 nop                           |         
    0x0000b724 lw v0, 0x4c(fp)               |         v0 = *(arg_4ch);
    0x0000b728 move t8, s1                   |         t8 = s1;
                                             |         if (v0 == t8) {
    0x0000b72c beq v0, t8, 0xb7a0            |             goto label_1;
                                             |         }
    0x0000b730 nop                           |         
                                             |     }
    0x0000b734 lw t8, 0x48(fp)               |     t8 = *(arg_48h);
    0x0000b738 lw t9, 0x4c(fp)               |     t9 = *(arg_4ch);
    0x0000b73c mtlo t8                       |     __asm ("mtlo t8");
    0x0000b740 mthi t9                       |     __asm ("mthi t9");
    0x0000b744 mflo t8                       |     __asm ("mflo t8");
    0x0000b748 mfhi t9                       |     __asm ("mfhi t9");
    0x0000b74c sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0000b750 sw t9, 0x14(sp)               |     *(var_14h) = t9;
    0x0000b754 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
    0x0000b758 addiu a0, t8, -0x2688         |     a0 = t8 + -0x2688;
    0x0000b75c lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
    0x0000b760 addiu a1, t8, -0x25c0         |     a1 = t8 + -0x25c0;
    0x0000b764 lw a2, 0x38(fp)               |     a2 = *(arg_38h);
    0x0000b768 lw t8, -0x7ef4(gp)            |     t8 = *((gp - 8125));
    0x0000b76c move t9, t8                   |     t9 = t8;
    0x0000b770 jalr t9                       |     t9 ();
    0x0000b774 nop                           |     
    0x0000b778 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0000b77c lw a0, 0x20(fp)               |     a0 = *(arg_20h);
    0x0000b780 lw t8, -0x7fb8(gp)            |     t8 = *((gp - 8174));
    0x0000b784 move t9, t8                   |     t9 = t8;
    0x0000b788 jalr t9                       |     t9 ();
    0x0000b78c nop                           |     
    0x0000b790 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0000b794 addiu t8, zero, -1            |     t8 = -1;
    0x0000b798 b 0xb7bc                      |     goto label_0;
    0x0000b79c nop                           |     
                                             | label_1:
    0x0000b7a0 lw a0, 0x20(fp)               |     a0 = *(arg_20h);
    0x0000b7a4 lw t8, -0x7fb8(gp)            |     t8 = *((gp - 8174));
    0x0000b7a8 move t9, t8                   |     t9 = t8;
    0x0000b7ac jalr t9                       |     t9 ();
    0x0000b7b0 nop                           |     
    0x0000b7b4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0000b7b8 move t8, zero                 |     t8 = 0;
                                             | label_0:
    0x0000b7bc move v0, t8                   |     v0 = t8;
    0x0000b7c0 move sp, fp                   |     
    0x0000b7c4 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0000b7c8 lw fp, 0x30(sp)               |     fp = *(var_30h);
    0x0000b7cc lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x0000b7d0 lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x0000b7d4 addiu sp, sp, 0x38            |     
    0x0000b7d8 jr ra                         |     return v0;
    0x0000b7dc nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0xb7e0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.__mtds_write ()              | void mtds_write () {
    0x0000b7e0 lui gp, 2                     |     
    0x0000b7e4 addiu gp, gp, -0x5c00         |     
    0x0000b7e8 addu gp, gp, t9               |     gp += t9;
    0x0000b7ec addiu sp, sp, -0x80           |     
    0x0000b7f0 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x0000b7f4 sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x0000b7f8 sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x0000b7fc sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x0000b800 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x0000b804 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x0000b808 sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x0000b80c sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x0000b810 move fp, sp                   |     fp = sp;
    0x0000b814 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000b818 sw a0, 0x80(fp)               |     *(arg_80h) = a0;
    0x0000b81c sw a1, 0x84(fp)               |     *(arg_84h) = a1;
    0x0000b820 sw a2, 0x88(fp)               |     *(arg_88h) = a2;
    0x0000b824 sw a3, 0x8c(fp)               |     *(arg_8ch) = a3;
    0x0000b828 lw t8, 0x80(fp)               |     t8 = *(arg_80h);
    0x0000b82c addiu t8, t8, 0x10            |     t8 += 0x10;
    0x0000b830 sw t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x0000b834 move v0, zero                 |     v0 = 0;
    0x0000b838 move v1, zero                 |     v1 = 0;
    0x0000b83c sw v0, 0x20(fp)               |     *(arg_20h) = v0;
    0x0000b840 sw v1, 0x24(fp)               |     *(arg_24h) = v1;
    0x0000b844 move t8, zero                 |     t8 = 0;
    0x0000b848 move t9, zero                 |     t9 = 0;
    0x0000b84c sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x0000b850 sw t9, 0x34(fp)               |     *(arg_34h) = t9;
    0x0000b854 lw t8, 0x2c(fp)               |     t8 = *(arg_2ch);
    0x0000b858 lw t8, 4(t8)                  |     t8 = *((t8 + 1));
    0x0000b85c sw t8, 0x28(fp)               |     *(arg_28h) = t8;
    0x0000b860 b 0xba6c                      |     goto label_0;
    0x0000b864 nop                           |     
                                             |     do {
    0x0000b868 addiu t8, fp, 0x3c            |         t8 = fp + 0x3c;
    0x0000b86c move a0, t8                   |         a0 = t8;
    0x0000b870 lw a1, 0x28(fp)               |         a1 = *(arg_28h);
    0x0000b874 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b878 addiu t8, t8, -0x5d50         |         t8 += -0x5d50;
    0x0000b87c move t9, t8                   |         t9 = t8;
    0x0000b880 jalr t9                       |         t9 ();
    0x0000b884 nop                           |         
    0x0000b888 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000b88c lw t8, 0x80(fp)               |         t8 = *(arg_80h);
    0x0000b890 lw v0, 0x20(t8)               |         v0 = *((t8 + 8));
    0x0000b894 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000b898 sll t8, t8, 8                 |         t8 <<= 8;
    0x0000b89c addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000b8a0 sw t8, 0x38(fp)               |         *(arg_38h) = t8;
    0x0000b8a4 lw t8, 0x84(fp)               |         t8 = *(arg_84h);
    0x0000b8a8 move s2, t8                   |         s2 = t8;
    0x0000b8ac sra t8, t8, 0x1f              |         t8 >>= 0x1f;
    0x0000b8b0 move s3, t8                   |         s3 = t8;
    0x0000b8b4 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000b8b8 lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000b8bc lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000b8c0 mtlo v0                       |         __asm ("mtlo v0");
    0x0000b8c4 mthi v1                       |         __asm ("mthi v1");
    0x0000b8c8 mflo v0                       |         __asm ("mflo v0");
    0x0000b8cc mfhi v1                       |         __asm ("mfhi v1");
    0x0000b8d0 lw a0, 0x20(fp)               |         a0 = *(arg_20h);
    0x0000b8d4 lw a1, 0x24(fp)               |         a1 = *(arg_24h);
    0x0000b8d8 addu t8, v0, a0               |         t8 = v0 + a0;
    0x0000b8dc sltu a2, t8, v0               |         a2 = (t8 < v0) ? 1 : 0;
    0x0000b8e0 addu t9, v1, a1               |         t9 = v1 + a1;
    0x0000b8e4 addu v0, a2, t9               |         v0 = a2 + t9;
    0x0000b8e8 move t9, v0                   |         t9 = v0;
    0x0000b8ec sltu v0, s3, t9               |         v0 = (s3 < t9) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0000b8f0 bnez v0, 0xb910               |             
    0x0000b8f4 nop                           |             
    0x0000b8f8 move v0, s3                   |             v0 = s3;
                                             |             if (t9 != v0) {
    0x0000b8fc bne t9, v0, 0xba20            |                 goto label_1;
                                             |             }
    0x0000b900 nop                           |             
    0x0000b904 sltu t8, s2, t8               |             t8 = (s2 < t8) ? 1 : 0;
                                             |             if (t8 == 0) {
    0x0000b908 beqz t8, 0xba20               |                 goto label_1;
                                             |             }
    0x0000b90c nop                           |             
                                             |         }
    0x0000b910 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000b914 lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000b918 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000b91c mtlo v0                       |         __asm ("mtlo v0");
    0x0000b920 mthi v1                       |         __asm ("mthi v1");
    0x0000b924 lw t8, 0x8c(fp)               |         t8 = *(arg_8ch);
    0x0000b928 move s0, t8                   |         s0 = t8;
    0x0000b92c sra t8, t8, 0x1f              |         t8 >>= 0x1f;
    0x0000b930 move s1, t8                   |         s1 = t8;
    0x0000b934 mflo t8                       |         __asm ("mflo t8");
    0x0000b938 mfhi t9                       |         __asm ("mfhi t9");
    0x0000b93c slt v0, s1, t9                |         v0 = (s1 < t9) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0000b940 bnez v0, 0xb960               |             
    0x0000b944 nop                           |             
    0x0000b948 move v0, s1                   |             v0 = s1;
                                             |             if (t9 != v0) {
    0x0000b94c bne t9, v0, 0xb968            |                 goto label_2;
                                             |             }
    0x0000b950 nop                           |             
    0x0000b954 sltu v0, s0, t8               |             v0 = (s0 < t8) ? 1 : 0;
                                             |             if (v0 == 0) {
    0x0000b958 beqz v0, 0xb968               |                 goto label_2;
                                             |             }
    0x0000b95c nop                           |             
                                             |         }
    0x0000b960 move t8, s0                   |         t8 = s0;
    0x0000b964 move t9, s1                   |         t9 = s1;
                                             | label_2:
    0x0000b968 sw t8, 0x30(fp)               |         *(arg_30h) = t8;
    0x0000b96c sw t9, 0x34(fp)               |         *(arg_34h) = t9;
    0x0000b970 lw t8, 0x84(fp)               |         t8 = *(arg_84h);
    0x0000b974 move s4, t8                   |         s4 = t8;
    0x0000b978 sra t8, t8, 0x1f              |         t8 >>= 0x1f;
    0x0000b97c move s5, t8                   |         s5 = t8;
    0x0000b980 lw v0, 0x20(fp)               |         v0 = *(arg_20h);
    0x0000b984 lw v1, 0x24(fp)               |         v1 = *(arg_24h);
    0x0000b988 subu t8, s4, v0               |         __asm ("subu t8, s4, v0");
    0x0000b98c sltu a0, s4, t8               |         a0 = (s4 < t8) ? 1 : 0;
    0x0000b990 subu t9, s5, v1               |         __asm ("subu t9, s5, v1");
    0x0000b994 subu v0, t9, a0               |         __asm ("subu v0, t9, a0");
    0x0000b998 move t9, v0                   |         t9 = v0;
    0x0000b99c mtlo t8                       |         __asm ("mtlo t8");
    0x0000b9a0 mthi t9                       |         __asm ("mthi t9");
    0x0000b9a4 addiu v0, fp, 0x3c            |         v0 = fp + 0x3c;
    0x0000b9a8 lw t8, 0x30(fp)               |         t8 = *(arg_30h);
    0x0000b9ac lw t9, 0x34(fp)               |         t9 = *(arg_34h);
    0x0000b9b0 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0000b9b4 sw t9, 0x14(sp)               |         *(var_14h) = t9;
    0x0000b9b8 move a0, v0                   |         a0 = v0;
    0x0000b9bc lw a1, 0x88(fp)               |         a1 = *(arg_88h);
    0x0000b9c0 mflo a2                       |         __asm ("mflo a2");
    0x0000b9c4 mfhi a3                       |         __asm ("mfhi a3");
    0x0000b9c8 lw t8, -0x7eec(gp)            |         t8 = *((gp - 8123));
    0x0000b9cc move t9, t8                   |         t9 = t8;
    0x0000b9d0 jalr t9                       |         t9 ();
    0x0000b9d4 nop                           |         
    0x0000b9d8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000b9dc move t8, v0                   |         t8 = v0;
                                             |         if (t8 < 0) {
    0x0000b9e0 bgez t8, 0xb9f4               |             
    0x0000b9e4 nop                           |             
    0x0000b9e8 addiu t8, zero, -1            |             t8 = -1;
    0x0000b9ec b 0xbabc                      |             goto label_3;
    0x0000b9f0 nop                           |             
                                             |         }
    0x0000b9f4 lw v0, 0x30(fp)               |         v0 = *(arg_30h);
    0x0000b9f8 lw t8, 0x84(fp)               |         t8 = *(arg_84h);
    0x0000b9fc addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000ba00 sw t8, 0x84(fp)               |         *(arg_84h) = t8;
    0x0000ba04 lw v0, 0x8c(fp)               |         v0 = *(arg_8ch);
    0x0000ba08 lw t8, 0x30(fp)               |         t8 = *(arg_30h);
    0x0000ba0c subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x0000ba10 sw t8, 0x8c(fp)               |         *(arg_8ch) = t8;
    0x0000ba14 lw t8, 0x8c(fp)               |         t8 = *(arg_8ch);
                                             |         if (t8 == 0) {
    0x0000ba18 beqz t8, 0xba84               |             goto label_4;
                                             |         }
    0x0000ba1c nop                           |         
                                             | label_1:
    0x0000ba20 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000ba24 lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000ba28 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000ba2c mtlo v0                       |         __asm ("mtlo v0");
    0x0000ba30 mthi v1                       |         __asm ("mthi v1");
    0x0000ba34 mflo a0                       |         __asm ("mflo a0");
    0x0000ba38 mfhi a1                       |         __asm ("mfhi a1");
    0x0000ba3c lw v0, 0x20(fp)               |         v0 = *(arg_20h);
    0x0000ba40 lw v1, 0x24(fp)               |         v1 = *(arg_24h);
    0x0000ba44 addu t8, v0, a0               |         t8 = v0 + a0;
    0x0000ba48 sltu a2, t8, v0               |         a2 = (t8 < v0) ? 1 : 0;
    0x0000ba4c addu t9, v1, a1               |         t9 = v1 + a1;
    0x0000ba50 addu v0, a2, t9               |         v0 = a2 + t9;
    0x0000ba54 move t9, v0                   |         t9 = v0;
    0x0000ba58 sw t8, 0x20(fp)               |         *(arg_20h) = t8;
    0x0000ba5c sw t9, 0x24(fp)               |         *(arg_24h) = t9;
    0x0000ba60 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000ba64 addiu t8, t8, 1               |         t8++;
    0x0000ba68 sw t8, 0x28(fp)               |         *(arg_28h) = t8;
                                             | label_0:
    0x0000ba6c lw t8, 0x2c(fp)               |         t8 = *(arg_2ch);
    0x0000ba70 lw v0, 8(t8)                  |         v0 = *((t8 + 2));
    0x0000ba74 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000ba78 slt t8, v0, t8                |         t8 = (v0 < t8) ? 1 : 0;
    0x0000ba7c beqz t8, 0xb868               |         
                                             |     } while (t8 == 0);
    0x0000ba80 nop                           |     
                                             | label_4:
    0x0000ba84 lw t8, 0x8c(fp)               |     t8 = *(arg_8ch);
                                             |     if (t8 != 0) {
    0x0000ba88 beqz t8, 0xbab8               |         
    0x0000ba8c nop                           |         
    0x0000ba90 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000ba94 addiu a0, t8, -0x2640         |         a0 = t8 + -0x2640;
    0x0000ba98 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000ba9c addiu a1, t8, -0x25ac         |         a1 = t8 + -0x25ac;
    0x0000baa0 lw a2, 0x8c(fp)               |         a2 = *(arg_8ch);
    0x0000baa4 lw t8, -0x7ef4(gp)            |         t8 = *((gp - 8125));
    0x0000baa8 move t9, t8                   |         t9 = t8;
    0x0000baac jalr t9                       |         t9 ();
    0x0000bab0 nop                           |         
    0x0000bab4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x0000bab8 move t8, zero                 |     t8 = 0;
                                             | label_3:
    0x0000babc move v0, t8                   |     v0 = t8;
    0x0000bac0 move sp, fp                   |     
    0x0000bac4 lw ra, 0x7c(sp)               |     ra = *(var_7ch);
    0x0000bac8 lw fp, 0x78(sp)               |     fp = *(var_78h);
    0x0000bacc lw s5, 0x74(sp)               |     s5 = *(var_74h);
    0x0000bad0 lw s4, 0x70(sp)               |     s4 = *(var_70h);
    0x0000bad4 lw s3, 0x6c(sp)               |     s3 = *(var_6ch);
    0x0000bad8 lw s2, 0x68(sp)               |     s2 = *(var_68h);
    0x0000badc lw s1, 0x64(sp)               |     s1 = *(var_64h);
    0x0000bae0 lw s0, 0x60(sp)               |     s0 = *(var_60h);
    0x0000bae4 addiu sp, sp, 0x80            |     
    0x0000bae8 jr ra                         |     return v0;
    0x0000baec nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x8ca8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.do_oob_op ()             | void do_oob_op () {
    0x00008ca8 lui gp, 2                 |     
    0x00008cac addiu gp, gp, -0x30c8     |     
    0x00008cb0 addu gp, gp, t9           |     gp += t9;
    0x00008cb4 addiu sp, sp, -0xa8       |     
    0x00008cb8 sw ra, 0xa4(sp)           |     *(var_a4h) = ra;
    0x00008cbc sw fp, 0xa0(sp)           |     *(var_a0h) = fp;
    0x00008cc0 sw s5, 0x9c(sp)           |     *(var_9ch) = s5;
    0x00008cc4 sw s4, 0x98(sp)           |     *(var_98h) = s4;
    0x00008cc8 sw s3, 0x94(sp)           |     *(var_94h) = s3;
    0x00008ccc sw s2, 0x90(sp)           |     *(var_90h) = s2;
    0x00008cd0 sw s1, 0x8c(sp)           |     *(var_8ch) = s1;
    0x00008cd4 sw s0, 0x88(sp)           |     *(var_88h) = s0;
    0x00008cd8 move fp, sp               |     fp = sp;
    0x00008cdc sw gp, 0x30(sp)           |     *(var_30h) = gp;
    0x00008ce0 sw a0, 0xa8(fp)           |     *(arg_a8h) = a0;
    0x00008ce4 sw a1, 0xac(fp)           |     *(arg_ach) = a1;
    0x00008ce8 sw a2, 0xb0(fp)           |     *(arg_b0h) = a2;
    0x00008cec lw a0, 0xa8(fp)           |     a0 = *(arg_a8h);
    0x00008cf0 sw a0, 0x40(fp)           |     *(arg_40h) = a0;
    0x00008cf4 lw a1, 0xcc(fp)           |     a1 = *(arg_cch);
    0x00008cf8 lui a0, 0xc018            |     a0 = 0xc0184d16;
    0x00008cfc ori a0, a0, 0x4d16        |     
                                         |     if (a1 == a0) {
    0x00008d00 bne a1, a0, 0x8d28        |         
    0x00008d04 nop                       |         
    0x00008d08 lw a0, -0x7fd4(gp)        |         a0 = *((gp - 8181));
    0x00008d0c addiu a0, a0, -0x2a88     |         a0 += -0x2a88;
    0x00008d10 sw a0, 0x38(fp)           |         *(arg_38h) = a0;
    0x00008d14 lw a0, -0x7fd4(gp)        |         a0 = *((gp - 8181));
    0x00008d18 addiu a0, a0, -0x2a78     |         a0 += -0x2a78;
    0x00008d1c sw a0, 0x3c(fp)           |         *(arg_3ch) = a0;
    0x00008d20 b 0x8d40                  |         goto label_0;
    0x00008d24 nop                       |         
                                         |     }
    0x00008d28 lw a0, -0x7fd4(gp)        |     a0 = *((gp - 8181));
    0x00008d2c addiu a0, a0, -0x2a6c     |     a0 += -0x2a6c;
    0x00008d30 sw a0, 0x38(fp)           |     *(arg_38h) = a0;
    0x00008d34 lw a0, -0x7fd4(gp)        |     a0 = *((gp - 8181));
    0x00008d38 addiu a0, a0, -0x2a5c     |     a0 += -0x2a5c;
    0x00008d3c sw a0, 0x3c(fp)           |     *(arg_3ch) = a0;
                                         | label_0:
    0x00008d40 lw a0, 0xac(fp)           |     a0 = *(arg_ach);
    0x00008d44 lw a0, 0xe0(a0)           |     a0 = *((a0 + 56));
    0x00008d48 move t2, a0               |     t2 = a0;
    0x00008d4c sra a0, a0, 0x1f          |     a0 >>= 0x1f;
    0x00008d50 move t3, a0               |     t3 = a0;
    0x00008d54 lw a0, 0xac(fp)           |     a0 = *(arg_ach);
    0x00008d58 lw a0, 0xe4(a0)           |     a0 = *((a0 + 57));
    0x00008d5c move t8, a0               |     t8 = a0;
    0x00008d60 sra a0, a0, 0x1f          |     a0 >>= 0x1f;
    0x00008d64 move t9, a0               |     t9 = a0;
    0x00008d68 mult t3, t8               |     __asm ("mult t3, t8");
    0x00008d6c mflo a0                   |     __asm ("mflo a0");
    0x00008d70 mult t9, t2               |     __asm ("mult t9, t2");
    0x00008d74 mflo a1                   |     __asm ("mflo a1");
    0x00008d78 addu a0, a0, a1           |     a0 += a1;
    0x00008d7c multu t2, t8              |     __asm ("multu t2, t8");
    0x00008d80 mflo t8                   |     __asm ("mflo t8");
    0x00008d84 mfhi t9                   |     __asm ("mfhi t9");
    0x00008d88 addu a0, a0, t9           |     a0 += t9;
    0x00008d8c move t9, a0               |     t9 = a0;
    0x00008d90 sw t8, 0x48(fp)           |     *(arg_48h) = t8;
    0x00008d94 sw t9, 0x4c(fp)           |     *(arg_4ch) = t9;
    0x00008d98 sw t8, 0x48(fp)           |     *(arg_48h) = t8;
    0x00008d9c sw t9, 0x4c(fp)           |     *(arg_4ch) = t9;
    0x00008da0 lw a0, 0x4c(fp)           |     a0 = *(arg_4ch);
    0x00008da4 lw t8, 0xbc(fp)           |     t8 = *(arg_bch);
    0x00008da8 sltu t8, t8, a0           |     t8 = (t8 < a0) ? 1 : 0;
                                         |     if (t8 == 0) {
    0x00008dac bnez t8, 0x8e8c           |         
    0x00008db0 nop                       |         
    0x00008db4 lw a0, 0x4c(fp)           |         a0 = *(arg_4ch);
    0x00008db8 lw t8, 0xbc(fp)           |         t8 = *(arg_bch);
                                         |         if (a0 == t8) {
    0x00008dbc bne a0, t8, 0x8dd8        |             
    0x00008dc0 nop                       |             
    0x00008dc4 lw a0, 0x48(fp)           |             a0 = *(arg_48h);
    0x00008dc8 lw t8, 0xb8(fp)           |             t8 = *(arg_b8h);
    0x00008dcc sltu t8, t8, a0           |             t8 = (t8 < a0) ? 1 : 0;
                                         |             if (t8 != 0) {
    0x00008dd0 bnez t8, 0x8e8c           |                 goto label_1;
                                         |             }
    0x00008dd4 nop                       |             
                                         |         }
    0x00008dd8 lw t8, -0x7f84(gp)        |         t8 = *((gp - 8161));
    0x00008ddc lw t8, (t8)               |         t8 = *(t8);
    0x00008de0 lw v0, 0xac(fp)           |         v0 = *(arg_ach);
    0x00008de4 lw v1, (v0)               |         v1 = *(v0);
    0x00008de8 lw v0, 0xac(fp)           |         v0 = *(arg_ach);
    0x00008dec lw v0, 0xe0(v0)           |         v0 = *((v0 + 56));
    0x00008df0 lw a0, 0xb8(fp)           |         a0 = *(arg_b8h);
    0x00008df4 lw a1, 0xbc(fp)           |         a1 = *(arg_bch);
    0x00008df8 mtlo a0                   |         __asm ("mtlo a0");
    0x00008dfc mthi a1                   |         __asm ("mthi a1");
    0x00008e00 mflo a0                   |         __asm ("mflo a0");
    0x00008e04 mfhi a1                   |         __asm ("mfhi a1");
    0x00008e08 sw a0, 0x10(sp)           |         *(var_10h) = a0;
    0x00008e0c sw a1, 0x14(sp)           |         *(var_14h) = a1;
    0x00008e10 sw v1, 0x18(sp)           |         *(var_18h) = v1;
    0x00008e14 sw v0, 0x1c(sp)           |         *(var_1ch) = v0;
    0x00008e18 lw v0, 0x48(fp)           |         v0 = *(arg_48h);
    0x00008e1c lw v1, 0x4c(fp)           |         v1 = *(arg_4ch);
    0x00008e20 mtlo v0                   |         __asm ("mtlo v0");
    0x00008e24 mthi v1                   |         __asm ("mthi v1");
    0x00008e28 mflo a0                   |         __asm ("mflo a0");
    0x00008e2c mfhi a1                   |         __asm ("mfhi a1");
    0x00008e30 sw a0, 0x20(sp)           |         *(var_20h) = a0;
    0x00008e34 sw a1, 0x24(sp)           |         *(var_24h) = a1;
    0x00008e38 move a0, t8               |         a0 = t8;
    0x00008e3c lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x00008e40 addiu a1, t8, -0x2a50     |         a1 = t8 + -0x2a50;
    0x00008e44 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x00008e48 addiu a2, t8, -0x3214     |         a2 = t8 + -0x3214;
    0x00008e4c lw t8, -0x7f28(gp)        |         t8 = *((gp - 8138));
    0x00008e50 move t9, t8               |         t9 = t8;
    0x00008e54 jalr t9                   |         t9 ();
    0x00008e58 nop                       |         
    0x00008e5c lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x00008e60 lw t8, -0x7f90(gp)        |         t8 = *((gp - 8164));
    0x00008e64 move t9, t8               |         t9 = t8;
    0x00008e68 jalr t9                   |         t9 ();
    0x00008e6c nop                       |         
    0x00008e70 lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x00008e74 move t8, v0               |         t8 = v0;
    0x00008e78 addiu v0, zero, 0x16      |         v0 = 0x16;
    0x00008e7c sw v0, (t8)               |         *(t8) = v0;
    0x00008e80 addiu t8, zero, -1        |         t8 = -1;
    0x00008e84 b 0x93f4                  |         goto label_2;
    0x00008e88 nop                       |         
                                         |     }
                                         | label_1:
    0x00008e8c lw t8, 0xac(fp)           |     t8 = *(arg_ach);
    0x00008e90 lw t8, 0xe8(t8)           |     t8 = *((t8 + 58));
    0x00008e94 addiu t8, t8, -1          |     t8 += -1;
    0x00008e98 move a0, t8               |     a0 = t8;
    0x00008e9c lw t8, 0xb8(fp)           |     t8 = *(arg_b8h);
    0x00008ea0 and t8, a0, t8            |     t8 = a0 & t8;
    0x00008ea4 sw t8, 0x50(fp)           |     *(arg_50h) = t8;
    0x00008ea8 lw t8, 0x50(fp)           |     t8 = *(arg_50h);
    0x00008eac move t0, t8               |     t0 = t8;
    0x00008eb0 sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x00008eb4 move t1, t8               |     t1 = t8;
    0x00008eb8 lw a0, 0xc0(fp)           |     a0 = *(arg_c0h);
    0x00008ebc lw a1, 0xc4(fp)           |     a1 = *(arg_c4h);
    0x00008ec0 addu t8, t0, a0           |     t8 = t0 + a0;
    0x00008ec4 sltu a2, t8, t0           |     a2 = (t8 < t0) ? 1 : 0;
    0x00008ec8 addu t9, t1, a1           |     t9 = t1 + a1;
    0x00008ecc addu a0, a2, t9           |     a0 = a2 + t9;
    0x00008ed0 move t9, a0               |     t9 = a0;
    0x00008ed4 lw a0, 0xac(fp)           |     a0 = *(arg_ach);
    0x00008ed8 lw a0, 0xf0(a0)           |     a0 = *((a0 + 60));
    0x00008edc move v0, a0               |     v0 = a0;
    0x00008ee0 sra a0, a0, 0x1f          |     a0 >>= 0x1f;
    0x00008ee4 move v1, a0               |     v1 = a0;
    0x00008ee8 sltu a0, v1, t9           |     a0 = (v1 < t9) ? 1 : 0;
                                         |     if (a0 == 0) {
    0x00008eec bnez a0, 0x8f20           |         
    0x00008ef0 nop                       |         
    0x00008ef4 move a0, v1               |         a0 = v1;
                                         |         if (t9 == a0) {
    0x00008ef8 bne t9, a0, 0x8f0c        |             
    0x00008efc nop                       |             
    0x00008f00 sltu t8, v0, t8           |             t8 = (v0 < t8) ? 1 : 0;
                                         |             if (t8 != 0) {
    0x00008f04 bnez t8, 0x8f20           |                 goto label_3;
                                         |             }
    0x00008f08 nop                       |             
                                         |         }
    0x00008f0c lw t8, 0xc0(fp)           |         t8 = *(arg_c0h);
    0x00008f10 lw v0, 0xc4(fp)           |         v0 = *(arg_c4h);
    0x00008f14 or t8, t8, v0             |         t8 |= v0;
                                         |         if (t8 != 0) {
    0x00008f18 bnez t8, 0x8fdc           |             goto label_4;
                                         |         }
    0x00008f1c nop                       |         
                                         |     }
                                         | label_3:
    0x00008f20 lw t8, -0x7f84(gp)        |     t8 = *((gp - 8161));
    0x00008f24 lw t8, (t8)               |     t8 = *(t8);
    0x00008f28 lw v0, 0xac(fp)           |     v0 = *(arg_ach);
    0x00008f2c lw v1, (v0)               |     v1 = *(v0);
    0x00008f30 lw v0, 0xac(fp)           |     v0 = *(arg_ach);
    0x00008f34 lw v0, 0xf0(v0)           |     v0 = *((v0 + 60));
    0x00008f38 lw a0, 0xc0(fp)           |     a0 = *(arg_c0h);
    0x00008f3c lw a1, 0xc4(fp)           |     a1 = *(arg_c4h);
    0x00008f40 mtlo a0                   |     __asm ("mtlo a0");
    0x00008f44 mthi a1                   |     __asm ("mthi a1");
    0x00008f48 mflo a0                   |     __asm ("mflo a0");
    0x00008f4c mfhi a1                   |     __asm ("mfhi a1");
    0x00008f50 sw a0, 0x10(sp)           |     *(var_10h) = a0;
    0x00008f54 sw a1, 0x14(sp)           |     *(var_14h) = a1;
    0x00008f58 lw a0, 0xb8(fp)           |     a0 = *(arg_b8h);
    0x00008f5c lw a1, 0xbc(fp)           |     a1 = *(arg_bch);
    0x00008f60 mtlo a0                   |     __asm ("mtlo a0");
    0x00008f64 mthi a1                   |     __asm ("mthi a1");
    0x00008f68 mflo a0                   |     __asm ("mflo a0");
    0x00008f6c mfhi a1                   |     __asm ("mfhi a1");
    0x00008f70 sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x00008f74 sw a1, 0x1c(sp)           |     *(var_1ch) = a1;
    0x00008f78 lw a0, 0x50(fp)           |     a0 = *(arg_50h);
    0x00008f7c sw a0, 0x20(sp)           |     *(var_20h) = a0;
    0x00008f80 sw v1, 0x24(sp)           |     *(var_24h) = v1;
    0x00008f84 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00008f88 move a0, t8               |     a0 = t8;
    0x00008f8c lw t8, -0x7fd4(gp)        |     t8 = *((gp - 8181));
    0x00008f90 addiu a1, t8, -0x2a04     |     a1 = t8 + -0x2a04;
    0x00008f94 lw t8, -0x7fd4(gp)        |     t8 = *((gp - 8181));
    0x00008f98 addiu a2, t8, -0x3214     |     a2 = t8 + -0x3214;
    0x00008f9c lw t8, -0x7f28(gp)        |     t8 = *((gp - 8138));
    0x00008fa0 move t9, t8               |     t9 = t8;
    0x00008fa4 jalr t9                   |     t9 ();
    0x00008fa8 nop                       |     
    0x00008fac lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x00008fb0 lw t8, -0x7f90(gp)        |     t8 = *((gp - 8164));
    0x00008fb4 move t9, t8               |     t9 = t8;
    0x00008fb8 jalr t9                   |     t9 ();
    0x00008fbc nop                       |     
    0x00008fc0 lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x00008fc4 move t8, v0               |     t8 = v0;
    0x00008fc8 addiu v0, zero, 0x16      |     v0 = 0x16;
    0x00008fcc sw v0, (t8)               |     *(t8) = v0;
    0x00008fd0 addiu t8, zero, -1        |     t8 = -1;
    0x00008fd4 b 0x93f4                  |     goto label_2;
    0x00008fd8 nop                       |     
                                         | label_4:
    0x00008fdc lw v0, 0xb8(fp)           |     v0 = *(arg_b8h);
    0x00008fe0 lw v1, 0xbc(fp)           |     v1 = *(arg_bch);
    0x00008fe4 mtlo v0                   |     __asm ("mtlo v0");
    0x00008fe8 mthi v1                   |     __asm ("mthi v1");
    0x00008fec mflo a0                   |     __asm ("mflo a0");
    0x00008ff0 mfhi a1                   |     __asm ("mfhi a1");
    0x00008ff4 sw a0, 0x60(fp)           |     *(arg_60h) = a0;
    0x00008ff8 sw a1, 0x64(fp)           |     *(arg_64h) = a1;
    0x00008ffc lw t8, 0xc0(fp)           |     t8 = *(arg_c0h);
    0x00009000 sw t8, 0x6c(fp)           |     *(arg_6ch) = t8;
    0x00009004 lw t8, 0xc8(fp)           |     t8 = *(arg_c8h);
    0x00009008 move t4, t8               |     t4 = t8;
    0x0000900c move t5, zero             |     t5 = 0;
    0x00009010 sw t4, 0x70(fp)           |     *(arg_70h) = t4;
    0x00009014 sw t5, 0x74(fp)           |     *(arg_74h) = t5;
    0x00009018 lw t8, 0x40(fp)           |     t8 = *(arg_40h);
    0x0000901c lw t8, 0x30(t8)           |     t8 = *((t8 + 12));
    0x00009020 andi v0, t8, 6            |     v0 = t8 & 6;
    0x00009024 addiu t8, zero, 4         |     t8 = 4;
                                         |     if (v0 != t8) {
    0x00009028 beq v0, t8, 0x9044        |         
    0x0000902c nop                       |         
    0x00009030 lw t8, 0x40(fp)           |         t8 = *(arg_40h);
    0x00009034 lw t8, 0x30(t8)           |         t8 = *((t8 + 12));
    0x00009038 andi t8, t8, 6            |         t8 &= 6;
                                         |         if (t8 != 0) {
    0x0000903c bnez t8, 0x9204           |             goto label_5;
                                         |         }
    0x00009040 nop                       |         
                                         |     }
    0x00009044 addiu t8, fp, 0x60        |     t8 = fp + 0x60;
    0x00009048 lw a0, 0xb0(fp)           |     a0 = *(arg_b0h);
    0x0000904c lw a1, 0xcc(fp)           |     a1 = *(arg_cch);
    0x00009050 move a2, t8               |     a2 = t8;
    0x00009054 lw t8, -0x7ef0(gp)        |     t8 = *((gp - 8124));
    0x00009058 move t9, t8               |     t9 = t8;
    0x0000905c jalr t9                   |     t9 ();
    0x00009060 nop                       |     
    0x00009064 lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x00009068 sw v0, 0x54(fp)           |     *(arg_54h) = v0;
    0x0000906c lw t8, 0x54(fp)           |     t8 = *(arg_54h);
                                         |     if (t8 == 0) {
    0x00009070 bnez t8, 0x9084           |         
    0x00009074 nop                       |         
    0x00009078 lw t8, 0x54(fp)           |         t8 = *(arg_54h);
    0x0000907c b 0x93f4                  |         goto label_2;
    0x00009080 nop                       |         
                                         |     }
    0x00009084 lw t8, -0x7f90(gp)        |     t8 = *((gp - 8164));
    0x00009088 move t9, t8               |     t9 = t8;
    0x0000908c jalr t9                   |     t9 ();
    0x00009090 nop                       |     
    0x00009094 lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x00009098 move t8, v0               |     t8 = v0;
    0x0000909c lw v0, (t8)               |     v0 = *(t8);
    0x000090a0 addiu t8, zero, 0x19      |     t8 = 0x19;
                                         |     if (v0 == t8) {
    0x000090a4 bne v0, t8, 0x90c0        |         
    0x000090a8 nop                       |         
    0x000090ac lw t8, 0x40(fp)           |         t8 = *(arg_40h);
    0x000090b0 lw t8, 0x30(t8)           |         t8 = *((t8 + 12));
    0x000090b4 andi t8, t8, 6            |         t8 &= 6;
                                         |         if (t8 == 0) {
    0x000090b8 beqz t8, 0x91ec           |             goto label_6;
                                         |         }
    0x000090bc nop                       |         
                                         |     }
    0x000090c0 lw t8, -0x7f90(gp)        |     t8 = *((gp - 8164));
    0x000090c4 move t9, t8               |     t9 = t8;
    0x000090c8 jalr t9                   |     t9 ();
    0x000090cc nop                       |     
    0x000090d0 lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x000090d4 move t8, v0               |     t8 = v0;
    0x000090d8 lw t8, (t8)               |     t8 = *(t8);
    0x000090dc sw t8, 0x58(fp)           |     *(arg_58h) = t8;
    0x000090e0 lw t8, -0x7f84(gp)        |     t8 = *((gp - 8161));
    0x000090e4 lw s4, (t8)               |     s4 = *(t8);
    0x000090e8 lw t8, 0xac(fp)           |     t8 = *(arg_ach);
    0x000090ec lw s5, (t8)               |     s5 = *(t8);
    0x000090f0 lw t8, 0xac(fp)           |     t8 = *(arg_ach);
    0x000090f4 lw t8, 0xe4(t8)           |     t8 = *((t8 + 57));
    0x000090f8 move s2, t8               |     s2 = t8;
    0x000090fc sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x00009100 move s3, t8               |     s3 = t8;
    0x00009104 lw t8, -0x7fcc(gp)        |     t8 = *((gp - 8179));
    0x00009108 lw a0, 0xb8(fp)           |     a0 = *(arg_b8h);
    0x0000910c lw a1, 0xbc(fp)           |     a1 = *(arg_bch);
    0x00009110 move a2, s2               |     a2 = s2;
    0x00009114 move a3, s3               |     a3 = s3;
    0x00009118 move t9, t8               |     t9 = t8;
    0x0000911c jalr t9                   |     t9 ();
    0x00009120 nop                       |     
    0x00009124 lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x00009128 mtlo v0                   |     __asm ("mtlo v0");
    0x0000912c mthi v1                   |     __asm ("mthi v1");
    0x00009130 mflo v0                   |     __asm ("mflo v0");
    0x00009134 mfhi v1                   |     __asm ("mfhi v1");
    0x00009138 mtlo v0                   |     __asm ("mtlo v0");
    0x0000913c mthi v1                   |     __asm ("mthi v1");
    0x00009140 sw s5, 0x10(sp)           |     *(var_10h) = s5;
    0x00009144 lw t8, 0xb8(fp)           |     t8 = *(arg_b8h);
    0x00009148 lw t9, 0xbc(fp)           |     t9 = *(arg_bch);
    0x0000914c sw t8, 0x18(sp)           |     *(var_18h) = t8;
    0x00009150 sw t9, 0x1c(sp)           |     *(var_1ch) = t9;
    0x00009154 mflo a0                   |     __asm ("mflo a0");
    0x00009158 mfhi a1                   |     __asm ("mfhi a1");
    0x0000915c sw a0, 0x20(sp)           |     *(var_20h) = a0;
    0x00009160 sw a1, 0x24(sp)           |     *(var_24h) = a1;
    0x00009164 move a0, s4               |     a0 = s4;
    0x00009168 lw t8, -0x7fd4(gp)        |     t8 = *((gp - 8181));
    0x0000916c addiu a1, t8, -0x2998     |     a1 = t8 + -0x2998;
    0x00009170 lw t8, -0x7fd4(gp)        |     t8 = *((gp - 8181));
    0x00009174 addiu a2, t8, -0x3214     |     a2 = t8 + -0x3214;
    0x00009178 lw a3, 0x38(fp)           |     a3 = *(arg_38h);
    0x0000917c lw t8, -0x7f28(gp)        |     t8 = *((gp - 8138));
    0x00009180 move t9, t8               |     t9 = t8;
    0x00009184 jalr t9                   |     t9 ();
    0x00009188 nop                       |     
    0x0000918c lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x00009190 lw t8, -0x7f84(gp)        |     t8 = *((gp - 8161));
    0x00009194 lw s2, (t8)               |     s2 = *(t8);
    0x00009198 lw a0, 0x58(fp)           |     a0 = *(arg_58h);
    0x0000919c lw t8, -0x7efc(gp)        |     t8 = *((gp - 8127));
    0x000091a0 move t9, t8               |     t9 = t8;
    0x000091a4 jalr t9                   |     t9 ();
    0x000091a8 nop                       |     
    0x000091ac lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x000091b0 move t8, v0               |     t8 = v0;
    0x000091b4 lw v0, 0x58(fp)           |     v0 = *(arg_58h);
    0x000091b8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000091bc sw t8, 0x14(sp)           |     *(var_14h) = t8;
    0x000091c0 move a0, s2               |     a0 = s2;
    0x000091c4 lw t8, -0x7fd4(gp)        |     t8 = *((gp - 8181));
    0x000091c8 addiu a1, t8, -0x320c     |     a1 = t8 + -0x320c;
    0x000091cc addiu a2, zero, 8         |     a2 = 8;
    0x000091d0 lw t8, -0x7fd4(gp)        |     t8 = *((gp - 8181));
    0x000091d4 addiu a3, t8, -0x31f8     |     a3 = t8 + -0x31f8;
    0x000091d8 lw t8, -0x7f28(gp)        |     t8 = *((gp - 8138));
    0x000091dc move t9, t8               |     t9 = t8;
    0x000091e0 jalr t9                   |     t9 ();
    0x000091e4 nop                       |     
    0x000091e8 lw gp, 0x30(fp)           |     gp = *(arg_30h);
                                         | label_6:
    0x000091ec lw t8, 0x40(fp)           |     t8 = *(arg_40h);
    0x000091f0 lbu v1, 0x30(t8)          |     v1 = *((t8 + 48));
    0x000091f4 addiu v0, zero, -7        |     v0 = -7;
    0x000091f8 and v0, v1, v0            |     v0 = v1 & v0;
    0x000091fc ori v0, v0, 2             |     v0 |= 2;
    0x00009200 sb v0, 0x30(t8)           |     *((t8 + 48)) = v0;
                                         | label_5:
    0x00009204 lw t8, 0x60(fp)           |     t8 = *(arg_60h);
    0x00009208 lw t9, 0x64(fp)           |     t9 = *(arg_64h);
                                         |     if (t9 != 0) {
    0x0000920c beqz t9, 0x9274           |         
    0x00009210 nop                       |         
    0x00009214 lw t8, -0x7f84(gp)        |         t8 = *((gp - 8161));
    0x00009218 lw t8, (t8)               |         t8 = *(t8);
    0x0000921c move a0, t8               |         a0 = t8;
    0x00009220 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x00009224 addiu a1, t8, -0x2950     |         a1 = t8 + -0x2950;
    0x00009228 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x0000922c addiu a2, t8, -0x3214     |         a2 = t8 + -0x3214;
    0x00009230 addiu a3, zero, -1        |         a3 = -1;
    0x00009234 lw t8, -0x7f28(gp)        |         t8 = *((gp - 8138));
    0x00009238 move t9, t8               |         t9 = t8;
    0x0000923c jalr t9                   |         t9 ();
    0x00009240 nop                       |         
    0x00009244 lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x00009248 lw t8, -0x7f90(gp)        |         t8 = *((gp - 8164));
    0x0000924c move t9, t8               |         t9 = t8;
    0x00009250 jalr t9                   |         t9 ();
    0x00009254 nop                       |         
    0x00009258 lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x0000925c move t8, v0               |         t8 = v0;
    0x00009260 addiu v0, zero, 0x16      |         v0 = 0x16;
    0x00009264 sw v0, (t8)               |         *(t8) = v0;
    0x00009268 addiu t8, zero, -1        |         t8 = -1;
    0x0000926c b 0x93f4                  |         goto label_2;
    0x00009270 nop                       |         
                                         |     }
    0x00009274 lw t8, 0x60(fp)           |     t8 = *(arg_60h);
    0x00009278 lw t9, 0x64(fp)           |     t9 = *(arg_64h);
    0x0000927c sw t8, 0x78(fp)           |     *(arg_78h) = t8;
    0x00009280 lw t8, 0x6c(fp)           |     t8 = *(arg_6ch);
    0x00009284 sw t8, 0x7c(fp)           |     *(arg_7ch) = t8;
    0x00009288 lw t8, 0xc8(fp)           |     t8 = *(arg_c8h);
    0x0000928c sw t8, 0x80(fp)           |     *(arg_80h) = t8;
    0x00009290 addiu t8, fp, 0x78        |     t8 = fp + 0x78;
    0x00009294 lw a0, 0xb0(fp)           |     a0 = *(arg_b0h);
    0x00009298 lw a1, 0xd0(fp)           |     a1 = *(arg_d0h);
    0x0000929c move a2, t8               |     a2 = t8;
    0x000092a0 lw t8, -0x7ef0(gp)        |     t8 = *((gp - 8124));
    0x000092a4 move t9, t8               |     t9 = t8;
    0x000092a8 jalr t9                   |     t9 ();
    0x000092ac nop                       |     
    0x000092b0 lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x000092b4 sw v0, 0x54(fp)           |     *(arg_54h) = v0;
    0x000092b8 lw t8, 0x54(fp)           |     t8 = *(arg_54h);
                                         |     if (t8 < 0) {
    0x000092bc bgez t8, 0x93f0           |         
    0x000092c0 nop                       |         
    0x000092c4 lw t8, -0x7f90(gp)        |         t8 = *((gp - 8164));
    0x000092c8 move t9, t8               |         t9 = t8;
    0x000092cc jalr t9                   |         t9 ();
    0x000092d0 nop                       |         
    0x000092d4 lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x000092d8 move t8, v0               |         t8 = v0;
    0x000092dc lw t8, (t8)               |         t8 = *(t8);
    0x000092e0 sw t8, 0x5c(fp)           |         *(arg_5ch) = t8;
    0x000092e4 lw t8, -0x7f84(gp)        |         t8 = *((gp - 8161));
    0x000092e8 lw s2, (t8)               |         s2 = *(t8);
    0x000092ec lw t8, 0xac(fp)           |         t8 = *(arg_ach);
    0x000092f0 lw s3, (t8)               |         s3 = *(t8);
    0x000092f4 lw t8, 0xac(fp)           |         t8 = *(arg_ach);
    0x000092f8 lw t8, 0xe4(t8)           |         t8 = *((t8 + 57));
    0x000092fc move s0, t8               |         s0 = t8;
    0x00009300 sra t8, t8, 0x1f          |         t8 >>= 0x1f;
    0x00009304 move s1, t8               |         s1 = t8;
    0x00009308 lw t8, -0x7fcc(gp)        |         t8 = *((gp - 8179));
    0x0000930c lw a0, 0xb8(fp)           |         a0 = *(arg_b8h);
    0x00009310 lw a1, 0xbc(fp)           |         a1 = *(arg_bch);
    0x00009314 move a2, s0               |         a2 = s0;
    0x00009318 move a3, s1               |         a3 = s1;
    0x0000931c move t9, t8               |         t9 = t8;
    0x00009320 jalr t9                   |         t9 ();
    0x00009324 nop                       |         
    0x00009328 lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x0000932c mtlo v0                   |         __asm ("mtlo v0");
    0x00009330 mthi v1                   |         __asm ("mthi v1");
    0x00009334 mflo v0                   |         __asm ("mflo v0");
    0x00009338 mfhi v1                   |         __asm ("mfhi v1");
    0x0000933c mtlo v0                   |         __asm ("mtlo v0");
    0x00009340 mthi v1                   |         __asm ("mthi v1");
    0x00009344 sw s3, 0x10(sp)           |         *(var_10h) = s3;
    0x00009348 lw t8, 0xb8(fp)           |         t8 = *(arg_b8h);
    0x0000934c lw t9, 0xbc(fp)           |         t9 = *(arg_bch);
    0x00009350 sw t8, 0x18(sp)           |         *(var_18h) = t8;
    0x00009354 sw t9, 0x1c(sp)           |         *(var_1ch) = t9;
    0x00009358 mflo a0                   |         __asm ("mflo a0");
    0x0000935c mfhi a1                   |         __asm ("mfhi a1");
    0x00009360 sw a0, 0x20(sp)           |         *(var_20h) = a0;
    0x00009364 sw a1, 0x24(sp)           |         *(var_24h) = a1;
    0x00009368 move a0, s2               |         a0 = s2;
    0x0000936c lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x00009370 addiu a1, t8, -0x2998     |         a1 = t8 + -0x2998;
    0x00009374 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x00009378 addiu a2, t8, -0x3214     |         a2 = t8 + -0x3214;
    0x0000937c lw a3, 0x3c(fp)           |         a3 = *(arg_3ch);
    0x00009380 lw t8, -0x7f28(gp)        |         t8 = *((gp - 8138));
    0x00009384 move t9, t8               |         t9 = t8;
    0x00009388 jalr t9                   |         t9 ();
    0x0000938c nop                       |         
    0x00009390 lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x00009394 lw t8, -0x7f84(gp)        |         t8 = *((gp - 8161));
    0x00009398 lw s0, (t8)               |         s0 = *(t8);
    0x0000939c lw a0, 0x5c(fp)           |         a0 = *(arg_5ch);
    0x000093a0 lw t8, -0x7efc(gp)        |         t8 = *((gp - 8127));
    0x000093a4 move t9, t8               |         t9 = t8;
    0x000093a8 jalr t9                   |         t9 ();
    0x000093ac nop                       |         
    0x000093b0 lw gp, 0x30(fp)           |         gp = *(arg_30h);
    0x000093b4 move t8, v0               |         t8 = v0;
    0x000093b8 lw v0, 0x5c(fp)           |         v0 = *(arg_5ch);
    0x000093bc sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000093c0 sw t8, 0x14(sp)           |         *(var_14h) = t8;
    0x000093c4 move a0, s0               |         a0 = s0;
    0x000093c8 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x000093cc addiu a1, t8, -0x320c     |         a1 = t8 + -0x320c;
    0x000093d0 addiu a2, zero, 8         |         a2 = 8;
    0x000093d4 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x000093d8 addiu a3, t8, -0x31f8     |         a3 = t8 + -0x31f8;
    0x000093dc lw t8, -0x7f28(gp)        |         t8 = *((gp - 8138));
    0x000093e0 move t9, t8               |         t9 = t8;
    0x000093e4 jalr t9                   |         t9 ();
    0x000093e8 nop                       |         
    0x000093ec lw gp, 0x30(fp)           |         gp = *(arg_30h);
                                         |     }
    0x000093f0 lw t8, 0x54(fp)           |     t8 = *(arg_54h);
                                         | label_2:
    0x000093f4 move v0, t8               |     v0 = t8;
    0x000093f8 move sp, fp               |     
    0x000093fc lw ra, 0xa4(sp)           |     ra = *(var_a4h);
    0x00009400 lw fp, 0xa0(sp)           |     fp = *(var_a0h);
    0x00009404 lw s5, 0x9c(sp)           |     s5 = *(var_9ch);
    0x00009408 lw s4, 0x98(sp)           |     s4 = *(var_98h);
    0x0000940c lw s3, 0x94(sp)           |     s3 = *(var_94h);
    0x00009410 lw s2, 0x90(sp)           |     s2 = *(var_90h);
    0x00009414 lw s1, 0x8c(sp)           |     s1 = *(var_8ch);
    0x00009418 lw s0, 0x88(sp)           |     s0 = *(var_88h);
    0x0000941c addiu sp, sp, 0xa8        |     
    0x00009420 jr ra                     |     return v0;
    0x00009424 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x1f48 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.legacy_get_dev_info ()       | void legacy_get_dev_info () {
    0x00001f48 lui gp, 2                     |     
    0x00001f4c addiu gp, gp, 0x3c98          |     
    0x00001f50 addu gp, gp, t9               |     gp += t9;
    0x00001f54 addiu sp, sp, -0x1c8          |     
    0x00001f58 sw ra, 0x1c4(sp)              |     *(var_1c4h) = ra;
    0x00001f5c sw fp, 0x1c0(sp)              |     *(var_1c0h) = fp;
    0x00001f60 sw s6, 0x1bc(sp)              |     *(var_1bch) = s6;
    0x00001f64 sw s5, 0x1b8(sp)              |     *(var_1b8h) = s5;
    0x00001f68 sw s4, 0x1b4(sp)              |     *(var_1b4h) = s4;
    0x00001f6c sw s3, 0x1b0(sp)              |     *(var_1b0h) = s3;
    0x00001f70 sw s2, 0x1ac(sp)              |     *(var_1ach) = s2;
    0x00001f74 sw s1, 0x1a8(sp)              |     *(var_1a8h) = s1;
    0x00001f78 sw s0, 0x1a4(sp)              |     *(var_1a4h) = s0;
    0x00001f7c move fp, sp                   |     fp = sp;
    0x00001f80 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00001f84 sw a0, 0x1c8(fp)              |     *(arg_1c8h) = a0;
    0x00001f88 sw a1, 0x1cc(fp)              |     *(arg_1cch) = a1;
    0x00001f8c move v0, zero                 |     v0 = 0;
    0x00001f90 move v1, zero                 |     v1 = 0;
    0x00001f94 sw v0, 0xf8(fp)               |     *(arg_f8h) = v0;
    0x00001f98 sw v1, 0xfc(fp)               |     *(arg_fch) = v1;
    0x00001f9c addiu t8, fp, 0x40            |     t8 = fp + 0x40;
    0x00001fa0 lw a0, 0x1c8(fp)              |     a0 = *(arg_1c8h);
    0x00001fa4 move a1, t8                   |     a1 = t8;
    0x00001fa8 lw t8, -0x7f8c(gp)            |     t8 = *((gp - 8163));
    0x00001fac move t9, t8                   |     t9 = t8;
    0x00001fb0 jalr t9                       |     t9 ();
    0x00001fb4 nop                           |     
    0x00001fb8 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00001fbc move t8, v0                   |     t8 = v0;
                                             |     if (t8 != 0) {
    0x00001fc0 beqz t8, 0x20c4               |         
    0x00001fc4 nop                           |         
    0x00001fc8 lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x00001fcc move t9, t8                   |         t9 = t8;
    0x00001fd0 jalr t9                       |         t9 ();
    0x00001fd4 nop                           |         
    0x00001fd8 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00001fdc move t8, v0                   |         t8 = v0;
    0x00001fe0 lw t8, (t8)                   |         t8 = *(t8);
    0x00001fe4 sw t8, 0x28(fp)               |         *(arg_28h) = t8;
    0x00001fe8 lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x00001fec lw t8, (t8)                   |         t8 = *(t8);
    0x00001ff0 move a0, t8                   |         a0 = t8;
    0x00001ff4 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00001ff8 addiu a1, t8, -0x34e4         |         a1 = t8 + -0x34e4;
    0x00001ffc lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002000 addiu a2, t8, -0x3644         |         a2 = t8 + -0x3644;
    0x00002004 lw a3, 0x1c8(fp)              |         a3 = *(arg_1c8h);
    0x00002008 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x0000200c move t9, t8                   |         t9 = t8;
    0x00002010 jalr t9                       |         t9 ();
    0x00002014 nop                           |         
    0x00002018 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0000201c lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x00002020 lw s6, (t8)                   |         s6 = *(t8);
    0x00002024 lw a0, 0x28(fp)               |         a0 = *(arg_28h);
    0x00002028 lw t8, -0x7efc(gp)            |         t8 = *((gp - 8127));
    0x0000202c move t9, t8                   |         t9 = t8;
    0x00002030 jalr t9                       |         t9 ();
    0x00002034 nop                           |         
    0x00002038 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0000203c move t8, v0                   |         t8 = v0;
    0x00002040 lw v0, 0x28(fp)               |         v0 = *(arg_28h);
    0x00002044 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00002048 sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x0000204c move a0, s6                   |         a0 = s6;
    0x00002050 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002054 addiu a1, t8, -0x363c         |         a1 = t8 + -0x363c;
    0x00002058 addiu a2, zero, 8             |         a2 = 8;
    0x0000205c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002060 addiu a3, t8, -0x3628         |         a3 = t8 + -0x3628;
    0x00002064 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x00002068 move t9, t8                   |         t9 = t8;
    0x0000206c jalr t9                       |         t9 ();
    0x00002070 nop                           |         
    0x00002074 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002078 lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x0000207c move t9, t8                   |         t9 = t8;
    0x00002080 jalr t9                       |         t9 ();
    0x00002084 nop                           |         
    0x00002088 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0000208c move t8, v0                   |         t8 = v0;
    0x00002090 lw v0, (t8)                   |         v0 = *(t8);
    0x00002094 addiu t8, zero, 2             |         t8 = 2;
                                             |         if (v0 != t8) {
    0x00002098 bne v0, t8, 0x20c4            |             goto label_0;
                                             |         }
    0x0000209c nop                           |         
    0x000020a0 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x000020a4 addiu a0, t8, -0x34c4         |         a0 = t8 + -0x34c4;
    0x000020a8 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x000020ac addiu a1, t8, -0x3644         |         a1 = t8 + -0x3644;
    0x000020b0 lw t8, -0x7ef4(gp)            |         t8 = *((gp - 8125));
    0x000020b4 move t9, t8                   |         t9 = t8;
    0x000020b8 jalr t9                       |         t9 ();
    0x000020bc nop                           |         
    0x000020c0 lw gp, 0x20(fp)               |         gp = *(arg_20h);
                                             |     }
                                             | label_0:
    0x000020c4 lw t8, 0x54(fp)               |     t8 = *(arg_54h);
    0x000020c8 andi v0, t8, 0xf000           |     v0 = t8 & 0xf000;
    0x000020cc addiu t8, zero, 0x2000        |     t8 = 0x2000;
                                             |     if (v0 != t8) {
    0x000020d0 beq v0, t8, 0x2138            |         
    0x000020d4 nop                           |         
    0x000020d8 lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x000020dc move t9, t8                   |         t9 = t8;
    0x000020e0 jalr t9                       |         t9 ();
    0x000020e4 nop                           |         
    0x000020e8 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x000020ec move t8, v0                   |         t8 = v0;
    0x000020f0 addiu v0, zero, 0x16          |         v0 = 0x16;
    0x000020f4 sw v0, (t8)                   |         *(t8) = v0;
    0x000020f8 lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x000020fc lw t8, (t8)                   |         t8 = *(t8);
    0x00002100 move a0, t8                   |         a0 = t8;
    0x00002104 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002108 addiu a1, t8, -0x3460         |         a1 = t8 + -0x3460;
    0x0000210c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002110 addiu a2, t8, -0x3644         |         a2 = t8 + -0x3644;
    0x00002114 lw a3, 0x1c8(fp)              |         a3 = *(arg_1c8h);
    0x00002118 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x0000211c move t9, t8                   |         t9 = t8;
    0x00002120 jalr t9                       |         t9 ();
    0x00002124 nop                           |         
    0x00002128 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0000212c addiu t8, zero, -1            |         t8 = -1;
    0x00002130 b 0x2b78                      |         goto label_1;
    0x00002134 nop                           |         
                                             |     }
    0x00002138 lw a0, 0x1cc(fp)              |     a0 = *(arg_1cch);
    0x0000213c move a1, zero                 |     a1 = 0;
    0x00002140 addiu a2, zero, 0x100         |     a2 = 0x100;
    0x00002144 lw t8, -0x7f68(gp)            |     t8 = *((gp - 8154));
    0x00002148 move t9, t8                   |     t9 = t8;
    0x0000214c jalr t9                       |     t9 ();
    0x00002150 nop                           |     
    0x00002154 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00002158 lw v0, 0x68(fp)               |     v0 = *(arg_68h);
    0x0000215c lw v1, 0x6c(fp)               |     v1 = *(arg_6ch);
    0x00002160 mtlo v0                       |     __asm ("mtlo v0");
    0x00002164 mthi v1                       |     __asm ("mthi v1");
    0x00002168 mflo a0                       |     __asm ("mflo a0");
    0x0000216c mfhi a1                       |     __asm ("mfhi a1");
    0x00002170 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00002174 addiu t8, t8, 0xf30           |     t8 += 0xf30;
    0x00002178 move t9, t8                   |     t9 = t8;
    0x0000217c jalr t9                       |     t9 ();
    0x00002180 nop                           |     
    0x00002184 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00002188 move t8, v0                   |     t8 = v0;
    0x0000218c move v0, t8                   |     v0 = t8;
    0x00002190 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x00002194 sw v0, 4(t8)                  |     *((t8 + 4)) = v0;
    0x00002198 lw v0, 0x68(fp)               |     v0 = *(arg_68h);
    0x0000219c lw v1, 0x6c(fp)               |     v1 = *(arg_6ch);
    0x000021a0 mtlo v0                       |     __asm ("mtlo v0");
    0x000021a4 mthi v1                       |     __asm ("mthi v1");
    0x000021a8 mflo a0                       |     __asm ("mflo a0");
    0x000021ac mfhi a1                       |     __asm ("mfhi a1");
    0x000021b0 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x000021b4 addiu t8, t8, 0xf94           |     t8 += 0xf94;
    0x000021b8 move t9, t8                   |     t9 = t8;
    0x000021bc jalr t9                       |     t9 ();
    0x000021c0 nop                           |     
    0x000021c4 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x000021c8 move t8, v0                   |     t8 = v0;
    0x000021cc move v0, t8                   |     v0 = t8;
    0x000021d0 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000021d4 sw v0, 8(t8)                  |     *((t8 + 8)) = v0;
    0x000021d8 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000021dc lw v0, 4(t8)                  |     v0 = *((t8 + 1));
    0x000021e0 addiu t8, zero, 0x5a          |     t8 = 0x5a;
                                             |     if (v0 != t8) {
    0x000021e4 beq v0, t8, 0x2260            |         
    0x000021e8 nop                           |         
    0x000021ec lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x000021f0 move t9, t8                   |         t9 = t8;
    0x000021f4 jalr t9                       |         t9 ();
    0x000021f8 nop                           |         
    0x000021fc lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002200 move t8, v0                   |         t8 = v0;
    0x00002204 addiu v0, zero, 0x16          |         v0 = 0x16;
    0x00002208 sw v0, (t8)                   |         *(t8) = v0;
    0x0000220c lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x00002210 lw t8, (t8)                   |         t8 = *(t8);
    0x00002214 lw v0, 0x1cc(fp)              |         v0 = *(arg_1cch);
    0x00002218 lw v0, 4(v0)                  |         v0 = *((v0 + 1));
    0x0000221c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00002220 addiu v0, zero, 0x5a          |         v0 = 0x5a;
    0x00002224 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00002228 move a0, t8                   |         a0 = t8;
    0x0000222c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002230 addiu a1, t8, -0x3434         |         a1 = t8 + -0x3434;
    0x00002234 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002238 addiu a2, t8, -0x3644         |         a2 = t8 + -0x3644;
    0x0000223c lw a3, 0x1c8(fp)              |         a3 = *(arg_1c8h);
    0x00002240 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x00002244 move t9, t8                   |         t9 = t8;
    0x00002248 jalr t9                       |         t9 ();
    0x0000224c nop                           |         
    0x00002250 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002254 addiu t8, zero, -1            |         t8 = -1;
    0x00002258 b 0x2b78                      |         goto label_1;
    0x0000225c nop                           |         
                                             |     }
    0x00002260 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x00002264 lw t8, 8(t8)                  |     t8 = *((t8 + 2));
    0x00002268 srl v0, t8, 0x1f              |     v0 = t8 >> 0x1f;
    0x0000226c addu t8, v0, t8               |     t8 = v0 + t8;
    0x00002270 sra t8, t8, 1                 |     t8 >>= 1;
    0x00002274 move v0, t8                   |     v0 = t8;
    0x00002278 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x0000227c sw v0, (t8)                   |     *(t8) = v0;
    0x00002280 lw a0, 0x1c8(fp)              |     a0 = *(arg_1c8h);
    0x00002284 move a1, zero                 |     a1 = 0;
    0x00002288 lw t8, -0x7fa8(gp)            |     t8 = *((gp - 8170));
    0x0000228c move t9, t8                   |     t9 = t8;
    0x00002290 jalr t9                       |     t9 ();
    0x00002294 nop                           |     
    0x00002298 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x0000229c sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x000022a0 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x000022a4 addiu t8, zero, -1            |     t8 = -1;
                                             |     if (v0 == t8) {
    0x000022a8 bne v0, t8, 0x236c            |         
    0x000022ac nop                           |         
    0x000022b0 lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x000022b4 move t9, t8                   |         t9 = t8;
    0x000022b8 jalr t9                       |         t9 ();
    0x000022bc nop                           |         
    0x000022c0 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x000022c4 move t8, v0                   |         t8 = v0;
    0x000022c8 lw t8, (t8)                   |         t8 = *(t8);
    0x000022cc sw t8, 0x30(fp)               |         *(arg_30h) = t8;
    0x000022d0 lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x000022d4 lw t8, (t8)                   |         t8 = *(t8);
    0x000022d8 move a0, t8                   |         a0 = t8;
    0x000022dc lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x000022e0 addiu a1, t8, -0x34e4         |         a1 = t8 + -0x34e4;
    0x000022e4 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x000022e8 addiu a2, t8, -0x3644         |         a2 = t8 + -0x3644;
    0x000022ec lw a3, 0x1c8(fp)              |         a3 = *(arg_1c8h);
    0x000022f0 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x000022f4 move t9, t8                   |         t9 = t8;
    0x000022f8 jalr t9                       |         t9 ();
    0x000022fc nop                           |         
    0x00002300 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002304 lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x00002308 lw s0, (t8)                   |         s0 = *(t8);
    0x0000230c lw a0, 0x30(fp)               |         a0 = *(arg_30h);
    0x00002310 lw t8, -0x7efc(gp)            |         t8 = *((gp - 8127));
    0x00002314 move t9, t8                   |         t9 = t8;
    0x00002318 jalr t9                       |         t9 ();
    0x0000231c nop                           |         
    0x00002320 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002324 move t8, v0                   |         t8 = v0;
    0x00002328 lw v0, 0x30(fp)               |         v0 = *(arg_30h);
    0x0000232c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00002330 sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x00002334 move a0, s0                   |         a0 = s0;
    0x00002338 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000233c addiu a1, t8, -0x363c         |         a1 = t8 + -0x363c;
    0x00002340 addiu a2, zero, 8             |         a2 = 8;
    0x00002344 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002348 addiu a3, t8, -0x3628         |         a3 = t8 + -0x3628;
    0x0000234c lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x00002350 move t9, t8                   |         t9 = t8;
    0x00002354 jalr t9                       |         t9 ();
    0x00002358 nop                           |         
    0x0000235c lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002360 addiu t8, zero, -1            |         t8 = -1;
    0x00002364 b 0x2b78                      |         goto label_1;
    0x00002368 nop                           |         
                                             |     }
    0x0000236c addiu t8, fp, 0xd8            |     t8 = fp + 0xd8;
    0x00002370 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00002374 lui v0, 0x4020                |     v0 = 0x40200000;
    0x00002378 ori a1, v0, 0x4d01            |     a1 = 0x40204d01;
    0x0000237c move a2, t8                   |     a2 = t8;
    0x00002380 lw t8, -0x7ef0(gp)            |     t8 = *((gp - 8124));
    0x00002384 move t9, t8                   |     t9 = t8;
    0x00002388 jalr t9                       |     t9 ();
    0x0000238c nop                           |     
    0x00002390 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00002394 move t8, v0                   |     t8 = v0;
                                             |     if (t8 != 0) {
    0x00002398 beqz t8, 0x2454               |         
    0x0000239c nop                           |         
    0x000023a0 lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x000023a4 move t9, t8                   |         t9 = t8;
    0x000023a8 jalr t9                       |         t9 ();
    0x000023ac nop                           |         
    0x000023b0 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x000023b4 move t8, v0                   |         t8 = v0;
    0x000023b8 lw t8, (t8)                   |         t8 = *(t8);
    0x000023bc sw t8, 0x34(fp)               |         *(arg_34h) = t8;
    0x000023c0 lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x000023c4 lw t8, (t8)                   |         t8 = *(t8);
    0x000023c8 move a0, t8                   |         a0 = t8;
    0x000023cc lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x000023d0 addiu a1, t8, -0x33f0         |         a1 = t8 + -0x33f0;
    0x000023d4 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x000023d8 addiu a2, t8, -0x3644         |         a2 = t8 + -0x3644;
    0x000023dc lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x000023e0 move t9, t8                   |         t9 = t8;
    0x000023e4 jalr t9                       |         t9 ();
    0x000023e8 nop                           |         
    0x000023ec lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x000023f0 lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x000023f4 lw s0, (t8)                   |         s0 = *(t8);
    0x000023f8 lw a0, 0x34(fp)               |         a0 = *(arg_34h);
    0x000023fc lw t8, -0x7efc(gp)            |         t8 = *((gp - 8127));
    0x00002400 move t9, t8                   |         t9 = t8;
    0x00002404 jalr t9                       |         t9 ();
    0x00002408 nop                           |         
    0x0000240c lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002410 move t8, v0                   |         t8 = v0;
    0x00002414 lw v0, 0x34(fp)               |         v0 = *(arg_34h);
    0x00002418 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000241c sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x00002420 move a0, s0                   |         a0 = s0;
    0x00002424 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002428 addiu a1, t8, -0x363c         |         a1 = t8 + -0x363c;
    0x0000242c addiu a2, zero, 8             |         a2 = 8;
    0x00002430 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002434 addiu a3, t8, -0x3628         |         a3 = t8 + -0x3628;
    0x00002438 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x0000243c move t9, t8                   |         t9 = t8;
    0x00002440 jalr t9                       |         t9 ();
    0x00002444 nop                           |         
    0x00002448 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0000244c b 0x2b5c                      |         goto label_2;
    0x00002450 nop                           |         
                                             |     }
    0x00002454 addiu t8, fp, 0xf8            |     t8 = fp + 0xf8;
    0x00002458 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x0000245c lui v0, 0x8008                |     v0 = 0x80080000;
    0x00002460 ori a1, v0, 0x4d0b            |     a1 = 0x80084d0b;
    0x00002464 move a2, t8                   |     a2 = t8;
    0x00002468 lw t8, -0x7ef0(gp)            |     t8 = *((gp - 8124));
    0x0000246c move t9, t8                   |     t9 = t8;
    0x00002470 jalr t9                       |     t9 ();
    0x00002474 nop                           |     
    0x00002478 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x0000247c sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x00002480 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x00002484 addiu t8, zero, -1            |     t8 = -1;
                                             |     if (v0 == t8) {
    0x00002488 bne v0, t8, 0x25a4            |         
    0x0000248c nop                           |         
    0x00002490 lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x00002494 move t9, t8                   |         t9 = t8;
    0x00002498 jalr t9                       |         t9 ();
    0x0000249c nop                           |         
    0x000024a0 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x000024a4 move t8, v0                   |         t8 = v0;
    0x000024a8 lw v0, (t8)                   |         v0 = *(t8);
    0x000024ac addiu t8, zero, 0x7a          |         t8 = 0x7a;
                                             |         if (v0 != t8) {
    0x000024b0 beq v0, t8, 0x256c            |             
    0x000024b4 nop                           |             
    0x000024b8 lw t8, -0x7f90(gp)            |             t8 = *((gp - 8164));
    0x000024bc move t9, t8                   |             t9 = t8;
    0x000024c0 jalr t9                       |             t9 ();
    0x000024c4 nop                           |             
    0x000024c8 lw gp, 0x20(fp)               |             gp = *(arg_20h);
    0x000024cc move t8, v0                   |             t8 = v0;
    0x000024d0 lw t8, (t8)                   |             t8 = *(t8);
    0x000024d4 sw t8, 0x3c(fp)               |             *(arg_3ch) = t8;
    0x000024d8 lw t8, -0x7f84(gp)            |             t8 = *((gp - 8161));
    0x000024dc lw t8, (t8)                   |             t8 = *(t8);
    0x000024e0 move a0, t8                   |             a0 = t8;
    0x000024e4 lw t8, -0x7fd4(gp)            |             t8 = *((gp - 8181));
    0x000024e8 addiu a1, t8, -0x33c0         |             a1 = t8 + -0x33c0;
    0x000024ec lw t8, -0x7fd4(gp)            |             t8 = *((gp - 8181));
    0x000024f0 addiu a2, t8, -0x3644         |             a2 = t8 + -0x3644;
    0x000024f4 lw t8, -0x7f28(gp)            |             t8 = *((gp - 8138));
    0x000024f8 move t9, t8                   |             t9 = t8;
    0x000024fc jalr t9                       |             t9 ();
    0x00002500 nop                           |             
    0x00002504 lw gp, 0x20(fp)               |             gp = *(arg_20h);
    0x00002508 lw t8, -0x7f84(gp)            |             t8 = *((gp - 8161));
    0x0000250c lw s0, (t8)                   |             s0 = *(t8);
    0x00002510 lw a0, 0x3c(fp)               |             a0 = *(arg_3ch);
    0x00002514 lw t8, -0x7efc(gp)            |             t8 = *((gp - 8127));
    0x00002518 move t9, t8                   |             t9 = t8;
    0x0000251c jalr t9                       |             t9 ();
    0x00002520 nop                           |             
    0x00002524 lw gp, 0x20(fp)               |             gp = *(arg_20h);
    0x00002528 move t8, v0                   |             t8 = v0;
    0x0000252c lw v0, 0x3c(fp)               |             v0 = *(arg_3ch);
    0x00002530 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x00002534 sw t8, 0x14(sp)               |             *(var_14h) = t8;
    0x00002538 move a0, s0                   |             a0 = s0;
    0x0000253c lw t8, -0x7fd4(gp)            |             t8 = *((gp - 8181));
    0x00002540 addiu a1, t8, -0x363c         |             a1 = t8 + -0x363c;
    0x00002544 addiu a2, zero, 8             |             a2 = 8;
    0x00002548 lw t8, -0x7fd4(gp)            |             t8 = *((gp - 8181));
    0x0000254c addiu a3, t8, -0x3628         |             a3 = t8 + -0x3628;
    0x00002550 lw t8, -0x7f28(gp)            |             t8 = *((gp - 8138));
    0x00002554 move t9, t8                   |             t9 = t8;
    0x00002558 jalr t9                       |             t9 ();
    0x0000255c nop                           |             
    0x00002560 lw gp, 0x20(fp)               |             gp = *(arg_20h);
    0x00002564 b 0x2b5c                      |             goto label_2;
    0x00002568 nop                           |             
                                             |         }
    0x0000256c lw t8, -0x7f90(gp)            |         t8 = *((gp - 8164));
    0x00002570 move t9, t8                   |         t9 = t8;
    0x00002574 jalr t9                       |         t9 ();
    0x00002578 nop                           |         
    0x0000257c lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00002580 move t8, v0                   |         t8 = v0;
    0x00002584 sw zero, (t8)                 |         *(t8) = 0;
    0x00002588 lw t8, 0x1cc(fp)              |         t8 = *(arg_1cch);
    0x0000258c lbu v1, 0xf8(t8)              |         v1 = *((t8 + 248));
    0x00002590 addiu v0, zero, -3            |         v0 = -3;
    0x00002594 and v0, v1, v0                |         v0 = v1 & v0;
    0x00002598 sb v0, 0xf8(t8)               |         *((t8 + 248)) = v0;
    0x0000259c b 0x25b4                      |         goto label_3;
    0x000025a0 nop                           |         
                                             |     }
    0x000025a4 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000025a8 lbu v0, 0xf8(t8)              |     v0 = *((t8 + 248));
    0x000025ac ori v0, v0, 2                 |     v0 |= 2;
    0x000025b0 sb v0, 0xf8(t8)               |     *((t8 + 248)) = v0;
                                             | label_3:
    0x000025b4 lbu t8, 0xd8(fp)              |     t8 = *(arg_d8h);
    0x000025b8 move v0, t8                   |     v0 = t8;
    0x000025bc lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000025c0 sw v0, 0xc(t8)                |     *((t8 + 12)) = v0;
    0x000025c4 lw t8, 0xe0(fp)               |     t8 = *(arg_e0h);
    0x000025c8 move s4, t8                   |     s4 = t8;
    0x000025cc move s5, zero                 |     s5 = 0;
    0x000025d0 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000025d4 sw s4, 0xd8(t8)               |     *((t8 + 216)) = s4;
    0x000025d8 sw s5, 0xdc(t8)               |     *((t8 + 220)) = s5;
    0x000025dc lw t8, 0xe4(fp)               |     t8 = *(arg_e4h);
    0x000025e0 move v0, t8                   |     v0 = t8;
    0x000025e4 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000025e8 sw v0, 0xe4(t8)               |     *((t8 + 228)) = v0;
    0x000025ec lw t8, 0xe8(fp)               |     t8 = *(arg_e8h);
    0x000025f0 move v0, t8                   |     v0 = t8;
    0x000025f4 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000025f8 sw v0, 0xe8(t8)               |     *((t8 + 232)) = v0;
    0x000025fc lw t8, 0xec(fp)               |     t8 = *(arg_ech);
    0x00002600 move v0, t8                   |     v0 = t8;
    0x00002604 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x00002608 sw v0, 0xf0(t8)               |     *((t8 + 240)) = v0;
    0x0000260c lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x00002610 lw t8, 0xe8(t8)               |     t8 = *((t8 + 58));
                                             |     if (t8 <= 0) {
    0x00002614 bgtz t8, 0x2674               |         
    0x00002618 nop                           |         
    0x0000261c lw t8, -0x7f84(gp)            |         t8 = *((gp - 8161));
    0x00002620 lw v0, (t8)                   |         v0 = *(t8);
    0x00002624 lw t8, 0x1cc(fp)              |         t8 = *(arg_1cch);
    0x00002628 lw t8, (t8)                   |         t8 = *(t8);
    0x0000262c lw v1, 0x1cc(fp)              |         v1 = *(arg_1cch);
    0x00002630 lw v1, 0xe8(v1)               |         v1 = *((v1 + 58));
    0x00002634 lw a0, 0x1c8(fp)              |         a0 = *(arg_1c8h);
    0x00002638 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x0000263c sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00002640 move a0, v0                   |         a0 = v0;
    0x00002644 lw v0, -0x7fd4(gp)            |         v0 = *((gp - 8181));
    0x00002648 addiu a1, v0, -0x3394         |         a1 = v0 + -0x3394;
    0x0000264c lw v0, -0x7fd4(gp)            |         v0 = *((gp - 8181));
    0x00002650 addiu a2, v0, -0x3644         |         a2 = v0 + -0x3644;
    0x00002654 move a3, t8                   |         a3 = t8;
    0x00002658 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x0000265c move t9, t8                   |         t9 = t8;
    0x00002660 jalr t9                       |         t9 ();
    0x00002664 nop                           |         
    0x00002668 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0000266c b 0x2b5c                      |         goto label_2;
    0x00002670 nop                           |         
                                             |     }
    0x00002674 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x00002678 lw t8, 0xe4(t8)               |     t8 = *((t8 + 57));
                                             |     if (t8 > 0) {
    0x0000267c blez t8, 0x26a0               |         
    0x00002680 nop                           |         
    0x00002684 lw t8, 0x1cc(fp)              |         t8 = *(arg_1cch);
    0x00002688 lw v0, 0xe4(t8)               |         v0 = *((t8 + 57));
    0x0000268c lw t8, 0x1cc(fp)              |         t8 = *(arg_1cch);
    0x00002690 lw t8, 0xe8(t8)               |         t8 = *((t8 + 58));
    0x00002694 slt t8, v0, t8                |         t8 = (v0 < t8) ? 1 : 0;
                                             |         if (t8 == 0) {
    0x00002698 beqz t8, 0x26f8               |             goto label_4;
                                             |         }
    0x0000269c nop                           |         
                                             |     }
    0x000026a0 lw t8, -0x7f84(gp)            |     t8 = *((gp - 8161));
    0x000026a4 lw v0, (t8)                   |     v0 = *(t8);
    0x000026a8 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000026ac lw t8, (t8)                   |     t8 = *(t8);
    0x000026b0 lw v1, 0x1cc(fp)              |     v1 = *(arg_1cch);
    0x000026b4 lw v1, 0xe4(v1)               |     v1 = *((v1 + 57));
    0x000026b8 lw a0, 0x1c8(fp)              |     a0 = *(arg_1c8h);
    0x000026bc sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x000026c0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000026c4 move a0, v0                   |     a0 = v0;
    0x000026c8 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x000026cc addiu a1, v0, -0x3358         |     a1 = v0 + -0x3358;
    0x000026d0 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x000026d4 addiu a2, v0, -0x3644         |     a2 = v0 + -0x3644;
    0x000026d8 move a3, t8                   |     a3 = t8;
    0x000026dc lw t8, -0x7f28(gp)            |     t8 = *((gp - 8138));
    0x000026e0 move t9, t8                   |     t9 = t8;
    0x000026e4 jalr t9                       |     t9 ();
    0x000026e8 nop                           |     
    0x000026ec lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x000026f0 b 0x2b5c                      |     goto label_2;
    0x000026f4 nop                           |     
                                             | label_4:
    0x000026f8 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000026fc lw t9, 0xdc(t8)               |     t9 = *((t8 + 55));
    0x00002700 lw t8, 0xd8(t8)               |     t8 = *((t8 + 54));
                                             |     if (t9 <= 0) {
    0x00002704 bgtz t9, 0x271c               |         
    0x00002708 nop                           |         
                                             |         if (t9 != 0) {
    0x0000270c bnez t9, 0x2760               |             goto label_5;
                                             |         }
    0x00002710 nop                           |         
                                             |         if (t8 == 0) {
    0x00002714 beqz t8, 0x2760               |             goto label_5;
                                             |         }
    0x00002718 nop                           |         
                                             |     }
    0x0000271c lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x00002720 lw t9, 0xdc(t8)               |     t9 = *((t8 + 55));
    0x00002724 lw t8, 0xd8(t8)               |     t8 = *((t8 + 54));
    0x00002728 lw v0, 0x1cc(fp)              |     v0 = *(arg_1cch);
    0x0000272c lw v0, 0xe4(v0)               |     v0 = *((v0 + 57));
    0x00002730 move s0, v0                   |     s0 = v0;
    0x00002734 sra v0, v0, 0x1f              |     v0 >>= 0x1f;
    0x00002738 move s1, v0                   |     s1 = v0;
    0x0000273c slt v0, t9, s1                |     v0 = (t9 < s1) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00002740 bnez v0, 0x2760               |         
    0x00002744 nop                           |         
    0x00002748 move v0, t9                   |         v0 = t9;
                                             |         if (s1 != v0) {
    0x0000274c bne s1, v0, 0x27d0            |             goto label_6;
                                             |         }
    0x00002750 nop                           |         
    0x00002754 sltu t8, t8, s0               |         t8 = (t8 < s0) ? 1 : 0;
                                             |         if (t8 == 0) {
    0x00002758 beqz t8, 0x27d0               |             goto label_6;
                                             |         }
    0x0000275c nop                           |         
                                             |     }
                                             | label_5:
    0x00002760 lw t8, -0x7f84(gp)            |     t8 = *((gp - 8161));
    0x00002764 lw v0, (t8)                   |     v0 = *(t8);
    0x00002768 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x0000276c lw t8, (t8)                   |     t8 = *(t8);
    0x00002770 lw v1, 0x1cc(fp)              |     v1 = *(arg_1cch);
    0x00002774 lw a0, 0xd8(v1)               |     a0 = *((v1 + 54));
    0x00002778 lw a1, 0xdc(v1)               |     a1 = *((v1 + 55));
    0x0000277c mtlo a0                       |     __asm ("mtlo a0");
    0x00002780 mthi a1                       |     __asm ("mthi a1");
    0x00002784 lw v1, 0x1c8(fp)              |     v1 = *(arg_1c8h);
    0x00002788 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0000278c mflo a0                       |     __asm ("mflo a0");
    0x00002790 mfhi a1                       |     __asm ("mfhi a1");
    0x00002794 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x00002798 sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
    0x0000279c move a0, v0                   |     a0 = v0;
    0x000027a0 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x000027a4 addiu a1, v0, -0x3320         |     a1 = v0 + -0x3320;
    0x000027a8 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x000027ac addiu a2, v0, -0x3644         |     a2 = v0 + -0x3644;
    0x000027b0 move a3, t8                   |     a3 = t8;
    0x000027b4 lw t8, -0x7f28(gp)            |     t8 = *((gp - 8138));
    0x000027b8 move t9, t8                   |     t9 = t8;
    0x000027bc jalr t9                       |     t9 ();
    0x000027c0 nop                           |     
    0x000027c4 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x000027c8 b 0x2b5c                      |     goto label_2;
    0x000027cc nop                           |     
                                             | label_6:
    0x000027d0 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000027d4 lw v0, 0xd8(t8)               |     v0 = *((t8 + 54));
    0x000027d8 lw v1, 0xdc(t8)               |     v1 = *((t8 + 55));
    0x000027dc mtlo v0                       |     __asm ("mtlo v0");
    0x000027e0 mthi v1                       |     __asm ("mthi v1");
    0x000027e4 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x000027e8 lw t8, 0xe4(t8)               |     t8 = *((t8 + 57));
    0x000027ec move s2, t8                   |     s2 = t8;
    0x000027f0 sra t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x000027f4 move s3, t8                   |     s3 = t8;
    0x000027f8 lw t8, -0x7fd0(gp)            |     t8 = *((gp - 8180));
    0x000027fc mflo a0                       |     __asm ("mflo a0");
    0x00002800 mfhi a1                       |     __asm ("mfhi a1");
    0x00002804 move a2, s2                   |     a2 = s2;
    0x00002808 move a3, s3                   |     a3 = s3;
    0x0000280c move t9, t8                   |     t9 = t8;
    0x00002810 jalr t9                       |     t9 ();
    0x00002814 nop                           |     
    0x00002818 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x0000281c mtlo v0                       |     __asm ("mtlo v0");
    0x00002820 mthi v1                       |     __asm ("mthi v1");
    0x00002824 mflo t8                       |     __asm ("mflo t8");
    0x00002828 mfhi t9                       |     __asm ("mfhi t9");
    0x0000282c move v0, t8                   |     v0 = t8;
    0x00002830 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x00002834 sw v0, 0xe0(t8)               |     *((t8 + 224)) = v0;
    0x00002838 lw t8, 0x1cc(fp)              |     t8 = *(arg_1cch);
    0x0000283c lw t8, 0xc(t8)                |     t8 = *((t8 + 3));
    0x00002840 sltiu v0, t8, 9               |     v0 = (t8 < 9) ? 1 : 0;
                                             |     if (v0 != 0) {
    0x00002844 beqz v0, 0x2b58               |         
    0x00002848 nop                           |         
    0x0000284c sll v0, t8, 2                 |         v0 = t8 << 2;
    0x00002850 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00002854 addiu t8, t8, -0x3260         |         t8 += -0x3260;
    0x00002858 addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000285c lw t8, (t8)                   |         t8 = *(t8);
    0x00002860 addu t8, t8, gp               |         t8 += gp;
    0x00002864 jr t8                         |         t8 ();
    0x00002868 nop                           |         
                                             |     }
    0x00002b58 nop                           |     
                                             | label_2:
    0x00002b5c lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00002b60 lw t8, -0x7fb8(gp)            |     t8 = *((gp - 8174));
    0x00002b64 move t9, t8                   |     t9 = t8;
    0x00002b68 jalr t9                       |     t9 ();
    0x00002b6c nop                           |     
    0x00002b70 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00002b74 addiu t8, zero, -1            |     t8 = -1;
                                             | label_1:
    0x00002b78 move v0, t8                   |     v0 = t8;
    0x00002b7c move sp, fp                   |     
    0x00002b80 lw ra, 0x1c4(sp)              |     ra = *(var_1c4h);
    0x00002b84 lw fp, 0x1c0(sp)              |     fp = *(var_1c0h);
    0x00002b88 lw s6, 0x1bc(sp)              |     s6 = *(var_1bch);
    0x00002b8c lw s5, 0x1b8(sp)              |     s5 = *(var_1b8h);
    0x00002b90 lw s4, 0x1b4(sp)              |     s4 = *(var_1b4h);
    0x00002b94 lw s3, 0x1b0(sp)              |     s3 = *(var_1b0h);
    0x00002b98 lw s2, 0x1ac(sp)              |     s2 = *(var_1ach);
    0x00002b9c lw s1, 0x1a8(sp)              |     s1 = *(var_1a8h);
    0x00002ba0 lw s0, 0x1a4(sp)              |     s0 = *(var_1a4h);
    0x00002ba4 addiu sp, sp, 0x1c8           |     
    0x00002ba8 jr ra                         |     return v0;
    0x00002bac nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x2bb0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.legacy_get_dev_info1 ()          | void legacy_get_dev_info1 () {
    0x00002bb0 lui gp, 2                         |     
    0x00002bb4 addiu gp, gp, 0x3030              |     
    0x00002bb8 addu gp, gp, t9                   |     gp += t9;
    0x00002bbc addiu sp, sp, -0x40               |     
    0x00002bc0 sw ra, 0x3c(sp)                   |     *(var_3ch) = ra;
    0x00002bc4 sw fp, 0x38(sp)                   |     *(var_38h) = fp;
    0x00002bc8 move fp, sp                       |     fp = sp;
    0x00002bcc sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00002bd0 sw a0, 0x40(fp)                   |     *(arg_40h) = a0;
    0x00002bd4 sw a1, 0x44(fp)                   |     *(arg_44h) = a1;
    0x00002bd8 addiu t8, fp, 0x18                |     t8 = fp + 0x18;
    0x00002bdc move a0, t8                       |     a0 = t8;
    0x00002be0 lw t8, -0x7fd4(gp)                |     t8 = *((gp - 8181));
    0x00002be4 addiu a1, t8, -0x323c             |     a1 = t8 + -0x323c;
    0x00002be8 lw a2, 0x40(fp)                   |     a2 = *(arg_40h);
    0x00002bec lw t8, -0x7f7c(gp)                |     t8 = *((gp - 8159));
    0x00002bf0 move t9, t8                       |     t9 = t8;
    0x00002bf4 jalr t9                           |     t9 ();
    0x00002bf8 nop                               |     
    0x00002bfc lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00002c00 addiu t8, fp, 0x18                |     t8 = fp + 0x18;
    0x00002c04 move a0, t8                       |     a0 = t8;
    0x00002c08 lw a1, 0x44(fp)                   |     a1 = *(arg_44h);
    0x00002c0c lw t8, -0x7f58(gp)                |     t8 = *((gp - 8150));
    0x00002c10 move t9, t8                       |     t9 = t8;
    0x00002c14 jalr t9                           |     t9 ();
    0x00002c18 nop                               |     
    0x00002c1c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00002c20 move t8, v0                       |     t8 = v0;
    0x00002c24 move v0, t8                       |     v0 = t8;
    0x00002c28 move sp, fp                       |     
    0x00002c2c lw ra, 0x3c(sp)                   |     ra = *(var_3ch);
    0x00002c30 lw fp, 0x38(sp)                   |     fp = *(var_38h);
    0x00002c34 addiu sp, sp, 0x40                |     
    0x00002c38 jr ra                             |     return v0;
    0x00002c3c nop                               |     
                                                 | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x706c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.mtd_erase ()             | void mtd_erase () {
    0x0000706c lui gp, 2                 |     
    0x00007070 addiu gp, gp, -0x148c     |     
    0x00007074 addu gp, gp, t9           |     gp += t9;
    0x00007078 addiu sp, sp, -0x58       |     
    0x0000707c sw ra, 0x54(sp)           |     *(var_54h) = ra;
    0x00007080 sw fp, 0x50(sp)           |     *(var_50h) = fp;
    0x00007084 sw s5, 0x4c(sp)           |     *(var_4ch) = s5;
    0x00007088 sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x0000708c sw s3, 0x44(sp)           |     *(var_44h) = s3;
    0x00007090 sw s2, 0x40(sp)           |     *(var_40h) = s2;
    0x00007094 sw s1, 0x3c(sp)           |     *(var_3ch) = s1;
    0x00007098 sw s0, 0x38(sp)           |     *(var_38h) = s0;
    0x0000709c move fp, sp               |     fp = sp;
    0x000070a0 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000070a4 sw a0, 0x58(fp)           |     *(arg_58h) = a0;
    0x000070a8 sw a1, 0x5c(fp)           |     *(arg_5ch) = a1;
    0x000070ac sw a2, 0x60(fp)           |     *(arg_60h) = a2;
    0x000070b0 sw a3, 0x64(fp)           |     *(arg_64h) = a3;
    0x000070b4 lw t8, 0x58(fp)           |     t8 = *(arg_58h);
    0x000070b8 sw t8, 0x18(fp)           |     *(arg_18h) = t8;
    0x000070bc lw a0, 0x5c(fp)           |     a0 = *(arg_5ch);
    0x000070c0 lw a1, 0x64(fp)           |     a1 = *(arg_64h);
    0x000070c4 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x000070c8 addiu t8, t8, 0x6d68      |     t8 += 0x6d68;
    0x000070cc move t9, t8               |     t9 = t8;
    0x000070d0 jalr t9                   |     t9 ();
    0x000070d4 nop                       |     
    0x000070d8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000070dc sw v0, 0x1c(fp)           |     *(arg_1ch) = v0;
    0x000070e0 lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
                                         |     if (t8 != 0) {
    0x000070e4 beqz t8, 0x70f8           |         
    0x000070e8 nop                       |         
    0x000070ec lw t8, 0x1c(fp)           |         t8 = *(arg_1ch);
    0x000070f0 b 0x7394                  |         goto label_0;
    0x000070f4 nop                       |         
                                         |     }
    0x000070f8 lw t8, 0x64(fp)           |     t8 = *(arg_64h);
    0x000070fc move s2, t8               |     s2 = t8;
    0x00007100 sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x00007104 move s3, t8               |     s3 = t8;
    0x00007108 lw t8, 0x5c(fp)           |     t8 = *(arg_5ch);
    0x0000710c lw t8, 0xe4(t8)           |     t8 = *((t8 + 57));
    0x00007110 move s0, t8               |     s0 = t8;
    0x00007114 sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x00007118 move s1, t8               |     s1 = t8;
    0x0000711c mult s3, s0               |     __asm ("mult s3, s0");
    0x00007120 mflo t8                   |     __asm ("mflo t8");
    0x00007124 mult s1, s2               |     __asm ("mult s1, s2");
    0x00007128 mflo v1                   |     __asm ("mflo v1");
    0x0000712c addu v0, t8, v1           |     v0 = t8 + v1;
    0x00007130 multu s2, s0              |     __asm ("multu s2, s0");
    0x00007134 mflo t8                   |     __asm ("mflo t8");
    0x00007138 mfhi t9                   |     __asm ("mfhi t9");
    0x0000713c addu v0, v0, t9           |     v0 += t9;
    0x00007140 move t9, v0               |     t9 = v0;
    0x00007144 sw t8, 0x20(fp)           |     *(arg_20h) = t8;
    0x00007148 sw t9, 0x24(fp)           |     *(arg_24h) = t9;
    0x0000714c lw t8, 0x5c(fp)           |     t8 = *(arg_5ch);
    0x00007150 lw t8, 0xe4(t8)           |     t8 = *((t8 + 57));
    0x00007154 move s4, t8               |     s4 = t8;
    0x00007158 sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x0000715c move s5, t8               |     s5 = t8;
    0x00007160 sw s4, 0x28(fp)           |     *(arg_28h) = s4;
    0x00007164 sw s5, 0x2c(fp)           |     *(arg_2ch) = s5;
    0x00007168 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x0000716c lw t8, 0x30(t8)           |     t8 = *((t8 + 12));
    0x00007170 andi v0, t8, 6            |     v0 = t8 & 6;
    0x00007174 addiu t8, zero, 4         |     t8 = 4;
                                         |     if (v0 != t8) {
    0x00007178 beq v0, t8, 0x7194        |         
    0x0000717c nop                       |         
    0x00007180 lw t8, 0x18(fp)           |         t8 = *(arg_18h);
    0x00007184 lw t8, 0x30(t8)           |         t8 = *((t8 + 12));
    0x00007188 andi t8, t8, 6            |         t8 &= 6;
                                         |         if (t8 != 0) {
    0x0000718c bnez t8, 0x7260           |             goto label_1;
                                         |         }
    0x00007190 nop                       |         
                                         |     }
    0x00007194 addiu t8, fp, 0x20        |     t8 = fp + 0x20;
    0x00007198 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
    0x0000719c lui v0, 0x8010            |     v0 = 0x80100000;
    0x000071a0 ori a1, v0, 0x4d14        |     a1 = 0x80104d14;
    0x000071a4 move a2, t8               |     a2 = t8;
    0x000071a8 lw t8, -0x7ef0(gp)        |     t8 = *((gp - 8124));
    0x000071ac move t9, t8               |     t9 = t8;
    0x000071b0 jalr t9                   |     t9 ();
    0x000071b4 nop                       |     
    0x000071b8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000071bc sw v0, 0x1c(fp)           |     *(arg_1ch) = v0;
    0x000071c0 lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
                                         |     if (t8 == 0) {
    0x000071c4 bnez t8, 0x71d8           |         
    0x000071c8 nop                       |         
    0x000071cc lw t8, 0x1c(fp)           |         t8 = *(arg_1ch);
    0x000071d0 b 0x7394                  |         goto label_0;
    0x000071d4 nop                       |         
                                         |     }
    0x000071d8 lw t8, -0x7f90(gp)        |     t8 = *((gp - 8164));
    0x000071dc move t9, t8               |     t9 = t8;
    0x000071e0 jalr t9                   |     t9 ();
    0x000071e4 nop                       |     
    0x000071e8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000071ec move t8, v0               |     t8 = v0;
    0x000071f0 lw v0, (t8)               |     v0 = *(t8);
    0x000071f4 addiu t8, zero, 0x19      |     t8 = 0x19;
                                         |     if (v0 == t8) {
    0x000071f8 bne v0, t8, 0x7214        |         
    0x000071fc nop                       |         
    0x00007200 lw t8, 0x18(fp)           |         t8 = *(arg_18h);
    0x00007204 lw t8, 0x30(t8)           |         t8 = *((t8 + 12));
    0x00007208 andi t8, t8, 6            |         t8 &= 6;
                                         |         if (t8 == 0) {
    0x0000720c beqz t8, 0x7248           |             goto label_2;
                                         |         }
    0x00007210 nop                       |         
                                         |     }
    0x00007214 lw a0, 0x5c(fp)           |     a0 = *(arg_5ch);
    0x00007218 lw a1, 0x64(fp)           |     a1 = *(arg_64h);
    0x0000721c lw t8, -0x7fd4(gp)        |     t8 = *((gp - 8181));
    0x00007220 addiu a2, t8, -0x2e04     |     a2 = t8 + -0x2e04;
    0x00007224 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x00007228 addiu t8, t8, 0x6c50      |     t8 += 0x6c50;
    0x0000722c move t9, t8               |     t9 = t8;
    0x00007230 jalr t9                   |     t9 ();
    0x00007234 nop                       |     
    0x00007238 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x0000723c move t8, v0               |     t8 = v0;
    0x00007240 b 0x7394                  |     goto label_0;
    0x00007244 nop                       |     
                                         | label_2:
    0x00007248 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x0000724c lbu v1, 0x30(t8)          |     v1 = *((t8 + 48));
    0x00007250 addiu v0, zero, -7        |     v0 = -7;
    0x00007254 and v0, v1, v0            |     v0 = v1 & v0;
    0x00007258 ori v0, v0, 2             |     v0 |= 2;
    0x0000725c sb v0, 0x30(t8)           |     *((t8 + 48)) = v0;
                                         | label_1:
    0x00007260 lw v0, 0x20(fp)           |     v0 = *(arg_20h);
    0x00007264 lw v1, 0x24(fp)           |     v1 = *(arg_24h);
    0x00007268 lw a0, 0x28(fp)           |     a0 = *(arg_28h);
    0x0000726c lw a1, 0x2c(fp)           |     a1 = *(arg_2ch);
    0x00007270 addu t8, v0, a0           |     t8 = v0 + a0;
    0x00007274 sltu a2, t8, v0           |     a2 = (t8 < v0) ? 1 : 0;
    0x00007278 addu t9, v1, a1           |     t9 = v1 + a1;
    0x0000727c addu v0, a2, t9           |     v0 = a2 + t9;
    0x00007280 move t9, v0               |     t9 = v0;
                                         |     if (t9 != 0) {
    0x00007284 beqz t9, 0x730c           |         
    0x00007288 nop                       |         
    0x0000728c lw t8, -0x7f84(gp)        |         t8 = *((gp - 8161));
    0x00007290 lw v0, (t8)               |         v0 = *(t8);
    0x00007294 lw t8, 0x5c(fp)           |         t8 = *(arg_5ch);
    0x00007298 lw t8, 0xe4(t8)           |         t8 = *((t8 + 57));
    0x0000729c addiu v1, zero, -1        |         v1 = -1;
    0x000072a0 divu zero, v1, t8         |         __asm ("divu zero, v1, t8");
                                         |         if (t8 == 0) {
    0x000072a4 bnez t8, 0x72ac           |             
    0x000072a8 break 7                   |             __asm ("break 7");
                                         |         }
    0x000072ac mfhi t8                   |         __asm ("mfhi t8");
    0x000072b0 mflo t8                   |         __asm ("mflo t8");
    0x000072b4 move a0, v0               |         a0 = v0;
    0x000072b8 lw v0, -0x7fd4(gp)        |         v0 = *((gp - 8181));
    0x000072bc addiu a1, v0, -0x2df8     |         a1 = v0 + -0x2df8;
    0x000072c0 lw v0, -0x7fd4(gp)        |         v0 = *((gp - 8181));
    0x000072c4 addiu a2, v0, -0x3214     |         a2 = v0 + -0x3214;
    0x000072c8 move a3, t8               |         a3 = t8;
    0x000072cc lw t8, -0x7f28(gp)        |         t8 = *((gp - 8138));
    0x000072d0 move t9, t8               |         t9 = t8;
    0x000072d4 jalr t9                   |         t9 ();
    0x000072d8 nop                       |         
    0x000072dc lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x000072e0 lw t8, -0x7f90(gp)        |         t8 = *((gp - 8164));
    0x000072e4 move t9, t8               |         t9 = t8;
    0x000072e8 jalr t9                   |         t9 ();
    0x000072ec nop                       |         
    0x000072f0 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x000072f4 move t8, v0               |         t8 = v0;
    0x000072f8 addiu v0, zero, 0x16      |         v0 = 0x16;
    0x000072fc sw v0, (t8)               |         *(t8) = v0;
    0x00007300 addiu t8, zero, -1        |         t8 = -1;
    0x00007304 b 0x7394                  |         goto label_0;
    0x00007308 nop                       |         
                                         |     }
    0x0000730c lw t8, 0x20(fp)           |     t8 = *(arg_20h);
    0x00007310 lw t9, 0x24(fp)           |     t9 = *(arg_24h);
    0x00007314 sw t8, 0x30(fp)           |     *(arg_30h) = t8;
    0x00007318 lw t8, 0x28(fp)           |     t8 = *(arg_28h);
    0x0000731c lw t9, 0x2c(fp)           |     t9 = *(arg_2ch);
    0x00007320 sw t8, 0x34(fp)           |     *(arg_34h) = t8;
    0x00007324 addiu t8, fp, 0x30        |     t8 = fp + 0x30;
    0x00007328 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
    0x0000732c lui v0, 0x8008            |     v0 = 0x80080000;
    0x00007330 ori a1, v0, 0x4d02        |     a1 = 0x80084d02;
    0x00007334 move a2, t8               |     a2 = t8;
    0x00007338 lw t8, -0x7ef0(gp)        |     t8 = *((gp - 8124));
    0x0000733c move t9, t8               |     t9 = t8;
    0x00007340 jalr t9                   |     t9 ();
    0x00007344 nop                       |     
    0x00007348 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x0000734c sw v0, 0x1c(fp)           |     *(arg_1ch) = v0;
    0x00007350 lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
                                         |     if (t8 < 0) {
    0x00007354 bgez t8, 0x7390           |         
    0x00007358 nop                       |         
    0x0000735c lw a0, 0x5c(fp)           |         a0 = *(arg_5ch);
    0x00007360 lw a1, 0x64(fp)           |         a1 = *(arg_64h);
    0x00007364 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x00007368 addiu a2, t8, -0x2dbc     |         a2 = t8 + -0x2dbc;
    0x0000736c lw t8, -0x7fd8(gp)        |         t8 = *((gp - 8182));
    0x00007370 addiu t8, t8, 0x6c50      |         t8 += 0x6c50;
    0x00007374 move t9, t8               |         t9 = t8;
    0x00007378 jalr t9                   |         t9 ();
    0x0000737c nop                       |         
    0x00007380 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00007384 move t8, v0               |         t8 = v0;
    0x00007388 b 0x7394                  |         goto label_0;
    0x0000738c nop                       |         
                                         |     }
    0x00007390 move t8, zero             |     t8 = 0;
                                         | label_0:
    0x00007394 move v0, t8               |     v0 = t8;
    0x00007398 move sp, fp               |     
    0x0000739c lw ra, 0x54(sp)           |     ra = *(var_54h);
    0x000073a0 lw fp, 0x50(sp)           |     fp = *(var_50h);
    0x000073a4 lw s5, 0x4c(sp)           |     s5 = *(var_4ch);
    0x000073a8 lw s4, 0x48(sp)           |     s4 = *(var_48h);
    0x000073ac lw s3, 0x44(sp)           |     s3 = *(var_44h);
    0x000073b0 lw s2, 0x40(sp)           |     s2 = *(var_40h);
    0x000073b4 lw s1, 0x3c(sp)           |     s1 = *(var_3ch);
    0x000073b8 lw s0, 0x38(sp)           |     s0 = *(var_38h);
    0x000073bc addiu sp, sp, 0x58        |     
    0x000073c0 jr ra                     |     return v0;
    0x000073c4 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0xaa70 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.mtd_erase_node ()            | void mtd_erase_node () {
    0x0000aa70 lui gp, 2                     |     
    0x0000aa74 addiu gp, gp, -0x4e90         |     
    0x0000aa78 addu gp, gp, t9               |     gp += t9;
    0x0000aa7c addiu sp, sp, -0x58           |     
    0x0000aa80 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0000aa84 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x0000aa88 move fp, sp                   |     fp = sp;
    0x0000aa8c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000aa90 sw a0, 0x58(fp)               |     *(arg_58h) = a0;
    0x0000aa94 sw a1, 0x5c(fp)               |     *(arg_5ch) = a1;
    0x0000aa98 lw t8, 0x58(fp)               |     t8 = *(arg_58h);
    0x0000aa9c addiu t8, t8, 0x10            |     t8 += 0x10;
    0x0000aaa0 sw t8, 0x24(fp)               |     *(arg_24h) = t8;
    0x0000aaa4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x0000aaa8 lw t8, 4(t8)                  |     t8 = *((t8 + 1));
    0x0000aaac sw t8, 0x20(fp)               |     *(arg_20h) = t8;
    0x0000aab0 b 0xabbc                      |     goto label_0;
    0x0000aab4 nop                           |     
                                             |     do {
    0x0000aab8 addiu t8, fp, 0x2c            |         t8 = fp + 0x2c;
    0x0000aabc move a0, t8                   |         a0 = t8;
    0x0000aac0 lw a1, 0x20(fp)               |         a1 = *(arg_20h);
    0x0000aac4 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000aac8 addiu t8, t8, -0x5d50         |         t8 += -0x5d50;
    0x0000aacc move t9, t8                   |         t9 = t8;
    0x0000aad0 jalr t9                       |         t9 ();
    0x0000aad4 nop                           |         
    0x0000aad8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000aadc lw t8, 0x58(fp)               |         t8 = *(arg_58h);
    0x0000aae0 lw v0, 0x20(t8)               |         v0 = *((t8 + 8));
    0x0000aae4 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x0000aae8 sll t8, t8, 8                 |         t8 <<= 8;
    0x0000aaec addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000aaf0 sw t8, 0x28(fp)               |         *(arg_28h) = t8;
    0x0000aaf4 addiu t8, fp, 0x2c            |         t8 = fp + 0x2c;
    0x0000aaf8 move a0, t8                   |         a0 = t8;
    0x0000aafc lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000ab00 addiu a1, t8, -0x27d0         |         a1 = t8 + -0x27d0;
    0x0000ab04 lw a2, 0x20(fp)               |         a2 = *(arg_20h);
    0x0000ab08 lw t8, -0x7f7c(gp)            |         t8 = *((gp - 8159));
    0x0000ab0c move t9, t8                   |         t9 = t8;
    0x0000ab10 jalr t9                       |         t9 ();
    0x0000ab14 nop                           |         
    0x0000ab18 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000ab1c addiu t8, fp, 0x2c            |         t8 = fp + 0x2c;
    0x0000ab20 move a0, t8                   |         a0 = t8;
    0x0000ab24 lw a1, 0x5c(fp)               |         a1 = *(arg_5ch);
    0x0000ab28 lw t8, -0x7f78(gp)            |         t8 = *((gp - 8158));
    0x0000ab2c move t9, t8                   |         t9 = t8;
    0x0000ab30 jalr t9                       |         t9 ();
    0x0000ab34 nop                           |         
    0x0000ab38 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000ab3c move t8, v0                   |         t8 = v0;
                                             |         if (t8 == 0) {
    0x0000ab40 bnez t8, 0xabb0               |             
    0x0000ab44 nop                           |             
    0x0000ab48 lw t8, 0x28(fp)               |             t8 = *(arg_28h);
    0x0000ab4c lw v0, 0xd8(t8)               |             v0 = *((t8 + 54));
    0x0000ab50 lw v1, 0xdc(t8)               |             v1 = *((t8 + 55));
    0x0000ab54 mtlo v0                       |             __asm ("mtlo v0");
    0x0000ab58 mthi v1                       |             __asm ("mthi v1");
    0x0000ab5c mflo t8                       |             __asm ("mflo t8");
    0x0000ab60 mfhi t9                       |             __asm ("mfhi t9");
    0x0000ab64 mtlo t8                       |             __asm ("mtlo t8");
    0x0000ab68 mthi t9                       |             __asm ("mthi t9");
    0x0000ab6c addiu t8, fp, 0x2c            |             t8 = fp + 0x2c;
    0x0000ab70 mflo v0                       |             __asm ("mflo v0");
    0x0000ab74 mfhi v1                       |             __asm ("mfhi v1");
    0x0000ab78 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0000ab7c sw v1, 0x14(sp)               |             *(var_14h) = v1;
    0x0000ab80 move a0, t8                   |             a0 = t8;
    0x0000ab84 move a2, zero                 |             a2 = 0;
    0x0000ab88 move a3, zero                 |             a3 = 0;
    0x0000ab8c lw t8, -0x7fd4(gp)            |             t8 = *((gp - 8181));
    0x0000ab90 addiu t8, t8, -0x5724         |             t8 += -0x5724;
    0x0000ab94 move t9, t8                   |             t9 = t8;
    0x0000ab98 jalr t9                       |             t9 ();
    0x0000ab9c nop                           |             
    0x0000aba0 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x0000aba4 move t8, v0                   |             t8 = v0;
    0x0000aba8 b 0xabd8                      |             goto label_1;
    0x0000abac nop                           |             
                                             |         }
    0x0000abb0 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x0000abb4 addiu t8, t8, 1               |         t8++;
    0x0000abb8 sw t8, 0x20(fp)               |         *(arg_20h) = t8;
                                             | label_0:
    0x0000abbc lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x0000abc0 lw v0, 8(t8)                  |         v0 = *((t8 + 2));
    0x0000abc4 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x0000abc8 slt t8, v0, t8                |         t8 = (v0 < t8) ? 1 : 0;
    0x0000abcc beqz t8, 0xaab8               |         
                                             |     } while (t8 == 0);
    0x0000abd0 nop                           |     
    0x0000abd4 move t8, zero                 |     t8 = 0;
                                             | label_1:
    0x0000abd8 move v0, t8                   |     v0 = t8;
    0x0000abdc move sp, fp                   |     
    0x0000abe0 lw ra, 0x54(sp)               |     ra = *(var_54h);
    0x0000abe4 lw fp, 0x50(sp)               |     fp = *(var_50h);
    0x0000abe8 addiu sp, sp, 0x58            |     
    0x0000abec jr ra                         |     return v0;
    0x0000abf0 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0xaa70 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.mtd_erase_node ()            | void mtd_erase_node () {
    0x0000aa70 lui gp, 2                     |     
    0x0000aa74 addiu gp, gp, -0x4e90         |     
    0x0000aa78 addu gp, gp, t9               |     gp += t9;
    0x0000aa7c addiu sp, sp, -0x58           |     
    0x0000aa80 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0000aa84 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x0000aa88 move fp, sp                   |     fp = sp;
    0x0000aa8c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000aa90 sw a0, 0x58(fp)               |     *(arg_58h) = a0;
    0x0000aa94 sw a1, 0x5c(fp)               |     *(arg_5ch) = a1;
    0x0000aa98 lw t8, 0x58(fp)               |     t8 = *(arg_58h);
    0x0000aa9c addiu t8, t8, 0x10            |     t8 += 0x10;
    0x0000aaa0 sw t8, 0x24(fp)               |     *(arg_24h) = t8;
    0x0000aaa4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x0000aaa8 lw t8, 4(t8)                  |     t8 = *((t8 + 1));
    0x0000aaac sw t8, 0x20(fp)               |     *(arg_20h) = t8;
    0x0000aab0 b 0xabbc                      |     goto label_0;
    0x0000aab4 nop                           |     
                                             |     do {
    0x0000aab8 addiu t8, fp, 0x2c            |         t8 = fp + 0x2c;
    0x0000aabc move a0, t8                   |         a0 = t8;
    0x0000aac0 lw a1, 0x20(fp)               |         a1 = *(arg_20h);
    0x0000aac4 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000aac8 addiu t8, t8, -0x5d50         |         t8 += -0x5d50;
    0x0000aacc move t9, t8                   |         t9 = t8;
    0x0000aad0 jalr t9                       |         t9 ();
    0x0000aad4 nop                           |         
    0x0000aad8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000aadc lw t8, 0x58(fp)               |         t8 = *(arg_58h);
    0x0000aae0 lw v0, 0x20(t8)               |         v0 = *((t8 + 8));
    0x0000aae4 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x0000aae8 sll t8, t8, 8                 |         t8 <<= 8;
    0x0000aaec addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000aaf0 sw t8, 0x28(fp)               |         *(arg_28h) = t8;
    0x0000aaf4 addiu t8, fp, 0x2c            |         t8 = fp + 0x2c;
    0x0000aaf8 move a0, t8                   |         a0 = t8;
    0x0000aafc lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000ab00 addiu a1, t8, -0x27d0         |         a1 = t8 + -0x27d0;
    0x0000ab04 lw a2, 0x20(fp)               |         a2 = *(arg_20h);
    0x0000ab08 lw t8, -0x7f7c(gp)            |         t8 = *((gp - 8159));
    0x0000ab0c move t9, t8                   |         t9 = t8;
    0x0000ab10 jalr t9                       |         t9 ();
    0x0000ab14 nop                           |         
    0x0000ab18 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000ab1c addiu t8, fp, 0x2c            |         t8 = fp + 0x2c;
    0x0000ab20 move a0, t8                   |         a0 = t8;
    0x0000ab24 lw a1, 0x5c(fp)               |         a1 = *(arg_5ch);
    0x0000ab28 lw t8, -0x7f78(gp)            |         t8 = *((gp - 8158));
    0x0000ab2c move t9, t8                   |         t9 = t8;
    0x0000ab30 jalr t9                       |         t9 ();
    0x0000ab34 nop                           |         
    0x0000ab38 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000ab3c move t8, v0                   |         t8 = v0;
                                             |         if (t8 == 0) {
    0x0000ab40 bnez t8, 0xabb0               |             
    0x0000ab44 nop                           |             
    0x0000ab48 lw t8, 0x28(fp)               |             t8 = *(arg_28h);
    0x0000ab4c lw v0, 0xd8(t8)               |             v0 = *((t8 + 54));
    0x0000ab50 lw v1, 0xdc(t8)               |             v1 = *((t8 + 55));
    0x0000ab54 mtlo v0                       |             __asm ("mtlo v0");
    0x0000ab58 mthi v1                       |             __asm ("mthi v1");
    0x0000ab5c mflo t8                       |             __asm ("mflo t8");
    0x0000ab60 mfhi t9                       |             __asm ("mfhi t9");
    0x0000ab64 mtlo t8                       |             __asm ("mtlo t8");
    0x0000ab68 mthi t9                       |             __asm ("mthi t9");
    0x0000ab6c addiu t8, fp, 0x2c            |             t8 = fp + 0x2c;
    0x0000ab70 mflo v0                       |             __asm ("mflo v0");
    0x0000ab74 mfhi v1                       |             __asm ("mfhi v1");
    0x0000ab78 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0000ab7c sw v1, 0x14(sp)               |             *(var_14h) = v1;
    0x0000ab80 move a0, t8                   |             a0 = t8;
    0x0000ab84 move a2, zero                 |             a2 = 0;
    0x0000ab88 move a3, zero                 |             a3 = 0;
    0x0000ab8c lw t8, -0x7fd4(gp)            |             t8 = *((gp - 8181));
    0x0000ab90 addiu t8, t8, -0x5724         |             t8 += -0x5724;
    0x0000ab94 move t9, t8                   |             t9 = t8;
    0x0000ab98 jalr t9                       |             t9 ();
    0x0000ab9c nop                           |             
    0x0000aba0 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x0000aba4 move t8, v0                   |             t8 = v0;
    0x0000aba8 b 0xabd8                      |             goto label_1;
    0x0000abac nop                           |             
                                             |         }
    0x0000abb0 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x0000abb4 addiu t8, t8, 1               |         t8++;
    0x0000abb8 sw t8, 0x20(fp)               |         *(arg_20h) = t8;
                                             | label_0:
    0x0000abbc lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x0000abc0 lw v0, 8(t8)                  |         v0 = *((t8 + 2));
    0x0000abc4 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x0000abc8 slt t8, v0, t8                |         t8 = (v0 < t8) ? 1 : 0;
    0x0000abcc beqz t8, 0xaab8               |         
                                             |     } while (t8 == 0);
    0x0000abd0 nop                           |     
    0x0000abd4 move t8, zero                 |     t8 = 0;
                                             | label_1:
    0x0000abd8 move v0, t8                   |     v0 = t8;
    0x0000abdc move sp, fp                   |     
    0x0000abe0 lw ra, 0x54(sp)               |     ra = *(var_54h);
    0x0000abe4 lw fp, 0x50(sp)               |     fp = *(var_50h);
    0x0000abe8 addiu sp, sp, 0x58            |     
    0x0000abec jr ra                         |     return v0;
    0x0000abf0 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x65d4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.mtd_get_dev_info1 ()     | void mtd_get_dev_info1 () {
    0x000065d4 lui gp, 2                 |     
    0x000065d8 addiu gp, gp, -0x9f4      |     
    0x000065dc addu gp, gp, t9           |     gp += t9;
    0x000065e0 addiu sp, sp, -0x30       |     
    0x000065e4 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x000065e8 sw fp, 0x28(sp)           |     *(var_28h) = fp;
    0x000065ec sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x000065f0 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x000065f4 move fp, sp               |     fp = sp;
    0x000065f8 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000065fc sw a0, 0x30(fp)           |     *(arg_30h) = a0;
    0x00006600 sw a1, 0x34(fp)           |     *(arg_34h) = a1;
    0x00006604 sw a2, 0x38(fp)           |     *(arg_38h) = a2;
    0x00006608 lw t8, 0x30(fp)           |     t8 = *(arg_30h);
    0x0000660c sw t8, 0x18(fp)           |     *(arg_18h) = t8;
    0x00006610 lw a0, 0x38(fp)           |     a0 = *(arg_38h);
    0x00006614 move a1, zero             |     a1 = 0;
    0x00006618 addiu a2, zero, 0x100     |     a2 = 0x100;
    0x0000661c lw t8, -0x7f68(gp)        |     t8 = *((gp - 8154));
    0x00006620 move t9, t8               |     t9 = t8;
    0x00006624 jalr t9                   |     t9 ();
    0x00006628 nop                       |     
    0x0000662c lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006630 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006634 lw v0, 0x34(fp)           |     v0 = *(arg_34h);
    0x00006638 sw v0, (t8)               |     *(t8) = v0;
    0x0000663c lw a0, 0x30(fp)           |     a0 = *(arg_30h);
    0x00006640 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x00006644 lw t8, -0x7f40(gp)        |     t8 = *((gp - 8144));
    0x00006648 move t9, t8               |     t9 = t8;
    0x0000664c jalr t9                   |     t9 ();
    0x00006650 nop                       |     
    0x00006654 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006658 move t8, v0               |     t8 = v0;
                                         |     if (t8 == 0) {
    0x0000665c bnez t8, 0x6690           |         
    0x00006660 nop                       |         
    0x00006664 lw t8, -0x7f90(gp)        |         t8 = *((gp - 8164));
    0x00006668 move t9, t8               |         t9 = t8;
    0x0000666c jalr t9                   |         t9 ();
    0x00006670 nop                       |         
    0x00006674 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00006678 move t8, v0               |         t8 = v0;
    0x0000667c addiu v0, zero, 0x13      |         v0 = 0x13;
    0x00006680 sw v0, (t8)               |         *(t8) = v0;
    0x00006684 addiu t8, zero, -1        |         t8 = -1;
    0x00006688 b 0x6b38                  |         goto label_0;
    0x0000668c nop                       |         
                                         |     }
    0x00006690 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x00006694 lw t8, 0x30(t8)           |     t8 = *((t8 + 12));
    0x00006698 andi t8, t8, 1            |     t8 &= 1;
                                         |     if (t8 == 0) {
    0x0000669c bnez t8, 0x66cc           |         
    0x000066a0 nop                       |         
    0x000066a4 lw a0, 0x34(fp)           |         a0 = *(arg_34h);
    0x000066a8 lw a1, 0x38(fp)           |         a1 = *(arg_38h);
    0x000066ac lw t8, -0x7fac(gp)        |         t8 = *((gp - 8171));
    0x000066b0 move t9, t8               |         t9 = t8;
    0x000066b4 jalr t9                   |         t9 ();
    0x000066b8 nop                       |         
    0x000066bc lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x000066c0 move t8, v0               |         t8 = v0;
    0x000066c4 b 0x6b38                  |         goto label_0;
    0x000066c8 nop                       |         
                                         |     }
    0x000066cc lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x000066d0 addiu v0, t8, 4           |     v0 = t8 + 4;
    0x000066d4 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x000066d8 addiu t8, t8, 8           |     t8 += 8;
    0x000066dc lw a0, 0x18(fp)           |     a0 = *(arg_18h);
    0x000066e0 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x000066e4 move a2, v0               |     a2 = v0;
    0x000066e8 move a3, t8               |     a3 = t8;
    0x000066ec lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x000066f0 addiu t8, t8, 0x3a18      |     t8 += 0x3a18;
    0x000066f4 move t9, t8               |     t9 = t8;
    0x000066f8 jalr t9                   |     t9 ();
    0x000066fc nop                       |     
    0x00006700 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006704 move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x00006708 beqz t8, 0x671c           |         
    0x0000670c nop                       |         
    0x00006710 addiu t8, zero, -1        |         t8 = -1;
    0x00006714 b 0x6b38                  |         goto label_0;
    0x00006718 nop                       |         
                                         |     }
    0x0000671c lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x00006720 lw v0, 0xc(t8)            |     v0 = *((t8 + 3));
    0x00006724 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006728 addiu t8, t8, 0x51        |     t8 += 0x51;
    0x0000672c move a0, v0               |     a0 = v0;
    0x00006730 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x00006734 move a2, t8               |     a2 = t8;
    0x00006738 addiu a3, zero, 0x80      |     a3 = 0x80;
    0x0000673c lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x00006740 addiu t8, t8, 0x3b88      |     t8 += 0x3b88;
    0x00006744 move t9, t8               |     t9 = t8;
    0x00006748 jalr t9                   |     t9 ();
    0x0000674c nop                       |     
    0x00006750 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006754 move t8, v0               |     t8 = v0;
    0x00006758 sw t8, 0x1c(fp)           |     *(arg_1ch) = t8;
    0x0000675c lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
                                         |     if (t8 < 0) {
    0x00006760 bgez t8, 0x6774           |         
    0x00006764 nop                       |         
    0x00006768 addiu t8, zero, -1        |         t8 = -1;
    0x0000676c b 0x6b38                  |         goto label_0;
    0x00006770 nop                       |         
                                         |     }
    0x00006774 lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
    0x00006778 addiu t8, t8, -1          |     t8 += -1;
    0x0000677c addiu t8, t8, 0x50        |     t8 += 0x50;
    0x00006780 lw v0, 0x38(fp)           |     v0 = *(arg_38h);
    0x00006784 addu t8, v0, t8           |     t8 = v0 + t8;
    0x00006788 addiu t8, t8, 1           |     t8++;
    0x0000678c sb zero, (t8)             |     *(t8) = 0;
    0x00006790 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x00006794 lw v0, 0x10(t8)           |     v0 = *((t8 + 4));
    0x00006798 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x0000679c addiu t8, t8, 0x10        |     t8 += 0x10;
    0x000067a0 move a0, v0               |     a0 = v0;
    0x000067a4 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x000067a8 move a2, t8               |     a2 = t8;
    0x000067ac addiu a3, zero, 0x41      |     a3 = 0x41;
    0x000067b0 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x000067b4 addiu t8, t8, 0x3b88      |     t8 += 0x3b88;
    0x000067b8 move t9, t8               |     t9 = t8;
    0x000067bc jalr t9                   |     t9 ();
    0x000067c0 nop                       |     
    0x000067c4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000067c8 move t8, v0               |     t8 = v0;
    0x000067cc sw t8, 0x1c(fp)           |     *(arg_1ch) = t8;
    0x000067d0 lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
                                         |     if (t8 < 0) {
    0x000067d4 bgez t8, 0x67e8           |         
    0x000067d8 nop                       |         
    0x000067dc addiu t8, zero, -1        |         t8 = -1;
    0x000067e0 b 0x6b38                  |         goto label_0;
    0x000067e4 nop                       |         
                                         |     }
    0x000067e8 lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
    0x000067ec addiu t8, t8, -1          |     t8 += -1;
    0x000067f0 addiu t8, t8, 0x10        |     t8 += 0x10;
    0x000067f4 lw v0, 0x38(fp)           |     v0 = *(arg_38h);
    0x000067f8 addu t8, v0, t8           |     t8 = v0 + t8;
    0x000067fc sb zero, (t8)             |     *(t8) = 0;
    0x00006800 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x00006804 lw v0, 0x14(t8)           |     v0 = *((t8 + 5));
    0x00006808 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x0000680c addiu t8, t8, 0xe4        |     t8 += 0xe4;
    0x00006810 move a0, v0               |     a0 = v0;
    0x00006814 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x00006818 move a2, t8               |     a2 = t8;
    0x0000681c lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x00006820 addiu t8, t8, 0x4930      |     t8 += 0x4930;
    0x00006824 move t9, t8               |     t9 = t8;
    0x00006828 jalr t9                   |     t9 ();
    0x0000682c nop                       |     
    0x00006830 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006834 move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x00006838 beqz t8, 0x684c           |         
    0x0000683c nop                       |         
    0x00006840 addiu t8, zero, -1        |         t8 = -1;
    0x00006844 b 0x6b38                  |         goto label_0;
    0x00006848 nop                       |         
                                         |     }
    0x0000684c lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x00006850 lw v0, 0x18(t8)           |     v0 = *((t8 + 6));
    0x00006854 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006858 addiu t8, t8, 0xd8        |     t8 += 0xd8;
    0x0000685c move a0, v0               |     a0 = v0;
    0x00006860 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x00006864 move a2, t8               |     a2 = t8;
    0x00006868 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x0000686c addiu t8, t8, 0x4a88      |     t8 += 0x4a88;
    0x00006870 move t9, t8               |     t9 = t8;
    0x00006874 jalr t9                   |     t9 ();
    0x00006878 nop                       |     
    0x0000687c lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006880 move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x00006884 beqz t8, 0x6898           |         
    0x00006888 nop                       |         
    0x0000688c addiu t8, zero, -1        |         t8 = -1;
    0x00006890 b 0x6b38                  |         goto label_0;
    0x00006894 nop                       |         
                                         |     }
    0x00006898 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x0000689c lw v0, 0x1c(t8)           |     v0 = *((t8 + 7));
    0x000068a0 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x000068a4 addiu t8, t8, 0xe8        |     t8 += 0xe8;
    0x000068a8 move a0, v0               |     a0 = v0;
    0x000068ac lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x000068b0 move a2, t8               |     a2 = t8;
    0x000068b4 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x000068b8 addiu t8, t8, 0x4930      |     t8 += 0x4930;
    0x000068bc move t9, t8               |     t9 = t8;
    0x000068c0 jalr t9                   |     t9 ();
    0x000068c4 nop                       |     
    0x000068c8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000068cc move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x000068d0 beqz t8, 0x68e4           |         
    0x000068d4 nop                       |         
    0x000068d8 addiu t8, zero, -1        |         t8 = -1;
    0x000068dc b 0x6b38                  |         goto label_0;
    0x000068e0 nop                       |         
                                         |     }
    0x000068e4 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x000068e8 lw v0, 0x20(t8)           |     v0 = *((t8 + 8));
    0x000068ec lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x000068f0 addiu t8, t8, 0xec        |     t8 += 0xec;
    0x000068f4 move a0, v0               |     a0 = v0;
    0x000068f8 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x000068fc move a2, t8               |     a2 = t8;
    0x00006900 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x00006904 addiu t8, t8, 0x4930      |     t8 += 0x4930;
    0x00006908 move t9, t8               |     t9 = t8;
    0x0000690c jalr t9                   |     t9 ();
    0x00006910 nop                       |     
    0x00006914 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006918 move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x0000691c beqz t8, 0x6930           |         
    0x00006920 nop                       |         
    0x00006924 addiu t8, zero, -1        |         t8 = -1;
    0x00006928 b 0x6b38                  |         goto label_0;
    0x0000692c nop                       |         
                                         |     }
    0x00006930 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x00006934 lw v0, 0x24(t8)           |     v0 = *((t8 + 9));
    0x00006938 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x0000693c addiu t8, t8, 0xf0        |     t8 += 0xf0;
    0x00006940 move a0, v0               |     a0 = v0;
    0x00006944 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x00006948 move a2, t8               |     a2 = t8;
    0x0000694c lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x00006950 addiu t8, t8, 0x4930      |     t8 += 0x4930;
    0x00006954 move t9, t8               |     t9 = t8;
    0x00006958 jalr t9                   |     t9 ();
    0x0000695c nop                       |     
    0x00006960 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006964 move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x00006968 beqz t8, 0x697c           |         
    0x0000696c nop                       |         
    0x00006970 addiu t8, zero, -1        |         t8 = -1;
    0x00006974 b 0x6b38                  |         goto label_0;
    0x00006978 nop                       |         
                                         |     }
    0x0000697c lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x00006980 lw v0, 0x28(t8)           |     v0 = *((t8 + 10));
    0x00006984 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006988 addiu t8, t8, 0xf4        |     t8 += 0xf4;
    0x0000698c move a0, v0               |     a0 = v0;
    0x00006990 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x00006994 move a2, t8               |     a2 = t8;
    0x00006998 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x0000699c addiu t8, t8, 0x4930      |     t8 += 0x4930;
    0x000069a0 move t9, t8               |     t9 = t8;
    0x000069a4 jalr t9                   |     t9 ();
    0x000069a8 nop                       |     
    0x000069ac lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000069b0 move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x000069b4 beqz t8, 0x69c8           |         
    0x000069b8 nop                       |         
    0x000069bc addiu t8, zero, -1        |         t8 = -1;
    0x000069c0 b 0x6b38                  |         goto label_0;
    0x000069c4 nop                       |         
                                         |     }
    0x000069c8 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
    0x000069cc lw v0, 0x2c(t8)           |     v0 = *((t8 + 11));
    0x000069d0 addiu t8, fp, 0x1c        |     t8 = fp + 0x1c;
    0x000069d4 move a0, v0               |     a0 = v0;
    0x000069d8 lw a1, 0x34(fp)           |     a1 = *(arg_34h);
    0x000069dc move a2, t8               |     a2 = t8;
    0x000069e0 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x000069e4 addiu t8, t8, 0x47d8      |     t8 += 0x47d8;
    0x000069e8 move t9, t8               |     t9 = t8;
    0x000069ec jalr t9                   |     t9 ();
    0x000069f0 nop                       |     
    0x000069f4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000069f8 move t8, v0               |     t8 = v0;
                                         |     if (t8 != 0) {
    0x000069fc beqz t8, 0x6a10           |         
    0x00006a00 nop                       |         
    0x00006a04 addiu t8, zero, -1        |         t8 = -1;
    0x00006a08 b 0x6b38                  |         goto label_0;
    0x00006a0c nop                       |         
                                         |     }
    0x00006a10 lw t8, 0x1c(fp)           |     t8 = *(arg_1ch);
    0x00006a14 andi t8, t8, 0x400        |     t8 &= 0x400;
    0x00006a18 sltu t8, zero, t8         |     t8 = (0 < t8) ? 1 : 0;
    0x00006a1c andi v0, t8, 0xff         |     v0 = t8 & 0xff;
    0x00006a20 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006a24 andi v0, v0, 1            |     v0 &= 1;
    0x00006a28 lbu a0, 0xf8(t8)          |     a0 = *((t8 + 248));
    0x00006a2c addiu v1, zero, -2        |     v1 = -2;
    0x00006a30 and v1, a0, v1            |     v1 = a0 & v1;
    0x00006a34 or v0, v1, v0             |     v0 = v1 | v0;
    0x00006a38 sb v0, 0xf8(t8)           |     *((t8 + 248)) = v0;
    0x00006a3c lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006a40 lw v0, 0xd8(t8)           |     v0 = *((t8 + 54));
    0x00006a44 lw v1, 0xdc(t8)           |     v1 = *((t8 + 55));
    0x00006a48 mtlo v0                   |     __asm ("mtlo v0");
    0x00006a4c mthi v1                   |     __asm ("mthi v1");
    0x00006a50 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006a54 lw t8, 0xe4(t8)           |     t8 = *((t8 + 57));
    0x00006a58 move s0, t8               |     s0 = t8;
    0x00006a5c sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x00006a60 move s1, t8               |     s1 = t8;
    0x00006a64 lw t8, -0x7fd0(gp)        |     t8 = *((gp - 8180));
    0x00006a68 mflo a0                   |     __asm ("mflo a0");
    0x00006a6c mfhi a1                   |     __asm ("mfhi a1");
    0x00006a70 move a2, s0               |     a2 = s0;
    0x00006a74 move a3, s1               |     a3 = s1;
    0x00006a78 move t9, t8               |     t9 = t8;
    0x00006a7c jalr t9                   |     t9 ();
    0x00006a80 nop                       |     
    0x00006a84 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006a88 mtlo v0                   |     __asm ("mtlo v0");
    0x00006a8c mthi v1                   |     __asm ("mthi v1");
    0x00006a90 mflo t8                   |     __asm ("mflo t8");
    0x00006a94 mfhi t9                   |     __asm ("mfhi t9");
    0x00006a98 move v0, t8               |     v0 = t8;
    0x00006a9c lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006aa0 sw v0, 0xe0(t8)           |     *((t8 + 224)) = v0;
    0x00006aa4 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006aa8 addiu t8, t8, 0x10        |     t8 += 0x10;
    0x00006aac move a0, t8               |     a0 = t8;
    0x00006ab0 lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x00006ab4 addiu t8, t8, 0x4be0      |     t8 += 0x4be0;
    0x00006ab8 move t9, t8               |     t9 = t8;
    0x00006abc jalr t9                   |     t9 ();
    0x00006ac0 nop                       |     
    0x00006ac4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00006ac8 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006acc sw v0, 0xc(t8)            |     *((t8 + 12)) = v0;
    0x00006ad0 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006ad4 lw v0, 0xc(t8)            |     v0 = *((t8 + 3));
    0x00006ad8 addiu t8, zero, 4         |     t8 = 4;
                                         |     if (v0 != t8) {
    0x00006adc beq v0, t8, 0x6af8        |         
    0x00006ae0 nop                       |         
    0x00006ae4 lw t8, 0x38(fp)           |         t8 = *(arg_38h);
    0x00006ae8 lw v0, 0xc(t8)            |         v0 = *((t8 + 3));
    0x00006aec addiu t8, zero, 8         |         t8 = 8;
                                         |         if (v0 != t8) {
    0x00006af0 bne v0, t8, 0x6b04        |             goto label_1;
                                         |         }
    0x00006af4 nop                       |         
                                         |     }
    0x00006af8 addiu t8, zero, 1         |     t8 = 1;
    0x00006afc b 0x6b08                  |     goto label_2;
    0x00006b00 nop                       |     
                                         | label_1:
    0x00006b04 move t8, zero             |     t8 = 0;
                                         | label_2:
    0x00006b08 andi t8, t8, 0xff         |     t8 &= 0xff;
    0x00006b0c andi t8, t8, 1            |     t8 &= 1;
    0x00006b10 andi v0, t8, 0xff         |     v0 = t8 & 0xff;
    0x00006b14 lw t8, 0x38(fp)           |     t8 = *(arg_38h);
    0x00006b18 andi v0, v0, 1            |     v0 &= 1;
    0x00006b1c sll v0, v0, 1             |     v0 <<= 1;
    0x00006b20 lbu a0, 0xf8(t8)          |     a0 = *((t8 + 248));
    0x00006b24 addiu v1, zero, -3        |     v1 = -3;
    0x00006b28 and v1, a0, v1            |     v1 = a0 & v1;
    0x00006b2c or v0, v1, v0             |     v0 = v1 | v0;
    0x00006b30 sb v0, 0xf8(t8)           |     *((t8 + 248)) = v0;
    0x00006b34 move t8, zero             |     t8 = 0;
                                         | label_0:
    0x00006b38 move v0, t8               |     v0 = t8;
    0x00006b3c move sp, fp               |     
    0x00006b40 lw ra, 0x2c(sp)           |     ra = *(var_2ch);
    0x00006b44 lw fp, 0x28(sp)           |     fp = *(var_28h);
    0x00006b48 lw s1, 0x24(sp)           |     s1 = *(var_24h);
    0x00006b4c lw s0, 0x20(sp)           |     s0 = *(var_20h);
    0x00006b50 addiu sp, sp, 0x30        |     
    0x00006b54 jr ra                     |     return v0;
    0x00006b58 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x7b6c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.mtd_is_bad ()                | void mtd_is_bad () {
    0x00007b6c lui gp, 2                     |     
    0x00007b70 addiu gp, gp, -0x1f8c         |     
    0x00007b74 addu gp, gp, t9               |     gp += t9;
    0x00007b78 addiu sp, sp, -0x40           |     
    0x00007b7c sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00007b80 sw fp, 0x38(sp)               |     *(var_38h) = fp;
    0x00007b84 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x00007b88 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x00007b8c sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x00007b90 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x00007b94 move fp, sp                   |     fp = sp;
    0x00007b98 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00007b9c sw a0, 0x40(fp)               |     *(arg_40h) = a0;
    0x00007ba0 sw a1, 0x44(fp)               |     *(arg_44h) = a1;
    0x00007ba4 sw a2, 0x48(fp)               |     *(arg_48h) = a2;
    0x00007ba8 lw a0, 0x40(fp)               |     a0 = *(arg_40h);
    0x00007bac lw a1, 0x48(fp)               |     a1 = *(arg_48h);
    0x00007bb0 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00007bb4 addiu t8, t8, 0x6d68          |     t8 += 0x6d68;
    0x00007bb8 move t9, t8                   |     t9 = t8;
    0x00007bbc jalr t9                       |     t9 ();
    0x00007bc0 nop                           |     
    0x00007bc4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00007bc8 sw v0, 0x18(fp)               |     *(arg_18h) = v0;
    0x00007bcc lw t8, 0x18(fp)               |     t8 = *(arg_18h);
                                             |     if (t8 != 0) {
    0x00007bd0 beqz t8, 0x7be4               |         
    0x00007bd4 nop                           |         
    0x00007bd8 lw t8, 0x18(fp)               |         t8 = *(arg_18h);
    0x00007bdc b 0x7ccc                      |         goto label_0;
    0x00007be0 nop                           |         
                                             |     }
    0x00007be4 lw t8, 0x40(fp)               |     t8 = *(arg_40h);
    0x00007be8 lw t8, 0xf8(t8)               |     t8 = *((t8 + 62));
    0x00007bec andi t8, t8, 2                |     t8 &= 2;
                                             |     if (t8 == 0) {
    0x00007bf0 bnez t8, 0x7c04               |         
    0x00007bf4 nop                           |         
    0x00007bf8 move t8, zero                 |         t8 = 0;
    0x00007bfc b 0x7ccc                      |         goto label_0;
    0x00007c00 nop                           |         
                                             |     }
    0x00007c04 lw t8, 0x48(fp)               |     t8 = *(arg_48h);
    0x00007c08 move s2, t8                   |     s2 = t8;
    0x00007c0c sra t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x00007c10 move s3, t8                   |     s3 = t8;
    0x00007c14 lw t8, 0x40(fp)               |     t8 = *(arg_40h);
    0x00007c18 lw t8, 0xe4(t8)               |     t8 = *((t8 + 57));
    0x00007c1c move s0, t8                   |     s0 = t8;
    0x00007c20 sra t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x00007c24 move s1, t8                   |     s1 = t8;
    0x00007c28 mult s3, s0                   |     __asm ("mult s3, s0");
    0x00007c2c mflo t8                       |     __asm ("mflo t8");
    0x00007c30 mult s1, s2                   |     __asm ("mult s1, s2");
    0x00007c34 mflo v1                       |     __asm ("mflo v1");
    0x00007c38 addu v0, t8, v1               |     v0 = t8 + v1;
    0x00007c3c multu s2, s0                  |     __asm ("multu s2, s0");
    0x00007c40 mflo t8                       |     __asm ("mflo t8");
    0x00007c44 mfhi t9                       |     __asm ("mfhi t9");
    0x00007c48 addu v0, v0, t9               |     v0 += t9;
    0x00007c4c move t9, v0                   |     t9 = v0;
    0x00007c50 sw t8, 0x20(fp)               |     *(arg_20h) = t8;
    0x00007c54 sw t9, 0x24(fp)               |     *(arg_24h) = t9;
    0x00007c58 addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x00007c5c lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x00007c60 lui v0, 0x8008                |     v0 = 0x80080000;
    0x00007c64 ori a1, v0, 0x4d0b            |     a1 = 0x80084d0b;
    0x00007c68 move a2, t8                   |     a2 = t8;
    0x00007c6c lw t8, -0x7ef0(gp)            |     t8 = *((gp - 8124));
    0x00007c70 move t9, t8                   |     t9 = t8;
    0x00007c74 jalr t9                       |     t9 ();
    0x00007c78 nop                           |     
    0x00007c7c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00007c80 sw v0, 0x18(fp)               |     *(arg_18h) = v0;
    0x00007c84 lw v0, 0x18(fp)               |     v0 = *(arg_18h);
    0x00007c88 addiu t8, zero, -1            |     t8 = -1;
                                             |     if (v0 == t8) {
    0x00007c8c bne v0, t8, 0x7cc8            |         
    0x00007c90 nop                           |         
    0x00007c94 lw a0, 0x40(fp)               |         a0 = *(arg_40h);
    0x00007c98 lw a1, 0x48(fp)               |         a1 = *(arg_48h);
    0x00007c9c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00007ca0 addiu a2, t8, -0x2c94         |         a2 = t8 + -0x2c94;
    0x00007ca4 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00007ca8 addiu t8, t8, 0x6c50          |         t8 += 0x6c50;
    0x00007cac move t9, t8                   |         t9 = t8;
    0x00007cb0 jalr t9                       |         t9 ();
    0x00007cb4 nop                           |         
    0x00007cb8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00007cbc move t8, v0                   |         t8 = v0;
    0x00007cc0 b 0x7ccc                      |         goto label_0;
    0x00007cc4 nop                           |         
                                             |     }
    0x00007cc8 lw t8, 0x18(fp)               |     t8 = *(arg_18h);
                                             | label_0:
    0x00007ccc move v0, t8                   |     v0 = t8;
    0x00007cd0 move sp, fp                   |     
    0x00007cd4 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x00007cd8 lw fp, 0x38(sp)               |     fp = *(var_38h);
    0x00007cdc lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x00007ce0 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x00007ce4 lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x00007ce8 lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x00007cec addiu sp, sp, 0x40            |     
    0x00007cf0 jr ra                         |     return v0;
    0x00007cf4 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x7cf8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.mtd_mark_bad ()          | void mtd_mark_bad () {
    0x00007cf8 lui gp, 2                 |     
    0x00007cfc addiu gp, gp, -0x2118     |     
    0x00007d00 addu gp, gp, t9           |     gp += t9;
    0x00007d04 addiu sp, sp, -0x40       |     
    0x00007d08 sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00007d0c sw fp, 0x38(sp)           |     *(var_38h) = fp;
    0x00007d10 sw s3, 0x34(sp)           |     *(var_34h) = s3;
    0x00007d14 sw s2, 0x30(sp)           |     *(var_30h) = s2;
    0x00007d18 sw s1, 0x2c(sp)           |     *(var_2ch) = s1;
    0x00007d1c sw s0, 0x28(sp)           |     *(var_28h) = s0;
    0x00007d20 move fp, sp               |     fp = sp;
    0x00007d24 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00007d28 sw a0, 0x40(fp)           |     *(arg_40h) = a0;
    0x00007d2c sw a1, 0x44(fp)           |     *(arg_44h) = a1;
    0x00007d30 sw a2, 0x48(fp)           |     *(arg_48h) = a2;
    0x00007d34 lw t8, 0x40(fp)           |     t8 = *(arg_40h);
    0x00007d38 lw t8, 0xf8(t8)           |     t8 = *((t8 + 62));
    0x00007d3c andi t8, t8, 2            |     t8 &= 2;
                                         |     if (t8 == 0) {
    0x00007d40 bnez t8, 0x7d74           |         
    0x00007d44 nop                       |         
    0x00007d48 lw t8, -0x7f90(gp)        |         t8 = *((gp - 8164));
    0x00007d4c move t9, t8               |         t9 = t8;
    0x00007d50 jalr t9                   |         t9 ();
    0x00007d54 nop                       |         
    0x00007d58 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00007d5c move t8, v0               |         t8 = v0;
    0x00007d60 addiu v0, zero, 0x16      |         v0 = 0x16;
    0x00007d64 sw v0, (t8)               |         *(t8) = v0;
    0x00007d68 addiu t8, zero, -1        |         t8 = -1;
    0x00007d6c b 0x7e78                  |         goto label_0;
    0x00007d70 nop                       |         
                                         |     }
    0x00007d74 lw a0, 0x40(fp)           |     a0 = *(arg_40h);
    0x00007d78 lw a1, 0x48(fp)           |     a1 = *(arg_48h);
    0x00007d7c lw t8, -0x7fd8(gp)        |     t8 = *((gp - 8182));
    0x00007d80 addiu t8, t8, 0x6d68      |     t8 += 0x6d68;
    0x00007d84 move t9, t8               |     t9 = t8;
    0x00007d88 jalr t9                   |     t9 ();
    0x00007d8c nop                       |     
    0x00007d90 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00007d94 sw v0, 0x18(fp)           |     *(arg_18h) = v0;
    0x00007d98 lw t8, 0x18(fp)           |     t8 = *(arg_18h);
                                         |     if (t8 != 0) {
    0x00007d9c beqz t8, 0x7db0           |         
    0x00007da0 nop                       |         
    0x00007da4 lw t8, 0x18(fp)           |         t8 = *(arg_18h);
    0x00007da8 b 0x7e78                  |         goto label_0;
    0x00007dac nop                       |         
                                         |     }
    0x00007db0 lw t8, 0x48(fp)           |     t8 = *(arg_48h);
    0x00007db4 move s2, t8               |     s2 = t8;
    0x00007db8 sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x00007dbc move s3, t8               |     s3 = t8;
    0x00007dc0 lw t8, 0x40(fp)           |     t8 = *(arg_40h);
    0x00007dc4 lw t8, 0xe4(t8)           |     t8 = *((t8 + 57));
    0x00007dc8 move s0, t8               |     s0 = t8;
    0x00007dcc sra t8, t8, 0x1f          |     t8 >>= 0x1f;
    0x00007dd0 move s1, t8               |     s1 = t8;
    0x00007dd4 mult s3, s0               |     __asm ("mult s3, s0");
    0x00007dd8 mflo t8                   |     __asm ("mflo t8");
    0x00007ddc mult s1, s2               |     __asm ("mult s1, s2");
    0x00007de0 mflo v1                   |     __asm ("mflo v1");
    0x00007de4 addu v0, t8, v1           |     v0 = t8 + v1;
    0x00007de8 multu s2, s0              |     __asm ("multu s2, s0");
    0x00007dec mflo t8                   |     __asm ("mflo t8");
    0x00007df0 mfhi t9                   |     __asm ("mfhi t9");
    0x00007df4 addu v0, v0, t9           |     v0 += t9;
    0x00007df8 move t9, v0               |     t9 = v0;
    0x00007dfc sw t8, 0x20(fp)           |     *(arg_20h) = t8;
    0x00007e00 sw t9, 0x24(fp)           |     *(arg_24h) = t9;
    0x00007e04 addiu t8, fp, 0x20        |     t8 = fp + 0x20;
    0x00007e08 lw a0, 0x44(fp)           |     a0 = *(arg_44h);
    0x00007e0c lui v0, 0x8008            |     v0 = 0x80080000;
    0x00007e10 ori a1, v0, 0x4d0c        |     a1 = 0x80084d0c;
    0x00007e14 move a2, t8               |     a2 = t8;
    0x00007e18 lw t8, -0x7ef0(gp)        |     t8 = *((gp - 8124));
    0x00007e1c move t9, t8               |     t9 = t8;
    0x00007e20 jalr t9                   |     t9 ();
    0x00007e24 nop                       |     
    0x00007e28 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00007e2c sw v0, 0x18(fp)           |     *(arg_18h) = v0;
    0x00007e30 lw v0, 0x18(fp)           |     v0 = *(arg_18h);
    0x00007e34 addiu t8, zero, -1        |     t8 = -1;
                                         |     if (v0 == t8) {
    0x00007e38 bne v0, t8, 0x7e74        |         
    0x00007e3c nop                       |         
    0x00007e40 lw a0, 0x40(fp)           |         a0 = *(arg_40h);
    0x00007e44 lw a1, 0x48(fp)           |         a1 = *(arg_48h);
    0x00007e48 lw t8, -0x7fd4(gp)        |         t8 = *((gp - 8181));
    0x00007e4c addiu a2, t8, -0x2c84     |         a2 = t8 + -0x2c84;
    0x00007e50 lw t8, -0x7fd8(gp)        |         t8 = *((gp - 8182));
    0x00007e54 addiu t8, t8, 0x6c50      |         t8 += 0x6c50;
    0x00007e58 move t9, t8               |         t9 = t8;
    0x00007e5c jalr t9                   |         t9 ();
    0x00007e60 nop                       |         
    0x00007e64 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00007e68 move t8, v0               |         t8 = v0;
    0x00007e6c b 0x7e78                  |         goto label_0;
    0x00007e70 nop                       |         
                                         |     }
    0x00007e74 move t8, zero             |     t8 = 0;
                                         | label_0:
    0x00007e78 move v0, t8               |     v0 = t8;
    0x00007e7c move sp, fp               |     
    0x00007e80 lw ra, 0x3c(sp)           |     ra = *(var_3ch);
    0x00007e84 lw fp, 0x38(sp)           |     fp = *(var_38h);
    0x00007e88 lw s3, 0x34(sp)           |     s3 = *(var_34h);
    0x00007e8c lw s2, 0x30(sp)           |     s2 = *(var_30h);
    0x00007e90 lw s1, 0x2c(sp)           |     s1 = *(var_2ch);
    0x00007e94 lw s0, 0x28(sp)           |     s0 = *(var_28h);
    0x00007e98 addiu sp, sp, 0x40        |     
    0x00007e9c jr ra                     |     return v0;
    0x00007ea0 nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x9428 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.mtd_read_oob ()          | void mtd_read_oob () {
    0x00009428 lui gp, 2                 |     
    0x0000942c addiu gp, gp, -0x3848     |     
    0x00009430 addu gp, gp, t9           |     gp += t9;
    0x00009434 addiu sp, sp, -0x40       |     
    0x00009438 sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x0000943c sw fp, 0x38(sp)           |     *(var_38h) = fp;
    0x00009440 move fp, sp               |     fp = sp;
    0x00009444 sw gp, 0x30(sp)           |     *(var_30h) = gp;
    0x00009448 sw a0, 0x40(fp)           |     *(arg_40h) = a0;
    0x0000944c sw a1, 0x44(fp)           |     *(arg_44h) = a1;
    0x00009450 sw a2, 0x48(fp)           |     *(arg_48h) = a2;
    0x00009454 lw t8, 0x50(fp)           |     t8 = *(arg_50h);
    0x00009458 lw t9, 0x54(fp)           |     t9 = *(arg_54h);
    0x0000945c mtlo t8                   |     __asm ("mtlo t8");
    0x00009460 mthi t9                   |     __asm ("mthi t9");
    0x00009464 mflo t8                   |     __asm ("mflo t8");
    0x00009468 mfhi t9                   |     __asm ("mfhi t9");
    0x0000946c sw t8, 0x10(sp)           |     *(var_10h) = t8;
    0x00009470 sw t9, 0x14(sp)           |     *(var_14h) = t9;
    0x00009474 lw t8, 0x58(fp)           |     t8 = *(arg_58h);
    0x00009478 lw t9, 0x5c(fp)           |     t9 = *(arg_5ch);
    0x0000947c mtlo t8                   |     __asm ("mtlo t8");
    0x00009480 mthi t9                   |     __asm ("mthi t9");
    0x00009484 mflo t8                   |     __asm ("mflo t8");
    0x00009488 mfhi t9                   |     __asm ("mfhi t9");
    0x0000948c sw t8, 0x18(sp)           |     *(var_18h) = t8;
    0x00009490 sw t9, 0x1c(sp)           |     *(var_1ch) = t9;
    0x00009494 lw t8, 0x60(fp)           |     t8 = *(arg_60h);
    0x00009498 sw t8, 0x20(sp)           |     *(var_20h) = t8;
    0x0000949c lui t8, 0xc018            |     t8 = 0xc0184d16;
    0x000094a0 ori t8, t8, 0x4d16        |     
    0x000094a4 sw t8, 0x24(sp)           |     *(var_24h) = t8;
    0x000094a8 lui t8, 0xc00c            |     t8 = 0xc00c4d04;
    0x000094ac ori t8, t8, 0x4d04        |     
    0x000094b0 sw t8, 0x28(sp)           |     *(var_28h) = t8;
    0x000094b4 lw a0, 0x40(fp)           |     a0 = *(arg_40h);
    0x000094b8 lw a1, 0x44(fp)           |     a1 = *(arg_44h);
    0x000094bc lw a2, 0x48(fp)           |     a2 = *(arg_48h);
    0x000094c0 lw t8, -0x7f6c(gp)        |     t8 = *((gp - 8155));
    0x000094c4 move t9, t8               |     t9 = t8;
    0x000094c8 jalr t9                   |     t9 ();
    0x000094cc nop                       |     
    0x000094d0 lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x000094d4 move t8, v0               |     t8 = v0;
    0x000094d8 move v0, t8               |     v0 = t8;
    0x000094dc move sp, fp               |     
    0x000094e0 lw ra, 0x3c(sp)           |     ra = *(var_3ch);
    0x000094e4 lw fp, 0x38(sp)           |     fp = *(var_38h);
    0x000094e8 addiu sp, sp, 0x40        |     
    0x000094ec jr ra                     |     return v0;
    0x000094f0 nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0x94f4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.mtd_write_oob ()         | void mtd_write_oob () {
    0x000094f4 lui gp, 2                 |     
    0x000094f8 addiu gp, gp, -0x3914     |     
    0x000094fc addu gp, gp, t9           |     gp += t9;
    0x00009500 addiu sp, sp, -0x40       |     
    0x00009504 sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00009508 sw fp, 0x38(sp)           |     *(var_38h) = fp;
    0x0000950c move fp, sp               |     fp = sp;
    0x00009510 sw gp, 0x30(sp)           |     *(var_30h) = gp;
    0x00009514 sw a0, 0x40(fp)           |     *(arg_40h) = a0;
    0x00009518 sw a1, 0x44(fp)           |     *(arg_44h) = a1;
    0x0000951c sw a2, 0x48(fp)           |     *(arg_48h) = a2;
    0x00009520 lw t8, 0x50(fp)           |     t8 = *(arg_50h);
    0x00009524 lw t9, 0x54(fp)           |     t9 = *(arg_54h);
    0x00009528 mtlo t8                   |     __asm ("mtlo t8");
    0x0000952c mthi t9                   |     __asm ("mthi t9");
    0x00009530 mflo t8                   |     __asm ("mflo t8");
    0x00009534 mfhi t9                   |     __asm ("mfhi t9");
    0x00009538 sw t8, 0x10(sp)           |     *(var_10h) = t8;
    0x0000953c sw t9, 0x14(sp)           |     *(var_14h) = t9;
    0x00009540 lw t8, 0x58(fp)           |     t8 = *(arg_58h);
    0x00009544 lw t9, 0x5c(fp)           |     t9 = *(arg_5ch);
    0x00009548 mtlo t8                   |     __asm ("mtlo t8");
    0x0000954c mthi t9                   |     __asm ("mthi t9");
    0x00009550 mflo t8                   |     __asm ("mflo t8");
    0x00009554 mfhi t9                   |     __asm ("mfhi t9");
    0x00009558 sw t8, 0x18(sp)           |     *(var_18h) = t8;
    0x0000955c sw t9, 0x1c(sp)           |     *(var_1ch) = t9;
    0x00009560 lw t8, 0x60(fp)           |     t8 = *(arg_60h);
    0x00009564 sw t8, 0x20(sp)           |     *(var_20h) = t8;
    0x00009568 lui t8, 0xc018            |     t8 = 0xc0184d15;
    0x0000956c ori t8, t8, 0x4d15        |     
    0x00009570 sw t8, 0x24(sp)           |     *(var_24h) = t8;
    0x00009574 lui t8, 0xc00c            |     t8 = 0xc00c4d03;
    0x00009578 ori t8, t8, 0x4d03        |     
    0x0000957c sw t8, 0x28(sp)           |     *(var_28h) = t8;
    0x00009580 lw a0, 0x40(fp)           |     a0 = *(arg_40h);
    0x00009584 lw a1, 0x44(fp)           |     a1 = *(arg_44h);
    0x00009588 lw a2, 0x48(fp)           |     a2 = *(arg_48h);
    0x0000958c lw t8, -0x7f6c(gp)        |     t8 = *((gp - 8155));
    0x00009590 move t9, t8               |     t9 = t8;
    0x00009594 jalr t9                   |     t9 ();
    0x00009598 nop                       |     
    0x0000959c lw gp, 0x30(fp)           |     gp = *(arg_30h);
    0x000095a0 move t8, v0               |     t8 = v0;
    0x000095a4 move v0, t8               |     v0 = t8;
    0x000095a8 move sp, fp               |     
    0x000095ac lw ra, 0x3c(sp)           |     ra = *(var_3ch);
    0x000095b0 lw fp, 0x38(sp)           |     fp = *(var_38h);
    0x000095b4 addiu sp, sp, 0x40        |     
    0x000095b8 jr ra                     |     return v0;
    0x000095bc nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0xad40 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.mtds_erase ()                | void mtds_erase () {
    0x0000ad40 lui gp, 2                     |     
    0x0000ad44 addiu gp, gp, -0x5160         |     
    0x0000ad48 addu gp, gp, t9               |     gp += t9;
    0x0000ad4c addiu sp, sp, -0x68           |     
    0x0000ad50 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x0000ad54 sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x0000ad58 move fp, sp                   |     fp = sp;
    0x0000ad5c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000ad60 sw a0, 0x68(fp)               |     *(arg_68h) = a0;
    0x0000ad64 sw a2, 0x70(fp)               |     *(arg_70h) = a2;
    0x0000ad68 sw a3, 0x74(fp)               |     *(arg_74h) = a3;
    0x0000ad6c lw t8, 0x68(fp)               |     t8 = *(arg_68h);
    0x0000ad70 addiu t8, t8, 0x10            |     t8 += 0x10;
    0x0000ad74 sw t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x0000ad78 move v0, zero                 |     v0 = 0;
    0x0000ad7c move v1, zero                 |     v1 = 0;
    0x0000ad80 sw v0, 0x20(fp)               |     *(arg_20h) = v0;
    0x0000ad84 sw v1, 0x24(fp)               |     *(arg_24h) = v1;
    0x0000ad88 move t8, zero                 |     t8 = 0;
    0x0000ad8c move t9, zero                 |     t9 = 0;
    0x0000ad90 sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x0000ad94 sw t9, 0x34(fp)               |     *(arg_34h) = t9;
    0x0000ad98 lw t8, 0x2c(fp)               |     t8 = *(arg_2ch);
    0x0000ad9c lw t8, 4(t8)                  |     t8 = *((t8 + 1));
    0x0000ada0 sw t8, 0x28(fp)               |     *(arg_28h) = t8;
    0x0000ada4 b 0xafec                      |     goto label_0;
    0x0000ada8 nop                           |     
                                             |     do {
    0x0000adac addiu t8, fp, 0x3c            |         t8 = fp + 0x3c;
    0x0000adb0 move a0, t8                   |         a0 = t8;
    0x0000adb4 lw a1, 0x28(fp)               |         a1 = *(arg_28h);
    0x0000adb8 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000adbc addiu t8, t8, -0x5d50         |         t8 += -0x5d50;
    0x0000adc0 move t9, t8                   |         t9 = t8;
    0x0000adc4 jalr t9                       |         t9 ();
    0x0000adc8 nop                           |         
    0x0000adcc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000add0 lw t8, 0x68(fp)               |         t8 = *(arg_68h);
    0x0000add4 lw v0, 0x20(t8)               |         v0 = *((t8 + 8));
    0x0000add8 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000addc sll t8, t8, 8                 |         t8 <<= 8;
    0x0000ade0 addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000ade4 sw t8, 0x38(fp)               |         *(arg_38h) = t8;
    0x0000ade8 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000adec lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000adf0 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000adf4 mtlo v0                       |         __asm ("mtlo v0");
    0x0000adf8 mthi v1                       |         __asm ("mthi v1");
    0x0000adfc mflo v0                       |         __asm ("mflo v0");
    0x0000ae00 mfhi v1                       |         __asm ("mfhi v1");
    0x0000ae04 lw a0, 0x20(fp)               |         a0 = *(arg_20h);
    0x0000ae08 lw a1, 0x24(fp)               |         a1 = *(arg_24h);
    0x0000ae0c addu t8, v0, a0               |         t8 = v0 + a0;
    0x0000ae10 sltu a2, t8, v0               |         a2 = (t8 < v0) ? 1 : 0;
    0x0000ae14 addu t9, v1, a1               |         t9 = v1 + a1;
    0x0000ae18 addu v0, a2, t9               |         v0 = a2 + t9;
    0x0000ae1c move t9, v0                   |         t9 = v0;
    0x0000ae20 lw v0, 0x74(fp)               |         v0 = *(arg_74h);
    0x0000ae24 sltu v0, v0, t9               |         v0 = (v0 < t9) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0000ae28 bnez v0, 0xae50               |             
    0x0000ae2c nop                           |             
    0x0000ae30 lw v1, 0x74(fp)               |             v1 = *(arg_74h);
    0x0000ae34 move v0, t9                   |             v0 = t9;
                                             |             if (v1 != v0) {
    0x0000ae38 bne v1, v0, 0xafa0            |                 goto label_1;
                                             |             }
    0x0000ae3c nop                           |             
    0x0000ae40 lw v0, 0x70(fp)               |             v0 = *(arg_70h);
    0x0000ae44 sltu t8, v0, t8               |             t8 = (v0 < t8) ? 1 : 0;
                                             |             if (t8 == 0) {
    0x0000ae48 beqz t8, 0xafa0               |                 goto label_1;
                                             |             }
    0x0000ae4c nop                           |             
                                             |         }
    0x0000ae50 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000ae54 lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000ae58 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000ae5c mtlo v0                       |         __asm ("mtlo v0");
    0x0000ae60 mthi v1                       |         __asm ("mthi v1");
    0x0000ae64 mflo t8                       |         __asm ("mflo t8");
    0x0000ae68 mfhi t9                       |         __asm ("mfhi t9");
    0x0000ae6c mtlo t8                       |         __asm ("mtlo t8");
    0x0000ae70 mthi t9                       |         __asm ("mthi t9");
    0x0000ae74 lw v0, 0x78(fp)               |         v0 = *(arg_78h);
    0x0000ae78 lw v1, 0x7c(fp)               |         v1 = *(arg_7ch);
    0x0000ae7c mflo t8                       |         __asm ("mflo t8");
    0x0000ae80 mfhi t9                       |         __asm ("mfhi t9");
    0x0000ae84 sltu a0, v1, t9               |         a0 = (v1 < t9) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x0000ae88 bnez a0, 0xaea8               |             
    0x0000ae8c nop                           |             
    0x0000ae90 move a0, v1                   |             a0 = v1;
                                             |             if (t9 != a0) {
    0x0000ae94 bne t9, a0, 0xaeb0            |                 goto label_2;
                                             |             }
    0x0000ae98 nop                           |             
    0x0000ae9c sltu a0, v0, t8               |             a0 = (v0 < t8) ? 1 : 0;
                                             |             if (a0 == 0) {
    0x0000aea0 beqz a0, 0xaeb0               |                 goto label_2;
                                             |             }
    0x0000aea4 nop                           |             
                                             |         }
    0x0000aea8 move t8, v0                   |         t8 = v0;
    0x0000aeac move t9, v1                   |         t9 = v1;
                                             | label_2:
    0x0000aeb0 sw t8, 0x30(fp)               |         *(arg_30h) = t8;
    0x0000aeb4 sw t9, 0x34(fp)               |         *(arg_34h) = t9;
    0x0000aeb8 lw v0, 0x70(fp)               |         v0 = *(arg_70h);
    0x0000aebc lw v1, 0x74(fp)               |         v1 = *(arg_74h);
    0x0000aec0 lw a0, 0x20(fp)               |         a0 = *(arg_20h);
    0x0000aec4 lw a1, 0x24(fp)               |         a1 = *(arg_24h);
    0x0000aec8 subu t8, v0, a0               |         __asm ("subu t8, v0, a0");
    0x0000aecc sltu a2, v0, t8               |         a2 = (v0 < t8) ? 1 : 0;
    0x0000aed0 subu t9, v1, a1               |         __asm ("subu t9, v1, a1");
    0x0000aed4 subu v0, t9, a2               |         __asm ("subu v0, t9, a2");
    0x0000aed8 move t9, v0                   |         t9 = v0;
    0x0000aedc mtlo t8                       |         __asm ("mtlo t8");
    0x0000aee0 mthi t9                       |         __asm ("mthi t9");
    0x0000aee4 addiu v0, fp, 0x3c            |         v0 = fp + 0x3c;
    0x0000aee8 lw t8, 0x30(fp)               |         t8 = *(arg_30h);
    0x0000aeec lw t9, 0x34(fp)               |         t9 = *(arg_34h);
    0x0000aef0 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0000aef4 sw t9, 0x14(sp)               |         *(var_14h) = t9;
    0x0000aef8 move a0, v0                   |         a0 = v0;
    0x0000aefc mflo a2                       |         __asm ("mflo a2");
    0x0000af00 mfhi a3                       |         __asm ("mfhi a3");
    0x0000af04 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000af08 addiu t8, t8, -0x5724         |         t8 += -0x5724;
    0x0000af0c move t9, t8                   |         t9 = t8;
    0x0000af10 jalr t9                       |         t9 ();
    0x0000af14 nop                           |         
    0x0000af18 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000af1c move t8, v0                   |         t8 = v0;
                                             |         if (t8 < 0) {
    0x0000af20 bgez t8, 0xaf34               |             
    0x0000af24 nop                           |             
    0x0000af28 addiu t8, zero, -1            |             t8 = -1;
    0x0000af2c b 0xb048                      |             goto label_3;
    0x0000af30 nop                           |             
                                             |         }
    0x0000af34 lw v0, 0x70(fp)               |         v0 = *(arg_70h);
    0x0000af38 lw v1, 0x74(fp)               |         v1 = *(arg_74h);
    0x0000af3c lw a0, 0x30(fp)               |         a0 = *(arg_30h);
    0x0000af40 lw a1, 0x34(fp)               |         a1 = *(arg_34h);
    0x0000af44 addu t8, v0, a0               |         t8 = v0 + a0;
    0x0000af48 sltu a2, t8, v0               |         a2 = (t8 < v0) ? 1 : 0;
    0x0000af4c addu t9, v1, a1               |         t9 = v1 + a1;
    0x0000af50 addu v0, a2, t9               |         v0 = a2 + t9;
    0x0000af54 move t9, v0                   |         t9 = v0;
    0x0000af58 sw t8, 0x70(fp)               |         *(arg_70h) = t8;
    0x0000af5c sw t9, 0x74(fp)               |         *(arg_74h) = t9;
    0x0000af60 lw v0, 0x78(fp)               |         v0 = *(arg_78h);
    0x0000af64 lw v1, 0x7c(fp)               |         v1 = *(arg_7ch);
    0x0000af68 lw a0, 0x30(fp)               |         a0 = *(arg_30h);
    0x0000af6c lw a1, 0x34(fp)               |         a1 = *(arg_34h);
    0x0000af70 subu t8, v0, a0               |         __asm ("subu t8, v0, a0");
    0x0000af74 sltu a2, v0, t8               |         a2 = (v0 < t8) ? 1 : 0;
    0x0000af78 subu t9, v1, a1               |         __asm ("subu t9, v1, a1");
    0x0000af7c subu v0, t9, a2               |         __asm ("subu v0, t9, a2");
    0x0000af80 move t9, v0                   |         t9 = v0;
    0x0000af84 sw t8, 0x78(fp)               |         *(arg_78h) = t8;
    0x0000af88 sw t9, 0x7c(fp)               |         *(arg_7ch) = t9;
    0x0000af8c lw t8, 0x78(fp)               |         t8 = *(arg_78h);
    0x0000af90 lw v0, 0x7c(fp)               |         v0 = *(arg_7ch);
    0x0000af94 or t8, t8, v0                 |         t8 |= v0;
                                             |         if (t8 == 0) {
    0x0000af98 beqz t8, 0xb004               |             goto label_4;
                                             |         }
    0x0000af9c nop                           |         
                                             | label_1:
    0x0000afa0 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000afa4 lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000afa8 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000afac mtlo v0                       |         __asm ("mtlo v0");
    0x0000afb0 mthi v1                       |         __asm ("mthi v1");
    0x0000afb4 mflo a0                       |         __asm ("mflo a0");
    0x0000afb8 mfhi a1                       |         __asm ("mfhi a1");
    0x0000afbc lw v0, 0x20(fp)               |         v0 = *(arg_20h);
    0x0000afc0 lw v1, 0x24(fp)               |         v1 = *(arg_24h);
    0x0000afc4 addu t8, v0, a0               |         t8 = v0 + a0;
    0x0000afc8 sltu a2, t8, v0               |         a2 = (t8 < v0) ? 1 : 0;
    0x0000afcc addu t9, v1, a1               |         t9 = v1 + a1;
    0x0000afd0 addu v0, a2, t9               |         v0 = a2 + t9;
    0x0000afd4 move t9, v0                   |         t9 = v0;
    0x0000afd8 sw t8, 0x20(fp)               |         *(arg_20h) = t8;
    0x0000afdc sw t9, 0x24(fp)               |         *(arg_24h) = t9;
    0x0000afe0 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000afe4 addiu t8, t8, 1               |         t8++;
    0x0000afe8 sw t8, 0x28(fp)               |         *(arg_28h) = t8;
                                             | label_0:
    0x0000afec lw t8, 0x2c(fp)               |         t8 = *(arg_2ch);
    0x0000aff0 lw v0, 8(t8)                  |         v0 = *((t8 + 2));
    0x0000aff4 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000aff8 slt t8, v0, t8                |         t8 = (v0 < t8) ? 1 : 0;
    0x0000affc beqz t8, 0xadac               |         
                                             |     } while (t8 == 0);
    0x0000b000 nop                           |     
                                             | label_4:
    0x0000b004 lw t8, 0x78(fp)               |     t8 = *(arg_78h);
    0x0000b008 lw v0, 0x7c(fp)               |     v0 = *(arg_7ch);
    0x0000b00c or t8, t8, v0                 |     t8 |= v0;
                                             |     if (t8 != 0) {
    0x0000b010 beqz t8, 0xb044               |         
    0x0000b014 nop                           |         
    0x0000b018 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b01c addiu a0, t8, -0x26d0         |         a0 = t8 + -0x26d0;
    0x0000b020 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b024 addiu a1, t8, -0x25e8         |         a1 = t8 + -0x25e8;
    0x0000b028 lw a2, 0x78(fp)               |         a2 = *(arg_78h);
    0x0000b02c lw a3, 0x7c(fp)               |         a3 = *(arg_7ch);
    0x0000b030 lw t8, -0x7ef4(gp)            |         t8 = *((gp - 8125));
    0x0000b034 move t9, t8                   |         t9 = t8;
    0x0000b038 jalr t9                       |         t9 ();
    0x0000b03c nop                           |         
    0x0000b040 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x0000b044 move t8, zero                 |     t8 = 0;
                                             | label_3:
    0x0000b048 move v0, t8                   |     v0 = t8;
    0x0000b04c move sp, fp                   |     
    0x0000b050 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x0000b054 lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x0000b058 addiu sp, sp, 0x68            |     
    0x0000b05c jr ra                         |     return v0;
    0x0000b060 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libmtd.so @ 0xb298 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.mtds_read ()                 | void mtds_read () {
    0x0000b298 lui gp, 2                     |     
    0x0000b29c addiu gp, gp, -0x56b8         |     
    0x0000b2a0 addu gp, gp, t9               |     gp += t9;
    0x0000b2a4 addiu sp, sp, -0x80           |     
    0x0000b2a8 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x0000b2ac sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x0000b2b0 sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x0000b2b4 sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x0000b2b8 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x0000b2bc sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x0000b2c0 sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x0000b2c4 sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x0000b2c8 move fp, sp                   |     fp = sp;
    0x0000b2cc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000b2d0 sw a0, 0x80(fp)               |     *(arg_80h) = a0;
    0x0000b2d4 sw a1, 0x84(fp)               |     *(arg_84h) = a1;
    0x0000b2d8 sw a2, 0x88(fp)               |     *(arg_88h) = a2;
    0x0000b2dc sw a3, 0x8c(fp)               |     *(arg_8ch) = a3;
    0x0000b2e0 lw t8, 0x80(fp)               |     t8 = *(arg_80h);
    0x0000b2e4 addiu t8, t8, 0x10            |     t8 += 0x10;
    0x0000b2e8 sw t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x0000b2ec move v0, zero                 |     v0 = 0;
    0x0000b2f0 move v1, zero                 |     v1 = 0;
    0x0000b2f4 sw v0, 0x20(fp)               |     *(arg_20h) = v0;
    0x0000b2f8 sw v1, 0x24(fp)               |     *(arg_24h) = v1;
    0x0000b2fc move t8, zero                 |     t8 = 0;
    0x0000b300 move t9, zero                 |     t9 = 0;
    0x0000b304 sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x0000b308 sw t9, 0x34(fp)               |     *(arg_34h) = t9;
    0x0000b30c lw t8, 0x2c(fp)               |     t8 = *(arg_2ch);
    0x0000b310 lw t8, 4(t8)                  |     t8 = *((t8 + 1));
    0x0000b314 sw t8, 0x28(fp)               |     *(arg_28h) = t8;
    0x0000b318 b 0xb528                      |     goto label_0;
    0x0000b31c nop                           |     
                                             |     do {
    0x0000b320 addiu t8, fp, 0x3c            |         t8 = fp + 0x3c;
    0x0000b324 move a0, t8                   |         a0 = t8;
    0x0000b328 lw a1, 0x28(fp)               |         a1 = *(arg_28h);
    0x0000b32c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b330 addiu t8, t8, -0x5d50         |         t8 += -0x5d50;
    0x0000b334 move t9, t8                   |         t9 = t8;
    0x0000b338 jalr t9                       |         t9 ();
    0x0000b33c nop                           |         
    0x0000b340 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000b344 lw t8, 0x80(fp)               |         t8 = *(arg_80h);
    0x0000b348 lw v0, 0x20(t8)               |         v0 = *((t8 + 8));
    0x0000b34c lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000b350 sll t8, t8, 8                 |         t8 <<= 8;
    0x0000b354 addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000b358 sw t8, 0x38(fp)               |         *(arg_38h) = t8;
    0x0000b35c lw t8, 0x84(fp)               |         t8 = *(arg_84h);
    0x0000b360 move s2, t8                   |         s2 = t8;
    0x0000b364 sra t8, t8, 0x1f              |         t8 >>= 0x1f;
    0x0000b368 move s3, t8                   |         s3 = t8;
    0x0000b36c lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000b370 lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000b374 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000b378 mtlo v0                       |         __asm ("mtlo v0");
    0x0000b37c mthi v1                       |         __asm ("mthi v1");
    0x0000b380 mflo v0                       |         __asm ("mflo v0");
    0x0000b384 mfhi v1                       |         __asm ("mfhi v1");
    0x0000b388 lw a0, 0x20(fp)               |         a0 = *(arg_20h);
    0x0000b38c lw a1, 0x24(fp)               |         a1 = *(arg_24h);
    0x0000b390 addu t8, v0, a0               |         t8 = v0 + a0;
    0x0000b394 sltu a2, t8, v0               |         a2 = (t8 < v0) ? 1 : 0;
    0x0000b398 addu t9, v1, a1               |         t9 = v1 + a1;
    0x0000b39c addu v0, a2, t9               |         v0 = a2 + t9;
    0x0000b3a0 move t9, v0                   |         t9 = v0;
    0x0000b3a4 sltu v0, s3, t9               |         v0 = (s3 < t9) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0000b3a8 bnez v0, 0xb3c8               |             
    0x0000b3ac nop                           |             
    0x0000b3b0 move v0, s3                   |             v0 = s3;
                                             |             if (t9 != v0) {
    0x0000b3b4 bne t9, v0, 0xb4dc            |                 goto label_1;
                                             |             }
    0x0000b3b8 nop                           |             
    0x0000b3bc sltu t8, s2, t8               |             t8 = (s2 < t8) ? 1 : 0;
                                             |             if (t8 == 0) {
    0x0000b3c0 beqz t8, 0xb4dc               |                 goto label_1;
                                             |             }
    0x0000b3c4 nop                           |             
                                             |         }
    0x0000b3c8 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000b3cc lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000b3d0 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000b3d4 mtlo v0                       |         __asm ("mtlo v0");
    0x0000b3d8 mthi v1                       |         __asm ("mthi v1");
    0x0000b3dc lw t8, 0x8c(fp)               |         t8 = *(arg_8ch);
    0x0000b3e0 move s0, t8                   |         s0 = t8;
    0x0000b3e4 sra t8, t8, 0x1f              |         t8 >>= 0x1f;
    0x0000b3e8 move s1, t8                   |         s1 = t8;
    0x0000b3ec mflo t8                       |         __asm ("mflo t8");
    0x0000b3f0 mfhi t9                       |         __asm ("mfhi t9");
    0x0000b3f4 slt v0, s1, t9                |         v0 = (s1 < t9) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0000b3f8 bnez v0, 0xb418               |             
    0x0000b3fc nop                           |             
    0x0000b400 move v0, s1                   |             v0 = s1;
                                             |             if (t9 != v0) {
    0x0000b404 bne t9, v0, 0xb420            |                 goto label_2;
                                             |             }
    0x0000b408 nop                           |             
    0x0000b40c sltu v0, s0, t8               |             v0 = (s0 < t8) ? 1 : 0;
                                             |             if (v0 == 0) {
    0x0000b410 beqz v0, 0xb420               |                 goto label_2;
                                             |             }
    0x0000b414 nop                           |             
                                             |         }
    0x0000b418 move t8, s0                   |         t8 = s0;
    0x0000b41c move t9, s1                   |         t9 = s1;
                                             | label_2:
    0x0000b420 sw t8, 0x30(fp)               |         *(arg_30h) = t8;
    0x0000b424 sw t9, 0x34(fp)               |         *(arg_34h) = t9;
    0x0000b428 lw t8, 0x84(fp)               |         t8 = *(arg_84h);
    0x0000b42c move s4, t8                   |         s4 = t8;
    0x0000b430 sra t8, t8, 0x1f              |         t8 >>= 0x1f;
    0x0000b434 move s5, t8                   |         s5 = t8;
    0x0000b438 lw v0, 0x20(fp)               |         v0 = *(arg_20h);
    0x0000b43c lw v1, 0x24(fp)               |         v1 = *(arg_24h);
    0x0000b440 subu t8, s4, v0               |         __asm ("subu t8, s4, v0");
    0x0000b444 sltu a0, s4, t8               |         a0 = (s4 < t8) ? 1 : 0;
    0x0000b448 subu t9, s5, v1               |         __asm ("subu t9, s5, v1");
    0x0000b44c subu v0, t9, a0               |         __asm ("subu v0, t9, a0");
    0x0000b450 move t9, v0                   |         t9 = v0;
    0x0000b454 mtlo t8                       |         __asm ("mtlo t8");
    0x0000b458 mthi t9                       |         __asm ("mthi t9");
    0x0000b45c addiu v0, fp, 0x3c            |         v0 = fp + 0x3c;
    0x0000b460 lw t8, 0x30(fp)               |         t8 = *(arg_30h);
    0x0000b464 lw t9, 0x34(fp)               |         t9 = *(arg_34h);
    0x0000b468 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0000b46c sw t9, 0x14(sp)               |         *(var_14h) = t9;
    0x0000b470 move a0, v0                   |         a0 = v0;
    0x0000b474 lw a1, 0x88(fp)               |         a1 = *(arg_88h);
    0x0000b478 mflo a2                       |         __asm ("mflo a2");
    0x0000b47c mfhi a3                       |         __asm ("mfhi a3");
    0x0000b480 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b484 addiu t8, t8, -0x4f9c         |         t8 += -0x4f9c;
    0x0000b488 move t9, t8                   |         t9 = t8;
    0x0000b48c jalr t9                       |         t9 ();
    0x0000b490 nop                           |         
    0x0000b494 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0000b498 move t8, v0                   |         t8 = v0;
                                             |         if (t8 < 0) {
    0x0000b49c bgez t8, 0xb4b0               |             
    0x0000b4a0 nop                           |             
    0x0000b4a4 addiu t8, zero, -1            |             t8 = -1;
    0x0000b4a8 b 0xb578                      |             goto label_3;
    0x0000b4ac nop                           |             
                                             |         }
    0x0000b4b0 lw v0, 0x30(fp)               |         v0 = *(arg_30h);
    0x0000b4b4 lw t8, 0x84(fp)               |         t8 = *(arg_84h);
    0x0000b4b8 addu t8, v0, t8               |         t8 = v0 + t8;
    0x0000b4bc sw t8, 0x84(fp)               |         *(arg_84h) = t8;
    0x0000b4c0 lw v0, 0x8c(fp)               |         v0 = *(arg_8ch);
    0x0000b4c4 lw t8, 0x30(fp)               |         t8 = *(arg_30h);
    0x0000b4c8 subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x0000b4cc sw t8, 0x8c(fp)               |         *(arg_8ch) = t8;
    0x0000b4d0 lw t8, 0x8c(fp)               |         t8 = *(arg_8ch);
                                             |         if (t8 == 0) {
    0x0000b4d4 beqz t8, 0xb540               |             goto label_4;
                                             |         }
    0x0000b4d8 nop                           |         
                                             | label_1:
    0x0000b4dc lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0000b4e0 lw v0, 0xd8(t8)               |         v0 = *((t8 + 54));
    0x0000b4e4 lw v1, 0xdc(t8)               |         v1 = *((t8 + 55));
    0x0000b4e8 mtlo v0                       |         __asm ("mtlo v0");
    0x0000b4ec mthi v1                       |         __asm ("mthi v1");
    0x0000b4f0 mflo a0                       |         __asm ("mflo a0");
    0x0000b4f4 mfhi a1                       |         __asm ("mfhi a1");
    0x0000b4f8 lw v0, 0x20(fp)               |         v0 = *(arg_20h);
    0x0000b4fc lw v1, 0x24(fp)               |         v1 = *(arg_24h);
    0x0000b500 addu t8, v0, a0               |         t8 = v0 + a0;
    0x0000b504 sltu a2, t8, v0               |         a2 = (t8 < v0) ? 1 : 0;
    0x0000b508 addu t9, v1, a1               |         t9 = v1 + a1;
    0x0000b50c addu v0, a2, t9               |         v0 = a2 + t9;
    0x0000b510 move t9, v0                   |         t9 = v0;
    0x0000b514 sw t8, 0x20(fp)               |         *(arg_20h) = t8;
    0x0000b518 sw t9, 0x24(fp)               |         *(arg_24h) = t9;
    0x0000b51c lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000b520 addiu t8, t8, 1               |         t8++;
    0x0000b524 sw t8, 0x28(fp)               |         *(arg_28h) = t8;
                                             | label_0:
    0x0000b528 lw t8, 0x2c(fp)               |         t8 = *(arg_2ch);
    0x0000b52c lw v0, 8(t8)                  |         v0 = *((t8 + 2));
    0x0000b530 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x0000b534 slt t8, v0, t8                |         t8 = (v0 < t8) ? 1 : 0;
    0x0000b538 beqz t8, 0xb320               |         
                                             |     } while (t8 == 0);
    0x0000b53c nop                           |     
                                             | label_4:
    0x0000b540 lw t8, 0x8c(fp)               |     t8 = *(arg_8ch);
                                             |     if (t8 != 0) {
    0x0000b544 beqz t8, 0xb574               |         
    0x0000b548 nop                           |         
    0x0000b54c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b550 addiu a0, t8, -0x2660         |         a0 = t8 + -0x2660;
    0x0000b554 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000b558 addiu a1, t8, -0x25cc         |         a1 = t8 + -0x25cc;
    0x0000b55c lw a2, 0x8c(fp)               |         a2 = *(arg_8ch);
    0x0000b560 lw t8, -0x7ef4(gp)            |         t8 = *((gp - 8125));
    0x0000b564 move t9, t8                   |         t9 = t8;
    0x0000b568 jalr t9                       |         t9 ();
    0x0000b56c nop                           |         
    0x0000b570 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x0000b574 move t8, zero                 |     t8 = 0;
                                             | label_3:
    0x0000b578 move v0, t8                   |     v0 = t8;
    0x0000b57c move sp, fp                   |     
    0x0000b580 lw ra, 0x7c(sp)               |     ra = *(var_7ch);
    0x0000b584 lw fp, 0x78(sp)               |     fp = *(var_78h);
    0x0000b588 lw s5, 0x74(sp)               |     s5 = *(var_74h);
    0x0000b58c lw s4, 0x70(sp)               |     s4 = *(var_70h);
    0x0000b590 lw s3, 0x6c(sp)               |     s3 = *(var_6ch);
    0x0000b594 lw s2, 0x68(sp)               |     s2 = *(var_68h);
    0x0000b598 lw s1, 0x64(sp)               |     s1 = *(var_64h);
    0x0000b59c lw s0, 0x60(sp)               |     s0 = *(var_60h);
    0x0000b5a0 addiu sp, sp, 0x80            |     
    0x0000b5a4 jr ra                         |     return v0;
    0x0000b5a8 nop                           |     
                                             | }

[*] Function fprintf used 1 times libmtd.so