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

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


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

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libssl.so.1.0.0 @ 0x406ec */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.SSL_CTX_new ()               | void SSL_CTX_new () {
    0x000406ec lui gp, 3                     |     
    0x000406f0 addiu gp, gp, -0x377c         |     
    0x000406f4 addu gp, gp, t9               |     gp += t9;
    0x000406f8 addiu sp, sp, -0x38           |     
    0x000406fc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00040700 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00040704 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00040708 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x0004070c sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00040710 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00040714 lw t9, -0x7b90(gp)            |     t9 = *((gp - 7908));
                                             |     if (a0 == 0) {
    0x00040718 beqz a0, 0x40b90              |         goto label_4;
                                             |     }
    0x0004071c move s1, a0                   |     s1 = a0;
    0x00040720 bal 0x4394c                   |     sym_SSL_get_ex_data_X509_STORE_CTX_idx ();
    0x00040724 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040728 lw s2, -0x7fe4(gp)            |     s2 = *((gp - 8185));
                                             |     if (v0 < 0) {
    0x0004072c bltz v0, 0x40abc              |         goto label_5;
                                             |     }
    0x00040730 lw t9, -0x7a24(gp)            |     t9 = *((gp - 7817));
    0x00040734 addiu a0, zero, 0x1d8         |     a0 = aav.0x000001d8;
    0x00040738 addiu a1, s2, -0x6184         |     a1 = s2 + -0x6184;
    0x0004073c addiu a2, zero, 0x759         |     a2 = 0x759;
    0x00040740 jalr t9                       |     t9 ();
    0x00040744 move s0, v0                   |     s0 = v0;
    0x00040748 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0004074c beqz v0, 0x40ae0              |         goto label_6;
                                             |     }
    0x00040750 lw t9, -0x7524(gp)            |     t9 = *((gp - 7497));
    0x00040754 move a0, v0                   |     a0 = v0;
    0x00040758 move a1, zero                 |     a1 = 0;
    0x0004075c addiu a2, zero, 0x1d8         |     a2 = aav.0x000001d8;
    0x00040760 jalr t9                       |     t9 ();
    0x00040764 lw t9, 0x60(s1)               |     t9 = *((s1 + 24));
    0x00040768 addiu v0, zero, 0x5000        |     v0 = 0x5000;
    0x0004076c addiu s3, zero, 2             |     s3 = 2;
    0x00040770 sw s1, (s0)                   |     *(s0) = s1;
    0x00040774 sw zero, 0xc(s0)              |     *((s0 + 3)) = 0;
    0x00040778 sw s3, 0x20(s0)               |     *((s0 + 8)) = s3;
    0x0004077c sw v0, 0x14(s0)               |     *((s0 + 5)) = v0;
    0x00040780 sw zero, 0x18(s0)             |     *((s0 + 6)) = 0;
    0x00040784 sw zero, 0x1c(s0)             |     *((s0 + 7)) = 0;
    0x00040788 jalr t9                       |     t9 ();
    0x0004078c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040790 addiu a0, s0, 0x34            |     a0 = s0 + 0x34;
    0x00040794 move a1, zero                 |     a1 = 0;
    0x00040798 lw t9, -0x7524(gp)            |     t9 = *((gp - 7497));
    0x0004079c addiu a2, zero, 0x2c          |     a2 = 0x2c;
    0x000407a0 sw v0, 0x24(s0)               |     *((s0 + 9)) = v0;
    0x000407a4 sw zero, 0x28(s0)             |     *((s0 + 10)) = 0;
    0x000407a8 sw zero, 0x2c(s0)             |     *((s0 + 11)) = 0;
    0x000407ac sw zero, 0x30(s0)             |     *((s0 + 12)) = 0;
    0x000407b0 sw zero, 0xec(s0)             |     *((s0 + 59)) = 0;
    0x000407b4 jalr t9                       |     t9 ();
    0x000407b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000407bc addiu v0, zero, 1             |     v0 = 1;
    0x000407c0 sw v0, 0x60(s0)               |     *((s0 + 24)) = v0;
    0x000407c4 lw t9, -0x7b8c(gp)            |     t9 = *((gp - 7907));
    0x000407c8 lui v0, 1                     |     v0 = 0x19000;
    0x000407cc ori v0, v0, 0x9000            |     
    0x000407d0 sw zero, 0xf4(s0)             |     *((s0 + 61)) = 0;
    0x000407d4 sw zero, 0x9c(s0)             |     *((s0 + 39)) = 0;
    0x000407d8 sw zero, 0x64(s0)             |     *((s0 + 25)) = 0;
    0x000407dc sw zero, 0x68(s0)             |     *((s0 + 26)) = 0;
    0x000407e0 sw v0, 0xac(s0)               |     *((s0 + 43)) = v0;
    0x000407e4 sw zero, 0xb4(s0)             |     *((s0 + 45)) = 0;
    0x000407e8 sw zero, 0xb8(s0)             |     *((s0 + 46)) = 0;
    0x000407ec sw zero, 0xbc(s0)             |     *((s0 + 47)) = 0;
    0x000407f0 sw zero, 0xc0(s0)             |     *((s0 + 48)) = 0;
    0x000407f4 sw zero, 0xc4(s0)             |     *((s0 + 49)) = 0;
    0x000407f8 sw zero, 0xe8(s0)             |     *((s0 + 58)) = 0;
    0x000407fc bal 0x43a80                   |     sym_ssl_cert_new ();
    0x00040800 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040804 sw v0, 0xb0(s0)               |     *((s0 + 44)) = v0;
                                             |     if (v0 == 0) {
    0x00040808 beqz v0, 0x40a68              |         goto label_7;
                                             |     }
    0x0004080c lw a0, -0x7bf0(gp)            |     a0 = *((gp - 7932));
    0x00040810 lw a1, -0x7bf0(gp)            |     a1 = *((gp - 7932));
    0x00040814 lw t9, -0x75a0(gp)            |     t9 = *((gp - 7528));
    0x00040818 sw zero, 0x6c(s0)             |     *((s0 + 27)) = 0;
    0x0004081c sw zero, 0x70(s0)             |     *((s0 + 28)) = 0;
    0x00040820 sw zero, 0x74(s0)             |     *((s0 + 29)) = 0;
    0x00040824 sw zero, 0x78(s0)             |     *((s0 + 30)) = 0;
    0x00040828 sw zero, 0x7c(s0)             |     *((s0 + 31)) = 0;
    0x0004082c addiu a0, a0, -0x1f60         |     a0 += -0x1f60;
    0x00040830 addiu a1, a1, -0x1ee8         |     a1 += -0x1ee8;
    0x00040834 jalr t9                       |     t9 ();
    0x00040838 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0004083c sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
                                             |     if (v0 == 0) {
    0x00040840 beqz v0, 0x40a68              |         goto label_7;
                                             |     }
    0x00040844 lw t9, -0x75cc(gp)            |     t9 = *((gp - 7539));
    0x00040848 jalr t9                       |     t9 ();
    0x0004084c nop                           |     
    0x00040850 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040854 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
                                             |     if (v0 == 0) {
    0x00040858 beqz v0, 0x40a68              |         goto label_7;
                                             |     }
    0x0004085c lw v0, (s1)                   |     v0 = *(s1);
    0x00040860 lw a0, (s0)                   |     a0 = *(s0);
    0x00040864 addiu a1, s0, 4               |     a1 = s0 + 4;
    0x00040868 addiu a2, s0, 8               |     a2 = s0 + 8;
                                             |     if (v0 == s3) {
    0x0004086c beq v0, s3, 0x40b24           |         goto label_8;
                                             |     }
    0x00040870 lw a3, -0x7fe4(gp)            |     a3 = *((gp - 8185));
    0x00040874 addiu a3, a3, -0x6170         |     a3 += -0x6170;
                                             |     do {
    0x00040878 lw v0, 0xb0(s0)               |         v0 = *((s0 + 44));
    0x0004087c lw t9, -0x7bc0(gp)            |         t9 = *((gp - 7920));
    0x00040880 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00040884 bal 0x4a1fc                   |         sym_ssl_create_cipher_list ();
    0x00040888 lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x0004088c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a0 == 0) {
    0x00040890 beqz a0, 0x40b30              |             goto label_9;
                                             |         }
    0x00040894 lw t9, -0x78f4(gp)            |         t9 = *((gp - 7741));
    0x00040898 jalr t9                       |         t9 ();
    0x0004089c nop                           |         
    0x000408a0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 <= 0) {
    0x000408a4 blez v0, 0x40b30              |             goto label_9;
                                             |         }
    0x000408a8 lw t9, -0x75f4(gp)            |         t9 = *((gp - 7549));
    0x000408ac jalr t9                       |         t9 ();
    0x000408b0 nop                           |         
    0x000408b4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000408b8 sw v0, 0xf0(s0)               |         *((s0 + 60)) = v0;
                                             |         if (v0 != 0) {
    0x000408bc beqz v0, 0x40a68              |             
    0x000408c0 lw a0, -0x7fe4(gp)            |             a0 = *((gp - 8185));
    0x000408c4 lw t9, -0x78f0(gp)            |             t9 = *((gp - 7740));
    0x000408c8 addiu a0, a0, -0x614c         |             a0 += -0x614c;
    0x000408cc jalr t9                       |             t9 ();
    0x000408d0 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000408d4 sw v0, 0x88(s0)               |             *((s0 + 34)) = v0;
                                             |             if (v0 == 0) {
    0x000408d8 beqz v0, 0x40bbc              |                 goto label_10;
                                             |             }
    0x000408dc lw a0, -0x7fe4(gp)            |             a0 = *((gp - 8185));
    0x000408e0 lw t9, -0x78f0(gp)            |             t9 = *((gp - 7740));
    0x000408e4 addiu a0, a0, -0x6140         |             a0 += -0x6140;
    0x000408e8 jalr t9                       |             t9 ();
    0x000408ec lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000408f0 sw v0, 0x8c(s0)               |             *((s0 + 35)) = v0;
                                             |             if (v0 == 0) {
    0x000408f4 beqz v0, 0x40b58              |                 goto label_11;
                                             |             }
    0x000408f8 lw a0, -0x7fe4(gp)            |             a0 = *((gp - 8185));
    0x000408fc lw t9, -0x78f0(gp)            |             t9 = *((gp - 7740));
    0x00040900 addiu a0, a0, -0x6134         |             a0 += -0x6134;
    0x00040904 jalr t9                       |             t9 ();
    0x00040908 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0004090c sw v0, 0x90(s0)               |             *((s0 + 36)) = v0;
                                             |             if (v0 == 0) {
    0x00040910 beqz v0, 0x40bf8              |                 goto label_12;
                                             |             }
    0x00040914 lw t9, -0x7874(gp)            |             t9 = *(gp);
    0x00040918 jalr t9                       |             t9 ();
    0x0004091c nop                           |             
    0x00040920 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00040924 sw v0, 0xa0(s0)               |             *((s0 + 40)) = v0;
                                             |             if (v0 == 0) {
    0x00040928 beqz v0, 0x40a68              |                 goto label_7;
                                             |             }
    0x0004092c lw t9, -0x78b4(gp)            |             t9 = *((gp - 7725));
    0x00040930 addiu a0, zero, 2             |             a0 = 2;
    0x00040934 move a1, s0                   |             a1 = s0;
    0x00040938 addiu a2, s0, 0x80            |             a2 = s0 + 0x80;
    0x0004093c jalr t9                       |             t9 ();
    0x00040940 lw v0, 0x64(s1)               |             v0 = *((s1 + 25));
    0x00040944 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00040948 sw zero, 0x94(s0)             |             *((s0 + 37)) = 0;
    0x0004094c lw v0, 0x38(v0)               |             v0 = *((v0 + 14));
    0x00040950 andi v0, v0, 8                |             v0 &= 8;
    0x00040954 lw t9, -0x7b88(gp)            |             t9 = *((gp - 7906));
                                             |             if (v0 == 0) {
    0x00040958 beqz v0, 0x40be4              |                 goto label_13;
                                             |             }
                                             | label_3:
    0x0004095c lw t9, -0x7514(gp)            |             t9 = *((gp - 7493));
    0x00040960 addiu v0, zero, 0x4000        |             v0 = 0x4000;
    0x00040964 sw v0, 0xf8(s0)               |             *((s0 + 62)) = v0;
    0x00040968 sw zero, 0x100(s0)            |             *(s0) = 0;
    0x0004096c sw zero, 0x104(s0)            |             *(s0) = 0;
    0x00040970 addiu a0, s0, 0x108           |             a0 = s0 + aav.0x00000108;
    0x00040974 addiu a1, zero, 0x10          |             a1 = 0x10;
    0x00040978 jalr t9                       |             t9 ();
    0x0004097c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 <= 0) {
    0x00040980 blez v0, 0x40b80              |                 goto label_14;
                                             |             }
    0x00040984 lw t9, -0x74dc(gp)            |             t9 = *((gp - 7479));
    0x00040988 addiu a0, s0, 0x118           |             a0 = s0 + aav.0x00000118;
    0x0004098c addiu a1, zero, 0x10          |             a1 = 0x10;
    0x00040990 jalr t9                       |             t9 ();
    0x00040994 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 <= 0) {
    0x00040998 blez v0, 0x40b80              |                 goto label_14;
                                             |             }
    0x0004099c lw t9, -0x74dc(gp)            |             t9 = *((gp - 7479));
    0x000409a0 addiu a0, s0, 0x128           |             a0 = s0 + aav.0x00000128;
    0x000409a4 addiu a1, zero, 0x10          |             a1 = 0x10;
    0x000409a8 jalr t9                       |             t9 ();
    0x000409ac lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 <= 0) {
    0x000409b0 blez v0, 0x40b80              |                 goto label_14;
                                             |             }
                                             | label_1:
    0x000409b4 lw t9, -0x7b84(gp)            |             t9 = *((gp - 7905));
    0x000409b8 move a0, s0                   |             a0 = s0;
    0x000409bc sw zero, 0x13c(s0)            |             *(s0) = 0;
    0x000409c0 sw zero, 0x140(s0)            |             *(s0) = 0;
    0x000409c4 sw zero, 0x1a4(s0)            |             *(s0) = 0;
    0x000409c8 sw zero, 0x1ac(s0)            |             *(s0) = 0;
    0x000409cc sw zero, 0x14c(s0)            |             *(s0) = 0;
    0x000409d0 sw zero, 0x150(s0)            |             *(s0) = 0;
    0x000409d4 sw zero, 0x154(s0)            |             *(s0) = 0;
    0x000409d8 bal 0x56058                   |             sym_SSL_CTX_SRP_CTX_init ();
    0x000409dc lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000409e0 addiu v0, zero, 0x20          |             v0 = 0x20;
    0x000409e4 sw v0, 0x158(s0)              |             *(s0) = v0;
    0x000409e8 lw t9, -0x7a24(gp)            |             t9 = *((gp - 7817));
    0x000409ec addiu a0, zero, 0xc           |             a0 = 0xc;
    0x000409f0 addiu a1, s2, -0x6184         |             a1 = s2 + -0x6184;
    0x000409f4 addiu a2, zero, 0x7dc         |             a2 = 0x7dc;
    0x000409f8 jalr t9                       |             t9 ();
    0x000409fc lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00040a00 sw v0, 0x160(s0)              |             *(s0) = v0;
                                             |             if (v0 == 0) {
    0x00040a04 beqz v0, 0x40a68              |                 goto label_7;
                                             |             }
    0x00040a08 lw a1, -0x7fe4(gp)            |             a1 = *((gp - 8185));
    0x00040a0c lw t9, -0x7a24(gp)            |             t9 = *((gp - 7817));
    0x00040a10 sw zero, (v0)                 |             *(v0) = 0;
    0x00040a14 sw zero, 4(v0)                |             *((v0 + 1)) = 0;
    0x00040a18 sw zero, 8(v0)                |             *((v0 + 2)) = 0;
    0x00040a1c addiu a0, zero, 0xc           |             a0 = 0xc;
    0x00040a20 addiu a1, a1, -0x6184         |             a1 += -0x6184;
    0x00040a24 addiu a2, zero, 0x7e2         |             a2 = 0x7e2;
    0x00040a28 jalr t9                       |             t9 ();
    0x00040a2c lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00040a30 sw v0, 0x15c(s0)              |             *(s0) = v0;
                                             |             if (v0 != 0) {
    0x00040a34 beqz v0, 0x40a58              |                 
    0x00040a38 lw v1, 0xa4(s0)               |                 v1 = *((s0 + 41));
    0x00040a3c sw zero, (v0)                 |                 *(v0) = 0;
    0x00040a40 sw zero, 4(v0)                |                 *((v0 + 1)) = 0;
    0x00040a44 ori v1, v1, 4                 |                 v1 |= 4;
    0x00040a48 sw zero, 8(v0)                |                 *((v0 + 2)) = 0;
    0x00040a4c sw zero, 0xfc(s0)             |                 *((s0 + 63)) = 0;
    0x00040a50 sw v1, 0xa4(s0)               |                 *((s0 + 41)) = v1;
    0x00040a54 b 0x40a9c                     |                 goto label_2;
                                             |             }
    0x00040a58 lw t9, -0x7a2c(gp)            |             t9 = *((gp - 7819));
    0x00040a5c lw a0, 0x160(s0)              |             a0 = *(s0);
    0x00040a60 jalr t9                       |             t9 ();
    0x00040a64 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
                                             | label_7:
    0x00040a68 lw t9, -0x793c(gp)            |         t9 = *((gp - 7759));
    0x00040a6c addiu v0, zero, 0x806         |         v0 = 0x806;
    0x00040a70 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00040a74 addiu a0, zero, 0x14          |         a0 = 0x14;
    0x00040a78 addiu a1, zero, 0xa9          |         a1 = 0xa9;
    0x00040a7c addiu a2, zero, 0x41          |         a2 = 0x41;
    0x00040a80 addiu a3, s2, -0x6184         |         a3 = s2 + -0x6184;
    0x00040a84 jalr t9                       |         t9 ();
    0x00040a88 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_0:
    0x00040a8c lw t9, -0x7b80(gp)            |         t9 = *((gp - 7904));
    0x00040a90 move a0, s0                   |         a0 = s0;
    0x00040a94 move s0, zero                 |         s0 = 0;
    0x00040a98 bal 0x40438                   |         sym_SSL_CTX_free ();
                                             | label_2:
    0x00040a9c lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00040aa0 move v0, s0                   |         v0 = s0;
    0x00040aa4 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00040aa8 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00040aac lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00040ab0 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00040ab4 addiu sp, sp, 0x38            |         
    0x00040ab8 jr ra                         |         return v0;
                                             | label_5:
    0x00040abc lw t9, -0x793c(gp)            |         t9 = *((gp - 7759));
    0x00040ac0 addiu v0, zero, 0x756         |         v0 = 0x756;
    0x00040ac4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00040ac8 addiu a0, zero, 0x14          |         a0 = 0x14;
    0x00040acc addiu a1, zero, 0xa9          |         a1 = 0xa9;
    0x00040ad0 addiu a2, zero, 0x10d         |         a2 = 0x10d;
    0x00040ad4 addiu a3, s2, -0x6184         |         a3 = s2 + -0x6184;
    0x00040ad8 jalr t9                       |         t9 ();
    0x00040adc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_6:
    0x00040ae0 lw t9, -0x793c(gp)            |         t9 = *((gp - 7759));
    0x00040ae4 addiu v0, zero, 0x806         |         v0 = 0x806;
    0x00040ae8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00040aec addiu a3, s2, -0x6184         |         a3 = s2 + -0x6184;
    0x00040af0 addiu a0, zero, 0x14          |         a0 = 0x14;
    0x00040af4 addiu a1, zero, 0xa9          |         a1 = 0xa9;
    0x00040af8 addiu a2, zero, 0x41          |         a2 = 0x41;
    0x00040afc jalr t9                       |         t9 ();
    0x00040b00 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00040b04 move s0, zero                 |         s0 = 0;
    0x00040b08 move v0, s0                   |         v0 = s0;
    0x00040b0c lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00040b10 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00040b14 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00040b18 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00040b1c addiu sp, sp, 0x38            |         
    0x00040b20 jr ra                         |         return v0;
                                             | label_8:
    0x00040b24 lw a3, -0x7fe4(gp)            |         a3 = *((gp - 8185));
    0x00040b28 addiu a3, a3, -0x6178         |         a3 += -0x6178;
    0x00040b2c b 0x40878                     |         
                                             |     } while (1);
                                             | label_9:
    0x00040b30 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00040b34 addiu v0, zero, 0x7a0         |     v0 = 0x7a0;
    0x00040b38 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00040b3c addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00040b40 addiu a1, zero, 0xa9          |     a1 = 0xa9;
    0x00040b44 addiu a2, zero, 0xa1          |     a2 = 0xa1;
    0x00040b48 addiu a3, s2, -0x6184         |     a3 = s2 + -0x6184;
    0x00040b4c jalr t9                       |     t9 ();
    0x00040b50 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040b54 b 0x40a8c                     |     goto label_0;
                                             | label_11:
    0x00040b58 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00040b5c addiu v0, zero, 0x7ad         |     v0 = 0x7ad;
    0x00040b60 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00040b64 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00040b68 addiu a1, zero, 0xa9          |     a1 = 0xa9;
    0x00040b6c addiu a2, zero, 0xf2          |     a2 = 0xf2;
    0x00040b70 addiu a3, s2, -0x6184         |     a3 = s2 + -0x6184;
    0x00040b74 jalr t9                       |     t9 ();
    0x00040b78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040b7c b 0x40a8c                     |     goto label_0;
                                             | label_14:
    0x00040b80 lw v0, 0xa4(s0)               |     v0 = *((s0 + 41));
    0x00040b84 ori v0, v0, 0x4000            |     v0 |= 0x4000;
    0x00040b88 sw v0, 0xa4(s0)               |     *((s0 + 41)) = v0;
    0x00040b8c b 0x409b4                     |     goto label_1;
                                             | label_4:
    0x00040b90 lw a3, -0x7fe4(gp)            |     a3 = *((gp - 8185));
    0x00040b94 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00040b98 addiu v0, zero, 0x74b         |     v0 = 0x74b;
    0x00040b9c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00040ba0 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00040ba4 addiu a1, zero, 0xa9          |     a1 = 0xa9;
    0x00040ba8 addiu a2, zero, 0xc4          |     a2 = 0xc4;
    0x00040bac addiu a3, a3, -0x6184         |     a3 += -0x6184;
    0x00040bb0 jalr t9                       |     t9 ();
    0x00040bb4 move s0, zero                 |     s0 = 0;
    0x00040bb8 b 0x40a9c                     |     goto label_2;
                                             | label_10:
    0x00040bbc lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00040bc0 addiu v0, zero, 0x7a9         |     v0 = 0x7a9;
    0x00040bc4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00040bc8 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00040bcc addiu a1, zero, 0xa9          |     a1 = 0xa9;
    0x00040bd0 addiu a2, zero, 0xf1          |     a2 = 0xf1;
    0x00040bd4 addiu a3, s2, -0x6184         |     a3 = s2 + -0x6184;
    0x00040bd8 jalr t9                       |     t9 ();
    0x00040bdc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040be0 b 0x40a8c                     |     goto label_0;
                                             | label_13:
    0x00040be4 bal 0x4baf4                   |     sym_SSL_COMP_get_compression_methods ();
    0x00040be8 nop                           |     
    0x00040bec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040bf0 sw v0, 0x98(s0)               |     *((s0 + 38)) = v0;
    0x00040bf4 b 0x4095c                     |     goto label_3;
                                             | label_12:
    0x00040bf8 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00040bfc addiu v0, zero, 0x7b1         |     v0 = 0x7b1;
    0x00040c00 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00040c04 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00040c08 addiu a1, zero, 0xa9          |     a1 = 0xa9;
    0x00040c0c addiu a2, zero, 0xf3          |     a2 = 0xf3;
    0x00040c10 addiu a3, s2, -0x6184         |     a3 = s2 + -0x6184;
    0x00040c14 jalr t9                       |     t9 ();
    0x00040c18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00040c1c b 0x40a8c                     |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libssl.so.1.0.0 @ 0x45654 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ssl_verify_cert_chain ()     | void ssl_verify_cert_chain () {
    0x00045654 lui gp, 2                     |     
    0x00045658 addiu gp, gp, 0x791c          |     
    0x0004565c addu gp, gp, t9               |     gp += t9;
    0x00045660 lw v0, 0x98(a0)               |     v0 = *((a0 + 38));
    0x00045664 addiu sp, sp, -0xc0           |     
    0x00045668 sw s2, 0xb8(sp)               |     *(var_b8h) = s2;
    0x0004566c lw s2, 0x150(v0)              |     s2 = *(v0);
    0x00045670 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00045674 sw s1, 0xb4(sp)               |     *(var_b4h) = s1;
    0x00045678 sw s0, 0xb0(sp)               |     *(var_b0h) = s0;
    0x0004567c sw ra, 0xbc(sp)               |     *(var_bch) = ra;
    0x00045680 move s0, a0                   |     s0 = a0;
    0x00045684 move s1, a1                   |     s1 = a1;
    0x00045688 beqz s2, 0x457ec              |     
                                             |     while (1) {
    0x0004568c lw t9, -0x78f4(gp)            |         t9 = *((gp - 7741));
                                             |         if (s1 != 0) {
    0x00045690 beqz s1, 0x456a4              |             
    0x00045694 move a0, s1                   |             a0 = s1;
    0x00045698 jalr t9                       |             t9 ();
    0x0004569c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 != 0) {
    0x000456a0 bnez v0, 0x456c0              |                 goto label_2;
                                             |             }
                                             |         }
    0x000456a4 lw ra, 0xbc(sp)               |         ra = *(var_bch);
    0x000456a8 lw s2, 0xb8(sp)               |         s2 = *(var_b8h);
    0x000456ac lw s1, 0xb4(sp)               |         s1 = *(var_b4h);
    0x000456b0 lw s0, 0xb0(sp)               |         s0 = *(var_b0h);
    0x000456b4 move v0, zero                 |         v0 = 0;
    0x000456b8 addiu sp, sp, 0xc0            |         
    0x000456bc jr ra                         |         return v0;
                                             | label_2:
    0x000456c0 lw t9, -0x7a00(gp)            |         t9 = *((gp - 7808));
    0x000456c4 move a0, s1                   |         a0 = s1;
    0x000456c8 move a1, zero                 |         a1 = 0;
    0x000456cc jalr t9                       |         t9 ();
    0x000456d0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000456d4 addiu a0, sp, 0x20            |         a0 = sp + 0x20;
    0x000456d8 move a1, s2                   |         a1 = s2;
    0x000456dc lw t9, -0x76a0(gp)            |         t9 = *((gp - 7592));
    0x000456e0 move a2, v0                   |         a2 = v0;
    0x000456e4 move a3, s1                   |         a3 = s1;
    0x000456e8 jalr t9                       |         t9 ();
    0x000456ec lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000456f0 beqz v0, 0x457f8              |             goto label_3;
                                             |         }
    0x000456f4 lw v0, 0x98(s0)               |         v0 = *((s0 + 38));
    0x000456f8 lw t9, -0x7860(gp)            |         t9 = *((gp - 7704));
    0x000456fc addiu a0, sp, 0x20            |         a0 = sp + 0x20;
    0x00045700 lw a1, 0x38(v0)               |         a1 = *((v0 + 14));
    0x00045704 lui v0, 3                     |         v0 = 0x30000;
    0x00045708 and a1, a1, v0                |         a1 &= v0;
    0x0004570c jalr t9                       |         t9 ();
    0x00045710 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00045714 lw t9, -0x7b90(gp)            |         t9 = *((gp - 7908));
    0x00045718 bal 0x4394c                   |         sym_SSL_get_ex_data_X509_STORE_CTX_idx ();
    0x0004571c nop                           |         
    0x00045720 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00045724 addiu a0, sp, 0x20            |         a0 = sp + 0x20;
    0x00045728 move a1, v0                   |         a1 = v0;
    0x0004572c lw t9, -0x7730(gp)            |         t9 = *((gp - 7628));
    0x00045730 move a2, s0                   |         a2 = s0;
    0x00045734 jalr t9                       |         t9 ();
    0x00045738 lw v0, 0x24(s0)               |         v0 = *((s0 + 9));
    0x0004573c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00045740 beqz v0, 0x45838              |             goto label_4;
                                             |         }
    0x00045744 lw a1, -0x7fe4(gp)            |         a1 = *((gp - 8185));
    0x00045748 addiu a1, a1, -0x5d7c         |         a1 += -0x5d7c;
                                             | label_0:
    0x0004574c lw t9, -0x7a3c(gp)            |         t9 = *((gp - 7823));
    0x00045750 addiu a0, sp, 0x20            |         a0 = sp + 0x20;
    0x00045754 jalr t9                       |         t9 ();
    0x00045758 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0004575c lw t9, -0x77bc(gp)            |         t9 = *((gp - 7663));
    0x00045760 addiu a0, sp, 0x20            |         a0 = sp + 0x20;
    0x00045764 jalr t9                       |         t9 ();
    0x00045768 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0004576c lw a1, 0x70(s0)               |         a1 = *((s0 + 28));
    0x00045770 lw t9, -0x779c(gp)            |         t9 = *((gp - 7655));
    0x00045774 move a0, v0                   |         a0 = v0;
    0x00045778 jalr t9                       |         t9 ();
    0x0004577c lw a1, 0xcc(s0)               |         a1 = *((s0 + 51));
    0x00045780 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a1 != 0) {
    0x00045784 beqz a1, 0x45798              |             
    0x00045788 lw t9, -0x7990(gp)            |             t9 = *((gp - 7780));
    0x0004578c addiu a0, sp, 0x20            |             a0 = sp + 0x20;
    0x00045790 jalr t9                       |             t9 ();
    0x00045794 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00045798 lw v0, 0xe4(s0)               |         v0 = *((s0 + 57));
    0x0004579c lw t9, 0x64(v0)               |         t9 = *((v0 + 25));
                                             |         if (t9 == 0) {
    0x000457a0 beqz t9, 0x45844              |             goto label_5;
                                             |         }
    0x000457a4 nop                           |         
    0x000457a8 lw a1, 0x68(v0)               |         a1 = *((v0 + 26));
    0x000457ac addiu a0, sp, 0x20            |         a0 = sp + 0x20;
    0x000457b0 jalr t9                       |         t9 ();
    0x000457b4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_1:
    0x000457b8 lw v1, 0x84(sp)               |         v1 = *(var_84h);
    0x000457bc lw t9, -0x7910(gp)            |         t9 = *((gp - 7748));
    0x000457c0 addiu a0, sp, 0x20            |         a0 = sp + 0x20;
    0x000457c4 sw v1, 0xec(s0)               |         *((s0 + 59)) = v1;
    0x000457c8 sw v0, 0xa8(sp)               |         *(var_a8h) = v0;
    0x000457cc jalr t9                       |         t9 ();
    0x000457d0 lw ra, 0xbc(sp)               |         ra = *(var_bch);
    0x000457d4 lw v0, 0xa8(sp)               |         v0 = *(var_a8h);
    0x000457d8 lw s2, 0xb8(sp)               |         s2 = *(var_b8h);
    0x000457dc lw s1, 0xb4(sp)               |         s1 = *(var_b4h);
    0x000457e0 lw s0, 0xb0(sp)               |         s0 = *(var_b0h);
    0x000457e4 addiu sp, sp, 0xc0            |         
    0x000457e8 jr ra                         |         return v0;
    0x000457ec lw v0, 0xe4(a0)               |         v0 = *((a0 + 57));
    0x000457f0 lw s2, 0xc(v0)                |         s2 = *((v0 + 3));
    0x000457f4 b 0x4568c                     |         
                                             |     }
                                             | label_3:
    0x000457f8 lw a3, -0x7fe4(gp)            |     a3 = *((gp - 8185));
    0x000457fc lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00045800 addiu v0, zero, 0x2d5         |     v0 = 0x2d5;
    0x00045804 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00045808 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x0004580c addiu a1, zero, 0xcf          |     a1 = 0xcf;
    0x00045810 addiu a2, zero, 0xb           |     a2 = 0xb;
    0x00045814 addiu a3, a3, -0x5da0         |     a3 += -0x5da0;
    0x00045818 jalr t9                       |     t9 ();
    0x0004581c lw ra, 0xbc(sp)               |     ra = *(var_bch);
    0x00045820 lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
    0x00045824 lw s1, 0xb4(sp)               |     s1 = *(var_b4h);
    0x00045828 lw s0, 0xb0(sp)               |     s0 = *(var_b0h);
    0x0004582c move v0, zero                 |     v0 = 0;
    0x00045830 addiu sp, sp, 0xc0            |     
    0x00045834 jr ra                         |     return v0;
                                             | label_4:
    0x00045838 lw a1, -0x7fe4(gp)            |     a1 = *((gp - 8185));
    0x0004583c addiu a1, a1, -0x5d70         |     a1 += -0x5d70;
    0x00045840 b 0x4574c                     |     goto label_0;
                                             | label_5:
    0x00045844 lw t9, -0x74d0(gp)            |     t9 = *((gp - 7476));
    0x00045848 addiu a0, sp, 0x20            |     a0 = sp + 0x20;
    0x0004584c jalr t9                       |     t9 ();
    0x00045850 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00045854 b 0x457b8                     |     goto label_1;
                                             | }

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