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

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


[*] Function printf tear down of libnss_compat-2.27.so

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libnss_compat-2.27.so @ 0xe44 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) entry.fini0 ()                   | void entry_fini0 () {
    0x00000e44 lui gp, 2                     |     
    0x00000e48 addiu gp, gp, -0xd64          |     
    0x00000e4c addu gp, gp, t9               |     gp += t9;
    0x00000e50 addiu sp, sp, -0x20           |     
    0x00000e54 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x00000e58 lw s0, -0x7fe4(gp)            |     s0 = *((gp - 8185));
    0x00000e5c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00000e60 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x00000e64 lbu v0, -0x7e50(s0)           |     v0 = *((s0 - 32336));
    0x00000e68 lw v0, -0x7f44(gp)            |     v0 = *((gp - 8145));
                                             |     if (v0 == 0) {
    0x00000e6c bnez v0, 0xea0                |         
    0x00000e70 lw v0, -0x7fe0(gp)            |         v0 = *((gp - 8184));
                                             |         if (v0 != 0) {
    0x00000e74 beqz v0, 0xe88                |             
    0x00000e78 lw t9, -0x7f44(gp)            |             t9 = *((gp - 8145));
    0x00000e7c lw a0, (v0)                   |             a0 = *(v0);
    0x00000e80 jalr t9                       |             t9 ();
    0x00000e84 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00000e88 lw t9, -0x7fdc(gp)            |         t9 = *((gp - 8183));
    0x00000e8c addiu t9, t9, 0xdc0           |         t9 += entry0;
    0x00000e90 bal 0xdc0                     |         entry0 ();
    0x00000e94 nop                           |         
    0x00000e98 addiu v0, zero, 1             |         v0 = 1;
    0x00000e9c sb v0, -0x7e50(s0)            |         *((s0 - 32336)) = v0;
                                             |     }
    0x00000ea0 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x00000ea4 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x00000ea8 addiu sp, sp, 0x20            |     
    0x00000eac jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libnss_compat-2.27.so @ 0x26a4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000026a4 ()              | void fcn_000026a4 () {
    0x000026a4 lui gp, 2                 |     
    0x000026a8 addiu gp, gp, -0x25c4     |     
    0x000026ac addu gp, gp, t9           |     gp += t9;
    0x000026b0 addiu sp, sp, -0x38       |     
    0x000026b4 sw s3, 0x28(sp)           |     *(var_28h) = s3;
    0x000026b8 lw s3, 4(a1)              |     s3 = *((a1 + 1));
    0x000026bc sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000026c0 sw s2, 0x24(sp)           |     *(var_24h) = s2;
    0x000026c4 sw s1, 0x20(sp)           |     *(var_20h) = s1;
    0x000026c8 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x000026cc sw ra, 0x34(sp)           |     *(var_34h) = ra;
    0x000026d0 sw s5, 0x30(sp)           |     *(var_30h) = s5;
    0x000026d4 sw s4, 0x2c(sp)           |     *(var_2ch) = s4;
    0x000026d8 move s0, a1               |     s0 = a1;
    0x000026dc move s2, a0               |     s2 = a0;
    0x000026e0 move s1, a2               |     s1 = a2;
                                         |     if (s3 != 0) {
    0x000026e4 beqz s3, 0x2760           |         
    0x000026e8 lb v0, (s3)               |         v0 = *(s3);
                                         |         if (v0 == 0) {
    0x000026ec beql v0, zero, 0x2764     |             goto label_7;
                                         |         }
    0x000026f0 lw s3, 0x10(s0)           |         s3 = *((s0 + 4));
    0x000026f4 lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
                                         |         if (a2 == 0) {
    0x000026f8 beqz a2, 0x29a0           |             goto label_8;
                                         |         }
    0x000026fc lw s5, 4(a0)              |         s5 = *((a0 + 1));
    0x00002700 lw t9, -0x7f94(gp)        |         t9 = *((gp - 8165));
                                         |         if (s5 != 0) {
    0x00002704 beqz s5, 0x2730           |             
    0x00002708 move a0, s5               |             a0 = s5;
    0x0000270c jalr t9                   |             t9 ();
    0x00002710 lw gp, 0x10(sp)           |             gp = *(var_10h);
    0x00002714 move a0, s3               |             a0 = s3;
    0x00002718 lw t9, -0x7f94(gp)        |             t9 = *((gp - 8165));
    0x0000271c move s4, v0               |             s4 = v0;
    0x00002720 jalr t9                   |             t9 ();
    0x00002724 sltu s4, s4, v0           |             s4 = (s4 < v0) ? 1 : 0;
    0x00002728 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |             if (s4 == 0) {
    0x0000272c beqz s4, 0x2984           |                 goto label_9;
                                         |             }
                                         |         }
    0x00002730 sw s1, 4(s2)              |         *((s2 + 1)) = s1;
    0x00002734 lw t9, -0x7f78(gp)        |         t9 = *((gp - 8158));
    0x00002738 lw a1, 4(s0)              |         a1 = *((s0 + 1));
    0x0000273c move a0, s1               |         a0 = s1;
    0x00002740 jalr t9                   |         t9 ();
    0x00002744 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00002748 lw t9, -0x7f94(gp)        |         t9 = *((gp - 8165));
    0x0000274c lw a0, 4(s2)              |         a0 = *((s2 + 1));
    0x00002750 jalr t9                   |         t9 ();
    0x00002754 addiu v0, v0, 1           |         v0++;
    0x00002758 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000275c addu s1, s1, v0           |         s1 += v0;
                                         |     }
                                         | label_2:
    0x00002760 lw s3, 0x10(s0)           |     s3 = *((s0 + 4));
                                         |     if (s3 != 0) {
                                         | label_7:
    0x00002764 beql s3, zero, 0x27e8     |         
    0x00002768 lw s4, 0x14(s0)           |         s4 = *((s0 + 5));
    0x0000276c lb v0, (s3)               |         v0 = *(s3);
                                         |         if (v0 == 0) {
    0x00002770 beql v0, zero, 0x27e8     |             goto label_10;
                                         |         }
    0x00002774 lw s4, 0x14(s0)           |         s4 = *((s0 + 5));
                                         |         if (s1 == 0) {
    0x00002778 beql s1, zero, 0x2a34     |             goto label_11;
                                         |         }
    0x0000277c lw s4, 0x14(s0)           |         s4 = *((s0 + 5));
    0x00002780 lw s5, 0x10(s2)           |         s5 = *((s2 + 4));
    0x00002784 lw t9, -0x7f94(gp)        |         t9 = *((gp - 8165));
                                         |         if (s5 != 0) {
    0x00002788 beqz s5, 0x27b4           |             
    0x0000278c move a0, s5               |             a0 = s5;
    0x00002790 jalr t9                   |             t9 ();
    0x00002794 lw gp, 0x10(sp)           |             gp = *(var_10h);
    0x00002798 move a0, s3               |             a0 = s3;
    0x0000279c lw t9, -0x7f94(gp)        |             t9 = *((gp - 8165));
    0x000027a0 move s4, v0               |             s4 = v0;
    0x000027a4 jalr t9                   |             t9 ();
    0x000027a8 sltu s4, s4, v0           |             s4 = (s4 < v0) ? 1 : 0;
    0x000027ac lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |             if (s4 == 0) {
    0x000027b0 beqz s4, 0x2968           |                 goto label_12;
                                         |             }
                                         |         }
    0x000027b4 sw s1, 0x10(s2)           |         *((s2 + 4)) = s1;
    0x000027b8 lw t9, -0x7f78(gp)        |         t9 = *((gp - 8158));
    0x000027bc lw a1, 0x10(s0)           |         a1 = *((s0 + 4));
    0x000027c0 move a0, s1               |         a0 = s1;
    0x000027c4 jalr t9                   |         t9 ();
    0x000027c8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000027cc lw t9, -0x7f94(gp)        |         t9 = *((gp - 8165));
    0x000027d0 lw a0, 0x10(s2)           |         a0 = *((s2 + 4));
    0x000027d4 jalr t9                   |         t9 ();
    0x000027d8 addiu v0, v0, 1           |         v0++;
    0x000027dc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000027e0 addu s1, s1, v0           |         s1 += v0;
                                         | label_1:
    0x000027e4 lw s4, 0x14(s0)           |         s4 = *((s0 + 5));
                                         |     }
                                         |     if (s4 == 0) {
                                         | label_10:
    0x000027e8 beql s4, zero, 0x28b0     |         goto label_13;
                                         |     }
    0x000027ec lw s5, 0x18(s0)           |     s5 = *((s0 + 6));
    0x000027f0 lb v0, (s4)               |     v0 = *(s4);
                                         |     if (v0 == 0) {
    0x000027f4 beql v0, zero, 0x28b0     |         goto label_13;
                                         |     }
    0x000027f8 lw s5, 0x18(s0)           |     s5 = *((s0 + 6));
                                         |     if (s1 == 0) {
    0x000027fc beql s1, zero, 0x2a1c     |         goto label_14;
                                         |     }
    0x00002800 lw s5, 0x18(s0)           |     s5 = *((s0 + 6));
    0x00002804 lw s5, 0x14(s2)           |     s5 = *((s2 + 5));
    0x00002808 lw t9, -0x7f94(gp)        |     t9 = *((gp - 8165));
                                         |     if (s5 != 0) {
    0x0000280c beqz s5, 0x2838           |         
    0x00002810 move a0, s5               |         a0 = s5;
    0x00002814 jalr t9                   |         t9 ();
    0x00002818 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000281c move a0, s4               |         a0 = s4;
    0x00002820 lw t9, -0x7f94(gp)        |         t9 = *((gp - 8165));
    0x00002824 move s3, v0               |         s3 = v0;
    0x00002828 jalr t9                   |         t9 ();
    0x0000282c sltu s3, s3, v0           |         s3 = (s3 < v0) ? 1 : 0;
    0x00002830 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (s3 == 0) {
    0x00002834 beqz s3, 0x2894           |             goto label_15;
                                         |         }
                                         |     }
    0x00002838 sw s1, 0x14(s2)           |     *((s2 + 5)) = s1;
    0x0000283c lw t9, -0x7f78(gp)        |     t9 = *((gp - 8158));
    0x00002840 lw a1, 0x14(s0)           |     a1 = *((s0 + 5));
    0x00002844 move a0, s1               |     a0 = s1;
    0x00002848 jalr t9                   |     t9 ();
    0x0000284c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00002850 lw t9, -0x7f94(gp)        |     t9 = *((gp - 8165));
    0x00002854 lw a0, 0x14(s2)           |     a0 = *((s2 + 5));
    0x00002858 jalr t9                   |     t9 ();
    0x0000285c lw s5, 0x18(s0)           |     s5 = *((s0 + 6));
    0x00002860 addiu v0, v0, 1           |     v0++;
    0x00002864 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00002868 addu s1, s1, v0           |     s1 += v0;
                                         |     if (s5 != 0) {
    0x0000286c bnez s5, 0x28b8           |         goto label_16;
                                         |     }
                                         | label_4:
    0x00002870 lw ra, 0x34(sp)           |     ra = *(var_34h);
                                         |     do {
                                         | label_0:
    0x00002874 lw s5, 0x30(sp)           |         s5 = *(var_30h);
                                         | label_3:
    0x00002878 lw s4, 0x2c(sp)           |         s4 = *(var_2ch);
    0x0000287c lw s3, 0x28(sp)           |         s3 = *(var_28h);
    0x00002880 lw s2, 0x24(sp)           |         s2 = *(var_24h);
    0x00002884 lw s1, 0x20(sp)           |         s1 = *(var_20h);
    0x00002888 lw s0, 0x1c(sp)           |         s0 = *(var_1ch);
    0x0000288c addiu sp, sp, 0x38        |         
    0x00002890 jr ra                     |         return v0;
                                         | label_15:
    0x00002894 lw t9, -0x7f64(gp)        |         t9 = *((gp - 8153));
    0x00002898 addiu a2, v0, 1           |         a2 = v0 + 1;
    0x0000289c move a1, s4               |         a1 = s4;
    0x000028a0 move a0, s5               |         a0 = s5;
    0x000028a4 jalr t9                   |         t9 ();
    0x000028a8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000028ac lw s5, 0x18(s0)           |         s5 = *((s0 + 6));
                                         | label_13:
    0x000028b0 lw ra, 0x34(sp)           |         ra = *(var_34h);
    0x000028b4 beqz s5, 0x2874           |         
                                         |     } while (s5 == 0);
                                         | label_16:
    0x000028b8 lb v0, (s5)               |     v0 = *(s5);
    0x000028bc lw ra, 0x34(sp)           |     ra = *(var_34h);
                                         |     if (v0 == 0) {
    0x000028c0 beqz v0, 0x2874           |         goto label_0;
                                         |     }
    0x000028c4 lw t9, -0x7f58(gp)        |     t9 = *((gp - 8150));
                                         |     if (s1 == 0) {
    0x000028c8 beqz s1, 0x2a0c           |         goto label_17;
                                         |     }
    0x000028cc lw s4, 0x18(s2)           |     s4 = *((s2 + 6));
    0x000028d0 lw t9, -0x7f94(gp)        |     t9 = *((gp - 8165));
                                         |     if (s4 != 0) {
    0x000028d4 beqz s4, 0x2900           |         
    0x000028d8 move a0, s4               |         a0 = s4;
    0x000028dc jalr t9                   |         t9 ();
    0x000028e0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000028e4 move a0, s5               |         a0 = s5;
    0x000028e8 lw t9, -0x7f94(gp)        |         t9 = *((gp - 8165));
    0x000028ec move s3, v0               |         s3 = v0;
    0x000028f0 jalr t9                   |         t9 ();
    0x000028f4 sltu s3, s3, v0           |         s3 = (s3 < v0) ? 1 : 0;
    0x000028f8 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (s3 == 0) {
    0x000028fc beqz s3, 0x2934           |             goto label_18;
                                         |         }
                                         |     }
    0x00002900 sw s1, 0x18(s2)           |     *((s2 + 6)) = s1;
    0x00002904 lw a1, 0x18(s0)           |     a1 = *((s0 + 6));
    0x00002908 lw ra, 0x34(sp)           |     ra = *(var_34h);
    0x0000290c lw s5, 0x30(sp)           |     s5 = *(var_30h);
    0x00002910 lw s4, 0x2c(sp)           |     s4 = *(var_2ch);
    0x00002914 lw s3, 0x28(sp)           |     s3 = *(var_28h);
    0x00002918 lw s2, 0x24(sp)           |     s2 = *(var_24h);
    0x0000291c lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x00002920 move a0, s1               |     a0 = s1;
    0x00002924 lw t9, -0x7f78(gp)        |     t9 = *((gp - 8158));
    0x00002928 lw s1, 0x20(sp)           |     s1 = *(var_20h);
    0x0000292c addiu sp, sp, 0x38        |     
    0x00002930 jr t9                     |     t9 ();
                                         | label_18:
    0x00002934 lw ra, 0x34(sp)           |     ra = *(var_34h);
    0x00002938 lw s3, 0x28(sp)           |     s3 = *(var_28h);
    0x0000293c lw s2, 0x24(sp)           |     s2 = *(var_24h);
    0x00002940 lw s1, 0x20(sp)           |     s1 = *(var_20h);
    0x00002944 lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x00002948 move a1, s5               |     a1 = s5;
    0x0000294c move a0, s4               |     a0 = s4;
    0x00002950 lw s5, 0x30(sp)           |     s5 = *(var_30h);
    0x00002954 lw s4, 0x2c(sp)           |     s4 = *(var_2ch);
    0x00002958 lw t9, -0x7f64(gp)        |     t9 = *((gp - 8153));
    0x0000295c addiu a2, v0, 1           |     a2 = v0 + 1;
    0x00002960 addiu sp, sp, 0x38        |     
    0x00002964 jr t9                     |     t9 ();
                                         | label_12:
    0x00002968 lw t9, -0x7f64(gp)        |     t9 = *((gp - 8153));
    0x0000296c addiu a2, v0, 1           |     a2 = v0 + 1;
    0x00002970 move a1, s3               |     a1 = s3;
    0x00002974 move a0, s5               |     a0 = s5;
    0x00002978 jalr t9                   |     t9 ();
    0x0000297c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00002980 b 0x27e4                  |     goto label_1;
                                         | label_9:
    0x00002984 lw t9, -0x7f64(gp)        |     t9 = *((gp - 8153));
    0x00002988 addiu a2, v0, 1           |     a2 = v0 + 1;
    0x0000298c move a1, s3               |     a1 = s3;
    0x00002990 move a0, s5               |     a0 = s5;
    0x00002994 jalr t9                   |     t9 ();
    0x00002998 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0000299c b 0x2760                  |     goto label_2;
                                         | label_8:
    0x000029a0 move a0, s3               |     a0 = s3;
    0x000029a4 jalr t9                   |     t9 ();
    0x000029a8 lw s3, 0x10(s0)           |     s3 = *((s0 + 4));
    0x000029ac lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000029b0 sw v0, 4(s2)              |     *((s2 + 1)) = v0;
    0x000029b4 lw s4, 0x14(s0)           |     s4 = *((s0 + 5));
    0x000029b8 lw s5, 0x18(s0)           |     s5 = *((s0 + 6));
                                         |     if (s3 != 0) {
    0x000029bc beqz s3, 0x29e0           |         
    0x000029c0 lb v0, (s3)               |         v0 = *(s3);
                                         |         if (v0 == 0) {
    0x000029c4 beqz v0, 0x29e0           |             goto label_19;
                                         |         }
    0x000029c8 nop                       |         
                                         | label_6:
    0x000029cc lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x000029d0 move a0, s3               |         a0 = s3;
    0x000029d4 jalr t9                   |         t9 ();
    0x000029d8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000029dc sw v0, 0x10(s2)           |         *((s2 + 4)) = v0;
                                         |     }
                                         |     if (s4 != 0) {
                                         | label_19:
    0x000029e0 beqz s4, 0x29f4           |         
    0x000029e4 nop                       |         
    0x000029e8 lb v0, (s4)               |         v0 = *(s4);
    0x000029ec lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
                                         |         if (v0 != 0) {
    0x000029f0 bnez v0, 0x2a20           |             goto label_20;
                                         |         }
                                         |     }
                                         | label_5:
    0x000029f4 lw ra, 0x34(sp)           |     ra = *(var_34h);
                                         |     if (s5 == 0) {
    0x000029f8 beqz s5, 0x2874           |         goto label_0;
                                         |     }
    0x000029fc lb v0, (s5)               |     v0 = *(s5);
                                         |     if (v0 == 0) {
    0x00002a00 beql v0, zero, 0x2878     |         goto label_3;
                                         |     }
    0x00002a04 lw s5, 0x30(sp)           |     s5 = *(var_30h);
    0x00002a08 lw t9, -0x7f58(gp)        |     t9 = *((gp - 8150));
                                         | label_17:
    0x00002a0c move a0, s5               |     a0 = s5;
    0x00002a10 jalr t9                   |     t9 ();
    0x00002a14 sw v0, 0x18(s2)           |     *((s2 + 6)) = v0;
    0x00002a18 b 0x2870                  |     goto label_4;
                                         | label_14:
    0x00002a1c lw t9, -0x7f58(gp)        |     t9 = *((gp - 8150));
                                         | label_20:
    0x00002a20 move a0, s4               |     a0 = s4;
    0x00002a24 jalr t9                   |     t9 ();
    0x00002a28 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00002a2c sw v0, 0x14(s2)           |     *((s2 + 5)) = v0;
    0x00002a30 b 0x29f4                  |     goto label_5;
                                         | label_11:
    0x00002a34 lw s5, 0x18(s0)           |     s5 = *((s0 + 6));
    0x00002a38 b 0x29cc                  |     goto label_6;
                                         | }

[*] Function printf used 1 times libnss_compat-2.27.so