[*] Binary protection state of libncurses.so.6

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


[*] Function system tear down of libncurses.so.6

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/var/bluetooth/lib/libncurses.so.6 @ 0x26e5c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym._nc_align_termtype ()        | void nc_align_termtype () {
    0x00026e5c lui gp, 3                     |     
    0x00026e60 addiu gp, gp, 0x1d04          |     
    0x00026e64 addu gp, gp, t9               |     gp += t9;
    0x00026e68 addiu sp, sp, -0x50           |     
    0x00026e6c sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x00026e70 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x00026e74 sw s7, 0x44(sp)               |     *(var_44h) = s7;
    0x00026e78 sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x00026e7c sw s5, 0x3c(sp)               |     *(var_3ch) = s5;
    0x00026e80 sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x00026e84 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x00026e88 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x00026e8c sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x00026e90 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x00026e94 move s1, a0                   |     s1 = a0;
    0x00026e98 lhu s4, 0x22(a0)              |     s4 = *((a0 + 17));
    0x00026e9c move s0, a1                   |     s0 = a1;
    0x00026ea0 lhu s3, 0x24(a0)              |     s3 = *((a0 + 18));
    0x00026ea4 lhu s7, 0x26(a0)              |     s7 = *((a0 + 19));
    0x00026ea8 lhu t8, 0x22(a1)              |     t8 = *((a1 + 17));
    0x00026eac addu s3, s4, s3               |     s3 = s4 + s3;
    0x00026eb0 lhu fp, 0x24(a1)              |     fp = *((a1 + 18));
    0x00026eb4 addu s3, s3, s7               |     s3 += s7;
    0x00026eb8 lhu s6, 0x26(a1)              |     s6 = *((a1 + 19));
    0x00026ebc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00026ec0 addu fp, t8, fp               |     fp = t8 + fp;
    0x00026ec4 addu s5, fp, s6               |     s5 = fp + s6;
                                             |     if (s3 != 0) {
    0x00026ec8 bnez s3, 0x270fc              |         goto label_6;
                                             |     }
    0x00026ecc lw ra, 0x4c(sp)               |     ra = *(var_4ch);
                                             |     if (s5 == 0) {
    0x00026ed0 beqz s5, 0x270d0              |         goto label_7;
                                             |     }
    0x00026ed4 lw t9, -0x7aec(gp)            |     t9 = *((gp - 7867));
                                             |     do {
                                             | label_0:
    0x00026ed8 addu a0, s3, s5               |         a0 = s3 + s5;
    0x00026edc sll a0, a0, 2                 |         a0 <<= 2;
    0x00026ee0 jalr t9                       |         t9 ();
    0x00026ee4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00026ee8 move s2, v0                   |         s2 = v0;
                                             |         if (v0 == 0) {
    0x00026eec beqz v0, 0x271b4              |             goto label_8;
                                             |         }
                                             |         if (s7 != 0) {
    0x00026ef0 beqz s7, 0x26f00              |             
    0x00026ef4 nop                           |             
    0x00026ef8 lw t9, -0x7fcc(gp)            |             t9 = *((gp - 8179));
                                             |             if (fp != 0) {
    0x00026efc bnez fp, 0x27170              |                 goto label_9;
                                             |             }
                                             |         }
    0x00026f00 lw s6, -0x7fcc(gp)            |         s6 = *((gp - 8179));
                                             |         if (s6 != 0) {
    0x00026f04 beqz s6, 0x26f1c              |             
    0x00026f08 lhu t8, 0x24(s1)              |             t8 = *((s1 + 18));
                                             | label_5:
    0x00026f0c addu t8, t8, s4               |             t8 += s4;
    0x00026f10 lw t9, -0x7fcc(gp)            |             t9 = *((gp - 8179));
                                             |             if (t8 != 0) {
    0x00026f14 bnez t8, 0x27198              |                 goto label_10;
                                             |             }
                                             | label_4:
    0x00026f18 lw s6, -0x7fcc(gp)            |             s6 = *((gp - 8179));
                                             |         }
    0x00026f1c move a2, s4                   |         a2 = s4;
    0x00026f20 lhu t8, 0x22(s0)              |         t8 = *((s0 + 17));
    0x00026f24 move a0, s2                   |         a0 = s2;
    0x00026f28 addiu s6, s6, 0x5db0          |         s6 += 0x5db0;
    0x00026f2c lw a1, 0x18(s1)               |         a1 = *((s1 + 6));
    0x00026f30 move t9, s6                   |         t9 = s6;
    0x00026f34 lw a3, 0x18(s0)               |         a3 = *((s0 + 6));
    0x00026f38 sw t8, 0x10(sp)               |         *(var_10h_2) = t8;
    0x00026f3c jalr t9                       |         t9 ();
    0x00026f40 move t9, s6                   |         t9 = s6;
    0x00026f44 lhu v1, 0x22(s1)              |         v1 = *((s1 + 17));
    0x00026f48 move s4, v0                   |         s4 = v0;
    0x00026f4c lhu v0, 0x22(s0)              |         v0 = *((s0 + 17));
    0x00026f50 sll a0, s4, 2                 |         a0 = s4 << 2;
    0x00026f54 lw a1, 0x18(s1)               |         a1 = *((s1 + 6));
    0x00026f58 sll v1, v1, 2                 |         v1 <<= 2;
    0x00026f5c lw a3, 0x18(s0)               |         a3 = *((s0 + 6));
    0x00026f60 sll v0, v0, 2                 |         v0 <<= 2;
    0x00026f64 lhu t8, 0x24(s0)              |         t8 = *((s0 + 18));
    0x00026f68 addu a1, a1, v1               |         a1 += v1;
    0x00026f6c lhu a2, 0x24(s1)              |         a2 = *((s1 + 18));
    0x00026f70 addu a0, s2, a0               |         a0 = s2 + a0;
    0x00026f74 addu a3, a3, v0               |         a3 += v0;
    0x00026f78 sw t8, 0x10(sp)               |         *(var_10h_2) = t8;
    0x00026f7c jalr t9                       |         t9 ();
    0x00026f80 move t9, s6                   |         t9 = s6;
    0x00026f84 lhu v1, 0x24(s1)              |         v1 = *((s1 + 18));
    0x00026f88 addu t8, v0, s4               |         t8 = v0 + s4;
    0x00026f8c lhu a3, 0x24(s0)              |         a3 = *((s0 + 18));
    0x00026f90 move s7, v0                   |         s7 = v0;
    0x00026f94 lhu a1, 0x22(s1)              |         a1 = *((s1 + 17));
    0x00026f98 sll a0, t8, 2                 |         a0 = t8 << 2;
    0x00026f9c lhu v0, 0x22(s0)              |         v0 = *((s0 + 17));
    0x00026fa0 addu a0, s2, a0               |         a0 = s2 + a0;
    0x00026fa4 lw t0, 0x18(s1)               |         t0 = *((s1 + 6));
    0x00026fa8 addu a1, v1, a1               |         a1 = v1 + a1;
    0x00026fac addu v0, a3, v0               |         v0 = a3 + v0;
    0x00026fb0 sll a1, a1, 2                 |         a1 <<= 2;
    0x00026fb4 lw a3, 0x18(s0)               |         a3 = *((s0 + 6));
    0x00026fb8 sll v0, v0, 2                 |         v0 <<= 2;
    0x00026fbc lhu v1, 0x26(s0)              |         v1 = *((s0 + 19));
    0x00026fc0 addu a1, t0, a1               |         a1 = t0 + a1;
    0x00026fc4 lhu a2, 0x26(s1)              |         a2 = *((s1 + 19));
    0x00026fc8 addu a3, a3, v0               |         a3 += v0;
    0x00026fcc sw t8, 0x24(sp)               |         *(var_24h_2) = t8;
    0x00026fd0 sw v1, 0x10(sp)               |         *(var_10h_2) = v1;
    0x00026fd4 jalr t9                       |         t9 ();
    0x00026fd8 lw t8, 0x24(sp)               |         t8 = *(var_24h_2);
    0x00026fdc move fp, v0                   |         fp = v0;
    0x00026fe0 addu s6, t8, v0               |         s6 = t8 + v0;
    0x00026fe4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (s6 == s3) {
    0x00026fe8 beq s6, s3, 0x27168           |             goto label_11;
                                             |         }
    0x00026fec lw t9, -0x7fcc(gp)            |         t9 = *((gp - 8179));
    0x00026ff0 move a0, s1                   |         a0 = s1;
    0x00026ff4 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00026ff8 move a1, s2                   |         a1 = s2;
    0x00026ffc move a2, s4                   |         a2 = s4;
    0x00027000 addiu t9, t9, 0x5ff0          |         t9 += 0x5ff0;
    0x00027004 move a3, s7                   |         a3 = s7;
    0x00027008 jalr t9                       |         t9 ();
    0x0002700c lw a0, 0x18(s1)               |         a0 = *((s1 + 6));
    0x00027010 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a0 != 0) {
    0x00027014 beqz a0, 0x27028              |             
    0x00027018 lw t9, -0x7fac(gp)            |             t9 = *((gp - 8171));
    0x0002701c jalr t9                       |             t9 ();
    0x00027020 nop                           |             
    0x00027024 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00027028 sw s2, 0x18(s1)               |         *((s1 + 6)) = s2;
    0x0002702c addiu s1, zero, 1             |         s1 = 1;
                                             | label_3:
    0x00027030 lw t9, -0x7fcc(gp)            |         t9 = *((gp - 8179));
                                             |         if (s5 != s6) {
    0x00027034 beq s5, s6, 0x27090           |             
    0x00027038 move a0, s0                   |             a0 = s0;
    0x0002703c move a1, s2                   |             a1 = s2;
    0x00027040 sw fp, 0x10(sp)               |             *(var_10h_2) = fp;
    0x00027044 move a2, s4                   |             a2 = s4;
    0x00027048 addiu t9, t9, 0x5ff0          |             t9 += 0x5ff0;
    0x0002704c move a3, s7                   |             a3 = s7;
    0x00027050 jalr t9                       |             t9 ();
    0x00027054 sll s6, s6, 2                 |             s6 <<= 2;
    0x00027058 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0002705c move a1, s6                   |             a1 = s6;
    0x00027060 lw t9, -0x7ae4(gp)            |             t9 = *((gp - 7865));
    0x00027064 lw a0, 0x18(s0)               |             a0 = *((s0 + 6));
    0x00027068 jalr t9                       |             t9 ();
    0x0002706c lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00027070 sw v0, 0x18(s0)               |             *((s0 + 6)) = v0;
                                             |             if (v0 == 0) {
    0x00027074 beqz v0, 0x271b4              |                 goto label_8;
                                             |             }
    0x00027078 lw t9, -0x7ac0(gp)            |             t9 = *((gp - 7856));
    0x0002707c move a0, v0                   |             a0 = v0;
    0x00027080 move a1, s2                   |             a1 = s2;
    0x00027084 move a2, s6                   |             a2 = s6;
    0x00027088 jalr t9                       |             t9 ();
    0x0002708c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00027090 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
                                             |         if (s1 == 0) {
    0x00027094 bnez s1, 0x270d0              |             
    0x00027098 move a0, s2                   |             a0 = s2;
    0x0002709c lw t9, -0x7fac(gp)            |             t9 = *((gp - 8171));
    0x000270a0 lw fp, 0x48(sp)               |             fp = *(var_48h);
    0x000270a4 lw s7, 0x44(sp)               |             s7 = *(var_44h);
    0x000270a8 lw s6, 0x40(sp)               |             s6 = *(var_40h);
    0x000270ac lw s5, 0x3c(sp)               |             s5 = *(var_3ch);
    0x000270b0 lw s4, 0x38(sp)               |             s4 = *(var_38h);
    0x000270b4 lw s3, 0x34(sp)               |             s3 = *(var_34h);
    0x000270b8 lw s2, 0x30(sp)               |             s2 = *(var_30h);
    0x000270bc lw s1, 0x2c(sp)               |             s1 = *(var_2ch);
    0x000270c0 lw s0, 0x28(sp)               |             s0 = *(var_28h);
    0x000270c4 addiu sp, sp, 0x50            |             
    0x000270c8 jr t9                         |             t9 ();
                                             | label_1:
    0x000270cc lw ra, 0x4c(sp)               |             ra = *(var_4ch);
                                             |         }
                                             | label_7:
    0x000270d0 lw fp, 0x48(sp)               |         fp = *(var_48h);
    0x000270d4 lw s7, 0x44(sp)               |         s7 = *(var_44h);
    0x000270d8 lw s6, 0x40(sp)               |         s6 = *(var_40h);
    0x000270dc lw s5, 0x3c(sp)               |         s5 = *(var_3ch);
    0x000270e0 lw s4, 0x38(sp)               |         s4 = *(var_38h);
    0x000270e4 lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x000270e8 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x000270ec lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x000270f0 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x000270f4 addiu sp, sp, 0x50            |         
    0x000270f8 jr ra                         |         return v0;
                                             | label_6:
    0x000270fc lw t9, -0x7aec(gp)            |         t9 = *((gp - 7867));
    0x00027100 bne s3, s5, 0x26ed8           |         
                                             |     } while (s3 != s5);
                                             |     if (s4 != t8) {
    0x00027104 bne s4, t8, 0x26ed8           |         goto label_0;
                                             |     }
    0x00027108 nop                           |     
    0x0002710c lw v0, 0x24(a0)               |     v0 = *((a0 + 9));
    0x00027110 lw t8, 0x24(a1)               |     t8 = *((a1 + 9));
    0x00027114 move v1, zero                 |     v1 = 0;
                                             |     if (v0 != t8) {
    0x00027118 bne v0, t8, 0x26ed8           |         goto label_0;
                                             |     }
    0x0002711c lw t8, 0x18(a0)               |     t8 = *((a0 + 6));
    0x00027120 lw s2, 0x18(a1)               |     s2 = *((a1 + 6));
    0x00027124 b 0x27138                     |     goto label_12;
                                             | label_2:
    0x00027128 addiu v1, v1, 1               |     v1++;
    0x0002712c addiu t8, t8, 4               |     t8 += 4;
    0x00027130 addiu s2, s2, 4               |     s2 += 4;
                                             |     if (v1 == s3) {
    0x00027134 beq v1, s3, 0x270cc           |         goto label_1;
                                             |     }
                                             | label_12:
    0x00027138 lw a0, (t8)                   |     a0 = *(t8);
    0x0002713c lw t9, -0x7da8(gp)            |     t9 = *((gp - 8042));
    0x00027140 lw a1, (s2)                   |     a1 = *(s2);
    0x00027144 sw v1, 0x20(sp)               |     *(var_20h_2) = v1;
    0x00027148 sw t8, 0x24(sp)               |     *(var_24h_2) = t8;
    0x0002714c jalr t9                       |     t9 ();
    0x00027150 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00027154 lw v1, 0x20(sp)               |     v1 = *(var_20h_2);
    0x00027158 lw t8, 0x24(sp)               |     t8 = *(var_24h_2);
                                             |     if (v0 == 0) {
    0x0002715c beqz v0, 0x27128              |         goto label_2;
                                             |     }
    0x00027160 lw t9, -0x7aec(gp)            |     t9 = *((gp - 7867));
    0x00027164 b 0x26ed8                     |     goto label_0;
                                             | label_11:
    0x00027168 move s1, zero                 |     s1 = 0;
    0x0002716c b 0x27030                     |     goto label_3;
                                             | label_9:
    0x00027170 move a0, s1                   |     a0 = s1;
    0x00027174 addiu t9, t9, 0x6b94          |     t9 += 0x6b94;
    0x00027178 move a1, s0                   |     a1 = s0;
    0x0002717c jalr t9                       |     t9 ();
    0x00027180 lhu s6, 0x26(s0)              |     s6 = *((s0 + 19));
    0x00027184 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00027188 lhu s4, 0x22(s1)              |     s4 = *((s1 + 17));
                                             |     if (s6 == 0) {
    0x0002718c beqz s6, 0x26f18              |         goto label_4;
                                             |     }
    0x00027190 lhu t8, 0x24(s1)              |     t8 = *((s1 + 18));
    0x00027194 b 0x26f0c                     |     goto label_5;
                                             | label_10:
    0x00027198 move a0, s0                   |     a0 = s0;
    0x0002719c addiu t9, t9, 0x6b94          |     t9 += 0x6b94;
    0x000271a0 move a1, s1                   |     a1 = s1;
    0x000271a4 jalr t9                       |     t9 ();
    0x000271a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000271ac lhu s4, 0x22(s1)              |     s4 = *((s1 + 17));
    0x000271b0 b 0x26f18                     |     goto label_4;
                                             | label_8:
    0x000271b4 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x000271b8 lw t9, -0x7b8c(gp)            |     t9 = *((gp - 7907));
    0x000271bc addiu a0, a0, 0x5168          |     a0 += 0x5168;
    0x000271c0 jalr t9                       |     return t9 ();
                                             | }

[*] Function system used 1 times libncurses.so.6