[*] Binary protection state of libgcc_s.so.1

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


[*] Function system tear down of libgcc_s.so.1

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libgcc_s.so.1 @ 0x26b54 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.__emutls_get_address ()          | void emutls_get_address () {
    0x00026b54 lui gp, 2                         |     
    0x00026b58 addiu gp, gp, -0x5b34             |     
    0x00026b5c addu gp, gp, t9                   |     gp += t9;
    0x00026b60 lw v0, -0x7dfc(gp)                |     v0 = *((gp - 8063));
    0x00026b64 addiu sp, sp, -0x38               |     
    0x00026b68 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00026b6c sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x00026b70 sw ra, 0x34(sp)                   |     *(var_34h) = ra;
    0x00026b74 sw s5, 0x30(sp)                   |     *(var_30h) = s5;
    0x00026b78 sw s4, 0x2c(sp)                   |     *(var_2ch) = s4;
    0x00026b7c sw s3, 0x28(sp)                   |     *(var_28h) = s3;
    0x00026b80 sw s2, 0x24(sp)                   |     *(var_24h) = s2;
    0x00026b84 sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x00026b88 move s0, a0                       |     s0 = a0;
                                                 |     if (v0 != 0) {
    0x00026b8c bnez v0, 0x26bc0                  |         goto label_3;
                                                 |     }
    0x00026b90 lw v0, 8(a0)                      |     v0 = *((a0 + 2));
    0x00026b94 lw t9, -0x7fd8(gp)                |     t9 = *((gp - 8182));
                                                 |     if (v0 == 0) {
    0x00026b98 beqz v0, 0x26c28                  |         goto label_4;
                                                 |     }
                                                 | label_0:
    0x00026b9c lw ra, 0x34(sp)                   |     ra = *(var_34h);
                                                 |     do {
    0x00026ba0 lw s5, 0x30(sp)                   |         s5 = *(var_30h);
    0x00026ba4 lw s4, 0x2c(sp)                   |         s4 = *(var_2ch);
    0x00026ba8 lw s3, 0x28(sp)                   |         s3 = *(var_28h);
    0x00026bac lw s2, 0x24(sp)                   |         s2 = *(var_24h);
    0x00026bb0 lw s1, 0x20(sp)                   |         s1 = *(var_20h);
    0x00026bb4 lw s0, 0x1c(sp)                   |         s0 = *(var_1ch);
    0x00026bb8 addiu sp, sp, 0x38                |         
    0x00026bbc jr ra                             |         return v0;
                                                 | label_3:
    0x00026bc0 lw s2, 8(a0)                      |         s2 = *((a0 + 2));
    0x00026bc4 lw a0, -0x7fe4(gp)                |         a0 = *((gp - 8185));
                                                 |         if (s2 == 0) {
    0x00026bc8 beqz s2, 0x26ce4                  |             goto label_5;
                                                 |         }
                                                 | label_2:
    0x00026bcc lw s5, -0x7fe4(gp)                |         s5 = *((gp - 8185));
    0x00026bd0 lw t9, -0x7dec(gp)                |         t9 = *((gp - 8059));
    0x00026bd4 lw a0, -0x6b90(s5)                |         a0 = *((s5 - 6884));
    0x00026bd8 jalr t9                           |         t9 ();
    0x00026bdc move s1, v0                       |         s1 = v0;
    0x00026be0 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (v0 == 0) {
    0x00026be4 beqz v0, 0x26ca8                  |             goto label_6;
                                                 |         }
    0x00026be8 lw s4, (v0)                       |         s4 = *(v0);
    0x00026bec sltu v0, s4, s2                   |         v0 = (s4 < s2) ? 1 : 0;
    0x00026bf0 sll s3, s4, 1                     |         s3 = s4 << 1;
                                                 |         if (v0 != 0) {
    0x00026bf4 bnez v0, 0x26c3c                  |             goto label_7;
                                                 |         }
                                                 | label_1:
    0x00026bf8 addiu v0, s2, -1                  |         v0 = s2 + -1;
    0x00026bfc sll v0, v0, 2                     |         v0 <<= 2;
    0x00026c00 addu s1, s1, v0                   |         s1 += v0;
    0x00026c04 lw v0, 4(s1)                      |         v0 = *((s1 + 1));
    0x00026c08 lw ra, 0x34(sp)                   |         ra = *(var_34h);
    0x00026c0c bnez v0, 0x26ba0                  |         
                                                 |     } while (v0 != 0);
    0x00026c10 lw t9, -0x7fd8(gp)                |     t9 = *((gp - 8182));
    0x00026c14 addiu t9, t9, -0x3660             |     t9 += -0x3660;
    0x00026c18 move a0, s0                       |     a0 = s0;
    0x00026c1c bal 0xc9a0                        |     entry0 ();
    0x00026c20 sw v0, 4(s1)                      |     *((s1 + 1)) = v0;
    0x00026c24 b 0x26b9c                         |     goto label_0;
                                                 | label_4:
    0x00026c28 addiu t9, t9, -0x3660             |     t9 += -0x3660;
    0x00026c2c bal 0xc9a0                        |     entry0 ();
    0x00026c30 nop                               |     
    0x00026c34 sw v0, 8(s0)                      |     *((s0 + 2)) = v0;
    0x00026c38 b 0x26b9c                         |     goto label_0;
                                                 | label_7:
    0x00026c3c sltu v1, s3, s2                   |     v1 = (s3 < s2) ? 1 : 0;
    0x00026c40 addiu v0, s2, 0x20                |     v0 = s2 + 0x20;
    0x00026c44 lw t9, -0x7e48(gp)                |     t9 = *((gp - 8082));
                                                 |     if (v1 == 0) {
    0x00026c48 movn s3, v0, v1                   |         s3 = v0;
                                                 |     }
    0x00026c4c addiu a1, s3, 1                   |     a1 = s3 + 1;
    0x00026c50 move a0, s1                       |     a0 = s1;
    0x00026c54 sll a1, a1, 2                     |     a1 <<= 2;
    0x00026c58 jalr t9                           |     t9 ();
    0x00026c5c move s1, v0                       |     s1 = v0;
    0x00026c60 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 != 0) {
    0x00026c64 beqz v0, 0x26d40                  |         
    0x00026c68 lw t9, -0x7e60(gp)                |         t9 = *((gp - 8088));
    0x00026c6c sll a0, s4, 2                     |         a0 = s4 << 2;
    0x00026c70 addu a0, v0, a0                   |         a0 = v0 + a0;
    0x00026c74 subu a2, s3, s4                   |         __asm ("subu a2, s3, s4");
    0x00026c78 addiu a0, a0, 4                   |         a0 += 4;
    0x00026c7c move a1, zero                     |         a1 = 0;
    0x00026c80 sll a2, a2, 2                     |         a2 <<= 2;
    0x00026c84 sw s3, (v0)                       |         *(v0) = s3;
    0x00026c88 jalr t9                           |         t9 ();
    0x00026c8c lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00026c90 lw a0, -0x6b90(s5)                |         a0 = *((s5 - 6884));
    0x00026c94 lw t9, -0x7ea0(gp)                |         t9 = *((gp - 8104));
    0x00026c98 move a1, s1                       |         a1 = s1;
    0x00026c9c jalr t9                           |         t9 ();
    0x00026ca0 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00026ca4 b 0x26bf8                         |         goto label_1;
                                                 | label_6:
    0x00026ca8 lw t9, -0x7e14(gp)                |         t9 = *((gp - 8069));
    0x00026cac addiu a0, s2, 0x21                |         a0 = s2 + 0x21;
    0x00026cb0 addiu a1, zero, 4                 |         a1 = 4;
    0x00026cb4 jalr t9                           |         t9 ();
    0x00026cb8 move s1, v0                       |         s1 = v0;
    0x00026cbc lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00026cc0 addiu v0, s2, 0x20                |         v0 = s2 + 0x20;
                                                 |         if (s1 == 0) {
    0x00026cc4 beqz s1, 0x26d40                  |             goto label_8;
                                                 |         }
    0x00026cc8 lw t9, -0x7ea0(gp)                |         t9 = *((gp - 8104));
    0x00026ccc lw a0, -0x6b90(s5)                |         a0 = *((s5 - 6884));
    0x00026cd0 sw v0, (s1)                       |         *(s1) = v0;
    0x00026cd4 move a1, s1                       |         a1 = s1;
    0x00026cd8 jalr t9                           |         t9 ();
    0x00026cdc lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00026ce0 b 0x26bf8                         |         goto label_1;
                                                 | label_5:
    0x00026ce4 lw a1, -0x7fd0(gp)                |         a1 = *((gp - 8180));
    0x00026ce8 lw t9, -0x7e2c(gp)                |         t9 = *((gp - 8075));
    0x00026cec addiu a0, a0, -0x6bb0             |         a0 += -0x6bb0;
    0x00026cf0 lw s1, -0x7fe4(gp)                |         s1 = *((gp - 8185));
    0x00026cf4 addiu a1, a1, 0x6a80              |         a1 += 0x6a80;
    0x00026cf8 jalr t9                           |         t9 ();
    0x00026cfc lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00026d00 lw t9, -0x7e84(gp)                |         t9 = *((gp - 8097));
    0x00026d04 addiu a0, s1, -0x6bac             |         a0 = s1 + -0x6bac;
    0x00026d08 jalr t9                           |         t9 ();
    0x00026d0c lw s2, 8(s0)                      |         s2 = *((s0 + 2));
    0x00026d10 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (s2 == 0) {
    0x00026d14 bnez s2, 0x26d2c                  |             
    0x00026d18 lw v0, -0x7fe4(gp)                |             v0 = *((gp - 8185));
    0x00026d1c lw s2, -0x6b94(v0)                |             s2 = *((v0 - 6885));
    0x00026d20 addiu s2, s2, 1                   |             s2++;
    0x00026d24 sw s2, -0x6b94(v0)                |             *((v0 - 6885)) = s2;
    0x00026d28 sw s2, 8(s0)                      |             *((s0 + 2)) = s2;
                                                 |         }
    0x00026d2c lw t9, -0x7e70(gp)                |         t9 = *((gp - 8092));
    0x00026d30 addiu a0, s1, -0x6bac             |         a0 = s1 + -0x6bac;
    0x00026d34 jalr t9                           |         t9 ();
    0x00026d38 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00026d3c b 0x26bcc                         |         goto label_2;
                                                 |     }
                                                 | label_8:
    0x00026d40 lw t9, -0x7e10(gp)                |     t9 = *((gp - 8068));
    0x00026d44 jalr t9                           |     t9 ();
    0x00026d48 nop                               |     
                                                 | }

[*] Function system used 1 times libgcc_s.so.1