[*] Binary protection state of ld-2.27.so

  
  	Partial RELRO  Canary found      NX enabled   DSO          No RPATH     No RUNPATH   No Symbols


[*] Function mmap tear down of ld-2.27.so

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/ld-2.27.so @ 0x105d0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000105d0 ()                  | void fcn_000105d0 () {
                                             | label_6:
    0x000105d0 lui gp, 3                     |     
    0x000105d4 addiu gp, gp, -0x45d0         |     
    0x000105d8 addu gp, gp, t9               |     gp += t9;
    0x000105dc lw v1, 0x7c(a0)               |     v1 = *((a0 + 31));
    0x000105e0 lw v0, (a0)                   |     v0 = *(a0);
    0x000105e4 lw t1, 0x38(a0)               |     t1 = *((a0 + 14));
    0x000105e8 lw a2, 4(v1)                  |     a2 = *((v1 + 1));
    0x000105ec addu a1, v0, a1               |     a1 = v0 + a1;
    0x000105f0 addu a2, a1, a2               |     a2 = a1 + a2;
    0x000105f4 lw t0, 0x34(a0)               |     t0 = *((a0 + 13));
    0x000105f8 lw v1, 4(a2)                  |     v1 = *((a2 + 1));
    0x000105fc addiu sp, sp, -0x40           |     
    0x00010600 lw a1, 4(t1)                  |     a1 = *((t1 + 1));
    0x00010604 srl t9, v1, 8                 |     t9 = v1 >> 8;
    0x00010608 lw t0, 4(t0)                  |     t0 = *((t0 + 1));
    0x0001060c sw s0, 0x34(sp)               |     *(var_34h) = s0;
    0x00010610 addu a1, v0, a1               |     a1 = v0 + a1;
    0x00010614 lw s0, (a2)                   |     s0 = *(a2);
    0x00010618 sll t1, t9, 4                 |     t1 = t9 << 4;
    0x0001061c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00010620 addu a1, a1, t1               |     a1 += t1;
    0x00010624 addiu a3, zero, 0x7f          |     a3 = 0x7f;
    0x00010628 andi v1, v1, 0xff             |     v1 &= 0xff;
    0x0001062c sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00010630 sw s1, 0x38(sp)               |     *(var_38h) = s1;
    0x00010634 addu t0, v0, t0               |     t0 = v0 + t0;
    0x00010638 sw a1, 0x28(sp)               |     *(var_28h) = a1;
    0x0001063c addu s0, v0, s0               |     s0 = v0 + s0;
                                             |     if (v1 != a3) {
    0x00010640 bne v1, a3, 0x107bc           |         goto label_20;
                                             |     }
    0x00010644 lbu v1, 0xd(a1)               |     v1 = *((a1 + 13));
    0x00010648 andi v1, v1, 3                |     v1 &= 3;
                                             |     if (v1 != 0) {
    0x0001064c bnez v1, 0x106f8              |         goto label_21;
                                             |     }
    0x00010650 nop                           |     
    0x00010654 lw v1, 0x1bc(a0)              |     v1 = *((a0 + 111));
    0x00010658 sll t9, t9, 1                 |     t9 <<= 1;
                                             |     if (v1 == 0) {
    0x0001065c beqz v1, 0x10738              |         goto label_22;
                                             |     }
    0x00010660 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x00010664 addu v0, t9, v0               |     v0 = t9 + v0;
    0x00010668 addu v0, v0, v1               |     v0 += v1;
    0x0001066c lw v1, 0x248(a0)              |     v1 = *((a0 + 146));
    0x00010670 lhu v0, (v0)                  |     v0 = *(v0);
    0x00010674 andi v0, v0, 0x7fff           |     v0 &= 0x7fff;
    0x00010678 sll v0, v0, 4                 |     v0 <<= 4;
    0x0001067c addu v0, v1, v0               |     v0 = v1 + v0;
    0x00010680 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00010684 movz v0, zero, v1             |     v0 = 0;
                                             |     while (1) {
    0x00010688 rdhwr v1, 29                  |         __asm ("rdhwr v1, 29");
    0x0001068c lw v1, -0x7490(v1)            |         v1 = *((v1 - 7460));
    0x00010690 addiu a2, zero, 1             |         a2 = 1;
                                             |         if (v1 != 0) {
    0x00010694 bnez v1, 0x10740              |             goto label_23;
                                             |         }
                                             | label_0:
    0x00010698 lw v1, (a1)                   |         v1 = *(a1);
    0x0001069c lw a3, 0x2a4(a0)              |         a3 = *((a0 + 169));
    0x000106a0 lw t9, -0x7fcc(gp)            |         t9 = *(gp);
    0x000106a4 addiu a1, zero, 1             |         a1 = 1;
    0x000106a8 sw a2, 0x18(sp)               |         *(var_18h_3) = a2;
    0x000106ac sw a1, 0x14(sp)               |         *(var_14h_3) = a1;
    0x000106b0 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x000106b4 move a1, a0                   |         a1 = a0;
    0x000106b8 sw v0, 0x10(sp)               |         *(var_88h) = v0;
    0x000106bc addiu a2, sp, 0x28            |         a2 = sp + 0x28;
    0x000106c0 addu a0, t0, v1               |         a0 = t0 + v1;
    0x000106c4 bal 0xb070                    |         fcn_0000b070 ();
    0x000106c8 move s1, v0                   |         s1 = v0;
    0x000106cc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000106d0 rdhwr v1, 29                  |         __asm ("rdhwr v1, 29");
    0x000106d4 lw v0, -0x7490(v1)            |         v0 = *((v1 - 7460));
                                             |         if (v0 != 0) {
    0x000106d8 bnez v0, 0x10758              |             goto label_24;
                                             |         }
    0x000106dc nop                           |         
                                             | label_1:
    0x000106e0 lw a1, 0x28(sp)               |         a1 = *(var_28h);
                                             | label_2:
    0x000106e4 move v0, zero                 |         v0 = 0;
                                             |         if (a1 != 0) {
    0x000106e8 beqz a1, 0x10710              |             
                                             |             if (s1 != 0) {
    0x000106ec beqz s1, 0x106f8              |                 
    0x000106f0 nop                           |                 
    0x000106f4 lw v0, (s1)                   |                 v0 = *(s1);
                                             |             }
                                             | label_21:
    0x000106f8 lbu v1, 0xc(a1)               |             v1 = *((a1 + 12));
    0x000106fc lw t9, 4(a1)                  |             t9 = *((a1 + 1));
    0x00010700 addiu a0, zero, 0xa           |             a0 = 0xa;
    0x00010704 andi v1, v1, 0xf              |             v1 &= 0xf;
    0x00010708 addu v0, v0, t9               |             v0 += t9;
                                             |             if (v1 == a0) {
    0x0001070c beq v1, a0, 0x107a8           |                 goto label_25;
                                             |             }
                                             |         }
                                             | label_3:
    0x00010710 lw v1, -0x7fa8(gp)            |         v1 = *(gp);
    0x00010714 lw v1, 0x30(v1)               |         v1 = *((v1 + 12));
    0x00010718 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
                                             |         if (v1 == 0) {
    0x0001071c bnez v1, 0x10728              |             
    0x00010720 sw v0, (s0)                   |             *(s0) = v0;
    0x00010724 lw ra, 0x3c(sp)               |             ra = *(var_3ch);
                                             |         }
    0x00010728 lw s1, 0x38(sp)               |         s1 = *(var_38h);
    0x0001072c lw s0, 0x34(sp)               |         s0 = *(var_34h);
    0x00010730 addiu sp, sp, 0x40            |         
    0x00010734 jr ra                         |         return v0;
                                             | label_22:
    0x00010738 move v0, zero                 |         v0 = 0;
    0x0001073c b 0x10688                     |         
                                             |     }
                                             | label_23:
    0x00010740 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00010744 sw a2, -0x748c(v1)            |     *((v1 - 7459)) = a2;
    0x00010748 sync                          |     __asm ("sync");
    0x0001074c addiu a2, zero, 5             |     a2 = 5;
    0x00010750 lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x00010754 b 0x10698                     |     goto label_0;
                                             | label_24:
    0x00010758 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0001075c move v0, v1                   |     v0 = v1;
    0x00010760 sync                          |     __asm ("sync");
                                             |     do {
    0x00010764 ll v1, -0x748c(v0)            |         __asm ("ll v1, -0x748c(v0)");
    0x00010768 addiu at, zero, 0             |         at = 0;
    0x0001076c sc at, -0x748c(v0)            |         __asm ("sc at, -0x748c(v0)");
    0x00010770 beqz at, 0x10764              |         
                                             |     } while (at == 0);
    0x00010774 nop                           |     
    0x00010778 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (v1 != v0) {
    0x0001077c bne v1, v0, 0x106e0           |         goto label_1;
                                             |     }
    0x00010780 nop                           |     
    0x00010784 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00010788 addiu a1, zero, 0x81          |     a1 = 0x81;
    0x0001078c addiu a0, v1, -0x748c         |     a0 = v1 + -0x748c;
    0x00010790 addiu a2, zero, 1             |     a2 = 1;
    0x00010794 move a3, zero                 |     a3 = 0;
    0x00010798 addiu v0, zero, 0x108e        |     v0 = 0x108e;
    0x0001079c syscall                       |     __asm ("syscall");
    0x000107a0 lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x000107a4 b 0x106e4                     |     goto label_2;
                                             | label_25:
    0x000107a8 move t9, v0                   |     t9 = v0;
    0x000107ac jalr t9                       |     t9 ();
    0x000107b0 nop                           |     
    0x000107b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000107b8 b 0x10710                     |     goto label_3;
                                             | label_20:
    0x000107bc lw a3, -0x7fb4(gp)            |     a3 = *((gp - 8173));
    0x000107c0 lw a1, -0x7fb4(gp)            |     a1 = *((gp - 8173));
    0x000107c4 lw a0, -0x7fb4(gp)            |     a0 = *((gp - 8173));
    0x000107c8 lw t9, -0x7f64(gp)            |     t9 = *(gp);
                                             |     /* str._dl_fixup */
    0x000107cc addiu a3, a3, 0x1a1c          |     a3 += 0x1a1c;
    0x000107d0 addiu a2, zero, 0x50          |     a2 = 0x50;
                                             |     /* str.dl_runtime.c */
    0x000107d4 addiu a1, a1, 0x199c          |     a1 += 0x199c;
                                             |     /* str.ELFW_R_TYPE__reloc__r_info___ELF_MACHINE_JMP_SLOT */
    0x000107d8 addiu a0, a0, 0x19ac          |     a0 += 0x19ac;
    0x000107dc bal 0x1a438                   |     fcn_0001a438 ();
    0x000107e0 lui gp, 3                     |     
    0x000107e4 addiu gp, gp, -0x47e0         |     
    0x000107e8 addu gp, gp, t9               |     gp += t9;
    0x000107ec addiu sp, sp, -0x78           |     
    0x000107f0 sw s0, 0x50(sp)               |     *(var_50h) = s0;
    0x000107f4 lw s0, 0x278(a0)              |     s0 = *((a0 + 158));
    0x000107f8 sw gp, 0x20(sp)               |     *(var_20h_2) = gp;
    0x000107fc sw ra, 0x74(sp)               |     *(var_74h) = ra;
    0x00010800 sw fp, 0x70(sp)               |     *(var_70h) = fp;
    0x00010804 sw s7, 0x6c(sp)               |     *(var_6ch) = s7;
    0x00010808 sw s6, 0x68(sp)               |     *(var_68h) = s6;
    0x0001080c sw s5, 0x64(sp)               |     *(var_64h) = s5;
    0x00010810 sw s4, 0x60(sp)               |     *(var_60h) = s4;
    0x00010814 sw s3, 0x5c(sp)               |     *(var_5ch) = s3;
    0x00010818 sw s2, 0x58(sp)               |     *(var_58h) = s2;
    0x0001081c sw s1, 0x54(sp)               |     *(var_54h) = s1;
    0x00010820 sw a2, 0x80(sp)               |     *(var_80h) = a2;
                                             |     if (s0 == 0) {
    0x00010824 beqz s0, 0x10ca8              |         goto label_26;
                                             |     }
    0x00010828 move s1, a0                   |     s1 = a0;
    0x0001082c srl a0, a1, 3                 |     a0 = a1 >> 3;
    0x00010830 sll v0, a0, 1                 |     v0 = a0 << 1;
    0x00010834 addu v0, v0, a0               |     v0 += a0;
    0x00010838 sll v0, v0, 3                 |     v0 <<= 3;
    0x0001083c addu s0, s0, v0               |     s0 += v0;
    0x00010840 move s6, a3                   |     s6 = a3;
    0x00010844 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x00010848 sync                          |     __asm ("sync");
    0x0001084c lw s4, -0x7fa8(gp)            |     s4 = *(gp);
                                             |     if (v0 == 0) {
    0x00010850 beqz v0, 0x10a20              |         goto label_27;
                                             |     }
    0x00010854 lw s5, (s0)                   |     s5 = *(s0);
                                             | label_10:
    0x00010858 lw v0, 0xcc(s4)               |     v0 = *((s4 + 51));
                                             | label_11:
    0x0001085c addiu s7, zero, -1            |     s7 = -1;
                                             |     if (v0 == 0) {
    0x00010860 beqz v0, 0x109d4              |         goto label_28;
                                             |     }
    0x00010864 lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x00010868 andi a2, a2, 1                |     a2 &= 1;
    0x0001086c lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (a2 != 0) {
    0x00010870 bnez a2, 0x109d8              |         goto label_29;
                                             |     }
    0x00010874 addiu fp, sp, 0x28            |     fp = sp + 0x28;
                                             |     if (s5 == 0) {
    0x00010878 beqz s5, 0x10e34              |         goto label_30;
                                             |     }
    0x0001087c lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00010880 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x00010884 lw a1, 0x10(s0)               |     a1 = *((s0 + 4));
    0x00010888 lw a3, 0x38(a0)               |     a3 = *((a0 + 14));
    0x0001088c lw v1, (a0)                   |     v1 = *(a0);
    0x00010890 sll v0, v0, 4                 |     v0 <<= 4;
    0x00010894 lw a0, 0x34(a0)               |     a0 = *((a0 + 13));
    0x00010898 lw a3, 4(a3)                  |     a3 = *((a3 + 1));
    0x0001089c addu v0, v0, v1               |     v0 += v1;
    0x000108a0 addu v0, v0, a3               |     v0 += a3;
    0x000108a4 lw t0, 4(a0)                  |     t0 = *((a0 + 1));
    0x000108a8 lw a3, 8(v0)                  |     a3 = *((v0 + 2));
    0x000108ac lw a0, (v0)                   |     a0 = *(v0);
    0x000108b0 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x000108b4 addu v1, v1, t0               |     v1 += t0;
    0x000108b8 sw v0, 0x34(sp)               |     *(var_34h_3) = v0;
    0x000108bc addu v0, v1, a0               |     v0 = v1 + a0;
    0x000108c0 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x000108c4 addiu v0, sp, 0x38            |     v0 = sp + 0x38;
    0x000108c8 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x000108cc lw s3, 0xc8(s4)               |     s3 = *((s4 + 50));
    0x000108d0 addiu v0, sp, 0x3c            |     v0 = sp + 0x3c;
    0x000108d4 sw a0, 0x28(sp)               |     *(var_28h_3) = a0;
    0x000108d8 sw a3, 0x30(sp)               |     *(var_30h_2) = a3;
    0x000108dc sw s5, 0x2c(sp)               |     *(var_2ch_2) = s5;
    0x000108e0 sw a1, 0x3c(sp)               |     *(var_3ch_2) = a1;
    0x000108e4 sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
                                             |     do {
    0x000108e8 lw t9, 0x14(s3)               |         t9 = *((s3 + 5));
    0x000108ec addiu s2, a2, 1               |         s2 = a2 + 1;
                                             |         if (t9 != 0) {
    0x000108f0 beqz t9, 0x109bc              |             
    0x000108f4 sll s5, s2, 1                 |             s5 = s2 << 1;
    0x000108f8 lw v1, 0xc(s0)                |             v1 = *((s0 + 3));
    0x000108fc addiu v0, zero, 1             |             v0 = 1;
    0x00010900 sllv v0, v0, s5               |             v0 <<= s5;
    0x00010904 and v0, v0, v1                |             v0 &= v1;
    0x00010908 addiu v0, zero, -1            |             v0 = -1;
                                             |             if (v0 != 0) {
    0x0001090c bnez v0, 0x109bc              |                 goto label_14;
                                             |             }
    0x00010910 lw a3, 4(s0)                  |             a3 = *((s0 + 1));
    0x00010914 lw a1, 8(s0)                  |             a1 = *((s0 + 2));
    0x00010918 sw v0, 0x38(sp)               |             *(var_38h_3) = v0;
    0x0001091c lw v0, 0x44(sp)               |             v0 = *(var_44h_2);
    0x00010920 addiu a2, a2, 0x67            |             a2 += 0x67;
    0x00010924 sw v0, 0x1c(sp)               |             *(var_1ch) = v0;
    0x00010928 lw v0, 0x40(sp)               |             v0 = *(var_40h_2);
    0x0001092c sll a2, a2, 3                 |             a2 <<= 3;
    0x00010930 sw v0, 0x18(sp)               |             *(var_18h_2) = v0;
    0x00010934 lw v0, 0x48(sp)               |             v0 = *(var_48h_2);
    0x00010938 addu a3, a3, a2               |             a3 += a2;
    0x0001093c sw v0, 0x14(sp)               |             *(var_14h_2) = v0;
    0x00010940 sw s6, 0x10(sp)               |             *(var_10h_2) = s6;
    0x00010944 addu a2, s1, a2               |             a2 = s1 + a2;
    0x00010948 move a0, fp                   |             a0 = fp;
    0x0001094c jalr t9                       |             t9 ();
    0x00010950 lw v1, 0x2c(sp)               |             v1 = *(var_2ch_2);
    0x00010954 lw gp, 0x20(sp)               |             gp = *(var_20h_2);
                                             |             if (v1 == v0) {
    0x00010958 beq v1, v0, 0x10ca0           |                 goto label_31;
                                             |             }
    0x0001095c lw v1, 0x3c(sp)               |             v1 = *(var_3ch_2);
    0x00010960 sw v0, 0x2c(sp)               |             *(var_2ch_2) = v0;
    0x00010964 ori v1, v1, 0x10              |             v1 |= 0x10;
    0x00010968 sw v1, 0x3c(sp)               |             *(var_3ch_2) = v1;
                                             | label_5:
    0x0001096c lw a0, 0xc(s0)                |             a0 = *((s0 + 3));
    0x00010970 andi v0, v1, 3                |             v0 = v1 & 3;
    0x00010974 sllv v0, v0, s5               |             v0 <<= s5;
    0x00010978 addiu v1, zero, 2             |             v1 = 2;
    0x0001097c or v0, v0, a0                 |             v0 |= a0;
    0x00010980 sllv s5, v1, s5               |             s5 = v1 << s5;
    0x00010984 and s5, s5, v0                |             s5 &= v0;
    0x00010988 sw v0, 0xc(s0)                |             *((s0 + 3)) = v0;
                                             |             if (s5 != 0) {
    0x0001098c bnez s5, 0x109bc              |                 goto label_14;
                                             |             }
    0x00010990 lw v0, 0x38(sp)               |             v0 = *(var_38h_3);
    0x00010994 addiu a0, zero, -1            |             a0 = -1;
    0x00010998 addiu v1, zero, -2            |             v1 = -2;
                                             |             if (v0 == a0) {
    0x0001099c beq v0, a0, 0x109bc           |                 goto label_14;
                                             |             }
                                             |             if (s7 == v1) {
    0x000109a0 beq s7, v1, 0x109bc           |                 goto label_14;
                                             |             }
    0x000109a4 nop                           |             
                                             |             if (s7 == a0) {
    0x000109a8 beq s7, a0, 0x10d80           |                 goto label_32;
                                             |             }
    0x000109ac nop                           |             
    0x000109b0 slt v1, s7, v0                |             v1 = (s7 < v0) ? 1 : 0;
                                             |             if (s7 == v0) {
    0x000109b4 beq s7, v0, 0x109bc           |                 goto label_14;
                                             |             }
                                             |             if (v1 != 0) {
    0x000109b8 movn s7, v0, v1               |                 s7 = v0;
                                             |                 goto label_14;
                                             |             }
                                             |         }
                                             | label_14:
    0x000109bc lw v0, 0xcc(s4)               |         v0 = *((s4 + 51));
    0x000109c0 lw s3, 0x20(s3)               |         s3 = *((s3 + 8));
    0x000109c4 sltu v0, s2, v0               |         v0 = (s2 < v0) ? 1 : 0;
    0x000109c8 move a2, s2                   |         a2 = s2;
    0x000109cc bnez v0, 0x108e8              |         
                                             |     } while (v0 != 0);
    0x000109d0 lw s5, 0x2c(sp)               |     s5 = *(var_2ch_2);
                                             | label_28:
    0x000109d4 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             | label_29:
    0x000109d8 lw a0, 0x80(sp)               |     a0 = *(var_80h);
    0x000109dc lw t9, -0x7e24(gp)            |     t9 = sym._dl_mcount;
    0x000109e0 sw s7, (v0)                   |     *(v0) = s7;
    0x000109e4 move a1, s5                   |     a1 = s5;
    0x000109e8 bal 0x134e0                   |     sym_dl_mcount ();
    0x000109ec lw ra, 0x74(sp)               |     ra = *(var_74h);
    0x000109f0 move v0, s5                   |     v0 = s5;
    0x000109f4 lw fp, 0x70(sp)               |     fp = *(var_70h);
    0x000109f8 lw s7, 0x6c(sp)               |     s7 = *(var_6ch);
    0x000109fc lw s6, 0x68(sp)               |     s6 = *(var_68h);
    0x00010a00 lw s5, 0x64(sp)               |     s5 = *(var_64h);
    0x00010a04 lw s4, 0x60(sp)               |     s4 = *(var_60h);
    0x00010a08 lw s3, 0x5c(sp)               |     s3 = *(var_5ch);
    0x00010a0c lw s2, 0x58(sp)               |     s2 = *(var_58h);
    0x00010a10 lw s1, 0x54(sp)               |     s1 = *(var_54h);
    0x00010a14 lw s0, 0x50(sp)               |     s0 = *(var_50h);
    0x00010a18 addiu sp, sp, 0x78            |     
    0x00010a1c jr ra                         |     return v0;
                                             | label_27:
    0x00010a20 lw a0, 0x7c(s1)               |     a0 = *((s1 + 31));
    0x00010a24 lw s5, (s1)                   |     s5 = *(s1);
    0x00010a28 lw v0, 0x38(s1)               |     v0 = *((s1 + 14));
    0x00010a2c lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x00010a30 addu v1, s5, a1               |     v1 = s5 + a1;
    0x00010a34 addu v1, v1, a0               |     v1 += a0;
    0x00010a38 lw a0, 0x34(s1)               |     a0 = *((s1 + 13));
    0x00010a3c lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x00010a40 lw a1, 4(v0)                  |     a1 = *((v0 + 1));
    0x00010a44 srl v0, v1, 8                 |     v0 = v1 >> 8;
    0x00010a48 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x00010a4c sll a2, v0, 4                 |     a2 = v0 << 4;
    0x00010a50 addu a1, s5, a1               |     a1 = s5 + a1;
    0x00010a54 addu a1, a1, a2               |     a1 += a2;
    0x00010a58 andi v1, v1, 0xff             |     v1 &= 0xff;
    0x00010a5c addiu a2, zero, 0x7f          |     a2 = 0x7f;
    0x00010a60 addu a0, s5, a0               |     a0 = s5 + a0;
    0x00010a64 sw a1, 0x3c(sp)               |     *(var_3ch_2) = a1;
                                             |     if (v1 != a2) {
    0x00010a68 bne v1, a2, 0x10e10           |         goto label_33;
                                             |     }
    0x00010a6c lbu v1, 0xd(a1)               |     v1 = *((a1 + 13));
    0x00010a70 andi v1, v1, 3                |     v1 &= 3;
    0x00010a74 addiu v1, zero, 0xa           |     v1 = 0xa;
                                             |     if (v1 != 0) {
    0x00010a78 bnez v1, 0x10cfc              |         goto label_34;
                                             |     }
    0x00010a7c lw v1, 0x1bc(s1)              |     v1 = *((s1 + 111));
                                             |     if (v1 == 0) {
    0x00010a80 beqz v1, 0x10d5c              |         goto label_35;
                                             |     }
    0x00010a84 nop                           |     
    0x00010a88 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x00010a8c sll v0, v0, 1                 |     v0 <<= 1;
    0x00010a90 addu v0, v0, s5               |     v0 += s5;
    0x00010a94 addu v0, v0, v1               |     v0 += v1;
    0x00010a98 lw v1, 0x248(s1)              |     v1 = *((s1 + 146));
    0x00010a9c lhu v0, (v0)                  |     v0 = *(v0);
    0x00010aa0 andi v0, v0, 0x7fff           |     v0 &= 0x7fff;
    0x00010aa4 sll v0, v0, 4                 |     v0 <<= 4;
    0x00010aa8 addu v0, v1, v0               |     v0 = v1 + v0;
    0x00010aac lw v1, 4(v0)                  |     v1 = *((v0 + 1));
                                             |     if (v1 != 0) {
    0x00010ab0 movz v0, zero, v1             |         v0 = 0;
                                             |     }
                                             | label_13:
    0x00010ab4 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00010ab8 lw v1, -0x7490(v1)            |     v1 = *((v1 - 7460));
    0x00010abc addiu a2, zero, 1             |     a2 = 1;
                                             |     if (v1 != 0) {
    0x00010ac0 bnez v1, 0x10d90              |         goto label_36;
                                             |     }
                                             | label_16:
    0x00010ac4 lw v1, (a1)                   |     v1 = *(a1);
    0x00010ac8 lw a3, 0x2a4(s1)              |     a3 = *((s1 + 169));
    0x00010acc lw t9, -0x7fcc(gp)            |     t9 = *(gp);
    0x00010ad0 addiu a1, zero, 1             |     a1 = 1;
    0x00010ad4 sw a2, 0x18(sp)               |     *(var_18h_2) = a2;
    0x00010ad8 sw a1, 0x14(sp)               |     *(var_14h_2) = a1;
    0x00010adc sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00010ae0 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00010ae4 addiu a2, sp, 0x3c            |     a2 = sp + 0x3c;
    0x00010ae8 move a1, s1                   |     a1 = s1;
    0x00010aec addu a0, a0, v1               |     a0 += v1;
    0x00010af0 bal 0xb070                    |     fcn_0000b070 ();
    0x00010af4 move s2, v0                   |     s2 = v0;
    0x00010af8 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00010afc rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00010b00 lw v0, -0x7490(v1)            |     v0 = *((v1 - 7460));
                                             |     if (v0 != 0) {
    0x00010b04 bnez v0, 0x10da4              |         goto label_37;
                                             |     }
    0x00010b08 nop                           |     
                                             | label_17:
    0x00010b0c lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
                                             | label_18:
    0x00010b10 lw s4, -0x7fa8(gp)            |     s4 = *(gp);
                                             |     if (a1 == 0) {
    0x00010b14 beqz a1, 0x10d54              |         goto label_38;
                                             |     }
                                             |     if (s2 == 0) {
    0x00010b18 beqz s2, 0x10cf4              |         goto label_39;
                                             |     }
    0x00010b1c nop                           |     
    0x00010b20 lw s5, (s2)                   |     s5 = *(s2);
                                             | label_7:
    0x00010b24 lbu v0, 0xc(a1)               |     v0 = *((a1 + 12));
    0x00010b28 lw a0, 4(a1)                  |     a0 = *((a1 + 1));
    0x00010b2c andi v0, v0, 0xf              |     v0 &= 0xf;
    0x00010b30 addiu v1, zero, 0xa           |     v1 = 0xa;
    0x00010b34 addu s5, s5, a0               |     s5 += a0;
                                             |     if (v0 == v1) {
    0x00010b38 beq v0, v1, 0x10df4           |         goto label_40;
                                             |     }
                                             | label_8:
    0x00010b3c lw s4, -0x7fa8(gp)            |     s4 = *(gp);
                                             | label_9:
    0x00010b40 lw v0, 0xcc(s4)               |     v0 = *((s4 + 51));
                                             |     if (v0 == 0) {
    0x00010b44 beqz v0, 0x10d34              |         goto label_12;
                                             |     }
    0x00010b48 nop                           |     
    0x00010b4c lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
    0x00010b50 lw a0, (s2)                   |     a0 = *(s2);
    0x00010b54 lw a2, 0x26c(s1)              |     a2 = *((s1 + 155));
    0x00010b58 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00010b5c lw v1, 0x26c(s2)              |     v1 = *((s2 + 155));
    0x00010b60 addu v0, a0, v0               |     v0 = a0 + v0;
    0x00010b64 subu v0, a1, v0               |     __asm ("subu v0, a1, v0");
    0x00010b68 or v1, v1, a2                 |     v1 |= a2;
    0x00010b6c sra v0, v0, 4                 |     v0 >>= 4;
    0x00010b70 ext v1, v1, 0xc, 1            |     __asm ("ext v1, v1, 0xc, 1");
    0x00010b74 sw s2, 4(s0)                  |     *((s0 + 1)) = s2;
    0x00010b78 sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
                                             |     if (v1 == 0) {
    0x00010b7c beqz v1, 0x10d64              |         goto label_41;
                                             |     }
    0x00010b80 lw v0, 0x34(s2)               |     v0 = *((s2 + 13));
    0x00010b84 sw zero, 0x38(sp)             |     *(var_38h_3) = 0;
    0x00010b88 lw a3, (a1)                   |     a3 = *(a1);
    0x00010b8c lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00010b90 lw a2, 8(a1)                  |     a2 = *((a1 + 2));
    0x00010b94 lw v1, 0xc(a1)                |     v1 = *((a1 + 3));
    0x00010b98 addu v0, a0, v0               |     v0 = a0 + v0;
    0x00010b9c sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00010ba0 addiu v0, zero, 3             |     v0 = 3;
    0x00010ba4 sw s5, 0x2c(sp)               |     *(var_2ch_2) = s5;
    0x00010ba8 lw s7, 0xc8(s4)               |     s7 = *((s4 + 50));
    0x00010bac sw a3, 0x28(sp)               |     *(var_28h_3) = a3;
    0x00010bb0 sw a2, 0x30(sp)               |     *(var_30h_2) = a2;
    0x00010bb4 sw v1, 0x34(sp)               |     *(var_34h_3) = v1;
    0x00010bb8 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
    0x00010bbc addiu v0, sp, 0x38            |     v0 = sp + 0x38;
    0x00010bc0 addiu s5, s1, 0x33c           |     s5 = s1 + aav.0x0000033c;
    0x00010bc4 addiu s2, s2, 0x33c           |     s2 += aav.0x0000033c;
    0x00010bc8 addiu s3, zero, 1             |     s3 = 1;
    0x00010bcc sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x00010bd0 addiu fp, sp, 0x28            |     fp = sp + 0x28;
    0x00010bd4 b 0x10c74                     |     
                                             |     while (v0 != 0) {
    0x00010bd8 lw v0, (s2)                   |         v0 = *(s2);
    0x00010bdc andi v0, v0, 1                |         v0 &= 1;
                                             |         if (v0 == 0) {
    0x00010be0 beqz v0, 0x10c84              |             goto label_42;
                                             |         }
    0x00010be4 nop                           |         
    0x00010be8 lw t9, 0x10(s7)               |         t9 = *((s7 + 4));
    0x00010bec lw v1, 0x40(sp)               |         v1 = *(var_40h_2);
                                             |         if (t9 == 0) {
    0x00010bf0 beqz t9, 0x10d88              |             goto label_43;
                                             |         }
    0x00010bf4 lw v0, 0x3c(sp)               |         v0 = *(var_3ch_2);
    0x00010bf8 lw a1, 8(s0)                  |         a1 = *((s0 + 2));
    0x00010bfc lw v0, (v0)                   |         v0 = *(v0);
    0x00010c00 addiu a3, s2, -4              |         a3 = s2 + -4;
    0x00010c04 addu v0, v1, v0               |         v0 = v1 + v0;
    0x00010c08 sw v0, 0x14(sp)               |         *(var_14h_2) = v0;
    0x00010c0c lw v0, 0x44(sp)               |         v0 = *(var_44h_2);
    0x00010c10 addiu a2, s5, -4              |         a2 = s5 + -4;
    0x00010c14 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00010c18 move a0, fp                   |         a0 = fp;
    0x00010c1c jalr t9                       |         t9 ();
    0x00010c20 lw v1, 0x2c(sp)               |         v1 = *(var_2ch_2);
    0x00010c24 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
                                             |         if (v1 == v0) {
    0x00010c28 beq v1, v0, 0x10d88           |             goto label_43;
                                             |         }
    0x00010c2c sw v0, 0x2c(sp)               |         *(var_2ch_2) = v0;
    0x00010c30 lw v0, 0x38(sp)               |         v0 = *(var_38h_3);
    0x00010c34 ori v0, v0, 0x10              |         v0 |= 0x10;
    0x00010c38 sw v0, 0x38(sp)               |         *(var_38h_3) = v0;
                                             | label_15:
    0x00010c3c lw v1, 0xc(s0)                |         v1 = *((s0 + 3));
    0x00010c40 andi v0, v0, 3                |         v0 &= 3;
    0x00010c44 sll a0, s3, 1                 |         a0 = s3 << 1;
    0x00010c48 and v1, v0, v1                |         v1 = v0 & v1;
    0x00010c4c sllv v0, v0, a0               |         v0 <<= a0;
    0x00010c50 or v0, v1, v0                 |         v0 = v1 | v0;
    0x00010c54 sw v0, 0xc(s0)                |         *((s0 + 3)) = v0;
                                             | label_4:
    0x00010c58 lw v0, 0xcc(s4)               |         v0 = *((s4 + 51));
    0x00010c5c lw s7, 0x20(s7)               |         s7 = *((s7 + 8));
    0x00010c60 sltu v0, s3, v0               |         v0 = (s3 < v0) ? 1 : 0;
    0x00010c64 addiu s5, s5, 8               |         s5 += 8;
    0x00010c68 addiu s3, s3, 1               |         s3++;
    0x00010c6c addiu s2, s2, 8               |         s2 += 8;
                                             |         if (v0 == 0) {
    0x00010c70 beqz v0, 0x10d70              |             goto label_44;
                                             |         }
    0x00010c74 lw v0, (s5)                   |         v0 = *(s5);
    0x00010c78 andi v0, v0, 2                |         v0 &= 2;
    0x00010c7c bnez v0, 0x10bd8              |         
                                             |     }
    0x00010c80 nop                           |     
                                             | label_42:
    0x00010c84 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x00010c88 sll v1, s3, 1                 |     v1 = s3 << 1;
    0x00010c8c addiu a0, zero, 3             |     a0 = 3;
    0x00010c90 sllv v1, a0, v1               |     v1 = a0 << v1;
    0x00010c94 or v0, v0, v1                 |     v0 |= v1;
    0x00010c98 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
    0x00010c9c b 0x10c58                     |     goto label_4;
                                             | label_31:
    0x00010ca0 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x00010ca4 b 0x1096c                     |     goto label_5;
                                             | label_26:
    0x00010ca8 lw v1, 0x88(sp)               |     v1 = *(var_88h);
    0x00010cac addiu v0, zero, -1            |     v0 = -1;
    0x00010cb0 lw t9, -0x7e20(gp)            |     t9 = *(gp);
    0x00010cb4 sw v0, (v1)                   |     *(v1) = v0;
    0x00010cb8 bal 0x105d0                   |     fcn_000105d0 ();
                                             |     goto label_6;
    0x00010cbc lw ra, 0x74(sp)               |     ra = *(var_74h);
    0x00010cc0 move s5, v0                   |     s5 = v0;
    0x00010cc4 move v0, s5                   |     v0 = s5;
    0x00010cc8 lw fp, 0x70(sp)               |     fp = *(var_70h);
    0x00010ccc lw s7, 0x6c(sp)               |     s7 = *(var_6ch);
    0x00010cd0 lw s6, 0x68(sp)               |     s6 = *(var_68h);
    0x00010cd4 lw s5, 0x64(sp)               |     s5 = *(var_64h);
    0x00010cd8 lw s4, 0x60(sp)               |     s4 = *(var_60h);
    0x00010cdc lw s3, 0x5c(sp)               |     s3 = *(var_5ch);
    0x00010ce0 lw s2, 0x58(sp)               |     s2 = *(var_58h);
    0x00010ce4 lw s1, 0x54(sp)               |     s1 = *(var_54h);
    0x00010ce8 lw s0, 0x50(sp)               |     s0 = *(var_50h);
    0x00010cec addiu sp, sp, 0x78            |     
    0x00010cf0 jr ra                         |     return v0;
                                             | label_39:
    0x00010cf4 move s5, zero                 |     s5 = 0;
    0x00010cf8 b 0x10b24                     |     goto label_7;
                                             | label_34:
    0x00010cfc lbu v0, 0xc(a1)               |     v0 = *((a1 + 12));
    0x00010d00 lw a0, 4(a1)                  |     a0 = *((a1 + 1));
    0x00010d04 andi v0, v0, 0xf              |     v0 &= 0xf;
    0x00010d08 addu s5, s5, a0               |     s5 += a0;
    0x00010d0c move s2, s1                   |     s2 = s1;
                                             |     if (v0 != v1) {
    0x00010d10 bne v0, v1, 0x10b3c           |         goto label_8;
                                             |     }
    0x00010d14 move t9, s5                   |     t9 = s5;
    0x00010d18 jalr t9                       |     t9 ();
    0x00010d1c nop                           |     
    0x00010d20 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00010d24 lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
    0x00010d28 move s5, v0                   |     s5 = v0;
                                             | label_19:
    0x00010d2c lw s4, -0x7fa8(gp)            |     s4 = *(gp);
                                             |     if (a1 != 0) {
    0x00010d30 bnez a1, 0x10b40              |         goto label_9;
                                             |     }
                                             | label_12:
    0x00010d34 lw v0, 0x30(s4)               |     v0 = *((s4 + 12));
    0x00010d38 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 != 0) {
    0x00010d3c bnez v0, 0x10858              |         goto label_10;
                                             |     }
    0x00010d40 sw s5, (s0)                   |     *(s0) = s5;
    0x00010d44 sync                          |     __asm ("sync");
    0x00010d48 sw v0, 0x14(s0)               |     *((s0 + 5)) = v0;
    0x00010d4c lw v0, 0xcc(s4)               |     v0 = *((s4 + 51));
    0x00010d50 b 0x1085c                     |     goto label_11;
                                             | label_38:
    0x00010d54 move s5, zero                 |     s5 = 0;
    0x00010d58 b 0x10d34                     |     goto label_12;
                                             | label_35:
    0x00010d5c move v0, zero                 |     v0 = 0;
    0x00010d60 b 0x10ab4                     |     goto label_13;
                                             | label_41:
    0x00010d64 ori v0, zero, 0xffff          |     v0 = 0xffff;
    0x00010d68 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
    0x00010d6c b 0x10d34                     |     goto label_12;
                                             | label_44:
    0x00010d70 lw v0, 0x38(sp)               |     v0 = *(var_38h_3);
    0x00010d74 lw s5, 0x2c(sp)               |     s5 = *(var_2ch_2);
    0x00010d78 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x00010d7c b 0x10d34                     |     goto label_12;
                                             | label_32:
    0x00010d80 move s7, v0                   |     s7 = v0;
    0x00010d84 b 0x109bc                     |     goto label_14;
                                             | label_43:
    0x00010d88 lw v0, 0x38(sp)               |     v0 = *(var_38h_3);
    0x00010d8c b 0x10c3c                     |     goto label_15;
                                             | label_36:
    0x00010d90 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00010d94 sw a2, -0x748c(v1)            |     *((v1 - 7459)) = a2;
    0x00010d98 sync                          |     __asm ("sync");
    0x00010d9c addiu a2, zero, 5             |     a2 = 5;
    0x00010da0 b 0x10ac4                     |     goto label_16;
                                             | label_37:
    0x00010da4 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00010da8 move v0, v1                   |     v0 = v1;
    0x00010dac sync                          |     __asm ("sync");
                                             |     do {
    0x00010db0 ll v1, -0x748c(v0)            |         __asm ("ll v1, -0x748c(v0)");
    0x00010db4 addiu at, zero, 0             |         at = 0;
    0x00010db8 sc at, -0x748c(v0)            |         __asm ("sc at, -0x748c(v0)");
    0x00010dbc beqz at, 0x10db0              |         
                                             |     } while (at == 0);
    0x00010dc0 nop                           |     
    0x00010dc4 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (v1 != v0) {
    0x00010dc8 bne v1, v0, 0x10b0c           |         goto label_17;
                                             |     }
    0x00010dcc nop                           |     
    0x00010dd0 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00010dd4 addiu a1, zero, 0x81          |     a1 = 0x81;
    0x00010dd8 addiu a0, v1, -0x748c         |     a0 = v1 + -0x748c;
    0x00010ddc addiu a2, zero, 1             |     a2 = 1;
    0x00010de0 move a3, zero                 |     a3 = 0;
    0x00010de4 addiu v0, zero, 0x108e        |     v0 = 0x108e;
    0x00010de8 syscall                       |     __asm ("syscall");
    0x00010dec lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
    0x00010df0 b 0x10b10                     |     goto label_18;
                                             | label_40:
    0x00010df4 move t9, s5                   |     t9 = s5;
    0x00010df8 jalr t9                       |     t9 ();
    0x00010dfc nop                           |     
    0x00010e00 move s5, v0                   |     s5 = v0;
    0x00010e04 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00010e08 lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
    0x00010e0c b 0x10d2c                     |     goto label_19;
                                             | label_33:
    0x00010e10 lw a3, -0x7fb4(gp)            |     a3 = *((gp - 8173));
    0x00010e14 lw a1, -0x7fb4(gp)            |     a1 = *((gp - 8173));
    0x00010e18 lw a0, -0x7fb4(gp)            |     a0 = *((gp - 8173));
    0x00010e1c lw t9, -0x7f64(gp)            |     t9 = *(gp);
                                             |     /* str._dl_profile_fixup */
    0x00010e20 addiu a3, a3, 0x1a08          |     a3 += 0x1a08;
    0x00010e24 addiu a2, zero, 0xe6          |     a2 = 0xe6;
                                             |     /* str.dl_runtime.c */
    0x00010e28 addiu a1, a1, 0x199c          |     a1 += 0x199c;
                                             |     /* str.ELFW_R_TYPE__reloc__r_info___ELF_MACHINE_JMP_SLOT */
    0x00010e2c addiu a0, a0, 0x19ac          |     a0 += 0x19ac;
    0x00010e30 bal 0x1a438                   |     fcn_0001a438 ();
                                             | label_30:
    0x00010e34 lw a3, -0x7fb4(gp)            |     a3 = *((gp - 8173));
    0x00010e38 lw a1, -0x7fb4(gp)            |     a1 = *((gp - 8173));
    0x00010e3c lw a0, -0x7fb4(gp)            |     a0 = *((gp - 8173));
    0x00010e40 lw t9, -0x7f64(gp)            |     t9 = *(gp);
                                             |     /* str._dl_profile_fixup */
    0x00010e44 addiu a3, a3, 0x1a08          |     a3 += 0x1a08;
    0x00010e48 addiu a2, zero, 0x192         |     a2 = 0x192;
                                             |     /* str.dl_runtime.c */
    0x00010e4c addiu a1, a1, 0x199c          |     a1 += 0x199c;
                                             |     /* str.DL_FIXUP_VALUE_CODE_ADDR__value____0 */
    0x00010e50 addiu a0, a0, 0x19e0          |     a0 += 0x19e0;
    0x00010e54 bal 0x1a438                   |     fcn_0001a438 ();
    0x00010e58 lui gp, 3                     |     
    0x00010e5c addiu gp, gp, -0x4e58         |     
    0x00010e60 addu gp, gp, t9               |     gp += t9;
    0x00010e64 addiu sp, sp, -0x68           |     
    0x00010e68 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x00010e6c srl s2, a1, 3                 |     s2 = a1 >> 3;
    0x00010e70 sll a1, s2, 1                 |     a1 = s2 << 1;
    0x00010e74 addu a1, a1, s2               |     a1 += s2;
    0x00010e78 lw s2, 0x278(a0)              |     s2 = *((a0 + 158));
    0x00010e7c sll a1, a1, 3                 |     a1 <<= 3;
    0x00010e80 addu s2, s2, a1               |     s2 += a1;
    0x00010e84 sw s5, 0x54(sp)               |     *(var_54h_2) = s5;
    0x00010e88 lw a1, 4(s2)                  |     a1 = *((s2 + 1));
    0x00010e8c lw v0, 8(s2)                  |     v0 = *((s2 + 2));
    0x00010e90 lw s5, -0x7fa8(gp)            |     s5 = *(gp);
    0x00010e94 lw t1, 0x38(a1)               |     t1 = *((a1 + 14));
    0x00010e98 lw v1, (a1)                   |     v1 = *(a1);
    0x00010e9c sll v0, v0, 4                 |     v0 <<= 4;
    0x00010ea0 lw t1, 4(t1)                  |     t1 = *((t1 + 1));
    0x00010ea4 lw a1, 0x34(a1)               |     a1 = *((a1 + 13));
    0x00010ea8 addu v0, v0, v1               |     v0 += v1;
    0x00010eac addu v0, v0, t1               |     v0 += t1;
    0x00010eb0 lw t2, 4(a1)                  |     t2 = *((a1 + 1));
    0x00010eb4 lw t0, (s2)                   |     t0 = *(s2);
    0x00010eb8 lw t1, 8(v0)                  |     t1 = *((v0 + 2));
    0x00010ebc lw a1, 0xc(v0)                |     a1 = *((v0 + 3));
    0x00010ec0 sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00010ec4 lw s3, (v0)                   |     s3 = *(v0);
    0x00010ec8 lw v0, 0xcc(s5)               |     v0 = *((s5 + 51));
    0x00010ecc sw gp, 0x20(sp)               |     *(var_20h_3) = gp;
    0x00010ed0 addu v1, v1, t2               |     v1 += t2;
    0x00010ed4 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x00010ed8 sw s3, 0x28(sp)               |     *(var_28h_2) = s3;
    0x00010edc sw ra, 0x64(sp)               |     *(var_64h_2) = ra;
    0x00010ee0 sw fp, 0x60(sp)               |     *(var_60h_2) = fp;
    0x00010ee4 sw s7, 0x5c(sp)               |     *(var_5ch_2) = s7;
    0x00010ee8 sw s6, 0x58(sp)               |     *(var_58h_2) = s6;
    0x00010eec sw s4, 0x50(sp)               |     *(var_50h_2) = s4;
    0x00010ef0 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00010ef4 sw t1, 0x30(sp)               |     *(var_30h) = t1;
    0x00010ef8 sw a1, 0x34(sp)               |     *(var_34h_2) = a1;
    0x00010efc sw t0, 0x2c(sp)               |     *(var_2ch) = t0;
    0x00010f00 addu s3, v1, s3               |     s3 = v1 + s3;
    0x00010f04 lw s1, 0xc8(s5)               |     s1 = *((s5 + 50));
                                             |     if (v0 == 0) {
    0x00010f08 beqz v0, 0x10f88              |         goto label_45;
                                             |     }
    0x00010f0c move s7, a3                   |     s7 = a3;
    0x00010f10 sw a2, 0x38(sp)               |     *(var_38h_2) = a2;
    0x00010f14 move s0, zero                 |     s0 = 0;
    0x00010f18 addiu s6, zero, 2             |     s6 = 2;
    0x00010f1c addiu s4, a0, 0x338           |     s4 = a0 + 0x338;
    0x00010f20 addiu fp, sp, 0x28            |     fp = sp + 0x28;
                                             |     do {
    0x00010f24 addiu v0, s0, 0x67            |         v0 = s0 + 0x67;
    0x00010f28 lw t9, 0x18(s1)               |         t9 = *((s1 + 6));
    0x00010f2c sll v1, s0, 1                 |         v1 = s0 << 1;
    0x00010f30 sll v0, v0, 3                 |         v0 <<= 3;
    0x00010f34 srav v1, s6, v1               |         __asm ("srav v1, s6, v1");
    0x00010f38 addiu s0, s0, 1               |         s0++;
    0x00010f3c addiu a2, v0, -0x338          |         a2 = v0 + -0x338;
                                             |         if (t9 != 0) {
    0x00010f40 beqz t9, 0x10f78              |             
    0x00010f44 lw a0, 0xc(s2)                |             a0 = *((s2 + 3));
    0x00010f48 and v1, v1, a0                |             v1 &= a0;
    0x00010f4c addu a2, s4, a2               |             a2 = s4 + a2;
                                             |             if (v1 != 0) {
    0x00010f50 bnez v1, 0x10f78              |                 goto label_46;
                                             |             }
    0x00010f54 lw a3, 4(s2)                  |             a3 = *((s2 + 1));
    0x00010f58 lw a1, 8(s2)                  |             a1 = *((s2 + 2));
    0x00010f5c addu a3, a3, v0               |             a3 += v0;
    0x00010f60 lw v0, 0x38(sp)               |             v0 = *(var_38h_2);
    0x00010f64 sw s3, 0x18(sp)               |             *(var_18h) = s3;
    0x00010f68 sw s7, 0x14(sp)               |             *(var_14h) = s7;
    0x00010f6c sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x00010f70 move a0, fp                   |             a0 = fp;
    0x00010f74 jalr t9                       |             t9 ();
                                             |         }
                                             | label_46:
    0x00010f78 lw v0, 0xcc(s5)               |         v0 = *((s5 + 51));
    0x00010f7c sltu v0, s0, v0               |         v0 = (s0 < v0) ? 1 : 0;
    0x00010f80 lw s1, 0x20(s1)               |         s1 = *((s1 + 8));
    0x00010f84 bnez v0, 0x10f24              |         
                                             |     } while (v0 != 0);
                                             | label_45:
    0x00010f88 lw ra, 0x64(sp)               |     ra = *(var_64h_2);
    0x00010f8c lw fp, 0x60(sp)               |     fp = *(var_60h_2);
    0x00010f90 lw s7, 0x5c(sp)               |     s7 = *(var_5ch_2);
    0x00010f94 lw s6, 0x58(sp)               |     s6 = *(var_58h_2);
    0x00010f98 lw s5, 0x54(sp)               |     s5 = *(var_54h_2);
    0x00010f9c lw s4, 0x50(sp)               |     s4 = *(var_50h_2);
    0x00010fa0 lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x00010fa4 lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x00010fa8 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00010fac lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x00010fb0 addiu sp, sp, 0x68            |     
    0x00010fb4 jr ra                         |     return v0;
                                             | }

[*] Function mmap used 1 times ld-2.27.so