[*] Binary protection state of libssl.so.1.1

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


[*] Function fprintf tear down of libssl.so.1.1

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libssl.so.1.1 @ 0xf0a4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) entry.fini0 ()                   | void entry_fini0 () {
    0x0000f0a4 lui gp, 8                     |     
    0x0000f0a8 addiu gp, gp, 0x22fc          |     
    0x0000f0ac addu gp, gp, t9               |     gp += t9;
    0x0000f0b0 addiu sp, sp, -0x20           |     
    0x0000f0b4 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0000f0b8 lw s0, -0x7fe4(gp)            |     s0 = *((gp - 8185));
    0x0000f0bc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000f0c0 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x0000f0c4 lbu v0, -0x5dd0(s0)           |     v0 = *((s0 - 24016));
    0x0000f0c8 lw v0, -0x7498(gp)            |     v0 = *((gp - 7462));
                                             |     if (v0 == 0) {
    0x0000f0cc bnez v0, 0xf100               |         
    0x0000f0d0 lw v0, -0x7fe0(gp)            |         v0 = *((gp - 8184));
                                             |         if (v0 != 0) {
    0x0000f0d4 beqz v0, 0xf0e8               |             
    0x0000f0d8 lw t9, -0x7498(gp)            |             t9 = *((gp - 7462));
    0x0000f0dc lw a0, (v0)                   |             a0 = *(v0);
    0x0000f0e0 jalr t9                       |             t9 ();
    0x0000f0e4 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x0000f0e8 lw t9, -0x7fdc(gp)            |         t9 = *((gp - 8183));
    0x0000f0ec addiu t9, t9, -0xfe0          |         t9 += -0xfe0;
    0x0000f0f0 bal 0xf020                    |         entry0 ();
    0x0000f0f4 nop                           |         
    0x0000f0f8 addiu v0, zero, 1             |         v0 = 1;
    0x0000f0fc sb v0, -0x5dd0(s0)            |         *((s0 - 24016)) = v0;
                                             |     }
    0x0000f100 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x0000f104 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0000f108 addiu sp, sp, 0x20            |     
    0x0000f10c jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libssl.so.1.1 @ 0x30038 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.SSL_do_handshake ()      | void SSL_do_handshake () {
    0x00030038 lui gp, 6                 |     
    0x0003003c addiu gp, gp, 0x1368      |     
    0x00030040 addu gp, gp, t9           |     gp += t9;
    0x00030044 addiu sp, sp, -0x48       |     
    0x00030048 lw v0, 0x18(a0)           |     v0 = *((a0 + 6));
    0x0003004c sw s1, 0x40(sp)           |     *(var_18h) = s1;
    0x00030050 lw s1, -0x7520(gp)        |     s1 = *((gp - 7496));
    0x00030054 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x00030058 sw ra, 0x44(sp)           |     *(var_1ch) = ra;
    0x0003005c lw v1, (s1)               |     v1 = *(s1);
    0x00030060 sw s0, 0x3c(sp)           |     *(var_3ch) = s0;
    0x00030064 sw v1, 0x34(sp)           |     *(var_34h) = v1;
    0x00030068 lw t9, -0x7c5c(gp)        |     t9 = *((gp - 7959));
                                         |     if (v0 == 0) {
    0x0003006c beqz v0, 0x3014c          |         goto label_2;
                                         |     }
    0x00030070 move s0, a0               |     s0 = a0;
    0x00030074 addiu a1, zero, -1        |     a1 = -1;
    0x00030078 bal 0x481cc               |     fcn_000481cc ();
    0x0003007c lw v0, 4(s0)              |     v0 = *((s0 + 1));
    0x00030080 move a1, zero             |     a1 = 0;
    0x00030084 lw t9, 0x34(v0)           |     t9 = *((v0 + 13));
    0x00030088 move a0, s0               |     a0 = s0;
    0x0003008c jalr t9                   |     t9 ();
    0x00030090 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00030094 lw t9, -0x7edc(gp)        |     t9 = *((gp - 8119));
    0x00030098 move a0, s0               |     a0 = s0;
    0x0003009c bal 0x47308               |     sym_SSL_in_init ();
    0x000300a0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000300a4 beqz v0, 0x300e8          |     
                                         |     while (v0 != 0) {
    0x000300a8 lw v0, 0x4f0(s0)          |         v0 = *((s0 + 316));
    0x000300ac andi v0, v0, 0x100        |         v0 &= aav.0x00000100;
    0x000300b0 lw t9, -0x72b8(gp)        |         t9 = *((gp - 7342));
                                         |         if (v0 != 0) {
    0x000300b4 bnez v0, 0x30104          |             goto label_3;
                                         |         }
                                         | label_1:
    0x000300b8 lw t9, 0x18(s0)           |         t9 = *((s0 + 6));
    0x000300bc move a0, s0               |         a0 = s0;
    0x000300c0 jalr t9                   |         t9 ();
    0x000300c4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         | label_0:
    0x000300c8 lw a0, 0x34(sp)           |         a0 = *(var_34h);
    0x000300cc lw v1, (s1)               |         v1 = *(s1);
    0x000300d0 lw ra, 0x44(sp)           |         ra = *(var_1ch);
                                         |         if (a0 != v1) {
    0x000300d4 bne a0, v1, 0x3017c       |             goto label_4;
                                         |         }
    0x000300d8 lw s1, 0x40(sp)           |         s1 = *(var_18h);
    0x000300dc lw s0, 0x3c(sp)           |         s0 = *(var_3ch);
    0x000300e0 addiu sp, sp, 0x48        |         
    0x000300e4 jr ra                     |         return v0;
    0x000300e8 lw t9, -0x7da0(gp)        |         t9 = *((gp - 8040));
    0x000300ec move a0, s0               |         a0 = s0;
    0x000300f0 bal 0x47334               |         sym_SSL_in_before ();
    0x000300f4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000300f8 bnez v0, 0x300a8          |         
                                         |     }
    0x000300fc addiu v0, zero, 1         |     v0 = 1;
    0x00030100 b 0x300c8                 |     goto label_0;
                                         | label_3:
    0x00030104 jalr t9                   |     t9 ();
    0x00030108 nop                       |     
    0x0003010c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00030110 bnez v0, 0x300b8          |         goto label_1;
                                         |     }
    0x00030114 lw a2, -0x7ce0(gp)        |     a2 = *((gp - 7992));
    0x00030118 lw t9, -0x7ce0(gp)        |     t9 = *((gp - 7992));
    0x0003011c addiu a2, a2, -0x5bd4     |     a2 += -0x5bd4;
    0x00030120 addiu a1, sp, 0x20        |     a1 = sp + 0x20;
    0x00030124 move a0, s0               |     a0 = s0;
    0x00030128 sw zero, 0x24(sp)         |     *(var_24h_2) = 0;
    0x0003012c sw zero, 0x28(sp)         |     *(var_28h) = 0;
    0x00030130 sw zero, 0x2c(sp)         |     *(var_2ch) = 0;
    0x00030134 sw zero, 0x30(sp)         |     *(var_30h) = 0;
    0x00030138 addiu t9, t9, -0x58b0     |     t9 += -0x58b0;
    0x0003013c sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x00030140 bal 0x2a750               |     fcn_0002a750 ();
    0x00030144 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00030148 b 0x300c8                 |     goto label_0;
                                         | label_2:
    0x0003014c lw a3, -0x7e54(gp)        |     a3 = *((gp - 8085));
    0x00030150 lw t9, -0x76a4(gp)        |     t9 = *((gp - 7593));
    0x00030154 addiu v0, zero, 0xe83     |     v0 = 0xe83;
    0x00030158 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x0003015c addiu a3, a3, -0xc48      |     a3 += -0xc48;
    0x00030160 addiu a2, zero, 0x90      |     a2 = 0x90;
    0x00030164 addiu a1, zero, 0xb4      |     a1 = 0xb4;
    0x00030168 addiu a0, zero, 0x14      |     a0 = 0x14;
    0x0003016c jalr t9                   |     t9 ();
    0x00030170 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00030174 addiu v0, zero, -1        |     v0 = -1;
    0x00030178 b 0x300c8                 |     goto label_0;
                                         | label_4:
    0x0003017c lw t9, -0x7630(gp)        |     t9 = *((gp - 7564));
    0x00030180 jalr t9                   |     t9 ();
    0x00030184 nop                       |     
    0x00030188 lui gp, 6                 |     
    0x0003018c addiu gp, gp, 0x1218      |     
    0x00030190 addu gp, gp, t9           |     gp += t9;
    0x00030194 addiu sp, sp, -0x28       |     
    0x00030198 lw a3, -0x7e54(gp)        |     a3 = *((gp - 8085));
    0x0003019c lw t9, -0x76a4(gp)        |     t9 = *((gp - 7593));
    0x000301a0 addiu v0, zero, 0xeb5     |     v0 = 0xeb5;
    0x000301a4 addiu a3, a3, -0xc48      |     a3 += -0xc48;
    0x000301a8 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x000301ac sw gp, 0x18(sp)           |     *(var_18h_3) = gp;
    0x000301b0 sw v0, 0x10(sp)           |     *(var_10h_3) = v0;
    0x000301b4 addiu a2, zero, 0x42      |     a2 = 0x42;
    0x000301b8 addiu a1, zero, 0xf4      |     a1 = 0xf4;
    0x000301bc addiu a0, zero, 0x14      |     a0 = 0x14;
    0x000301c0 jalr t9                   |     t9 ();
    0x000301c4 lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x000301c8 move v0, zero             |     v0 = 0;
    0x000301cc addiu sp, sp, 0x28        |     
    0x000301d0 jr ra                     |     return v0;
                                         | }

[*] Function fprintf used 1 times libssl.so.1.1