[*] Binary protection state of openssl

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


[*] Function fprintf tear down of openssl

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x45093c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.do_server ()                 | void do_server () {
    0x0045093c lui gp, 5                     |     
    0x00450940 addiu gp, gp, -0x449c         |     
    0x00450944 addu gp, gp, t9               |     gp += t9;
    0x00450948 addiu sp, sp, -0x68           |     
    0x0045094c sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x00450950 sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x00450954 sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x00450958 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x0045095c sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x00450960 sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x00450964 sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00450968 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x0045096c sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x00450970 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00450974 andi t8, a0, 0xffff           |     t8 = a0 & 0xffff;
    0x00450978 srl t8, t8, 8                 |     t8 >>= 8;
    0x0045097c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00450980 sll a0, a0, 8                 |     a0 <<= 8;
    0x00450984 lw fp, 0x78(sp)               |     fp = *(arg_78h);
    0x00450988 or a0, t8, a0                 |     a0 = t8 | a0;
    0x0045098c addiu t8, zero, 2             |     t8 = 2;
    0x00450990 sh t8, 0x20(sp)               |     *(var_20h) = t8;
    0x00450994 addiu t8, zero, 2             |     t8 = 2;
    0x00450998 sh a0, 0x22(sp)               |     *(var_22h) = a0;
    0x0045099c move s4, a1                   |     s4 = a1;
    0x004509a0 lw s0, 0x7c(sp)               |     s0 = *(arg_7ch);
    0x004509a4 move s3, a2                   |     s3 = a2;
    0x004509a8 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x004509ac move s7, a3                   |     s7 = a3;
    0x004509b0 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x004509b4 addiu a0, zero, 2             |     a0 = 2;
    0x004509b8 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x004509bc lw t9, -0x7698(gp)            |     t9 = sym.imp.socket;
                                             |     if (a1 == t8) {
    0x004509c0 beq a1, t8, 0x450c54          |         goto label_6;
                                             |     }
    0x004509c4 addiu a1, zero, 1             |     a1 = 1;
    0x004509c8 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x004509cc jalr t9                       |     t9 ();
    0x004509d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004509d4 move s2, v0                   |     s2 = v0;
                                             | label_3:
    0x004509d8 addiu s1, zero, -1            |     s1 = -1;
    0x004509dc addiu t8, zero, 4             |     t8 = 4;
                                             |     if (s2 == s1) {
    0x004509e0 beq s2, s1, 0x450b0c          |         goto label_7;
                                             |     }
    0x004509e4 move a0, s2                   |     a0 = s2;
    0x004509e8 lw t9, -0x7950(gp)            |     t9 = sym.imp.setsockopt;
    0x004509ec ori a1, zero, 0xffff          |     a1 = 0xffff;
    0x004509f0 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x004509f4 addiu t8, zero, 1             |     t8 = 1;
    0x004509f8 addiu a2, zero, 4             |     a2 = 4;
    0x004509fc addiu a3, sp, 0x30            |     a3 = sp + 0x30;
    0x00450a00 sw t8, 0x30(sp)               |     *(var_30h) = t8;
    0x00450a04 jalr t9                       |     t9 ();
    0x00450a08 move a0, s2                   |     a0 = s2;
    0x00450a0c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450a10 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00450a14 lw t9, -0x7378(gp)            |     t9 = sym.imp.bind;
    0x00450a18 addiu a2, zero, 0x10          |     a2 = 0x10;
    0x00450a1c jalr t9                       |     t9 ();
    0x00450a20 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == s1) {
    0x00450a24 beq v0, s1, 0x450ad8          |         goto label_8;
                                             |     }
    0x00450a28 addiu t8, zero, 2             |     t8 = 2;
    0x00450a2c lw t9, -0x6c88(gp)            |     t9 = sym.imp.listen;
                                             |     if (s4 == t8) {
    0x00450a30 beq s4, t8, 0x450c68          |         goto label_9;
                                             |     }
                                             | label_4:
    0x00450a34 addiu s6, zero, 2             |     s6 = 2;
                                             |     if (s3 != 0) {
    0x00450a38 beqz s3, 0x450a40             |         
    0x00450a3c sw s2, (s3)                   |         *(s3) = s2;
                                             |     }
    0x00450a40 addiu s3, zero, -1            |     s3 = -1;
    0x00450a44 addiu s5, zero, 4             |     s5 = 4;
                                             |     do {
                                             | label_1:
    0x00450a48 move a0, s2                   |         a0 = s2;
                                             |         if (s4 == s6) {
    0x00450a4c beq s4, s6, 0x450b54          |             goto label_10;
                                             |         }
    0x00450a50 move a1, s4                   |         a1 = s4;
    0x00450a54 move t9, s7                   |         t9 = s7;
    0x00450a58 move a2, fp                   |         a2 = fp;
    0x00450a5c jalr t9                       |         t9 ();
    0x00450a60 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00450a64 move t8, v0                   |         t8 = v0;
                                             |         if (s0 == s3) {
    0x00450a68 beq s0, s3, 0x450bc0          |             goto label_11;
                                             |         }
                                             | label_0:
    0x00450a6c addiu s0, s0, -1              |         s0 += -1;
                                             |         if (t8 < 0) {
    0x00450a70 bltz t8, 0x450a7c             |             goto label_12;
                                             |         }
    0x00450a74 bnez s0, 0x450a48             |         
                                             |     } while (s0 != 0);
    0x00450a78 nop                           |     
                                             | label_12:
    0x00450a7c lw t9, -0x7cfc(gp)            |     t9 = sym.imp.shutdown;
    0x00450a80 move a0, s2                   |     a0 = s2;
                                             | label_2:
    0x00450a84 sw t8, 0x38(sp)               |     *(var_38h) = t8;
    0x00450a88 addiu a1, zero, 2             |     a1 = 2;
    0x00450a8c jalr t9                       |     t9 ();
    0x00450a90 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450a94 lw t9, -0x76ac(gp)            |     t9 = sym.imp.close;
    0x00450a98 move a0, s2                   |     a0 = s2;
    0x00450a9c jalr t9                       |     t9 ();
    0x00450aa0 lw t8, 0x38(sp)               |     t8 = *(var_38h);
    0x00450aa4 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x00450aa8 lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x00450aac move v0, t8                   |     v0 = t8;
    0x00450ab0 lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x00450ab4 lw s6, 0x58(sp)               |     s6 = *(var_58h);
    0x00450ab8 lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x00450abc lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x00450ac0 lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x00450ac4 lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x00450ac8 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00450acc lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x00450ad0 addiu sp, sp, 0x68            |     
    0x00450ad4 jr ra                         |     return v0;
                                             | label_8:
    0x00450ad8 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00450adc lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.bind */
    0x00450ae0 addiu a0, a0, -0x3360         |     a0 += -0x3360;
    0x00450ae4 jalr t9                       |     t9 ();
    0x00450ae8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450aec lw t9, -0x7cfc(gp)            |     t9 = sym.imp.shutdown;
                                             | label_5:
    0x00450af0 move a0, s2                   |     a0 = s2;
    0x00450af4 move a1, zero                 |     a1 = 0;
    0x00450af8 jalr t9                       |     t9 ();
    0x00450afc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450b00 lw t9, -0x76ac(gp)            |     t9 = sym.imp.close;
    0x00450b04 move a0, s2                   |     a0 = s2;
    0x00450b08 jalr t9                       |     t9 ();
                                             | label_7:
    0x00450b0c lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x00450b10 move v0, zero                 |     v0 = 0;
    0x00450b14 lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x00450b18 lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x00450b1c lw s6, 0x58(sp)               |     s6 = *(var_58h);
    0x00450b20 lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x00450b24 lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x00450b28 lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x00450b2c lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x00450b30 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00450b34 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x00450b38 addiu sp, sp, 0x68            |     
    0x00450b3c jr ra                         |     return v0;
                                             |     do {
    0x00450b40 jalr t9                       |         t9 ();
    0x00450b44 nop                           |         
    0x00450b48 lw a2, (v0)                   |         a2 = *(v0);
    0x00450b4c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a2 != s5) {
    0x00450b50 bne a2, s5, 0x450bd0          |             goto label_13;
                                             |         }
                                             | label_10:
    0x00450b54 lw t9, -0x7b34(gp)            |         t9 = sym.imp.accept;
    0x00450b58 move a0, s2                   |         a0 = s2;
    0x00450b5c move a1, zero                 |         a1 = 0;
    0x00450b60 move a2, zero                 |         a2 = 0;
    0x00450b64 jalr t9                       |         t9 ();
    0x00450b68 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00450b6c move s1, v0                   |         s1 = v0;
    0x00450b70 lw t9, -0x794c(gp)            |         t9 = sym.imp.__errno_location;
    0x00450b74 beq v0, s3, 0x450b40          |         
                                             |     } while (v0 == s3);
    0x00450b78 move a2, fp                   |     a2 = fp;
    0x00450b7c addiu a1, zero, 2             |     a1 = 2;
    0x00450b80 move t9, s7                   |     t9 = s7;
    0x00450b84 move a0, v0                   |     a0 = v0;
    0x00450b88 jalr t9                       |     t9 ();
    0x00450b8c move a0, s1                   |     a0 = s1;
    0x00450b90 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450b94 addiu a1, zero, 2             |     a1 = 2;
    0x00450b98 lw t9, -0x7cfc(gp)            |     t9 = sym.imp.shutdown;
    0x00450b9c sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00450ba0 jalr t9                       |     t9 ();
    0x00450ba4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450ba8 lw t9, -0x76ac(gp)            |     t9 = sym.imp.close;
    0x00450bac move a0, s1                   |     a0 = s1;
    0x00450bb0 jalr t9                       |     t9 ();
    0x00450bb4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450bb8 lw t8, 0x38(sp)               |     t8 = *(var_38h);
                                             |     if (s0 != s3) {
    0x00450bbc bne s0, s3, 0x450a6c          |         goto label_0;
                                             |     }
                                             | label_11:
    0x00450bc0 lw t9, -0x7cfc(gp)            |     t9 = sym.imp.shutdown;
                                             |     if (t8 >= 0) {
    0x00450bc4 bgez t8, 0x450a48             |         goto label_1;
                                             |     }
    0x00450bc8 move a0, s2                   |     a0 = s2;
    0x00450bcc b 0x450a84                    |     goto label_2;
                                             | label_13:
    0x00450bd0 lw t8, -0x6c70(gp)            |     t8 = *((gp - 6940));
    0x00450bd4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00450bd8 lw a0, (t8)                   |     a0 = *(t8);
    0x00450bdc lw t9, -0x7598(gp)            |     t9 = sym.imp.fprintf
                                             |     /* str.errno_d_ */
    0x00450be0 addiu a1, a1, -0x3358         |     a1 += -0x3358;
    0x00450be4 jalr t9                       |     t9 ();
    0x00450be8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450bec lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00450bf0 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* esilref: 'accept' */
    0x00450bf4 addiu a0, a0, -0x4244         |     a0 += -0x4244;
    0x00450bf8 jalr t9                       |     t9 ();
    0x00450bfc move a0, s2                   |     a0 = s2;
    0x00450c00 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450c04 lw t9, -0x7cfc(gp)            |     t9 = sym.imp.shutdown;
    0x00450c08 move a1, zero                 |     a1 = 0;
    0x00450c0c jalr t9                       |     t9 ();
    0x00450c10 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450c14 lw t9, -0x76ac(gp)            |     t9 = sym.imp.close;
    0x00450c18 move a0, s2                   |     a0 = s2;
    0x00450c1c jalr t9                       |     t9 ();
    0x00450c20 move v0, zero                 |     v0 = 0;
    0x00450c24 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x00450c28 lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x00450c2c lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x00450c30 lw s6, 0x58(sp)               |     s6 = *(var_58h);
    0x00450c34 lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x00450c38 lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x00450c3c lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x00450c40 lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x00450c44 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00450c48 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x00450c4c addiu sp, sp, 0x68            |     
    0x00450c50 jr ra                         |     return v0;
                                             | label_6:
    0x00450c54 addiu a2, zero, 6             |     a2 = 6;
    0x00450c58 jalr t9                       |     t9 ();
    0x00450c5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450c60 move s2, v0                   |     s2 = v0;
    0x00450c64 b 0x4509d8                    |     goto label_3;
                                             | label_9:
    0x00450c68 move a0, s2                   |     a0 = s2;
    0x00450c6c addiu a1, zero, 0x80          |     a1 = 0x80;
    0x00450c70 jalr t9                       |     t9 ();
    0x00450c74 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != s1) {
    0x00450c78 bne v0, s1, 0x450a34          |         goto label_4;
                                             |     }
    0x00450c7c lw t9, -0x7cfc(gp)            |     t9 = sym.imp.shutdown;
    0x00450c80 b 0x450af0                    |     goto label_5;
                                             | }

[*] Function fprintf used 2 times openssl