[*] Binary protection state of openssl

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


[*] Function printf 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 @ 0x40fb24 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0040fb24 ()                  | void fcn_0040fb24 () {
    0x0040fb24 lui gp, 9                     |     
    0x0040fb28 addiu gp, gp, -0x3684         |     
    0x0040fb2c addu gp, gp, t9               |     gp += t9;
    0x0040fb30 addiu sp, sp, -0x68           |     
    0x0040fb34 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x0040fb38 sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x0040fb3c sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x0040fb40 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x0040fb44 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x0040fb48 sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x0040fb4c sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x0040fb50 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x0040fb54 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x0040fb58 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x0040fb5c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0040fb60 move s0, a1                   |     s0 = a1;
                                             |     if (a1 <= 0) {
    0x0040fb64 blez a1, 0x40fbdc             |         goto label_12;
                                             |     }
    0x0040fb68 lw t8, (a2)                   |     t8 = *(a2);
    0x0040fb6c move s1, a2                   |     s1 = a2;
                                             |     if (t8 == 0) {
    0x0040fb70 beqz t8, 0x40fbdc             |         goto label_12;
                                             |     }
    0x0040fb74 lw t9, -0x7b84(gp)            |     t9 = sym.imp.lh_retrieve;
    0x0040fb78 addiu s2, sp, 0x20            |     s2 = sp + 0x20;
    0x0040fb7c move a1, s2                   |     a1 = s2;
    0x0040fb80 sw t8, 0x24(sp)               |     *(var_24h) = t8;
    0x0040fb84 move s3, a0                   |     s3 = a0;
    0x0040fb88 jalr t9                       |     t9 ();
    0x0040fb8c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fb90 beqz v0, 0x40fc14             |         goto label_13;
                                             |     }
    0x0040fb94 lw t9, 8(v0)                  |     t9 = *((v0 + 2));
                                             |     do {
                                             | label_0:
    0x0040fb98 move a0, s0                   |         a0 = s0;
    0x0040fb9c move a1, s1                   |         a1 = s1;
    0x0040fba0 jalr t9                       |         t9 ();
    0x0040fba4 move s0, v0                   |         s0 = v0;
                                             | label_4:
    0x0040fba8 move v0, s0                   |         v0 = s0;
                                             | label_2:
    0x0040fbac lw ra, 0x64(sp)               |         ra = *(var_64h);
    0x0040fbb0 lw fp, 0x60(sp)               |         fp = *(var_60h);
    0x0040fbb4 lw s7, 0x5c(sp)               |         s7 = *(var_5ch);
    0x0040fbb8 lw s6, 0x58(sp)               |         s6 = *(var_58h);
    0x0040fbbc lw s5, 0x54(sp)               |         s5 = *(var_54h);
    0x0040fbc0 lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x0040fbc4 lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x0040fbc8 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x0040fbcc lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x0040fbd0 lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x0040fbd4 addiu sp, sp, 0x68            |         
    0x0040fbd8 jr ra                         |         return v0;
                                             | label_12:
    0x0040fbdc move s0, zero                 |         s0 = 0;
    0x0040fbe0 move v0, s0                   |         v0 = s0;
    0x0040fbe4 lw ra, 0x64(sp)               |         ra = *(var_64h);
    0x0040fbe8 lw fp, 0x60(sp)               |         fp = *(var_60h);
    0x0040fbec lw s7, 0x5c(sp)               |         s7 = *(var_5ch);
    0x0040fbf0 lw s6, 0x58(sp)               |         s6 = *(var_58h);
    0x0040fbf4 lw s5, 0x54(sp)               |         s5 = *(var_54h);
    0x0040fbf8 lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x0040fbfc lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x0040fc00 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x0040fc04 lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x0040fc08 lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x0040fc0c addiu sp, sp, 0x68            |         
    0x0040fc10 jr ra                         |         return v0;
                                             | label_13:
    0x0040fc14 lw t9, -0x7974(gp)            |         t9 = sym.imp.EVP_get_digestbyname;
    0x0040fc18 lw a0, (s1)                   |         a0 = *(s1);
    0x0040fc1c jalr t9                       |         t9 ();
    0x0040fc20 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0040fc24 beqz v0, 0x40fc3c             |             goto label_14;
                                             |         }
    0x0040fc28 lw t9, -0x7e68(gp)            |         t9 = sym.dgst_main;
    0x0040fc2c addiu t8, zero, 2             |         t8 = 2;
    0x0040fc30 sw t8, 0x20(sp)               |         *(var_20h) = t8;
    0x0040fc34 sw t9, 0x28(sp)               |         *(var_28h) = t9;
    0x0040fc38 b 0x40fb98                    |         
                                             |     } while (1);
                                             | label_14:
    0x0040fc3c lw t9, -0x7054(gp)            |     t9 = sym.imp.EVP_get_cipherbyname;
    0x0040fc40 lw a0, (s1)                   |     a0 = *(s1);
    0x0040fc44 jalr t9                       |     t9 ();
    0x0040fc48 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0040fc4c beqz v0, 0x40fc64             |         
    0x0040fc50 lw t9, -0x7e64(gp)            |         t9 = sym.enc_main;
    0x0040fc54 addiu t8, zero, 3             |         t8 = 3;
    0x0040fc58 sw t8, 0x20(sp)               |         *(var_20h) = t8;
    0x0040fc5c sw t9, 0x28(sp)               |         *(var_28h) = t9;
    0x0040fc60 b 0x40fb98                    |         goto label_0;
                                             |     }
    0x0040fc64 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fc68 addiu a2, zero, 3             |     a2 = 3;
    0x0040fc6c lw s0, (s1)                   |     s0 = *(s1);
    0x0040fc70 lw t9, -0x7000(gp)            |     t9 = sym.imp.strncmp;
                                             |     /* esilref: 'no-' */
    0x0040fc74 addiu a1, a1, -0x3800         |     a1 += -0x3800;
    0x0040fc78 move a0, s0                   |     a0 = s0;
    0x0040fc7c jalr t9                       |     t9 ();
    0x0040fc80 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fc84 beqz v0, 0x40fecc             |         goto label_15;
                                             |     }
    0x0040fc88 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fc8c move a0, s0                   |     a0 = s0;
    0x0040fc90 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.quit */
    0x0040fc94 addiu a1, a1, -0x39dc         |     a1 += -0x39dc;
    0x0040fc98 jalr t9                       |     t9 ();
    0x0040fc9c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fca0 beqz v0, 0x40ff6c             |         goto label_16;
                                             |     }
    0x0040fca4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fca8 move a0, s0                   |     a0 = s0;
    0x0040fcac lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
    0x0040fcb0 addiu a1, a1, -0x39d4         |     a1 += -0x39d4;
    0x0040fcb4 jalr t9                       |     t9 ();
    0x0040fcb8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fcbc beqz v0, 0x40ff6c             |         goto label_16;
                                             |     }
    0x0040fcc0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fcc4 move a0, s0                   |     a0 = s0;
    0x0040fcc8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.exit */
    0x0040fccc addiu a1, a1, -0x39d0         |     a1 += -0x39d0;
    0x0040fcd0 jalr t9                       |     t9 ();
    0x0040fcd4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fcd8 beqz v0, 0x40ff6c             |         goto label_16;
                                             |     }
    0x0040fcdc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fce0 move a0, s0                   |     a0 = s0;
    0x0040fce4 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'bye' */
    0x0040fce8 addiu a1, a1, -0x39c8         |     a1 += -0x39c8;
    0x0040fcec jalr t9                       |     t9 ();
    0x0040fcf0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fcf4 beqz v0, 0x40ff6c             |         goto label_16;
                                             |     }
    0x0040fcf8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fcfc move a0, s0                   |     a0 = s0;
    0x0040fd00 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_standard_commands */
    0x0040fd04 addiu a1, a1, -0x39c4         |     a1 += -0x39c4;
    0x0040fd08 jalr t9                       |     t9 ();
    0x0040fd0c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fd10 beqz v0, 0x40fe88             |         goto label_17;
                                             |     }
    0x0040fd14 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fd18 move a0, s0                   |     a0 = s0;
    0x0040fd1c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_message_digest_commands */
    0x0040fd20 addiu a1, a1, -0x39ac         |     a1 += -0x39ac;
    0x0040fd24 jalr t9                       |     t9 ();
    0x0040fd28 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fd2c beqz v0, 0x40ff40             |         goto label_18;
                                             |     }
    0x0040fd30 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fd34 move a0, s0                   |     a0 = s0;
    0x0040fd38 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_message_digest_algorithms */
    0x0040fd3c addiu a1, a1, -0x398c         |     a1 += -0x398c;
    0x0040fd40 jalr t9                       |     t9 ();
    0x0040fd44 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0040fd48 bnez v0, 0x40ff74             |         goto label_19;
                                             |     }
    0x0040fd4c lw t8, -0x77b0(gp)            |     t8 = *((gp - 7660));
    0x0040fd50 move a1, zero                 |     a1 = 0;
    0x0040fd54 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x0040fd58 lw a0, (t8)                   |     a0 = *(t8);
    0x0040fd5c jalr t9                       |     t9 ();
    0x0040fd60 move a1, zero                 |     a1 = 0;
    0x0040fd64 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040fd68 move s2, v0                   |     s2 = v0;
    0x0040fd6c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0040fd70 lw t9, -0x7fc4(gp)            |     t9 = sym.load_config;
    0x0040fd74 lw a0, (t8)                   |     a0 = *(t8);
    0x0040fd78 jalr t9                       |     t9 ();
    0x0040fd7c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fd80 beqz v0, 0x40fec4             |         goto label_7;
                                             |     }
    0x0040fd84 lw a0, -0x7fa8(gp)            |     a0 = *((gp - 8170));
    0x0040fd88 move a1, s2                   |     a1 = s2;
    0x0040fd8c lw t9, -0x7390(gp)            |     t9 = sym.imp.EVP_MD_do_all_sorted;
    0x0040fd90 addiu s1, zero, 5             |     s1 = 5;
    0x0040fd94 addiu a0, a0, 0x330           |     a0 += 0x330;
    0x0040fd98 jalr t9                       |     t9 ();
    0x0040fd9c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_3:
    0x0040fda0 lw s0, -0x7e60(gp)            |     s0 = *(gp);
    0x0040fda4 lw a2, 4(s0)                  |     a2 = *((s0 + 1));
    0x0040fda8 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
                                             |     if (a2 == 0) {
    0x0040fdac beqz a2, 0x40fe70             |         goto label_20;
                                             |     }
                                             |     /* esilref: '&s
' */
    0x0040fdb0 addiu s3, s3, 0x1fb4          |     s3 += 0x1fb4;
    0x0040fdb4 b 0x40fdc4                    |     
                                             |     while (t8 != s1) {
                                             | label_1:
    0x0040fdb8 lw a2, 4(s0)                  |         a2 = *((s0 + 1));
    0x0040fdbc lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
                                             |         if (a2 == 0) {
    0x0040fdc0 beqz a2, 0x40fe74             |             goto label_21;
                                             |         }
    0x0040fdc4 lw t8, (s0)                   |         t8 = *(s0);
    0x0040fdc8 addiu s0, s0, 0xc             |         s0 += 0xc;
    0x0040fdcc bne t8, s1, 0x40fdb8          |         
                                             |     }
    0x0040fdd0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0040fdd4 move a0, s2                   |     a0 = s2;
    0x0040fdd8 move a1, s3                   |     a1 = s3;
    0x0040fddc jalr t9                       |     t9 ();
    0x0040fde0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040fde4 b 0x40fdb8                    |     goto label_1;
                                             | label_6:
    0x0040fde8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fdec move a0, s0                   |     a0 = s0;
    0x0040fdf0 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_public_key_algorithms */
    0x0040fdf4 addiu a1, a1, -0x393c         |     a1 += -0x393c;
    0x0040fdf8 jalr t9                       |     t9 ();
    0x0040fdfc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fe00 beqz v0, 0x40ffc8             |         goto label_22;
                                             |     }
    0x0040fe04 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040fe08 move a0, s0                   |     a0 = s0;
    0x0040fe0c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_cipher_algorithms */
    0x0040fe10 addiu a1, a1, -0x3954         |     a1 += -0x3954;
    0x0040fe14 jalr t9                       |     t9 ();
    0x0040fe18 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0040fe1c bnez v0, 0x410188             |         goto label_23;
                                             |     }
    0x0040fe20 lw t8, -0x77b0(gp)            |     t8 = *((gp - 7660));
    0x0040fe24 move a1, zero                 |     a1 = 0;
    0x0040fe28 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x0040fe2c lw a0, (t8)                   |     a0 = *(t8);
    0x0040fe30 jalr t9                       |     t9 ();
    0x0040fe34 move a1, zero                 |     a1 = 0;
    0x0040fe38 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040fe3c move s2, v0                   |     s2 = v0;
    0x0040fe40 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0040fe44 lw t9, -0x7fc4(gp)            |     t9 = sym.load_config;
    0x0040fe48 lw a0, (t8)                   |     a0 = *(t8);
    0x0040fe4c jalr t9                       |     t9 ();
    0x0040fe50 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fe54 beqz v0, 0x40fec4             |         goto label_7;
                                             |     }
    0x0040fe58 lw a0, -0x7fa8(gp)            |     a0 = *((gp - 8170));
    0x0040fe5c move a1, s2                   |     a1 = s2;
    0x0040fe60 lw t9, -0x7b7c(gp)            |     t9 = sym.imp.EVP_CIPHER_do_all_sorted;
    0x0040fe64 addiu a0, a0, 0x3e8           |     a0 += 0x3e8;
    0x0040fe68 jalr t9                       |     t9 ();
    0x0040fe6c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_20:
    0x0040fe70 lw t9, -0x7228(gp)            |     t9 = sym.imp.BIO_free_all;
                                             | label_21:
    0x0040fe74 move a0, s2                   |     a0 = s2;
    0x0040fe78 move s0, zero                 |     s0 = 0;
    0x0040fe7c jalr t9                       |     t9 ();
    0x0040fe80 move v0, s0                   |     v0 = s0;
    0x0040fe84 b 0x40fbac                    |     goto label_2;
                                             | label_17:
    0x0040fe88 addiu s1, zero, 1             |     s1 = 1;
                                             | label_5:
    0x0040fe8c lw t8, -0x77b0(gp)            |     t8 = *((gp - 7660));
    0x0040fe90 move a1, zero                 |     a1 = 0;
    0x0040fe94 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x0040fe98 lw a0, (t8)                   |     a0 = *(t8);
    0x0040fe9c jalr t9                       |     t9 ();
    0x0040fea0 move a1, zero                 |     a1 = 0;
    0x0040fea4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040fea8 move s2, v0                   |     s2 = v0;
    0x0040feac lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0040feb0 lw t9, -0x7fc4(gp)            |     t9 = sym.load_config;
    0x0040feb4 lw a0, (t8)                   |     a0 = *(t8);
    0x0040feb8 jalr t9                       |     t9 ();
    0x0040febc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0040fec0 bnez v0, 0x40fda0             |         goto label_3;
                                             |     }
                                             | label_7:
    0x0040fec4 addiu s0, zero, 1             |     s0 = 1;
    0x0040fec8 b 0x40fba8                    |     goto label_4;
                                             | label_15:
    0x0040fecc lw t8, -0x77b0(gp)            |     t8 = *((gp - 7660));
    0x0040fed0 move a1, zero                 |     a1 = 0;
    0x0040fed4 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x0040fed8 lw a0, (t8)                   |     a0 = *(t8);
    0x0040fedc jalr t9                       |     t9 ();
    0x0040fee0 move a1, s2                   |     a1 = s2;
    0x0040fee4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040fee8 move a0, s3                   |     a0 = s3;
    0x0040feec lw t8, (s1)                   |     t8 = *(s1);
    0x0040fef0 move s2, v0                   |     s2 = v0;
    0x0040fef4 lw t9, -0x7b84(gp)            |     t9 = sym.imp.lh_retrieve;
    0x0040fef8 addiu t8, t8, 3               |     t8 += 3;
    0x0040fefc sw t8, 0x24(sp)               |     *(var_24h) = t8;
    0x0040ff00 jalr t9                       |     t9 ();
    0x0040ff04 sltu s0, zero, v0             |     s0 = (0 < v0) ? 1 : 0;
    0x0040ff08 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s0 != 0) {
    0x0040ff0c bnez s0, 0x40ff48             |         goto label_24;
                                             |     }
    0x0040ff10 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040ff14 move a0, s2                   |     a0 = s2;
    0x0040ff18 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0040ff1c lw a2, (s1)                   |     a2 = *(s1);
                                             |     /* esilref: '&s
' */
    0x0040ff20 addiu a1, a1, 0x1fb4          |     a1 += 0x1fb4;
    0x0040ff24 jalr t9                       |     t9 ();
    0x0040ff28 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
    0x0040ff2c lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
    0x0040ff30 move a0, s2                   |         a0 = s2;
    0x0040ff34 jalr t9                       |         t9 ();
    0x0040ff38 move v0, s0                   |         v0 = s0;
    0x0040ff3c b 0x40fbac                    |         goto label_2;
                                             | label_18:
    0x0040ff40 addiu s1, zero, 2             |         s1 = 2;
    0x0040ff44 b 0x40fe8c                    |         goto label_5;
                                             | label_24:
    0x0040ff48 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0040ff4c move a0, s2                   |         a0 = s2;
    0x0040ff50 lw a2, (s1)                   |         a2 = *(s1);
    0x0040ff54 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* esilref: '&s
' */
    0x0040ff58 addiu a1, a1, 0x1fb4          |         a1 += 0x1fb4;
    0x0040ff5c addiu a2, a2, 3               |         a2 += 3;
    0x0040ff60 jalr t9                       |         t9 ();
    0x0040ff64 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040ff68 b 0x40ff2c                    |         
                                             |     } while (1);
                                             | label_16:
    0x0040ff6c addiu s0, zero, -1            |     s0 = -1;
    0x0040ff70 b 0x40fba8                    |     goto label_4;
                                             | label_19:
    0x0040ff74 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040ff78 move a0, s0                   |     a0 = s0;
    0x0040ff7c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_cipher_commands */
    0x0040ff80 addiu a1, a1, -0x396c         |     a1 += -0x396c;
    0x0040ff84 jalr t9                       |     t9 ();
    0x0040ff88 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040ff8c beqz v0, 0x40fde8             |         goto label_6;
                                             |     }
    0x0040ff90 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040ff94 move a0, s0                   |     a0 = s0;
    0x0040ff98 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_cipher_algorithms */
    0x0040ff9c addiu a1, a1, -0x3954         |     a1 += -0x3954;
    0x0040ffa0 jalr t9                       |     t9 ();
    0x0040ffa4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040ffa8 beqz v0, 0x40fde8             |         goto label_6;
                                             |     }
    0x0040ffac lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040ffb0 move a0, s0                   |     a0 = s0;
    0x0040ffb4 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.list_public_key_algorithms */
    0x0040ffb8 addiu a1, a1, -0x393c         |     a1 += -0x393c;
    0x0040ffbc jalr t9                       |     t9 ();
    0x0040ffc0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0040ffc4 bnez v0, 0x410190             |         goto label_25;
                                             |     }
                                             | label_22:
    0x0040ffc8 lw t8, -0x77b0(gp)            |     t8 = *((gp - 7660));
    0x0040ffcc move a1, zero                 |     a1 = 0;
    0x0040ffd0 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x0040ffd4 lw a0, (t8)                   |     a0 = *(t8);
    0x0040ffd8 jalr t9                       |     t9 ();
    0x0040ffdc move a1, zero                 |     a1 = 0;
    0x0040ffe0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040ffe4 move s2, v0                   |     s2 = v0;
    0x0040ffe8 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0040ffec lw t9, -0x7fc4(gp)            |     t9 = sym.load_config;
    0x0040fff0 lw a0, (t8)                   |     a0 = *(t8);
    0x0040fff4 jalr t9                       |     t9 ();
    0x0040fff8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040fffc beqz v0, 0x40fec4             |         goto label_7;
                                             |     }
    0x00410000 lw s1, -0x7fd8(gp)            |     s1 = *(gp);
    0x00410004 move s0, zero                 |     s0 = 0;
    0x00410008 lw s4, -0x7fd8(gp)            |     s4 = *(gp);
    0x0041000c lw s6, -0x7fd8(gp)            |     s6 = *(gp);
                                             |     /* str.Name:__s_n */
    0x00410010 addiu s1, s1, -0x3920         |     s1 += -0x3920;
    0x00410014 lw s5, -0x7fd8(gp)            |     s5 = *(gp);
                                             |     /* str._tOID:__s_n */
    0x00410018 addiu s4, s4, -0x38e8         |     s4 += -0x38e8;
    0x0041001c lw s3, -0x7fd8(gp)            |     s3 = *(gp);
                                             |     /* str._none_ */
    0x00410020 addiu s6, s6, -0x39e4         |     s6 += -0x39e4;
                                             |     do {
                                             | label_8:
    0x00410024 lw t9, -0x7220(gp)            |         t9 = sym.imp.EVP_PKEY_asn1_get_count;
    0x00410028 jalr t9                       |         t9 ();
    0x0041002c nop                           |         
    0x00410030 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00410034 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00410038 beqz v0, 0x410174             |             goto label_26;
                                             |         }
    0x0041003c lw t9, -0x6ef8(gp)            |         t9 = sym.imp.EVP_PKEY_asn1_get0;
    0x00410040 move a0, s0                   |         a0 = s0;
    0x00410044 jalr t9                       |         t9 ();
    0x00410048 addiu t8, sp, 0x2c            |         t8 = sp + 0x2c;
    0x0041004c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00410050 addiu a0, sp, 0x3c            |         a0 = sp + 0x3c;
    0x00410054 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x00410058 addiu a1, sp, 0x38            |         a1 = sp + 0x38;
    0x0041005c lw t9, -0x7964(gp)            |         t9 = sym.imp.EVP_PKEY_asn1_get0_info;
    0x00410060 addiu a2, sp, 0x34            |         a2 = sp + 0x34;
    0x00410064 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00410068 addiu a3, sp, 0x30            |         a3 = sp + 0x30;
    0x0041006c jalr t9                       |         t9 ();
    0x00410070 lw t8, 0x34(sp)               |         t8 = *(var_34h);
    0x00410074 andi t8, t8, 1                |         t8 &= 1;
    0x00410078 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (t8 == 0) {
    0x0041007c beqz t8, 0x4100dc             |             goto label_27;
                                             |         }
    0x00410080 lw t9, -0x7a04(gp)            |         t9 = sym.imp.OBJ_nid2ln;
    0x00410084 addiu s0, s0, 1               |         s0++;
    0x00410088 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0041008c jalr t9                       |         t9 ();
    0x00410090 move a1, s1                   |         a1 = s1;
    0x00410094 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00410098 move a2, v0                   |         a2 = v0;
    0x0041009c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x004100a0 move a0, s2                   |         a0 = s2;
    0x004100a4 jalr t9                       |         t9 ();
    0x004100a8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004100ac lw t9, -0x7a04(gp)            |         t9 = sym.imp.OBJ_nid2ln;
    0x004100b0 lw a0, 0x38(sp)               |         a0 = *(var_38h);
    0x004100b4 jalr t9                       |         t9 ();
    0x004100b8 move a0, s2                   |         a0 = s2;
    0x004100bc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004100c0 move a2, v0                   |         a2 = v0;
    0x004100c4 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x004100c8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str._tType:_Alias_to__s_n */
    0x004100cc addiu a1, a1, -0x3914         |         a1 += -0x3914;
    0x004100d0 jalr t9                       |         t9 ();
    0x004100d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004100d8 b 0x410024                    |         
                                             |     } while (1);
                                             | label_27:
    0x004100dc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004100e0 move a0, s2                   |     a0 = s2;
    0x004100e4 lw a2, 0x30(sp)               |     a2 = *(var_30h);
    0x004100e8 move a1, s1                   |     a1 = s1;
    0x004100ec jalr t9                       |     t9 ();
    0x004100f0 lw t8, 0x34(sp)               |     t8 = *(var_34h);
    0x004100f4 andi t8, t8, 2                |     t8 &= 2;
    0x004100f8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (t8 == 0) {
    0x004100fc beqz t8, 0x410168             |         goto label_28;
                                             |     }
    0x00410100 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
                                             |     /* str.External */
    0x00410104 addiu a2, a2, -0x39f8         |     a2 += -0x39f8;
                                             |     do {
    0x00410108 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str._tType:__s_Algorithm_n */
    0x0041010c addiu a1, s5, -0x3900         |         a1 = s5 + -0x3900;
    0x00410110 move a0, s2                   |         a0 = s2;
    0x00410114 jalr t9                       |         t9 ();
    0x00410118 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0041011c lw t9, -0x7a04(gp)            |         t9 = sym.imp.OBJ_nid2ln;
    0x00410120 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x00410124 jalr t9                       |         t9 ();
    0x00410128 move a0, s2                   |         a0 = s2;
    0x0041012c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00410130 move a2, v0                   |         a2 = v0;
    0x00410134 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00410138 move a1, s4                   |         a1 = s4;
    0x0041013c jalr t9                       |         t9 ();
    0x00410140 lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
    0x00410144 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a2 == 0) {
    0x00410148 beqz a2, 0x41017c             |             goto label_29;
                                             |         }
                                             | label_9:
    0x0041014c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00410150 move a0, s2                   |         a0 = s2;
                                             |         /* str._tPEM_string:__s_n */
    0x00410154 addiu a1, s3, -0x38dc         |         a1 = s3 + -0x38dc;
    0x00410158 addiu s0, s0, 1               |         s0++;
    0x0041015c jalr t9                       |         t9 ();
    0x00410160 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00410164 b 0x410024                    |         goto label_8;
                                             | label_28:
    0x00410168 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
                                             |         /* str.Builtin */
    0x0041016c addiu a2, a2, -0x39ec         |         a2 += -0x39ec;
    0x00410170 b 0x410108                    |         
                                             |     } while (1);
                                             | label_26:
    0x00410174 addiu s1, zero, 4             |     s1 = 4;
    0x00410178 b 0x40fda0                    |     goto label_3;
                                             | label_29:
    0x0041017c sw s6, 0x2c(sp)               |     *(var_2ch) = s6;
    0x00410180 move a2, s6                   |     a2 = s6;
    0x00410184 b 0x41014c                    |     goto label_9;
                                             | label_23:
    0x00410188 addiu s1, zero, 3             |     s1 = 3;
    0x0041018c b 0x40fe8c                    |     goto label_5;
                                             | label_25:
    0x00410190 lw s3, -0x7fd4(gp)            |     s3 = *(gp);
    0x00410194 move a2, s0                   |     a2 = s0;
    0x00410198 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041019c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004101a0 lw a0, (s3)                   |     a0 = *(s3);
                                             |     /* str.openssl:Error:__s_is_an_invalid_command._n */
    0x004101a4 addiu a1, a1, -0x38c8         |     a1 += -0x38c8;
    0x004101a8 jalr t9                       |     t9 ();
    0x004101ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004101b0 lw a0, (s3)                   |     a0 = *(s3);
    0x004101b4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004101b8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._nStandard_commands */
    0x004101bc addiu a1, a1, -0x389c         |     a1 += -0x389c;
    0x004101c0 jalr t9                       |     t9 ();
    0x004101c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004101c8 lw s0, -0x7e60(gp)            |     s0 = *(gp);
    0x004101cc lw t8, 4(s0)                  |     t8 = *((s0 + 1));
    0x004101d0 lw s5, -0x7fd8(gp)            |     s5 = *(gp);
                                             |     if (t8 == 0) {
    0x004101d4 beqz t8, 0x4102a4             |         goto label_30;
                                             |     }
    0x004101d8 move s1, zero                 |     s1 = 0;
    0x004101dc lw s6, -0x7fd8(gp)            |     s6 = *(gp);
    0x004101e0 move t8, zero                 |     t8 = 0;
    0x004101e4 lw s4, -0x7fd8(gp)            |     s4 = *(gp);
    0x004101e8 addiu s5, s5, 0x609c          |     s5 += 0x609c;
    0x004101ec lw s7, -0x7fd8(gp)            |     s7 = *(gp);
                                             |     /* str._nCipher_commands__see_the__enc_command_for_more_details__n */
    0x004101f0 addiu s6, s6, -0x3844         |     s6 += -0x3844;
    0x004101f4 b 0x410254                    |     
                                             |     while (t8 != v0) {
    0x004101f8 lw fp, (s0)                   |         fp = *(s0);
    0x004101fc lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         if (fp != s1) {
    0x00410200 beq fp, s1, 0x41022c          |             
    0x00410204 move a1, s5                   |             a1 = s5;
    0x00410208 lw a0, (s3)                   |             a0 = *(s3);
    0x0041020c move s1, fp                   |             s1 = fp;
    0x00410210 jalr t9                       |             t9 ();
    0x00410214 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             | label_11:
    0x00410218 addiu t8, zero, 2             |             t8 = 2;
    0x0041021c addiu t8, zero, 3             |             t8 = 3;
                                             |             if (s1 == t8) {
    0x00410220 beq s1, t8, 0x4102c4          |                 goto label_31;
                                             |             }
    0x00410224 lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
                                             |             if (s1 == t8) {
    0x00410228 beq s1, t8, 0x4102e0          |                 goto label_32;
                                             |             }
                                             |         }
                                             | label_10:
    0x0041022c lw a2, 4(s0)                  |         a2 = *((s0 + 1));
                                             |         /* str.__15s */
    0x00410230 addiu a1, s4, -0x3808         |         a1 = s4 + -0x3808;
    0x00410234 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00410238 addiu s0, s0, 0xc             |         s0 += 0xc;
    0x0041023c lw a0, (s3)                   |         a0 = *(s3);
    0x00410240 jalr t9                       |         t9 ();
    0x00410244 lw t8, 4(s0)                  |         t8 = *((s0 + 1));
    0x00410248 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (t8 == 0) {
    0x0041024c beqz t8, 0x4102a4             |             goto label_30;
                                             |         }
    0x00410250 move t8, s2                   |         t8 = s2;
    0x00410254 lui v1, 0x6666                |         v1 = 0x66660000;
    0x00410258 sra v0, t8, 0x1f              |         v0 = t8 >> 0x1f;
    0x0041025c addiu v1, v1, 0x6667          |         v1 += 0x6667;
    0x00410260 mult t8, v1                   |         __asm ("mult t8, v1");
    0x00410264 mfhi v1                       |         __asm ("mfhi v1");
    0x00410268 sra v1, v1, 1                 |         v1 >>= 1;
    0x0041026c subu v0, v1, v0               |         __asm ("subu v0, v1, v0");
    0x00410270 sll v1, v0, 2                 |         v1 = v0 << 2;
    0x00410274 addu v0, v1, v0               |         v0 = v1 + v0;
    0x00410278 addiu s2, t8, 1               |         s2 = t8 + 1;
    0x0041027c bne t8, v0, 0x4101f8          |         
                                             |     }
    0x00410280 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00410284 move a1, s5                   |     a1 = s5;
    0x00410288 lw a0, (s3)                   |     a0 = *(s3);
    0x0041028c jalr t9                       |     t9 ();
    0x00410290 lw t8, (s0)                   |     t8 = *(s0);
    0x00410294 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (t8 == s1) {
    0x00410298 beq t8, s1, 0x41022c          |         goto label_10;
                                             |     }
    0x0041029c move s1, t8                   |     s1 = t8;
    0x004102a0 b 0x410218                    |     goto label_11;
                                             | label_30:
    0x004102a4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004102a8 move s0, zero                 |     s0 = 0;
    0x004102ac lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004102b0 lw a0, (s3)                   |     a0 = *(s3);
                                             |     /* esilref: '

' */
    0x004102b4 addiu a1, a1, 0x3410          |     a1 += 0x3410;
    0x004102b8 jalr t9                       |     t9 ();
    0x004102bc move v0, s0                   |     v0 = s0;
    0x004102c0 b 0x40fbac                    |     goto label_2;
                                             | label_31:
    0x004102c4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._nMessage_Digest_commands__see_the__dgst_command_for_more_details__n */
    0x004102c8 addiu a1, s7, -0x3888         |     a1 = s7 + -0x3888;
    0x004102cc lw a0, (s3)                   |     a0 = *(s3);
    0x004102d0 addiu s2, zero, 1             |     s2 = 1;
    0x004102d4 jalr t9                       |     t9 ();
    0x004102d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004102dc b 0x41022c                    |     goto label_10;
                                             | label_32:
    0x004102e0 move a1, s6                   |     a1 = s6;
    0x004102e4 lw a0, (s3)                   |     a0 = *(s3);
    0x004102e8 addiu s2, zero, 1             |     s2 = 1;
    0x004102ec jalr t9                       |     t9 ();
    0x004102f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004102f4 b 0x41022c                    |     goto label_10;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x446aa0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00446aa0 ()                  | void fcn_00446aa0 () {
    0x00446aa0 lui gp, 5                     |     
    0x00446aa4 addiu gp, gp, 0x5a00          |     
    0x00446aa8 addu gp, gp, t9               |     gp += t9;
    0x00446aac addiu sp, sp, -0x430          |     
    0x00446ab0 sw ra, 0x42c(sp)              |     *(var_42ch) = ra;
    0x00446ab4 sw s4, 0x428(sp)              |     *(var_428h) = s4;
    0x00446ab8 sw s3, 0x424(sp)              |     *(var_424h) = s3;
    0x00446abc sw s2, 0x420(sp)              |     *(var_420h) = s2;
    0x00446ac0 sw s1, 0x41c(sp)              |     *(var_41ch) = s1;
    0x00446ac4 sw s0, 0x418(sp)              |     *(var_418h) = s0;
    0x00446ac8 move s2, a2                   |     s2 = a2;
    0x00446acc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00446ad0 move s4, a0                   |     s4 = a0;
    0x00446ad4 move s0, a1                   |     s0 = a1;
                                             |     if (a2 == 0) {
    0x00446ad8 beqz a2, 0x446b70             |         goto label_2;
                                             |     }
    0x00446adc lw s1, -0x7fc8(gp)            |     s1 = *((gp - 8178));
    0x00446ae0 lw t8, 0x6678(s1)             |     t8 = *((s1 + 6558));
    0x00446ae4 move a0, t8                   |     a0 = t8;
    0x00446ae8 beqz t8, 0x446b70             |     
                                             |     while (1) {
                                             | label_0:
    0x00446aec lw t9, -0x7c78(gp)            |         t9 = sym.imp.BIO_gets;
    0x00446af0 addiu s0, sp, 0x18            |         s0 = sp + 0x18;
    0x00446af4 addiu a2, zero, 0x400         |         a2 = 0x400;
    0x00446af8 move a1, s0                   |         a1 = s0;
    0x00446afc jalr t9                       |         t9 ();
    0x00446b00 addiu t8, zero, 1             |         t8 = 1;
    0x00446b04 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00446b08 move s3, v0                   |         s3 = v0;
                                             |         if (s2 != t8) {
    0x00446b0c beq s2, t8, 0x446b24          |             
    0x00446b10 lw t9, -0x7228(gp)            |             t9 = sym.imp.BIO_free_all;
    0x00446b14 lw a0, 0x6678(s1)             |             a0 = *((s1 + 6558));
    0x00446b18 jalr t9                       |             t9 ();
    0x00446b1c lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x00446b20 sw zero, 0x6678(s1)           |             *((s1 + 6558)) = 0;
                                             |         }
    0x00446b24 lw t9, -0x72ec(gp)            |         t9 = sym.imp.strchr;
                                             |         if (s3 <= 0) {
    0x00446b28 blez s3, 0x446d30             |             goto label_3;
                                             |         }
    0x00446b2c move a0, s0                   |         a0 = s0;
    0x00446b30 addiu a1, zero, 0xa           |         a1 = 0xa;
    0x00446b34 jalr t9                       |         t9 ();
    0x00446b38 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x00446b3c beqz v0, 0x446b44             |             
    0x00446b40 sb zero, (v0)                 |             *(v0) = 0;
                                             |         }
    0x00446b44 lw t9, -0x71d0(gp)            |         t9 = sym.imp.BUF_strdup;
    0x00446b48 move a0, s0                   |         a0 = s0;
    0x00446b4c jalr t9                       |         t9 ();
                                             | label_1:
    0x00446b50 lw ra, 0x42c(sp)              |         ra = *(var_42ch);
    0x00446b54 lw s4, 0x428(sp)              |         s4 = *(var_428h);
    0x00446b58 lw s3, 0x424(sp)              |         s3 = *(var_424h);
    0x00446b5c lw s2, 0x420(sp)              |         s2 = *(var_420h);
    0x00446b60 lw s1, 0x41c(sp)              |         s1 = *(var_41ch);
    0x00446b64 lw s0, 0x418(sp)              |         s0 = *(var_418h);
    0x00446b68 addiu sp, sp, 0x430           |         
    0x00446b6c jr ra                         |         return v0;
                                             | label_2:
    0x00446b70 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00446b74 move a0, s0                   |         a0 = s0;
    0x00446b78 lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x00446b7c addiu a2, zero, 5             |         a2 = 5;
                                             |         /* str.file: */
    0x00446b80 addiu a1, a1, -0x52f4         |         a1 += -0x52f4;
    0x00446b84 jalr t9                       |         t9 ();
    0x00446b88 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00446b8c beqz v0, 0x446c88             |             goto label_4;
                                             |         }
    0x00446b90 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00446b94 move a0, s0                   |         a0 = s0;
    0x00446b98 lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x00446b9c addiu a2, zero, 3             |         a2 = 3;
                                             |         /* esilref: 'fd:' */
    0x00446ba0 addiu a1, a1, -0x52d8         |         a1 += -0x52d8;
    0x00446ba4 jalr t9                       |         t9 ();
    0x00446ba8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x00446bac bnez v0, 0x446c28             |             goto label_5;
                                             |         }
    0x00446bb0 lw t9, -0x7b18(gp)            |         t9 = sym.imp.atoi;
    0x00446bb4 addiu s0, s0, 3               |         s0 += 3;
    0x00446bb8 move a0, s0                   |         a0 = s0;
    0x00446bbc jalr t9                       |         t9 ();
    0x00446bc0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 < 0) {
    0x00446bc4 bltz v0, 0x446cd4             |             goto label_6;
                                             |         }
    0x00446bc8 lw t9, -0x6d98(gp)            |         t9 = sym.imp.BIO_new_fd;
    0x00446bcc move a0, v0                   |         a0 = v0;
    0x00446bd0 move a1, zero                 |         a1 = 0;
    0x00446bd4 jalr t9                       |         t9 ();
    0x00446bd8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00446bdc lw s1, -0x7fc8(gp)            |         s1 = *((gp - 8178));
    0x00446be0 sw v0, 0x6678(s1)             |         *((s1 + 6558)) = v0;
                                             |         if (v0 == 0) {
    0x00446be4 beqz v0, 0x446cd4             |             goto label_6;
                                             |         }
    0x00446be8 lw t9, -0x75a0(gp)            |         t9 = sym.imp.BIO_f_buffer;
    0x00446bec jalr t9                       |         t9 ();
    0x00446bf0 nop                           |         
    0x00446bf4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00446bf8 lw t9, -0x7d6c(gp)            |         t9 = sym.imp.BIO_new;
    0x00446bfc move a0, v0                   |         a0 = v0;
    0x00446c00 jalr t9                       |         t9 ();
    0x00446c04 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00446c08 move a0, v0                   |         a0 = v0;
    0x00446c0c lw t9, -0x7c84(gp)            |         t9 = sym.imp.BIO_push;
    0x00446c10 lw a1, 0x6678(s1)             |         a1 = *((s1 + 6558));
    0x00446c14 jalr t9                       |         t9 ();
    0x00446c18 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00446c1c move a0, v0                   |         a0 = v0;
    0x00446c20 sw v0, 0x6678(s1)             |         *((s1 + 6558)) = v0;
    0x00446c24 b 0x446aec                    |         
                                             |     }
                                             | label_5:
    0x00446c28 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00446c2c move a0, s0                   |     a0 = s0;
    0x00446c30 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.stdin */
    0x00446c34 addiu a1, a1, -0x34d8         |     a1 += -0x34d8;
    0x00446c38 jalr t9                       |     t9 ();
    0x00446c3c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00446c40 bnez v0, 0x446d10             |         goto label_7;
                                             |     }
    0x00446c44 lw t8, -0x7bbc(gp)            |     t8 = *((gp - 7919));
    0x00446c48 move a1, zero                 |     a1 = 0;
    0x00446c4c lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x00446c50 lw s1, -0x7fc8(gp)            |     s1 = *((gp - 8178));
    0x00446c54 lw a0, (t8)                   |     a0 = *(t8);
    0x00446c58 jalr t9                       |     t9 ();
    0x00446c5c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00446c60 move a0, v0                   |     a0 = v0;
    0x00446c64 sw v0, 0x6678(s1)             |     *((s1 + 6558)) = v0;
                                             |     if (v0 != 0) {
    0x00446c68 bnez v0, 0x446aec             |         goto label_0;
                                             |     }
    0x00446c6c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00446c70 move a0, s4                   |     a0 = s4;
    0x00446c74 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Cant_open_BIO_for_stdin_n */
    0x00446c78 addiu a1, a1, -0x52b0         |     a1 += -0x52b0;
    0x00446c7c jalr t9                       |     t9 ();
    0x00446c80 move v0, zero                 |     v0 = 0;
    0x00446c84 b 0x446b50                    |     goto label_1;
                                             | label_4:
    0x00446c88 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00446c8c addiu s0, s0, 5               |     s0 += 5;
    0x00446c90 lw t9, -0x79cc(gp)            |     t9 = sym.imp.BIO_new_file;
    0x00446c94 move a0, s0                   |     a0 = s0;
    0x00446c98 addiu a1, a1, 0x13b8          |     a1 += 0x13b8;
    0x00446c9c jalr t9                       |     t9 ();
    0x00446ca0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00446ca4 move a0, v0                   |     a0 = v0;
    0x00446ca8 lw s1, -0x7fc8(gp)            |     s1 = *((gp - 8178));
    0x00446cac sw v0, 0x6678(s1)             |     *((s1 + 6558)) = v0;
                                             |     if (v0 != 0) {
    0x00446cb0 bnez v0, 0x446aec             |         goto label_0;
                                             |     }
    0x00446cb4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00446cb8 move a0, s4                   |     a0 = s4;
    0x00446cbc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00446cc0 move a2, s0                   |     a2 = s0;
                                             |     /* str.Cant_open_file__s_n */
    0x00446cc4 addiu a1, a1, -0x52ec         |     a1 += -0x52ec;
    0x00446cc8 jalr t9                       |     t9 ();
    0x00446ccc move v0, zero                 |     v0 = 0;
    0x00446cd0 b 0x446b50                    |     goto label_1;
                                             | label_6:
    0x00446cd4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00446cd8 move a0, s4                   |     a0 = s4;
    0x00446cdc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00446ce0 move a2, s0                   |     a2 = s0;
                                             |     /* str.Cant_access_file_descriptor__s_n */
    0x00446ce4 addiu a1, a1, -0x52d4         |     a1 += -0x52d4;
    0x00446ce8 jalr t9                       |     t9 ();
    0x00446cec move v0, zero                 |     v0 = 0;
    0x00446cf0 lw ra, 0x42c(sp)              |     ra = *(var_42ch);
    0x00446cf4 lw s4, 0x428(sp)              |     s4 = *(var_428h);
    0x00446cf8 lw s3, 0x424(sp)              |     s3 = *(var_424h);
    0x00446cfc lw s2, 0x420(sp)              |     s2 = *(var_420h);
    0x00446d00 lw s1, 0x41c(sp)              |     s1 = *(var_41ch);
    0x00446d04 lw s0, 0x418(sp)              |     s0 = *(var_418h);
    0x00446d08 addiu sp, sp, 0x430           |     
    0x00446d0c jr ra                         |     return v0;
                                             | label_7:
    0x00446d10 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00446d14 move a0, s4                   |     a0 = s4;
    0x00446d18 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00446d1c move a2, s0                   |     a2 = s0;
                                             |     /* str.Invalid_password_argument___s__n */
    0x00446d20 addiu a1, a1, -0x5294         |     a1 += -0x5294;
    0x00446d24 jalr t9                       |     t9 ();
    0x00446d28 move v0, zero                 |     v0 = 0;
    0x00446d2c b 0x446b50                    |     goto label_1;
                                             | label_3:
    0x00446d30 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00446d34 move a0, s4                   |     a0 = s4;
    0x00446d38 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_reading_password_from_BIO_n */
    0x00446d3c addiu a1, a1, -0x5274         |     a1 += -0x5274;
    0x00446d40 jalr t9                       |     t9 ();
    0x00446d44 move v0, zero                 |     v0 = 0;
    0x00446d48 b 0x446b50                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x446d4c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00446d4c ()                  | void fcn_00446d4c () {
    0x00446d4c lui gp, 5                     |     
    0x00446d50 addiu gp, gp, 0x5754          |     
    0x00446d54 addu gp, gp, t9               |     gp += t9;
    0x00446d58 addiu sp, sp, -0x440          |     
    0x00446d5c sw ra, 0x43c(sp)              |     *(var_43ch) = ra;
    0x00446d60 sw s4, 0x438(sp)              |     *(var_438h) = s4;
    0x00446d64 sw s3, 0x434(sp)              |     *(var_434h) = s3;
    0x00446d68 sw s2, 0x430(sp)              |     *(var_430h) = s2;
    0x00446d6c sw s1, 0x42c(sp)              |     *(var_42ch) = s1;
    0x00446d70 sw s0, 0x428(sp)              |     *(var_428h) = s0;
    0x00446d74 move s4, a0                   |     s4 = a0;
    0x00446d78 lw t9, -0x71bc(gp)            |     t9 = sym.imp.d2i_PKCS12_bio;
    0x00446d7c move a0, a1                   |     a0 = a1;
    0x00446d80 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00446d84 move a1, zero                 |     a1 = 0;
    0x00446d88 move s3, a2                   |     s3 = a2;
    0x00446d8c move s2, a3                   |     s2 = a3;
    0x00446d90 jalr t9                       |     t9 ();
    0x00446d94 move s0, v0                   |     s0 = v0;
    0x00446d98 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00446d9c beqz v0, 0x446e90             |         goto label_2;
                                             |     }
    0x00446da0 lw s1, -0x7fd8(gp)            |     s1 = *(gp);
    0x00446da4 move a0, v0                   |     a0 = v0;
    0x00446da8 lw t9, -0x6f1c(gp)            |     t9 = sym.imp.PKCS12_verify_mac;
    0x00446dac move a2, zero                 |     a2 = 0;
    0x00446db0 addiu a1, s1, 0x3b3c          |     a1 = s1 + 0x3b3c;
    0x00446db4 jalr t9                       |     t9 ();
    0x00446db8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00446dbc beqz v0, 0x446e14             |     
                                             |     while (v0 != 0) {
    0x00446dc0 addiu a1, s1, 0x3b3c          |         a1 = s1 + 0x3b3c;
                                             | label_0:
    0x00446dc4 lw t9, -0x7c6c(gp)            |         t9 = sym.imp.PKCS12_parse;
    0x00446dc8 move a0, s0                   |         a0 = s0;
    0x00446dcc lw a2, 0x454(sp)              |         a2 = *(arg_454h);
    0x00446dd0 lw a3, 0x458(sp)              |         a3 = *(arg_458h);
    0x00446dd4 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x00446dd8 jalr t9                       |         t9 ();
    0x00446ddc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_1:
    0x00446de0 lw t9, -0x72f8(gp)            |         t9 = sym.imp.PKCS12_free;
    0x00446de4 move a0, s0                   |         a0 = s0;
    0x00446de8 sw v0, 0x420(sp)              |         *(var_420h) = v0;
    0x00446dec jalr t9                       |         t9 ();
    0x00446df0 lw v0, 0x420(sp)              |         v0 = *(var_420h);
    0x00446df4 lw ra, 0x43c(sp)              |         ra = *(var_43ch);
    0x00446df8 lw s4, 0x438(sp)              |         s4 = *(var_438h);
    0x00446dfc lw s3, 0x434(sp)              |         s3 = *(var_434h);
    0x00446e00 lw s2, 0x430(sp)              |         s2 = *(var_430h);
    0x00446e04 lw s1, 0x42c(sp)              |         s1 = *(var_42ch);
    0x00446e08 lw s0, 0x428(sp)              |         s0 = *(var_428h);
    0x00446e0c addiu sp, sp, 0x440           |         
    0x00446e10 jr ra                         |         return v0;
    0x00446e14 lw t9, -0x6f1c(gp)            |         t9 = sym.imp.PKCS12_verify_mac;
    0x00446e18 move a0, s0                   |         a0 = s0;
    0x00446e1c move a1, zero                 |         a1 = 0;
    0x00446e20 move a2, zero                 |         a2 = 0;
    0x00446e24 jalr t9                       |         t9 ();
    0x00446e28 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00446e2c bnez v0, 0x446dc0             |         
                                             |     }
    0x00446e30 lw t8, -0x7e2c(gp)            |     t8 = sym.password_callback;
    0x00446e34 addiu s1, sp, 0x20            |     s1 = sp + 0x20;
    0x00446e38 lw a3, 0x450(sp)              |     a3 = *(arg_450h);
    0x00446e3c move a0, s1                   |     a0 = s1;
                                             |     if (s2 != 0) {
    0x00446e40 movz s2, t8, s2               |         s2 = t8;
                                             |     }
    0x00446e44 addiu a1, zero, 0x400         |     a1 = 0x400;
    0x00446e48 move t9, s2                   |     t9 = s2;
    0x00446e4c move a2, zero                 |     a2 = 0;
    0x00446e50 jalr t9                       |     t9 ();
    0x00446e54 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 >= 0) {
    0x00446e58 bltz v0, 0x446ef0             |         
    0x00446e5c slti t8, v0, 0x400            |         t8 = (v0 < 0x400) ? 1 : 0;
    0x00446e60 lw t9, -0x6f1c(gp)            |         t9 = sym.imp.PKCS12_verify_mac;
                                             |         if (t8 != 0) {
    0x00446e64 beqz t8, 0x446e70             |             
    0x00446e68 addu t8, s1, v0               |             t8 = s1 + v0;
    0x00446e6c sb zero, (t8)                 |             *(t8) = 0;
                                             |         }
    0x00446e70 move a0, s0                   |         a0 = s0;
    0x00446e74 move a1, s1                   |         a1 = s1;
    0x00446e78 move a2, v0                   |         a2 = v0;
    0x00446e7c jalr t9                       |         t9 ();
    0x00446e80 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x00446e84 beqz v0, 0x446ecc             |             
    0x00446e88 move a1, s1                   |             a1 = s1;
    0x00446e8c b 0x446dc4                    |             goto label_0;
                                             | label_2:
    0x00446e90 lw a1, -0x7f9c(gp)            |             a1 = *(gp);
    0x00446e94 move a0, s4                   |             a0 = s4;
    0x00446e98 lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
    0x00446e9c move a2, s3                   |             a2 = s3;
                                             |             /* str.Error_loading_PKCS12_file_for__s_n */
    0x00446ea0 addiu a1, a1, -0x5250         |             a1 += -0x5250;
    0x00446ea4 jalr t9                       |             t9 ();
    0x00446ea8 move v0, zero                 |             v0 = 0;
    0x00446eac lw ra, 0x43c(sp)              |             ra = *(var_43ch);
    0x00446eb0 lw s4, 0x438(sp)              |             s4 = *(var_438h);
    0x00446eb4 lw s3, 0x434(sp)              |             s3 = *(var_434h);
    0x00446eb8 lw s2, 0x430(sp)              |             s2 = *(var_430h);
    0x00446ebc lw s1, 0x42c(sp)              |             s1 = *(var_42ch);
    0x00446ec0 lw s0, 0x428(sp)              |             s0 = *(var_428h);
    0x00446ec4 addiu sp, sp, 0x440           |             
    0x00446ec8 jr ra                         |             return v0;
                                             |         }
    0x00446ecc lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00446ed0 move a0, s4                   |         a0 = s4;
    0x00446ed4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00446ed8 move a2, s3                   |         a2 = s3;
                                             |         /* str.Mac_verify_error__wrong_password___in_PKCS12_file_for__s_n */
    0x00446edc addiu a1, a1, -0x5208         |         a1 += -0x5208;
    0x00446ee0 jalr t9                       |         t9 ();
    0x00446ee4 move v0, zero                 |         v0 = 0;
    0x00446ee8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00446eec b 0x446de0                    |         goto label_1;
                                             |     }
    0x00446ef0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00446ef4 move a0, s4                   |     a0 = s4;
    0x00446ef8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00446efc move a2, s3                   |     a2 = s3;
                                             |     /* str.Passpharse_callback_error_for__s_n */
    0x00446f00 addiu a1, a1, -0x522c         |     a1 += -0x522c;
    0x00446f04 jalr t9                       |     t9 ();
    0x00446f08 move v0, zero                 |     v0 = 0;
    0x00446f0c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00446f10 b 0x446de0                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44cb98 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0044cb98 ()                  | void fcn_0044cb98 () {
    0x0044cb98 lui gp, 5                     |     
    0x0044cb9c addiu gp, gp, -0x6f8          |     
    0x0044cba0 addu gp, gp, t9               |     gp += t9;
    0x0044cba4 addiu sp, sp, -0x68           |     
    0x0044cba8 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x0044cbac sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x0044cbb0 sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x0044cbb4 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x0044cbb8 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x0044cbbc sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x0044cbc0 sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x0044cbc4 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x0044cbc8 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x0044cbcc sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x0044cbd0 move s1, a0                   |     s1 = a0;
    0x0044cbd4 lw t9, -0x7940(gp)            |     t9 = sym.imp.SSL_is_server;
    0x0044cbd8 move a0, a1                   |     a0 = a1;
    0x0044cbdc sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0044cbe0 move s3, a1                   |     s3 = a1;
    0x0044cbe4 jalr t9                       |     t9 ();
    0x0044cbe8 move a0, s3                   |     a0 = s3;
    0x0044cbec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044cbf0 addiu a1, zero, -1            |     a1 = -1;
    0x0044cbf4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0044cbf8 move a2, zero                 |     a2 = 0;
    0x0044cbfc lw t9, -0x73dc(gp)            |     t9 = sym.imp.SSL_get_sigalgs;
    0x0044cc00 move a3, zero                 |     a3 = 0;
    0x0044cc04 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0044cc08 move s0, v0                   |     s0 = v0;
    0x0044cc0c sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x0044cc10 jalr t9                       |     t9 ();
    0x0044cc14 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044cc18 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x0044cc1c beqz v0, 0x44cd80             |         goto label_4;
                                             |     }
    0x0044cc20 move a0, s1                   |     a0 = s1;
                                             |     if (s0 == 0) {
    0x0044cc24 beqz s0, 0x44cdec             |         goto label_5;
                                             |     }
                                             | label_3:
    0x0044cc28 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044cc2c move a0, s1                   |     a0 = s1;
    0x0044cc30 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Signature_Algorithms:_ */
    0x0044cc34 addiu a1, a1, -0x461c         |     a1 += -0x461c;
    0x0044cc38 jalr t9                       |     t9 ();
    0x0044cc3c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s2 <= 0) {
    0x0044cc40 blez s2, 0x44cd6c             |         goto label_6;
                                             |     }
    0x0044cc44 lw t9, -0x73dc(gp)            |     t9 = sym.imp.SSL_get_sigalgs;
    0x0044cc48 addiu t8, sp, 0x2c            |     t8 = sp + 0x2c;
    0x0044cc4c addiu fp, sp, 0x30            |     fp = sp + 0x30;
    0x0044cc50 addiu s6, sp, 0x34            |     s6 = sp + 0x34;
    0x0044cc54 addiu s7, sp, 0x28            |     s7 = sp + 0x28;
    0x0044cc58 move a0, s3                   |     a0 = s3;
    0x0044cc5c sw t8, 0x38(sp)               |     *(var_38h) = t8;
    0x0044cc60 move a1, zero                 |     a1 = 0;
    0x0044cc64 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0044cc68 move a2, s7                   |     a2 = s7;
    0x0044cc6c sw fp, 0x14(sp)               |     *(var_14h) = fp;
    0x0044cc70 move a3, t8                   |     a3 = t8;
    0x0044cc74 sw s6, 0x18(sp)               |     *(var_18h) = s6;
    0x0044cc78 move s0, zero                 |     s0 = 0;
    0x0044cc7c jalr t9                       |     t9 ();
    0x0044cc80 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044cc84 lw s4, -0x7f9c(gp)            |     s4 = *(gp);
    0x0044cc88 lw s5, -0x7fd8(gp)            |     s5 = *(gp);
                                             |     /* esilref: '&s+' */
    0x0044cc8c addiu s4, s4, -0x45fc         |     s4 += -0x45fc;
                                             |     /* esilref: '0x&X' */
    0x0044cc90 addiu s5, s5, 0x3404          |     s5 += 0x3404;
    0x0044cc94 b 0x44cd08                    |     
                                             |     while (a0 != 0) {
    0x0044cc98 addiu s0, s0, 1               |         s0++;
    0x0044cc9c jalr t9                       |         t9 ();
    0x0044cca0 move a0, s1                   |         a0 = s1;
    0x0044cca4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044cca8 move a2, v0                   |         a2 = v0;
    0x0044ccac lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044ccb0 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* esilref: '&s' */
    0x0044ccb4 addiu a1, a1, -0x4dcc         |         a1 += -0x4dcc;
    0x0044ccb8 jalr t9                       |         t9 ();
    0x0044ccbc lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s0 == s2) {
    0x0044ccc0 beq s0, s2, 0x44cd6c          |             goto label_6;
                                             |         }
                                             | label_0:
    0x0044ccc4 lw t9, -0x73dc(gp)            |         t9 = sym.imp.SSL_get_sigalgs;
    0x0044ccc8 move a0, s3                   |         a0 = s3;
    0x0044cccc sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0044ccd0 move a1, s0                   |         a1 = s0;
    0x0044ccd4 sw fp, 0x14(sp)               |         *(var_14h) = fp;
    0x0044ccd8 move a2, s7                   |         a2 = s7;
    0x0044ccdc sw s6, 0x18(sp)               |         *(var_18h) = s6;
    0x0044cce0 addiu a3, sp, 0x2c            |         a3 = sp + 0x2c;
    0x0044cce4 jalr t9                       |         t9 ();
    0x0044cce8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s0 != 0) {
    0x0044ccec beqz s0, 0x44cd08             |             
    0x0044ccf0 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x0044ccf4 move a0, s1                   |             a0 = s1;
    0x0044ccf8 lw t9, -0x6fcc(gp)            |             t9 = sym.imp.BIO_puts;
    0x0044ccfc addiu a1, a1, -0x824          |             a1 += -0x824;
    0x0044cd00 jalr t9                       |             t9 ();
    0x0044cd04 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0044cd08 lw t8, 0x28(sp)               |         t8 = *(var_28h);
    0x0044cd0c addiu v0, zero, 6             |         v0 = 6;
    0x0044cd10 addiu v0, zero, 0x74          |         v0 = 0x74;
                                             |         if (t8 == v0) {
    0x0044cd14 beq t8, v0, 0x44cdb4          |             goto label_7;
                                             |         }
    0x0044cd18 addiu v0, zero, 0x198         |         v0 = 0x198;
                                             |         if (t8 == v0) {
    0x0044cd1c beq t8, v0, 0x44cdd4          |             goto label_8;
                                             |         }
    0x0044cd20 move a0, s1                   |         a0 = s1;
                                             |         if (t8 == v0) {
    0x0044cd24 beq t8, v0, 0x44cde0          |             goto label_9;
                                             |         }
    0x0044cd28 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044cd2c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044cd30 lbu a2, 0x30(sp)              |         a2 = *(var_30h);
                                             |         /* str.0x_02X */
    0x0044cd34 addiu a1, a1, -0x4604         |         a1 += -0x4604;
    0x0044cd38 jalr t9                       |         t9 ();
    0x0044cd3c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_1:
    0x0044cd40 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x0044cd44 lw t9, -0x6d2c(gp)            |         t9 = sym.imp.OBJ_nid2sn;
    0x0044cd48 bnez a0, 0x44cc98             |         
                                             |     }
    0x0044cd4c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044cd50 move a0, s1                   |     a0 = s1;
    0x0044cd54 lbu a2, 0x34(sp)              |     a2 = *(var_34h);
    0x0044cd58 move a1, s5                   |     a1 = s5;
    0x0044cd5c addiu s0, s0, 1               |     s0++;
    0x0044cd60 jalr t9                       |     t9 ();
    0x0044cd64 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s0 != s2) {
    0x0044cd68 bne s0, s2, 0x44ccc4          |         goto label_0;
                                             |     }
                                             | label_6:
    0x0044cd6c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044cd70 move a0, s1                   |     a0 = s1;
    0x0044cd74 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044cd78 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044cd7c jalr t9                       |     t9 ();
                                             | label_4:
    0x0044cd80 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x0044cd84 addiu v0, zero, 1             |     v0 = 1;
    0x0044cd88 lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x0044cd8c lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x0044cd90 lw s6, 0x58(sp)               |     s6 = *(var_58h);
    0x0044cd94 lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x0044cd98 lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x0044cd9c lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x0044cda0 lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x0044cda4 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x0044cda8 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x0044cdac addiu sp, sp, 0x68            |     
    0x0044cdb0 jr ra                         |     return v0;
                                             | label_7:
    0x0044cdb4 lw t8, -0x7f9c(gp)            |     t8 = *(gp);
                                             |     /* esilref: 'RSA' */
    0x0044cdb8 addiu a2, t8, -0x462c         |     a2 = t8 + -0x462c;
                                             |     do {
                                             | label_2:
    0x0044cdbc lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044cdc0 move a0, s1                   |         a0 = s1;
    0x0044cdc4 move a1, s4                   |         a1 = s4;
    0x0044cdc8 jalr t9                       |         t9 ();
    0x0044cdcc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044cdd0 b 0x44cd40                    |         goto label_1;
                                             | label_8:
    0x0044cdd4 lw t8, -0x7f9c(gp)            |         t8 = *(gp);
                                             |         /* esilref: 'DSA' */
    0x0044cdd8 addiu a2, t8, -0x4630         |         a2 = t8 + -0x4630;
    0x0044cddc b 0x44cdbc                    |         
                                             |     } while (1);
                                             | label_9:
    0x0044cde0 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
                                             |     /* str.ECDSA */
    0x0044cde4 addiu a2, a2, -0x4638         |     a2 += -0x4638;
    0x0044cde8 b 0x44cdbc                    |     goto label_2;
                                             | label_5:
    0x0044cdec lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044cdf0 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Requested_ */
    0x0044cdf4 addiu a1, a1, -0x4628         |     a1 += -0x4628;
    0x0044cdf8 jalr t9                       |     t9 ();
    0x0044cdfc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044ce00 b 0x44cc28                    |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x40f0c8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x0040f0c8 lui gp, 9                     |     
    0x0040f0cc addiu gp, gp, -0x2c28         |     
    0x0040f0d0 addu gp, gp, t9               |     gp += t9;
    0x0040f0d4 addiu sp, sp, -0x490          |     
    0x0040f0d8 sw ra, 0x48c(sp)              |     *(var_48ch) = ra;
    0x0040f0dc sw fp, 0x488(sp)              |     *(var_488h) = fp;
    0x0040f0e0 sw s7, 0x484(sp)              |     *(var_484h) = s7;
    0x0040f0e4 sw s6, 0x480(sp)              |     *(var_480h) = s6;
    0x0040f0e8 sw s5, 0x47c(sp)              |     *(var_47ch) = s5;
    0x0040f0ec sw s4, 0x478(sp)              |     *(var_478h) = s4;
    0x0040f0f0 sw s3, 0x474(sp)              |     *(var_474h) = s3;
    0x0040f0f4 sw s2, 0x470(sp)              |     *(var_470h) = s2;
    0x0040f0f8 sw s1, 0x46c(sp)              |     *(var_46ch) = s1;
    0x0040f0fc sw s0, 0x468(sp)              |     *(var_468h) = s0;
    0x0040f100 move s6, a0                   |     s6 = a0;
    0x0040f104 lw s0, -0x7fd4(gp)            |     s0 = *(gp);
    0x0040f108 move s5, a1                   |     s5 = a1;
    0x0040f10c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0040f110 lw t8, (s0)                   |     t8 = *(s0);
    0x0040f114 sw zero, 0x454(sp)            |     *(var_454h) = 0;
    0x0040f118 sw zero, 0x458(sp)            |     *(var_458h) = 0;
                                             |     if (t8 == 0) {
    0x0040f11c beqz t8, 0x40f5a0             |         goto label_7;
                                             |     }
                                             | label_0:
    0x0040f120 lw s1, -0x7fd8(gp)            |     s1 = *(gp);
    0x0040f124 lw t9, -0x7c68(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.OPENSSL_DEBUG_MEMORY */
    0x0040f128 addiu a0, s1, -0x37d8         |     a0 = s1 + -0x37d8;
    0x0040f12c jalr t9                       |     t9 ();
    0x0040f130 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040f134 beqz v0, 0x40f198             |         goto label_8;
                                             |     }
    0x0040f138 lw t9, -0x7c68(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.OPENSSL_DEBUG_MEMORY */
    0x0040f13c addiu a0, s1, -0x37d8         |     a0 = s1 + -0x37d8;
    0x0040f140 jalr t9                       |     t9 ();
    0x0040f144 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f148 move a0, v0                   |     a0 = v0;
    0x0040f14c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040f150 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'off' */
    0x0040f154 addiu a1, a1, -0x37c0         |     a1 += -0x37c0;
    0x0040f158 jalr t9                       |     t9 ();
    0x0040f15c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040f160 beqz v0, 0x40f204             |         goto label_9;
                                             |     }
    0x0040f164 lw t8, -0x6ee0(gp)            |     t8 = *((gp - 7096));
    0x0040f168 lw t9, -0x7d20(gp)            |     t9 = sym.imp.CRYPTO_set_mem_debug_functions;
    0x0040f16c lw a0, -0x7170(gp)            |     a0 = *((gp - 7260));
    0x0040f170 lw a1, -0x7864(gp)            |     a1 = *((gp - 7705));
    0x0040f174 lw a2, -0x731c(gp)            |     a2 = *((gp - 7367));
    0x0040f178 lw a3, -0x746c(gp)            |     a3 = *((gp - 7451));
    0x0040f17c sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0040f180 jalr t9                       |     t9 ();
    0x0040f184 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f188 lw t9, -0x7c74(gp)            |     t9 = sym.imp.CRYPTO_set_mem_debug_options;
    0x0040f18c addiu a0, zero, 3             |     a0 = 3;
    0x0040f190 jalr t9                       |     t9 ();
    0x0040f194 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
                                             | label_8:
    0x0040f198 lw t9, -0x7058(gp)            |         t9 = sym.imp.CRYPTO_mem_ctrl;
    0x0040f19c addiu a0, zero, 1             |         a0 = 1;
    0x0040f1a0 jalr t9                       |         t9 ();
    0x0040f1a4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f1a8 lw a0, -0x7fa8(gp)            |         a0 = *((gp - 8170));
    0x0040f1ac lw t9, -0x7244(gp)            |         t9 = sym.imp.CRYPTO_set_locking_callback;
    0x0040f1b0 addiu a0, a0, -0x650          |         a0 += -0x650;
    0x0040f1b4 jalr t9                       |         t9 ();
    0x0040f1b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f1bc lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0040f1c0 lw t9, -0x7c68(gp)            |         t9 = sym.imp.getenv;
                                             |         /* str.OPENSSL_FIPS */
    0x0040f1c4 addiu a0, a0, -0x37bc         |         a0 += -0x37bc;
    0x0040f1c8 jalr t9                       |         t9 ();
    0x0040f1cc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0040f1d0 beqz v0, 0x40f228             |             goto label_10;
                                             |         }
    0x0040f1d4 lw t8, -0x6c70(gp)            |         t8 = *((gp - 6940));
    0x0040f1d8 addiu a1, zero, 1             |         a1 = 1;
    0x0040f1dc lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0040f1e0 addiu a2, zero, 0x19          |         a2 = 0x19;
    0x0040f1e4 lw t9, -0x7410(gp)            |         t9 = sym.imp.fwrite;
    0x0040f1e8 lw a3, (t8)                   |         a3 = *(t8);
                                             |         /* str.FIPS_mode_not_supported._n */
    0x0040f1ec addiu a0, a0, -0x37ac         |         a0 += -0x37ac;
    0x0040f1f0 jalr t9                       |         t9 ();
    0x0040f1f4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f1f8 lw t9, -0x7568(gp)            |         t9 = sym.imp.exit;
    0x0040f1fc addiu a0, zero, 1             |         a0 = 1;
    0x0040f200 jalr t9                       |         t9 ();
                                             | label_9:
    0x0040f204 lw t9, -0x7d20(gp)            |         t9 = sym.imp.CRYPTO_set_mem_debug_functions;
    0x0040f208 move a0, zero                 |         a0 = 0;
    0x0040f20c sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0040f210 move a1, zero                 |         a1 = 0;
    0x0040f214 move a2, zero                 |         a2 = 0;
    0x0040f218 move a3, zero                 |         a3 = 0;
    0x0040f21c jalr t9                       |         t9 ();
    0x0040f220 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f224 b 0x40f198                    |         
                                             |     } while (1);
                                             | label_10:
    0x0040f228 lw t9, -0x6e5c(gp)            |     t9 = sym.imp.signal;
    0x0040f22c addiu a0, zero, 0xd           |     a0 = 0xd;
    0x0040f230 addiu a1, zero, 1             |     a1 = 1;
    0x0040f234 jalr t9                       |     t9 ();
    0x0040f238 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f23c lw a0, -0x6f84(gp)            |     a0 = *((gp - 7137));
    0x0040f240 lw a1, -0x6cec(gp)            |     a1 = *((gp - 6971));
    0x0040f244 lw a2, -0x7ad8(gp)            |     a2 = *((gp - 7862));
    0x0040f248 lw t9, -0x7430(gp)            |     t9 = sym.imp.CRYPTO_set_mem_functions;
    0x0040f24c jalr t9                       |     t9 ();
    0x0040f250 nop                           |     
    0x0040f254 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f258 lw t9, -0x770c(gp)            |     t9 = sym.imp.ERR_load_crypto_strings;
    0x0040f25c jalr t9                       |     t9 ();
    0x0040f260 nop                           |     
    0x0040f264 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f268 lw t9, -0x727c(gp)            |     t9 = sym.imp.OPENSSL_add_all_algorithms_noconf;
    0x0040f26c jalr t9                       |     t9 ();
    0x0040f270 nop                           |     
    0x0040f274 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f278 lw t9, -0x6c9c(gp)            |     t9 = sym.imp.ENGINE_load_builtin_engines;
    0x0040f27c jalr t9                       |     t9 ();
    0x0040f280 nop                           |     
    0x0040f284 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f288 lw t9, -0x7e5c(gp)            |     t9 = sym.setup_ui_method;
    0x0040f28c jalr t9                       |     t9 ();
    0x0040f290 nop                           |     
    0x0040f294 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f298 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0040f29c lw t9, -0x7c68(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.OPENSSL_CONF */
    0x0040f2a0 addiu a0, a0, -0x3790         |     a0 += -0x3790;
    0x0040f2a4 jalr t9                       |     t9 ();
    0x0040f2a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f2ac move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x0040f2b0 beqz v0, 0x40f76c             |         goto label_11;
                                             |     }
    0x0040f2b4 move s2, v0                   |     s2 = v0;
    0x0040f2b8 move s1, zero                 |     s1 = 0;
                                             | label_5:
    0x0040f2bc lw t8, -0x7fa4(gp)            |     t8 = *(gp);
    0x0040f2c0 move a0, zero                 |     a0 = 0;
    0x0040f2c4 lw t9, -0x6f64(gp)            |     t9 = sym.imp.NCONF_new;
    0x0040f2c8 lw s3, -0x7fc0(gp)            |     s3 = *(gp);
    0x0040f2cc sw s2, (t8)                   |     *(t8) = s2;
    0x0040f2d0 jalr t9                       |     t9 ();
    0x0040f2d4 move a1, s2                   |     a1 = s2;
    0x0040f2d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f2dc move a0, v0                   |     a0 = v0;
    0x0040f2e0 addiu a2, sp, 0x45c           |     a2 = sp + 0x45c;
    0x0040f2e4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.NCONF_load;
    0x0040f2e8 sw v0, (s3)                   |     *(s3) = v0;
    0x0040f2ec jalr t9                       |     t9 ();
    0x0040f2f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040f2f4 bnez v0, 0x40f380             |         
    0x0040f2f8 lw t9, -0x6c54(gp)            |         t9 = sym.imp.ERR_peek_last_error;
    0x0040f2fc jalr t9                       |         t9 ();
    0x0040f300 nop                           |         
    0x0040f304 addiu t8, zero, 0x72          |         t8 = 0x72;
    0x0040f308 andi v0, v0, 0xfff            |         v0 &= 0xfff;
    0x0040f30c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != t8) {
    0x0040f310 beq v0, t8, 0x40f340          |             
    0x0040f314 lw t9, -0x7048(gp)            |             t9 = sym.imp.ERR_print_errors;
    0x0040f318 lw a0, (s0)                   |             a0 = *(s0);
    0x0040f31c jalr t9                       |             t9 ();
    0x0040f320 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0040f324 lw t9, -0x7d74(gp)            |             t9 = sym.imp.NCONF_free;
    0x0040f328 lw a0, (s3)                   |             a0 = *(s3);
    0x0040f32c jalr t9                       |             t9 ();
    0x0040f330 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0040f334 lw t9, -0x7568(gp)            |             t9 = sym.imp.exit;
    0x0040f338 addiu a0, zero, 1             |             a0 = 1;
    0x0040f33c jalr t9                       |             t9 ();
                                             |         }
    0x0040f340 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0040f344 move a2, s2                   |         a2 = s2;
    0x0040f348 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0040f34c lw a0, (s0)                   |         a0 = *(s0);
                                             |         /* str.WARNING:_cant_open_config_file:__s_n */
    0x0040f350 addiu a1, a1, -0x3774         |         a1 += -0x3774;
    0x0040f354 jalr t9                       |         t9 ();
    0x0040f358 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f35c lw t9, -0x7464(gp)            |         t9 = sym.imp.ERR_clear_error;
    0x0040f360 jalr t9                       |         t9 ();
    0x0040f364 nop                           |         
    0x0040f368 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f36c lw t9, -0x7d74(gp)            |         t9 = sym.imp.NCONF_free;
    0x0040f370 lw a0, (s3)                   |         a0 = *(s3);
    0x0040f374 jalr t9                       |         t9 ();
    0x0040f378 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f37c sw zero, (s3)                 |         *(s3) = 0;
                                             |     }
    0x0040f380 lw s4, -0x7e60(gp)            |     s4 = *(gp);
    0x0040f384 lw t8, 4(s4)                  |     t8 = *((s4 + 1));
    0x0040f388 move a1, zero                 |     a1 = 0;
                                             |     if (t8 == 0) {
    0x0040f38c beqz t8, 0x40f3a4             |         goto label_12;
                                             |     }
    0x0040f390 move t8, s4                   |     t8 = s4;
                                             |     do {
    0x0040f394 addiu t8, t8, 0xc             |         t8 += 0xc;
    0x0040f398 lw v0, 4(t8)                  |         v0 = *((t8 + 1));
    0x0040f39c addiu a1, a1, 1               |         a1++;
    0x0040f3a0 bnez v0, 0x40f394             |         
                                             |     } while (v0 != 0);
                                             | label_12:
    0x0040f3a4 lw a3, -0x7fa8(gp)            |     a3 = *((gp - 8170));
    0x0040f3a8 addiu a2, zero, 0xc           |     a2 = 0xc;
    0x0040f3ac lw t9, -0x6c6c(gp)            |     t9 = sym.imp.qsort;
    0x0040f3b0 lw a0, -0x7e60(gp)            |     a0 = *(gp);
    0x0040f3b4 addiu a3, a3, 0x2f8           |     a3 += 0x2f8;
    0x0040f3b8 jalr t9                       |     t9 ();
    0x0040f3bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f3c0 lw a0, -0x7fa8(gp)            |     a0 = *((gp - 8170));
    0x0040f3c4 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0040f3c8 lw t9, -0x7060(gp)            |     t9 = sym.imp.lh_new;
    0x0040f3cc addiu a0, a0, -0x4f8          |     a0 += -0x4f8;
    0x0040f3d0 addiu a1, a1, -0x51c          |     a1 += -0x51c;
    0x0040f3d4 jalr t9                       |     t9 ();
    0x0040f3d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f3dc move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x0040f3e0 beqz v0, 0x40f7c4             |         goto label_13;
                                             |     }
    0x0040f3e4 lw t8, 4(s4)                  |     t8 = *((s4 + 1));
    0x0040f3e8 lw s4, -0x7e60(gp)            |     s4 = *(gp);
                                             |     if (t8 == 0) {
    0x0040f3ec beqz t8, 0x40f410             |         goto label_6;
                                             |     }
                                             |     do {
    0x0040f3f0 lw t9, -0x7924(gp)            |         t9 = sym.imp.lh_insert;
    0x0040f3f4 move a1, s4                   |         a1 = s4;
    0x0040f3f8 move a0, s2                   |         a0 = s2;
    0x0040f3fc addiu s4, s4, 0xc             |         s4 += 0xc;
    0x0040f400 jalr t9                       |         t9 ();
    0x0040f404 lw t8, 4(s4)                  |         t8 = *((s4 + 1));
    0x0040f408 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f40c bnez t8, 0x40f3f0             |         
                                             |     } while (t8 != 0);
                                             | label_6:
    0x0040f410 lw t9, -0x7e58(gp)            |     t9 = sym.program_name;
    0x0040f414 addiu s4, sp, 0x420           |     s4 = sp + 0x420;
    0x0040f418 lw a0, (s5)                   |     a0 = *(s5);
    0x0040f41c addiu a2, zero, 0x28          |     a2 = 0x28;
    0x0040f420 move a1, s4                   |     a1 = s4;
    0x0040f424 jalr t9                       |     t9 ();
    0x0040f428 move a0, s2                   |     a0 = s2;
    0x0040f42c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f430 addiu a1, sp, 0x448           |     a1 = sp + 0x448;
    0x0040f434 lw t9, -0x7b84(gp)            |     t9 = sym.imp.lh_retrieve;
    0x0040f438 sw s4, 0x44c(sp)              |     *(var_44ch) = s4;
    0x0040f43c jalr t9                       |     t9 ();
    0x0040f440 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0040f444 beqz v0, 0x40f5ec             |         goto label_14;
                                             |     }
    0x0040f448 sw s4, (s5)                   |     *(s5) = s4;
    0x0040f44c move a0, s6                   |     a0 = s6;
    0x0040f450 lw t9, 8(v0)                  |     t9 = *((v0 + 2));
    0x0040f454 move a1, s5                   |     a1 = s5;
    0x0040f458 jalr t9                       |     t9 ();
    0x0040f45c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f460 move s4, v0                   |     s4 = v0;
                                             | label_4:
    0x0040f464 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
                                             |     if (s1 != 0) {
    0x0040f468 beqz s1, 0x40f478             |         
    0x0040f46c move a0, s1                   |         a0 = s1;
    0x0040f470 jalr t9                       |         t9 ();
    0x0040f474 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0040f478 lw a0, (s3)                   |     a0 = *(s3);
    0x0040f47c lw t9, -0x7d74(gp)            |     t9 = sym.imp.NCONF_free;
                                             |     if (a0 != 0) {
    0x0040f480 beqz a0, 0x40f498             |         
    0x0040f484 jalr t9                       |         t9 ();
    0x0040f488 nop                           |         
    0x0040f48c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f490 lw t8, -0x7fc0(gp)            |         t8 = *(gp);
    0x0040f494 sw zero, (t8)                 |         *(t8) = 0;
                                             |     }
    0x0040f498 lw t9, -0x70c8(gp)            |     t9 = sym.imp.lh_free;
                                             |     if (s2 != 0) {
    0x0040f49c beqz s2, 0x40f4ac             |         
    0x0040f4a0 move a0, s2                   |         a0 = s2;
    0x0040f4a4 jalr t9                       |         t9 ();
    0x0040f4a8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0040f4ac lw a0, 0x454(sp)              |     a0 = *(var_454h);
    0x0040f4b0 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
                                             |     if (a0 != 0) {
    0x0040f4b4 beqz a0, 0x40f4c4             |         
    0x0040f4b8 jalr t9                       |         t9 ();
    0x0040f4bc nop                           |         
    0x0040f4c0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0040f4c4 lw t9, -0x6e24(gp)            |     t9 = sym.imp.CONF_modules_unload;
    0x0040f4c8 addiu a0, zero, 1             |     a0 = 1;
    0x0040f4cc jalr t9                       |     t9 ();
    0x0040f4d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f4d4 lw t9, -0x7e54(gp)            |     t9 = sym.destroy_ui_method;
    0x0040f4d8 jalr t9                       |     t9 ();
    0x0040f4dc nop                           |     
    0x0040f4e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f4e4 lw t9, -0x74bc(gp)            |     t9 = sym.imp.OBJ_cleanup;
    0x0040f4e8 jalr t9                       |     t9 ();
    0x0040f4ec nop                           |     
    0x0040f4f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f4f4 lw t9, -0x76f0(gp)            |     t9 = sym.imp.EVP_cleanup;
    0x0040f4f8 jalr t9                       |     t9 ();
    0x0040f4fc nop                           |     
    0x0040f500 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f504 lw t9, -0x78a4(gp)            |     t9 = sym.imp.ENGINE_cleanup;
    0x0040f508 jalr t9                       |     t9 ();
    0x0040f50c nop                           |     
    0x0040f510 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f514 lw t9, -0x7554(gp)            |     t9 = sym.imp.CRYPTO_cleanup_all_ex_data;
    0x0040f518 jalr t9                       |     t9 ();
    0x0040f51c nop                           |     
    0x0040f520 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f524 lw t9, -0x7848(gp)            |     t9 = sym.imp.ERR_remove_thread_state;
    0x0040f528 move a0, zero                 |     a0 = 0;
    0x0040f52c jalr t9                       |     t9 ();
    0x0040f530 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f534 lw t9, -0x766c(gp)            |     t9 = sym.imp.RAND_cleanup;
    0x0040f538 jalr t9                       |     t9 ();
    0x0040f53c nop                           |     
    0x0040f540 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f544 lw t9, -0x7998(gp)            |     t9 = sym.imp.ERR_free_strings;
    0x0040f548 jalr t9                       |     t9 ();
    0x0040f54c nop                           |     
    0x0040f550 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f554 lw t9, -0x6f90(gp)            |     t9 = sym.imp.COMP_zlib_cleanup;
    0x0040f558 jalr t9                       |     t9 ();
    0x0040f55c nop                           |     
    0x0040f560 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f564 lw t9, -0x7a88(gp)            |     t9 = sym.imp.CRYPTO_mem_leaks;
    0x0040f568 lw a0, (s0)                   |     a0 = *(s0);
    0x0040f56c jalr t9                       |     t9 ();
    0x0040f570 lw a0, (s0)                   |     a0 = *(s0);
    0x0040f574 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != 0) {
    0x0040f578 beqz a0, 0x40f594             |         
    0x0040f57c lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
    0x0040f580 jalr t9                       |         t9 ();
    0x0040f584 nop                           |         
    0x0040f588 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f58c lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0040f590 sw zero, (t8)                 |         *(t8) = 0;
                                             |     }
    0x0040f594 lw t9, -0x7568(gp)            |     t9 = sym.imp.exit;
    0x0040f598 move a0, s4                   |     a0 = s4;
    0x0040f59c jalr t9                       |     t9 ();
                                             | label_7:
    0x0040f5a0 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x0040f5a4 jalr t9                       |     t9 ();
    0x0040f5a8 nop                           |     
    0x0040f5ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f5b0 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x0040f5b4 move a0, v0                   |     a0 = v0;
    0x0040f5b8 jalr t9                       |     t9 ();
    0x0040f5bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f5c0 sw v0, (s0)                   |     *(s0) = v0;
                                             |     if (v0 == 0) {
    0x0040f5c4 beqz v0, 0x40f120             |         goto label_0;
                                             |     }
    0x0040f5c8 lw t8, -0x6c70(gp)            |     t8 = *((gp - 6940));
    0x0040f5cc move a0, v0                   |     a0 = v0;
    0x0040f5d0 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0040f5d4 addiu a1, zero, 0x6a          |     a1 = 0x6a;
    0x0040f5d8 lw a3, (t8)                   |     a3 = *(t8);
    0x0040f5dc addiu a2, zero, 0x10          |     a2 = 0x10;
    0x0040f5e0 jalr t9                       |     t9 ();
    0x0040f5e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f5e8 b 0x40f120                    |     goto label_0;
                                             | label_14:
    0x0040f5ec addiu t8, zero, 1             |     t8 = 1;
    0x0040f5f0 lw t9, -0x7fa8(gp)            |     t9 = *((gp - 8170));
                                             |     if (s6 != t8) {
    0x0040f5f4 bne s6, t8, 0x40f73c          |         goto label_15;
                                             |     }
    0x0040f5f8 addiu s7, sp, 0x20            |     s7 = sp + 0x20;
    0x0040f5fc move v0, zero                 |     v0 = 0;
    0x0040f600 lw s5, -0x77b0(gp)            |     s5 = *((gp - 7660));
    0x0040f604 move fp, s7                   |     fp = s7;
    0x0040f608 lw s6, -0x7bbc(gp)            |     s6 = *((gp - 7919));
    0x0040f60c addiu s4, zero, 0x400         |     s4 = 0x400;
                                             |     do {
                                             | label_2:
    0x0040f610 sb zero, (fp)                 |         *(fp) = 0;
                                             |         if (v0 == 0) {
    0x0040f614 beqz v0, 0x40f704             |             goto label_16;
                                             |         }
    0x0040f618 lw t8, -0x7f9c(gp)            |         t8 = *(gp);
    0x0040f61c addiu a0, t8, 0x12e0          |         a0 = t8 + 0x12e0;
                                             | label_1:
    0x0040f620 lw t9, -0x79b4(gp)            |         t9 = sym.imp.fputs;
    0x0040f624 lw a1, (s5)                   |         a1 = *(s5);
    0x0040f628 jalr t9                       |         t9 ();
    0x0040f62c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f630 lw t9, -0x6fec(gp)            |         t9 = sym.imp.fflush;
    0x0040f634 lw a0, (s5)                   |         a0 = *(s5);
    0x0040f638 jalr t9                       |         t9 ();
    0x0040f63c move a0, fp                   |         a0 = fp;
    0x0040f640 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f644 move a1, s4                   |         a1 = s4;
    0x0040f648 lw t9, -0x7618(gp)            |         t9 = sym.imp.fgets;
    0x0040f64c lw a2, (s6)                   |         a2 = *(s6);
    0x0040f650 jalr t9                       |         t9 ();
    0x0040f654 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0040f658 beqz v0, 0x40f764             |             goto label_17;
                                             |         }
    0x0040f65c lb v0, (fp)                   |         v0 = *(fp);
    0x0040f660 lw t9, -0x7cf8(gp)            |         t9 = sym.imp.strlen;
                                             |         if (v0 == 0) {
    0x0040f664 beqz v0, 0x40f764             |             goto label_17;
                                             |         }
    0x0040f668 move a0, fp                   |         a0 = fp;
    0x0040f66c jalr t9                       |         t9 ();
    0x0040f670 slti a0, v0, 2                |         a0 = (v0 < 2) ? 1 : 0;
    0x0040f674 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a0 == 0) {
    0x0040f678 bnez a0, 0x40f690             |             
    0x0040f67c addu a0, fp, v0               |             a0 = fp + v0;
    0x0040f680 lb a1, -2(a0)                 |             a1 = *((a0 - 2));
    0x0040f684 addiu a0, zero, 0x5c          |             a0 = 0x5c;
    0x0040f688 addiu v0, v0, -2              |             v0 += -2;
                                             |             if (a1 == a0) {
    0x0040f68c beq a1, a0, 0x40f710          |                 goto label_18;
                                             |             }
                                             |         }
    0x0040f690 lw t9, -0x7e50(gp)            |         t9 = sym.chopup_args;
    0x0040f694 addiu a0, sp, 0x454           |         a0 = sp + 0x454;
    0x0040f698 move a1, s7                   |         a1 = s7;
    0x0040f69c addiu a2, sp, 0x464           |         a2 = sp + 0x464;
    0x0040f6a0 addiu a3, sp, 0x460           |         a3 = sp + 0x460;
    0x0040f6a4 jalr t9                       |         t9 ();
    0x0040f6a8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0040f6ac beqz v0, 0x40f7a4             |             goto label_19;
                                             |         }
    0x0040f6b0 lw t8, -0x7fa8(gp)            |         t8 = *((gp - 8170));
    0x0040f6b4 move a0, s2                   |         a0 = s2;
    0x0040f6b8 lw a1, 0x464(sp)              |         a1 = *(var_464h);
                                             |         /* fcn.0040fb24 */
    0x0040f6bc addiu t9, t8, -0x4dc          |         t9 = t8 + -0x4dc;
    0x0040f6c0 lw a2, 0x460(sp)              |         a2 = *(var_460h);
    0x0040f6c4 jalr t9                       |         t9 ();
    0x0040f6c8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x0040f6cc bltz v0, 0x40f764             |             goto label_17;
                                             |         }
    0x0040f6d0 lw t8, 0x460(sp)              |         t8 = *(var_460h);
                                             |         if (v0 != 0) {
    0x0040f6d4 bnez v0, 0x40f71c             |             goto label_20;
                                             |         }
                                             | label_3:
    0x0040f6d8 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x0040f6dc addiu a1, zero, 0xb           |         a1 = 0xb;
    0x0040f6e0 lw a0, (s0)                   |         a0 = *(s0);
    0x0040f6e4 move a2, zero                 |         a2 = 0;
    0x0040f6e8 move a3, zero                 |         a3 = 0;
    0x0040f6ec move fp, s7                   |         fp = s7;
    0x0040f6f0 jalr t9                       |         t9 ();
    0x0040f6f4 addiu s4, zero, 0x400         |         s4 = 0x400;
    0x0040f6f8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0040f6fc move v0, zero                 |         v0 = 0;
    0x0040f700 b 0x40f610                    |         
                                             |     } while (1);
                                             | label_16:
    0x0040f704 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             |     /* str.OpenSSL__ */
    0x0040f708 addiu a0, t8, -0x37e4         |     a0 = t8 + -0x37e4;
    0x0040f70c b 0x40f620                    |     goto label_1;
                                             | label_18:
    0x0040f710 addu fp, fp, v0               |     fp += v0;
    0x0040f714 subu s4, s4, v0               |     __asm ("subu s4, s4, v0");
    0x0040f718 b 0x40f610                    |     goto label_2;
                                             | label_20:
    0x0040f71c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040f720 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0040f724 lw a0, (s0)                   |     a0 = *(s0);
                                             |     /* str.error_in__s_n */
    0x0040f728 addiu a1, a1, -0x374c         |     a1 += -0x374c;
    0x0040f72c lw a2, (t8)                   |     a2 = *(t8);
    0x0040f730 jalr t9                       |     t9 ();
    0x0040f734 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f738 b 0x40f6d8                    |     goto label_3;
                                             | label_15:
    0x0040f73c move a0, s2                   |     a0 = s2;
    0x0040f740 addiu a1, s6, -1              |     a1 = s6 + -1;
    0x0040f744 addiu t9, t9, -0x4dc          |     t9 += -0x4dc;
    0x0040f748 addiu a2, s5, 4               |     a2 = s5 + 4;
    0x0040f74c jalr t9                       |     t9 ();
    0x0040f750 slti s4, v0, 0                |     s4 = (v0 < 0) ? 1 : 0;
    0x0040f754 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s4 == 0) {
    0x0040f758 movn v0, zero, s4             |         v0 = 0;
                                             |     }
    0x0040f75c move s4, v0                   |     s4 = v0;
    0x0040f760 b 0x40f464                    |     goto label_4;
                                             | label_17:
    0x0040f764 move s4, zero                 |     s4 = 0;
    0x0040f768 b 0x40f464                    |     goto label_4;
                                             | label_11:
    0x0040f76c lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0040f770 lw t9, -0x7c68(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.SSLEAY_CONF */
    0x0040f774 addiu a0, a0, -0x3780         |     a0 += -0x3780;
    0x0040f778 jalr t9                       |     t9 ();
    0x0040f77c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f780 move s2, v0                   |     s2 = v0;
                                             |     if (v0 != 0) {
    0x0040f784 bnez v0, 0x40f2bc             |         goto label_5;
                                             |     }
    0x0040f788 lw t9, -0x7e4c(gp)            |     t9 = sym.make_config_name;
    0x0040f78c jalr t9                       |     t9 ();
    0x0040f790 nop                           |     
    0x0040f794 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f798 move s1, v0                   |     s1 = v0;
    0x0040f79c move s2, v0                   |     s2 = v0;
    0x0040f7a0 b 0x40f2bc                    |     goto label_5;
                                             | label_19:
    0x0040f7a4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0040f7a8 addiu s4, zero, 1             |     s4 = 1;
    0x0040f7ac lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0040f7b0 lw a0, (s0)                   |     a0 = *(s0);
                                             |     /* str.bad_exit_n */
    0x0040f7b4 addiu a1, a1, -0x373c         |     a1 += -0x373c;
    0x0040f7b8 jalr t9                       |     t9 ();
    0x0040f7bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0040f7c0 b 0x40f464                    |     goto label_4;
                                             | label_13:
    0x0040f7c4 move s2, zero                 |     s2 = 0;
    0x0040f7c8 b 0x40f410                    |     goto label_6;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4478b4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.add_oid_section ()           | void add_oid_section () {
    0x004478b4 lui gp, 5                     |     
    0x004478b8 addiu gp, gp, 0x4bec          |     
    0x004478bc addu gp, gp, t9               |     gp += t9;
    0x004478c0 addiu sp, sp, -0x30           |     
    0x004478c4 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x004478c8 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x004478cc sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x004478d0 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x004478d4 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x004478d8 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x004478dc move s1, a1                   |     s1 = a1;
    0x004478e0 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x004478e4 move s4, a0                   |     s4 = a0;
    0x004478e8 lw t9, -0x7a50(gp)            |     t9 = sym.imp.NCONF_get_string;
    0x004478ec move a1, zero                 |     a1 = 0;
    0x004478f0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x004478f4 move a0, s1                   |     a0 = s1;
                                             |     /* str.oid_section */
    0x004478f8 addiu a2, a2, -0x5158         |     a2 += -0x5158;
    0x004478fc jalr t9                       |     t9 ();
    0x00447900 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00447904 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x00447908 beqz v0, 0x4479f0             |         goto label_0;
                                             |     }
    0x0044790c lw t9, -0x7d88(gp)            |     t9 = sym.imp.NCONF_get_section;
    0x00447910 move a0, s1                   |     a0 = s1;
    0x00447914 move a1, v0                   |     a1 = v0;
    0x00447918 jalr t9                       |     t9 ();
    0x0044791c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00447920 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x00447924 beqz v0, 0x447a20             |         goto label_1;
                                             |     }
    0x00447928 move s0, zero                 |     s0 = 0;
    0x0044792c b 0x447960                    |     
                                             |     while (v0 != 0) {
    0x00447930 jalr t9                       |         t9 ();
    0x00447934 nop                           |         
    0x00447938 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044793c move s1, v0                   |         s1 = v0;
    0x00447940 lw a1, 4(v0)                  |         a1 = *((v0 + 1));
    0x00447944 lw t9, -0x6e58(gp)            |         t9 = sym.imp.OBJ_create;
    0x00447948 lw a0, 8(v0)                  |         a0 = *((v0 + 2));
    0x0044794c move a2, a1                   |         a2 = a1;
    0x00447950 jalr t9                       |         t9 ();
    0x00447954 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00447958 move s3, v0                   |         s3 = v0;
                                             |         if (v0 == 0) {
    0x0044795c beqz v0, 0x4479b0             |             goto label_2;
                                             |         }
    0x00447960 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00447964 move a0, s2                   |         a0 = s2;
    0x00447968 jalr t9                       |         t9 ();
    0x0044796c move a1, s0                   |         a1 = s0;
    0x00447970 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00447974 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00447978 move a0, s2                   |         a0 = s2;
    0x0044797c addiu s0, s0, 1               |         s0++;
    0x00447980 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x00447984 bnez v0, 0x447930             |         
                                             |     }
    0x00447988 addiu s3, zero, 1             |     s3 = 1;
    0x0044798c move v0, s3                   |     v0 = s3;
                                             |     do {
    0x00447990 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x00447994 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x00447998 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x0044799c lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x004479a0 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x004479a4 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x004479a8 addiu sp, sp, 0x30            |         
    0x004479ac jr ra                         |         return v0;
                                             | label_2:
    0x004479b0 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x004479b4 move a0, s4                   |         a0 = s4;
    0x004479b8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x004479bc lw a2, 4(s1)                  |         a2 = *((s1 + 1));
                                             |         /* str.problem_creating_object__s_s_n */
    0x004479c0 addiu a1, a1, -0x512c         |         a1 += -0x512c;
    0x004479c4 lw a3, 8(s1)                  |         a3 = *((s1 + 2));
    0x004479c8 jalr t9                       |         t9 ();
    0x004479cc move v0, s3                   |         v0 = s3;
    0x004479d0 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x004479d4 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x004479d8 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x004479dc lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x004479e0 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x004479e4 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x004479e8 addiu sp, sp, 0x30            |         
    0x004479ec jr ra                         |         return v0;
                                             | label_0:
    0x004479f0 lw t9, -0x7464(gp)            |         t9 = sym.imp.ERR_clear_error;
    0x004479f4 addiu s3, zero, 1             |         s3 = 1;
    0x004479f8 jalr t9                       |         t9 ();
    0x004479fc move v0, s3                   |         v0 = s3;
    0x00447a00 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x00447a04 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x00447a08 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x00447a0c lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x00447a10 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x00447a14 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x00447a18 addiu sp, sp, 0x30            |         
    0x00447a1c jr ra                         |         return v0;
                                             | label_1:
    0x00447a20 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00447a24 move a0, s4                   |         a0 = s4;
    0x00447a28 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00447a2c move a2, s0                   |         a2 = s0;
                                             |         /* str.problem_loading_oid_section__s_n */
    0x00447a30 addiu a1, a1, -0x514c         |         a1 += -0x514c;
    0x00447a34 move s3, zero                 |         s3 = 0;
    0x00447a38 jalr t9                       |         t9 ();
    0x00447a3c move v0, s3                   |         v0 = s3;
    0x00447a40 b 0x447990                    |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x452be0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.alg_print ()                 | void alg_print () {
    0x00452be0 lui gp, 5                     |     
    0x00452be4 addiu gp, gp, -0x6740         |     
    0x00452be8 addu gp, gp, t9               |     gp += t9;
    0x00452bec addiu sp, sp, -0x48           |     
    0x00452bf0 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x00452bf4 sw s5, 0x40(sp)               |     *(var_40h) = s5;
    0x00452bf8 sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x00452bfc sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x00452c00 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x00452c04 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x00452c08 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x00452c0c addiu s2, sp, 0x1c            |     s2 = sp + 0x1c;
    0x00452c10 lw t9, -0x7108(gp)            |     t9 = sym.imp.X509_ALGOR_get0;
    0x00452c14 addiu s4, sp, 0x20            |     s4 = sp + 0x20;
    0x00452c18 addiu s3, sp, 0x18            |     s3 = sp + 0x18;
    0x00452c1c move a3, a1                   |     a3 = a1;
    0x00452c20 move a2, s3                   |     a2 = s3;
    0x00452c24 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00452c28 move a1, s4                   |     a1 = s4;
    0x00452c2c move s0, a0                   |     s0 = a0;
    0x00452c30 move a0, s2                   |     a0 = s2;
    0x00452c34 jalr t9                       |     t9 ();
    0x00452c38 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452c3c lw t9, -0x77e4(gp)            |     t9 = sym.imp.OBJ_obj2nid;
    0x00452c40 lw a0, 0x1c(sp)               |     a0 = *(var_1ch);
    0x00452c44 jalr t9                       |     t9 ();
    0x00452c48 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452c4c move a0, v0                   |     a0 = v0;
    0x00452c50 lw t9, -0x7a04(gp)            |     t9 = sym.imp.OBJ_nid2ln;
    0x00452c54 move s1, v0                   |     s1 = v0;
    0x00452c58 jalr t9                       |     t9 ();
    0x00452c5c move a0, s0                   |     a0 = s0;
    0x00452c60 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452c64 move a2, v0                   |     a2 = v0;
    0x00452c68 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00452c6c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* esilref: '&s' */
    0x00452c70 addiu a1, a1, -0x4dcc         |     a1 += -0x4dcc;
    0x00452c74 jalr t9                       |     t9 ();
    0x00452c78 addiu t8, zero, 0xa1          |     t8 = 0xa1;
    0x00452c7c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s1 == t8) {
    0x00452c80 beq s1, t8, 0x452ce8          |         goto label_4;
                                             |     }
    0x00452c84 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x00452c88 addiu t8, zero, 0x10          |     t8 = 0x10;
    0x00452c8c lw t9, -0x7588(gp)            |     t9 = sym.imp.ASN1_item_unpack;
                                             |     if (v0 == t8) {
    0x00452c90 beq v0, t8, 0x452e84          |         goto label_5;
                                             |     }
                                             | label_0:
    0x00452c94 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     do {
                                             | label_1:
    0x00452c98 move a0, s0                   |         a0 = s0;
    0x00452c9c lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         /* str._unsupported_parameters_ */
    0x00452ca0 addiu a1, a1, -0x2dec         |         a1 += -0x2dec;
    0x00452ca4 jalr t9                       |         t9 ();
    0x00452ca8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_2:
    0x00452cac lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00452cb0 move a0, s0                   |         a0 = s0;
    0x00452cb4 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
    0x00452cb8 addiu a1, a1, 0x609c          |         a1 += 0x609c;
    0x00452cbc jalr t9                       |         t9 ();
    0x00452cc0 addiu v0, zero, 1             |         v0 = 1;
    0x00452cc4 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x00452cc8 lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x00452ccc lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x00452cd0 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x00452cd4 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x00452cd8 lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x00452cdc lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x00452ce0 addiu sp, sp, 0x48            |         
    0x00452ce4 jr ra                         |         return v0;
                                             | label_4:
    0x00452ce8 lw s5, 0x20(sp)               |         s5 = *(var_20h);
    0x00452cec addiu t8, zero, 0x10          |         t8 = 0x10;
    0x00452cf0 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00452cf4 bne s5, t8, 0x452c98          |         
                                             |     } while (s5 != t8);
    0x00452cf8 lw t9, -0x7588(gp)            |     t9 = sym.imp.ASN1_item_unpack;
    0x00452cfc lw a1, -0x7580(gp)            |     a1 = *((gp - 7520));
    0x00452d00 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x00452d04 jalr t9                       |     t9 ();
    0x00452d08 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452d0c move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00452d10 beqz v0, 0x452c94             |         goto label_0;
                                             |     }
    0x00452d14 lw t9, -0x7108(gp)            |     t9 = sym.imp.X509_ALGOR_get0;
    0x00452d18 move a1, s4                   |     a1 = s4;
    0x00452d1c lw a3, (v0)                   |     a3 = *(v0);
    0x00452d20 move a2, s3                   |     a2 = s3;
    0x00452d24 move a0, s2                   |     a0 = s2;
    0x00452d28 jalr t9                       |     t9 ();
    0x00452d2c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452d30 lw t9, -0x77e4(gp)            |     t9 = sym.imp.OBJ_obj2nid;
    0x00452d34 lw a0, 0x1c(sp)               |     a0 = *(var_1ch);
    0x00452d38 jalr t9                       |     t9 ();
    0x00452d3c move a1, zero                 |     a1 = 0;
    0x00452d40 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452d44 move a2, zero                 |     a2 = 0;
    0x00452d48 lw a3, 4(s1)                  |     a3 = *((s1 + 1));
    0x00452d4c move a0, s2                   |     a0 = s2;
    0x00452d50 lw t9, -0x7108(gp)            |     t9 = sym.imp.X509_ALGOR_get0;
    0x00452d54 move s3, v0                   |     s3 = v0;
    0x00452d58 jalr t9                       |     t9 ();
    0x00452d5c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452d60 lw t9, -0x77e4(gp)            |     t9 = sym.imp.OBJ_obj2nid;
    0x00452d64 lw a0, 0x1c(sp)               |     a0 = *(var_1ch);
    0x00452d68 jalr t9                       |     t9 ();
    0x00452d6c move a0, s3                   |     a0 = s3;
    0x00452d70 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452d74 lw t9, -0x7a04(gp)            |     t9 = sym.imp.OBJ_nid2ln;
    0x00452d78 move s4, v0                   |     s4 = v0;
    0x00452d7c jalr t9                       |     t9 ();
    0x00452d80 move a0, s4                   |     a0 = s4;
    0x00452d84 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452d88 lw t9, -0x6d2c(gp)            |     t9 = sym.imp.OBJ_nid2sn;
    0x00452d8c move s4, v0                   |     s4 = v0;
    0x00452d90 jalr t9                       |     t9 ();
    0x00452d94 move a0, s0                   |     a0 = s0;
    0x00452d98 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452d9c move a2, s4                   |     a2 = s4;
    0x00452da0 move a3, v0                   |     a3 = v0;
    0x00452da4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00452da8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.___s___s */
    0x00452dac addiu a1, a1, -0x2dd0         |     a1 += -0x2dd0;
    0x00452db0 jalr t9                       |     t9 ();
    0x00452db4 addiu t8, zero, 0x45          |     t8 = 0x45;
    0x00452db8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s3 != t8) {
    0x00452dbc bne s3, t8, 0x452e70          |         goto label_6;
                                             |     }
    0x00452dc0 lw t8, 0x20(sp)               |     t8 = *(var_20h);
    0x00452dc4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     if (t8 != s5) {
    0x00452dc8 bne t8, s5, 0x452c98          |         goto label_1;
                                             |     }
    0x00452dcc lw t9, -0x7588(gp)            |     t9 = sym.imp.ASN1_item_unpack;
    0x00452dd0 lw a1, -0x6d24(gp)            |     a1 = *((gp - 6985));
    0x00452dd4 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x00452dd8 jalr t9                       |     t9 ();
    0x00452ddc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452de0 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00452de4 beqz v0, 0x452c94             |         goto label_0;
                                             |     }
    0x00452de8 lw a3, 0xc(v0)                |     a3 = *((v0 + 3));
    0x00452dec lw t9, -0x7108(gp)            |     t9 = sym.imp.X509_ALGOR_get0;
                                             |     if (a3 == 0) {
    0x00452df0 beqz a3, 0x452edc             |         goto label_7;
                                             |     }
    0x00452df4 move a0, s2                   |     a0 = s2;
    0x00452df8 move a1, zero                 |     a1 = 0;
    0x00452dfc move a2, zero                 |     a2 = 0;
    0x00452e00 jalr t9                       |     t9 ();
    0x00452e04 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452e08 lw t9, -0x77e4(gp)            |     t9 = sym.imp.OBJ_obj2nid;
    0x00452e0c lw a0, 0x1c(sp)               |     a0 = *(var_1ch);
    0x00452e10 jalr t9                       |     t9 ();
    0x00452e14 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452e18 move s2, v0                   |     s2 = v0;
                                             | label_3:
    0x00452e1c lw t9, -0x7828(gp)            |     t9 = sym.imp.ASN1_INTEGER_get;
    0x00452e20 lw a0, 4(s3)                  |     a0 = *((s3 + 1));
    0x00452e24 jalr t9                       |     t9 ();
    0x00452e28 move a0, s2                   |     a0 = s2;
    0x00452e2c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452e30 lw t9, -0x6d2c(gp)            |     t9 = sym.imp.OBJ_nid2sn;
    0x00452e34 move s2, v0                   |     s2 = v0;
    0x00452e38 jalr t9                       |     t9 ();
    0x00452e3c move a0, s0                   |     a0 = s0;
    0x00452e40 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452e44 move a2, s2                   |     a2 = s2;
    0x00452e48 move a3, v0                   |     a3 = v0;
    0x00452e4c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00452e50 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.__Iteration__ld__PRF__s */
    0x00452e54 addiu a1, a1, -0x2dc4         |     a1 += -0x2dc4;
    0x00452e58 jalr t9                       |     t9 ();
    0x00452e5c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452e60 lw t9, -0x6d7c(gp)            |     t9 = sym.imp.PBKDF2PARAM_free;
    0x00452e64 move a0, s3                   |     a0 = s3;
    0x00452e68 jalr t9                       |     t9 ();
    0x00452e6c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_6:
    0x00452e70 lw t9, -0x6d18(gp)            |     t9 = sym.imp.PBE2PARAM_free;
    0x00452e74 move a0, s1                   |     a0 = s1;
    0x00452e78 jalr t9                       |     t9 ();
    0x00452e7c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452e80 b 0x452cac                    |     goto label_2;
                                             | label_5:
    0x00452e84 lw a1, -0x7328(gp)            |     a1 = *((gp - 7370));
    0x00452e88 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x00452e8c jalr t9                       |     t9 ();
    0x00452e90 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452e94 move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00452e98 beqz v0, 0x452c94             |         goto label_0;
                                             |     }
    0x00452e9c lw t9, -0x7828(gp)            |     t9 = sym.imp.ASN1_INTEGER_get;
    0x00452ea0 lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00452ea4 jalr t9                       |     t9 ();
    0x00452ea8 move a0, s0                   |     a0 = s0;
    0x00452eac lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452eb0 move a2, v0                   |     a2 = v0;
    0x00452eb4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00452eb8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.__Iteration__ld */
    0x00452ebc addiu a1, a1, -0x2dac         |     a1 += -0x2dac;
    0x00452ec0 jalr t9                       |     t9 ();
    0x00452ec4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452ec8 lw t9, -0x7570(gp)            |     t9 = sym.imp.PBEPARAM_free;
    0x00452ecc move a0, s1                   |     a0 = s1;
    0x00452ed0 jalr t9                       |     t9 ();
    0x00452ed4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00452ed8 b 0x452cac                    |     goto label_2;
                                             | label_7:
    0x00452edc addiu s2, zero, 0xa3          |     s2 = 0xa3;
    0x00452ee0 b 0x452e1c                    |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x451190 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.app_RAND_load_file ()        | void app_RAND_load_file () {
    0x00451190 lui gp, 5                     |     
    0x00451194 addiu gp, gp, -0x4cf0         |     
    0x00451198 addu gp, gp, t9               |     gp += t9;
    0x0045119c addiu sp, sp, -0xf8           |     
    0x004511a0 sw ra, 0xf4(sp)               |     *(var_f4h) = ra;
    0x004511a4 sw s3, 0xf0(sp)               |     *(var_f0h) = s3;
    0x004511a8 sw s2, 0xec(sp)               |     *(var_ech) = s2;
    0x004511ac sw s1, 0xe8(sp)               |     *(var_e8h) = s1;
    0x004511b0 sw s0, 0xe4(sp)               |     *(var_e4h) = s0;
    0x004511b4 move s1, a0                   |     s1 = a0;
    0x004511b8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x004511bc move s2, a1                   |     s2 = a1;
    0x004511c0 move s3, a2                   |     s3 = a2;
                                             |     if (a0 == 0) {
    0x004511c4 beqz a0, 0x4512f4             |         goto label_4;
                                             |     }
    0x004511c8 lw t9, -0x6fac(gp)            |     t9 = sym.imp.RAND_egd;
    0x004511cc jalr t9                       |     t9 ();
    0x004511d0 nop                           |     
    0x004511d4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x004511d8 blez v0, 0x45120c             |         goto label_5;
                                             |     }
    0x004511dc lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x004511e0 addiu v0, zero, 1             |     v0 = 1;
    0x004511e4 addiu s0, zero, 1             |     s0 = 1;
    0x004511e8 sw v0, 0x6910(t8)             |     *((t8 + 26896)) = v0;
                                             | label_0:
    0x004511ec move v0, s0                   |     v0 = s0;
                                             |     do {
                                             | label_1:
    0x004511f0 lw ra, 0xf4(sp)               |         ra = *(var_f4h);
    0x004511f4 lw s3, 0xf0(sp)               |         s3 = *(var_f0h);
    0x004511f8 lw s2, 0xec(sp)               |         s2 = *(var_ech);
    0x004511fc lw s1, 0xe8(sp)               |         s1 = *(var_e8h);
    0x00451200 lw s0, 0xe4(sp)               |         s0 = *(var_e4h);
    0x00451204 addiu sp, sp, 0xf8            |         
    0x00451208 jr ra                         |         return v0;
                                             | label_5:
    0x0045120c move a0, s1                   |         a0 = s1;
                                             | label_2:
    0x00451210 lw t9, -0x76dc(gp)            |         t9 = sym.imp.RAND_load_file;
    0x00451214 addiu a1, zero, -1            |         a1 = -1;
    0x00451218 jalr t9                       |         t9 ();
    0x0045121c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x00451220 bnez v0, 0x4512c4             |             goto label_6;
                                             |         }
    0x00451224 lw t9, -0x7c4c(gp)            |         t9 = sym.imp.RAND_status;
                                             | label_3:
    0x00451228 jalr t9                       |         t9 ();
    0x0045122c nop                           |         
    0x00451230 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00451234 move s0, v0                   |         s0 = v0;
                                             |         if (v0 != 0) {
    0x00451238 bnez v0, 0x4512c4             |             goto label_6;
                                             |         }
    0x0045123c move v0, s0                   |         v0 = s0;
    0x00451240 bnez s3, 0x4511f0             |         
                                             |     } while (s3 != 0);
    0x00451244 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00451248 move a0, s2                   |     a0 = s2;
    0x0045124c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.unable_to_load_random_state_n */
    0x00451250 addiu a1, a1, -0x3314         |     a1 += -0x3314;
    0x00451254 jalr t9                       |     t9 ();
    0x00451258 move a0, s2                   |     a0 = s2;
    0x0045125c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00451260 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00451264 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.This_means_that_the_random_number_generator_has_not_been_seeded_n */
    0x00451268 addiu a1, a1, -0x32f4         |     a1 += -0x32f4;
    0x0045126c jalr t9                       |     t9 ();
    0x00451270 move a0, s2                   |     a0 = s2;
    0x00451274 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00451278 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0045127c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.with_much_random_data._n */
    0x00451280 addiu a1, a1, -0x32b0         |     a1 += -0x32b0;
    0x00451284 jalr t9                       |     t9 ();
    0x00451288 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s1 != 0) {
    0x0045128c bnez s1, 0x4511ec             |         goto label_0;
                                             |     }
    0x00451290 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00451294 move a0, s2                   |     a0 = s2;
    0x00451298 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Consider_setting_the_RANDFILE_environment_variable_to_point_at_a_file_that_n */
    0x0045129c addiu a1, a1, -0x3298         |     a1 += -0x3298;
    0x004512a0 jalr t9                       |     t9 ();
    0x004512a4 move a0, s2                   |     a0 = s2;
    0x004512a8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x004512ac lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x004512b0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.random_data_can_be_kept_in__the_file_will_be_overwritten_._n */
    0x004512b4 addiu a1, a1, -0x324c         |     a1 += -0x324c;
    0x004512b8 jalr t9                       |     t9 ();
    0x004512bc move v0, s0                   |     v0 = s0;
    0x004512c0 b 0x4511f0                    |     goto label_1;
                                             | label_6:
    0x004512c4 lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x004512c8 addiu s0, zero, 1             |     s0 = 1;
    0x004512cc addiu v0, zero, 1             |     v0 = 1;
    0x004512d0 sw v0, 0x6914(t8)             |     *((t8 + 26900)) = v0;
    0x004512d4 move v0, s0                   |     v0 = s0;
    0x004512d8 lw ra, 0xf4(sp)               |     ra = *(var_f4h);
    0x004512dc lw s3, 0xf0(sp)               |     s3 = *(var_f0h);
    0x004512e0 lw s2, 0xec(sp)               |     s2 = *(var_ech);
    0x004512e4 lw s1, 0xe8(sp)               |     s1 = *(var_e8h);
    0x004512e8 lw s0, 0xe4(sp)               |     s0 = *(var_e4h);
    0x004512ec addiu sp, sp, 0xf8            |     
    0x004512f0 jr ra                         |     return v0;
                                             | label_4:
    0x004512f4 lw t9, -0x729c(gp)            |     t9 = sym.imp.RAND_file_name;
    0x004512f8 addiu a0, sp, 0x18            |     a0 = sp + 0x18;
    0x004512fc addiu a1, zero, 0xc8          |     a1 = 0xc8;
    0x00451300 jalr t9                       |     t9 ();
    0x00451304 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00451308 move a0, v0                   |     a0 = v0;
                                             |     if (v0 != 0) {
    0x0045130c bnez v0, 0x451210             |         goto label_2;
                                             |     }
    0x00451310 lw t9, -0x7c4c(gp)            |     t9 = sym.imp.RAND_status;
    0x00451314 b 0x451228                    |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4513fc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.app_RAND_load_files ()       | void app_RAND_load_files () {
    0x004513fc lui gp, 5                     |     
    0x00451400 addiu gp, gp, -0x4f5c         |     
    0x00451404 addu gp, gp, t9               |     gp += t9;
    0x00451408 addiu sp, sp, -0x30           |     
    0x0045140c sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00451410 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x00451414 sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x00451418 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0045141c sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00451420 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x00451424 move s1, a0                   |     s1 = a0;
    0x00451428 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0045142c move s2, zero                 |     s2 = 0;
    0x00451430 lb t8, (s1)                   |     t8 = *(s1);
    0x00451434 addiu s0, zero, 0x3a          |     s0 = 0x3a;
                                             |     if (t8 == 0) {
    0x00451438 beqz t8, 0x4514a4             |         goto label_4;
                                             |     }
                                             | label_0:
    0x0045143c move t8, s1                   |     t8 = s1;
                                             |     if (t8 == s0) {
    0x00451440 beq t8, s0, 0x4514ac          |         goto label_5;
                                             |     }
    0x00451444 addiu t8, t8, 1               |     t8++;
    0x00451448 b 0x451458                    |     
                                             |     if (v1 == s0) {
                                             |         while (v1 != 0) {
    0x0045144c beq v1, s0, 0x4514ac          |             goto label_5;
                                             |         }
    0x00451450 nop                           |         
    0x00451454 addiu t8, t8, 1               |         t8++;
    0x00451458 lb v1, (t8)                   |         v1 = *(t8);
    0x0045145c bnez v1, 0x45144c             |         
                                             |     }
    0x00451460 nop                           |     
                                             | label_1:
    0x00451464 sb zero, (t8)                 |     *(t8) = 0;
    0x00451468 addiu s3, zero, 1             |     s3 = 1;
    0x0045146c lb v0, (s1)                   |     v0 = *(s1);
    0x00451470 addiu s4, t8, 1               |     s4 = t8 + 1;
                                             |     if (v0 == 0) {
    0x00451474 beqz v0, 0x4514c0             |         goto label_6;
                                             |     }
                                             | label_2:
    0x00451478 lw t9, -0x6fac(gp)            |     t9 = sym.imp.RAND_egd;
    0x0045147c move a0, s1                   |     a0 = s1;
    0x00451480 jalr t9                       |     t9 ();
    0x00451484 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x00451488 blez v0, 0x4514fc             |         goto label_7;
                                             |     }
                                             | label_3:
    0x0045148c addu s2, s2, v0               |     s2 += v0;
                                             |     if (s3 != 0) {
    0x00451490 bnez s3, 0x4514c0             |         goto label_6;
                                             |     }
    0x00451494 move s1, s4                   |     s1 = s4;
    0x00451498 lb t8, (s1)                   |     t8 = *(s1);
                                             |     if (t8 != 0) {
    0x0045149c bnez t8, 0x45143c             |         goto label_0;
                                             |     }
    0x004514a0 nop                           |     
                                             | label_4:
    0x004514a4 move t8, s1                   |     t8 = s1;
    0x004514a8 b 0x451464                    |     goto label_1;
                                             | label_5:
    0x004514ac sb zero, (t8)                 |     *(t8) = 0;
    0x004514b0 move s3, zero                 |     s3 = 0;
    0x004514b4 lb v0, (s1)                   |     v0 = *(s1);
    0x004514b8 addiu s4, t8, 1               |     s4 = t8 + 1;
                                             |     if (v0 != 0) {
    0x004514bc bnez v0, 0x451478             |         goto label_2;
                                             |     }
                                             | label_6:
    0x004514c0 slti t8, s2, 0x201            |     t8 = (s2 < 0x201) ? 1 : 0;
    0x004514c4 move v0, s2                   |     v0 = s2;
                                             |     if (t8 == 0) {
    0x004514c8 bnez t8, 0x4514dc             |         
    0x004514cc lw t9, -0x7de0(gp)            |         t9 = sym.app_RAND_allow_write_file;
    0x004514d0 jalr t9                       |         t9 ();
    0x004514d4 nop                           |         
    0x004514d8 move v0, s2                   |         v0 = s2;
                                             |     }
    0x004514dc lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x004514e0 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x004514e4 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x004514e8 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x004514ec lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x004514f0 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x004514f4 addiu sp, sp, 0x30            |     
    0x004514f8 jr ra                         |     return v0;
                                             | label_7:
    0x004514fc lw t9, -0x76dc(gp)            |     t9 = sym.imp.RAND_load_file;
    0x00451500 move a0, s1                   |     a0 = s1;
    0x00451504 addiu a1, zero, -1            |     a1 = -1;
    0x00451508 jalr t9                       |     t9 ();
    0x0045150c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00451510 b 0x45148c                    |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x451318 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.app_RAND_write_file ()       | void app_RAND_write_file () {
    0x00451318 lui gp, 5                     |     
    0x0045131c addiu gp, gp, -0x4e78         |     
    0x00451320 addu gp, gp, t9               |     gp += t9;
    0x00451324 addiu sp, sp, -0xe8           |     
    0x00451328 sw ra, 0xe4(sp)               |     *(var_e4h) = ra;
    0x0045132c sw s0, 0xe0(sp)               |     *(var_e0h) = s0;
    0x00451330 lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x00451334 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00451338 lw t8, 0x6910(t8)             |     t8 = *((t8 + 6724));
    0x0045133c lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
                                             |     if (t8 != 0) {
    0x00451340 bnez t8, 0x451394             |         goto label_1;
                                             |     }
    0x00451344 lw t8, 0x6914(t8)             |     t8 = *((t8 + 6725));
    0x00451348 lw ra, 0xe4(sp)               |     ra = *(var_e4h);
                                             |     if (t8 == 0) {
    0x0045134c beqz t8, 0x451398             |         goto label_2;
                                             |     }
    0x00451350 move s0, a1                   |     s0 = a1;
                                             |     if (a0 == 0) {
    0x00451354 beqz a0, 0x4513bc             |         goto label_3;
                                             |     }
    0x00451358 lw t9, -0x7174(gp)            |     t9 = sym.imp.RAND_write_file;
                                             | label_0:
    0x0045135c jalr t9                       |     t9 ();
    0x00451360 nop                           |     
    0x00451364 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00451368 bnez v0, 0x4513a8             |     
                                             |     while (v0 == 0) {
    0x0045136c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00451370 move a0, s0                   |         a0 = s0;
    0x00451374 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.unable_to_write_random_state_n */
    0x00451378 addiu a1, a1, -0x320c         |         a1 += -0x320c;
    0x0045137c jalr t9                       |         t9 ();
    0x00451380 move v0, zero                 |         v0 = 0;
    0x00451384 lw ra, 0xe4(sp)               |         ra = *(var_e4h);
    0x00451388 lw s0, 0xe0(sp)               |         s0 = *(var_e0h);
    0x0045138c addiu sp, sp, 0xe8            |         
    0x00451390 jr ra                         |         return v0;
                                             | label_1:
    0x00451394 lw ra, 0xe4(sp)               |         ra = *(var_e4h);
                                             | label_2:
    0x00451398 move v0, zero                 |         v0 = 0;
    0x0045139c lw s0, 0xe0(sp)               |         s0 = *(var_e0h);
    0x004513a0 addiu sp, sp, 0xe8            |         
    0x004513a4 jr ra                         |         return v0;
    0x004513a8 lw ra, 0xe4(sp)               |         ra = *(var_e4h);
    0x004513ac addiu v0, zero, 1             |         v0 = 1;
    0x004513b0 lw s0, 0xe0(sp)               |         s0 = *(var_e0h);
    0x004513b4 addiu sp, sp, 0xe8            |         
    0x004513b8 jr ra                         |         return v0;
                                             | label_3:
    0x004513bc lw t9, -0x729c(gp)            |         t9 = sym.imp.RAND_file_name;
    0x004513c0 addiu a0, sp, 0x18            |         a0 = sp + 0x18;
    0x004513c4 addiu a1, zero, 0xc8          |         a1 = 0xc8;
    0x004513c8 jalr t9                       |         t9 ();
    0x004513cc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x004513d0 move a0, v0                   |         a0 = v0;
    0x004513d4 beqz v0, 0x45136c             |         
                                             |     }
    0x004513d8 lw t9, -0x7174(gp)            |     t9 = sym.imp.RAND_write_file;
    0x004513dc b 0x45135c                    |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4475fc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.app_passwd ()                | void app_passwd () {
    0x004475fc lui gp, 5                     |     
    0x00447600 addiu gp, gp, 0x4ea4          |     
    0x00447604 addu gp, gp, t9               |     gp += t9;
    0x00447608 addiu sp, sp, -0x40           |     
    0x0044760c sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00447610 sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x00447614 sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x00447618 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0044761c sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x00447620 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x00447624 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x00447628 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044762c sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x00447630 move s0, a2                   |     s0 = a2;
    0x00447634 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00447638 move s7, a0                   |     s7 = a0;
    0x0044763c lw s5, 0x50(sp)               |     s5 = *(arg_50h);
    0x00447640 move s2, a1                   |     s2 = a1;
    0x00447644 move s3, a3                   |     s3 = a3;
                                             |     if (a2 == 0) {
    0x00447648 beqz a2, 0x4477a0             |         goto label_5;
                                             |     }
    0x0044764c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     if (a1 == 0) {
    0x00447650 beqz a1, 0x4477a8             |         goto label_6;
                                             |     }
    0x00447654 move a0, a1                   |     a0 = a1;
    0x00447658 move a1, a2                   |     a1 = a2;
    0x0044765c jalr t9                       |     t9 ();
    0x00447660 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00447664 sltiu s6, v0, 1               |     s6 = (v0 < 1) ? 1 : 0;
                                             | label_1:
    0x00447668 lw s4, -0x7f9c(gp)            |     s4 = *(gp);
    0x0044766c move a0, s2                   |     a0 = s2;
    0x00447670 lw t9, -0x7000(gp)            |     t9 = sym.imp.strncmp;
    0x00447674 addiu a2, zero, 5             |     a2 = 5;
                                             |     /* str.pass: */
    0x00447678 addiu a1, s4, -0x518c         |     a1 = s4 + -0x518c;
    0x0044767c jalr t9                       |     t9 ();
    0x00447680 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00447684 beqz v0, 0x44781c             |         goto label_7;
                                             |     }
    0x00447688 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044768c move a0, s2                   |     a0 = s2;
    0x00447690 lw t9, -0x7000(gp)            |     t9 = sym.imp.strncmp;
    0x00447694 addiu a2, zero, 4             |     a2 = 4;
                                             |     /* str.env: */
    0x00447698 addiu a1, a1, -0x5184         |     a1 += -0x5184;
    0x0044769c jalr t9                       |     t9 ();
    0x004476a0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x004476a4 move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x004476a8 beqz v0, 0x4477c4             |         goto label_8;
                                             |     }
    0x004476ac lw t9, -0x7e1c(gp)            |     t9 = *((gp - 8071));
    0x004476b0 move a0, s7                   |     a0 = s7;
    0x004476b4 move a1, s2                   |     a1 = s2;
                                             |     /* fcn.00446aa0 */
    0x004476b8 addiu t9, t9, 0x6aa0          |     t9 += 0x6aa0;
    0x004476bc move a2, s6                   |     a2 = s6;
    0x004476c0 jalr t9                       |     t9 ();
    0x004476c4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_3:
    0x004476c8 sw v0, (s3)                   |     *(s3) = v0;
                                             |     if (v0 == 0) {
    0x004476cc beqz v0, 0x44786c             |         goto label_9;
                                             |     }
                                             |     if (s0 == 0) {
    0x004476d0 beqz s0, 0x447830             |         goto label_10;
                                             |     }
    0x004476d4 nop                           |     
    0x004476d8 lw t9, -0x7000(gp)            |     t9 = sym.imp.strncmp;
                                             |     if (s6 != 0) {
    0x004476dc bnez s6, 0x447770             |         goto label_11;
                                             |     }
                                             | label_2:
    0x004476e0 move a0, s0                   |     a0 = s0;
                                             |     /* str.pass: */
    0x004476e4 addiu a1, s4, -0x518c         |     a1 = s4 + -0x518c;
    0x004476e8 addiu a2, zero, 5             |     a2 = 5;
    0x004476ec jalr t9                       |     t9 ();
    0x004476f0 move s2, zero                 |     s2 = 0;
    0x004476f4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x004476f8 beqz v0, 0x44778c             |         goto label_12;
                                             |     }
                                             |     do {
    0x004476fc lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00447700 move a0, s0                   |         a0 = s0;
    0x00447704 lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x00447708 addiu a2, zero, 4             |         a2 = 4;
                                             |         /* str.env: */
    0x0044770c addiu a1, a1, -0x5184         |         a1 += -0x5184;
    0x00447710 jalr t9                       |         t9 ();
    0x00447714 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00447718 move s1, v0                   |         s1 = v0;
                                             |         if (v0 == 0) {
    0x0044771c beqz v0, 0x4477f0             |             goto label_13;
                                             |         }
    0x00447720 lw t9, -0x7e1c(gp)            |         t9 = *((gp - 8071));
    0x00447724 move a0, s7                   |         a0 = s7;
    0x00447728 move a1, s0                   |         a1 = s0;
    0x0044772c addiu t9, t9, 0x6aa0          |         t9 += 0x6aa0;
    0x00447730 move a2, s2                   |         a2 = s2;
    0x00447734 jalr t9                       |         t9 ();
    0x00447738 sw v0, (s5)                   |         *(s5) = v0;
                                             | label_0:
    0x0044773c sltu s1, zero, v0             |         s1 = (0 < v0) ? 1 : 0;
                                             | label_4:
    0x00447740 move v0, s1                   |         v0 = s1;
    0x00447744 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x00447748 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x0044774c lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x00447750 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x00447754 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x00447758 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044775c lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x00447760 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00447764 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00447768 addiu sp, sp, 0x40            |         
    0x0044776c jr ra                         |         return v0;
                                             | label_11:
    0x00447770 move a0, s0                   |         a0 = s0;
                                             |         /* str.pass: */
    0x00447774 addiu a1, s4, -0x518c         |         a1 = s4 + -0x518c;
    0x00447778 addiu a2, zero, 5             |         a2 = 5;
    0x0044777c jalr t9                       |         t9 ();
    0x00447780 addiu s2, zero, 2             |         s2 = 2;
    0x00447784 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00447788 bnez v0, 0x4476fc             |         
                                             |     } while (v0 != 0);
                                             | label_12:
    0x0044778c lw t9, -0x71d0(gp)            |     t9 = sym.imp.BUF_strdup;
    0x00447790 addiu a0, s0, 5               |     a0 = s0 + 5;
    0x00447794 jalr t9                       |     t9 ();
    0x00447798 sw v0, (s5)                   |     *(s5) = v0;
    0x0044779c b 0x44773c                    |     goto label_0;
                                             | label_5:
    0x004477a0 move s6, zero                 |     s6 = 0;
                                             |     if (a1 != 0) {
    0x004477a4 bnez a1, 0x447668             |         goto label_1;
                                             |     }
                                             |     if (s3 != 0) {
                                             | label_6:
    0x004477a8 beqz s3, 0x4477b4             |         
    0x004477ac nop                           |         
    0x004477b0 sw zero, (s3)                 |         *(s3) = 0;
                                             |     }
    0x004477b4 lw s4, -0x7f9c(gp)            |     s4 = *(gp);
                                             |     if (s0 != 0) {
    0x004477b8 beqz s0, 0x447830             |         
    0x004477bc lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x004477c0 b 0x4476e0                    |         goto label_2;
                                             | label_8:
    0x004477c4 lw t9, -0x7c68(gp)            |         t9 = sym.imp.getenv;
    0x004477c8 addiu s2, s2, 4               |         s2 += 4;
    0x004477cc move a0, s2                   |         a0 = s2;
    0x004477d0 jalr t9                       |         t9 ();
    0x004477d4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x004477d8 beqz v0, 0x447894             |             goto label_14;
                                             |         }
    0x004477dc lw t9, -0x71d0(gp)            |         t9 = sym.imp.BUF_strdup;
    0x004477e0 move a0, v0                   |         a0 = v0;
    0x004477e4 jalr t9                       |         t9 ();
    0x004477e8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x004477ec b 0x4476c8                    |         goto label_3;
                                             | label_13:
    0x004477f0 lw t9, -0x7c68(gp)            |         t9 = sym.imp.getenv;
    0x004477f4 addiu s0, s0, 4               |         s0 += 4;
    0x004477f8 move a0, s0                   |         a0 = s0;
    0x004477fc jalr t9                       |         t9 ();
    0x00447800 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00447804 beqz v0, 0x447874             |             goto label_15;
                                             |         }
    0x00447808 lw t9, -0x71d0(gp)            |         t9 = sym.imp.BUF_strdup;
    0x0044780c move a0, v0                   |         a0 = v0;
    0x00447810 jalr t9                       |         t9 ();
    0x00447814 sw v0, (s5)                   |         *(s5) = v0;
    0x00447818 b 0x44773c                    |         goto label_0;
                                             | label_7:
    0x0044781c lw t9, -0x71d0(gp)            |         t9 = sym.imp.BUF_strdup;
    0x00447820 addiu a0, s2, 5               |         a0 = s2 + 5;
    0x00447824 jalr t9                       |         t9 ();
    0x00447828 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044782c b 0x4476c8                    |         goto label_3;
                                             |     }
                                             | label_10:
    0x00447830 addiu s1, zero, 1             |     s1 = 1;
                                             |     if (s5 == 0) {
    0x00447834 beqz s5, 0x447740             |         goto label_4;
                                             |     }
    0x00447838 move v0, s1                   |     v0 = s1;
    0x0044783c sw zero, (s5)                 |     *(s5) = 0;
    0x00447840 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x00447844 lw s7, 0x38(sp)               |     s7 = *(var_38h);
    0x00447848 lw s6, 0x34(sp)               |     s6 = *(var_34h);
    0x0044784c lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x00447850 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x00447854 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x00447858 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0044785c lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x00447860 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x00447864 addiu sp, sp, 0x40            |     
    0x00447868 jr ra                         |     return v0;
                                             | label_9:
    0x0044786c move s1, zero                 |     s1 = 0;
    0x00447870 b 0x447740                    |     goto label_4;
                                             | label_15:
    0x00447874 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447878 move a0, s7                   |     a0 = s7;
    0x0044787c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00447880 move a2, s0                   |     a2 = s0;
                                             |     /* str.Cant_read_environment_variable__s_n */
    0x00447884 addiu a1, a1, -0x517c         |     a1 += -0x517c;
    0x00447888 jalr t9                       |     t9 ();
    0x0044788c sw zero, (s5)                 |     *(s5) = 0;
    0x00447890 b 0x447740                    |     goto label_4;
                                             | label_14:
    0x00447894 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447898 move a0, s7                   |     a0 = s7;
    0x0044789c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004478a0 move a2, s2                   |     a2 = s2;
                                             |     /* str.Cant_read_environment_variable__s_n */
    0x004478a4 addiu a1, a1, -0x517c         |     a1 += -0x517c;
    0x004478a8 jalr t9                       |     t9 ();
    0x004478ac sw zero, (s3)                 |     *(s3) = 0;
    0x004478b0 b 0x447740                    |     goto label_4;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44e0f0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.apps_ssl_info_callback ()        | void apps_ssl_info_callback () {
    0x0044e0f0 lui gp, 5                         |     
    0x0044e0f4 addiu gp, gp, -0x1c50             |     
    0x0044e0f8 addu gp, gp, t9                   |     gp += t9;
    0x0044e0fc addiu sp, sp, -0x38               |     
    0x0044e100 sw ra, 0x34(sp)                   |     *(var_34h) = ra;
    0x0044e104 sw s2, 0x30(sp)                   |     *(var_30h) = s2;
    0x0044e108 sw s1, 0x2c(sp)                   |     *(var_2ch) = s1;
    0x0044e10c sw s0, 0x28(sp)                   |     *(var_28h) = s0;
    0x0044e110 andi t8, a1, 0x1000               |     t8 = a1 & 0x1000;
    0x0044e114 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0044e118 andi t8, a1, 0x2000               |     t8 = a1 & 0x2000;
                                                 |     if (t8 != 0) {
    0x0044e11c bnez t8, 0x44e178                 |         goto label_4;
                                                 |     }
    0x0044e120 andi t8, a1, 1                    |     t8 = a1 & 1;
                                                 |     if (t8 == 0) {
    0x0044e124 beqz t8, 0x44e264                 |         goto label_5;
                                                 |     }
    0x0044e128 lw s1, -0x7f9c(gp)                |     s1 = *(gp);
                                                 |     /* str.SSL_accept */
    0x0044e12c addiu s1, s1, -0x4248             |     s1 += -0x4248;
                                                 |     if (t8 == 0) {
    0x0044e130 beqz t8, 0x44e18c                 |         goto label_6;
                                                 |     }
    0x0044e134 lw t9, -0x7cd0(gp)                |     t9 = sym.imp.SSL_state_string_long;
                                                 |     do {
    0x0044e138 lw t8, -0x7fd4(gp)                |         t8 = *(gp);
    0x0044e13c lw s0, (t8)                       |         s0 = *(t8);
    0x0044e140 jalr t9                           |         t9 ();
    0x0044e144 move a2, s1                       |         a2 = s1;
    0x0044e148 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0044e14c move a0, s0                       |         a0 = s0;
    0x0044e150 move a3, v0                       |         a3 = v0;
    0x0044e154 lw a1, -0x7f9c(gp)                |         a1 = *(gp);
    0x0044e158 lw t9, -0x780c(gp)                |         t9 = sym.imp.BIO_printf
                                                 |         /* str._s:_s_n */
    0x0044e15c addiu a1, a1, -0x4220             |         a1 += -0x4220;
                                                 | label_1:
    0x0044e160 lw ra, 0x34(sp)                   |         ra = *(var_34h);
    0x0044e164 lw s2, 0x30(sp)                   |         s2 = *(var_30h);
    0x0044e168 lw s1, 0x2c(sp)                   |         s1 = *(var_2ch);
    0x0044e16c lw s0, 0x28(sp)                   |         s0 = *(var_28h);
    0x0044e170 addiu sp, sp, 0x38                |         
    0x0044e174 jr t9                             |         t9 ();
                                                 | label_4:
    0x0044e178 lw s1, -0x7f9c(gp)                |         s1 = *(gp);
                                                 |         /* str.SSL_connect */
    0x0044e17c addiu s1, s1, -0x4254             |         s1 += -0x4254;
                                                 | label_2:
    0x0044e180 andi t8, a1, 1                    |         t8 = a1 & 1;
    0x0044e184 lw t9, -0x7cd0(gp)                |         t9 = sym.imp.SSL_state_string_long;
    0x0044e188 bnez t8, 0x44e138                 |         
                                                 |     } while (t8 != 0);
                                                 | label_6:
    0x0044e18c andi t8, a1, 0x4000               |     t8 = a1 & 0x4000;
                                                 |     if (t8 == 0) {
    0x0044e190 beqz t8, 0x44e218                 |         goto label_7;
                                                 |     }
    0x0044e194 nop                               |     
    0x0044e198 andi a1, a1, 4                    |     a1 &= 4;
    0x0044e19c lw s2, -0x7f9c(gp)                |     s2 = *(gp);
                                                 |     if (a1 != 0) {
    0x0044e1a0 bnez a1, 0x44e29c                 |         goto label_8;
                                                 |     }
    0x0044e1a4 lw s2, -0x7f9c(gp)                |     s2 = *(gp);
                                                 |     /* str.write */
    0x0044e1a8 addiu s2, s2, -0x4228             |     s2 += -0x4228;
                                                 | label_3:
    0x0044e1ac lw t8, -0x7fd4(gp)                |     t8 = *(gp);
    0x0044e1b0 move a0, a2                       |     a0 = a2;
    0x0044e1b4 lw t9, -0x73e4(gp)                |     t9 = sym.imp.SSL_alert_type_string_long;
    0x0044e1b8 lw s1, (t8)                       |     s1 = *(t8);
    0x0044e1bc sw a2, 0x20(sp)                   |     *(var_20h) = a2;
    0x0044e1c0 jalr t9                           |     t9 ();
    0x0044e1c4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0044e1c8 move s0, v0                       |     s0 = v0;
    0x0044e1cc lw a2, 0x20(sp)                   |     a2 = *(var_20h);
    0x0044e1d0 lw t9, -0x75cc(gp)                |     t9 = sym.imp.SSL_alert_desc_string_long;
    0x0044e1d4 move a0, a2                       |     a0 = a2;
    0x0044e1d8 jalr t9                           |     t9 ();
    0x0044e1dc move a0, s1                       |     a0 = s1;
    0x0044e1e0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0044e1e4 move a2, s2                       |     a2 = s2;
    0x0044e1e8 move a3, s0                       |     a3 = s0;
    0x0044e1ec sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0044e1f0 lw a1, -0x7f9c(gp)                |     a1 = *(gp);
    0x0044e1f4 lw t9, -0x780c(gp)                |     t9 = sym.imp.BIO_printf
                                                 |     /* str.SSL3_alert__s:_s:_s_n */
    0x0044e1f8 addiu a1, a1, -0x4218             |     a1 += -0x4218;
    0x0044e1fc jalr t9                           |     t9 ();
    0x0044e200 lw ra, 0x34(sp)                   |     ra = *(var_34h);
                                                 |     do {
    0x0044e204 lw s2, 0x30(sp)                   |         s2 = *(var_30h);
                                                 | label_0:
    0x0044e208 lw s1, 0x2c(sp)                   |         s1 = *(var_2ch);
    0x0044e20c lw s0, 0x28(sp)                   |         s0 = *(var_28h);
    0x0044e210 addiu sp, sp, 0x38                |         
    0x0044e214 jr ra                             |         return v0;
                                                 | label_7:
    0x0044e218 andi a1, a1, 2                    |         a1 &= 2;
    0x0044e21c lw ra, 0x34(sp)                   |         ra = *(var_34h);
    0x0044e220 beqz a1, 0x44e204                 |         
                                                 |     } while (a1 == 0);
    0x0044e224 lw t9, -0x7cd0(gp)                |     t9 = sym.imp.SSL_state_string_long;
                                                 |     if (a2 == 0) {
    0x0044e228 beqz a2, 0x44e270                 |         goto label_9;
                                                 |     }
    0x0044e22c lw s2, 0x30(sp)                   |     s2 = *(var_30h);
                                                 |     if (a2 >= 0) {
    0x0044e230 bgez a2, 0x44e208                 |         goto label_0;
                                                 |     }
    0x0044e234 lw t9, -0x7cd0(gp)                |     t9 = sym.imp.SSL_state_string_long;
    0x0044e238 lw t8, -0x7fd4(gp)                |     t8 = *(gp);
    0x0044e23c lw s0, (t8)                       |     s0 = *(t8);
    0x0044e240 jalr t9                           |     t9 ();
    0x0044e244 move a2, s1                       |     a2 = s1;
    0x0044e248 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0044e24c move a0, s0                       |     a0 = s0;
    0x0044e250 move a3, v0                       |     a3 = v0;
    0x0044e254 lw a1, -0x7f9c(gp)                |     a1 = *(gp);
    0x0044e258 lw t9, -0x780c(gp)                |     t9 = sym.imp.BIO_printf
                                                 |     /* str._s:error_in__s_n */
    0x0044e25c addiu a1, a1, -0x41ec             |     a1 += -0x41ec;
    0x0044e260 b 0x44e160                        |     goto label_1;
                                                 | label_5:
    0x0044e264 lw s1, -0x7f9c(gp)                |     s1 = *(gp);
                                                 |     /* str.undefined */
    0x0044e268 addiu s1, s1, -0x423c             |     s1 += -0x423c;
    0x0044e26c b 0x44e180                        |     goto label_2;
                                                 | label_9:
    0x0044e270 lw t8, -0x7fd4(gp)                |     t8 = *(gp);
    0x0044e274 lw s0, (t8)                       |     s0 = *(t8);
    0x0044e278 jalr t9                           |     t9 ();
    0x0044e27c move a2, s1                       |     a2 = s1;
    0x0044e280 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0044e284 move a0, s0                       |     a0 = s0;
    0x0044e288 move a3, v0                       |     a3 = v0;
    0x0044e28c lw a1, -0x7f9c(gp)                |     a1 = *(gp);
    0x0044e290 lw t9, -0x780c(gp)                |     t9 = sym.imp.BIO_printf
                                                 |     /* str._s:failed_in__s_n */
    0x0044e294 addiu a1, a1, -0x4200             |     a1 += -0x4200;
    0x0044e298 b 0x44e160                        |     goto label_1;
                                                 |     /* str.read */
                                                 | label_8:
    0x0044e29c addiu s2, s2, -0x4230             |     s2 += -0x4230;
    0x0044e2a0 b 0x44e1ac                        |     goto label_3;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44f490 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.args_excert ()               | void args_excert () {
    0x0044f490 lui gp, 5                     |     
    0x0044f494 addiu gp, gp, -0x2ff0         |     
    0x0044f498 addu gp, gp, t9               |     gp += t9;
    0x0044f49c addiu sp, sp, -0x40           |     
    0x0044f4a0 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0044f4a4 sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x0044f4a8 sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x0044f4ac sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0044f4b0 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0044f4b4 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0044f4b8 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0044f4bc sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044f4c0 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0044f4c4 move s1, a0                   |     s1 = a0;
    0x0044f4c8 lw s3, 0x50(sp)               |     s3 = *(arg_50h);
    0x0044f4cc move s4, a1                   |     s4 = a1;
    0x0044f4d0 lw t8, (a0)                   |     t8 = *(a0);
    0x0044f4d4 move s5, a2                   |     s5 = a2;
    0x0044f4d8 lw s0, (s3)                   |     s0 = *(s3);
    0x0044f4dc move s6, a3                   |     s6 = a3;
    0x0044f4e0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044f4e4 lw s2, (t8)                   |     s2 = *(t8);
    0x0044f4e8 lw s7, 4(t8)                  |     s7 = *((t8 + 1));
                                             |     if (s0 == 0) {
    0x0044f4ec beqz s0, 0x44f6ec             |         goto label_4;
                                             |     }
                                             | label_3:
    0x0044f4f0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f4f4 move a0, s2                   |     a0 = s2;
    0x0044f4f8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._xcert */
    0x0044f4fc addiu a1, a1, -0x3a88         |     a1 += -0x3a88;
    0x0044f500 jalr t9                       |     t9 ();
    0x0044f504 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044f508 bnez v0, 0x44f5d4             |         
    0x0044f50c addiu t8, zero, 1             |         t8 = 1;
                                             |         if (s7 == 0) {
    0x0044f510 beqz s7, 0x44f6e0             |             goto label_5;
                                             |         }
    0x0044f514 lw t8, 4(s0)                  |         t8 = *((s0 + 1));
    0x0044f518 addiu a0, zero, 0x2c          |         a0 = 0x2c;
                                             |         if (t8 == 0) {
    0x0044f51c beqz t8, 0x44f6d8             |             goto label_6;
                                             |         }
    0x0044f520 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044f524 lw t9, -0x7cd8(gp)            |         t9 = sym.imp.CRYPTO_malloc;
    0x0044f528 addiu a2, zero, 0x4ff         |         a2 = 0x4ff;
                                             |         /* str.s_cb.c */
    0x0044f52c addiu a1, a1, -0x436c         |         a1 += -0x436c;
    0x0044f530 jalr t9                       |         t9 ();
    0x0044f534 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f538 move t8, v0                   |         t8 = v0;
                                             |         if (v0 == 0) {
    0x0044f53c beqz v0, 0x44f7c8             |             goto label_7;
                                             |         }
    0x0044f540 lw v1, (s0)                   |         v1 = *(s0);
    0x0044f544 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x0044f548 sw zero, 4(t8)                |         *((t8 + 4)) = 0;
    0x0044f54c sw zero, 0xc(t8)              |         *((t8 + 12)) = 0;
    0x0044f550 sw zero, 0x10(t8)             |         *((t8 + 16)) = 0;
    0x0044f554 sw zero, 0x14(t8)             |         *((t8 + 20)) = 0;
    0x0044f558 sw zero, 0x18(t8)             |         *((t8 + 24)) = 0;
    0x0044f55c sw zero, 0x1c(t8)             |         *((t8 + 28)) = 0;
    0x0044f560 sw zero, 0x28(t8)             |         *((t8 + 40)) = 0;
    0x0044f564 sw zero, 0x20(t8)             |         *((t8 + 32)) = 0;
    0x0044f568 sw s0, 0x24(t8)               |         *((t8 + 36)) = s0;
    0x0044f56c sw v1, (t8)                   |         *(t8) = v1;
    0x0044f570 sw v0, 8(t8)                  |         *((t8 + 8)) = v0;
    0x0044f574 sw t8, 0x28(s0)               |         *((s0 + 10)) = t8;
                                             | label_1:
    0x0044f578 sw s7, 4(t8)                  |         *((t8 + 4)) = s7;
    0x0044f57c addiu v1, zero, 8             |         v1 = 8;
    0x0044f580 addiu a0, zero, 2             |         a0 = 2;
                                             | label_0:
    0x0044f584 lw v0, (s1)                   |         v0 = *(s1);
    0x0044f588 addu v0, v0, v1               |         v0 += v1;
    0x0044f58c sw v0, (s1)                   |         *(s1) = v0;
                                             |         if (s4 != 0) {
    0x0044f590 beqz s4, 0x44f5a0             |             
    0x0044f594 lw v0, (s4)                   |             v0 = *(s4);
    0x0044f598 subu a0, v0, a0               |             __asm ("subu a0, v0, a0");
    0x0044f59c sw a0, (s4)                   |             *(s4) = a0;
                                             |         }
    0x0044f5a0 sw t8, (s3)                   |         *(s3) = t8;
    0x0044f5a4 addiu v0, zero, 1             |         v0 = 1;
                                             | label_2:
    0x0044f5a8 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0044f5ac lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x0044f5b0 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x0044f5b4 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0044f5b8 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x0044f5bc lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044f5c0 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0044f5c4 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0044f5c8 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0044f5cc addiu sp, sp, 0x40            |         
    0x0044f5d0 jr ra                         |         return v0;
                                             |     }
    0x0044f5d4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f5d8 move a0, s2                   |     a0 = s2;
    0x0044f5dc lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._xkey */
    0x0044f5e0 addiu a1, a1, -0x3a80         |     a1 += -0x3a80;
    0x0044f5e4 jalr t9                       |     t9 ();
    0x0044f5e8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044f5ec bnez v0, 0x44f650             |         goto label_8;
                                             |     }
    0x0044f5f0 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (s7 == 0) {
    0x0044f5f4 beqz s7, 0x44f6e0             |         goto label_5;
                                             |     }
    0x0044f5f8 lw t8, 0xc(s0)                |     t8 = *((s0 + 3));
    0x0044f5fc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     if (t8 == 0) {
    0x0044f600 beqz t8, 0x44f6c4             |         goto label_9;
                                             |     }
    0x0044f604 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f608 move a0, s6                   |     a0 = s6;
                                             |     /* str.Key_already_specified_n */
    0x0044f60c addiu a1, a1, -0x3a78         |     a1 += -0x3a78;
                                             |     do {
    0x0044f610 jalr t9                       |         t9 ();
    0x0044f614 nop                           |         
    0x0044f618 addiu t8, zero, 1             |         t8 = 1;
    0x0044f61c sw t8, (s5)                   |         *(s5) = t8;
    0x0044f620 addiu v0, zero, 1             |         v0 = 1;
    0x0044f624 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0044f628 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x0044f62c lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x0044f630 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0044f634 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x0044f638 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044f63c lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0044f640 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0044f644 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0044f648 addiu sp, sp, 0x40            |         
    0x0044f64c jr ra                         |         return v0;
                                             | label_8:
    0x0044f650 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044f654 move a0, s2                   |         a0 = s2;
    0x0044f658 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._xchain */
    0x0044f65c addiu a1, a1, -0x3a60         |         a1 += -0x3a60;
    0x0044f660 jalr t9                       |         t9 ();
    0x0044f664 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044f668 bnez v0, 0x44f690             |             goto label_10;
                                             |         }
    0x0044f66c addiu t8, zero, 1             |         t8 = 1;
                                             |         if (s7 == 0) {
    0x0044f670 beqz s7, 0x44f6e0             |             goto label_5;
                                             |         }
    0x0044f674 lw t8, 0x10(s0)               |         t8 = *((s0 + 4));
    0x0044f678 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         if (t8 == 0) {
    0x0044f67c beqz t8, 0x44f810             |             goto label_11;
                                             |         }
    0x0044f680 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044f684 move a0, s6                   |         a0 = s6;
                                             |         /* str.Chain_already_specified_n */
    0x0044f688 addiu a1, a1, -0x3a58         |         a1 += -0x3a58;
    0x0044f68c b 0x44f610                    |         
                                             |     } while (1);
                                             | label_10:
    0x0044f690 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f694 move a0, s2                   |     a0 = s2;
    0x0044f698 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._xchain_build */
    0x0044f69c addiu a1, a1, -0x3a3c         |     a1 += -0x3a3c;
    0x0044f6a0 jalr t9                       |     t9 ();
    0x0044f6a4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044f6a8 bnez v0, 0x44f748             |         
    0x0044f6ac addiu v0, zero, 1             |         v0 = 1;
    0x0044f6b0 move t8, s0                   |         t8 = s0;
    0x0044f6b4 sw v0, 0x20(s0)               |         *((s0 + 8)) = v0;
    0x0044f6b8 addiu v1, zero, 4             |         v1 = 4;
    0x0044f6bc addiu a0, zero, 1             |         a0 = 1;
    0x0044f6c0 b 0x44f584                    |         goto label_0;
                                             | label_9:
    0x0044f6c4 sw s7, 0xc(s0)                |         *((s0 + 3)) = s7;
    0x0044f6c8 move t8, s0                   |         t8 = s0;
    0x0044f6cc addiu v1, zero, 8             |         v1 = 8;
    0x0044f6d0 addiu a0, zero, 2             |         a0 = 2;
    0x0044f6d4 b 0x44f584                    |         goto label_0;
                                             | label_6:
    0x0044f6d8 move t8, s0                   |         t8 = s0;
    0x0044f6dc b 0x44f578                    |         goto label_1;
                                             | label_5:
    0x0044f6e0 addiu v0, zero, 1             |         v0 = 1;
    0x0044f6e4 sw t8, (s5)                   |         *(s5) = t8;
    0x0044f6e8 b 0x44f5a8                    |         goto label_2;
                                             | label_4:
    0x0044f6ec lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044f6f0 addiu a0, zero, 0x2c          |         a0 = 0x2c;
    0x0044f6f4 lw t9, -0x7cd8(gp)            |         t9 = sym.imp.CRYPTO_malloc;
    0x0044f6f8 addiu a2, zero, 0x4ff         |         a2 = 0x4ff;
                                             |         /* str.s_cb.c */
    0x0044f6fc addiu a1, a1, -0x436c         |         a1 += -0x436c;
    0x0044f700 jalr t9                       |         t9 ();
    0x0044f704 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f708 move s0, v0                   |         s0 = v0;
                                             |         if (v0 == 0) {
    0x0044f70c beqz v0, 0x44f82c             |             goto label_12;
                                             |         }
    0x0044f710 addiu t8, zero, 3             |         t8 = 3;
    0x0044f714 sw zero, 4(v0)                |         *((v0 + 1)) = 0;
    0x0044f718 sw zero, 0xc(v0)              |         *((v0 + 3)) = 0;
    0x0044f71c sw zero, 0x10(v0)             |         *((v0 + 4)) = 0;
    0x0044f720 sw zero, 0x14(v0)             |         *((v0 + 5)) = 0;
    0x0044f724 sw zero, 0x18(v0)             |         *((v0 + 6)) = 0;
    0x0044f728 sw zero, 0x1c(v0)             |         *((v0 + 7)) = 0;
    0x0044f72c sw zero, 0x28(v0)             |         *((v0 + 10)) = 0;
    0x0044f730 sw zero, 0x20(v0)             |         *((v0 + 8)) = 0;
    0x0044f734 sw zero, 0x24(v0)             |         *((v0 + 9)) = 0;
    0x0044f738 sw t8, (v0)                   |         *(v0) = t8;
    0x0044f73c sw t8, 8(v0)                  |         *((v0 + 2)) = t8;
    0x0044f740 sw v0, (s3)                   |         *(s3) = v0;
    0x0044f744 b 0x44f4f0                    |         goto label_3;
                                             |     }
    0x0044f748 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f74c move a0, s2                   |     a0 = s2;
    0x0044f750 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._xcertform */
    0x0044f754 addiu a1, a1, -0x3a2c         |     a1 += -0x3a2c;
    0x0044f758 jalr t9                       |     t9 ();
    0x0044f75c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044f760 beqz v0, 0x44f7a4             |         
    0x0044f764 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044f768 move a0, s2                   |         a0 = s2;
    0x0044f76c lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._xkeyform */
    0x0044f770 addiu a1, a1, -0x3a20         |         a1 += -0x3a20;
    0x0044f774 jalr t9                       |         t9 ();
    0x0044f778 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044f77c bnez v0, 0x44f824             |             goto label_13;
                                             |         }
    0x0044f780 lw t9, -0x7fd0(gp)            |         t9 = sym.str2fmt;
                                             |         if (s7 == 0) {
    0x0044f784 beqz s7, 0x44f7e0             |             goto label_14;
                                             |         }
    0x0044f788 move a0, s7                   |         a0 = s7;
    0x0044f78c jalr t9                       |         t9 ();
    0x0044f790 move t8, s0                   |         t8 = s0;
    0x0044f794 sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
    0x0044f798 addiu v1, zero, 8             |         v1 = 8;
    0x0044f79c addiu a0, zero, 2             |         a0 = 2;
    0x0044f7a0 b 0x44f584                    |         goto label_0;
                                             |     }
    0x0044f7a4 lw t9, -0x7fd0(gp)            |     t9 = sym.str2fmt;
                                             |     if (s7 == 0) {
    0x0044f7a8 beqz s7, 0x44f7e0             |         goto label_14;
                                             |     }
    0x0044f7ac move a0, s7                   |     a0 = s7;
    0x0044f7b0 jalr t9                       |     t9 ();
    0x0044f7b4 move t8, s0                   |     t8 = s0;
    0x0044f7b8 sw v0, (s0)                   |     *(s0) = v0;
    0x0044f7bc addiu v1, zero, 8             |     v1 = 8;
    0x0044f7c0 addiu a0, zero, 2             |     a0 = 2;
    0x0044f7c4 b 0x44f584                    |     goto label_0;
                                             | label_7:
    0x0044f7c8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f7cc move a0, s6                   |     a0 = s6;
    0x0044f7d0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_adding_xcert_n */
    0x0044f7d4 addiu a1, a1, -0x39f8         |     a1 += -0x39f8;
    0x0044f7d8 jalr t9                       |     t9 ();
    0x0044f7dc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     do {
                                             | label_14:
    0x0044f7e0 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x0044f7e4 addiu t8, zero, 1             |         t8 = 1;
    0x0044f7e8 sw t8, (s5)                   |         *(s5) = t8;
    0x0044f7ec move a0, s6                   |         a0 = s6;
    0x0044f7f0 jalr t9                       |         t9 ();
    0x0044f7f4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f7f8 lw t9, -0x7ef0(gp)            |         t9 = sym.ssl_excert_free;
    0x0044f7fc move a0, s0                   |         a0 = s0;
    0x0044f800 jalr t9                       |         t9 ();
    0x0044f804 addiu v0, zero, 1             |         v0 = 1;
    0x0044f808 sw zero, (s3)                 |         *(s3) = 0;
    0x0044f80c b 0x44f5a8                    |         goto label_2;
                                             | label_11:
    0x0044f810 sw s7, 0x10(s0)               |         *((s0 + 4)) = s7;
    0x0044f814 move t8, s0                   |         t8 = s0;
    0x0044f818 addiu v1, zero, 8             |         v1 = 8;
    0x0044f81c addiu a0, zero, 2             |         a0 = 2;
    0x0044f820 b 0x44f584                    |         goto label_0;
                                             | label_13:
    0x0044f824 move v0, zero                 |         v0 = 0;
    0x0044f828 b 0x44f5a8                    |         goto label_2;
                                             | label_12:
    0x0044f82c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044f830 move a0, s6                   |         a0 = s6;
    0x0044f834 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.Error_initialising_xcert_n */
    0x0044f838 addiu a1, a1, -0x3a14         |         a1 += -0x3a14;
    0x0044f83c jalr t9                       |         t9 ();
    0x0044f840 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f844 b 0x44f7e0                    |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44fc80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.args_ssl ()                  | void args_ssl () {
    0x0044fc80 lui gp, 5                     |     
    0x0044fc84 addiu gp, gp, -0x37e0         |     
    0x0044fc88 addu gp, gp, t9               |     gp += t9;
    0x0044fc8c addiu sp, sp, -0x38           |     
    0x0044fc90 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0044fc94 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0044fc98 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0044fc9c sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0044fca0 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0044fca4 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044fca8 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0044fcac move s3, a1                   |     s3 = a1;
    0x0044fcb0 lw t8, (a0)                   |     t8 = *(a0);
    0x0044fcb4 move s1, a0                   |     s1 = a0;
    0x0044fcb8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fcbc move s4, a2                   |     s4 = a2;
    0x0044fcc0 lw s0, (t8)                   |     s0 = *(t8);
    0x0044fcc4 move s5, a3                   |     s5 = a3;
    0x0044fcc8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._no_ssl2 */
    0x0044fccc addiu a1, a1, -0x3958         |     a1 += -0x3958;
    0x0044fcd0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044fcd4 move a0, s0                   |     a0 = s0;
    0x0044fcd8 lw s2, 4(t8)                  |     s2 = *((t8 + 1));
    0x0044fcdc jalr t9                       |     t9 ();
    0x0044fce0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044fce4 beqz v0, 0x44fd04             |         goto label_0;
                                             |     }
    0x0044fce8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fcec move a0, s0                   |     a0 = s0;
    0x0044fcf0 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._no_ssl3 */
    0x0044fcf4 addiu a1, a1, -0x394c         |     a1 += -0x394c;
    0x0044fcf8 jalr t9                       |     t9 ();
    0x0044fcfc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fd00 bnez v0, 0x44fdac             |     
                                             |     while (v0 == 0) {
                                             | label_0:
    0x0044fd04 lw t8, 0x50(sp)               |         t8 = *(arg_50h);
                                             | label_2:
    0x0044fd08 addiu v0, zero, 1             |         v0 = 1;
    0x0044fd0c sw v0, (t8)                   |         *(t8) = v0;
                                             | label_1:
    0x0044fd10 lw t9, -0x6ec0(gp)            |         t9 = sym.imp.SSL_CONF_cmd_argv;
    0x0044fd14 move a0, s4                   |         a0 = s4;
    0x0044fd18 move a1, s3                   |         a1 = s3;
    0x0044fd1c move a2, s1                   |         a2 = s1;
    0x0044fd20 jalr t9                       |         t9 ();
    0x0044fd24 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044fd28 beqz v0, 0x44fe08             |             goto label_8;
                                             |         }
    0x0044fd2c addiu t8, zero, -3            |         t8 = -3;
    0x0044fd30 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             |         if (v0 == t8) {
    0x0044fd34 beq v0, t8, 0x44feb8          |             goto label_9;
                                             |         }
    0x0044fd38 lw t8, 0x4c(sp)               |         t8 = *(arg_4ch);
                                             |         if (v0 < 0) {
    0x0044fd3c bltz v0, 0x44fe30             |             goto label_10;
                                             |         }
    0x0044fd40 xori v0, v0, 1                |         v0 ^= 1;
    0x0044fd44 lw a0, (t8)                   |         a0 = *(t8);
                                             |         if (v0 != 0) {
    0x0044fd48 movz s2, zero, v0             |             s2 = 0;
                                             |         }
                                             |         if (a0 == 0) {
    0x0044fd4c beqz a0, 0x44fedc             |             goto label_11;
                                             |         }
                                             | label_6:
    0x0044fd50 lw t9, -0x75c4(gp)            |         t9 = sym.imp.sk_push;
    0x0044fd54 move a1, s0                   |         a1 = s0;
    0x0044fd58 jalr t9                       |         t9 ();
    0x0044fd5c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044fd60 bnez v0, 0x44fe94             |             goto label_12;
                                             |         }
                                             | label_3:
    0x0044fd64 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0044fd68 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
    0x0044fd6c lw a0, 0x48(sp)               |         a0 = *(arg_48h);
                                             |         /* str.Memory_allocation_failure_n */
    0x0044fd70 addiu a1, a1, -0x3290         |         a1 += -0x3290;
    0x0044fd74 jalr t9                       |         t9 ();
    0x0044fd78 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044fd7c lw t8, (s5)                   |         t8 = *(s5);
                                             | label_4:
    0x0044fd80 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (t8 != 0) {
    0x0044fd84 bnez t8, 0x44fe60             |             goto label_5;
                                             |         }
    0x0044fd88 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x0044fd8c lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0044fd90 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x0044fd94 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044fd98 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0044fd9c lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0044fda0 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0044fda4 addiu sp, sp, 0x38            |         
    0x0044fda8 jr ra                         |         return v0;
    0x0044fdac lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044fdb0 move a0, s0                   |         a0 = s0;
    0x0044fdb4 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._no_tls1 */
    0x0044fdb8 addiu a1, a1, -0x3940         |         a1 += -0x3940;
    0x0044fdbc jalr t9                       |         t9 ();
    0x0044fdc0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044fdc4 beqz v0, 0x44fd04             |         
                                             |     }
    0x0044fdc8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fdcc move a0, s0                   |     a0 = s0;
    0x0044fdd0 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._no_tls1_1 */
    0x0044fdd4 addiu a1, a1, -0x3934         |     a1 += -0x3934;
    0x0044fdd8 jalr t9                       |     t9 ();
    0x0044fddc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044fde0 beqz v0, 0x44fd04             |         goto label_0;
                                             |     }
    0x0044fde4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fde8 move a0, s0                   |     a0 = s0;
    0x0044fdec lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._no_tls1_2 */
    0x0044fdf0 addiu a1, a1, -0x3928         |     a1 += -0x3928;
    0x0044fdf4 jalr t9                       |     t9 ();
    0x0044fdf8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044fdfc bnez v0, 0x44fd10             |         goto label_1;
                                             |     }
    0x0044fe00 lw t8, 0x50(sp)               |     t8 = *(arg_50h);
    0x0044fe04 b 0x44fd08                    |     goto label_2;
                                             | label_8:
    0x0044fe08 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0044fe0c move v0, zero                 |     v0 = 0;
    0x0044fe10 lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x0044fe14 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x0044fe18 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0044fe1c lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0044fe20 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0044fe24 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0044fe28 addiu sp, sp, 0x38            |     
    0x0044fe2c jr ra                         |     return v0;
                                             | label_10:
    0x0044fe30 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     if (s2 == 0) {
    0x0044fe34 beqz s2, 0x44ff00             |         goto label_13;
                                             |     }
    0x0044fe38 move a3, s2                   |     a3 = s2;
                                             | label_7:
    0x0044fe3c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fe40 move a2, s0                   |     a2 = s0;
    0x0044fe44 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044fe48 lw a0, 0x48(sp)               |     a0 = *(arg_48h);
                                             |     /* str.Error_with_command:___s__s__n */
    0x0044fe4c addiu a1, a1, -0x3904         |     a1 += -0x3904;
    0x0044fe50 jalr t9                       |     t9 ();
    0x0044fe54 addiu t8, zero, 1             |     t8 = 1;
    0x0044fe58 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fe5c sw t8, (s5)                   |     *(s5) = t8;
                                             | label_5:
    0x0044fe60 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0044fe64 lw a0, 0x48(sp)               |     a0 = *(arg_48h);
    0x0044fe68 jalr t9                       |     t9 ();
    0x0044fe6c addiu v0, zero, 1             |     v0 = 1;
    0x0044fe70 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0044fe74 lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x0044fe78 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x0044fe7c lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0044fe80 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0044fe84 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0044fe88 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0044fe8c addiu sp, sp, 0x38            |     
    0x0044fe90 jr ra                         |     return v0;
                                             | label_12:
    0x0044fe94 lw v0, 0x4c(sp)               |     v0 = *(arg_4ch);
    0x0044fe98 move a1, s2                   |     a1 = s2;
    0x0044fe9c lw t9, -0x75c4(gp)            |     t9 = sym.imp.sk_push;
    0x0044fea0 lw a0, (v0)                   |     a0 = *(v0);
    0x0044fea4 jalr t9                       |     t9 ();
    0x0044fea8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044feac beqz v0, 0x44fd64             |         goto label_3;
                                             |     }
    0x0044feb0 lw t8, (s5)                   |     t8 = *(s5);
    0x0044feb4 b 0x44fd80                    |     goto label_4;
                                             | label_9:
    0x0044feb8 move a2, s0                   |     a2 = s0;
    0x0044febc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044fec0 lw a0, 0x48(sp)               |     a0 = *(arg_48h);
                                             |     /* str._s_needs_an_argument_n */
    0x0044fec4 addiu a1, a1, -0x391c         |     a1 += -0x391c;
    0x0044fec8 jalr t9                       |     t9 ();
    0x0044fecc addiu t8, zero, 1             |     t8 = 1;
    0x0044fed0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fed4 sw t8, (s5)                   |     *(s5) = t8;
    0x0044fed8 b 0x44fe60                    |     goto label_5;
                                             | label_11:
    0x0044fedc lw t9, -0x7830(gp)            |     t9 = sym.imp.sk_new_null;
    0x0044fee0 jalr t9                       |     t9 ();
    0x0044fee4 nop                           |     
    0x0044fee8 lw t8, 0x4c(sp)               |     t8 = *(arg_4ch);
    0x0044feec lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fef0 sw v0, (t8)                   |     *(t8) = v0;
                                             |     if (v0 == 0) {
    0x0044fef4 beqz v0, 0x44fd64             |         goto label_3;
                                             |     }
    0x0044fef8 move a0, v0                   |     a0 = v0;
    0x0044fefc b 0x44fd50                    |     goto label_6;
                                             | label_13:
    0x0044ff00 addiu a3, a3, 0x3b3c          |     a3 += 0x3b3c;
    0x0044ff04 b 0x44fe3c                    |     goto label_7;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ff08 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.args_ssl_call ()             | void args_ssl_call () {
    0x0044ff08 lui gp, 5                     |     
    0x0044ff0c addiu gp, gp, -0x3a68         |     
    0x0044ff10 addu gp, gp, t9               |     gp += t9;
    0x0044ff14 addiu sp, sp, -0x40           |     
    0x0044ff18 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0044ff1c sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x0044ff20 sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x0044ff24 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0044ff28 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0044ff2c sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0044ff30 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0044ff34 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044ff38 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0044ff3c move t8, a0                   |     t8 = a0;
    0x0044ff40 lw t9, -0x6c24(gp)            |     t9 = sym.imp.SSL_CONF_CTX_set_ssl_ctx;
    0x0044ff44 move s6, a1                   |     s6 = a1;
    0x0044ff48 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044ff4c move a0, a2                   |     a0 = a2;
    0x0044ff50 move a1, t8                   |     a1 = t8;
    0x0044ff54 lw s3, 0x50(sp)               |     s3 = *(arg_50h);
    0x0044ff58 move s4, a2                   |     s4 = a2;
    0x0044ff5c move s0, zero                 |     s0 = 0;
    0x0044ff60 move s1, a3                   |     s1 = a3;
    0x0044ff64 jalr t9                       |     t9 ();
    0x0044ff68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ff6c lw s5, -0x7f9c(gp)            |     s5 = *(gp);
                                             |     /* str._named_curve */
    0x0044ff70 addiu s5, s5, -0x38e4         |     s5 += -0x38e4;
    0x0044ff74 b 0x44ffe0                    |     
                                             |     while (v0 != 0) {
    0x0044ff78 jalr t9                       |         t9 ();
    0x0044ff7c nop                           |         
    0x0044ff80 addiu a1, s0, 1               |         a1 = s0 + 1;
    0x0044ff84 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ff88 move a0, s1                   |         a0 = s1;
    0x0044ff8c move s2, v0                   |         s2 = v0;
    0x0044ff90 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x0044ff94 addiu s0, s0, 2               |         s0 += 2;
    0x0044ff98 jalr t9                       |         t9 ();
    0x0044ff9c move a0, s2                   |         a0 = s2;
    0x0044ffa0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ffa4 move a1, s5                   |         a1 = s5;
    0x0044ffa8 move s7, v0                   |         s7 = v0;
    0x0044ffac lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         if (s3 == 0) {
    0x0044ffb0 bnez s3, 0x44ffc4             |             
    0x0044ffb4 jalr t9                       |             t9 ();
    0x0044ffb8 nop                           |             
    0x0044ffbc lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x0044ffc0 sltiu s3, v0, 1               |             s3 = (v0 < 1) ? 1 : 0;
                                             |         }
    0x0044ffc4 lw t9, -0x6e80(gp)            |         t9 = sym.imp.SSL_CONF_cmd;
    0x0044ffc8 move a0, s4                   |         a0 = s4;
    0x0044ffcc move a1, s2                   |         a1 = s2;
    0x0044ffd0 move a2, s7                   |         a2 = s7;
    0x0044ffd4 jalr t9                       |         t9 ();
    0x0044ffd8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 <= 0) {
    0x0044ffdc blez v0, 0x450094             |             goto label_0;
                                             |         }
    0x0044ffe0 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x0044ffe4 move a0, s1                   |         a0 = s1;
    0x0044ffe8 jalr t9                       |         t9 ();
    0x0044ffec move a1, s0                   |         a1 = s0;
    0x0044fff0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044fff4 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x0044fff8 move a0, s1                   |         a0 = s1;
    0x0044fffc lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x00450000 bnez v0, 0x44ff78             |         
                                             |     }
    0x00450004 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00450008 beqz s3, 0x450058             |     
                                             |     while (v0 > 0) {
    0x0045000c lw t9, -0x7260(gp)            |         t9 = sym.imp.SSL_CONF_CTX_finish;
    0x00450010 move a0, s4                   |         a0 = s4;
    0x00450014 jalr t9                       |         t9 ();
    0x00450018 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0045001c move s0, v0                   |         s0 = v0;
                                             |         if (v0 == 0) {
    0x00450020 beqz v0, 0x4500f8             |             goto label_1;
                                             |         }
    0x00450024 addiu s0, zero, 1             |         s0 = 1;
    0x00450028 move v0, s0                   |         v0 = s0;
    0x0045002c lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x00450030 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x00450034 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x00450038 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0045003c lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x00450040 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x00450044 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x00450048 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0045004c lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00450050 addiu sp, sp, 0x40            |         
    0x00450054 jr ra                         |         return v0;
    0x00450058 move a0, s4                   |         a0 = s4;
    0x0045005c lw a2, -0x7f9c(gp)            |         a2 = *(gp);
    0x00450060 lw t9, -0x6e80(gp)            |         t9 = sym.imp.SSL_CONF_cmd;
                                             |         /* str._named_curve */
    0x00450064 addiu a1, a1, -0x38e4         |         a1 += -0x38e4;
                                             |         /* str.P_256 */
    0x00450068 addiu a2, a2, -0x38d4         |         a2 += -0x38d4;
    0x0045006c jalr t9                       |         t9 ();
    0x00450070 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00450074 bgtz v0, 0x45000c             |         
                                             |     }
    0x00450078 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0045007c move a0, s6                   |     a0 = s6;
    0x00450080 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Error_setting_EC_curve_n */
    0x00450084 addiu a1, a1, -0x38cc         |     a1 += -0x38cc;
    0x00450088 jalr t9                       |     t9 ();
    0x0045008c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00450090 b 0x4500b8                    |     goto label_2;
                                             | label_0:
    0x00450094 move a3, s7                   |     a3 = s7;
    0x00450098 beqz s7, 0x45014c             |     
                                             |     while (1) {
    0x0045009c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x004500a0 move a0, s6                   |         a0 = s6;
    0x004500a4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x004500a8 move a2, s2                   |         a2 = s2;
                                             |         /* str.Error_with_command:___s__s__n */
    0x004500ac addiu a1, a1, -0x3904         |         a1 += -0x3904;
    0x004500b0 jalr t9                       |         t9 ();
    0x004500b4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_2:
    0x004500b8 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x004500bc move a0, s6                   |         a0 = s6;
    0x004500c0 move s0, zero                 |         s0 = 0;
    0x004500c4 jalr t9                       |         t9 ();
    0x004500c8 move v0, s0                   |         v0 = s0;
    0x004500cc lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x004500d0 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x004500d4 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x004500d8 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x004500dc lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x004500e0 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x004500e4 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x004500e8 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x004500ec lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x004500f0 addiu sp, sp, 0x40            |         
    0x004500f4 jr ra                         |         return v0;
                                             | label_1:
    0x004500f8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x004500fc move a0, s6                   |         a0 = s6;
    0x00450100 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         /* str.Error_finishing_context_n */
    0x00450104 addiu a1, a1, -0x38b4         |         a1 += -0x38b4;
    0x00450108 jalr t9                       |         t9 ();
    0x0045010c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00450110 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00450114 move a0, s6                   |         a0 = s6;
    0x00450118 jalr t9                       |         t9 ();
    0x0045011c move v0, s0                   |         v0 = s0;
    0x00450120 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x00450124 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x00450128 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x0045012c lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x00450130 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x00450134 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x00450138 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0045013c lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00450140 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00450144 addiu sp, sp, 0x40            |         
    0x00450148 jr ra                         |         return v0;
    0x0045014c lw a3, -0x7fd8(gp)            |         a3 = *(gp);
    0x00450150 addiu a3, a3, 0x3b3c          |         a3 += 0x3b3c;
    0x00450154 b 0x45009c                    |         
                                             |     }
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ff08 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.args_ssl_call ()             | void args_ssl_call () {
    0x0044ff08 lui gp, 5                     |     
    0x0044ff0c addiu gp, gp, -0x3a68         |     
    0x0044ff10 addu gp, gp, t9               |     gp += t9;
    0x0044ff14 addiu sp, sp, -0x40           |     
    0x0044ff18 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0044ff1c sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x0044ff20 sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x0044ff24 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0044ff28 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0044ff2c sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0044ff30 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0044ff34 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044ff38 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0044ff3c move t8, a0                   |     t8 = a0;
    0x0044ff40 lw t9, -0x6c24(gp)            |     t9 = sym.imp.SSL_CONF_CTX_set_ssl_ctx;
    0x0044ff44 move s6, a1                   |     s6 = a1;
    0x0044ff48 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044ff4c move a0, a2                   |     a0 = a2;
    0x0044ff50 move a1, t8                   |     a1 = t8;
    0x0044ff54 lw s3, 0x50(sp)               |     s3 = *(arg_50h);
    0x0044ff58 move s4, a2                   |     s4 = a2;
    0x0044ff5c move s0, zero                 |     s0 = 0;
    0x0044ff60 move s1, a3                   |     s1 = a3;
    0x0044ff64 jalr t9                       |     t9 ();
    0x0044ff68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ff6c lw s5, -0x7f9c(gp)            |     s5 = *(gp);
                                             |     /* str._named_curve */
    0x0044ff70 addiu s5, s5, -0x38e4         |     s5 += -0x38e4;
    0x0044ff74 b 0x44ffe0                    |     
                                             |     while (v0 != 0) {
    0x0044ff78 jalr t9                       |         t9 ();
    0x0044ff7c nop                           |         
    0x0044ff80 addiu a1, s0, 1               |         a1 = s0 + 1;
    0x0044ff84 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ff88 move a0, s1                   |         a0 = s1;
    0x0044ff8c move s2, v0                   |         s2 = v0;
    0x0044ff90 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x0044ff94 addiu s0, s0, 2               |         s0 += 2;
    0x0044ff98 jalr t9                       |         t9 ();
    0x0044ff9c move a0, s2                   |         a0 = s2;
    0x0044ffa0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ffa4 move a1, s5                   |         a1 = s5;
    0x0044ffa8 move s7, v0                   |         s7 = v0;
    0x0044ffac lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         if (s3 == 0) {
    0x0044ffb0 bnez s3, 0x44ffc4             |             
    0x0044ffb4 jalr t9                       |             t9 ();
    0x0044ffb8 nop                           |             
    0x0044ffbc lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x0044ffc0 sltiu s3, v0, 1               |             s3 = (v0 < 1) ? 1 : 0;
                                             |         }
    0x0044ffc4 lw t9, -0x6e80(gp)            |         t9 = sym.imp.SSL_CONF_cmd;
    0x0044ffc8 move a0, s4                   |         a0 = s4;
    0x0044ffcc move a1, s2                   |         a1 = s2;
    0x0044ffd0 move a2, s7                   |         a2 = s7;
    0x0044ffd4 jalr t9                       |         t9 ();
    0x0044ffd8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 <= 0) {
    0x0044ffdc blez v0, 0x450094             |             goto label_0;
                                             |         }
    0x0044ffe0 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x0044ffe4 move a0, s1                   |         a0 = s1;
    0x0044ffe8 jalr t9                       |         t9 ();
    0x0044ffec move a1, s0                   |         a1 = s0;
    0x0044fff0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044fff4 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x0044fff8 move a0, s1                   |         a0 = s1;
    0x0044fffc lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x00450000 bnez v0, 0x44ff78             |         
                                             |     }
    0x00450004 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00450008 beqz s3, 0x450058             |     
                                             |     while (v0 > 0) {
    0x0045000c lw t9, -0x7260(gp)            |         t9 = sym.imp.SSL_CONF_CTX_finish;
    0x00450010 move a0, s4                   |         a0 = s4;
    0x00450014 jalr t9                       |         t9 ();
    0x00450018 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0045001c move s0, v0                   |         s0 = v0;
                                             |         if (v0 == 0) {
    0x00450020 beqz v0, 0x4500f8             |             goto label_1;
                                             |         }
    0x00450024 addiu s0, zero, 1             |         s0 = 1;
    0x00450028 move v0, s0                   |         v0 = s0;
    0x0045002c lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x00450030 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x00450034 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x00450038 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0045003c lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x00450040 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x00450044 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x00450048 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0045004c lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00450050 addiu sp, sp, 0x40            |         
    0x00450054 jr ra                         |         return v0;
    0x00450058 move a0, s4                   |         a0 = s4;
    0x0045005c lw a2, -0x7f9c(gp)            |         a2 = *(gp);
    0x00450060 lw t9, -0x6e80(gp)            |         t9 = sym.imp.SSL_CONF_cmd;
                                             |         /* str._named_curve */
    0x00450064 addiu a1, a1, -0x38e4         |         a1 += -0x38e4;
                                             |         /* str.P_256 */
    0x00450068 addiu a2, a2, -0x38d4         |         a2 += -0x38d4;
    0x0045006c jalr t9                       |         t9 ();
    0x00450070 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00450074 bgtz v0, 0x45000c             |         
                                             |     }
    0x00450078 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0045007c move a0, s6                   |     a0 = s6;
    0x00450080 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Error_setting_EC_curve_n */
    0x00450084 addiu a1, a1, -0x38cc         |     a1 += -0x38cc;
    0x00450088 jalr t9                       |     t9 ();
    0x0045008c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00450090 b 0x4500b8                    |     goto label_2;
                                             | label_0:
    0x00450094 move a3, s7                   |     a3 = s7;
    0x00450098 beqz s7, 0x45014c             |     
                                             |     while (1) {
    0x0045009c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x004500a0 move a0, s6                   |         a0 = s6;
    0x004500a4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x004500a8 move a2, s2                   |         a2 = s2;
                                             |         /* str.Error_with_command:___s__s__n */
    0x004500ac addiu a1, a1, -0x3904         |         a1 += -0x3904;
    0x004500b0 jalr t9                       |         t9 ();
    0x004500b4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_2:
    0x004500b8 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x004500bc move a0, s6                   |         a0 = s6;
    0x004500c0 move s0, zero                 |         s0 = 0;
    0x004500c4 jalr t9                       |         t9 ();
    0x004500c8 move v0, s0                   |         v0 = s0;
    0x004500cc lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x004500d0 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x004500d4 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x004500d8 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x004500dc lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x004500e0 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x004500e4 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x004500e8 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x004500ec lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x004500f0 addiu sp, sp, 0x40            |         
    0x004500f4 jr ra                         |         return v0;
                                             | label_1:
    0x004500f8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x004500fc move a0, s6                   |         a0 = s6;
    0x00450100 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         /* str.Error_finishing_context_n */
    0x00450104 addiu a1, a1, -0x38b4         |         a1 += -0x38b4;
    0x00450108 jalr t9                       |         t9 ();
    0x0045010c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00450110 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00450114 move a0, s6                   |         a0 = s6;
    0x00450118 jalr t9                       |         t9 ();
    0x0045011c move v0, s0                   |         v0 = s0;
    0x00450120 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x00450124 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x00450128 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x0045012c lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x00450130 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x00450134 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x00450138 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0045013c lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00450140 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00450144 addiu sp, sp, 0x40            |         
    0x00450148 jr ra                         |         return v0;
    0x0045014c lw a3, -0x7fd8(gp)            |         a3 = *(gp);
    0x00450150 addiu a3, a3, 0x3b3c          |         a3 += 0x3b3c;
    0x00450154 b 0x45009c                    |         
                                             |     }
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44b34c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.args_verify ()               | void args_verify () {
    0x0044b34c lui gp, 5                     |     
    0x0044b350 addiu gp, gp, 0x1154          |     
    0x0044b354 addu gp, gp, t9               |     gp += t9;
    0x0044b358 addiu sp, sp, -0x58           |     
    0x0044b35c sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0044b360 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x0044b364 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x0044b368 sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x0044b36c sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x0044b370 sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x0044b374 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x0044b378 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x0044b37c sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x0044b380 sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x0044b384 move s4, a1                   |     s4 = a1;
    0x0044b388 lw s2, (a0)                   |     s2 = *(a0);
    0x0044b38c move s0, a0                   |     s0 = a0;
    0x0044b390 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044b394 move s6, a2                   |     s6 = a2;
    0x0044b398 lw s5, (s2)                   |     s5 = *(s2);
    0x0044b39c move s7, a3                   |     s7 = a3;
    0x0044b3a0 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._policy */
    0x0044b3a4 addiu a1, a1, 0x96c           |     a1 += 0x96c;
    0x0044b3a8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044b3ac move a0, s5                   |     a0 = s5;
    0x0044b3b0 lw s3, 0x68(sp)               |     s3 = *(arg_68h);
    0x0044b3b4 lw s1, 4(s2)                  |     s1 = *((s2 + 1));
    0x0044b3b8 jalr t9                       |     t9 ();
    0x0044b3bc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044b3c0 bnez v0, 0x44b484             |         goto label_19;
                                             |     }
    0x0044b3c4 lw t9, -0x7ca4(gp)            |     t9 = sym.imp.OBJ_txt2obj;
                                             |     if (s1 == 0) {
    0x0044b3c8 beqz s1, 0x44b698             |         goto label_20;
                                             |     }
    0x0044b3cc move a0, s1                   |     a0 = s1;
    0x0044b3d0 move a1, zero                 |     a1 = 0;
    0x0044b3d4 jalr t9                       |     t9 ();
    0x0044b3d8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044b3dc move t8, v0                   |     t8 = v0;
                                             |     if (v0 == 0) {
    0x0044b3e0 beqz v0, 0x44b8b4             |         goto label_21;
                                             |     }
    0x0044b3e4 lw v0, (s0)                   |     v0 = *(s0);
    0x0044b3e8 lw v1, (s6)                   |     v1 = *(s6);
                                             | label_5:
    0x0044b3ec addiu v0, v0, 4               |     v0 += 4;
    0x0044b3f0 move s5, zero                 |     s5 = 0;
    0x0044b3f4 sw v0, (s0)                   |     *(s0) = v0;
    0x0044b3f8 move s7, zero                 |     s7 = 0;
    0x0044b3fc move s1, zero                 |     s1 = 0;
    0x0044b400 move fp, zero                 |     fp = 0;
    0x0044b404 addiu a2, zero, -1            |     a2 = -1;
    0x0044b408 move t0, zero                 |     t0 = 0;
    0x0044b40c move a3, zero                 |     a3 = 0;
                                             | label_2:
    0x0044b410 lw a0, (s3)                   |     a0 = *(s3);
                                             |     if (v1 == 0) {
    0x0044b414 beqz v1, 0x44b510             |         goto label_22;
                                             |     }
                                             |     do {
    0x0044b418 lw t9, -0x7718(gp)            |         t9 = sym.imp.X509_VERIFY_PARAM_free;
                                             |         if (a0 != 0) {
    0x0044b41c beqz a0, 0x44b428             |             
    0x0044b420 jalr t9                       |             t9 ();
    0x0044b424 nop                           |             
                                             |         }
    0x0044b428 sw zero, (s3)                 |         *(s3) = 0;
                                             | label_0:
    0x0044b42c lw t8, (s0)                   |         t8 = *(s0);
    0x0044b430 addiu t8, t8, 4               |         t8 += 4;
    0x0044b434 sw t8, (s0)                   |         *(s0) = t8;
                                             |         if (s4 == 0) {
    0x0044b438 beqz s4, 0x44b5e4             |             goto label_23;
                                             |         }
                                             | label_1:
    0x0044b43c lw v1, (s4)                   |         v1 = *(s4);
    0x0044b440 subu t8, t8, s2               |         __asm ("subu t8, t8, s2");
    0x0044b444 sra t8, t8, 2                 |         t8 >>= 2;
    0x0044b448 addiu v0, zero, 1             |         v0 = 1;
    0x0044b44c subu t8, v1, t8               |         __asm ("subu t8, v1, t8");
    0x0044b450 sw t8, (s4)                   |         *(s4) = t8;
                                             | label_18:
    0x0044b454 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0044b458 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0044b45c lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0044b460 lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0044b464 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0044b468 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0044b46c lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0044b470 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0044b474 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0044b478 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0044b47c addiu sp, sp, 0x58            |         
    0x0044b480 jr ra                         |         return v0;
                                             | label_19:
    0x0044b484 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0044b488 move a0, s5                   |         a0 = s5;
    0x0044b48c lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._purpose */
    0x0044b490 addiu a1, a1, 0x4160          |         a1 += 0x4160;
    0x0044b494 jalr t9                       |         t9 ();
    0x0044b498 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044b49c bnez v0, 0x44b618             |             goto label_24;
                                             |         }
    0x0044b4a0 lw t9, -0x736c(gp)            |         t9 = sym.imp.X509_PURPOSE_get_by_sname;
                                             |         if (s1 == 0) {
    0x0044b4a4 beqz s1, 0x44b784             |             goto label_25;
                                             |         }
    0x0044b4a8 move a0, s1                   |         a0 = s1;
    0x0044b4ac jalr t9                       |         t9 ();
    0x0044b4b0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 < 0) {
    0x0044b4b4 bltz v0, 0x44b884             |             goto label_26;
                                             |         }
    0x0044b4b8 lw t9, -0x78a0(gp)            |         t9 = sym.imp.X509_PURPOSE_get0;
    0x0044b4bc move a0, v0                   |         a0 = v0;
    0x0044b4c0 jalr t9                       |         t9 ();
    0x0044b4c4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044b4c8 lw t9, -0x732c(gp)            |         t9 = sym.imp.X509_PURPOSE_get_id;
    0x0044b4cc move a0, v0                   |         a0 = v0;
    0x0044b4d0 jalr t9                       |         t9 ();
    0x0044b4d4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044b4d8 move t0, v0                   |         t0 = v0;
    0x0044b4dc lw t8, (s0)                   |         t8 = *(s0);
    0x0044b4e0 lw v1, (s6)                   |         v1 = *(s6);
                                             | label_9:
    0x0044b4e4 addiu t8, t8, 4               |         t8 += 4;
    0x0044b4e8 move s5, zero                 |         s5 = 0;
    0x0044b4ec sw t8, (s0)                   |         *(s0) = t8;
    0x0044b4f0 move s7, zero                 |         s7 = 0;
    0x0044b4f4 move s1, zero                 |         s1 = 0;
    0x0044b4f8 move fp, zero                 |         fp = 0;
    0x0044b4fc addiu a2, zero, -1            |         a2 = -1;
    0x0044b500 move a3, zero                 |         a3 = 0;
    0x0044b504 move t8, zero                 |         t8 = 0;
    0x0044b508 lw a0, (s3)                   |         a0 = *(s3);
    0x0044b50c bnez v1, 0x44b418             |         
                                             |     } while (v1 != 0);
                                             | label_22:
    0x0044b510 lw t9, -0x7160(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_new;
                                             |     if (a0 == 0) {
    0x0044b514 beqz a0, 0x44b7ec             |         goto label_27;
                                             |     }
                                             | label_10:
    0x0044b518 lw t9, -0x6db8(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_add0_policy;
                                             |     if (t8 != 0) {
    0x0044b51c beqz t8, 0x44b544             |         
    0x0044b520 move a1, t8                   |         a1 = t8;
    0x0044b524 sw a2, 0x2c(sp)               |         *(var_2ch) = a2;
    0x0044b528 sw a3, 0x24(sp)               |         *(var_24h) = a3;
    0x0044b52c sw t0, 0x28(sp)               |         *(var_28h) = t0;
    0x0044b530 jalr t9                       |         t9 ();
    0x0044b534 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044b538 lw t0, 0x28(sp)               |         t0 = *(var_28h);
    0x0044b53c lw a3, 0x24(sp)               |         a3 = *(var_24h);
    0x0044b540 lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
                                             |     }
    0x0044b544 lw t9, -0x7820(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set_flags;
                                             |     if (a3 != 0) {
    0x0044b548 bnez a3, 0x44b6e0             |         goto label_28;
                                             |     }
    0x0044b54c lw t9, -0x70c4(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set_purpose;
                                             |     if (t0 != 0) {
    0x0044b550 bnez t0, 0x44b6c4             |         goto label_8;
                                             |     }
                                             | label_7:
    0x0044b554 lw t9, -0x71c4(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set_depth;
                                             |     if (a2 >= 0) {
    0x0044b558 bltz a2, 0x44b56c             |         
    0x0044b55c move a1, a2                   |         a1 = a2;
    0x0044b560 lw a0, (s3)                   |         a0 = *(s3);
    0x0044b564 jalr t9                       |         t9 ();
    0x0044b568 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
    0x0044b56c lw t9, -0x7dcc(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set_time;
                                             |     if (fp != 0) {
    0x0044b570 bnez fp, 0x44b6b0             |         goto label_29;
                                             |     }
                                             | label_6:
    0x0044b574 lw t9, -0x6e18(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set1_host;
                                             |     if (s1 != 0) {
    0x0044b578 beqz s1, 0x44b594             |         
    0x0044b57c move a1, s1                   |         a1 = s1;
    0x0044b580 lw a0, (s3)                   |         a0 = *(s3);
    0x0044b584 move a2, zero                 |         a2 = 0;
    0x0044b588 jalr t9                       |         t9 ();
    0x0044b58c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044b590 beqz v0, 0x44b68c             |             goto label_30;
                                             |         }
                                             |     }
                                             | label_4:
    0x0044b594 lw t9, -0x7590(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set1_email;
                                             |     if (s7 != 0) {
    0x0044b598 beqz s7, 0x44b5b4             |         
    0x0044b59c move a1, s7                   |         a1 = s7;
    0x0044b5a0 lw a0, (s3)                   |         a0 = *(s3);
    0x0044b5a4 move a2, zero                 |         a2 = 0;
    0x0044b5a8 jalr t9                       |         t9 ();
    0x0044b5ac lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044b5b0 beqz v0, 0x44b680             |             goto label_31;
                                             |         }
                                             |     }
                                             | label_3:
    0x0044b5b4 lw t9, -0x7d80(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set1_ip_asc;
                                             |     if (s5 == 0) {
    0x0044b5b8 beqz s5, 0x44b42c             |         goto label_0;
                                             |     }
    0x0044b5bc move a1, s5                   |     a1 = s5;
    0x0044b5c0 lw a0, (s3)                   |     a0 = *(s3);
    0x0044b5c4 jalr t9                       |     t9 ();
    0x0044b5c8 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 != 0) {
    0x0044b5cc bnez v0, 0x44b42c             |         goto label_0;
                                             |     }
    0x0044b5d0 sw t8, (s6)                   |     *(s6) = t8;
                                             | label_11:
    0x0044b5d4 lw t8, (s0)                   |     t8 = *(s0);
    0x0044b5d8 addiu t8, t8, 4               |     t8 += 4;
    0x0044b5dc sw t8, (s0)                   |     *(s0) = t8;
                                             |     if (s4 != 0) {
    0x0044b5e0 bnez s4, 0x44b43c             |         goto label_1;
                                             |     }
                                             | label_23:
    0x0044b5e4 lw ra, 0x54(sp)               |     ra = *(var_54h);
    0x0044b5e8 addiu v0, zero, 1             |     v0 = 1;
    0x0044b5ec lw fp, 0x50(sp)               |     fp = *(var_50h);
    0x0044b5f0 lw s7, 0x4c(sp)               |     s7 = *(var_4ch);
    0x0044b5f4 lw s6, 0x48(sp)               |     s6 = *(var_48h);
    0x0044b5f8 lw s5, 0x44(sp)               |     s5 = *(var_44h);
    0x0044b5fc lw s4, 0x40(sp)               |     s4 = *(var_40h);
    0x0044b600 lw s3, 0x3c(sp)               |     s3 = *(var_3ch);
    0x0044b604 lw s2, 0x38(sp)               |     s2 = *(var_38h);
    0x0044b608 lw s1, 0x34(sp)               |     s1 = *(var_34h);
    0x0044b60c lw s0, 0x30(sp)               |     s0 = *(var_30h);
    0x0044b610 addiu sp, sp, 0x58            |     
    0x0044b614 jr ra                         |     return v0;
                                             | label_24:
    0x0044b618 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044b61c move a0, s5                   |     a0 = s5;
    0x0044b620 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._verify_depth */
    0x0044b624 addiu a1, a1, -0x4c38         |     a1 += -0x4c38;
    0x0044b628 jalr t9                       |     t9 ();
    0x0044b62c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044b630 bnez v0, 0x44b70c             |         goto label_32;
                                             |     }
    0x0044b634 lw t9, -0x7b18(gp)            |     t9 = sym.imp.atoi;
                                             |     if (s1 == 0) {
    0x0044b638 beqz s1, 0x44b918             |         goto label_33;
                                             |     }
    0x0044b63c move a0, s1                   |     a0 = s1;
    0x0044b640 jalr t9                       |     t9 ();
    0x0044b644 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044b648 move a2, v0                   |     a2 = v0;
                                             |     if (v0 < 0) {
    0x0044b64c bltz v0, 0x44b970             |         goto label_34;
                                             |     }
    0x0044b650 lw v1, (s6)                   |     v1 = *(s6);
    0x0044b654 move t8, s2                   |     t8 = s2;
                                             | label_15:
    0x0044b658 addiu t8, t8, 4               |     t8 += 4;
    0x0044b65c move s5, zero                 |     s5 = 0;
    0x0044b660 sw t8, (s0)                   |     *(s0) = t8;
    0x0044b664 move s7, zero                 |     s7 = 0;
    0x0044b668 move s1, zero                 |     s1 = 0;
    0x0044b66c move fp, zero                 |     fp = 0;
    0x0044b670 move t0, zero                 |     t0 = 0;
    0x0044b674 move a3, zero                 |     a3 = 0;
    0x0044b678 move t8, zero                 |     t8 = 0;
    0x0044b67c b 0x44b410                    |     goto label_2;
                                             | label_31:
    0x0044b680 addiu t8, zero, 1             |     t8 = 1;
    0x0044b684 sw t8, (s6)                   |     *(s6) = t8;
    0x0044b688 b 0x44b5b4                    |     goto label_3;
                                             | label_30:
    0x0044b68c addiu t8, zero, 1             |     t8 = 1;
    0x0044b690 sw t8, (s6)                   |     *(s6) = t8;
    0x0044b694 b 0x44b594                    |     goto label_4;
                                             | label_20:
    0x0044b698 addiu t8, zero, 1             |     t8 = 1;
    0x0044b69c move v0, s2                   |     v0 = s2;
    0x0044b6a0 sw t8, (s6)                   |     *(s6) = t8;
    0x0044b6a4 addiu v1, zero, 1             |     v1 = 1;
    0x0044b6a8 move t8, zero                 |     t8 = 0;
    0x0044b6ac b 0x44b3ec                    |     goto label_5;
                                             | label_29:
    0x0044b6b0 move a1, fp                   |     a1 = fp;
    0x0044b6b4 lw a0, (s3)                   |     a0 = *(s3);
    0x0044b6b8 jalr t9                       |     t9 ();
    0x0044b6bc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044b6c0 b 0x44b574                    |     goto label_6;
                                             | label_8:
    0x0044b6c4 move a1, t0                   |     a1 = t0;
    0x0044b6c8 lw a0, (s3)                   |     a0 = *(s3);
    0x0044b6cc sw a2, 0x2c(sp)               |     *(var_2ch) = a2;
    0x0044b6d0 jalr t9                       |     t9 ();
    0x0044b6d4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044b6d8 lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
    0x0044b6dc b 0x44b554                    |     goto label_7;
                                             | label_28:
    0x0044b6e0 move a1, a3                   |     a1 = a3;
    0x0044b6e4 lw a0, (s3)                   |     a0 = *(s3);
    0x0044b6e8 sw a2, 0x2c(sp)               |     *(var_2ch) = a2;
    0x0044b6ec sw t0, 0x28(sp)               |     *(var_28h) = t0;
    0x0044b6f0 jalr t9                       |     t9 ();
    0x0044b6f4 lw t0, 0x28(sp)               |     t0 = *(var_28h);
    0x0044b6f8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044b6fc lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
                                             |     if (t0 == 0) {
    0x0044b700 beqz t0, 0x44b554             |         goto label_7;
                                             |     }
    0x0044b704 lw t9, -0x70c4(gp)            |     t9 = sym.imp.X509_VERIFY_PARAM_set_purpose;
    0x0044b708 b 0x44b6c4                    |     goto label_8;
                                             | label_32:
    0x0044b70c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044b710 move a0, s5                   |     a0 = s5;
    0x0044b714 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._attime */
    0x0044b718 addiu a1, a1, -0x4c18         |     a1 += -0x4c18;
    0x0044b71c jalr t9                       |     t9 ();
    0x0044b720 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044b724 bnez v0, 0x44b79c             |         
    0x0044b728 lw t9, -0x6d80(gp)            |         t9 = sym.imp.sscanf;
                                             |         if (s1 == 0) {
    0x0044b72c beqz s1, 0x44b86c             |             goto label_35;
                                             |         }
    0x0044b730 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b734 move a0, s1                   |         a0 = s1;
    0x0044b738 addiu a2, sp, 0x18            |         a2 = sp + 0x18;
                                             |         /* esilref: '&li' */
    0x0044b73c addiu a1, a1, -0x4c10         |         a1 += -0x4c10;
    0x0044b740 addiu s5, zero, 1             |         s5 = 1;
    0x0044b744 jalr t9                       |         t9 ();
    0x0044b748 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != s5) {
    0x0044b74c bne v0, s5, 0x44b8ec          |             goto label_36;
                                             |         }
    0x0044b750 lw v1, (s6)                   |         v1 = *(s6);
                                             | label_14:
    0x0044b754 lw fp, 0x18(sp)               |         fp = *(var_18h);
    0x0044b758 lw t8, (s0)                   |         t8 = *(s0);
                                             | label_13:
    0x0044b75c addiu t8, t8, 4               |         t8 += 4;
    0x0044b760 move s5, zero                 |         s5 = 0;
    0x0044b764 sw t8, (s0)                   |         *(s0) = t8;
    0x0044b768 move s7, zero                 |         s7 = 0;
    0x0044b76c move s1, zero                 |         s1 = 0;
    0x0044b770 addiu a2, zero, -1            |         a2 = -1;
    0x0044b774 move t0, zero                 |         t0 = 0;
    0x0044b778 move a3, zero                 |         a3 = 0;
    0x0044b77c move t8, zero                 |         t8 = 0;
    0x0044b780 b 0x44b410                    |         goto label_2;
                                             | label_25:
    0x0044b784 addiu v0, zero, 1             |         v0 = 1;
    0x0044b788 move t8, s2                   |         t8 = s2;
    0x0044b78c sw v0, (s6)                   |         *(s6) = v0;
    0x0044b790 addiu v1, zero, 1             |         v1 = 1;
    0x0044b794 move t0, zero                 |         t0 = 0;
    0x0044b798 b 0x44b4e4                    |         goto label_9;
                                             |     }
    0x0044b79c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044b7a0 move a0, s5                   |     a0 = s5;
    0x0044b7a4 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._verify_hostname */
    0x0044b7a8 addiu a1, a1, -0x4bf0         |     a1 += -0x4bf0;
    0x0044b7ac jalr t9                       |     t9 ();
    0x0044b7b0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044b7b4 bnez v0, 0x44b82c             |         goto label_37;
                                             |     }
                                             |     if (s1 == 0) {
    0x0044b7b8 beqz s1, 0x44b9e8             |         goto label_38;
                                             |     }
    0x0044b7bc nop                           |     
    0x0044b7c0 lw v1, (s6)                   |     v1 = *(s6);
                                             | label_16:
    0x0044b7c4 addiu t8, s2, 4               |     t8 = s2 + 4;
    0x0044b7c8 move s5, zero                 |     s5 = 0;
    0x0044b7cc sw t8, (s0)                   |     *(s0) = t8;
    0x0044b7d0 move s7, zero                 |     s7 = 0;
                                             | label_12:
    0x0044b7d4 move fp, zero                 |     fp = 0;
    0x0044b7d8 addiu a2, zero, -1            |     a2 = -1;
    0x0044b7dc move t0, zero                 |     t0 = 0;
    0x0044b7e0 move a3, zero                 |     a3 = 0;
    0x0044b7e4 move t8, zero                 |     t8 = 0;
    0x0044b7e8 b 0x44b410                    |     goto label_2;
                                             | label_27:
    0x0044b7ec sw a2, 0x2c(sp)               |     *(var_2ch) = a2;
    0x0044b7f0 sw a3, 0x24(sp)               |     *(var_24h) = a3;
    0x0044b7f4 sw t0, 0x28(sp)               |     *(var_28h) = t0;
    0x0044b7f8 sw t8, 0x20(sp)               |     *(var_20h) = t8;
    0x0044b7fc jalr t9                       |     t9 ();
    0x0044b800 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044b804 move a0, v0                   |     a0 = v0;
    0x0044b808 sw v0, (s3)                   |     *(s3) = v0;
    0x0044b80c lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
    0x0044b810 lw a3, 0x24(sp)               |     a3 = *(var_24h);
    0x0044b814 lw t0, 0x28(sp)               |     t0 = *(var_28h);
    0x0044b818 lw t8, 0x20(sp)               |     t8 = *(var_20h);
                                             |     if (v0 != 0) {
    0x0044b81c bnez v0, 0x44b518             |         goto label_10;
                                             |     }
    0x0044b820 addiu t8, zero, 1             |     t8 = 1;
    0x0044b824 sw t8, (s6)                   |     *(s6) = t8;
    0x0044b828 b 0x44b5d4                    |     goto label_11;
                                             | label_37:
    0x0044b82c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044b830 move a0, s5                   |     a0 = s5;
    0x0044b834 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._verify_email */
    0x0044b838 addiu a1, a1, -0x4bdc         |     a1 += -0x4bdc;
    0x0044b83c jalr t9                       |     t9 ();
    0x0044b840 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044b844 bnez v0, 0x44b930             |         goto label_39;
                                             |     }
                                             |     if (s1 == 0) {
    0x0044b848 beqz s1, 0x44ba3c             |         goto label_40;
                                             |     }
    0x0044b84c nop                           |     
    0x0044b850 lw v1, (s6)                   |     v1 = *(s6);
                                             |     do {
    0x0044b854 addiu t8, s2, 4               |         t8 = s2 + 4;
    0x0044b858 move s7, s1                   |         s7 = s1;
    0x0044b85c sw t8, (s0)                   |         *(s0) = t8;
    0x0044b860 move s5, zero                 |         s5 = 0;
    0x0044b864 move s1, zero                 |         s1 = 0;
    0x0044b868 b 0x44b7d4                    |         goto label_12;
                                             | label_35:
    0x0044b86c addiu v0, zero, 1             |         v0 = 1;
    0x0044b870 move t8, s2                   |         t8 = s2;
    0x0044b874 sw v0, (s6)                   |         *(s6) = v0;
    0x0044b878 addiu v1, zero, 1             |         v1 = 1;
    0x0044b87c move fp, zero                 |         fp = 0;
    0x0044b880 b 0x44b75c                    |         goto label_13;
                                             | label_26:
    0x0044b884 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b888 move a0, s7                   |         a0 = s7;
    0x0044b88c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.unrecognized_purpose_n */
    0x0044b890 addiu a1, a1, -0x4c50         |         a1 += -0x4c50;
    0x0044b894 jalr t9                       |         t9 ();
    0x0044b898 addiu t8, zero, 1             |         t8 = 1;
    0x0044b89c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044b8a0 addiu v1, zero, 1             |         v1 = 1;
    0x0044b8a4 sw t8, (s6)                   |         *(s6) = t8;
    0x0044b8a8 move t0, zero                 |         t0 = 0;
    0x0044b8ac lw t8, (s0)                   |         t8 = *(s0);
    0x0044b8b0 b 0x44b4e4                    |         goto label_9;
                                             | label_21:
    0x0044b8b4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b8b8 move a0, s7                   |         a0 = s7;
    0x0044b8bc lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044b8c0 move a2, s1                   |         a2 = s1;
                                             |         /* str.Invalid_Policy___s__n */
    0x0044b8c4 addiu a1, a1, -0x4c68         |         a1 += -0x4c68;
    0x0044b8c8 sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x0044b8cc jalr t9                       |         t9 ();
    0x0044b8d0 addiu a0, zero, 1             |         a0 = 1;
    0x0044b8d4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044b8d8 addiu v1, zero, 1             |         v1 = 1;
    0x0044b8dc lw v0, (s0)                   |         v0 = *(s0);
    0x0044b8e0 sw a0, (s6)                   |         *(s6) = a0;
    0x0044b8e4 lw t8, 0x20(sp)               |         t8 = *(var_20h);
    0x0044b8e8 b 0x44b3ec                    |         goto label_5;
                                             | label_36:
    0x0044b8ec lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044b8f0 move a2, s1                   |         a2 = s1;
    0x0044b8f4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b8f8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044b8fc lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Error_parsing_timestamp__s_n */
    0x0044b900 addiu a1, a1, -0x4c0c         |         a1 += -0x4c0c;
    0x0044b904 jalr t9                       |         t9 ();
    0x0044b908 addiu v1, zero, 1             |         v1 = 1;
    0x0044b90c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044b910 sw s5, (s6)                   |         *(s6) = s5;
    0x0044b914 b 0x44b754                    |         goto label_14;
                                             | label_33:
    0x0044b918 addiu v0, zero, 1             |         v0 = 1;
    0x0044b91c move t8, s2                   |         t8 = s2;
    0x0044b920 sw v0, (s6)                   |         *(s6) = v0;
    0x0044b924 addiu v1, zero, 1             |         v1 = 1;
    0x0044b928 addiu a2, zero, -1            |         a2 = -1;
    0x0044b92c b 0x44b658                    |         goto label_15;
                                             | label_39:
    0x0044b930 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b934 move a0, s5                   |         a0 = s5;
    0x0044b938 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._verify_ip */
    0x0044b93c addiu a1, a1, -0x4bcc         |         a1 += -0x4bcc;
    0x0044b940 jalr t9                       |         t9 ();
    0x0044b944 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044b948 bnez v0, 0x44b9a4             |             
                                             |             if (s1 == 0) {
    0x0044b94c beqz s1, 0x44ba90             |                 goto label_41;
                                             |             }
    0x0044b950 nop                           |             
    0x0044b954 lw v1, (s6)                   |             v1 = *(s6);
                                             | label_17:
    0x0044b958 addiu t8, s2, 4               |             t8 = s2 + 4;
    0x0044b95c move s5, s1                   |             s5 = s1;
    0x0044b960 sw t8, (s0)                   |             *(s0) = t8;
    0x0044b964 move s7, zero                 |             s7 = 0;
    0x0044b968 move s1, zero                 |             s1 = 0;
    0x0044b96c b 0x44b7d4                    |             goto label_12;
                                             | label_34:
    0x0044b970 lw a1, -0x7f9c(gp)            |             a1 = *(gp);
    0x0044b974 move a0, s7                   |             a0 = s7;
    0x0044b978 lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
                                             |             /* str.invalid_depth_n */
    0x0044b97c addiu a1, a1, -0x4c28         |             a1 += -0x4c28;
    0x0044b980 sw v0, 0x2c(sp)               |             *(var_2ch) = v0;
    0x0044b984 jalr t9                       |             t9 ();
    0x0044b988 addiu v0, zero, 1             |             v0 = 1;
    0x0044b98c lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x0044b990 addiu v1, zero, 1             |             v1 = 1;
    0x0044b994 lw t8, (s0)                   |             t8 = *(s0);
    0x0044b998 sw v0, (s6)                   |             *(s6) = v0;
    0x0044b99c lw a2, 0x2c(sp)               |             a2 = *(var_2ch);
    0x0044b9a0 b 0x44b658                    |             goto label_15;
                                             |         }
    0x0044b9a4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b9a8 move a0, s5                   |         a0 = s5;
    0x0044b9ac lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._ignore_critical */
    0x0044b9b0 addiu a1, a1, -0x4bc0         |         a1 += -0x4bc0;
    0x0044b9b4 jalr t9                       |         t9 ();
    0x0044b9b8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044b9bc bnez v0, 0x44b9f8             |             
    0x0044b9c0 lw v1, (s6)                   |             v1 = *(s6);
    0x0044b9c4 move s5, zero                 |             s5 = 0;
    0x0044b9c8 move s7, zero                 |             s7 = 0;
    0x0044b9cc move s1, zero                 |             s1 = 0;
    0x0044b9d0 move fp, zero                 |             fp = 0;
    0x0044b9d4 addiu a2, zero, -1            |             a2 = -1;
    0x0044b9d8 move t0, zero                 |             t0 = 0;
    0x0044b9dc addiu a3, zero, 0x10          |             a3 = 0x10;
    0x0044b9e0 move t8, zero                 |             t8 = 0;
    0x0044b9e4 b 0x44b410                    |             goto label_2;
                                             | label_38:
    0x0044b9e8 addiu t8, zero, 1             |             t8 = 1;
    0x0044b9ec addiu v1, zero, 1             |             v1 = 1;
    0x0044b9f0 sw t8, (s6)                   |             *(s6) = t8;
    0x0044b9f4 b 0x44b7c4                    |             goto label_16;
                                             |         }
    0x0044b9f8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b9fc move a0, s5                   |         a0 = s5;
    0x0044ba00 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._issuer_checks */
    0x0044ba04 addiu a1, a1, -0x4bac         |         a1 += -0x4bac;
    0x0044ba08 jalr t9                       |         t9 ();
    0x0044ba0c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044ba10 bnez v0, 0x44ba4c             |             goto label_42;
                                             |         }
    0x0044ba14 lw v1, (s6)                   |         v1 = *(s6);
    0x0044ba18 move s5, zero                 |         s5 = 0;
    0x0044ba1c move s7, zero                 |         s7 = 0;
    0x0044ba20 move s1, zero                 |         s1 = 0;
    0x0044ba24 move fp, zero                 |         fp = 0;
    0x0044ba28 addiu a2, zero, -1            |         a2 = -1;
    0x0044ba2c move t0, zero                 |         t0 = 0;
    0x0044ba30 addiu a3, zero, 1             |         a3 = 1;
    0x0044ba34 move t8, zero                 |         t8 = 0;
    0x0044ba38 b 0x44b410                    |         goto label_2;
                                             | label_40:
    0x0044ba3c addiu t8, zero, 1             |         t8 = 1;
    0x0044ba40 addiu v1, zero, 1             |         v1 = 1;
    0x0044ba44 sw t8, (s6)                   |         *(s6) = t8;
    0x0044ba48 b 0x44b854                    |         
                                             |     } while (1);
                                             | label_42:
    0x0044ba4c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044ba50 move a0, s5                   |     a0 = s5;
    0x0044ba54 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._crl_check */
    0x0044ba58 addiu a1, a1, -0x4b9c         |     a1 += -0x4b9c;
    0x0044ba5c jalr t9                       |     t9 ();
    0x0044ba60 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044ba64 bnez v0, 0x44baa0             |         
    0x0044ba68 lw v1, (s6)                   |         v1 = *(s6);
    0x0044ba6c move s5, zero                 |         s5 = 0;
    0x0044ba70 move s7, zero                 |         s7 = 0;
    0x0044ba74 move s1, zero                 |         s1 = 0;
    0x0044ba78 move fp, zero                 |         fp = 0;
    0x0044ba7c addiu a2, zero, -1            |         a2 = -1;
    0x0044ba80 move t0, zero                 |         t0 = 0;
    0x0044ba84 addiu a3, zero, 4             |         a3 = 4;
    0x0044ba88 move t8, zero                 |         t8 = 0;
    0x0044ba8c b 0x44b410                    |         goto label_2;
                                             | label_41:
    0x0044ba90 addiu t8, zero, 1             |         t8 = 1;
    0x0044ba94 addiu v1, zero, 1             |         v1 = 1;
    0x0044ba98 sw t8, (s6)                   |         *(s6) = t8;
    0x0044ba9c b 0x44b958                    |         goto label_17;
                                             |     }
    0x0044baa0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044baa4 move a0, s5                   |     a0 = s5;
    0x0044baa8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._crl_check_all */
    0x0044baac addiu a1, a1, -0x4b90         |     a1 += -0x4b90;
    0x0044bab0 jalr t9                       |     t9 ();
    0x0044bab4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bab8 bnez v0, 0x44bae4             |         
    0x0044babc lw v1, (s6)                   |         v1 = *(s6);
    0x0044bac0 move s5, zero                 |         s5 = 0;
    0x0044bac4 move s7, zero                 |         s7 = 0;
    0x0044bac8 move s1, zero                 |         s1 = 0;
    0x0044bacc move fp, zero                 |         fp = 0;
    0x0044bad0 addiu a2, zero, -1            |         a2 = -1;
    0x0044bad4 move t0, zero                 |         t0 = 0;
    0x0044bad8 addiu a3, zero, 0xc           |         a3 = 0xc;
    0x0044badc move t8, zero                 |         t8 = 0;
    0x0044bae0 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bae4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bae8 move a0, s5                   |     a0 = s5;
    0x0044baec lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._policy_check */
    0x0044baf0 addiu a1, a1, -0x4b80         |     a1 += -0x4b80;
    0x0044baf4 jalr t9                       |     t9 ();
    0x0044baf8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044bafc beqz v0, 0x44bb44             |         
    0x0044bb00 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044bb04 move a0, s5                   |         a0 = s5;
    0x0044bb08 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._explicit_policy */
    0x0044bb0c addiu a1, a1, -0x4b70         |         a1 += -0x4b70;
    0x0044bb10 jalr t9                       |         t9 ();
    0x0044bb14 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044bb18 bnez v0, 0x44bb6c             |             goto label_43;
                                             |         }
    0x0044bb1c lw v1, (s6)                   |         v1 = *(s6);
    0x0044bb20 move s5, zero                 |         s5 = 0;
    0x0044bb24 move s7, zero                 |         s7 = 0;
    0x0044bb28 move s1, zero                 |         s1 = 0;
    0x0044bb2c move fp, zero                 |         fp = 0;
    0x0044bb30 addiu a2, zero, -1            |         a2 = -1;
    0x0044bb34 move t0, zero                 |         t0 = 0;
    0x0044bb38 addiu a3, zero, 0x100         |         a3 = 0x100;
    0x0044bb3c move t8, zero                 |         t8 = 0;
    0x0044bb40 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bb44 lw v1, (s6)                   |     v1 = *(s6);
    0x0044bb48 move s5, zero                 |     s5 = 0;
    0x0044bb4c move s7, zero                 |     s7 = 0;
    0x0044bb50 move s1, zero                 |     s1 = 0;
    0x0044bb54 move fp, zero                 |     fp = 0;
    0x0044bb58 addiu a2, zero, -1            |     a2 = -1;
    0x0044bb5c move t0, zero                 |     t0 = 0;
    0x0044bb60 addiu a3, zero, 0x80          |     a3 = 0x80;
    0x0044bb64 move t8, zero                 |     t8 = 0;
    0x0044bb68 b 0x44b410                    |     goto label_2;
                                             | label_43:
    0x0044bb6c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bb70 move a0, s5                   |     a0 = s5;
    0x0044bb74 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._inhibit_any */
    0x0044bb78 addiu a1, a1, -0x4b5c         |     a1 += -0x4b5c;
    0x0044bb7c jalr t9                       |     t9 ();
    0x0044bb80 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bb84 bnez v0, 0x44bbb0             |         
    0x0044bb88 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bb8c move s5, zero                 |         s5 = 0;
    0x0044bb90 move s7, zero                 |         s7 = 0;
    0x0044bb94 move s1, zero                 |         s1 = 0;
    0x0044bb98 move fp, zero                 |         fp = 0;
    0x0044bb9c addiu a2, zero, -1            |         a2 = -1;
    0x0044bba0 move t0, zero                 |         t0 = 0;
    0x0044bba4 addiu a3, zero, 0x200         |         a3 = 0x200;
    0x0044bba8 move t8, zero                 |         t8 = 0;
    0x0044bbac b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bbb0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bbb4 move a0, s5                   |     a0 = s5;
    0x0044bbb8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._inhibit_map */
    0x0044bbbc addiu a1, a1, -0x4b4c         |     a1 += -0x4b4c;
    0x0044bbc0 jalr t9                       |     t9 ();
    0x0044bbc4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044bbc8 beqz v0, 0x44bc10             |         
    0x0044bbcc lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044bbd0 move a0, s5                   |         a0 = s5;
    0x0044bbd4 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._x509_strict */
    0x0044bbd8 addiu a1, a1, -0x4b3c         |         a1 += -0x4b3c;
    0x0044bbdc jalr t9                       |         t9 ();
    0x0044bbe0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044bbe4 bnez v0, 0x44bc38             |             goto label_44;
                                             |         }
    0x0044bbe8 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bbec move s5, zero                 |         s5 = 0;
    0x0044bbf0 move s7, zero                 |         s7 = 0;
    0x0044bbf4 move s1, zero                 |         s1 = 0;
    0x0044bbf8 move fp, zero                 |         fp = 0;
    0x0044bbfc addiu a2, zero, -1            |         a2 = -1;
    0x0044bc00 move t0, zero                 |         t0 = 0;
    0x0044bc04 addiu a3, zero, 0x20          |         a3 = 0x20;
    0x0044bc08 move t8, zero                 |         t8 = 0;
    0x0044bc0c b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bc10 lw v1, (s6)                   |     v1 = *(s6);
    0x0044bc14 move s5, zero                 |     s5 = 0;
    0x0044bc18 move s7, zero                 |     s7 = 0;
    0x0044bc1c move s1, zero                 |     s1 = 0;
    0x0044bc20 move fp, zero                 |     fp = 0;
    0x0044bc24 addiu a2, zero, -1            |     a2 = -1;
    0x0044bc28 move t0, zero                 |     t0 = 0;
    0x0044bc2c addiu a3, zero, 0x400         |     a3 = 0x400;
    0x0044bc30 move t8, zero                 |     t8 = 0;
    0x0044bc34 b 0x44b410                    |     goto label_2;
                                             | label_44:
    0x0044bc38 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bc3c move a0, s5                   |     a0 = s5;
    0x0044bc40 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._extended_crl */
    0x0044bc44 addiu a1, a1, -0x4b2c         |     a1 += -0x4b2c;
    0x0044bc48 jalr t9                       |     t9 ();
    0x0044bc4c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bc50 bnez v0, 0x44bc7c             |         
    0x0044bc54 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bc58 move s5, zero                 |         s5 = 0;
    0x0044bc5c move s7, zero                 |         s7 = 0;
    0x0044bc60 move s1, zero                 |         s1 = 0;
    0x0044bc64 move fp, zero                 |         fp = 0;
    0x0044bc68 addiu a2, zero, -1            |         a2 = -1;
    0x0044bc6c move t0, zero                 |         t0 = 0;
    0x0044bc70 addiu a3, zero, 0x1000        |         a3 = 0x1000;
    0x0044bc74 move t8, zero                 |         t8 = 0;
    0x0044bc78 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bc7c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bc80 move a0, s5                   |     a0 = s5;
    0x0044bc84 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._use_deltas */
    0x0044bc88 addiu a1, a1, -0x4b1c         |     a1 += -0x4b1c;
    0x0044bc8c jalr t9                       |     t9 ();
    0x0044bc90 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bc94 bnez v0, 0x44bcc0             |         
    0x0044bc98 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bc9c move s5, zero                 |         s5 = 0;
    0x0044bca0 move s7, zero                 |         s7 = 0;
    0x0044bca4 move s1, zero                 |         s1 = 0;
    0x0044bca8 move fp, zero                 |         fp = 0;
    0x0044bcac addiu a2, zero, -1            |         a2 = -1;
    0x0044bcb0 move t0, zero                 |         t0 = 0;
    0x0044bcb4 addiu a3, zero, 0x2000        |         a3 = 0x2000;
    0x0044bcb8 move t8, zero                 |         t8 = 0;
    0x0044bcbc b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bcc0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bcc4 move a0, s5                   |     a0 = s5;
    0x0044bcc8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._policy_print */
    0x0044bccc addiu a1, a1, -0x4b10         |     a1 += -0x4b10;
    0x0044bcd0 jalr t9                       |     t9 ();
    0x0044bcd4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bcd8 bnez v0, 0x44bd04             |         
    0x0044bcdc lw v1, (s6)                   |         v1 = *(s6);
    0x0044bce0 move s5, zero                 |         s5 = 0;
    0x0044bce4 move s7, zero                 |         s7 = 0;
    0x0044bce8 move s1, zero                 |         s1 = 0;
    0x0044bcec move fp, zero                 |         fp = 0;
    0x0044bcf0 addiu a2, zero, -1            |         a2 = -1;
    0x0044bcf4 move t0, zero                 |         t0 = 0;
    0x0044bcf8 addiu a3, zero, 0x800         |         a3 = 0x800;
    0x0044bcfc move t8, zero                 |         t8 = 0;
    0x0044bd00 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bd04 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bd08 move a0, s5                   |     a0 = s5;
    0x0044bd0c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._check_ss_sig */
    0x0044bd10 addiu a1, a1, -0x4b00         |     a1 += -0x4b00;
    0x0044bd14 jalr t9                       |     t9 ();
    0x0044bd18 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bd1c bnez v0, 0x44bd48             |         
    0x0044bd20 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bd24 move s5, zero                 |         s5 = 0;
    0x0044bd28 move s7, zero                 |         s7 = 0;
    0x0044bd2c move s1, zero                 |         s1 = 0;
    0x0044bd30 move fp, zero                 |         fp = 0;
    0x0044bd34 addiu a2, zero, -1            |         a2 = -1;
    0x0044bd38 move t0, zero                 |         t0 = 0;
    0x0044bd3c addiu a3, zero, 0x4000        |         a3 = 0x4000;
    0x0044bd40 move t8, zero                 |         t8 = 0;
    0x0044bd44 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bd48 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bd4c move a0, s5                   |     a0 = s5;
    0x0044bd50 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._trusted_first */
    0x0044bd54 addiu a1, a1, -0x4af0         |     a1 += -0x4af0;
    0x0044bd58 jalr t9                       |     t9 ();
    0x0044bd5c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bd60 bnez v0, 0x44bd8c             |         
    0x0044bd64 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bd68 move s5, zero                 |         s5 = 0;
    0x0044bd6c move s7, zero                 |         s7 = 0;
    0x0044bd70 move s1, zero                 |         s1 = 0;
    0x0044bd74 move fp, zero                 |         fp = 0;
    0x0044bd78 addiu a2, zero, -1            |         a2 = -1;
    0x0044bd7c move t0, zero                 |         t0 = 0;
    0x0044bd80 ori a3, zero, 0x8000          |         a3 = 0x8000;
    0x0044bd84 move t8, zero                 |         t8 = 0;
    0x0044bd88 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bd8c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bd90 move a0, s5                   |     a0 = s5;
    0x0044bd94 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._suiteB_128_only */
    0x0044bd98 addiu a1, a1, -0x4ae0         |     a1 += -0x4ae0;
    0x0044bd9c jalr t9                       |     t9 ();
    0x0044bda0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bda4 bnez v0, 0x44bdd0             |         
    0x0044bda8 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bdac move s5, zero                 |         s5 = 0;
    0x0044bdb0 move s7, zero                 |         s7 = 0;
    0x0044bdb4 move s1, zero                 |         s1 = 0;
    0x0044bdb8 move fp, zero                 |         fp = 0;
    0x0044bdbc addiu a2, zero, -1            |         a2 = -1;
    0x0044bdc0 move t0, zero                 |         t0 = 0;
    0x0044bdc4 lui a3, 1                     |         a3 = 0x10000;
    0x0044bdc8 move t8, zero                 |         t8 = 0;
    0x0044bdcc b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bdd0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bdd4 move a0, s5                   |     a0 = s5;
    0x0044bdd8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._suiteB_128 */
    0x0044bddc addiu a1, a1, -0x4acc         |     a1 += -0x4acc;
    0x0044bde0 jalr t9                       |     t9 ();
    0x0044bde4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bde8 bnez v0, 0x44be14             |         
    0x0044bdec lw v1, (s6)                   |         v1 = *(s6);
    0x0044bdf0 move s5, zero                 |         s5 = 0;
    0x0044bdf4 move s7, zero                 |         s7 = 0;
    0x0044bdf8 move s1, zero                 |         s1 = 0;
    0x0044bdfc move fp, zero                 |         fp = 0;
    0x0044be00 addiu a2, zero, -1            |         a2 = -1;
    0x0044be04 move t0, zero                 |         t0 = 0;
    0x0044be08 lui a3, 3                     |         a3 = 0x30000;
    0x0044be0c move t8, zero                 |         t8 = 0;
    0x0044be10 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044be14 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044be18 move a0, s5                   |     a0 = s5;
    0x0044be1c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._suiteB_192 */
    0x0044be20 addiu a1, a1, -0x4ac0         |     a1 += -0x4ac0;
    0x0044be24 jalr t9                       |     t9 ();
    0x0044be28 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044be2c bnez v0, 0x44be58             |         
    0x0044be30 lw v1, (s6)                   |         v1 = *(s6);
    0x0044be34 move s5, zero                 |         s5 = 0;
    0x0044be38 move s7, zero                 |         s7 = 0;
    0x0044be3c move s1, zero                 |         s1 = 0;
    0x0044be40 move fp, zero                 |         fp = 0;
    0x0044be44 addiu a2, zero, -1            |         a2 = -1;
    0x0044be48 move t0, zero                 |         t0 = 0;
    0x0044be4c lui a3, 2                     |         a3 = 0x20000;
    0x0044be50 move t8, zero                 |         t8 = 0;
    0x0044be54 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044be58 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044be5c move a0, s5                   |     a0 = s5;
    0x0044be60 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._partial_chain */
    0x0044be64 addiu a1, a1, -0x4ab4         |     a1 += -0x4ab4;
    0x0044be68 jalr t9                       |     t9 ();
    0x0044be6c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044be70 bnez v0, 0x44be9c             |         
    0x0044be74 lw v1, (s6)                   |         v1 = *(s6);
    0x0044be78 move s5, zero                 |         s5 = 0;
    0x0044be7c move s7, zero                 |         s7 = 0;
    0x0044be80 move s1, zero                 |         s1 = 0;
    0x0044be84 move fp, zero                 |         fp = 0;
    0x0044be88 addiu a2, zero, -1            |         a2 = -1;
    0x0044be8c move t0, zero                 |         t0 = 0;
    0x0044be90 lui a3, 8                     |         a3 = 0x80000;
    0x0044be94 move t8, zero                 |         t8 = 0;
    0x0044be98 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044be9c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bea0 move a0, s5                   |     a0 = s5;
    0x0044bea4 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._no_alt_chains */
    0x0044bea8 addiu a1, a1, -0x4aa4         |     a1 += -0x4aa4;
    0x0044beac jalr t9                       |     t9 ();
    0x0044beb0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044beb4 bnez v0, 0x44bee0             |         
    0x0044beb8 lw v1, (s6)                   |         v1 = *(s6);
    0x0044bebc move s5, zero                 |         s5 = 0;
    0x0044bec0 move s7, zero                 |         s7 = 0;
    0x0044bec4 move s1, zero                 |         s1 = 0;
    0x0044bec8 move fp, zero                 |         fp = 0;
    0x0044becc addiu a2, zero, -1            |         a2 = -1;
    0x0044bed0 move t0, zero                 |         t0 = 0;
    0x0044bed4 lui a3, 0x10                  |         a3 = 0x100000;
    0x0044bed8 move t8, zero                 |         t8 = 0;
    0x0044bedc b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bee0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044bee4 move a0, s5                   |     a0 = s5;
    0x0044bee8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._allow_proxy_certs */
    0x0044beec addiu a1, a1, -0x4a94         |     a1 += -0x4a94;
    0x0044bef0 jalr t9                       |     t9 ();
    0x0044bef4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044bef8 bnez v0, 0x44bf24             |         
    0x0044befc lw v1, (s6)                   |         v1 = *(s6);
    0x0044bf00 move s5, zero                 |         s5 = 0;
    0x0044bf04 move s7, zero                 |         s7 = 0;
    0x0044bf08 move s1, zero                 |         s1 = 0;
    0x0044bf0c move fp, zero                 |         fp = 0;
    0x0044bf10 addiu a2, zero, -1            |         a2 = -1;
    0x0044bf14 move t0, zero                 |         t0 = 0;
    0x0044bf18 addiu a3, zero, 0x40          |         a3 = 0x40;
    0x0044bf1c move t8, zero                 |         t8 = 0;
    0x0044bf20 b 0x44b410                    |         goto label_2;
                                             |     }
    0x0044bf24 move v0, zero                 |     v0 = 0;
    0x0044bf28 b 0x44b454                    |     goto label_18;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44dfdc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.bio_dump_callback ()         | void bio_dump_callback () {
    0x0044dfdc lui gp, 5                     |     
    0x0044dfe0 addiu gp, gp, -0x1b3c         |     
    0x0044dfe4 addu gp, gp, t9               |     gp += t9;
    0x0044dfe8 addiu sp, sp, -0x48           |     
    0x0044dfec sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0044dff0 sw s5, 0x40(sp)               |     *(var_40h) = s5;
    0x0044dff4 sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x0044dff8 sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x0044dffc sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x0044e000 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x0044e004 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x0044e008 move s4, a0                   |     s4 = a0;
    0x0044e00c lw t9, -0x6d64(gp)            |     t9 = sym.imp.BIO_get_callback_arg;
    0x0044e010 move s1, a1                   |     s1 = a1;
    0x0044e014 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0044e018 move s3, a2                   |     s3 = a2;
    0x0044e01c lw s0, 0x5c(sp)               |     s0 = *(arg_5ch);
    0x0044e020 move s5, a3                   |     s5 = a3;
    0x0044e024 jalr t9                       |     t9 ();
    0x0044e028 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044e02c move s2, v0                   |     s2 = v0;
                                             |     if (v0 != 0) {
    0x0044e030 beqz v0, 0x44e048             |         
    0x0044e034 addiu t8, zero, 0x82          |         t8 = 0x82;
    0x0044e038 addiu t8, zero, 0x83          |         t8 = 0x83;
                                             |         if (s1 == t8) {
    0x0044e03c beq s1, t8, 0x44e0d4          |             goto label_0;
                                             |         }
    0x0044e040 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             |         if (s1 == t8) {
    0x0044e044 beq s1, t8, 0x44e070          |             goto label_1;
                                             |         }
                                             |     }
    0x0044e048 move v0, s0                   |     v0 = s0;
    0x0044e04c lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x0044e050 lw s5, 0x40(sp)               |     s5 = *(var_40h);
    0x0044e054 lw s4, 0x3c(sp)               |     s4 = *(var_3ch);
    0x0044e058 lw s3, 0x38(sp)               |     s3 = *(var_38h);
    0x0044e05c lw s2, 0x34(sp)               |     s2 = *(var_34h);
    0x0044e060 lw s1, 0x30(sp)               |     s1 = *(var_30h);
    0x0044e064 lw s0, 0x2c(sp)               |     s0 = *(var_2ch);
    0x0044e068 addiu sp, sp, 0x48            |     
    0x0044e06c jr ra                         |     return v0;
                                             | label_1:
    0x0044e070 move a0, v0                   |     a0 = v0;
    0x0044e074 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044e078 move a2, s4                   |     a2 = s4;
    0x0044e07c sw s5, 0x10(sp)               |     *(var_10h) = s5;
                                             |     /* str.write_to__p___p____lu_bytes____ld__0x_lX___n */
    0x0044e080 addiu a1, a1, -0x4284         |     a1 += -0x4284;
                                             |     do {
    0x0044e084 move a3, s3                   |         a3 = s3;
    0x0044e088 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x0044e08c sw s0, 0x18(sp)               |         *(var_18h) = s0;
    0x0044e090 jalr t9                       |         t9 ();
    0x0044e094 move a0, s2                   |         a0 = s2;
    0x0044e098 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044e09c move a1, s3                   |         a1 = s3;
    0x0044e0a0 lw t9, -0x6dec(gp)            |         t9 = sym.imp.BIO_dump;
    0x0044e0a4 move a2, s0                   |         a2 = s0;
    0x0044e0a8 jalr t9                       |         t9 ();
    0x0044e0ac move v0, s0                   |         v0 = s0;
    0x0044e0b0 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0044e0b4 lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x0044e0b8 lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x0044e0bc lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x0044e0c0 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x0044e0c4 lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x0044e0c8 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x0044e0cc addiu sp, sp, 0x48            |         
    0x0044e0d0 jr ra                         |         return v0;
                                             | label_0:
    0x0044e0d4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044e0d8 move a0, v0                   |         a0 = v0;
    0x0044e0dc lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044e0e0 move a2, s4                   |         a2 = s4;
    0x0044e0e4 sw s5, 0x10(sp)               |         *(var_10h) = s5;
                                             |         /* str.read_from__p___p____lu_bytes____ld__0x_lX___n */
    0x0044e0e8 addiu a1, a1, -0x42b4         |         a1 += -0x42b4;
    0x0044e0ec b 0x44e084                    |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x416048 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.dgst_main ()                 | void dgst_main () {
    0x00416048 lui gp, 8                     |     
    0x0041604c addiu gp, gp, 0x6458          |     
    0x00416050 addu gp, gp, t9               |     gp += t9;
    0x00416054 addiu sp, sp, -0xf0           |     
    0x00416058 sw ra, 0xec(sp)               |     *(var_ech) = ra;
    0x0041605c sw fp, 0xe8(sp)               |     *(var_e8h) = fp;
    0x00416060 sw s7, 0xe4(sp)               |     *(var_e4h) = s7;
    0x00416064 sw s6, 0xe0(sp)               |     *(var_e0h) = s6;
    0x00416068 sw s5, 0xdc(sp)               |     *(var_dch) = s5;
    0x0041606c sw s4, 0xd8(sp)               |     *(var_d8h) = s4;
    0x00416070 sw s3, 0xd4(sp)               |     *(var_d4h) = s3;
    0x00416074 sw s2, 0xd0(sp)               |     *(var_d0h) = s2;
    0x00416078 sw s1, 0xcc(sp)               |     *(var_cch) = s1;
    0x0041607c sw s0, 0xc8(sp)               |     *(var_c8h) = s0;
    0x00416080 move s0, a0                   |     s0 = a0;
    0x00416084 lw t9, -0x6e5c(gp)            |     t9 = sym.imp.signal;
    0x00416088 addiu a0, zero, 0xd           |     a0 = 0xd;
    0x0041608c sw gp, 0x30(sp)               |     *(var_30h) = gp;
    0x00416090 move s2, a1                   |     s2 = a1;
    0x00416094 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x00416098 sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x0041609c addiu a1, zero, 1             |     a1 = 1;
    0x004160a0 jalr t9                       |     t9 ();
    0x004160a4 addiu a0, zero, 0x2000        |     a0 = 0x2000;
    0x004160a8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004160ac addiu a2, zero, 0x88          |     a2 = 0x88;
    0x004160b0 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x004160b4 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
                                             |     /* str.dgst.c */
    0x004160b8 addiu a1, v0, -0x1a38         |     a1 = v0 + -0x1a38;
    0x004160bc jalr t9                       |     t9 ();
    0x004160c0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004160c4 move fp, v0                   |     fp = v0;
                                             |     if (v0 == 0) {
    0x004160c8 beqz v0, 0x416644             |         goto label_32;
                                             |     }
    0x004160cc lw s6, -0x7fd4(gp)            |     s6 = *(gp);
    0x004160d0 lw s1, (s6)                   |     s1 = *(s6);
    0x004160d4 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
                                             |     if (s1 == 0) {
    0x004160d8 beqz s1, 0x416680             |         goto label_33;
                                             |     }
                                             | label_4:
    0x004160dc lw t9, -0x7fc4(gp)            |     t9 = sym.load_config;
    0x004160e0 move a0, s1                   |     a0 = s1;
    0x004160e4 move a1, zero                 |     a1 = 0;
    0x004160e8 jalr t9                       |     t9 ();
    0x004160ec lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x004160f0 bnez v0, 0x416200             |         
    0x004160f4 move s7, zero                 |         s7 = 0;
    0x004160f8 sw zero, 0x70(sp)             |         *(var_70h) = 0;
    0x004160fc sw zero, 0x74(sp)             |         *(var_74h) = 0;
                                             | label_1:
    0x00416100 lw t9, -0x7510(gp)            |         t9 = sym.imp.OPENSSL_cleanse;
    0x00416104 move a0, fp                   |         a0 = fp;
    0x00416108 addiu a1, zero, 0x2000        |         a1 = 0x2000;
    0x0041610c addiu s1, zero, 1             |         s1 = 1;
    0x00416110 jalr t9                       |         t9 ();
    0x00416114 move a0, fp                   |         a0 = fp;
    0x00416118 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0041611c move s2, zero                 |         s2 = 0;
    0x00416120 move s3, zero                 |         s3 = 0;
    0x00416124 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x00416128 move s4, zero                 |         s4 = 0;
    0x0041612c jalr t9                       |         t9 ();
    0x00416130 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             | label_3:
    0x00416134 lw a0, 0x68(sp)               |         a0 = *(var_68h);
                                             | label_11:
    0x00416138 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (a0 != 0) {
    0x0041613c beqz a0, 0x41614c             |             
    0x00416140 jalr t9                       |             t9 ();
    0x00416144 nop                           |             
    0x00416148 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |         }
    0x0041614c lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
    0x00416150 move a0, s4                   |         a0 = s4;
    0x00416154 jalr t9                       |         t9 ();
    0x00416158 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0041615c lw t9, -0x737c(gp)            |         t9 = sym.imp.EVP_PKEY_free;
    0x00416160 lw a0, 0x6c(sp)               |         a0 = *(var_6ch);
    0x00416164 jalr t9                       |         t9 ();
    0x00416168 lw t8, 0x70(sp)               |         t8 = *(var_70h);
    0x0041616c lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (t8 != 0) {
    0x00416170 beqz t8, 0x416184             |             
    0x00416174 lw t9, -0x7c44(gp)            |             t9 = sym.imp.sk_free;
    0x00416178 move a0, t8                   |             a0 = t8;
    0x0041617c jalr t9                       |             t9 ();
    0x00416180 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |         }
    0x00416184 lw t9, -0x7c44(gp)            |         t9 = sym.imp.sk_free;
                                             |         if (s7 != 0) {
    0x00416188 beqz s7, 0x416198             |             
    0x0041618c move a0, s7                   |             a0 = s7;
    0x00416190 jalr t9                       |             t9 ();
    0x00416194 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |         }
    0x00416198 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (s3 != 0) {
    0x0041619c beqz s3, 0x4161ac             |             
    0x004161a0 move a0, s3                   |             a0 = s3;
    0x004161a4 jalr t9                       |             t9 ();
    0x004161a8 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |         }
    0x004161ac lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
                                             |         if (s2 != 0) {
    0x004161b0 beqz s2, 0x4161c0             |             
    0x004161b4 move a0, s2                   |             a0 = s2;
    0x004161b8 jalr t9                       |             t9 ();
    0x004161bc lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |         }
    0x004161c0 lw t9, -0x7fbc(gp)            |         t9 = sym.release_engine;
    0x004161c4 lw a0, 0x74(sp)               |         a0 = *(var_74h);
    0x004161c8 jalr t9                       |         t9 ();
    0x004161cc move v0, s1                   |         v0 = s1;
    0x004161d0 lw ra, 0xec(sp)               |         ra = *(var_ech);
    0x004161d4 lw fp, 0xe8(sp)               |         fp = *(var_e8h);
    0x004161d8 lw s7, 0xe4(sp)               |         s7 = *(var_e4h);
    0x004161dc lw s6, 0xe0(sp)               |         s6 = *(var_e0h);
    0x004161e0 lw s5, 0xdc(sp)               |         s5 = *(var_dch);
    0x004161e4 lw s4, 0xd8(sp)               |         s4 = *(var_d8h);
    0x004161e8 lw s3, 0xd4(sp)               |         s3 = *(var_d4h);
    0x004161ec lw s2, 0xd0(sp)               |         s2 = *(var_d0h);
    0x004161f0 lw s1, 0xcc(sp)               |         s1 = *(var_cch);
    0x004161f4 lw s0, 0xc8(sp)               |         s0 = *(var_c8h);
    0x004161f8 addiu sp, sp, 0xf0            |         
    0x004161fc jr ra                         |         return v0;
                                             |     }
    0x00416200 addiu t8, sp, 0x38            |     t8 = sp + 0x38;
    0x00416204 addiu a2, zero, 0x28          |     a2 = 0x28;
    0x00416208 lw t9, -0x7e58(gp)            |     t9 = sym.program_name;
    0x0041620c move a1, t8                   |     a1 = t8;
    0x00416210 lw a0, (s2)                   |     a0 = *(s2);
    0x00416214 addiu s0, s0, -1              |     s0 += -1;
    0x00416218 sw t8, 0x84(sp)               |     *(var_84h) = t8;
    0x0041621c addiu s1, s2, 4               |     s1 = s2 + 4;
    0x00416220 jalr t9                       |     t9 ();
    0x00416224 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416228 lw t9, -0x7974(gp)            |     t9 = sym.imp.EVP_get_digestbyname;
    0x0041622c addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00416230 jalr t9                       |     t9 ();
    0x00416234 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416238 sw v0, 0xac(sp)               |     *(var_ach) = v0;
                                             |     if (s0 <= 0) {
    0x0041623c blez s0, 0x416f60             |         goto label_34;
                                             |     }
    0x00416240 lw s4, 4(s2)                  |     s4 = *((s2 + 1));
    0x00416244 addiu v0, zero, 0x2d          |     v0 = 0x2d;
    0x00416248 lb v1, (s4)                   |     v1 = *(s4);
    0x0041624c addiu t8, zero, -1            |     t8 = -1;
                                             |     if (v1 != v0) {
    0x00416250 bne v1, v0, 0x416f60          |         goto label_34;
                                             |     }
    0x00416254 move s7, zero                 |     s7 = 0;
    0x00416258 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
    0x0041625c move s5, zero                 |     s5 = 0;
    0x00416260 sw t8, 0x8c(sp)               |     *(var_8ch) = t8;
    0x00416264 addiu t8, zero, 3             |     t8 = 3;
    0x00416268 sw zero, 0x70(sp)             |     *(var_70h) = 0;
                                             |     /* esilref: '-r' */
    0x0041626c addiu s3, s3, -0x1a1c         |     s3 += -0x1a1c;
    0x00416270 sw zero, 0xb4(sp)             |     *(var_b4h) = 0;
    0x00416274 sw zero, 0xa0(sp)             |     *(var_a0h) = 0;
    0x00416278 sw zero, 0xa4(sp)             |     *(var_a4h) = 0;
    0x0041627c sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00416280 sw zero, 0x94(sp)             |     *(var_94h) = 0;
    0x00416284 sw zero, 0x90(sp)             |     *(var_90h) = 0;
    0x00416288 sw zero, 0xa8(sp)             |     *(var_a8h) = 0;
    0x0041628c sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x00416290 sw zero, 0x9c(sp)             |     *(var_9ch) = 0;
    0x00416294 sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x00416298 sw zero, 0x88(sp)             |     *(var_88h) = 0;
    0x0041629c sw t8, 0xb0(sp)               |     *(var_b0h) = t8;
    0x004162a0 sw zero, 0x98(sp)             |     *(var_98h) = 0;
    0x004162a4 sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x004162a8 lw s2, -0x7fd8(gp)            |     s2 = *(gp);
    0x004162ac b 0x416320                    |     
                                             |     while (v0 != 0) {
    0x004162b0 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
    0x004162b4 move a0, s4                   |         a0 = s4;
    0x004162b8 move a1, s3                   |         a1 = s3;
    0x004162bc jalr t9                       |         t9 ();
    0x004162c0 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x004162c4 beqz v0, 0x416374             |             goto label_35;
                                             |         }
    0x004162c8 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x004162cc move a0, s4                   |         a0 = s4;
    0x004162d0 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._rand */
    0x004162d4 addiu a1, a1, -0x2bec         |         a1 += -0x2bec;
    0x004162d8 jalr t9                       |         t9 ();
    0x004162dc lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x004162e0 bnez v0, 0x41637c             |             goto label_36;
                                             |         }
    0x004162e4 addiu s0, s0, -1              |         s0 += -1;
                                             |         if (s0 == 0) {
    0x004162e8 beqz s0, 0x416c84             |             goto label_12;
                                             |         }
    0x004162ec nop                           |         
    0x004162f0 lw t8, 4(s1)                  |         t8 = *((s1 + 1));
    0x004162f4 addiu s1, s1, 4               |         s1 += 4;
    0x004162f8 sw t8, 0x7c(sp)               |         *(var_7ch) = t8;
                                             | label_2:
    0x004162fc addiu s0, s0, -1              |         s0 += -1;
    0x00416300 addiu v1, s1, 4               |         v1 = s1 + 4;
                                             |         if (s0 == 0) {
    0x00416304 beqz s0, 0x416348             |             goto label_9;
                                             |         }
                                             | label_0:
    0x00416308 lw s4, 4(s1)                  |         s4 = *((s1 + 1));
    0x0041630c addiu t8, zero, 0x2d          |         t8 = 0x2d;
    0x00416310 lb v0, (s4)                   |         v0 = *(s4);
    0x00416314 lw t8, 0x80(sp)               |         t8 = *(var_80h);
                                             |         if (v0 != t8) {
    0x00416318 bne v0, t8, 0x41634c          |             goto label_37;
                                             |         }
    0x0041631c move s1, v1                   |         s1 = v1;
    0x00416320 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
    0x00416324 move a0, s4                   |         a0 = s4;
                                             |         /* esilref: '-c' */
    0x00416328 addiu a1, s2, -0x1a20         |         a1 = s2 + -0x1a20;
    0x0041632c jalr t9                       |         t9 ();
    0x00416330 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416334 bnez v0, 0x4162b0             |         
                                             |     }
    0x00416338 addiu s0, s0, -1              |     s0 += -1;
    0x0041633c addiu s5, zero, 1             |     s5 = 1;
    0x00416340 addiu v1, s1, 4               |     v1 = s1 + 4;
                                             |     if (s0 != 0) {
    0x00416344 bnez s0, 0x416308             |         goto label_0;
                                             |     }
                                             | label_9:
    0x00416348 lw t8, 0x80(sp)               |     t8 = *(var_80h);
                                             | label_37:
    0x0041634c slti t8, s0, 2                |     t8 = (s0 < 2) ? 1 : 0;
                                             |     if (t8 != 0) {
    0x00416350 beqz t8, 0x416424             |         
    0x00416354 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         if (t8 != 0) {
    0x00416358 bnez t8, 0x416424             |             goto label_38;
                                             |         }
    0x0041635c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00416360 lw a0, (s6)                   |         a0 = *(s6);
                                             |         /* str.Can_only_sign_or_verify_one_file_n */
    0x00416364 addiu a1, a1, -0x1998         |         a1 += -0x1998;
    0x00416368 jalr t9                       |         t9 ();
    0x0041636c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416370 b 0x416100                    |         goto label_1;
                                             | label_35:
    0x00416374 addiu s5, zero, 2             |         s5 = 2;
    0x00416378 b 0x4162fc                    |         goto label_2;
                                             | label_36:
    0x0041637c lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x00416380 move a0, s4                   |         a0 = s4;
    0x00416384 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._out */
    0x00416388 addiu a1, v0, -0x3268         |         a1 = v0 + -0x3268;
    0x0041638c jalr t9                       |         t9 ();
    0x00416390 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00416394 bnez v0, 0x4163b4             |             
    0x00416398 addiu s0, s0, -1              |             s0 += -1;
                                             |             if (s0 == 0) {
    0x0041639c beqz s0, 0x416c84             |                 goto label_12;
                                             |             }
    0x004163a0 nop                           |             
    0x004163a4 lw t8, 4(s1)                  |             t8 = *((s1 + 1));
    0x004163a8 addiu s1, s1, 4               |             s1 += 4;
    0x004163ac sw t8, 0x88(sp)               |             *(var_88h) = t8;
    0x004163b0 b 0x4162fc                    |             goto label_2;
                                             |         }
    0x004163b4 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x004163b8 move a0, s4                   |         a0 = s4;
    0x004163bc lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._sign */
    0x004163c0 addiu a1, a1, -0x1a18         |         a1 += -0x1a18;
    0x004163c4 jalr t9                       |         t9 ();
    0x004163c8 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x004163cc beqz v0, 0x416408             |             
    0x004163d0 lw v0, -0x7fd8(gp)            |             v0 = *(gp);
    0x004163d4 move a0, s4                   |             a0 = s4;
    0x004163d8 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* str._passin */
    0x004163dc addiu a1, v0, -0x2c00         |             a1 = v0 + -0x2c00;
    0x004163e0 jalr t9                       |             t9 ();
    0x004163e4 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |             if (v0 != 0) {
    0x004163e8 bnez v0, 0x4165e8             |                 goto label_39;
                                             |             }
    0x004163ec addiu s0, s0, -1              |             s0 += -1;
                                             |             if (s0 == 0) {
    0x004163f0 beqz s0, 0x416c84             |                 goto label_12;
                                             |             }
    0x004163f4 nop                           |             
    0x004163f8 lw t8, 4(s1)                  |             t8 = *((s1 + 1));
    0x004163fc addiu s1, s1, 4               |             s1 += 4;
    0x00416400 sw t8, 0x94(sp)               |             *(var_94h) = t8;
    0x00416404 b 0x4162fc                    |             goto label_2;
                                             |         }
    0x00416408 addiu s0, s0, -1              |         s0 += -1;
                                             |         if (s0 == 0) {
    0x0041640c beqz s0, 0x416c84             |             goto label_12;
                                             |         }
    0x00416410 nop                           |         
    0x00416414 lw t8, 4(s1)                  |         t8 = *((s1 + 1));
    0x00416418 addiu s1, s1, 4               |         s1 += 4;
    0x0041641c sw t8, 0x80(sp)               |         *(var_80h) = t8;
    0x00416420 b 0x4162fc                    |         goto label_2;
                                             |     }
                                             | label_38:
    0x00416424 lw t8, 0x90(sp)               |     t8 = *(var_90h);
    0x00416428 lw t8, 0x9c(sp)               |     t8 = *(var_9ch);
                                             |     if (t8 != 0) {
    0x0041642c beqz t8, 0x416438             |         
    0x00416430 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         if (t8 == 0) {
    0x00416434 beqz t8, 0x416700             |             goto label_40;
                                             |         }
                                             |     }
                                             | label_14:
    0x00416438 addiu t8, zero, 0x2d          |     t8 = 0x2d;
                                             |     if (s0 > 0) {
    0x0041643c blez s0, 0x416450             |         
    0x00416440 lw a2, (v1)                   |         a2 = *(v1);
    0x00416444 lb v0, (a2)                   |         v0 = *(a2);
    0x00416448 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         if (v0 == t8) {
    0x0041644c beq v0, t8, 0x416d14          |             goto label_41;
                                             |         }
                                             |     }
    0x00416450 lw t8, 0x74(sp)               |     t8 = *(var_74h);
    0x00416454 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00416458 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
                                             |     if (v0 != 0) {
    0x0041645c movz t8, zero, v0             |         t8 = 0;
                                             |     }
    0x00416460 sw t8, 0xb8(sp)               |     *(var_b8h) = t8;
    0x00416464 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416468 jalr t9                       |     t9 ();
    0x0041646c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416470 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00416474 move a0, v0                   |     a0 = v0;
    0x00416478 jalr t9                       |     t9 ();
    0x0041647c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416480 lw t9, -0x768c(gp)            |     t9 = sym.imp.BIO_f_md;
    0x00416484 sw v0, 0x78(sp)               |     *(var_78h) = v0;
    0x00416488 jalr t9                       |     t9 ();
    0x0041648c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416490 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00416494 move a0, v0                   |     a0 = v0;
    0x00416498 jalr t9                       |     t9 ();
    0x0041649c lw t8, 0x78(sp)               |     t8 = *(var_78h);
    0x004164a0 move s2, v0                   |     s2 = v0;
    0x004164a4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004164a8 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (t8 == 0) {
    0x004164ac beqz t8, 0x416c8c             |         goto label_42;
                                             |     }
    0x004164b0 lw t8, 0x98(sp)               |     t8 = *(var_98h);
                                             |     if (v0 == 0) {
    0x004164b4 beqz v0, 0x416c8c             |         goto label_42;
                                             |     }
    0x004164b8 lw t9, -0x7198(gp)            |     t9 = sym.imp.BIO_set_callback;
                                             |     if (t8 != 0) {
    0x004164bc bnez t8, 0x416744             |         goto label_43;
                                             |     }
                                             | label_7:
    0x004164c0 lw a0, (s6)                   |     a0 = *(s6);
    0x004164c4 move a2, zero                 |     a2 = 0;
    0x004164c8 lw t9, -0x7fcc(gp)            |     t9 = sym.app_passwd;
    0x004164cc addiu a3, sp, 0x68            |     a3 = sp + 0x68;
    0x004164d0 lw a1, 0x94(sp)               |     a1 = *(var_94h);
    0x004164d4 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x004164d8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x004164dc jalr t9                       |     t9 ();
    0x004164e0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004164e4 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x004164e8 beqz v0, 0x416718             |         goto label_44;
                                             |     }
    0x004164ec lw a0, 0x8c(sp)               |     a0 = *(var_8ch);
    0x004164f0 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x004164f4 sltu t8, zero, v0             |     t8 = (0 < v0) ? 1 : 0;
    0x004164f8 nor v0, zero, a0              |     __asm ("nor v0, zero, a0");
                                             |     if (v0 != 0) {
    0x004164fc movz a0, t8, v0               |         a0 = t8;
                                             |     }
    0x00416500 lw t8, 0x7c(sp)               |     t8 = *(var_7ch);
    0x00416504 sw a0, 0x8c(sp)               |     *(var_8ch) = a0;
                                             |     if (t8 != 0) {
    0x00416508 beqz t8, 0x41652c             |         
    0x0041650c lw t9, -0x7fac(gp)            |         t9 = sym.app_RAND_load_file;
    0x00416510 move a0, t8                   |         a0 = t8;
    0x00416514 lw a1, (s6)                   |         a1 = *(s6);
    0x00416518 move a2, zero                 |         a2 = 0;
    0x0041651c sw v1, 0xc0(sp)               |         *(var_c0h) = v1;
    0x00416520 jalr t9                       |         t9 ();
    0x00416524 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416528 lw v1, 0xc0(sp)               |         v1 = *(var_c0h);
                                             |     }
    0x0041652c lw t8, 0x88(sp)               |     t8 = *(var_88h);
    0x00416530 lw t8, 0x8c(sp)               |     t8 = *(var_8ch);
                                             |     if (t8 == 0) {
    0x00416534 beqz t8, 0x41708c             |         goto label_45;
                                             |     }
    0x00416538 lw a0, 0x88(sp)               |     a0 = *(var_88h);
    0x0041653c lw t9, -0x79cc(gp)            |     t9 = sym.imp.BIO_new_file;
                                             |     if (t8 == 0) {
    0x00416540 beqz t8, 0x4166f4             |         goto label_46;
                                             |     }
    0x00416544 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     /* esilref: 'wb' */
    0x00416548 addiu a1, a1, -0x2ef8         |     a1 += -0x2ef8;
                                             | label_5:
    0x0041654c sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416550 jalr t9                       |     t9 ();
    0x00416554 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416558 move s4, v0                   |     s4 = v0;
    0x0041655c lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x00416560 beqz v0, 0x416c28             |         goto label_47;
                                             |     }
    0x00416564 lw t8, 0xa0(sp)               |     t8 = *(var_a0h);
    0x00416568 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x0041656c lw a0, 0xa4(sp)               |     a0 = *(var_a4h);
    0x00416570 sltu s1, zero, t8             |     s1 = (0 < t8) ? 1 : 0;
    0x00416574 sltu t8, zero, v0             |     t8 = (0 < v0) ? 1 : 0;
    0x00416578 sltu a0, zero, a0             |     a0 = (0 < a0) ? 1 : 0;
    0x0041657c addu v0, s1, t8               |     v0 = s1 + t8;
    0x00416580 addu v0, v0, a0               |     v0 += a0;
    0x00416584 slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x00416588 sw a0, 0x7c(sp)               |     *(var_7ch) = a0;
                                             |     if (v0 != 0) {
    0x0041658c bnez v0, 0x416774             |         goto label_48;
                                             |     }
    0x00416590 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416594 move s3, zero                 |     s3 = 0;
    0x00416598 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041659c addiu s1, zero, 1             |     s1 = 1;
    0x004165a0 lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* str.MAC_and_Signing_key_cannot_both_be_specified_n */
    0x004165a4 addiu a1, a1, -0x154c         |     a1 += -0x154c;
    0x004165a8 jalr t9                       |     t9 ();
    0x004165ac lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_6:
    0x004165b0 lw t9, -0x7510(gp)            |     t9 = sym.imp.OPENSSL_cleanse;
    0x004165b4 move a0, fp                   |     a0 = fp;
    0x004165b8 addiu a1, zero, 0x2000        |     a1 = 0x2000;
    0x004165bc jalr t9                       |     t9 ();
    0x004165c0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004165c4 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x004165c8 move a0, fp                   |     a0 = fp;
    0x004165cc jalr t9                       |     t9 ();
    0x004165d0 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_10:
    0x004165d4 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
    0x004165d8 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x004165dc jalr t9                       |     t9 ();
    0x004165e0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004165e4 b 0x416134                    |     goto label_3;
                                             | label_39:
    0x004165e8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004165ec move a0, s4                   |     a0 = s4;
    0x004165f0 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._verify */
    0x004165f4 addiu a1, a1, -0x2bac         |     a1 += -0x2bac;
    0x004165f8 jalr t9                       |     t9 ();
    0x004165fc lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00416600 beqz v0, 0x4166cc             |         goto label_49;
                                             |     }
    0x00416604 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416608 move a0, s4                   |     a0 = s4;
    0x0041660c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._prverify */
    0x00416610 addiu a1, a1, -0x1a10         |     a1 += -0x1a10;
    0x00416614 jalr t9                       |     t9 ();
    0x00416618 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x0041661c bnez v0, 0x416cdc             |         goto label_50;
                                             |     }
    0x00416620 addiu s0, s0, -1              |     s0 += -1;
                                             |     if (s0 == 0) {
    0x00416624 beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x00416628 nop                           |     
    0x0041662c lw t8, 4(s1)                  |     t8 = *((s1 + 1));
    0x00416630 addiu s1, s1, 4               |     s1 += 4;
    0x00416634 sw t8, 0x80(sp)               |     *(var_80h) = t8;
    0x00416638 addiu t8, zero, 1             |     t8 = 1;
    0x0041663c sw t8, 0x90(sp)               |     *(var_90h) = t8;
    0x00416640 b 0x4162fc                    |     goto label_2;
                                             | label_32:
    0x00416644 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00416648 addiu s1, zero, 1             |     s1 = 1;
    0x0041664c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416650 move s2, zero                 |     s2 = 0;
    0x00416654 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00416658 move s3, zero                 |     s3 = 0;
    0x0041665c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.out_of_memory_n */
    0x00416660 addiu a1, a1, -0x1a30         |     a1 += -0x1a30;
    0x00416664 move s4, zero                 |     s4 = 0;
    0x00416668 move s7, zero                 |     s7 = 0;
    0x0041666c jalr t9                       |     t9 ();
    0x00416670 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416674 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00416678 sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x0041667c b 0x416134                    |     goto label_3;
                                             | label_33:
    0x00416680 jalr t9                       |     t9 ();
    0x00416684 nop                           |     
    0x00416688 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041668c lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00416690 move a0, v0                   |     a0 = v0;
    0x00416694 jalr t9                       |     t9 ();
    0x00416698 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041669c sw v0, (s6)                   |     *(s6) = v0;
                                             |     if (v0 == 0) {
    0x004166a0 beqz v0, 0x4160dc             |         goto label_4;
                                             |     }
    0x004166a4 lw t8, -0x6c70(gp)            |     t8 = *((gp - 6940));
    0x004166a8 move a0, v0                   |     a0 = v0;
    0x004166ac lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x004166b0 addiu a1, zero, 0x6a          |     a1 = 0x6a;
    0x004166b4 lw a3, (t8)                   |     a3 = *(t8);
    0x004166b8 addiu a2, zero, 0x10          |     a2 = 0x10;
    0x004166bc jalr t9                       |     t9 ();
    0x004166c0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004166c4 lw s1, (s6)                   |     s1 = *(s6);
    0x004166c8 b 0x4160dc                    |     goto label_4;
                                             | label_49:
    0x004166cc addiu s0, s0, -1              |     s0 += -1;
                                             |     if (s0 == 0) {
    0x004166d0 beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x004166d4 nop                           |     
    0x004166d8 lw t8, 4(s1)                  |     t8 = *((s1 + 1));
    0x004166dc addiu s1, s1, 4               |     s1 += 4;
    0x004166e0 sw t8, 0x80(sp)               |     *(var_80h) = t8;
    0x004166e4 addiu t8, zero, 1             |     t8 = 1;
    0x004166e8 sw t8, 0x90(sp)               |     *(var_90h) = t8;
    0x004166ec sw t8, 0xa8(sp)               |     *(var_a8h) = t8;
    0x004166f0 b 0x4162fc                    |     goto label_2;
                                             | label_46:
    0x004166f4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004166f8 addiu a1, a1, -0x1570         |     a1 += -0x1570;
    0x004166fc b 0x41654c                    |     goto label_5;
                                             | label_40:
    0x00416700 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00416704 lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* str.No_signature_to_verify:_use_the__signature_option_n */
    0x00416708 addiu a1, a1, -0x1974         |     a1 += -0x1974;
    0x0041670c jalr t9                       |     t9 ();
    0x00416710 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416714 b 0x416100                    |     goto label_1;
                                             | label_44:
    0x00416718 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041671c move s3, zero                 |     s3 = 0;
    0x00416720 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416724 move s4, zero                 |     s4 = 0;
    0x00416728 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041672c addiu s1, zero, 1             |     s1 = 1;
    0x00416730 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Error_getting_password_n */
    0x00416734 addiu a1, a1, -0x1588         |     a1 += -0x1588;
    0x00416738 jalr t9                       |     t9 ();
    0x0041673c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416740 b 0x4165b0                    |     goto label_6;
                                             | label_43:
    0x00416744 lw a1, -0x7338(gp)            |     a1 = *((gp - 7374));
    0x00416748 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x0041674c sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416750 jalr t9                       |     t9 ();
    0x00416754 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416758 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x0041675c lw t9, -0x75dc(gp)            |     t9 = sym.imp.BIO_set_callback_arg;
    0x00416760 lw a1, (s6)                   |     a1 = *(s6);
    0x00416764 jalr t9                       |     t9 ();
    0x00416768 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041676c lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
    0x00416770 b 0x4164c0                    |     goto label_7;
                                             | label_48:
    0x00416774 lw t8, 0xa8(sp)               |     t8 = *(var_a8h);
                                             |     if (t8 != 0) {
    0x00416778 beqz t8, 0x4167c4             |         
    0x0041677c lw a1, 0x80(sp)               |         a1 = *(var_80h);
    0x00416780 lw a0, (s6)                   |         a0 = *(s6);
    0x00416784 lw a2, 0xb0(sp)               |         a2 = *(var_b0h);
                                             |         if (t8 == 0) {
    0x00416788 beqz t8, 0x416f0c             |             goto label_51;
                                             |         }
    0x0041678c lw t9, -0x7e40(gp)            |         t9 = sym.load_pubkey;
    0x00416790 move a3, zero                 |         a3 = 0;
    0x00416794 sw zero, 0x10(sp)             |         *(var_10h) = 0;
                                             | label_13:
    0x00416798 lw t8, 0x74(sp)               |         t8 = *(var_74h);
    0x0041679c sw v1, 0xc0(sp)               |         *(var_c0h) = v1;
    0x004167a0 sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x004167a4 lw t8, -0x7f9c(gp)            |         t8 = *(gp);
                                             |         /* esilref: 'key file' */
    0x004167a8 addiu t8, t8, -0xe68          |         t8 += -0xe68;
    0x004167ac sw t8, 0x18(sp)               |         *(var_18h) = t8;
    0x004167b0 jalr t9                       |         t9 ();
    0x004167b4 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x004167b8 sw v0, 0x6c(sp)               |         *(var_6ch) = v0;
    0x004167bc lw v1, 0xc0(sp)               |         v1 = *(var_c0h);
                                             |         if (v0 == 0) {
    0x004167c0 beqz v0, 0x416c60             |             goto label_52;
                                             |         }
                                             |     }
    0x004167c4 addiu a1, sp, 0x60            |     a1 = sp + 0x60;
                                             |     if (s1 == 0) {
    0x004167c8 beqz s1, 0x4168ac             |         goto label_53;
                                             |     }
    0x004167cc lw a0, (s6)                   |     a0 = *(s6);
    0x004167d0 lw t9, -0x7e3c(gp)            |     t9 = sym.init_gen_str;
    0x004167d4 lw a2, 0xa0(sp)               |     a2 = *(var_a0h);
    0x004167d8 lw a3, 0xb8(sp)               |     a3 = *(var_b8h);
    0x004167dc sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x004167e0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x004167e4 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x004167e8 jalr t9                       |     t9 ();
    0x004167ec lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004167f0 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x004167f4 beqz v0, 0x416fb8             |         goto label_54;
                                             |     }
    0x004167f8 move s3, zero                 |     s3 = 0;
                                             |     if (s7 == 0) {
    0x004167fc beqz s7, 0x416864             |         goto label_55;
                                             |     }
    0x00416800 sw s0, 0x80(sp)               |     *(var_80h) = s0;
    0x00416804 move s1, v1                   |     s1 = v1;
    0x00416808 b 0x416834                    |     
                                             |     while (v0 != 0) {
    0x0041680c jalr t9                       |         t9 ();
    0x00416810 nop                           |         
    0x00416814 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416818 move a1, v0                   |         a1 = v0;
    0x0041681c lw a0, 0x60(sp)               |         a0 = *(var_60h);
    0x00416820 lw t9, -0x7fdc(gp)            |         t9 = sym.pkey_ctrl_string;
    0x00416824 move s0, v0                   |         s0 = v0;
    0x00416828 jalr t9                       |         t9 ();
    0x0041682c lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 <= 0) {
    0x00416830 blez v0, 0x417104             |             goto label_56;
                                             |         }
    0x00416834 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00416838 move a0, s7                   |         a0 = s7;
    0x0041683c jalr t9                       |         t9 ();
    0x00416840 move a1, s3                   |         a1 = s3;
    0x00416844 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416848 slt v0, s3, v0                |         v0 = (s3 < v0) ? 1 : 0;
    0x0041684c move a0, s7                   |         a0 = s7;
    0x00416850 addiu s3, s3, 1               |         s3++;
    0x00416854 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x00416858 bnez v0, 0x41680c             |         
                                             |     }
    0x0041685c lw s0, 0x80(sp)               |     s0 = *(var_80h);
    0x00416860 move v1, s1                   |     v1 = s1;
                                             | label_55:
    0x00416864 lw t9, -0x7788(gp)            |     t9 = sym.imp.EVP_PKEY_keygen;
    0x00416868 addiu a1, sp, 0x6c            |     a1 = sp + 0x6c;
    0x0041686c lw a0, 0x60(sp)               |     a0 = *(var_60h);
    0x00416870 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416874 jalr t9                       |     t9 ();
    0x00416878 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041687c lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 <= 0) {
    0x00416880 blez v0, 0x417320             |         goto label_57;
                                             |     }
    0x00416884 addiu s1, zero, 1             |     s1 = 1;
                                             | label_15:
    0x00416888 lw a0, 0x60(sp)               |     a0 = *(var_60h);
    0x0041688c lw t9, -0x7288(gp)            |     t9 = sym.imp.EVP_PKEY_CTX_free;
                                             |     if (a0 != 0) {
    0x00416890 beqz a0, 0x4168a4             |         
    0x00416894 sw v1, 0xc0(sp)               |         *(var_c0h) = v1;
    0x00416898 jalr t9                       |         t9 ();
    0x0041689c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x004168a0 lw v1, 0xc0(sp)               |         v1 = *(var_c0h);
                                             |     }
                                             |     if (s1 == 0) {
    0x004168a4 beqz s1, 0x416c60             |         goto label_52;
                                             |     }
    0x004168a8 nop                           |     
                                             | label_53:
    0x004168ac lw t8, 0xb4(sp)               |     t8 = *(var_b4h);
    0x004168b0 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (t8 != 0) {
    0x004168b4 bnez t8, 0x4170a0             |         goto label_58;
                                             |     }
                                             | label_19:
    0x004168b8 lw t8, 0x7c(sp)               |     t8 = *(var_7ch);
    0x004168bc lw t9, -0x7298(gp)            |     t9 = sym.imp.EVP_PKEY_new_mac_key;
                                             |     if (t8 == 0) {
    0x004168c0 beqz t8, 0x417008             |         goto label_59;
                                             |     }
    0x004168c4 addiu a0, zero, 0x357         |     a0 = 0x357;
    0x004168c8 lw a1, 0xb8(sp)               |     a1 = *(var_b8h);
    0x004168cc addiu a3, zero, -1            |     a3 = -1;
    0x004168d0 lw a2, 0xa4(sp)               |     a2 = *(var_a4h);
    0x004168d4 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x004168d8 jalr t9                       |     t9 ();
    0x004168dc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004168e0 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x004168e4 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x004168e8 beqz v0, 0x416c60             |         goto label_52;
                                             |     }
    0x004168ec lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             | label_16:
    0x004168f0 move a0, s2                   |     a0 = s2;
    0x004168f4 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x004168f8 addiu a1, zero, 0x78          |     a1 = 0x78;
    0x004168fc move a2, zero                 |     a2 = 0;
    0x00416900 addiu a3, sp, 0x64            |     a3 = sp + 0x64;
    0x00416904 sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x00416908 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x0041690c jalr t9                       |     t9 ();
    0x00416910 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416914 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x00416918 beqz v0, 0x4170e8             |         goto label_60;
                                             |     }
    0x0041691c lw t8, 0x90(sp)               |     t8 = *(var_90h);
    0x00416920 addiu t8, sp, 0x60            |     t8 = sp + 0x60;
                                             |     if (t8 == 0) {
    0x00416924 beqz t8, 0x4170d8             |         goto label_61;
                                             |     }
    0x00416928 lw t9, -0x7104(gp)            |     t9 = sym.imp.EVP_DigestVerifyInit;
    0x0041692c move a1, t8                   |     a1 = t8;
    0x00416930 sw t8, 0x80(sp)               |     *(var_80h) = t8;
                                             | label_20:
    0x00416934 lw t8, 0x6c(sp)               |     t8 = *(var_6ch);
    0x00416938 lw a0, 0x64(sp)               |     a0 = *(var_64h);
    0x0041693c lw a2, 0xac(sp)               |     a2 = *(var_ach);
    0x00416940 lw a3, 0xb8(sp)               |     a3 = *(var_b8h);
    0x00416944 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416948 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0041694c jalr t9                       |     t9 ();
    0x00416950 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416954 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x00416958 beqz v0, 0x417254             |         goto label_62;
                                             |     }
    0x0041695c lw t8, 0x70(sp)               |     t8 = *(var_70h);
    0x00416960 move s3, zero                 |     s3 = 0;
                                             |     if (t8 == 0) {
    0x00416964 beqz t8, 0x4169dc             |         goto label_17;
                                             |     }
    0x00416968 sw s0, 0x7c(sp)               |     *(var_7ch) = s0;
    0x0041696c move s1, s3                   |     s1 = s3;
    0x00416970 sw v1, 0x84(sp)               |     *(var_84h) = v1;
    0x00416974 move s0, t8                   |     s0 = t8;
    0x00416978 move s3, s2                   |     s3 = s2;
    0x0041697c b 0x4169a8                    |     
                                             |     while (v0 != 0) {
    0x00416980 jalr t9                       |         t9 ();
    0x00416984 nop                           |         
    0x00416988 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0041698c move a1, v0                   |         a1 = v0;
    0x00416990 lw a0, 0x60(sp)               |         a0 = *(var_60h);
    0x00416994 lw t9, -0x7fdc(gp)            |         t9 = sym.pkey_ctrl_string;
    0x00416998 move s2, v0                   |         s2 = v0;
    0x0041699c jalr t9                       |         t9 ();
    0x004169a0 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 <= 0) {
    0x004169a4 blez v0, 0x41722c             |             goto label_63;
                                             |         }
    0x004169a8 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x004169ac move a0, s0                   |         a0 = s0;
    0x004169b0 jalr t9                       |         t9 ();
    0x004169b4 move a1, s1                   |         a1 = s1;
    0x004169b8 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x004169bc slt v0, s1, v0                |         v0 = (s1 < v0) ? 1 : 0;
    0x004169c0 move a0, s0                   |         a0 = s0;
    0x004169c4 addiu s1, s1, 1               |         s1++;
    0x004169c8 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x004169cc bnez v0, 0x416980             |         
                                             |     }
    0x004169d0 lw s0, 0x7c(sp)               |     s0 = *(var_7ch);
    0x004169d4 move s2, s3                   |     s2 = s3;
    0x004169d8 lw v1, 0x84(sp)               |     v1 = *(var_84h);
                                             | label_17:
    0x004169dc lw t8, 0x9c(sp)               |     t8 = *(var_9ch);
    0x004169e0 lw t8, 0x6c(sp)               |     t8 = *(var_6ch);
                                             |     if (t8 == 0) {
    0x004169e4 beqz t8, 0x417290             |         goto label_64;
                                             |     }
    0x004169e8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (t8 == 0) {
    0x004169ec beqz t8, 0x417290             |         goto label_64;
                                             |     }
    0x004169f0 lw t9, -0x79cc(gp)            |     t9 = sym.imp.BIO_new_file;
    0x004169f4 lw a0, 0x9c(sp)               |     a0 = *(var_9ch);
                                             |     /* esilref: 'rb' */
    0x004169f8 addiu a1, a1, -0x149c         |     a1 += -0x149c;
    0x004169fc sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416a00 jalr t9                       |     t9 ();
    0x00416a04 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416a08 lw a0, 0x6c(sp)               |     a0 = *(var_6ch);
    0x00416a0c lw t9, -0x7870(gp)            |     t9 = sym.imp.EVP_PKEY_size;
    0x00416a10 sw v0, 0xbc(sp)               |     *(var_bch) = v0;
    0x00416a14 jalr t9                       |     t9 ();
    0x00416a18 addiu a2, zero, 0x1ce         |     a2 = 0x1ce;
    0x00416a1c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416a20 move s1, v0                   |     s1 = v0;
    0x00416a24 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x00416a28 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
                                             |     /* str.dgst.c */
    0x00416a2c addiu a1, a0, -0x1a38         |     a1 = a0 + -0x1a38;
    0x00416a30 move a0, v0                   |     a0 = v0;
    0x00416a34 jalr t9                       |     t9 ();
    0x00416a38 lw t8, 0xbc(sp)               |     t8 = *(var_bch);
    0x00416a3c move s3, v0                   |     s3 = v0;
    0x00416a40 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416a44 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (t8 == 0) {
    0x00416a48 beqz t8, 0x4173f4             |         goto label_65;
                                             |     }
    0x00416a4c lw t9, -0x72f0(gp)            |     t9 = sym.imp.BIO_read;
                                             |     if (v0 == 0) {
    0x00416a50 beqz v0, 0x417378             |         goto label_66;
                                             |     }
    0x00416a54 move a0, t8                   |     a0 = t8;
    0x00416a58 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416a5c move a1, v0                   |     a1 = v0;
    0x00416a60 move a2, s1                   |     a2 = s1;
    0x00416a64 sw t8, 0xbc(sp)               |     *(var_bch) = t8;
    0x00416a68 jalr t9                       |     t9 ();
    0x00416a6c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416a70 lw t8, 0xbc(sp)               |     t8 = *(var_bch);
    0x00416a74 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
    0x00416a78 move a0, t8                   |     a0 = t8;
    0x00416a7c sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x00416a80 jalr t9                       |     t9 ();
    0x00416a84 lw t8, 0x7c(sp)               |     t8 = *(var_7ch);
    0x00416a88 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416a8c lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (t8 <= 0) {
    0x00416a90 blez t8, 0x417340             |         goto label_67;
                                             |     }
                                             | label_24:
    0x00416a94 lw t9, -0x7c84(gp)            |     t9 = sym.imp.BIO_push;
    0x00416a98 move a0, s2                   |     a0 = s2;
    0x00416a9c lw a1, 0x78(sp)               |     a1 = *(var_78h);
    0x00416aa0 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416aa4 jalr t9                       |     t9 ();
    0x00416aa8 lw t8, 0xac(sp)               |     t8 = *(var_ach);
    0x00416aac lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416ab0 sw v0, 0x84(sp)               |     *(var_84h) = v0;
    0x00416ab4 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (t8 == 0) {
    0x00416ab8 beqz t8, 0x4173bc             |         goto label_68;
                                             |     }
                                             | label_26:
    0x00416abc lw t8, 0x8c(sp)               |     t8 = *(var_8ch);
                                             |     if (s0 == 0) {
    0x00416ac0 beqz s0, 0x4172a8             |         goto label_69;
                                             |     }
    0x00416ac4 sw zero, 0x60(sp)             |     *(var_60h) = 0;
                                             |     if (t8 != 0) {
    0x00416ac8 bnez t8, 0x41727c             |         goto label_70;
                                             |     }
    0x00416acc lw a0, 0x6c(sp)               |     a0 = *(var_6ch);
    0x00416ad0 lw t9, -0x713c(gp)            |     t9 = sym.imp.EVP_PKEY_get0_asn1;
                                             |     if (a0 != 0) {
    0x00416ad4 beqz a0, 0x416b18             |         
    0x00416ad8 sw v1, 0xc0(sp)               |         *(var_c0h) = v1;
    0x00416adc jalr t9                       |         t9 ();
    0x00416ae0 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416ae4 lw v1, 0xc0(sp)               |         v1 = *(var_c0h);
                                             |         if (v0 == 0) {
    0x00416ae8 beqz v0, 0x416b18             |             goto label_71;
                                             |         }
    0x00416aec lw t8, 0x80(sp)               |         t8 = *(var_80h);
    0x00416af0 move a0, zero                 |         a0 = 0;
    0x00416af4 lw t9, -0x7964(gp)            |         t9 = sym.imp.EVP_PKEY_asn1_get0_info;
    0x00416af8 move a1, zero                 |         a1 = 0;
    0x00416afc sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x00416b00 move a2, zero                 |         a2 = 0;
    0x00416b04 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00416b08 move a3, zero                 |         a3 = 0;
    0x00416b0c jalr t9                       |         t9 ();
    0x00416b10 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416b14 lw v1, 0xc0(sp)               |         v1 = *(var_c0h);
                                             |     }
                                             | label_71:
    0x00416b18 lw t8, 0xac(sp)               |     t8 = *(var_ach);
    0x00416b1c lw t9, -0x7a08(gp)            |     t9 = sym.imp.EVP_MD_type;
                                             |     if (t8 == 0) {
    0x00416b20 beqz t8, 0x41727c             |         goto label_70;
                                             |     }
    0x00416b24 move a0, t8                   |     a0 = t8;
    0x00416b28 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00416b2c jalr t9                       |     t9 ();
    0x00416b30 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416b34 lw t9, -0x6d2c(gp)            |     t9 = sym.imp.OBJ_nid2sn;
    0x00416b38 move a0, v0                   |     a0 = v0;
    0x00416b3c jalr t9                       |     t9 ();
    0x00416b40 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416b44 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
    0x00416b48 sw v0, 0x80(sp)               |     *(var_80h) = v0;
                                             | label_22:
    0x00416b4c move t8, zero                 |     t8 = 0;
                                             |     if (s0 <= 0) {
    0x00416b50 blez s0, 0x4173b4             |         goto label_72;
                                             |     }
    0x00416b54 move s6, s3                   |     s6 = s3;
    0x00416b58 sw s7, 0x88(sp)               |     *(var_88h) = s7;
    0x00416b5c move s3, s0                   |     s3 = s0;
    0x00416b60 move s1, zero                 |     s1 = 0;
    0x00416b64 move s7, v1                   |     s7 = v1;
    0x00416b68 move s0, t8                   |     s0 = t8;
    0x00416b6c b 0x416be0                    |     
                                             |     while (v0 > 0) {
    0x00416b70 lw t8, 0x8c(sp)               |         t8 = *(var_8ch);
    0x00416b74 move a3, s5                   |         a3 = s5;
    0x00416b78 lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
    0x00416b7c sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x00416b80 lw t8, 0x7c(sp)               |         t8 = *(var_7ch);
    0x00416b84 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00416b88 sw t8, 0x1c(sp)               |         *(var_1ch) = t8;
    0x00416b8c lw v0, 0x60(sp)               |         v0 = *(var_60h);
    0x00416b90 lw t8, 0x80(sp)               |         t8 = *(var_80h);
    0x00416b94 sw s6, 0x18(sp)               |         *(var_18h) = s6;
    0x00416b98 sw t8, 0x24(sp)               |         *(var_24h) = t8;
    0x00416b9c sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x00416ba0 lw v0, (s7)                   |         v0 = *(s7);
    0x00416ba4 sw s2, 0x2c(sp)               |         *(var_2ch) = s2;
    0x00416ba8 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x00416bac jalr t9                       |         t9 ();
    0x00416bb0 move a0, s2                   |         a0 = s2;
    0x00416bb4 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416bb8 addiu a1, zero, 1             |         a1 = 1;
    0x00416bbc move a2, zero                 |         a2 = 0;
    0x00416bc0 move a3, zero                 |         a3 = 0;
    0x00416bc4 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
                                             |         if (v0 == 0) {
    0x00416bc8 movn s1, v0, v0               |             s1 = v0;
                                             |         }
    0x00416bcc jalr t9                       |         t9 ();
    0x00416bd0 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             | label_8:
    0x00416bd4 addiu s0, s0, 1               |         s0++;
    0x00416bd8 addiu s7, s7, 4               |         s7 += 4;
                                             |         if (s0 == s3) {
    0x00416bdc beq s0, s3, 0x417270          |             goto label_73;
                                             |         }
    0x00416be0 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x00416be4 addiu a1, zero, 0x6c          |         a1 = 0x6c;
    0x00416be8 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00416bec addiu a2, zero, 3             |         a2 = 3;
    0x00416bf0 lw a3, (s7)                   |         a3 = *(s7);
    0x00416bf4 jalr t9                       |         t9 ();
    0x00416bf8 move a0, s4                   |         a0 = s4;
    0x00416bfc lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00416c00 move a1, fp                   |         a1 = fp;
    0x00416c04 lw a2, 0x84(sp)               |         a2 = *(var_84h);
    0x00416c08 lw t9, -0x7e38(gp)            |         t9 = sym.do_fp;
    0x00416c0c bgtz v0, 0x416b70             |         
                                             |     }
    0x00416c10 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
    0x00416c14 addiu s1, s1, 1               |     s1++;
    0x00416c18 lw a0, (s7)                   |     a0 = *(s7);
    0x00416c1c jalr t9                       |     t9 ();
    0x00416c20 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416c24 b 0x416bd4                    |     goto label_8;
                                             | label_47:
    0x00416c28 lw t8, 0x88(sp)               |     t8 = *(var_88h);
    0x00416c2c lw a0, (s6)                   |     a0 = *(s6);
                                             |     if (t8 == 0) {
    0x00416c30 beqz t8, 0x417284             |         goto label_74;
                                             |     }
    0x00416c34 move a2, t8                   |     a2 = t8;
                                             | label_23:
    0x00416c38 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416c3c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_opening_output_file__s_n */
    0x00416c40 addiu a1, a1, -0x156c         |     a1 += -0x156c;
                                             | label_18:
    0x00416c44 jalr t9                       |     t9 ();
    0x00416c48 nop                           |     
    0x00416c4c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_21:
    0x00416c50 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00416c54 lw a0, (s6)                   |     a0 = *(s6);
    0x00416c58 jalr t9                       |     t9 ();
    0x00416c5c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_52:
    0x00416c60 move s3, zero                 |     s3 = 0;
    0x00416c64 addiu s1, zero, 1             |     s1 = 1;
    0x00416c68 b 0x4165b0                    |     goto label_6;
                                             | label_29:
    0x00416c6c lw t9, -0x7830(gp)            |     t9 = sym.imp.sk_new_null;
    0x00416c70 jalr t9                       |     t9 ();
    0x00416c74 nop                           |     
    0x00416c78 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416c7c move s7, v0                   |     s7 = v0;
                                             |     if (v0 != 0) {
    0x00416c80 bnez v0, 0x417504             |         goto label_75;
                                             |     }
                                             | label_12:
    0x00416c84 move v1, s1                   |     v1 = s1;
    0x00416c88 b 0x416348                    |     goto label_9;
                                             | label_42:
    0x00416c8c lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00416c90 addiu s1, zero, 1             |     s1 = 1;
    0x00416c94 lw a0, (s6)                   |     a0 = *(s6);
    0x00416c98 move s3, zero                 |     s3 = 0;
    0x00416c9c move s4, zero                 |     s4 = 0;
    0x00416ca0 jalr t9                       |     t9 ();
    0x00416ca4 move a0, fp                   |     a0 = fp;
    0x00416ca8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416cac lw t9, -0x7510(gp)            |     t9 = sym.imp.OPENSSL_cleanse;
    0x00416cb0 addiu a1, zero, 0x2000        |     a1 = 0x2000;
    0x00416cb4 jalr t9                       |     t9 ();
    0x00416cb8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416cbc lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x00416cc0 move a0, fp                   |     a0 = fp;
    0x00416cc4 jalr t9                       |     t9 ();
    0x00416cc8 lw t8, 0x78(sp)               |     t8 = *(var_78h);
    0x00416ccc lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (t8 != 0) {
    0x00416cd0 bnez t8, 0x4165d4             |         goto label_10;
                                             |     }
    0x00416cd4 lw a0, 0x68(sp)               |     a0 = *(var_68h);
    0x00416cd8 b 0x416138                    |     goto label_11;
                                             | label_50:
    0x00416cdc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416ce0 move a0, s4                   |     a0 = s4;
    0x00416ce4 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._signature */
    0x00416ce8 addiu a1, a1, -0x1a04         |     a1 += -0x1a04;
    0x00416cec jalr t9                       |     t9 ();
    0x00416cf0 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00416cf4 bnez v0, 0x416f20             |         goto label_76;
                                             |     }
    0x00416cf8 addiu s0, s0, -1              |     s0 += -1;
                                             |     if (s0 == 0) {
    0x00416cfc beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x00416d00 nop                           |     
    0x00416d04 lw t8, 4(s1)                  |     t8 = *((s1 + 1));
    0x00416d08 addiu s1, s1, 4               |     s1 += 4;
    0x00416d0c sw t8, 0x9c(sp)               |     *(var_9ch) = t8;
    0x00416d10 b 0x4162fc                    |     goto label_2;
                                             | label_41:
    0x00416d14 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00416d18 lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* str.unknown_option__s_n */
    0x00416d1c addiu a1, a1, -0x1940         |     a1 += -0x1940;
    0x00416d20 jalr t9                       |     t9 ();
    0x00416d24 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416d28 lw a0, (s6)                   |     a0 = *(s6);
    0x00416d2c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416d30 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.options_are_n */
    0x00416d34 addiu a1, a1, -0x1928         |     a1 += -0x1928;
    0x00416d38 jalr t9                       |     t9 ();
    0x00416d3c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416d40 lw a0, (s6)                   |     a0 = *(s6);
    0x00416d44 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416d48 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._c______________to_output_the_digest_with_separating_colons_n */
    0x00416d4c addiu a1, a1, -0x1918         |     a1 += -0x1918;
    0x00416d50 jalr t9                       |     t9 ();
    0x00416d54 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416d58 lw a0, (s6)                   |     a0 = *(s6);
    0x00416d5c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416d60 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._r______________to_output_the_digest_in_coreutils_format_n */
    0x00416d64 addiu a1, a1, -0x18d8         |     a1 += -0x18d8;
    0x00416d68 jalr t9                       |     t9 ();
    0x00416d6c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416d70 lw a0, (s6)                   |     a0 = *(s6);
    0x00416d74 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416d78 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._d______________to_output_debug_info_n */
    0x00416d7c addiu a1, a1, -0x189c         |     a1 += -0x189c;
    0x00416d80 jalr t9                       |     t9 ();
    0x00416d84 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416d88 lw a0, (s6)                   |     a0 = *(s6);
    0x00416d8c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416d90 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._hex____________output_as_hex_dump_n */
    0x00416d94 addiu a1, a1, -0x1874         |     a1 += -0x1874;
    0x00416d98 jalr t9                       |     t9 ();
    0x00416d9c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416da0 lw a0, (s6)                   |     a0 = *(s6);
    0x00416da4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416da8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._binary_________output_in_binary_form_n */
    0x00416dac addiu a1, a1, -0x1850         |     a1 += -0x1850;
    0x00416db0 jalr t9                       |     t9 ();
    0x00416db4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416db8 lw a0, (s6)                   |     a0 = *(s6);
    0x00416dbc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416dc0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._hmac_arg_______set_the_HMAC_key_to_arg_n */
    0x00416dc4 addiu a1, a1, -0x1828         |     a1 += -0x1828;
    0x00416dc8 jalr t9                       |     t9 ();
    0x00416dcc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416dd0 lw a0, (s6)                   |     a0 = *(s6);
    0x00416dd4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416dd8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._non_fips_allow_allow_use_of_non_FIPS_digest_n */
    0x00416ddc addiu a1, a1, -0x17fc         |     a1 += -0x17fc;
    0x00416de0 jalr t9                       |     t9 ();
    0x00416de4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416de8 lw a0, (s6)                   |     a0 = *(s6);
    0x00416dec lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416df0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._sign___file____sign_digest_using_private_key_in_file_n */
    0x00416df4 addiu a1, a1, -0x17cc         |     a1 += -0x17cc;
    0x00416df8 jalr t9                       |     t9 ();
    0x00416dfc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416e00 lw a0, (s6)                   |     a0 = *(s6);
    0x00416e04 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416e08 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._verify_file____verify_a_signature_using_public_key_in_file_n */
    0x00416e0c addiu a1, a1, -0x1794         |     a1 += -0x1794;
    0x00416e10 jalr t9                       |     t9 ();
    0x00416e14 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416e18 lw a0, (s6)                   |     a0 = *(s6);
    0x00416e1c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416e20 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._prverify_file__verify_a_signature_using_private_key_in_file_n */
    0x00416e24 addiu a1, a1, -0x1754         |     a1 += -0x1754;
    0x00416e28 jalr t9                       |     t9 ();
    0x00416e2c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416e30 lw a0, (s6)                   |     a0 = *(s6);
    0x00416e34 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416e38 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._keyform_arg____key_file_format__PEM_or_ENGINE__n */
    0x00416e3c addiu a1, a1, -0x1714         |     a1 += -0x1714;
    0x00416e40 jalr t9                       |     t9 ();
    0x00416e44 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416e48 lw a0, (s6)                   |     a0 = *(s6);
    0x00416e4c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416e50 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._out_filename___output_to_filename_rather_than_stdout_n */
    0x00416e54 addiu a1, a1, -0x16e0         |     a1 += -0x16e0;
    0x00416e58 jalr t9                       |     t9 ();
    0x00416e5c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416e60 lw a0, (s6)                   |     a0 = *(s6);
    0x00416e64 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416e68 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._signature_file_signature_to_verify_n */
    0x00416e6c addiu a1, a1, -0x16a8         |     a1 += -0x16a8;
    0x00416e70 jalr t9                       |     t9 ();
    0x00416e74 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416e78 lw a0, (s6)                   |     a0 = *(s6);
    0x00416e7c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416e80 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._sigopt_nm:v____signature_parameter_n */
    0x00416e84 addiu a1, a1, -0x1680         |     a1 += -0x1680;
    0x00416e88 jalr t9                       |     t9 ();
    0x00416e8c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416e90 lw a0, (s6)                   |     a0 = *(s6);
    0x00416e94 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416e98 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._hmac_key_______create_hashed_MAC_with_key_n */
    0x00416e9c addiu a1, a1, -0x1658         |     a1 += -0x1658;
    0x00416ea0 jalr t9                       |     t9 ();
    0x00416ea4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416ea8 lw a0, (s6)                   |     a0 = *(s6);
    0x00416eac lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416eb0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._mac_algorithm__create_MAC__not_neccessarily_HMAC__n */
    0x00416eb4 addiu a1, a1, -0x162c         |     a1 += -0x162c;
    0x00416eb8 jalr t9                       |     t9 ();
    0x00416ebc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416ec0 lw a0, (s6)                   |     a0 = *(s6);
    0x00416ec4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416ec8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._macopt_nm:v____MAC_algorithm_parameters_or_key_n */
    0x00416ecc addiu a1, a1, -0x15f8         |     a1 += -0x15f8;
    0x00416ed0 jalr t9                       |     t9 ();
    0x00416ed4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416ed8 lw a0, (s6)                   |     a0 = *(s6);
    0x00416edc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416ee0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._engine_e_______use_engine_e__possibly_a_hardware_device._n */
    0x00416ee4 addiu a1, a1, -0x15c4         |     a1 += -0x15c4;
    0x00416ee8 jalr t9                       |     t9 ();
    0x00416eec lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416ef0 lw a1, (s6)                   |     a1 = *(s6);
    0x00416ef4 lw a0, -0x7fa8(gp)            |     a0 = *((gp - 8170));
    0x00416ef8 lw t9, -0x7390(gp)            |     t9 = sym.imp.EVP_MD_do_all_sorted;
    0x00416efc addiu a0, a0, 0x5b70          |     a0 += 0x5b70;
    0x00416f00 jalr t9                       |     t9 ();
    0x00416f04 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416f08 b 0x416100                    |     goto label_1;
                                             | label_51:
    0x00416f0c lw t8, 0x68(sp)               |     t8 = *(var_68h);
    0x00416f10 move a3, zero                 |     a3 = 0;
    0x00416f14 lw t9, -0x7fb0(gp)            |     t9 = sym.load_key;
    0x00416f18 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x00416f1c b 0x416798                    |     goto label_13;
                                             | label_76:
    0x00416f20 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416f24 move a0, s4                   |     a0 = s4;
    0x00416f28 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._keyform */
    0x00416f2c addiu a1, a1, -0x2c14         |     a1 += -0x2c14;
    0x00416f30 jalr t9                       |     t9 ();
    0x00416f34 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00416f38 bnez v0, 0x416fc0             |         goto label_77;
                                             |     }
    0x00416f3c addiu s0, s0, -1              |     s0 += -1;
    0x00416f40 lw t9, -0x7fd0(gp)            |     t9 = sym.str2fmt;
                                             |     if (s0 == 0) {
    0x00416f44 beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x00416f48 addiu s1, s1, 4               |     s1 += 4;
    0x00416f4c lw a0, (s1)                   |     a0 = *(s1);
    0x00416f50 jalr t9                       |     t9 ();
    0x00416f54 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00416f58 sw v0, 0xb0(sp)               |     *(var_b0h) = v0;
    0x00416f5c b 0x4162fc                    |     goto label_2;
                                             | label_34:
    0x00416f60 addiu t8, zero, -1            |     t8 = -1;
    0x00416f64 move v1, s1                   |     v1 = s1;
    0x00416f68 sw t8, 0x8c(sp)               |     *(var_8ch) = t8;
    0x00416f6c addiu t8, zero, 3             |     t8 = 3;
    0x00416f70 sw zero, 0xb4(sp)             |     *(var_b4h) = 0;
    0x00416f74 move s5, zero                 |     s5 = 0;
    0x00416f78 sw zero, 0xa0(sp)             |     *(var_a0h) = 0;
    0x00416f7c move s7, zero                 |     s7 = 0;
    0x00416f80 sw zero, 0xa4(sp)             |     *(var_a4h) = 0;
    0x00416f84 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00416f88 sw zero, 0x94(sp)             |     *(var_94h) = 0;
    0x00416f8c sw zero, 0x90(sp)             |     *(var_90h) = 0;
    0x00416f90 sw zero, 0xa8(sp)             |     *(var_a8h) = 0;
    0x00416f94 sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x00416f98 sw zero, 0x9c(sp)             |     *(var_9ch) = 0;
    0x00416f9c sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x00416fa0 sw zero, 0x88(sp)             |     *(var_88h) = 0;
    0x00416fa4 sw t8, 0xb0(sp)               |     *(var_b0h) = t8;
    0x00416fa8 sw zero, 0x98(sp)             |     *(var_98h) = 0;
    0x00416fac sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x00416fb0 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00416fb4 b 0x416438                    |     goto label_14;
                                             | label_54:
    0x00416fb8 move s1, zero                 |     s1 = 0;
    0x00416fbc b 0x416888                    |     goto label_15;
                                             | label_77:
    0x00416fc0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00416fc4 move a0, s4                   |     a0 = s4;
    0x00416fc8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._engine */
    0x00416fcc addiu a1, a1, -0x3470         |     a1 += -0x3470;
    0x00416fd0 jalr t9                       |     t9 ();
    0x00416fd4 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00416fd8 bnez v0, 0x41714c             |         goto label_78;
                                             |     }
    0x00416fdc addiu s0, s0, -1              |     s0 += -1;
    0x00416fe0 lw t9, -0x7fb4(gp)            |     t9 = sym.setup_engine;
                                             |     if (s0 == 0) {
    0x00416fe4 beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x00416fe8 move a2, zero                 |     a2 = 0;
    0x00416fec lw a1, 4(s1)                  |     a1 = *((s1 + 1));
    0x00416ff0 addiu s1, s1, 4               |     s1 += 4;
    0x00416ff4 lw a0, (s6)                   |     a0 = *(s6);
    0x00416ff8 jalr t9                       |     t9 ();
    0x00416ffc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00417000 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00417004 b 0x4162fc                    |     goto label_2;
                                             | label_59:
    0x00417008 lw t8, 0x6c(sp)               |     t8 = *(var_6ch);
    0x0041700c lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (t8 != 0) {
    0x00417010 bnez t8, 0x4168f0             |         goto label_16;
                                             |     }
    0x00417014 addiu t8, sp, 0x60            |     t8 = sp + 0x60;
    0x00417018 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x0041701c move a0, s2                   |     a0 = s2;
    0x00417020 sw t8, 0x80(sp)               |     *(var_80h) = t8;
    0x00417024 addiu a1, zero, 0x78          |     a1 = 0x78;
    0x00417028 move a2, zero                 |     a2 = 0;
    0x0041702c move a3, t8                   |     a3 = t8;
    0x00417030 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x00417034 jalr t9                       |     t9 ();
    0x00417038 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041703c lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x00417040 beqz v0, 0x4170e8             |         goto label_60;
                                             |     }
    0x00417044 lw t8, 0xac(sp)               |     t8 = *(var_ach);
    0x00417048 lw t9, -0x7488(gp)            |     t9 = sym.imp.EVP_md5;
                                             |     if (t8 == 0) {
    0x0041704c beqz t8, 0x41740c             |         goto label_79;
                                             |     }
                                             | label_28:
    0x00417050 lw t9, -0x7024(gp)            |     t9 = sym.imp.EVP_DigestInit_ex;
    0x00417054 lw a1, 0xac(sp)               |     a1 = *(var_ach);
    0x00417058 lw a0, 0x60(sp)               |     a0 = *(var_60h);
    0x0041705c lw a2, 0xb8(sp)               |     a2 = *(var_b8h);
    0x00417060 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00417064 jalr t9                       |     t9 ();
    0x00417068 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041706c lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 != 0) {
    0x00417070 bnez v0, 0x4169dc             |         goto label_17;
                                             |     }
    0x00417074 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417078 addiu a2, sp, 0x38            |     a2 = sp + 0x38;
    0x0041707c lw a0, (s6)                   |     a0 = *(s6);
    0x00417080 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_setting_digest__s_n */
    0x00417084 addiu a1, a1, -0x14b8         |     a1 += -0x14b8;
    0x00417088 b 0x416c44                    |     goto label_18;
                                             | label_45:
    0x0041708c lw t8, -0x77b0(gp)            |     t8 = *((gp - 7660));
    0x00417090 move a1, zero                 |     a1 = 0;
    0x00417094 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x00417098 lw a0, (t8)                   |     a0 = *(t8);
    0x0041709c b 0x41654c                    |     goto label_5;
                                             | label_58:
    0x004170a0 move a0, s2                   |     a0 = s2;
    0x004170a4 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x004170a8 addiu a1, zero, 0x78          |     a1 = 0x78;
    0x004170ac move a2, zero                 |     a2 = 0;
    0x004170b0 addiu a3, sp, 0x60            |     a3 = sp + 0x60;
    0x004170b4 jalr t9                       |     t9 ();
    0x004170b8 addiu a1, zero, 8             |     a1 = 8;
    0x004170bc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004170c0 lw t9, -0x6f8c(gp)            |     t9 = sym.imp.EVP_MD_CTX_set_flags;
    0x004170c4 lw a0, 0x60(sp)               |     a0 = *(var_60h);
    0x004170c8 jalr t9                       |     t9 ();
    0x004170cc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004170d0 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
    0x004170d4 b 0x4168b8                    |     goto label_19;
                                             | label_61:
    0x004170d8 sw t8, 0x80(sp)               |     *(var_80h) = t8;
    0x004170dc move a1, t8                   |     a1 = t8;
    0x004170e0 lw t9, -0x6c50(gp)            |     t9 = sym.imp.EVP_DigestSignInit;
    0x004170e4 b 0x416934                    |     goto label_20;
                                             | label_60:
    0x004170e8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004170ec lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004170f0 lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* str.Error_getting_context_n */
    0x004170f4 addiu a1, a1, -0x14e8         |     a1 += -0x14e8;
    0x004170f8 jalr t9                       |     t9 ();
    0x004170fc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00417100 b 0x416c50                    |     goto label_21;
                                             | label_56:
    0x00417104 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417108 move v1, s1                   |     v1 = s1;
    0x0041710c lw a0, (s6)                   |     a0 = *(s6);
    0x00417110 move s1, s0                   |     s1 = s0;
    0x00417114 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00417118 move a2, s1                   |     a2 = s1;
                                             |     /* str.MAC_parameter_error___s__n */
    0x0041711c addiu a1, a1, -0x151c         |     a1 += -0x151c;
    0x00417120 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00417124 lw s0, 0x80(sp)               |     s0 = *(var_80h);
    0x00417128 jalr t9                       |     t9 ();
    0x0041712c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_25:
    0x00417130 lw a0, (s6)                   |     a0 = *(s6);
    0x00417134 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00417138 move s1, zero                 |     s1 = 0;
    0x0041713c jalr t9                       |     t9 ();
    0x00417140 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00417144 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
    0x00417148 b 0x416888                    |     goto label_15;
                                             | label_78:
    0x0041714c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417150 move a0, s4                   |     a0 = s4;
    0x00417154 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._engine_impl */
    0x00417158 addiu a1, a1, -0x19f8         |     a1 += -0x19f8;
    0x0041715c jalr t9                       |     t9 ();
    0x00417160 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00417164 beqz v0, 0x41729c             |         goto label_80;
                                             |     }
    0x00417168 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041716c move a0, s4                   |     a0 = s4;
    0x00417170 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._hex */
    0x00417174 addiu a1, a1, -0x19e8         |     a1 += -0x19e8;
    0x00417178 jalr t9                       |     t9 ();
    0x0041717c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00417180 beqz v0, 0x417394             |         goto label_81;
                                             |     }
    0x00417184 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417188 move a0, s4                   |     a0 = s4;
    0x0041718c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._binary */
    0x00417190 addiu a1, a1, -0x19e0         |     a1 += -0x19e0;
    0x00417194 jalr t9                       |     t9 ();
    0x00417198 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x0041719c beqz v0, 0x4173a8             |         goto label_82;
                                             |     }
    0x004171a0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004171a4 move a0, s4                   |     a0 = s4;
    0x004171a8 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: '-d' */
    0x004171ac addiu a1, a1, -0x19d8         |     a1 += -0x19d8;
    0x004171b0 jalr t9                       |     t9 ();
    0x004171b4 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x004171b8 beqz v0, 0x41739c             |         goto label_83;
                                             |     }
    0x004171bc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004171c0 move a0, s4                   |     a0 = s4;
    0x004171c4 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._fips_fingerprint */
    0x004171c8 addiu a1, a1, -0x19d4         |     a1 += -0x19d4;
    0x004171cc jalr t9                       |     t9 ();
    0x004171d0 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x004171d4 beqz v0, 0x417468             |         goto label_84;
                                             |     }
    0x004171d8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004171dc move a0, s4                   |     a0 = s4;
    0x004171e0 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._non_fips_allow */
    0x004171e4 addiu a1, a1, -0x19c0         |     a1 += -0x19c0;
    0x004171e8 jalr t9                       |     t9 ();
    0x004171ec lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x004171f0 beqz v0, 0x41745c             |         goto label_85;
                                             |     }
    0x004171f4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004171f8 move a0, s4                   |     a0 = s4;
    0x004171fc lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._hmac */
    0x00417200 addiu a1, a1, -0x19b0         |     a1 += -0x19b0;
    0x00417204 jalr t9                       |     t9 ();
    0x00417208 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x0041720c bnez v0, 0x417424             |         goto label_86;
                                             |     }
    0x00417210 addiu s0, s0, -1              |     s0 += -1;
                                             |     if (s0 == 0) {
    0x00417214 beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x00417218 nop                           |     
    0x0041721c lw t8, 4(s1)                  |     t8 = *((s1 + 1));
    0x00417220 addiu s1, s1, 4               |     s1 += 4;
    0x00417224 sw t8, 0xa4(sp)               |     *(var_a4h) = t8;
    0x00417228 b 0x4162fc                    |     goto label_2;
                                             | label_63:
    0x0041722c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417230 move s1, s2                   |     s1 = s2;
    0x00417234 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00417238 move a2, s1                   |     a2 = s1;
    0x0041723c lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* esilref: 'parameter error "&s"
' */
    0x00417240 addiu a1, a1, -0x1518         |     a1 += -0x1518;
    0x00417244 move s2, s3                   |     s2 = s3;
    0x00417248 jalr t9                       |     t9 ();
    0x0041724c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00417250 b 0x416c50                    |     goto label_21;
                                             | label_62:
    0x00417254 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417258 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041725c lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* str.Error_setting_context_n */
    0x00417260 addiu a1, a1, -0x14d0         |     a1 += -0x14d0;
    0x00417264 jalr t9                       |     t9 ();
    0x00417268 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041726c b 0x416c50                    |     goto label_21;
                                             | label_73:
    0x00417270 move s3, s6                   |     s3 = s6;
    0x00417274 lw s7, 0x88(sp)               |     s7 = *(var_88h);
    0x00417278 b 0x4165b0                    |     goto label_6;
                                             | label_70:
    0x0041727c sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x00417280 b 0x416b4c                    |     goto label_22;
                                             | label_74:
    0x00417284 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
                                             |     /* esilref: '(stdout)' */
    0x00417288 addiu a2, a2, -0x1a44         |     a2 += -0x1a44;
    0x0041728c b 0x416c38                    |     goto label_23;
                                             | label_64:
    0x00417290 sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x00417294 move s3, zero                 |     s3 = 0;
    0x00417298 b 0x416a94                    |     goto label_24;
                                             | label_80:
    0x0041729c addiu t8, zero, 1             |     t8 = 1;
    0x004172a0 sw t8, 0x78(sp)               |     *(var_78h) = t8;
    0x004172a4 b 0x4162fc                    |     goto label_2;
                                             | label_69:
    0x004172a8 lw t8, -0x7bbc(gp)            |     t8 = *((gp - 7919));
    0x004172ac addiu a1, zero, 0x6a          |     a1 = 0x6a;
    0x004172b0 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x004172b4 move a2, zero                 |     a2 = 0;
    0x004172b8 lw a3, (t8)                   |     a3 = *(t8);
    0x004172bc lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x004172c0 jalr t9                       |     t9 ();
    0x004172c4 move a0, s4                   |     a0 = s4;
    0x004172c8 lw t8, 0x8c(sp)               |     t8 = *(var_8ch);
    0x004172cc move a1, fp                   |     a1 = fp;
    0x004172d0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004172d4 move a3, s5                   |     a3 = s5;
    0x004172d8 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x004172dc lw t8, 0x6c(sp)               |     t8 = *(var_6ch);
    0x004172e0 lw t9, -0x7e38(gp)            |     t9 = sym.do_fp;
    0x004172e4 sw t8, 0x14(sp)               |     *(var_14h) = t8;
    0x004172e8 lw t8, 0x7c(sp)               |     t8 = *(var_7ch);
    0x004172ec lw a2, 0x84(sp)               |     a2 = *(var_84h);
    0x004172f0 sw t8, 0x1c(sp)               |     *(var_1ch) = t8;
    0x004172f4 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x004172f8 sw s3, 0x18(sp)               |     *(var_18h) = s3;
                                             |     /* str.stdin */
    0x004172fc addiu t8, t8, -0x34d8         |     t8 += -0x34d8;
    0x00417300 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00417304 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00417308 sw t8, 0x28(sp)               |     *(var_28h) = t8;
    0x0041730c sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00417310 jalr t9                       |     t9 ();
    0x00417314 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00417318 move s1, v0                   |     s1 = v0;
    0x0041731c b 0x4165b0                    |     goto label_6;
                                             | label_57:
    0x00417320 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417324 lw a0, (s6)                   |     a0 = *(s6);
    0x00417328 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Error_generating_key_n */
    0x0041732c addiu a1, a1, -0x1500         |     a1 += -0x1500;
    0x00417330 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00417334 jalr t9                       |     t9 ();
    0x00417338 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041733c b 0x417130                    |     goto label_25;
                                             | label_67:
    0x00417340 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417344 lw a2, 0x9c(sp)               |     a2 = *(var_9ch);
    0x00417348 lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* str.Error_reading_signature_file__s_n */
    0x0041734c addiu a1, a1, -0x1464         |     a1 += -0x1464;
    0x00417350 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             | label_27:
    0x00417354 jalr t9                       |     t9 ();
    0x00417358 nop                           |     
    0x0041735c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     do {
    0x00417360 lw a0, (s6)                   |         a0 = *(s6);
    0x00417364 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00417368 addiu s1, zero, 1             |         s1 = 1;
    0x0041736c jalr t9                       |         t9 ();
    0x00417370 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00417374 b 0x4165b0                    |         goto label_6;
                                             | label_66:
    0x00417378 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041737c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00417380 lw a0, (s6)                   |         a0 = *(s6);
                                             |         /* str.Out_of_memory_n */
    0x00417384 addiu a1, a1, -0x1474         |         a1 += -0x1474;
    0x00417388 jalr t9                       |         t9 ();
    0x0041738c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00417390 b 0x417360                    |         
                                             |     } while (1);
                                             | label_81:
    0x00417394 sw zero, 0x8c(sp)             |     *(var_8ch) = 0;
    0x00417398 b 0x4162fc                    |     goto label_2;
                                             | label_83:
    0x0041739c addiu t8, zero, 1             |     t8 = 1;
    0x004173a0 sw t8, 0x98(sp)               |     *(var_98h) = t8;
    0x004173a4 b 0x4162fc                    |     goto label_2;
                                             | label_82:
    0x004173a8 addiu t8, zero, 1             |     t8 = 1;
    0x004173ac sw t8, 0x8c(sp)               |     *(var_8ch) = t8;
    0x004173b0 b 0x4162fc                    |     goto label_2;
                                             | label_72:
    0x004173b4 move s1, zero                 |     s1 = 0;
    0x004173b8 b 0x4165b0                    |     goto label_6;
                                             | label_68:
    0x004173bc lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x004173c0 move a0, s2                   |     a0 = s2;
    0x004173c4 lw a3, 0x80(sp)               |     a3 = *(var_80h);
    0x004173c8 addiu a1, zero, 0x78          |     a1 = 0x78;
    0x004173cc move a2, zero                 |     a2 = 0;
    0x004173d0 jalr t9                       |     t9 ();
    0x004173d4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004173d8 lw t9, -0x6c74(gp)            |     t9 = sym.imp.EVP_MD_CTX_md;
    0x004173dc lw a0, 0x60(sp)               |     a0 = *(var_60h);
    0x004173e0 jalr t9                       |     t9 ();
    0x004173e4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004173e8 sw v0, 0xac(sp)               |     *(var_ach) = v0;
    0x004173ec lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
    0x004173f0 b 0x416abc                    |     goto label_26;
                                             | label_65:
    0x004173f4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004173f8 lw a2, 0x9c(sp)               |     a2 = *(var_9ch);
    0x004173fc lw a0, (s6)                   |     a0 = *(s6);
                                             |     /* str.Error_opening_signature_file__s_n */
    0x00417400 addiu a1, a1, -0x1498         |     a1 += -0x1498;
    0x00417404 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00417408 b 0x417354                    |     goto label_27;
                                             | label_79:
    0x0041740c sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x00417410 jalr t9                       |     t9 ();
    0x00417414 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00417418 sw v0, 0xac(sp)               |     *(var_ach) = v0;
    0x0041741c lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
    0x00417420 b 0x417050                    |     goto label_28;
                                             | label_86:
    0x00417424 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00417428 move a0, s4                   |     a0 = s4;
    0x0041742c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._mac */
    0x00417430 addiu a1, a1, -0x19a8         |     a1 += -0x19a8;
    0x00417434 jalr t9                       |     t9 ();
    0x00417438 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x0041743c bnez v0, 0x417478             |         goto label_87;
                                             |     }
    0x00417440 addiu s0, s0, -1              |     s0 += -1;
                                             |     if (s0 == 0) {
    0x00417444 beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x00417448 nop                           |     
    0x0041744c lw t8, 4(s1)                  |     t8 = *((s1 + 1));
    0x00417450 addiu s1, s1, 4               |     s1 += 4;
    0x00417454 sw t8, 0xa0(sp)               |     *(var_a0h) = t8;
    0x00417458 b 0x4162fc                    |     goto label_2;
                                             | label_85:
    0x0041745c addiu t8, zero, 1             |     t8 = 1;
    0x00417460 sw t8, 0xb4(sp)               |     *(var_b4h) = t8;
    0x00417464 b 0x4162fc                    |     goto label_2;
                                             | label_84:
    0x00417468 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             |     /* str.etaonrishdlcupfm */
    0x0041746c addiu t8, t8, -0x1a58         |     t8 += -0x1a58;
    0x00417470 sw t8, 0xa4(sp)               |     *(var_a4h) = t8;
    0x00417474 b 0x4162fc                    |     goto label_2;
                                             | label_87:
    0x00417478 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041747c move a0, s4                   |     a0 = s4;
    0x00417480 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._sigopt */
    0x00417484 addiu a1, a1, -0x2bd0         |     a1 += -0x2bd0;
    0x00417488 jalr t9                       |     t9 ();
    0x0041748c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00417490 bnez v0, 0x4174d4             |         goto label_88;
                                             |     }
    0x00417494 addiu s0, s0, -1              |     s0 += -1;
    0x00417498 lw t8, 0x70(sp)               |     t8 = *(var_70h);
                                             |     if (s0 == 0) {
    0x0041749c beqz s0, 0x416c84             |         goto label_12;
                                             |     }
    0x004174a0 lw t9, -0x7830(gp)            |     t9 = sym.imp.sk_new_null;
                                             |     if (t8 == 0) {
    0x004174a4 beqz t8, 0x417510             |         goto label_89;
                                             |     }
                                             | label_31:
    0x004174a8 lw t9, -0x75c4(gp)            |     t9 = sym.imp.sk_push;
    0x004174ac lw a0, 0x70(sp)               |     a0 = *(var_70h);
                                             | label_30:
    0x004174b0 addiu v1, s1, 4               |     v1 = s1 + 4;
    0x004174b4 lw a1, 4(s1)                  |     a1 = *((s1 + 1));
    0x004174b8 sw v1, 0xc0(sp)               |     *(var_c0h) = v1;
    0x004174bc jalr t9                       |     t9 ();
    0x004174c0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x004174c4 lw v1, 0xc0(sp)               |     v1 = *(var_c0h);
                                             |     if (v0 == 0) {
    0x004174c8 beqz v0, 0x416348             |         goto label_9;
                                             |     }
    0x004174cc move s1, v1                   |     s1 = v1;
    0x004174d0 b 0x4162fc                    |     goto label_2;
                                             | label_88:
    0x004174d4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004174d8 move a0, s4                   |     a0 = s4;
    0x004174dc lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._macopt */
    0x004174e0 addiu a1, a1, -0x19a0         |     a1 += -0x19a0;
    0x004174e4 jalr t9                       |     t9 ();
    0x004174e8 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x004174ec bnez v0, 0x41752c             |         goto label_90;
                                             |     }
    0x004174f0 addiu s0, s0, -1              |     s0 += -1;
    0x004174f4 move v1, s1                   |     v1 = s1;
                                             |     if (s0 == 0) {
    0x004174f8 beqz s0, 0x416348             |         goto label_9;
                                             |     }
                                             |     if (s7 == 0) {
    0x004174fc beqz s7, 0x416c6c             |         goto label_29;
                                             |     }
    0x00417500 nop                           |     
                                             | label_75:
    0x00417504 lw t9, -0x75c4(gp)            |     t9 = sym.imp.sk_push;
    0x00417508 move a0, s7                   |     a0 = s7;
    0x0041750c b 0x4174b0                    |     goto label_30;
                                             | label_89:
    0x00417510 jalr t9                       |     t9 ();
    0x00417514 nop                           |     
    0x00417518 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0041751c sw v0, 0x70(sp)               |     *(var_70h) = v0;
                                             |     if (v0 != 0) {
    0x00417520 bnez v0, 0x4174a8             |         goto label_31;
                                             |     }
    0x00417524 move v1, s1                   |     v1 = s1;
    0x00417528 b 0x416348                    |     goto label_9;
                                             | label_90:
    0x0041752c lw t9, -0x7974(gp)            |     t9 = sym.imp.EVP_get_digestbyname;
    0x00417530 addiu a0, s4, 1               |     a0 = s4 + 1;
    0x00417534 jalr t9                       |     t9 ();
    0x00417538 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x0041753c beqz v0, 0x416c84             |         goto label_12;
                                             |     }
    0x00417540 sw v0, 0xac(sp)               |     *(var_ach) = v0;
    0x00417544 b 0x4162fc                    |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x415a04 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.do_X509_CRL_sign ()          | void do_X509_CRL_sign () {
    0x00415a04 lui gp, 8                     |     
    0x00415a08 addiu gp, gp, 0x6a9c          |     
    0x00415a0c addu gp, gp, t9               |     gp += t9;
    0x00415a10 addiu sp, sp, -0x60           |     
    0x00415a14 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x00415a18 sw s5, 0x58(sp)               |     *(var_58h) = s5;
    0x00415a1c sw s4, 0x54(sp)               |     *(var_54h) = s4;
    0x00415a20 sw s3, 0x50(sp)               |     *(var_50h) = s3;
    0x00415a24 sw s2, 0x4c(sp)               |     *(var_4ch) = s2;
    0x00415a28 sw s1, 0x48(sp)               |     *(var_48h) = s1;
    0x00415a2c sw s0, 0x44(sp)               |     *(var_44h) = s0;
    0x00415a30 addiu s3, sp, 0x20            |     s3 = sp + 0x20;
    0x00415a34 lw t9, -0x7994(gp)            |     t9 = sym.imp.EVP_MD_CTX_init;
    0x00415a38 move s5, a0                   |     s5 = a0;
    0x00415a3c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00415a40 move a0, s3                   |     a0 = s3;
    0x00415a44 move s0, a2                   |     s0 = a2;
    0x00415a48 lw s1, 0x70(sp)               |     s1 = *(arg_70h);
    0x00415a4c move s2, a3                   |     s2 = a3;
    0x00415a50 move s4, a1                   |     s4 = a1;
    0x00415a54 jalr t9                       |     t9 ();
    0x00415a58 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00415a5c move a0, s3                   |     a0 = s3;
    0x00415a60 lw t9, -0x7994(gp)            |     t9 = sym.imp.EVP_MD_CTX_init;
    0x00415a64 sw zero, 0x38(sp)             |     *(var_38h) = 0;
    0x00415a68 jalr t9                       |     t9 ();
    0x00415a6c move a0, s3                   |     a0 = s3;
    0x00415a70 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00415a74 addiu a1, sp, 0x38            |     a1 = sp + 0x38;
    0x00415a78 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00415a7c move a2, s2                   |     a2 = s2;
    0x00415a80 lw t9, -0x6c50(gp)            |     t9 = sym.imp.EVP_DigestSignInit;
    0x00415a84 move a3, zero                 |     a3 = 0;
    0x00415a88 jalr t9                       |     t9 ();
    0x00415a8c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00415a90 beqz v0, 0x415b38             |         goto label_0;
                                             |     }
    0x00415a94 move s0, zero                 |     s0 = 0;
    0x00415a98 b 0x415ac4                    |     
                                             |     while (v0 != 0) {
    0x00415a9c jalr t9                       |         t9 ();
    0x00415aa0 nop                           |         
    0x00415aa4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00415aa8 move a1, v0                   |         a1 = v0;
    0x00415aac lw a0, 0x38(sp)               |         a0 = *(var_38h);
    0x00415ab0 lw t9, -0x7fdc(gp)            |         t9 = sym.pkey_ctrl_string;
    0x00415ab4 move s2, v0                   |         s2 = v0;
    0x00415ab8 jalr t9                       |         t9 ();
    0x00415abc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 <= 0) {
    0x00415ac0 blez v0, 0x415b08             |             goto label_1;
                                             |         }
    0x00415ac4 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00415ac8 move a0, s1                   |         a0 = s1;
    0x00415acc jalr t9                       |         t9 ();
    0x00415ad0 move a1, s0                   |         a1 = s0;
    0x00415ad4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00415ad8 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00415adc move a0, s1                   |         a0 = s1;
    0x00415ae0 addiu s0, s0, 1               |         s0++;
    0x00415ae4 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x00415ae8 bnez v0, 0x415a9c             |         
                                             |     }
    0x00415aec lw t9, -0x792c(gp)            |     t9 = sym.imp.X509_CRL_sign_ctx;
    0x00415af0 move a0, s4                   |     a0 = s4;
    0x00415af4 move a1, s3                   |     a1 = s3;
    0x00415af8 jalr t9                       |     t9 ();
    0x00415afc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00415b00 slt s0, zero, v0              |     s0 = (0 < v0) ? 1 : 0;
    0x00415b04 b 0x415b3c                    |     goto label_2;
                                             | label_1:
    0x00415b08 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00415b0c move a0, s5                   |     a0 = s5;
    0x00415b10 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415b14 move a2, s2                   |     a2 = s2;
                                             |     /* esilref: 'parameter error "&s"
' */
    0x00415b18 addiu a1, a1, -0x1518         |     a1 += -0x1518;
    0x00415b1c jalr t9                       |     t9 ();
    0x00415b20 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00415b24 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00415b28 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00415b2c lw a0, (t8)                   |     a0 = *(t8);
    0x00415b30 jalr t9                       |     t9 ();
    0x00415b34 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_0:
    0x00415b38 move s0, zero                 |     s0 = 0;
                                             | label_2:
    0x00415b3c lw t9, -0x7414(gp)            |     t9 = sym.imp.EVP_MD_CTX_cleanup;
    0x00415b40 move a0, s3                   |     a0 = s3;
    0x00415b44 jalr t9                       |     t9 ();
    0x00415b48 move v0, s0                   |     v0 = s0;
    0x00415b4c lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x00415b50 lw s5, 0x58(sp)               |     s5 = *(var_58h);
    0x00415b54 lw s4, 0x54(sp)               |     s4 = *(var_54h);
    0x00415b58 lw s3, 0x50(sp)               |     s3 = *(var_50h);
    0x00415b5c lw s2, 0x4c(sp)               |     s2 = *(var_4ch);
    0x00415b60 lw s1, 0x48(sp)               |     s1 = *(var_48h);
    0x00415b64 lw s0, 0x44(sp)               |     s0 = *(var_44h);
    0x00415b68 addiu sp, sp, 0x60            |     
    0x00415b6c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4122b8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.do_X509_REQ_sign ()          | void do_X509_REQ_sign () {
    0x004122b8 lui gp, 9                     |     
    0x004122bc addiu gp, gp, -0x5e18         |     
    0x004122c0 addu gp, gp, t9               |     gp += t9;
    0x004122c4 addiu sp, sp, -0x60           |     
    0x004122c8 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x004122cc sw s5, 0x58(sp)               |     *(var_58h) = s5;
    0x004122d0 sw s4, 0x54(sp)               |     *(var_54h) = s4;
    0x004122d4 sw s3, 0x50(sp)               |     *(var_50h) = s3;
    0x004122d8 sw s2, 0x4c(sp)               |     *(var_4ch) = s2;
    0x004122dc sw s1, 0x48(sp)               |     *(var_48h) = s1;
    0x004122e0 sw s0, 0x44(sp)               |     *(var_44h) = s0;
    0x004122e4 addiu s3, sp, 0x20            |     s3 = sp + 0x20;
    0x004122e8 lw t9, -0x7994(gp)            |     t9 = sym.imp.EVP_MD_CTX_init;
    0x004122ec move s5, a0                   |     s5 = a0;
    0x004122f0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x004122f4 move a0, s3                   |     a0 = s3;
    0x004122f8 move s0, a2                   |     s0 = a2;
    0x004122fc lw s1, 0x70(sp)               |     s1 = *(arg_70h);
    0x00412300 move s2, a3                   |     s2 = a3;
    0x00412304 move s4, a1                   |     s4 = a1;
    0x00412308 jalr t9                       |     t9 ();
    0x0041230c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00412310 move a0, s3                   |     a0 = s3;
    0x00412314 lw t9, -0x7994(gp)            |     t9 = sym.imp.EVP_MD_CTX_init;
    0x00412318 sw zero, 0x38(sp)             |     *(var_38h) = 0;
    0x0041231c jalr t9                       |     t9 ();
    0x00412320 move a0, s3                   |     a0 = s3;
    0x00412324 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00412328 addiu a1, sp, 0x38            |     a1 = sp + 0x38;
    0x0041232c sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00412330 move a2, s2                   |     a2 = s2;
    0x00412334 lw t9, -0x6c50(gp)            |     t9 = sym.imp.EVP_DigestSignInit;
    0x00412338 move a3, zero                 |     a3 = 0;
    0x0041233c jalr t9                       |     t9 ();
    0x00412340 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00412344 beqz v0, 0x4123ec             |         goto label_0;
                                             |     }
    0x00412348 move s0, zero                 |     s0 = 0;
    0x0041234c b 0x412378                    |     
                                             |     while (v0 != 0) {
    0x00412350 jalr t9                       |         t9 ();
    0x00412354 nop                           |         
    0x00412358 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0041235c move a1, v0                   |         a1 = v0;
    0x00412360 lw a0, 0x38(sp)               |         a0 = *(var_38h);
    0x00412364 lw t9, -0x7fdc(gp)            |         t9 = sym.pkey_ctrl_string;
    0x00412368 move s2, v0                   |         s2 = v0;
    0x0041236c jalr t9                       |         t9 ();
    0x00412370 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 <= 0) {
    0x00412374 blez v0, 0x4123bc             |             goto label_1;
                                             |         }
    0x00412378 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x0041237c move a0, s1                   |         a0 = s1;
    0x00412380 jalr t9                       |         t9 ();
    0x00412384 move a1, s0                   |         a1 = s0;
    0x00412388 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0041238c slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00412390 move a0, s1                   |         a0 = s1;
    0x00412394 addiu s0, s0, 1               |         s0++;
    0x00412398 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x0041239c bnez v0, 0x412350             |         
                                             |     }
    0x004123a0 lw t9, -0x7780(gp)            |     t9 = sym.imp.X509_REQ_sign_ctx;
    0x004123a4 move a0, s4                   |     a0 = s4;
    0x004123a8 move a1, s3                   |     a1 = s3;
    0x004123ac jalr t9                       |     t9 ();
    0x004123b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004123b4 slt s0, zero, v0              |     s0 = (0 < v0) ? 1 : 0;
    0x004123b8 b 0x4123f0                    |     goto label_2;
                                             | label_1:
    0x004123bc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004123c0 move a0, s5                   |     a0 = s5;
    0x004123c4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004123c8 move a2, s2                   |     a2 = s2;
                                             |     /* esilref: 'parameter error "&s"
' */
    0x004123cc addiu a1, a1, -0x1518         |     a1 += -0x1518;
    0x004123d0 jalr t9                       |     t9 ();
    0x004123d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004123d8 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x004123dc lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x004123e0 lw a0, (t8)                   |     a0 = *(t8);
    0x004123e4 jalr t9                       |     t9 ();
    0x004123e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_0:
    0x004123ec move s0, zero                 |     s0 = 0;
                                             | label_2:
    0x004123f0 lw t9, -0x7414(gp)            |     t9 = sym.imp.EVP_MD_CTX_cleanup;
    0x004123f4 move a0, s3                   |     a0 = s3;
    0x004123f8 jalr t9                       |     t9 ();
    0x004123fc move v0, s0                   |     v0 = s0;
    0x00412400 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x00412404 lw s5, 0x58(sp)               |     s5 = *(var_58h);
    0x00412408 lw s4, 0x54(sp)               |     s4 = *(var_54h);
    0x0041240c lw s3, 0x50(sp)               |     s3 = *(var_50h);
    0x00412410 lw s2, 0x4c(sp)               |     s2 = *(var_4ch);
    0x00412414 lw s1, 0x48(sp)               |     s1 = *(var_48h);
    0x00412418 lw s0, 0x44(sp)               |     s0 = *(var_44h);
    0x0041241c addiu sp, sp, 0x60            |     
    0x00412420 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41214c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.do_X509_sign ()              | void do_X509_sign () {
    0x0041214c lui gp, 9                     |     
    0x00412150 addiu gp, gp, -0x5cac         |     
    0x00412154 addu gp, gp, t9               |     gp += t9;
    0x00412158 addiu sp, sp, -0x60           |     
    0x0041215c sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x00412160 sw s5, 0x58(sp)               |     *(var_58h) = s5;
    0x00412164 sw s4, 0x54(sp)               |     *(var_54h) = s4;
    0x00412168 sw s3, 0x50(sp)               |     *(var_50h) = s3;
    0x0041216c sw s2, 0x4c(sp)               |     *(var_4ch) = s2;
    0x00412170 sw s1, 0x48(sp)               |     *(var_48h) = s1;
    0x00412174 sw s0, 0x44(sp)               |     *(var_44h) = s0;
    0x00412178 addiu s3, sp, 0x20            |     s3 = sp + 0x20;
    0x0041217c lw t9, -0x7994(gp)            |     t9 = sym.imp.EVP_MD_CTX_init;
    0x00412180 move s5, a0                   |     s5 = a0;
    0x00412184 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00412188 move a0, s3                   |     a0 = s3;
    0x0041218c move s0, a2                   |     s0 = a2;
    0x00412190 lw s1, 0x70(sp)               |     s1 = *(arg_70h);
    0x00412194 move s2, a3                   |     s2 = a3;
    0x00412198 move s4, a1                   |     s4 = a1;
    0x0041219c jalr t9                       |     t9 ();
    0x004121a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004121a4 move a0, s3                   |     a0 = s3;
    0x004121a8 lw t9, -0x7994(gp)            |     t9 = sym.imp.EVP_MD_CTX_init;
    0x004121ac sw zero, 0x38(sp)             |     *(var_38h) = 0;
    0x004121b0 jalr t9                       |     t9 ();
    0x004121b4 move a0, s3                   |     a0 = s3;
    0x004121b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004121bc addiu a1, sp, 0x38            |     a1 = sp + 0x38;
    0x004121c0 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x004121c4 move a2, s2                   |     a2 = s2;
    0x004121c8 lw t9, -0x6c50(gp)            |     t9 = sym.imp.EVP_DigestSignInit;
    0x004121cc move a3, zero                 |     a3 = 0;
    0x004121d0 jalr t9                       |     t9 ();
    0x004121d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x004121d8 beqz v0, 0x412280             |         goto label_0;
                                             |     }
    0x004121dc move s0, zero                 |     s0 = 0;
    0x004121e0 b 0x41220c                    |     
                                             |     while (v0 != 0) {
    0x004121e4 jalr t9                       |         t9 ();
    0x004121e8 nop                           |         
    0x004121ec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004121f0 move a1, v0                   |         a1 = v0;
    0x004121f4 lw a0, 0x38(sp)               |         a0 = *(var_38h);
    0x004121f8 lw t9, -0x7fdc(gp)            |         t9 = sym.pkey_ctrl_string;
    0x004121fc move s2, v0                   |         s2 = v0;
    0x00412200 jalr t9                       |         t9 ();
    0x00412204 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 <= 0) {
    0x00412208 blez v0, 0x412250             |             goto label_1;
                                             |         }
    0x0041220c lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00412210 move a0, s1                   |         a0 = s1;
    0x00412214 jalr t9                       |         t9 ();
    0x00412218 move a1, s0                   |         a1 = s0;
    0x0041221c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00412220 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00412224 move a0, s1                   |         a0 = s1;
    0x00412228 addiu s0, s0, 1               |         s0++;
    0x0041222c lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x00412230 bnez v0, 0x4121e4             |         
                                             |     }
    0x00412234 lw t9, -0x7b4c(gp)            |     t9 = sym.imp.X509_sign_ctx;
    0x00412238 move a0, s4                   |     a0 = s4;
    0x0041223c move a1, s3                   |     a1 = s3;
    0x00412240 jalr t9                       |     t9 ();
    0x00412244 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00412248 slt s0, zero, v0              |     s0 = (0 < v0) ? 1 : 0;
    0x0041224c b 0x412284                    |     goto label_2;
                                             | label_1:
    0x00412250 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00412254 move a0, s5                   |     a0 = s5;
    0x00412258 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041225c move a2, s2                   |     a2 = s2;
                                             |     /* esilref: 'parameter error "&s"
' */
    0x00412260 addiu a1, a1, -0x1518         |     a1 += -0x1518;
    0x00412264 jalr t9                       |     t9 ();
    0x00412268 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0041226c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00412270 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00412274 lw a0, (t8)                   |     a0 = *(t8);
    0x00412278 jalr t9                       |     t9 ();
    0x0041227c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_0:
    0x00412280 move s0, zero                 |     s0 = 0;
                                             | label_2:
    0x00412284 lw t9, -0x7414(gp)            |     t9 = sym.imp.EVP_MD_CTX_cleanup;
    0x00412288 move a0, s3                   |     a0 = s3;
    0x0041228c jalr t9                       |     t9 ();
    0x00412290 move v0, s0                   |     v0 = s0;
    0x00412294 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x00412298 lw s5, 0x58(sp)               |     s5 = *(var_58h);
    0x0041229c lw s4, 0x54(sp)               |     s4 = *(var_54h);
    0x004122a0 lw s3, 0x50(sp)               |     s3 = *(var_50h);
    0x004122a4 lw s2, 0x4c(sp)               |     s2 = *(var_4ch);
    0x004122a8 lw s1, 0x48(sp)               |     s1 = *(var_48h);
    0x004122ac lw s0, 0x44(sp)               |     s0 = *(var_44h);
    0x004122b0 addiu sp, sp, 0x60            |     
    0x004122b4 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x415c78 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.do_fp ()                     | void do_fp () {
    0x00415c78 lui gp, 8                     |     
    0x00415c7c addiu gp, gp, 0x6828          |     
    0x00415c80 addu gp, gp, t9               |     gp += t9;
    0x00415c84 addiu sp, sp, -0x38           |     
    0x00415c88 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00415c8c sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x00415c90 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x00415c94 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00415c98 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x00415c9c sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00415ca0 move s2, a0                   |     s2 = a0;
    0x00415ca4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00415ca8 move s0, a1                   |     s0 = a1;
    0x00415cac move s1, a2                   |     s1 = a2;
    0x00415cb0 move s3, a3                   |     s3 = a3;
    0x00415cb4 b 0x415cc0                    |     
                                             |     while (v0 >= 0) {
    0x00415cb8 lw t8, 0x50(sp)               |         t8 = *(arg_50h);
                                             |         if (v0 == 0) {
    0x00415cbc beqz v0, 0x415d2c             |             goto label_9;
                                             |         }
    0x00415cc0 lw t9, -0x72f0(gp)            |         t9 = sym.imp.BIO_read;
    0x00415cc4 move a0, s1                   |         a0 = s1;
    0x00415cc8 move a1, s0                   |         a1 = s0;
    0x00415ccc addiu a2, zero, 0x2000        |         a2 = 0x2000;
    0x00415cd0 jalr t9                       |         t9 ();
    0x00415cd4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00415cd8 bgez v0, 0x415cb8             |         
                                             |     }
    0x00415cdc lw s0, -0x7fd4(gp)            |     s0 = *(gp);
    0x00415ce0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00415ce4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415ce8 lw a2, 0x60(sp)               |     a2 = *(arg_60h);
                                             |     /* str.Read_Error_in__s_n */
    0x00415cec addiu a1, a1, -0x1ae8         |     a1 += -0x1ae8;
    0x00415cf0 lw a0, (s0)                   |     a0 = *(s0);
    0x00415cf4 jalr t9                       |     t9 ();
    0x00415cf8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_1:
    0x00415cfc lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00415d00 lw a0, (s0)                   |     a0 = *(s0);
    0x00415d04 jalr t9                       |     t9 ();
    0x00415d08 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
                                             | label_0:
    0x00415d0c lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00415d10 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00415d14 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00415d18 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00415d1c lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00415d20 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00415d24 addiu sp, sp, 0x38            |         
    0x00415d28 jr ra                         |         return v0;
                                             | label_9:
    0x00415d2c lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
                                             |         if (t8 == 0) {
    0x00415d30 beqz t8, 0x415dc4             |             goto label_10;
                                             |         }
    0x00415d34 move a0, s1                   |         a0 = s1;
    0x00415d38 addiu a1, zero, 0x78          |         a1 = 0x78;
    0x00415d3c move a2, zero                 |         a2 = 0;
    0x00415d40 addiu a3, sp, 0x18            |         a3 = sp + 0x18;
    0x00415d44 jalr t9                       |         t9 ();
    0x00415d48 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00415d4c lw a1, 0x50(sp)               |         a1 = *(arg_50h);
    0x00415d50 lw t9, -0x745c(gp)            |         t9 = sym.imp.EVP_DigestVerifyFinal;
    0x00415d54 lw a2, 0x54(sp)               |         a2 = *(arg_54h);
    0x00415d58 lw a0, 0x18(sp)               |         a0 = *(var_18h);
    0x00415d5c jalr t9                       |         t9 ();
    0x00415d60 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 > 0) {
    0x00415d64 blez v0, 0x415da0             |             
    0x00415d68 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x00415d6c move a0, s2                   |             a0 = s2;
    0x00415d70 lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
                                             |             /* str.Verified_OK_n */
    0x00415d74 addiu a1, a1, -0x1ad4         |             a1 += -0x1ad4;
    0x00415d78 jalr t9                       |             t9 ();
    0x00415d7c move v0, zero                 |             v0 = 0;
    0x00415d80 lw ra, 0x34(sp)               |             ra = *(var_34h);
    0x00415d84 lw s4, 0x30(sp)               |             s4 = *(var_30h);
    0x00415d88 lw s3, 0x2c(sp)               |             s3 = *(var_2ch);
    0x00415d8c lw s2, 0x28(sp)               |             s2 = *(var_28h);
    0x00415d90 lw s1, 0x24(sp)               |             s1 = *(var_24h);
    0x00415d94 lw s0, 0x20(sp)               |             s0 = *(var_20h);
    0x00415d98 addiu sp, sp, 0x38            |             
    0x00415d9c jr ra                         |             return v0;
                                             |         }
    0x00415da0 lw s0, -0x7fd4(gp)            |         s0 = *(gp);
                                             |         if (v0 != 0) {
    0x00415da4 bnez v0, 0x415ed8             |             goto label_11;
                                             |         }
    0x00415da8 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00415dac move a0, s2                   |         a0 = s2;
    0x00415db0 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.Verification_Failure_n */
    0x00415db4 addiu a1, a1, -0x1ac4         |         a1 += -0x1ac4;
    0x00415db8 jalr t9                       |         t9 ();
    0x00415dbc addiu v0, zero, 1             |         v0 = 1;
    0x00415dc0 b 0x415d0c                    |         
                                             |     } while (1);
                                             | label_10:
    0x00415dc4 lw t8, 0x4c(sp)               |     t8 = *(arg_4ch);
    0x00415dc8 move a0, s1                   |     a0 = s1;
                                             |     if (t8 == 0) {
    0x00415dcc beqz t8, 0x416014             |         goto label_12;
                                             |     }
    0x00415dd0 addiu a1, zero, 0x78          |     a1 = 0x78;
    0x00415dd4 move a2, zero                 |     a2 = 0;
    0x00415dd8 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x00415ddc jalr t9                       |     t9 ();
    0x00415de0 addiu t8, zero, 0x2000        |     t8 = 0x2000;
    0x00415de4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00415de8 move a1, s0                   |     a1 = s0;
    0x00415dec lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x00415df0 addiu a2, sp, 0x1c            |     a2 = sp + 0x1c;
    0x00415df4 lw t9, -0x7af4(gp)            |     t9 = sym.imp.EVP_DigestSignFinal;
    0x00415df8 sw t8, 0x1c(sp)               |     *(var_1ch) = t8;
    0x00415dfc jalr t9                       |     t9 ();
    0x00415e00 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00415e04 beqz v0, 0x415fe0             |         goto label_13;
                                             |     }
                                             | label_8:
    0x00415e08 lw t8, 0x48(sp)               |     t8 = *(arg_48h);
    0x00415e0c addiu t8, zero, 2             |     t8 = 2;
                                             |     if (t8 != 0) {
    0x00415e10 bnez t8, 0x415ff8             |         goto label_14;
                                             |     }
    0x00415e14 lw t8, 0x58(sp)               |     t8 = *(arg_58h);
                                             |     if (s3 == t8) {
    0x00415e18 beq s3, t8, 0x415f80          |         goto label_15;
                                             |     }
    0x00415e1c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     if (t8 == 0) {
    0x00415e20 beqz t8, 0x415ef8             |         goto label_16;
                                             |     }
    0x00415e24 move a1, t8                   |     a1 = t8;
    0x00415e28 move a0, s2                   |     a0 = s2;
    0x00415e2c jalr t9                       |     t9 ();
    0x00415e30 lw t8, 0x5c(sp)               |     t8 = *(arg_5ch);
    0x00415e34 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (t8 != 0) {
    0x00415e38 beqz t8, 0x415e58             |         
    0x00415e3c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00415e40 move a0, s2                   |         a0 = s2;
    0x00415e44 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00415e48 move a2, t8                   |         a2 = t8;
                                             |         /* esilref: '-&s' */
    0x00415e4c addiu a1, a1, -0x1a70         |         a1 += -0x1a70;
    0x00415e50 jalr t9                       |         t9 ();
    0x00415e54 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
                                             | label_2:
    0x00415e58 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00415e5c move a0, s2                   |     a0 = s2;
    0x00415e60 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415e64 lw a2, 0x60(sp)               |     a2 = *(arg_60h);
                                             |     /* str.__s__ */
    0x00415e68 addiu a1, a1, -0x1a6c         |     a1 += -0x1a6c;
    0x00415e6c jalr t9                       |     t9 ();
    0x00415e70 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_3:
    0x00415e74 lw t8, 0x1c(sp)               |     t8 = *(var_1ch);
    0x00415e78 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (t8 <= 0) {
    0x00415e7c blez t8, 0x415ec0             |         goto label_17;
                                             |     }
    0x00415e80 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
                                             |     if (s3 != 0) {
    0x00415e84 bnez s3, 0x415f24             |         goto label_18;
                                             |     }
    0x00415e88 move s1, zero                 |     s1 = 0;
                                             |     /* str._02x */
    0x00415e8c addiu s3, s3, -0x1a78         |     s3 += -0x1a78;
                                             |     do {
    0x00415e90 addu t8, s0, s1               |         t8 = s0 + s1;
    0x00415e94 move a0, s2                   |         a0 = s2;
    0x00415e98 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00415e9c move a1, s3                   |         a1 = s3;
    0x00415ea0 lbu a2, (t8)                  |         a2 = *(t8);
    0x00415ea4 addiu s1, s1, 1               |         s1++;
    0x00415ea8 jalr t9                       |         t9 ();
    0x00415eac lw t8, 0x1c(sp)               |         t8 = *(var_1ch);
    0x00415eb0 slt t8, s1, t8                |         t8 = (s1 < t8) ? 1 : 0;
    0x00415eb4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00415eb8 bnez t8, 0x415e90             |         
                                             |     } while (t8 != 0);
                                             | label_4:
    0x00415ebc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             | label_17:
    0x00415ec0 move a0, s2                   |     a0 = s2;
    0x00415ec4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415ec8 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x00415ecc jalr t9                       |     t9 ();
    0x00415ed0 move v0, zero                 |     v0 = 0;
    0x00415ed4 b 0x415d0c                    |     goto label_0;
                                             | label_11:
    0x00415ed8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00415edc lw a0, (s0)                   |     a0 = *(s0);
    0x00415ee0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_Verifying_Data_n */
    0x00415ee4 addiu a1, a1, -0x1aac         |     a1 += -0x1aac;
                                             | label_7:
    0x00415ee8 jalr t9                       |     t9 ();
    0x00415eec nop                           |     
    0x00415ef0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00415ef4 b 0x415cfc                    |     goto label_1;
                                             | label_16:
    0x00415ef8 lw t8, 0x5c(sp)               |     t8 = *(arg_5ch);
    0x00415efc move a0, s2                   |     a0 = s2;
                                             |     if (t8 == 0) {
    0x00415f00 beqz t8, 0x415e58             |         goto label_2;
                                             |     }
    0x00415f04 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00415f08 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415f0c move a2, t8                   |     a2 = t8;
    0x00415f10 lw a3, 0x60(sp)               |     a3 = *(arg_60h);
                                             |     /* str._s__s__ */
    0x00415f14 addiu a1, a1, -0x1a64         |     a1 += -0x1a64;
    0x00415f18 jalr t9                       |     t9 ();
    0x00415f1c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00415f20 b 0x415e74                    |     goto label_3;
                                             | label_18:
    0x00415f24 move s1, zero                 |     s1 = 0;
    0x00415f28 lw s4, -0x7fd8(gp)            |     s4 = *(gp);
                                             |     /* str._02x */
    0x00415f2c addiu s3, s3, -0x1a78         |     s3 += -0x1a78;
    0x00415f30 addiu s4, s4, -0x824          |     s4 += -0x824;
                                             | label_6:
    0x00415f34 addu t8, s0, s1               |     t8 = s0 + s1;
                                             | label_5:
    0x00415f38 move a0, s2                   |     a0 = s2;
    0x00415f3c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415f40 move a1, s3                   |     a1 = s3;
    0x00415f44 lbu a2, (t8)                  |     a2 = *(t8);
    0x00415f48 addiu s1, s1, 1               |     s1++;
    0x00415f4c jalr t9                       |     t9 ();
    0x00415f50 lw t8, 0x1c(sp)               |     t8 = *(var_1ch);
    0x00415f54 slt t8, s1, t8                |     t8 = (s1 < t8) ? 1 : 0;
    0x00415f58 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (t8 == 0) {
    0x00415f5c beqz t8, 0x415ebc             |         goto label_4;
                                             |     }
    0x00415f60 addu t8, s0, s1               |     t8 = s0 + s1;
                                             |     if (s1 == 0) {
    0x00415f64 beqz s1, 0x415f38             |         goto label_5;
                                             |     }
    0x00415f68 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415f6c move a0, s2                   |     a0 = s2;
    0x00415f70 move a1, s4                   |     a1 = s4;
    0x00415f74 jalr t9                       |     t9 ();
    0x00415f78 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00415f7c b 0x415f34                    |     goto label_6;
                                             | label_15:
    0x00415f80 lw t8, 0x1c(sp)               |     t8 = *(var_1ch);
    0x00415f84 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
                                             |     if (t8 <= 0) {
    0x00415f88 blez t8, 0x415fc0             |         goto label_19;
                                             |     }
    0x00415f8c move s1, zero                 |     s1 = 0;
                                             |     /* str._02x */
    0x00415f90 addiu s3, s3, -0x1a78         |     s3 += -0x1a78;
                                             |     do {
    0x00415f94 addu t8, s0, s1               |         t8 = s0 + s1;
    0x00415f98 move a0, s2                   |         a0 = s2;
    0x00415f9c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00415fa0 move a1, s3                   |         a1 = s3;
    0x00415fa4 lbu a2, (t8)                  |         a2 = *(t8);
    0x00415fa8 addiu s1, s1, 1               |         s1++;
    0x00415fac jalr t9                       |         t9 ();
    0x00415fb0 lw t8, 0x1c(sp)               |         t8 = *(var_1ch);
    0x00415fb4 slt t8, s1, t8                |         t8 = (s1 < t8) ? 1 : 0;
    0x00415fb8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00415fbc bnez t8, 0x415f94             |         
                                             |     } while (t8 != 0);
                                             | label_19:
    0x00415fc0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00415fc4 move a0, s2                   |     a0 = s2;
    0x00415fc8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00415fcc lw a2, 0x60(sp)               |     a2 = *(arg_60h);
                                             |     /* str.__s_n */
    0x00415fd0 addiu a1, a1, -0x1a80         |     a1 += -0x1a80;
    0x00415fd4 jalr t9                       |     t9 ();
    0x00415fd8 move v0, zero                 |     v0 = 0;
    0x00415fdc b 0x415d0c                    |     goto label_0;
                                             | label_13:
    0x00415fe0 lw s0, -0x7fd4(gp)            |     s0 = *(gp);
    0x00415fe4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00415fe8 lw a0, (s0)                   |     a0 = *(s0);
    0x00415fec lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_Signing_Data_n */
    0x00415ff0 addiu a1, a1, -0x1a94         |     a1 += -0x1a94;
    0x00415ff4 b 0x415ee8                    |     goto label_7;
                                             | label_14:
    0x00415ff8 lw t9, -0x74c8(gp)            |     t9 = sym.imp.BIO_write;
    0x00415ffc move a0, s2                   |     a0 = s2;
    0x00416000 lw a2, 0x1c(sp)               |     a2 = *(var_1ch);
    0x00416004 move a1, s0                   |     a1 = s0;
    0x00416008 jalr t9                       |     t9 ();
    0x0041600c move v0, zero                 |     v0 = 0;
    0x00416010 b 0x415d0c                    |     goto label_0;
                                             | label_12:
    0x00416014 lw t9, -0x7c78(gp)            |     t9 = sym.imp.BIO_gets;
    0x00416018 move a1, s0                   |     a1 = s0;
    0x0041601c addiu a2, zero, 0x2000        |     a2 = 0x2000;
    0x00416020 jalr t9                       |     t9 ();
    0x00416024 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00416028 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
                                             |     if (v0 >= 0) {
    0x0041602c bgez v0, 0x415e08             |         goto label_8;
                                             |     }
    0x00416030 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00416034 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00416038 lw a0, (t8)                   |     a0 = *(t8);
    0x0041603c jalr t9                       |     t9 ();
    0x00416040 addiu v0, zero, 1             |     v0 = 1;
    0x00416044 b 0x415d0c                    |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4538a0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.dump_certs_keys_p12 ()       | void dump_certs_keys_p12 () {
    0x004538a0 lui gp, 5                     |     
    0x004538a4 addiu gp, gp, -0x7400         |     
    0x004538a8 addu gp, gp, t9               |     gp += t9;
    0x004538ac addiu sp, sp, -0x48           |     
    0x004538b0 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x004538b4 sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x004538b8 sw s7, 0x3c(sp)               |     *(var_3ch) = s7;
    0x004538bc sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x004538c0 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x004538c4 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x004538c8 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x004538cc sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x004538d0 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x004538d4 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x004538d8 move s6, a0                   |     s6 = a0;
    0x004538dc lw t9, -0x6d78(gp)            |     t9 = sym.imp.PKCS12_unpack_authsafes;
    0x004538e0 move a0, a1                   |     a0 = a1;
    0x004538e4 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x004538e8 move s2, a2                   |     s2 = a2;
    0x004538ec lw s4, 0x58(sp)               |     s4 = *(arg_58h);
    0x004538f0 move s3, a3                   |     s3 = a3;
    0x004538f4 lw s7, 0x5c(sp)               |     s7 = *(arg_5ch);
    0x004538f8 jalr t9                       |     t9 ();
    0x004538fc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00453900 move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00453904 beqz v0, 0x453ac8             |         goto label_4;
                                             |     }
    0x00453908 lw t9, -0x798c(gp)            |     t9 = sym.imp.sk_num;
    0x0045390c move a0, s1                   |     a0 = s1;
    0x00453910 move s0, zero                 |     s0 = 0;
    0x00453914 andi s5, s4, 4                |     s5 = s4 & 4;
    0x00453918 jalr t9                       |     t9 ();
    0x0045391c slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x00453920 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00453924 beqz v0, 0x453984             |         goto label_5;
                                             |     }
                                             |     do {
    0x00453928 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x0045392c move a0, s1                   |         a0 = s1;
    0x00453930 move a1, s0                   |         a1 = s0;
    0x00453934 jalr t9                       |         t9 ();
    0x00453938 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0045393c move fp, v0                   |         fp = v0;
    0x00453940 lw t9, -0x77e4(gp)            |         t9 = sym.imp.OBJ_obj2nid;
    0x00453944 lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x00453948 jalr t9                       |         t9 ();
    0x0045394c move t8, v0                   |         t8 = v0;
    0x00453950 addiu v0, zero, 0x15          |         v0 = 0x15;
    0x00453954 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (t8 == v0) {
    0x00453958 beq t8, v0, 0x453a3c          |             goto label_6;
                                             |         }
    0x0045395c addiu v0, zero, 0x1a          |         v0 = 0x1a;
                                             |         if (t8 == v0) {
    0x00453960 beq t8, v0, 0x4539cc          |             goto label_7;
                                             |         }
    0x00453964 nop                           |         
    0x00453968 addiu s0, s0, 1               |         s0++;
                                             | label_0:
    0x0045396c lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00453970 move a0, s1                   |         a0 = s1;
    0x00453974 jalr t9                       |         t9 ();
    0x00453978 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x0045397c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00453980 bnez v0, 0x453928             |         
                                             |     } while (v0 != 0);
                                             | label_5:
    0x00453984 addiu s0, zero, 1             |     s0 = 1;
                                             | label_2:
    0x00453988 lw t9, -0x75ec(gp)            |     t9 = sym.imp.sk_pop_free;
    0x0045398c lw a1, -0x78f8(gp)            |     a1 = *((gp - 7742));
    0x00453990 move a0, s1                   |     a0 = s1;
    0x00453994 jalr t9                       |     t9 ();
    0x00453998 move v0, s0                   |     v0 = s0;
    0x0045399c lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x004539a0 lw fp, 0x40(sp)               |     fp = *(var_40h);
    0x004539a4 lw s7, 0x3c(sp)               |     s7 = *(var_3ch);
    0x004539a8 lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x004539ac lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x004539b0 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x004539b4 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x004539b8 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x004539bc lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x004539c0 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x004539c4 addiu sp, sp, 0x48            |     
    0x004539c8 jr ra                         |     return v0;
                                             | label_7:
    0x004539cc lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     if (s5 != 0) {
    0x004539d0 bnez s5, 0x453a7c             |         goto label_8;
                                             |     }
                                             | label_3:
    0x004539d4 lw t9, -0x7150(gp)            |     t9 = sym.imp.PKCS12_unpack_p7encdata;
    0x004539d8 move a0, fp                   |     a0 = fp;
    0x004539dc move a1, s2                   |     a1 = s2;
    0x004539e0 move a2, s3                   |     a2 = s3;
    0x004539e4 jalr t9                       |     t9 ();
    0x004539e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004539ec move fp, v0                   |     fp = v0;
                                             |     do {
                                             |         if (fp == 0) {
    0x004539f0 beqz fp, 0x453a74             |             goto label_9;
                                             |         }
    0x004539f4 nop                           |         
                                             | label_1:
    0x004539f8 lw t9, -0x7e90(gp)            |         t9 = sym.dump_certs_pkeys_bags;
    0x004539fc move a0, s6                   |         a0 = s6;
    0x00453a00 move a1, fp                   |         a1 = fp;
    0x00453a04 sw s4, 0x10(sp)               |         *(var_10h) = s4;
    0x00453a08 sw s7, 0x14(sp)               |         *(var_14h) = s7;
    0x00453a0c move a2, s2                   |         a2 = s2;
    0x00453a10 move a3, s3                   |         a3 = s3;
    0x00453a14 jalr t9                       |         t9 ();
    0x00453a18 move a0, fp                   |         a0 = fp;
    0x00453a1c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00453a20 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
    0x00453a24 lw a1, -0x7560(gp)            |         a1 = *((gp - 7512));
                                             |         if (v0 == 0) {
    0x00453a28 beqz v0, 0x453ab8             |             goto label_10;
                                             |         }
    0x00453a2c addiu s0, s0, 1               |         s0++;
    0x00453a30 jalr t9                       |         t9 ();
    0x00453a34 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00453a38 b 0x45396c                    |         goto label_0;
                                             | label_6:
    0x00453a3c lw t9, -0x74d0(gp)            |         t9 = sym.imp.PKCS12_unpack_p7data;
    0x00453a40 move a0, fp                   |         a0 = fp;
    0x00453a44 jalr t9                       |         t9 ();
    0x00453a48 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00453a4c move fp, v0                   |         fp = v0;
    0x00453a50 beqz s5, 0x4539f0             |         
                                             |     } while (s5 == 0);
    0x00453a54 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
    0x00453a58 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00453a5c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00453a60 lw a0, (v0)                   |     a0 = *(v0);
                                             |     /* str.PKCS7_Data_n */
    0x00453a64 addiu a1, a1, -0x2cb4         |     a1 += -0x2cb4;
    0x00453a68 jalr t9                       |     t9 ();
    0x00453a6c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (fp != 0) {
    0x00453a70 bnez fp, 0x4539f8             |         goto label_1;
                                             |     }
                                             | label_9:
    0x00453a74 move s0, zero                 |     s0 = 0;
    0x00453a78 b 0x453988                    |     goto label_2;
                                             | label_8:
    0x00453a7c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00453a80 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00453a84 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.PKCS7_Encrypted_data:_ */
    0x00453a88 addiu a1, a1, -0x2ca8         |     a1 += -0x2ca8;
    0x00453a8c jalr t9                       |     t9 ();
    0x00453a90 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00453a94 lw t8, 0x14(fp)               |     t8 = *(arg_5ch);
    0x00453a98 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
    0x00453a9c lw t8, 4(t8)                  |     t8 = *((t8 + 1));
    0x00453aa0 lw t9, -0x7e84(gp)            |     t9 = sym.alg_print;
    0x00453aa4 lw a0, (v0)                   |     a0 = *(v0);
    0x00453aa8 lw a1, 4(t8)                  |     a1 = *((t8 + 1));
    0x00453aac jalr t9                       |     t9 ();
    0x00453ab0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00453ab4 b 0x4539d4                    |     goto label_3;
                                             | label_10:
    0x00453ab8 move s0, zero                 |     s0 = 0;
    0x00453abc jalr t9                       |     t9 ();
    0x00453ac0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00453ac4 b 0x453988                    |     goto label_2;
                                             | label_4:
    0x00453ac8 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x00453acc move v0, zero                 |     v0 = 0;
    0x00453ad0 lw fp, 0x40(sp)               |     fp = *(var_40h);
    0x00453ad4 lw s7, 0x3c(sp)               |     s7 = *(var_3ch);
    0x00453ad8 lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x00453adc lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x00453ae0 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00453ae4 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00453ae8 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00453aec lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00453af0 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00453af4 addiu sp, sp, 0x48            |     
    0x00453af8 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x453328 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.dump_certs_pkeys_bag ()      | void dump_certs_pkeys_bag () {
    0x00453328 lui gp, 5                     |     
    0x0045332c addiu gp, gp, -0x6e88         |     
    0x00453330 addu gp, gp, t9               |     gp += t9;
    0x00453334 addiu sp, sp, -0x48           |     
    0x00453338 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0045333c sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x00453340 sw s5, 0x3c(sp)               |     *(var_3ch) = s5;
    0x00453344 sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x00453348 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x0045334c sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x00453350 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x00453354 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x00453358 move s2, a0                   |     s2 = a0;
    0x0045335c lw t9, -0x77e4(gp)            |     t9 = sym.imp.OBJ_obj2nid;
    0x00453360 move s0, a1                   |     s0 = a1;
    0x00453364 lw a0, (a1)                   |     a0 = *(a1);
    0x00453368 move s5, a2                   |     s5 = a2;
    0x0045336c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00453370 move s4, a3                   |     s4 = a3;
    0x00453374 lw s1, 0x58(sp)               |     s1 = *(arg_58h);
    0x00453378 lw s3, 0x5c(sp)               |     s3 = *(arg_5ch);
    0x0045337c jalr t9                       |     t9 ();
    0x00453380 addiu t8, zero, 0x97          |     t8 = 0x97;
    0x00453384 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == t8) {
    0x00453388 beq v0, t8, 0x453584          |         goto label_8;
                                             |     }
    0x0045338c slti t8, v0, 0x98             |     t8 = (v0 < 0x98) ? 1 : 0;
    0x00453390 addiu t8, zero, 0x98          |     t8 = 0x98;
                                             |     if (t8 != 0) {
    0x00453394 bnez t8, 0x453458             |         goto label_9;
                                             |     }
    0x00453398 addiu t8, zero, 0x9b          |     t8 = 0x9b;
                                             |     if (v0 != t8) {
    0x0045339c beq v0, t8, 0x453410          |         
    0x004533a0 andi t8, s1, 4                |         t8 = s1 & 4;
                                             |         if (v0 != t8) {
    0x004533a4 bne v0, t8, 0x453510          |             goto label_10;
                                             |         }
    0x004533a8 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
                                             |         if (t8 != 0) {
    0x004533ac bnez t8, 0x45370c             |             goto label_11;
                                             |         }
                                             | label_3:
    0x004533b0 lw a2, -0x7f9c(gp)            |         a2 = *(gp);
    0x004533b4 move a0, s2                   |         a0 = s2;
    0x004533b8 lw t9, -0x7e94(gp)            |         t9 = sym.print_attribs;
    0x004533bc lw a1, 8(s0)                  |         a1 = *((s0 + 2));
                                             |         /* str.Bag_Attributes */
    0x004533c0 addiu a2, a2, -0x2d30         |         a2 += -0x2d30;
    0x004533c4 jalr t9                       |         t9 ();
    0x004533c8 move a0, s2                   |         a0 = s2;
    0x004533cc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004533d0 move a2, s5                   |         a2 = s5;
    0x004533d4 lw a1, 4(s0)                  |         a1 = *((s0 + 1));
    0x004533d8 move a3, s4                   |         a3 = s4;
    0x004533dc sw s1, 0x58(sp)               |         *(arg_58h) = s1;
    0x004533e0 sw s3, 0x5c(sp)               |         *(arg_5ch) = s3;
    0x004533e4 lw t9, -0x7e90(gp)            |         t9 = sym.dump_certs_pkeys_bags;
    0x004533e8 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x004533ec lw s6, 0x40(sp)               |         s6 = *(var_40h);
    0x004533f0 lw s5, 0x3c(sp)               |         s5 = *(var_3ch);
    0x004533f4 lw s4, 0x38(sp)               |         s4 = *(var_38h);
    0x004533f8 lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x004533fc lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x00453400 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x00453404 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x00453408 addiu sp, sp, 0x48            |         
    0x0045340c jr t9                         |         t9 ();
                                             |     }
    0x00453410 andi t8, s1, 4                |     t8 = s1 & 4;
    0x00453414 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     if (t8 != 0) {
    0x00453418 bnez t8, 0x453728             |         goto label_12;
                                             |     }
                                             | label_4:
    0x0045341c andi t8, s1, 2                |     t8 = s1 & 2;
    0x00453420 lw t9, -0x7508(gp)            |     t9 = sym.imp.PKCS12_get_attr_gen;
                                             |     if (t8 == 0) {
    0x00453424 beqz t8, 0x45365c             |         goto label_13;
                                             |     }
                                             | label_1:
    0x00453428 addiu s1, zero, 1             |     s1 = 1;
                                             |     do {
                                             | label_2:
    0x0045342c move v0, s1                   |         v0 = s1;
                                             | label_0:
    0x00453430 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x00453434 lw s6, 0x40(sp)               |         s6 = *(var_40h);
    0x00453438 lw s5, 0x3c(sp)               |         s5 = *(var_3ch);
    0x0045343c lw s4, 0x38(sp)               |         s4 = *(var_38h);
    0x00453440 lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x00453444 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x00453448 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x0045344c lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x00453450 addiu sp, sp, 0x48            |         
    0x00453454 jr ra                         |         return v0;
                                             | label_9:
    0x00453458 addiu t8, zero, 0x96          |         t8 = 0x96;
    0x0045345c andi t8, s1, 4                |         t8 = s1 & 4;
                                             |         if (v0 != t8) {
    0x00453460 bne v0, t8, 0x453510          |             goto label_10;
                                             |         }
    0x00453464 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
                                             |         if (t8 != 0) {
    0x00453468 bnez t8, 0x453778             |             goto label_14;
                                             |         }
                                             | label_6:
    0x0045346c andi s1, s1, 1                |         s1 &= 1;
    0x00453470 addiu s1, zero, 1             |         s1 = 1;
    0x00453474 bnez s1, 0x45342c             |         
                                             |     } while (s1 != 0);
    0x00453478 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0045347c move a0, s2                   |     a0 = s2;
    0x00453480 lw t9, -0x7e94(gp)            |     t9 = sym.print_attribs;
    0x00453484 lw a1, 8(s0)                  |     a1 = *((s0 + 2));
                                             |     /* str.Bag_Attributes */
    0x00453488 addiu a2, a2, -0x2d30         |     a2 += -0x2d30;
    0x0045348c jalr t9                       |     t9 ();
    0x00453490 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00453494 lw s1, 4(s0)                  |     s1 = *((s0 + 1));
    0x00453498 lw t9, -0x70ac(gp)            |     t9 = sym.imp.EVP_PKCS82PKEY;
    0x0045349c move a0, s1                   |     a0 = s1;
    0x004534a0 jalr t9                       |     t9 ();
    0x004534a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004534a8 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x004534ac beqz v0, 0x453794             |         goto label_15;
                                             |     }
    0x004534b0 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x004534b4 move a0, s2                   |     a0 = s2;
    0x004534b8 lw t9, -0x7e94(gp)            |     t9 = sym.print_attribs;
    0x004534bc lw a1, 0x10(s1)               |     a1 = *((s1 + 4));
                                             |     /* str.Key_Attributes */
    0x004534c0 addiu a2, a2, -0x2d20         |     a2 += -0x2d20;
    0x004534c4 jalr t9                       |     t9 ();
    0x004534c8 move a0, s2                   |     a0 = s2;
    0x004534cc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004534d0 move a1, s0                   |     a1 = s0;
    0x004534d4 move a3, zero                 |     a3 = 0;
    0x004534d8 lw t8, -0x7e8c(gp)            |     t8 = *(gp);
    0x004534dc lw t9, -0x77ec(gp)            |     t9 = sym.imp.PEM_write_bio_PrivateKey;
    0x004534e0 lw a2, (t8)                   |     a2 = *(t8);
    0x004534e4 sw s3, 0x18(sp)               |     *(var_18h) = s3;
    0x004534e8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x004534ec sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x004534f0 jalr t9                       |     t9 ();
    0x004534f4 move a0, s0                   |     a0 = s0;
    0x004534f8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004534fc lw t9, -0x737c(gp)            |     t9 = sym.imp.EVP_PKEY_free;
    0x00453500 move s1, v0                   |     s1 = v0;
    0x00453504 jalr t9                       |     t9 ();
    0x00453508 move v0, s1                   |     v0 = s1;
    0x0045350c b 0x453430                    |     goto label_0;
                                             | label_10:
    0x00453510 lw s1, -0x7fd4(gp)            |     s1 = *(gp);
    0x00453514 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00453518 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0045351c lw a0, (s1)                   |     a0 = *(s1);
                                             |     /* str.Warning_unsupported_bag_type:_ */
    0x00453520 addiu a1, a1, -0x2cd4         |     a1 += -0x2cd4;
    0x00453524 jalr t9                       |     t9 ();
    0x00453528 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0045352c lw a0, (s1)                   |     a0 = *(s1);
    0x00453530 lw t9, -0x6f80(gp)            |     t9 = sym.imp.i2a_ASN1_OBJECT;
    0x00453534 lw a1, (s0)                   |     a1 = *(s0);
    0x00453538 jalr t9                       |     t9 ();
    0x0045353c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00453540 lw a0, (s1)                   |     a0 = *(s1);
    0x00453544 addiu s1, zero, 1             |     s1 = 1;
    0x00453548 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0045354c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00453550 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x00453554 jalr t9                       |     t9 ();
    0x00453558 move v0, s1                   |     v0 = s1;
    0x0045355c lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x00453560 lw s6, 0x40(sp)               |     s6 = *(var_40h);
    0x00453564 lw s5, 0x3c(sp)               |     s5 = *(var_3ch);
    0x00453568 lw s4, 0x38(sp)               |     s4 = *(var_38h);
    0x0045356c lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x00453570 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x00453574 lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x00453578 lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x0045357c addiu sp, sp, 0x48            |     
    0x00453580 jr ra                         |     return v0;
                                             | label_8:
    0x00453584 andi t8, s1, 4                |     t8 = s1 & 4;
    0x00453588 lw s6, -0x7fd4(gp)            |     s6 = *(gp);
                                             |     if (t8 != 0) {
    0x0045358c bnez t8, 0x453744             |         goto label_16;
                                             |     }
                                             | label_5:
    0x00453590 andi s1, s1, 1                |     s1 &= 1;
    0x00453594 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
                                             |     if (s1 != 0) {
    0x00453598 bnez s1, 0x453428             |         goto label_1;
                                             |     }
    0x0045359c move a0, s2                   |     a0 = s2;
    0x004535a0 lw t9, -0x7e94(gp)            |     t9 = sym.print_attribs;
    0x004535a4 lw a1, 8(s0)                  |     a1 = *((s0 + 2));
                                             |     /* str.Bag_Attributes */
    0x004535a8 addiu a2, a2, -0x2d30         |     a2 += -0x2d30;
    0x004535ac jalr t9                       |     t9 ();
    0x004535b0 move a0, s0                   |     a0 = s0;
    0x004535b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004535b8 move a1, s5                   |     a1 = s5;
    0x004535bc lw t9, -0x7154(gp)            |     t9 = sym.imp.PKCS12_decrypt_skey;
    0x004535c0 move a2, s4                   |     a2 = s4;
    0x004535c4 jalr t9                       |     t9 ();
    0x004535c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004535cc move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x004535d0 beqz v0, 0x453794             |         goto label_15;
                                             |     }
    0x004535d4 lw t9, -0x70ac(gp)            |     t9 = sym.imp.EVP_PKCS82PKEY;
    0x004535d8 move a0, v0                   |     a0 = v0;
    0x004535dc jalr t9                       |     t9 ();
    0x004535e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004535e4 move s4, v0                   |     s4 = v0;
                                             |     if (v0 == 0) {
    0x004535e8 beqz v0, 0x4537b0             |         goto label_17;
                                             |     }
    0x004535ec lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x004535f0 move a0, s2                   |     a0 = s2;
    0x004535f4 lw t9, -0x7e94(gp)            |     t9 = sym.print_attribs;
    0x004535f8 lw a1, 0x10(s0)               |     a1 = *((s0 + 4));
                                             |     /* str.Key_Attributes */
    0x004535fc addiu a2, a2, -0x2d20         |     a2 += -0x2d20;
    0x00453600 jalr t9                       |     t9 ();
    0x00453604 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00453608 lw t9, -0x7d58(gp)            |     t9 = sym.imp.PKCS8_PRIV_KEY_INFO_free;
    0x0045360c move a0, s0                   |     a0 = s0;
    0x00453610 jalr t9                       |     t9 ();
    0x00453614 move a0, s2                   |     a0 = s2;
    0x00453618 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0045361c move a1, s4                   |     a1 = s4;
    0x00453620 move a3, zero                 |     a3 = 0;
    0x00453624 lw t8, -0x7e8c(gp)            |     t8 = *(gp);
    0x00453628 lw t9, -0x77ec(gp)            |     t9 = sym.imp.PEM_write_bio_PrivateKey;
    0x0045362c lw a2, (t8)                   |     a2 = *(t8);
    0x00453630 sw s3, 0x18(sp)               |     *(var_18h) = s3;
    0x00453634 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00453638 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0045363c jalr t9                       |     t9 ();
    0x00453640 move a0, s4                   |     a0 = s4;
    0x00453644 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00453648 lw t9, -0x737c(gp)            |     t9 = sym.imp.EVP_PKEY_free;
    0x0045364c move s1, v0                   |     s1 = v0;
    0x00453650 jalr t9                       |     t9 ();
    0x00453654 move v0, s1                   |     v0 = s1;
    0x00453658 b 0x453430                    |     goto label_0;
                                             | label_13:
    0x0045365c addiu a1, zero, 0x9d          |     a1 = 0x9d;
    0x00453660 lw a0, 8(s0)                  |     a0 = *((s0 + 2));
    0x00453664 jalr t9                       |     t9 ();
    0x00453668 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0045366c beqz v0, 0x45379c             |         goto label_18;
                                             |     }
    0x00453670 andi s1, s1, 0x10             |     s1 &= 0x10;
    0x00453674 addiu s1, zero, 1             |     s1 = 1;
                                             |     if (s1 != 0) {
    0x00453678 bnez s1, 0x45342c             |         goto label_2;
                                             |     }
    0x0045367c lw a2, -0x7f9c(gp)            |     a2 = *(gp);
                                             | label_7:
    0x00453680 move a0, s2                   |     a0 = s2;
    0x00453684 lw t9, -0x7e94(gp)            |     t9 = sym.print_attribs;
    0x00453688 lw a1, 8(s0)                  |     a1 = *((s0 + 2));
                                             |     /* str.Bag_Attributes */
    0x0045368c addiu a2, a2, -0x2d30         |     a2 += -0x2d30;
    0x00453690 jalr t9                       |     t9 ();
    0x00453694 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00453698 lw t8, 4(s0)                  |     t8 = *((s0 + 1));
    0x0045369c lw t9, -0x77e4(gp)            |     t9 = sym.imp.OBJ_obj2nid;
    0x004536a0 lw a0, (t8)                   |     a0 = *(t8);
    0x004536a4 jalr t9                       |     t9 ();
    0x004536a8 addiu t8, zero, 0x9e          |     t8 = 0x9e;
    0x004536ac lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != t8) {
    0x004536b0 bne v0, t8, 0x453428          |         goto label_1;
                                             |     }
    0x004536b4 lw t9, -0x7b38(gp)            |     t9 = sym.imp.PKCS12_certbag2x509;
    0x004536b8 move a0, s0                   |     a0 = s0;
    0x004536bc jalr t9                       |     t9 ();
    0x004536c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004536c4 move s0, v0                   |     s0 = v0;
                                             |     if (v0 != 0) {
    0x004536c8 beqz v0, 0x453794             |         
    0x004536cc lw t9, -0x7e88(gp)            |         t9 = sym.dump_cert_text;
    0x004536d0 move a0, s2                   |         a0 = s2;
    0x004536d4 move a1, v0                   |         a1 = v0;
    0x004536d8 jalr t9                       |         t9 ();
    0x004536dc move a0, s2                   |         a0 = s2;
    0x004536e0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004536e4 lw t9, -0x7778(gp)            |         t9 = sym.imp.PEM_write_bio_X509;
    0x004536e8 move a1, s0                   |         a1 = s0;
    0x004536ec jalr t9                       |         t9 ();
    0x004536f0 move a0, s0                   |         a0 = s0;
    0x004536f4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004536f8 lw t9, -0x6c30(gp)            |         t9 = *((gp - 6924));
    0x004536fc move s1, v0                   |         s1 = v0;
    0x00453700 jalr t9                       |         t9 ();
    0x00453704 move v0, s1                   |         v0 = s1;
    0x00453708 b 0x453430                    |         goto label_0;
                                             | label_11:
    0x0045370c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00453710 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00453714 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Safe_Contents_bag_n */
    0x00453718 addiu a1, a1, -0x2ce8         |         a1 += -0x2ce8;
    0x0045371c jalr t9                       |         t9 ();
    0x00453720 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00453724 b 0x4533b0                    |         goto label_3;
                                             | label_12:
    0x00453728 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0045372c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00453730 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Certificate_bag_n */
    0x00453734 addiu a1, a1, -0x2cfc         |         a1 += -0x2cfc;
    0x00453738 jalr t9                       |         t9 ();
    0x0045373c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00453740 b 0x45341c                    |         goto label_4;
                                             | label_16:
    0x00453744 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00453748 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0045374c lw a0, (s6)                   |         a0 = *(s6);
                                             |         /* str.Shrouded_Keybag:_ */
    0x00453750 addiu a1, a1, -0x2d10         |         a1 += -0x2d10;
    0x00453754 jalr t9                       |         t9 ();
    0x00453758 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0045375c lw t8, 4(s0)                  |         t8 = *((s0 + 1));
    0x00453760 lw t9, -0x7e84(gp)            |         t9 = sym.alg_print;
    0x00453764 lw a0, (s6)                   |         a0 = *(s6);
    0x00453768 lw a1, (t8)                   |         a1 = *(t8);
    0x0045376c jalr t9                       |         t9 ();
    0x00453770 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00453774 b 0x453590                    |         goto label_5;
                                             | label_14:
    0x00453778 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0045377c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00453780 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Key_bag_n */
    0x00453784 addiu a1, a1, -0x2d3c         |         a1 += -0x2d3c;
    0x00453788 jalr t9                       |         t9 ();
    0x0045378c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00453790 b 0x45346c                    |         goto label_6;
                                             |     }
                                             | label_15:
    0x00453794 move s1, zero                 |     s1 = 0;
    0x00453798 b 0x45342c                    |     goto label_2;
                                             | label_18:
    0x0045379c andi s1, s1, 8                |     s1 &= 8;
    0x004537a0 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
                                             |     if (s1 == 0) {
    0x004537a4 beqz s1, 0x453680             |         goto label_7;
                                             |     }
    0x004537a8 addiu s1, zero, 1             |     s1 = 1;
    0x004537ac b 0x45342c                    |     goto label_2;
                                             | label_17:
    0x004537b0 lw t9, -0x7d58(gp)            |     t9 = sym.imp.PKCS8_PRIV_KEY_INFO_free;
    0x004537b4 move a0, s0                   |     a0 = s0;
    0x004537b8 jalr t9                       |     t9 ();
    0x004537bc move v0, s1                   |     v0 = s1;
    0x004537c0 b 0x453430                    |     goto label_0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4537c4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.dump_certs_pkeys_bags ()         | void dump_certs_pkeys_bags () {
    0x004537c4 lui gp, 5                         |     
    0x004537c8 addiu gp, gp, -0x7324             |     
    0x004537cc addu gp, gp, t9                   |     gp += t9;
    0x004537d0 addiu sp, sp, -0x40               |     
    0x004537d4 sw ra, 0x3c(sp)                   |     *(var_3ch) = ra;
    0x004537d8 sw s6, 0x38(sp)                   |     *(var_38h) = s6;
    0x004537dc sw s5, 0x34(sp)                   |     *(var_34h) = s5;
    0x004537e0 sw s4, 0x30(sp)                   |     *(var_30h) = s4;
    0x004537e4 sw s3, 0x2c(sp)                   |     *(var_2ch) = s3;
    0x004537e8 sw s2, 0x28(sp)                   |     *(var_28h) = s2;
    0x004537ec sw s1, 0x24(sp)                   |     *(var_24h) = s1;
    0x004537f0 sw s0, 0x20(sp)                   |     *(var_20h) = s0;
    0x004537f4 move s0, zero                     |     s0 = 0;
    0x004537f8 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x004537fc move s6, a0                       |     s6 = a0;
    0x00453800 lw s5, 0x50(sp)                   |     s5 = *(arg_50h);
    0x00453804 move s1, a1                       |     s1 = a1;
    0x00453808 lw s4, 0x54(sp)                   |     s4 = *(arg_54h);
    0x0045380c move s3, a2                       |     s3 = a2;
    0x00453810 move s2, a3                       |     s2 = a3;
    0x00453814 b 0x45384c                        |     
                                                 |     while (v0 != 0) {
    0x00453818 jalr t9                           |         t9 ();
    0x0045381c nop                               |         
    0x00453820 move a0, s6                       |         a0 = s6;
    0x00453824 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00453828 move a1, v0                       |         a1 = v0;
    0x0045382c sw s5, 0x10(sp)                   |         *(var_10h) = s5;
    0x00453830 move a2, s3                       |         a2 = s3;
    0x00453834 lw t9, -0x7e80(gp)                |         t9 = sym.dump_certs_pkeys_bag;
    0x00453838 move a3, s2                       |         a3 = s2;
    0x0045383c sw s4, 0x14(sp)                   |         *(var_14h) = s4;
    0x00453840 jalr t9                           |         t9 ();
    0x00453844 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x00453848 beqz v0, 0x453878                 |             goto label_0;
                                                 |         }
    0x0045384c lw t9, -0x798c(gp)                |         t9 = sym.imp.sk_num;
    0x00453850 move a0, s1                       |         a0 = s1;
    0x00453854 jalr t9                           |         t9 ();
    0x00453858 move a1, s0                       |         a1 = s0;
    0x0045385c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00453860 slt v0, s0, v0                    |         v0 = (s0 < v0) ? 1 : 0;
    0x00453864 move a0, s1                       |         a0 = s1;
    0x00453868 addiu s0, s0, 1                   |         s0++;
    0x0045386c lw t9, -0x7c8c(gp)                |         t9 = sym.imp.sk_value;
    0x00453870 bnez v0, 0x453818                 |         
                                                 |     }
    0x00453874 addiu v0, zero, 1                 |     v0 = 1;
                                                 | label_0:
    0x00453878 lw ra, 0x3c(sp)                   |     ra = *(var_3ch);
    0x0045387c lw s6, 0x38(sp)                   |     s6 = *(var_38h);
    0x00453880 lw s5, 0x34(sp)                   |     s5 = *(var_34h);
    0x00453884 lw s4, 0x30(sp)                   |     s4 = *(var_30h);
    0x00453888 lw s3, 0x2c(sp)                   |     s3 = *(var_2ch);
    0x0045388c lw s2, 0x28(sp)                   |     s2 = *(var_28h);
    0x00453890 lw s1, 0x24(sp)                   |     s1 = *(var_24h);
    0x00453894 lw s0, 0x20(sp)                   |     s0 = *(var_20h);
    0x00453898 addiu sp, sp, 0x40                |     
    0x0045389c jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x419524 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.enc_main ()                  | void enc_main () {
    0x00419524 lui gp, 8                     |     
    0x00419528 addiu gp, gp, 0x2f7c          |     
    0x0041952c addu gp, gp, t9               |     gp += t9;
    0x00419530 addiu sp, sp, -0x1d8          |     
    0x00419534 sw ra, 0x1d4(sp)              |     *(var_1d4h) = ra;
    0x00419538 sw fp, 0x1d0(sp)              |     *(var_1d0h) = fp;
    0x0041953c sw s7, 0x1cc(sp)              |     *(var_1cch) = s7;
    0x00419540 sw s6, 0x1c8(sp)              |     *(var_1c8h) = s6;
    0x00419544 sw s5, 0x1c4(sp)              |     *(var_1c4h) = s5;
    0x00419548 sw s4, 0x1c0(sp)              |     *(var_1c0h) = s4;
    0x0041954c sw s3, 0x1bc(sp)              |     *(var_1bch) = s3;
    0x00419550 sw s2, 0x1b8(sp)              |     *(var_1b8h) = s2;
    0x00419554 sw s1, 0x1b4(sp)              |     *(var_1b4h) = s1;
    0x00419558 sw s0, 0x1b0(sp)              |     *(var_1b0h) = s0;
    0x0041955c move s2, a0                   |     s2 = a0;
    0x00419560 lw t9, -0x6e5c(gp)            |     t9 = sym.imp.signal;
    0x00419564 move s0, a1                   |     s0 = a1;
    0x00419568 lw s7, -0x7fd4(gp)            |     s7 = *(gp);
    0x0041956c addiu a0, zero, 0xd           |     a0 = 0xd;
    0x00419570 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00419574 addiu a1, zero, 1             |     a1 = 1;
    0x00419578 sw zero, 0x144(sp)            |     *(var_144h) = 0;
    0x0041957c sw zero, 0x140(sp)            |     *(var_140h) = 0;
    0x00419580 jalr t9                       |     t9 ();
    0x00419584 lw s1, (s7)                   |     s1 = *(s7);
    0x00419588 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s1 == 0) {
    0x0041958c beqz s1, 0x419d44             |         goto label_46;
                                             |     }
                                             | label_6:
    0x00419590 lw t9, -0x7fc4(gp)            |     t9 = sym.load_config;
    0x00419594 move a0, s1                   |     a0 = s1;
    0x00419598 move a1, zero                 |     a1 = 0;
    0x0041959c jalr t9                       |     t9 ();
    0x004195a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x004195a4 bnez v0, 0x419618             |         
    0x004195a8 move s0, zero                 |         s0 = 0;
                                             | label_2:
    0x004195ac lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x004195b0 lw a0, (s7)                   |         a0 = *(s7);
    0x004195b4 jalr t9                       |         t9 ();
    0x004195b8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_17:
    0x004195bc addiu s5, zero, 1             |         s5 = 1;
                                             | label_5:
    0x004195c0 lw t9, -0x7fbc(gp)            |         t9 = sym.release_engine;
    0x004195c4 move a0, s0                   |         a0 = s0;
    0x004195c8 jalr t9                       |         t9 ();
    0x004195cc lw a0, 0x144(sp)              |         a0 = *(var_144h);
    0x004195d0 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (a0 != 0) {
    0x004195d4 beqz a0, 0x4195e4             |             
    0x004195d8 lw t9, -0x7ce8(gp)            |             t9 = sym.imp.CRYPTO_free;
    0x004195dc jalr t9                       |             t9 ();
    0x004195e0 nop                           |             
                                             |         }
    0x004195e4 move v0, s5                   |         v0 = s5;
    0x004195e8 lw ra, 0x1d4(sp)              |         ra = *(var_1d4h);
    0x004195ec lw fp, 0x1d0(sp)              |         fp = *(var_1d0h);
    0x004195f0 lw s7, 0x1cc(sp)              |         s7 = *(var_1cch);
    0x004195f4 lw s6, 0x1c8(sp)              |         s6 = *(var_1c8h);
    0x004195f8 lw s5, 0x1c4(sp)              |         s5 = *(var_1c4h);
    0x004195fc lw s4, 0x1c0(sp)              |         s4 = *(var_1c0h);
    0x00419600 lw s3, 0x1bc(sp)              |         s3 = *(var_1bch);
    0x00419604 lw s2, 0x1b8(sp)              |         s2 = *(var_1b8h);
    0x00419608 lw s1, 0x1b4(sp)              |         s1 = *(var_1b4h);
    0x0041960c lw s0, 0x1b0(sp)              |         s0 = *(var_1b0h);
    0x00419610 addiu sp, sp, 0x1d8           |         
    0x00419614 jr ra                         |         return v1;
                                             |     }
    0x00419618 lw t9, -0x7e58(gp)            |     t9 = sym.program_name;
    0x0041961c addiu s1, sp, 0xf0            |     s1 = sp + 0xf0;
    0x00419620 lw a0, (s0)                   |     a0 = *(s0);
    0x00419624 addiu a2, zero, 0x28          |     a2 = 0x28;
    0x00419628 move a1, s1                   |     a1 = s1;
    0x0041962c jalr t9                       |     t9 ();
    0x00419630 move a0, s1                   |     a0 = s1;
    0x00419634 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419638 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041963c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'base64' */
    0x00419640 addiu a1, a1, -0xb30          |     a1 += -0xb30;
    0x00419644 jalr t9                       |     t9 ();
    0x00419648 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0041964c bnez v0, 0x41985c             |         goto label_47;
                                             |     }
    0x00419650 lw t9, -0x7054(gp)            |     t9 = sym.imp.EVP_get_cipherbyname;
    0x00419654 move a0, s1                   |     a0 = s1;
    0x00419658 jalr t9                       |     t9 ();
    0x0041965c addiu v1, zero, 1             |     v1 = 1;
    0x00419660 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419664 sw v1, 0x16c(sp)              |     *(var_16ch) = v1;
    0x00419668 sw v0, 0x154(sp)              |     *(var_154h) = v0;
                                             | label_3:
    0x0041966c addiu s5, s2, -1              |     s5 = s2 + -1;
    0x00419670 addiu s2, s0, 4               |     s2 = s0 + 4;
    0x00419674 sw zero, 0x190(sp)            |     *(var_190h) = 0;
    0x00419678 sw zero, 0x148(sp)            |     *(var_148h) = 0;
                                             |     if (s5 <= 0) {
    0x0041967c blez s5, 0x41a8c4             |         goto label_48;
                                             |     }
    0x00419680 lw s4, -0x7fd8(gp)            |     s4 = *(gp);
    0x00419684 move s1, zero                 |     s1 = 0;
    0x00419688 lw s6, -0x7fd8(gp)            |     s6 = *(gp);
    0x0041968c addiu fp, zero, 1             |     fp = 1;
    0x00419690 sw s1, 0x15c(sp)              |     *(var_15ch) = s1;
                                             |     /* esilref: '-in' */
    0x00419694 addiu s4, s4, -0x326c         |     s4 += -0x326c;
    0x00419698 move s1, s5                   |     s1 = s5;
    0x0041969c lw s3, -0x7fd8(gp)            |     s3 = *(gp);
    0x004196a0 move s5, s2                   |     s5 = s2;
    0x004196a4 sw zero, 0x14c(sp)            |     *(var_14ch) = 0;
    0x004196a8 sw zero, 0x150(sp)            |     *(var_150h) = 0;
                                             |     /* str._out */
    0x004196ac addiu s6, s6, -0x3268         |     s6 += -0x3268;
    0x004196b0 sw zero, 0x178(sp)            |     *(var_178h) = 0;
    0x004196b4 move s2, zero                 |     s2 = 0;
    0x004196b8 sw zero, 0x18c(sp)            |     *(var_18ch) = 0;
    0x004196bc sw zero, 0x174(sp)            |     *(var_174h) = 0;
    0x004196c0 sw zero, 0x170(sp)            |     *(var_170h) = 0;
    0x004196c4 sw zero, 0x160(sp)            |     *(var_160h) = 0;
    0x004196c8 sw zero, 0x184(sp)            |     *(var_184h) = 0;
    0x004196cc sw zero, 0x180(sp)            |     *(var_180h) = 0;
    0x004196d0 sw zero, 0x17c(sp)            |     *(var_17ch) = 0;
    0x004196d4 sw zero, 0x158(sp)            |     *(var_158h) = 0;
    0x004196d8 sw zero, 0x164(sp)            |     *(var_164h) = 0;
    0x004196dc sw zero, 0x188(sp)            |     *(var_188h) = 0;
    0x004196e0 sw zero, 0x168(sp)            |     *(var_168h) = 0;
    0x004196e4 b 0x419720                    |     
                                             |     while (v0 != 0) {
    0x004196e8 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
    0x004196ec move a0, s0                   |         a0 = s0;
    0x004196f0 move a1, s4                   |         a1 = s4;
    0x004196f4 jalr t9                       |         t9 ();
    0x004196f8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x004196fc bnez v0, 0x41987c             |             goto label_49;
                                             |         }
    0x00419700 addiu s1, s1, -1              |         s1 += -1;
    0x00419704 lw t8, -0x7fd8(gp)            |         t8 = *(gp);
                                             |         if (s1 == 0) {
    0x00419708 beqz s1, 0x41a148             |             goto label_50;
                                             |         }
    0x0041970c lw s2, 4(s5)                  |         s2 = *((s5 + 1));
    0x00419710 addiu s5, s5, 4               |         s5 += 4;
                                             | label_4:
    0x00419714 addiu s1, s1, -1              |         s1 += -1;
    0x00419718 addiu s5, s5, 4               |         s5 += 4;
                                             |         if (s1 <= 0) {
    0x0041971c blez s1, 0x41974c             |             goto label_51;
                                             |         }
                                             | label_0:
    0x00419720 lw s0, (s5)                   |         s0 = *(s5);
                                             |         /* esilref: '-e' */
    0x00419724 addiu a1, s3, -0xca0          |         a1 = s3 + -0xca0;
    0x00419728 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
    0x0041972c move a0, s0                   |         a0 = s0;
    0x00419730 jalr t9                       |         t9 ();
    0x00419734 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419738 bnez v0, 0x4196e8             |         
                                             |     }
    0x0041973c addiu s1, s1, -1              |     s1 += -1;
    0x00419740 addiu fp, zero, 1             |     fp = 1;
    0x00419744 addiu s5, s5, 4               |     s5 += 4;
                                             |     if (s1 > 0) {
    0x00419748 bgtz s1, 0x419720             |         goto label_0;
                                             |     }
                                             | label_51:
    0x0041974c lw s1, 0x15c(sp)              |     s1 = *(var_15ch);
    0x00419750 sw s2, 0x150(sp)              |     *(var_150h) = s2;
                                             | label_24:
    0x00419754 lw t9, -0x7fb4(gp)            |     t9 = sym.setup_engine;
    0x00419758 move a2, zero                 |     a2 = 0;
    0x0041975c lw a1, 0x148(sp)              |     a1 = *(var_148h);
    0x00419760 lw s3, -0x7fd4(gp)            |     s3 = *(gp);
    0x00419764 lw a0, (s7)                   |     a0 = *(s7);
    0x00419768 jalr t9                       |     t9 ();
    0x0041976c lw t8, 0x154(sp)              |     t8 = *(var_154h);
    0x00419770 move s0, v0                   |     s0 = v0;
    0x00419774 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (t8 != 0) {
    0x00419778 beqz t8, 0x4197c0             |         
    0x0041977c lw t9, -0x79fc(gp)            |         t9 = sym.imp.EVP_CIPHER_flags;
    0x00419780 move a0, t8                   |         a0 = t8;
    0x00419784 jalr t9                       |         t9 ();
    0x00419788 lui t8, 0x20                  |         t8 = 0x200000;
    0x0041978c and v0, v0, t8                |         v0 &= t8;
    0x00419790 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x00419794 bnez v0, 0x41a18c             |             goto label_52;
                                             |         }
    0x00419798 lw t9, -0x79fc(gp)            |         t9 = sym.imp.EVP_CIPHER_flags;
    0x0041979c lw a0, 0x154(sp)              |         a0 = *(var_154h);
    0x004197a0 jalr t9                       |         t9 ();
    0x004197a4 lui t8, 0xf                   |         t8 = 0xf0007;
    0x004197a8 addiu t8, t8, 7               |         
    0x004197ac lui v1, 1                     |         v1 = 0x10000;
    0x004197b0 and v0, v0, t8                |         v0 &= t8;
    0x004197b4 addiu v1, v1, 1               |         v1++;
    0x004197b8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == v1) {
    0x004197bc beq v0, v1, 0x41a214          |             goto label_53;
                                             |         }
                                             |     }
    0x004197c0 lw v1, 0x160(sp)              |     v1 = *(var_160h);
    0x004197c4 lw t9, -0x7974(gp)            |     t9 = sym.imp.EVP_get_digestbyname;
                                             |     if (v1 == 0) {
    0x004197c8 beqz v1, 0x41a174             |         goto label_54;
                                             |     }
    0x004197cc move a0, v1                   |     a0 = v1;
    0x004197d0 jalr t9                       |     t9 ();
    0x004197d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004197d8 sw v0, 0x15c(sp)              |     *(var_15ch) = v0;
                                             |     if (v0 == 0) {
    0x004197dc beqz v0, 0x41a128             |         goto label_55;
                                             |     }
                                             | label_12:
    0x004197e0 addiu v1, zero, 0x2000        |     v1 = 0x2000;
                                             |     if (s1 == 0) {
    0x004197e4 beqz s1, 0x41a6d4             |         goto label_56;
                                             |     }
    0x004197e8 lbu t8, (s1)                  |     t8 = *(s1);
    0x004197ec move v0, zero                 |     v0 = 0;
                                             |     if (t8 == 0) {
    0x004197f0 beqz t8, 0x419aa4             |         goto label_57;
                                             |     }
    0x004197f4 addiu a2, zero, 0x6b          |     a2 = 0x6b;
    0x004197f8 b 0x419810                    |     
                                             |     while (v1 != 0) {
    0x004197fc addiu v0, a0, -0x30           |         v0 = a0 + -0x30;
    0x00419800 addiu s1, s1, 1               |         s1++;
                                             | label_1:
    0x00419804 lbu t8, (s1)                  |         t8 = *(s1);
                                             |         if (t8 == 0) {
    0x00419808 beqz t8, 0x419aa4             |             goto label_57;
                                             |         }
    0x0041980c nop                           |         
    0x00419810 sll a0, v0, 1                 |         a0 = v0 << 1;
    0x00419814 addiu v1, t8, -0x30           |         v1 = t8 + -0x30;
    0x00419818 sll a1, v0, 3                 |         a1 = v0 << 3;
    0x0041981c addu a0, a0, a1               |         a0 += a1;
    0x00419820 sltiu v1, v1, 0xa             |         v1 = (v1 < 0xa) ? 1 : 0;
    0x00419824 addu a0, t8, a0               |         a0 = t8 + a0;
    0x00419828 bnez v1, 0x4197fc             |         
                                             |     }
    0x0041982c addiu s1, s1, 1               |     s1++;
                                             |     if (t8 != a2) {
    0x00419830 bne t8, a2, 0x419804          |         goto label_1;
                                             |     }
    0x00419834 addiu s1, s1, -1              |     s1 += -1;
    0x00419838 lbu t8, 1(s1)                 |     t8 = *((s1 + 1));
    0x0041983c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (t8 != 0) {
    0x00419840 beqz t8, 0x419a9c             |         
    0x00419844 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00419848 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.invalid_bufsize_specified._n */
    0x0041984c addiu a1, a1, -0x888          |         a1 += -0x888;
    0x00419850 jalr t9                       |         t9 ();
    0x00419854 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419858 b 0x4195ac                    |         goto label_2;
                                             | label_47:
    0x0041985c lw t9, -0x7054(gp)            |         t9 = sym.imp.EVP_get_cipherbyname;
    0x00419860 move a0, s1                   |         a0 = s1;
    0x00419864 jalr t9                       |         t9 ();
    0x00419868 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041986c sw v0, 0x154(sp)              |         *(var_154h) = v0;
                                             |         if (v0 == 0) {
    0x00419870 beqz v0, 0x419db4             |             goto label_58;
                                             |         }
                                             | label_9:
    0x00419874 sw zero, 0x16c(sp)            |         *(var_16ch) = 0;
    0x00419878 b 0x41966c                    |         goto label_3;
                                             | label_49:
    0x0041987c lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
    0x00419880 move a0, s0                   |         a0 = s0;
    0x00419884 move a1, s6                   |         a1 = s6;
    0x00419888 jalr t9                       |         t9 ();
    0x0041988c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00419890 bnez v0, 0x4198b0             |             
    0x00419894 addiu s1, s1, -1              |             s1 += -1;
    0x00419898 lw v1, -0x7fd8(gp)            |             v1 = *(gp);
                                             |             if (s1 == 0) {
    0x0041989c beqz s1, 0x419df4             |                 goto label_59;
                                             |             }
    0x004198a0 lw t8, 4(s5)                  |             t8 = *((s5 + 1));
    0x004198a4 addiu s5, s5, 4               |             s5 += 4;
    0x004198a8 sw t8, 0x14c(sp)              |             *(var_14ch) = t8;
    0x004198ac b 0x419714                    |             goto label_4;
                                             |         }
    0x004198b0 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x004198b4 move a0, s0                   |         a0 = s0;
    0x004198b8 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._pass */
    0x004198bc addiu a1, v0, -0xc9c          |         a1 = v0 + -0xc9c;
    0x004198c0 jalr t9                       |         t9 ();
    0x004198c4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x004198c8 bnez v0, 0x4198e8             |             
    0x004198cc addiu s1, s1, -1              |             s1 += -1;
    0x004198d0 lw v1, -0x7fd8(gp)            |             v1 = *(gp);
                                             |             if (s1 == 0) {
    0x004198d4 beqz s1, 0x419df4             |                 goto label_59;
                                             |             }
    0x004198d8 lw t8, 4(s5)                  |             t8 = *((s5 + 1));
    0x004198dc addiu s5, s5, 4               |             s5 += 4;
    0x004198e0 sw t8, 0x158(sp)              |             *(var_158h) = t8;
    0x004198e4 b 0x419714                    |             goto label_4;
                                             |         }
    0x004198e8 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x004198ec move a0, s0                   |         a0 = s0;
    0x004198f0 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str._engine */
    0x004198f4 addiu a1, a1, -0x3470         |         a1 += -0x3470;
    0x004198f8 jalr t9                       |         t9 ();
    0x004198fc lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00419900 bnez v0, 0x419920             |             
    0x00419904 addiu s1, s1, -1              |             s1 += -1;
    0x00419908 lw v1, -0x7fd8(gp)            |             v1 = *(gp);
                                             |             if (s1 == 0) {
    0x0041990c beqz s1, 0x419df4             |                 goto label_59;
                                             |             }
    0x00419910 lw t8, 4(s5)                  |             t8 = *((s5 + 1));
    0x00419914 addiu s5, s5, 4               |             s5 += 4;
    0x00419918 sw t8, 0x148(sp)              |             *(var_148h) = t8;
    0x0041991c b 0x419714                    |             goto label_4;
                                             |         }
    0x00419920 lw v1, -0x7fd8(gp)            |         v1 = *(gp);
    0x00419924 move a0, s0                   |         a0 = s0;
    0x00419928 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
    0x0041992c sw v1, 0x150(sp)              |         *(var_150h) = v1;
                                             |         /* esilref: '-d' */
    0x00419930 addiu a1, v1, -0x19d8         |         a1 = v1 + -0x19d8;
    0x00419934 jalr t9                       |         t9 ();
    0x00419938 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x0041993c beqz v0, 0x419a94             |             
    0x00419940 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x00419944 move a0, s0                   |             a0 = s0;
    0x00419948 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* esilref: '-p' */
    0x0041994c addiu a1, a1, -0xc94          |             a1 += -0xc94;
    0x00419950 jalr t9                       |             t9 ();
    0x00419954 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00419958 beqz v0, 0x419d38             |                 goto label_60;
                                             |             }
    0x0041995c lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x00419960 move a0, s0                   |             a0 = s0;
    0x00419964 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* esilref: '-v' */
    0x00419968 addiu a1, a1, -0xc90          |             a1 += -0xc90;
    0x0041996c jalr t9                       |             t9 ();
    0x00419970 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00419974 beqz v0, 0x419da8             |                 goto label_61;
                                             |             }
    0x00419978 lw t8, -0x7fd8(gp)            |             t8 = *(gp);
    0x0041997c move a0, s0                   |             a0 = s0;
    0x00419980 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
    0x00419984 sw t8, 0x198(sp)              |             *(var_198h) = t8;
                                             |             /* str._nopad */
    0x00419988 addiu a1, t8, -0xc8c          |             a1 = t8 + -0xc8c;
    0x0041998c jalr t9                       |             t9 ();
    0x00419990 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00419994 beqz v0, 0x41a208             |                 goto label_62;
                                             |             }
    0x00419998 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x0041999c move a0, s0                   |             a0 = s0;
    0x004199a0 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* str._salt */
    0x004199a4 addiu a1, a1, -0xc84          |             a1 += -0xc84;
    0x004199a8 jalr t9                       |             t9 ();
    0x004199ac lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x004199b0 beqz v0, 0x41a6cc             |                 goto label_63;
                                             |             }
    0x004199b4 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x004199b8 move a0, s0                   |             a0 = s0;
    0x004199bc lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* str._nosalt */
    0x004199c0 addiu a1, a1, -0xc7c          |             a1 += -0xc7c;
    0x004199c4 jalr t9                       |             t9 ();
    0x004199c8 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x004199cc beqz v0, 0x41a9e0             |                 goto label_64;
                                             |             }
    0x004199d0 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x004199d4 move a0, s0                   |             a0 = s0;
    0x004199d8 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* str._debug */
    0x004199dc addiu a1, a1, -0xc74          |             a1 += -0xc74;
    0x004199e0 jalr t9                       |             t9 ();
    0x004199e4 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x004199e8 beqz v0, 0x41aa4c             |                 goto label_65;
                                             |             }
    0x004199ec lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x004199f0 move a0, s0                   |             a0 = s0;
    0x004199f4 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* esilref: '-P' */
    0x004199f8 addiu a1, a1, -0xc6c          |             a1 += -0xc6c;
    0x004199fc jalr t9                       |             t9 ();
    0x00419a00 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00419a04 beqz v0, 0x41ace0             |                 goto label_66;
                                             |             }
    0x00419a08 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x00419a0c move a0, s0                   |             a0 = s0;
    0x00419a10 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* esilref: '-A' */
    0x00419a14 addiu a1, a1, -0xc68          |             a1 += -0xc68;
    0x00419a18 jalr t9                       |             t9 ();
    0x00419a1c lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00419a20 beqz v0, 0x41acd4             |                 goto label_67;
                                             |             }
    0x00419a24 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x00419a28 move a0, s0                   |             a0 = s0;
    0x00419a2c lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* esilref: '-a' */
    0x00419a30 addiu a1, a1, -0xc64          |             a1 += -0xc64;
    0x00419a34 jalr t9                       |             t9 ();
    0x00419a38 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00419a3c beqz v0, 0x41acc8             |                 goto label_68;
                                             |             }
    0x00419a40 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x00419a44 move a0, s0                   |             a0 = s0;
    0x00419a48 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* str._base64 */
    0x00419a4c addiu a1, a1, -0xc60          |             a1 += -0xc60;
    0x00419a50 jalr t9                       |             t9 ();
    0x00419a54 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00419a58 beqz v0, 0x41acec             |                 goto label_69;
                                             |             }
    0x00419a5c lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x00419a60 move a0, s0                   |             a0 = s0;
    0x00419a64 lw t9, -0x6e78(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* str._bufsize */
    0x00419a68 addiu a1, a1, -0xc58          |             a1 += -0xc58;
    0x00419a6c jalr t9                       |             t9 ();
    0x00419a70 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 != 0) {
    0x00419a74 bnez v0, 0x41ad58             |                 goto label_70;
                                             |             }
    0x00419a78 addiu s1, s1, -1              |             s1 += -1;
    0x00419a7c lw v1, -0x7fd8(gp)            |             v1 = *(gp);
                                             |             if (s1 == 0) {
    0x00419a80 beqz s1, 0x41ad50             |                 goto label_71;
                                             |             }
    0x00419a84 lw t8, 4(s5)                  |             t8 = *((s5 + 1));
    0x00419a88 addiu s5, s5, 4               |             s5 += 4;
    0x00419a8c sw t8, 0x15c(sp)              |             *(var_15ch) = t8;
    0x00419a90 b 0x419714                    |             goto label_4;
                                             |         }
    0x00419a94 move fp, zero                 |         fp = 0;
    0x00419a98 b 0x419714                    |         goto label_4;
                                             |     }
    0x00419a9c sll v0, v0, 0xa               |     v0 <<= 0xa;
    0x00419aa0 addiu s1, s1, 1               |     s1++;
                                             | label_57:
    0x00419aa4 lw t8, 0x16c(sp)              |     t8 = *(var_16ch);
    0x00419aa8 sltiu t8, v0, 0x50            |     t8 = (v0 < 0x50) ? 1 : 0;
                                             |     if (t8 != 0) {
    0x00419aac bnez t8, 0x419d94             |         goto label_72;
                                             |     }
                                             | label_7:
    0x00419ab0 lui s4, 0x2aaa                |     s4 = 0x2aaa0000;
    0x00419ab4 lui a0, 0x5555                |     a0 = 0x55550000;
    0x00419ab8 ori s4, s4, 0xaaab            |     s4 |= 0xaaab;
    0x00419abc addiu t8, v0, 2               |     t8 = v0 + 2;
    0x00419ac0 mult v0, s4                   |     __asm ("mult v0, s4");
    0x00419ac4 addiu a0, a0, 0x5556          |     a0 += 0x5556;
    0x00419ac8 sra v1, t8, 0x1f              |     v1 = t8 >> 0x1f;
    0x00419acc sw v0, 0x160(sp)              |     *(var_160h) = v0;
    0x00419ad0 mfhi s4                       |     __asm ("mfhi s4");
    0x00419ad4 mult t8, a0                   |     __asm ("mult t8, a0");
    0x00419ad8 sra s4, s4, 3                 |     s4 >>= 3;
    0x00419adc sra a0, v0, 0x1f              |     a0 = v0 >> 0x1f;
    0x00419ae0 subu s4, s4, a0               |     __asm ("subu s4, s4, a0");
    0x00419ae4 mfhi t8                       |     __asm ("mfhi t8");
    0x00419ae8 subu t8, t8, v1               |     __asm ("subu t8, t8, v1");
    0x00419aec sll t8, t8, 1                 |     t8 <<= 1;
    0x00419af0 addu s4, s4, t8               |     s4 += t8;
    0x00419af4 addiu s4, s4, 0x29            |     s4 += 0x29;
    0x00419af8 sll s4, s4, 1                 |     s4 <<= 1;
                                             | label_8:
    0x00419afc lw t8, 0x168(sp)              |     t8 = *(var_168h);
    0x00419b00 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (t8 != 0) {
    0x00419b04 bnez t8, 0x41a1ec             |         goto label_73;
                                             |     }
                                             | label_14:
    0x00419b08 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
    0x00419b0c addiu a0, zero, 0x200         |     a0 = 0x200;
    0x00419b10 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x00419b14 addiu a2, zero, 0x185         |     a2 = 0x185;
                                             |     /* str.enc.c */
    0x00419b18 addiu a1, s3, -0x85c          |     a1 = s3 + -0x85c;
    0x00419b1c jalr t9                       |     t9 ();
                                             |     /* str.enc.c */
    0x00419b20 addiu a1, s3, -0x85c          |     a1 = s3 + -0x85c;
    0x00419b24 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419b28 move a0, s4                   |     a0 = s4;
    0x00419b2c addiu a2, zero, 0x186         |     a2 = 0x186;
    0x00419b30 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x00419b34 sw v0, 0x148(sp)              |     *(var_148h) = v0;
    0x00419b38 jalr t9                       |     t9 ();
    0x00419b3c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419b40 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00419b44 beqz v0, 0x41a6e0             |         goto label_74;
                                             |     }
    0x00419b48 lw t8, 0x148(sp)              |     t8 = *(var_148h);
    0x00419b4c lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
                                             |     if (t8 == 0) {
    0x00419b50 beqz t8, 0x41a1a8             |         goto label_75;
                                             |     }
    0x00419b54 jalr t9                       |     t9 ();
    0x00419b58 nop                           |     
    0x00419b5c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419b60 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00419b64 move a0, v0                   |     a0 = v0;
    0x00419b68 jalr t9                       |     t9 ();
    0x00419b6c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419b70 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x00419b74 move s4, v0                   |     s4 = v0;
    0x00419b78 jalr t9                       |     t9 ();
    0x00419b7c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419b80 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00419b84 move a0, v0                   |     a0 = v0;
    0x00419b88 jalr t9                       |     t9 ();
    0x00419b8c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419b90 move s6, v0                   |     s6 = v0;
                                             |     if (s4 == 0) {
    0x00419b94 beqz s4, 0x41a230             |         goto label_76;
                                             |     }
    0x00419b98 lw t8, 0x174(sp)              |     t8 = *(var_174h);
                                             |     if (v0 == 0) {
    0x00419b9c beqz v0, 0x41a230             |         goto label_76;
                                             |     }
    0x00419ba0 lw t9, -0x7198(gp)            |     t9 = sym.imp.BIO_set_callback;
                                             |     if (t8 != 0) {
    0x00419ba4 bnez t8, 0x41a0d8             |         goto label_77;
                                             |     }
                                             | label_11:
    0x00419ba8 lw v1, 0x150(sp)              |     v1 = *(var_150h);
    0x00419bac lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (v1 == 0) {
    0x00419bb0 beqz v1, 0x41a094             |         goto label_78;
                                             |     }
    0x00419bb4 move a3, v1                   |     a3 = v1;
    0x00419bb8 move a0, s4                   |     a0 = s4;
    0x00419bbc addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x00419bc0 addiu a2, zero, 3             |     a2 = 3;
    0x00419bc4 jalr t9                       |     t9 ();
    0x00419bc8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 <= 0) {
    0x00419bcc blez v0, 0x41a9ac             |         goto label_79;
                                             |     }
                                             | label_10:
    0x00419bd0 lw t8, 0x164(sp)              |     t8 = *(var_164h);
    0x00419bd4 lw v1, 0x158(sp)              |     v1 = *(var_158h);
                                             |     if (t8 == 0) {
    0x00419bd8 beqz t8, 0x41a76c             |         goto label_80;
                                             |     }
                                             | label_20:
    0x00419bdc lw t8, 0x14c(sp)              |     t8 = *(var_14ch);
                                             | label_21:
    0x00419be0 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (t8 == 0) {
    0x00419be4 beqz t8, 0x41a72c             |         goto label_81;
                                             |     }
    0x00419be8 move a3, t8                   |     a3 = t8;
    0x00419bec move a0, s6                   |     a0 = s6;
    0x00419bf0 addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x00419bf4 addiu a2, zero, 5             |     a2 = 5;
    0x00419bf8 jalr t9                       |     t9 ();
    0x00419bfc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 <= 0) {
    0x00419c00 blez v0, 0x41a9a0             |         goto label_82;
                                             |     }
                                             | label_19:
    0x00419c04 lw v1, 0x16c(sp)              |     v1 = *(var_16ch);
    0x00419c08 move s5, s6                   |     s5 = s6;
                                             |     if (v1 != 0) {
    0x00419c0c bnez v1, 0x41a668             |         goto label_83;
                                             |     }
    0x00419c10 move s2, zero                 |     s2 = 0;
    0x00419c14 sw s4, 0x14c(sp)              |     *(var_14ch) = s4;
                                             | label_16:
    0x00419c18 lw t8, 0x154(sp)              |     t8 = *(var_154h);
    0x00419c1c lw v1, 0x164(sp)              |     v1 = *(var_164h);
                                             |     if (t8 == 0) {
    0x00419c20 beqz t8, 0x41a8ac             |         goto label_84;
                                             |     }
    0x00419c24 lw t8, 0x178(sp)              |     t8 = *(var_178h);
                                             |     if (v1 == 0) {
    0x00419c28 beqz v1, 0x41acf8             |         goto label_85;
                                             |     }
                                             |     if (t8 != 0) {
    0x00419c2c bnez t8, 0x41a254             |         goto label_86;
                                             |     }
    0x00419c30 nop                           |     
    0x00419c34 lw v1, 0x184(sp)              |     v1 = *(var_184h);
                                             |     if (fp == 0) {
    0x00419c38 beqz fp, 0x41a85c             |         goto label_87;
                                             |     }
    0x00419c3c lw t9, -0x7e34(gp)            |     t9 = sym.set_hex;
                                             |     if (v1 == 0) {
    0x00419c40 beqz v1, 0x41aa94             |         goto label_88;
                                             |     }
    0x00419c44 addiu s1, sp, 0x130           |     s1 = sp + 0x130;
    0x00419c48 move a0, v1                   |     a0 = v1;
    0x00419c4c addiu a2, zero, 8             |     a2 = 8;
    0x00419c50 move a1, s1                   |     a1 = s1;
    0x00419c54 jalr t9                       |     t9 ();
    0x00419c58 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00419c5c beqz v0, 0x41aa28             |         goto label_89;
                                             |     }
                                             | label_29:
    0x00419c60 lw v1, 0x170(sp)              |     v1 = *(var_170h);
    0x00419c64 addiu t8, zero, 2             |     t8 = 2;
    0x00419c68 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (v1 == t8) {
    0x00419c6c beq v1, t8, 0x41a258          |         goto label_32;
                                             |     }
    0x00419c70 move a0, s5                   |     a0 = s5;
    0x00419c74 lw t9, -0x74c8(gp)            |     t9 = sym.imp.BIO_write;
    0x00419c78 addiu a2, zero, 8             |     a2 = 8;
                                             |     /* str.Salted__ */
    0x00419c7c addiu a1, a1, -0x6b0          |     a1 += -0x6b0;
    0x00419c80 jalr t9                       |     t9 ();
    0x00419c84 addiu t8, zero, 8             |     t8 = 8;
    0x00419c88 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == t8) {
    0x00419c8c beq v0, t8, 0x41ac74          |         goto label_90;
                                             |     }
                                             | label_36:
    0x00419c90 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00419c94 move s1, zero                 |     s1 = 0;
    0x00419c98 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00419c9c addiu s5, zero, 1             |     s5 = 1;
    0x00419ca0 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.error_writing_output_file_n */
    0x00419ca4 addiu a1, a1, -0x7dc          |     a1 += -0x7dc;
    0x00419ca8 jalr t9                       |     t9 ();
    0x00419cac lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_15:
    0x00419cb0 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00419cb4 lw a0, (s7)                   |     a0 = *(s7);
    0x00419cb8 jalr t9                       |     t9 ();
    0x00419cbc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_18:
    0x00419cc0 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x00419cc4 lw a0, 0x148(sp)              |     a0 = *(var_148h);
    0x00419cc8 jalr t9                       |     t9 ();
    0x00419ccc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s3 != 0) {
    0x00419cd0 beqz s3, 0x419ce4             |         
                                             | label_13:
    0x00419cd4 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x00419cd8 move a0, s3                   |         a0 = s3;
    0x00419cdc jalr t9                       |         t9 ();
    0x00419ce0 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x00419ce4 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
                                             |     if (s4 != 0) {
    0x00419ce8 beqz s4, 0x419cf8             |         
    0x00419cec move a0, s4                   |         a0 = s4;
    0x00419cf0 jalr t9                       |         t9 ();
    0x00419cf4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x00419cf8 lw t9, -0x7228(gp)            |     t9 = sym.imp.BIO_free_all;
                                             |     if (s6 != 0) {
    0x00419cfc beqz s6, 0x419d0c             |         
    0x00419d00 move a0, s6                   |         a0 = s6;
    0x00419d04 jalr t9                       |         t9 ();
    0x00419d08 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x00419d0c lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
                                             |     if (s1 != 0) {
    0x00419d10 beqz s1, 0x419d20             |         
    0x00419d14 move a0, s1                   |         a0 = s1;
    0x00419d18 jalr t9                       |         t9 ();
    0x00419d1c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x00419d20 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
                                             |     if (s2 == 0) {
    0x00419d24 beqz s2, 0x4195c0             |         goto label_5;
                                             |     }
    0x00419d28 move a0, s2                   |     a0 = s2;
    0x00419d2c jalr t9                       |     t9 ();
    0x00419d30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419d34 b 0x4195c0                    |     goto label_5;
                                             | label_60:
    0x00419d38 addiu t8, zero, 1             |     t8 = 1;
    0x00419d3c sw t8, 0x170(sp)              |     *(var_170h) = t8;
    0x00419d40 b 0x419714                    |     goto label_4;
                                             | label_46:
    0x00419d44 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x00419d48 jalr t9                       |     t9 ();
    0x00419d4c nop                           |     
    0x00419d50 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419d54 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00419d58 move a0, v0                   |     a0 = v0;
    0x00419d5c jalr t9                       |     t9 ();
    0x00419d60 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419d64 sw v0, (s7)                   |     *(s7) = v0;
                                             |     if (v0 == 0) {
    0x00419d68 beqz v0, 0x419590             |         goto label_6;
                                             |     }
    0x00419d6c lw t8, -0x6c70(gp)            |     t8 = *((gp - 6940));
    0x00419d70 move a0, v0                   |     a0 = v0;
    0x00419d74 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x00419d78 addiu a1, zero, 0x6a          |     a1 = 0x6a;
    0x00419d7c lw a3, (t8)                   |     a3 = *(t8);
    0x00419d80 addiu a2, zero, 0x10          |     a2 = 0x10;
    0x00419d84 jalr t9                       |     t9 ();
    0x00419d88 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419d8c lw s1, (s7)                   |     s1 = *(s7);
    0x00419d90 b 0x419590                    |     goto label_6;
                                             | label_72:
    0x00419d94 addiu v1, zero, 0x50          |     v1 = 0x50;
                                             |     if (t8 == 0) {
    0x00419d98 beqz t8, 0x419ab0             |         goto label_7;
                                             |     }
    0x00419d9c addiu s4, zero, 0xc0          |     s4 = 0xc0;
    0x00419da0 sw v1, 0x160(sp)              |     *(var_160h) = v1;
    0x00419da4 b 0x419afc                    |     goto label_8;
                                             | label_61:
    0x00419da8 addiu v1, zero, 1             |     v1 = 1;
    0x00419dac sw v1, 0x168(sp)              |     *(var_168h) = v1;
    0x00419db0 b 0x419714                    |     goto label_4;
                                             | label_58:
    0x00419db4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00419db8 move a0, s1                   |     a0 = s1;
    0x00419dbc lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'enc' */
    0x00419dc0 addiu a1, a1, -0x370c         |     a1 += -0x370c;
    0x00419dc4 jalr t9                       |     t9 ();
    0x00419dc8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00419dcc beqz v0, 0x419874             |         goto label_9;
                                             |     }
    0x00419dd0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00419dd4 move a2, s1                   |     a2 = s1;
    0x00419dd8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00419ddc lw a0, (s7)                   |     a0 = *(s7);
    0x00419de0 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
                                             |     /* str._s_is_an_unknown_cipher_n */
    0x00419de4 addiu a1, a1, -0xcbc          |     a1 += -0xcbc;
    0x00419de8 jalr t9                       |     t9 ();
    0x00419dec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00419df0 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
                                             | label_59:
    0x00419df4 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x00419df8 sw v1, 0x150(sp)              |     *(var_150h) = v1;
    0x00419dfc lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x00419e00 sw t8, 0x198(sp)              |     *(var_198h) = t8;
    0x00419e04 sw v1, 0x1a0(sp)              |     *(var_1a0h) = v1;
                                             | label_41:
    0x00419e08 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             | label_42:
    0x00419e0c lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x00419e10 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
    0x00419e14 sw t8, 0x19c(sp)              |     *(var_19ch) = t8;
    0x00419e18 sw v1, 0x194(sp)              |     *(var_194h) = v1;
                                             |     do {
                                             | label_43:
    0x00419e1c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419e20 move s0, zero                 |         s0 = 0;
    0x00419e24 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00419e28 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.options_are_n */
    0x00419e2c addiu a1, a1, -0x1928         |         a1 += -0x1928;
    0x00419e30 sw a3, 0x1a8(sp)              |         *(var_1a8h) = a3;
    0x00419e34 jalr t9                       |         t9 ();
    0x00419e38 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419e3c lw a0, (s7)                   |         a0 = *(s7);
    0x00419e40 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419e44 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419e48 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_input_file_n */
    0x00419e4c addiu a1, a1, -0xbf8          |         a1 += -0xbf8;
                                             |         /* str._in__file_ */
    0x00419e50 addiu a2, a2, -0xbe4          |         a2 += -0xbe4;
    0x00419e54 jalr t9                       |         t9 ();
    0x00419e58 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419e5c lw a0, (s7)                   |         a0 = *(s7);
    0x00419e60 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419e64 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419e68 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_output_file_n */
    0x00419e6c addiu a1, a1, -0xbd8          |         a1 += -0xbd8;
                                             |         /* str._out__file_ */
    0x00419e70 addiu a2, a2, -0xbc4          |         a2 += -0xbc4;
    0x00419e74 jalr t9                       |         t9 ();
    0x00419e78 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419e7c lw a0, (s7)                   |         a0 = *(s7);
    0x00419e80 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419e84 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419e88 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_pass_phrase_source_n */
    0x00419e8c addiu a1, a1, -0xbb8          |         a1 += -0xbb8;
                                             |         /* str._pass__arg_ */
    0x00419e90 addiu a2, a2, -0xb9c          |         a2 += -0xb9c;
    0x00419e94 jalr t9                       |         t9 ();
                                             |         /* esilref: '-e' */
    0x00419e98 addiu a2, s3, -0xca0          |         a2 = s3 + -0xca0;
    0x00419e9c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419ea0 lw a0, (s7)                   |         a0 = *(s7);
    0x00419ea4 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419ea8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_encrypt_n */
    0x00419eac addiu a1, a1, -0xb90          |         a1 += -0xb90;
    0x00419eb0 jalr t9                       |         t9 ();
    0x00419eb4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419eb8 lw v1, 0x150(sp)              |         v1 = *(var_150h);
    0x00419ebc lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419ec0 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00419ec4 addiu a2, v1, -0x19d8         |         a2 = v1 + -0x19d8;
    0x00419ec8 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.__14s_decrypt_n */
    0x00419ecc addiu a1, a1, -0xb80          |         a1 += -0xb80;
    0x00419ed0 jalr t9                       |         t9 ();
    0x00419ed4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419ed8 lw a0, (s7)                   |         a0 = *(s7);
    0x00419edc lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419ee0 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419ee4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_base64_encode_decode__depending_on_encryption_flag_n */
    0x00419ee8 addiu a1, a1, -0xb70          |         a1 += -0xb70;
                                             |         /* str._a__base64 */
    0x00419eec addiu a2, a2, -0xb34          |         a2 += -0xb34;
    0x00419ef0 jalr t9                       |         t9 ();
    0x00419ef4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419ef8 lw t8, 0x1a0(sp)              |         t8 = *(var_1a0h);
    0x00419efc lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419f00 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00419f04 addiu a2, t8, -0xc4c          |         a2 = t8 + -0xc4c;
    0x00419f08 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.__14s_passphrase_is_the_next_argument_n */
    0x00419f0c addiu a1, a1, -0xb28          |         a1 += -0xb28;
    0x00419f10 jalr t9                       |         t9 ();
    0x00419f14 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419f18 lw v1, 0x19c(sp)              |         v1 = *(var_19ch);
    0x00419f1c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419f20 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00419f24 addiu a2, v1, -0xc48          |         a2 = v1 + -0xc48;
    0x00419f28 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.__14s_passphrase_is_the_first_line_of_the_file_argument_n */
    0x00419f2c addiu a1, a1, -0xb00          |         a1 += -0xb00;
    0x00419f30 jalr t9                       |         t9 ();
    0x00419f34 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419f38 lw a3, 0x1a8(sp)              |         a3 = *(var_1a8h);
    0x00419f3c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419f40 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00419f44 addiu a2, a3, -0xbfc          |         a2 = a3 + -0xbfc;
    0x00419f48 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.__14s_the_next_argument_is_the_md_to_use_to_create_a_key_n */
    0x00419f4c addiu a1, a1, -0xac4          |         a1 += -0xac4;
    0x00419f50 jalr t9                       |         t9 ();
    0x00419f54 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419f58 lw a0, (s7)                   |         a0 = *(s7);
    0x00419f5c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419f60 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419f64 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s___from_a_passphrase.__One_of_md2__md5__sha_or_sha1_n */
    0x00419f68 addiu a1, a1, -0xa88          |         a1 += -0xa88;
    0x00419f6c addiu a2, a2, 0x3b3c          |         a2 += 0x3b3c;
    0x00419f70 jalr t9                       |         t9 ();
    0x00419f74 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419f78 lw t8, 0x194(sp)              |         t8 = *(var_194h);
    0x00419f7c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419f80 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00419f84 addiu a2, t8, -0xc04          |         a2 = t8 + -0xc04;
    0x00419f88 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.__14s_salt_in_hex_is_the_next_argument_n */
    0x00419f8c addiu a1, a1, -0xa4c          |         a1 += -0xa4c;
    0x00419f90 jalr t9                       |         t9 ();
    0x00419f94 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419f98 lw a0, (s7)                   |         a0 = *(s7);
    0x00419f9c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419fa0 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419fa4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_key_iv_in_hex_is_the_next_argument_n */
    0x00419fa8 addiu a1, a1, -0xa24          |         a1 += -0xa24;
                                             |         /* str._K__iv */
    0x00419fac addiu a2, a2, -0x9f8          |         a2 += -0x9f8;
    0x00419fb0 jalr t9                       |         t9 ();
    0x00419fb4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419fb8 lw a0, (s7)                   |         a0 = *(s7);
    0x00419fbc lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419fc0 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419fc4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_print_the_iv_key__then_exit_if__P__n */
    0x00419fc8 addiu a1, a1, -0x9f0          |         a1 += -0x9f0;
                                             |         /* str.__pP_ */
    0x00419fcc addiu a2, a2, -0x9c4          |         a2 += -0x9c4;
    0x00419fd0 jalr t9                       |         t9 ();
    0x00419fd4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419fd8 lw a0, (s7)                   |         a0 = *(s7);
    0x00419fdc lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00419fe0 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00419fe4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_buffer_size_n */
    0x00419fe8 addiu a1, a1, -0x9bc          |         a1 += -0x9bc;
                                             |         /* str._bufsize__n_ */
    0x00419fec addiu a2, a2, -0x9a8          |         a2 += -0x9a8;
    0x00419ff0 jalr t9                       |         t9 ();
    0x00419ff4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00419ff8 lw v1, 0x198(sp)              |         v1 = *(var_198h);
    0x00419ffc lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041a000 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0041a004 addiu a2, v1, -0xc8c          |         a2 = v1 + -0xc8c;
    0x0041a008 lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.__14s_disable_standard_block_padding_n */
    0x0041a00c addiu a1, a1, -0x998          |         a1 += -0x998;
    0x0041a010 jalr t9                       |         t9 ();
    0x0041a014 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a018 lw a0, (s7)                   |         a0 = *(s7);
    0x0041a01c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041a020 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0041a024 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__14s_use_engine_e__possibly_a_hardware_device._n */
    0x0041a028 addiu a1, a1, -0x970          |         a1 += -0x970;
                                             |         /* str._engine_e */
    0x0041a02c addiu a2, a2, -0x93c          |         a2 += -0x93c;
    0x0041a030 jalr t9                       |         t9 ();
    0x0041a034 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a038 lw a0, (s7)                   |         a0 = *(s7);
    0x0041a03c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041a040 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.Cipher_Types_n */
    0x0041a044 addiu a1, a1, -0x930          |         a1 += -0x930;
    0x0041a048 jalr t9                       |         t9 ();
    0x0041a04c addiu a0, zero, 2             |         a0 = 2;
    0x0041a050 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a054 addiu a2, sp, 0x128           |         a2 = sp + 0x128;
    0x0041a058 lw t8, (s7)                   |         t8 = *(s7);
    0x0041a05c lw a1, -0x7f70(gp)            |         a1 = *((gp - 8156));
    0x0041a060 lw t9, -0x7ac4(gp)            |         t9 = sym.imp.OBJ_NAME_do_all_sorted;
    0x0041a064 addiu a1, a1, -0x6d90         |         a1 += -0x6d90;
    0x0041a068 sw t8, 0x128(sp)              |         *(var_128h) = t8;
    0x0041a06c sw zero, 0x12c(sp)            |         *(var_12ch) = 0;
    0x0041a070 jalr t9                       |         t9 ();
    0x0041a074 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a078 lw a0, (s7)                   |         a0 = *(s7);
    0x0041a07c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041a080 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0041a084 addiu a1, a1, 0x609c          |         a1 += 0x609c;
    0x0041a088 jalr t9                       |         t9 ();
    0x0041a08c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a090 b 0x4195ac                    |         goto label_2;
                                             | label_78:
    0x0041a094 lw s2, -0x7bbc(gp)            |         s2 = *((gp - 7919));
                                             |         if (s1 != 0) {
    0x0041a098 beqz s1, 0x41a0b8             |             
    0x0041a09c lw t9, -0x6c20(gp)            |             t9 = sym.imp.setvbuf;
    0x0041a0a0 move a1, zero                 |             a1 = 0;
    0x0041a0a4 lw a0, (s2)                   |             a0 = *(s2);
    0x0041a0a8 addiu a2, zero, 2             |             a2 = 2;
    0x0041a0ac move a3, zero                 |             a3 = 0;
    0x0041a0b0 jalr t9                       |             t9 ();
    0x0041a0b4 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0041a0b8 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x0041a0bc move a0, s4                   |         a0 = s4;
    0x0041a0c0 lw a3, (s2)                   |         a3 = *(s2);
    0x0041a0c4 addiu a1, zero, 0x6a          |         a1 = 0x6a;
    0x0041a0c8 move a2, zero                 |         a2 = 0;
    0x0041a0cc jalr t9                       |         t9 ();
    0x0041a0d0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a0d4 b 0x419bd0                    |         goto label_10;
                                             | label_77:
    0x0041a0d8 lw a1, -0x7338(gp)            |         a1 = *((gp - 7374));
    0x0041a0dc move a0, s4                   |         a0 = s4;
    0x0041a0e0 jalr t9                       |         t9 ();
    0x0041a0e4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a0e8 lw t9, -0x7198(gp)            |         t9 = sym.imp.BIO_set_callback;
    0x0041a0ec lw a1, -0x7338(gp)            |         a1 = *((gp - 7374));
    0x0041a0f0 move a0, s6                   |         a0 = s6;
    0x0041a0f4 jalr t9                       |         t9 ();
    0x0041a0f8 move a0, s4                   |         a0 = s4;
    0x0041a0fc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a100 lw t9, -0x75dc(gp)            |         t9 = sym.imp.BIO_set_callback_arg;
    0x0041a104 lw a1, (s7)                   |         a1 = *(s7);
    0x0041a108 jalr t9                       |         t9 ();
    0x0041a10c move a0, s6                   |         a0 = s6;
    0x0041a110 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a114 lw t9, -0x75dc(gp)            |         t9 = sym.imp.BIO_set_callback_arg;
    0x0041a118 lw a1, (s7)                   |         a1 = *(s7);
    0x0041a11c jalr t9                       |         t9 ();
    0x0041a120 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a124 b 0x419ba8                    |         goto label_11;
                                             | label_55:
    0x0041a128 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041a12c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0041a130 lw a2, 0x160(sp)              |         a2 = *(var_160h);
                                             |         /* str._s_is_an_unsupported_message_digest_type_n */
    0x0041a134 addiu a1, a1, -0x8b4          |         a1 += -0x8b4;
    0x0041a138 lw a0, (s7)                   |         a0 = *(s7);
    0x0041a13c jalr t9                       |         t9 ();
    0x0041a140 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a144 b 0x4195ac                    |         goto label_2;
                                             | label_50:
    0x0041a148 lw v1, -0x7fd8(gp)            |         v1 = *(gp);
    0x0041a14c sw t8, 0x150(sp)              |         *(var_150h) = t8;
    0x0041a150 lw t8, -0x7fd8(gp)            |         t8 = *(gp);
    0x0041a154 sw v1, 0x198(sp)              |         *(var_198h) = v1;
    0x0041a158 sw t8, 0x1a0(sp)              |         *(var_1a0h) = t8;
    0x0041a15c lw v1, -0x7fd8(gp)            |         v1 = *(gp);
    0x0041a160 lw t8, -0x7fd8(gp)            |         t8 = *(gp);
    0x0041a164 sw v1, 0x19c(sp)              |         *(var_19ch) = v1;
    0x0041a168 sw t8, 0x194(sp)              |         *(var_194h) = t8;
    0x0041a16c lw a3, -0x7fd8(gp)            |         a3 = *(gp);
    0x0041a170 b 0x419e1c                    |         
                                             |     } while (1);
                                             | label_54:
    0x0041a174 lw t9, -0x7488(gp)            |     t9 = sym.imp.EVP_md5;
    0x0041a178 jalr t9                       |     t9 ();
    0x0041a17c nop                           |     
    0x0041a180 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a184 sw v0, 0x15c(sp)              |     *(var_15ch) = v0;
    0x0041a188 b 0x4197e0                    |     goto label_12;
                                             | label_52:
    0x0041a18c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a190 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a194 lw a0, (s3)                   |     a0 = *(s3);
                                             |     /* str.AEAD_ciphers_not_supported_by_the_enc_utility_n */
    0x0041a198 addiu a1, a1, -0x920          |     a1 += -0x920;
    0x0041a19c jalr t9                       |     t9 ();
    0x0041a1a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a1a4 b 0x4195ac                    |     goto label_2;
                                             | label_75:
    0x0041a1a8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a1ac move a2, s4                   |     a2 = s4;
    0x0041a1b0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a1b4 move s1, zero                 |     s1 = 0;
    0x0041a1b8 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.OPENSSL_malloc_failure__ld_n */
    0x0041a1bc addiu a1, a1, -0x854          |     a1 += -0x854;
    0x0041a1c0 move s2, zero                 |     s2 = 0;
    0x0041a1c4 addiu s5, zero, 1             |     s5 = 1;
    0x0041a1c8 jalr t9                       |     t9 ();
    0x0041a1cc move s6, zero                 |     s6 = 0;
    0x0041a1d0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a1d4 move s4, zero                 |     s4 = 0;
    0x0041a1d8 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0041a1dc lw a0, (s7)                   |     a0 = *(s7);
    0x0041a1e0 jalr t9                       |     t9 ();
    0x0041a1e4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a1e8 b 0x419cd4                    |     goto label_13;
                                             | label_73:
    0x0041a1ec lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a1f0 lw a2, 0x160(sp)              |     a2 = *(var_160h);
                                             |     /* str.bufsize_d_n */
    0x0041a1f4 addiu a1, a1, -0x868          |     a1 += -0x868;
    0x0041a1f8 lw a0, (s7)                   |     a0 = *(s7);
    0x0041a1fc jalr t9                       |     t9 ();
    0x0041a200 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a204 b 0x419b08                    |     goto label_14;
                                             | label_62:
    0x0041a208 addiu t8, zero, 1             |     t8 = 1;
    0x0041a20c sw t8, 0x188(sp)              |     *(var_188h) = t8;
    0x0041a210 b 0x419714                    |     goto label_4;
                                             | label_53:
    0x0041a214 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a218 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a21c lw a0, (s3)                   |     a0 = *(s3);
                                             |     /* str.Ciphers_in_XTS_mode_are_not_supported_by_the_enc_utility_n */
    0x0041a220 addiu a1, a1, -0x8f0          |     a1 += -0x8f0;
    0x0041a224 jalr t9                       |     t9 ();
    0x0041a228 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a22c b 0x4195ac                    |     goto label_2;
                                             | label_76:
    0x0041a230 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0041a234 lw a0, (s7)                   |     a0 = *(s7);
                                             | label_26:
    0x0041a238 jalr t9                       |     t9 ();
    0x0041a23c nop                           |     
    0x0041a240 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_22:
    0x0041a244 move s1, zero                 |     s1 = 0;
    0x0041a248 move s2, zero                 |     s2 = 0;
                                             |     do {
                                             | label_38:
    0x0041a24c addiu s5, zero, 1             |         s5 = 1;
    0x0041a250 b 0x419cb0                    |         goto label_15;
                                             | label_86:
    0x0041a254 move s1, zero                 |         s1 = 0;
                                             | label_32:
    0x0041a258 lw t9, -0x7cf8(gp)            |         t9 = sym.imp.strlen;
                                             | label_37:
    0x0041a25c lw a0, 0x164(sp)              |         a0 = *(var_164h);
    0x0041a260 jalr t9                       |         t9 ();
    0x0041a264 addiu t8, zero, 1             |         t8 = 1;
    0x0041a268 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a26c move a2, s1                   |         a2 = s1;
    0x0041a270 sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x0041a274 addiu t8, sp, 0x28            |         t8 = sp + 0x28;
    0x0041a278 lw t9, -0x7c00(gp)            |         t9 = sym.imp.EVP_BytesToKey;
    0x0041a27c sw t8, 0x18(sp)               |         *(var_18h) = t8;
    0x0041a280 addiu t8, sp, 0x118           |         t8 = sp + 0x118;
    0x0041a284 lw a0, 0x154(sp)              |         a0 = *(var_154h);
    0x0041a288 lw a1, 0x15c(sp)              |         a1 = *(var_15ch);
    0x0041a28c lw a3, 0x164(sp)              |         a3 = *(var_164h);
    0x0041a290 sw t8, 0x1c(sp)               |         *(var_1ch) = t8;
    0x0041a294 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0041a298 jalr t9                       |         t9 ();
    0x0041a29c lw v1, 0x164(sp)              |         v1 = *(var_164h);
    0x0041a2a0 lw t8, 0x148(sp)              |         t8 = *(var_148h);
    0x0041a2a4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v1 == t8) {
    0x0041a2a8 beq v1, t8, 0x41aabc          |             goto label_91;
                                             |         }
    0x0041a2ac lw t9, -0x7cf8(gp)            |         t9 = sym.imp.strlen;
    0x0041a2b0 move a0, v1                   |         a0 = v1;
    0x0041a2b4 jalr t9                       |         t9 ();
    0x0041a2b8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a2bc move a1, v0                   |         a1 = v0;
    0x0041a2c0 lw t9, -0x7510(gp)            |         t9 = sym.imp.OPENSSL_cleanse;
    0x0041a2c4 lw a0, 0x164(sp)              |         a0 = *(var_164h);
    0x0041a2c8 jalr t9                       |         t9 ();
    0x0041a2cc lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_30:
    0x0041a2d0 lw v1, 0x180(sp)              |         v1 = *(var_180h);
    0x0041a2d4 lw v1, 0x17c(sp)              |         v1 = *(var_17ch);
                                             |         if (v1 != 0) {
    0x0041a2d8 beqz v1, 0x41a30c             |             
    0x0041a2dc lw t9, -0x6cc8(gp)            |             t9 = sym.imp.EVP_CIPHER_iv_length;
                                             | label_39:
    0x0041a2e0 lw a0, 0x154(sp)              |             a0 = *(var_154h);
    0x0041a2e4 jalr t9                       |             t9 ();
    0x0041a2e8 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 != 0) {
    0x0041a2ec bnez v0, 0x41a908             |                 goto label_92;
                                             |             }
    0x0041a2f0 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x0041a2f4 lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
    0x0041a2f8 lw a0, (s7)                   |             a0 = *(s7);
                                             |             /* str.warning:_iv_not_use_by_this_cipher_n */
    0x0041a2fc addiu a1, a1, -0x790          |             a1 += -0x790;
    0x0041a300 jalr t9                       |             t9 ();
    0x0041a304 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             | label_25:
    0x0041a308 lw v1, 0x17c(sp)              |             v1 = *(var_17ch);
                                             |         }
    0x0041a30c lw t9, -0x776c(gp)            |         t9 = sym.imp.EVP_CIPHER_key_length;
                                             |         if (v1 != 0) {
    0x0041a310 beqz v1, 0x41a33c             |             
    0x0041a314 lw a0, 0x154(sp)              |             a0 = *(var_154h);
    0x0041a318 jalr t9                       |             t9 ();
    0x0041a31c addiu a1, sp, 0x28            |             a1 = sp + 0x28;
    0x0041a320 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0041a324 move a2, v0                   |             a2 = v0;
    0x0041a328 lw t9, -0x7e34(gp)            |             t9 = sym.set_hex;
    0x0041a32c lw a0, 0x17c(sp)              |             a0 = *(var_17ch);
    0x0041a330 jalr t9                       |             t9 ();
    0x0041a334 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x0041a338 beqz v0, 0x41aa04             |                 goto label_93;
                                             |             }
                                             |         }
    0x0041a33c lw t9, -0x6f70(gp)            |         t9 = sym.imp.BIO_f_cipher;
    0x0041a340 jalr t9                       |         t9 ();
    0x0041a344 nop                           |         
    0x0041a348 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a34c lw t9, -0x7d6c(gp)            |         t9 = sym.imp.BIO_new;
    0x0041a350 move a0, v0                   |         a0 = v0;
    0x0041a354 jalr t9                       |         t9 ();
    0x0041a358 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a35c move s1, v0                   |         s1 = v0;
    0x0041a360 beqz v0, 0x41a24c             |         
                                             |     } while (v0 == 0);
    0x0041a364 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0041a368 move a0, v0                   |     a0 = v0;
    0x0041a36c addiu a1, zero, 0x81          |     a1 = 0x81;
    0x0041a370 move a2, zero                 |     a2 = 0;
    0x0041a374 addiu a3, sp, 0x140           |     a3 = sp + 0x140;
    0x0041a378 jalr t9                       |     t9 ();
    0x0041a37c lw t8, 0x190(sp)              |     t8 = *(var_190h);
    0x0041a380 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (t8 != 0) {
    0x0041a384 beqz t8, 0x41a39c             |         
    0x0041a388 lw t9, -0x7d50(gp)            |         t9 = sym.imp.EVP_CIPHER_CTX_set_flags;
    0x0041a38c ori a1, zero, 0x8000          |         a1 = 0x8000;
    0x0041a390 lw a0, 0x140(sp)              |         a0 = *(var_140h);
    0x0041a394 jalr t9                       |         t9 ();
    0x0041a398 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x0041a39c lw t9, -0x789c(gp)            |     t9 = sym.imp.EVP_CipherInit_ex;
    0x0041a3a0 move a2, zero                 |     a2 = 0;
    0x0041a3a4 lw a1, 0x154(sp)              |     a1 = *(var_154h);
    0x0041a3a8 move a3, zero                 |     a3 = 0;
    0x0041a3ac lw a0, 0x140(sp)              |     a0 = *(var_140h);
    0x0041a3b0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0041a3b4 sw fp, 0x14(sp)               |     *(var_14h) = fp;
    0x0041a3b8 jalr t9                       |     t9 ();
    0x0041a3bc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041a3c0 beqz v0, 0x41a948             |         goto label_94;
                                             |     }
    0x0041a3c4 lw v1, 0x188(sp)              |     v1 = *(var_188h);
    0x0041a3c8 addiu t8, sp, 0x118           |     t8 = sp + 0x118;
                                             |     if (v1 != 0) {
    0x0041a3cc beqz v1, 0x41a3e8             |         
    0x0041a3d0 lw t9, -0x6f34(gp)            |         t9 = sym.imp.EVP_CIPHER_CTX_set_padding;
    0x0041a3d4 move a1, zero                 |         a1 = 0;
    0x0041a3d8 lw a0, 0x140(sp)              |         a0 = *(var_140h);
    0x0041a3dc jalr t9                       |         t9 ();
    0x0041a3e0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a3e4 addiu t8, sp, 0x118           |         t8 = sp + 0x118;
                                             |     }
    0x0041a3e8 addiu v1, sp, 0x28            |     v1 = sp + 0x28;
    0x0041a3ec lw t9, -0x789c(gp)            |     t9 = sym.imp.EVP_CipherInit_ex;
    0x0041a3f0 move a1, zero                 |     a1 = 0;
    0x0041a3f4 lw a0, 0x140(sp)              |     a0 = *(var_140h);
    0x0041a3f8 move a2, zero                 |     a2 = 0;
    0x0041a3fc sw t8, 0x150(sp)              |     *(var_150h) = t8;
    0x0041a400 move a3, v1                   |     a3 = v1;
    0x0041a404 sw v1, 0x158(sp)              |     *(var_158h) = v1;
    0x0041a408 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0041a40c sw fp, 0x14(sp)               |     *(var_14h) = fp;
    0x0041a410 jalr t9                       |     t9 ();
    0x0041a414 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041a418 beqz v0, 0x41a948             |         goto label_94;
                                             |     }
    0x0041a41c lw t8, 0x174(sp)              |     t8 = *(var_174h);
    0x0041a420 lw t9, -0x7198(gp)            |     t9 = sym.imp.BIO_set_callback;
                                             |     if (t8 != 0) {
    0x0041a424 bnez t8, 0x41abec             |         goto label_95;
                                             |     }
                                             | label_34:
    0x0041a428 lw v1, 0x170(sp)              |     v1 = *(var_170h);
    0x0041a42c lw t9, -0x7c84(gp)            |     t9 = sym.imp.BIO_push;
                                             |     if (v1 == 0) {
    0x0041a430 beqz v1, 0x41a560             |         goto label_96;
                                             |     }
    0x0041a434 lw t8, 0x178(sp)              |     t8 = *(var_178h);
    0x0041a438 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
                                             |     if (t8 == 0) {
    0x0041a43c beqz t8, 0x41ac14             |         goto label_97;
                                             |     }
                                             | label_35:
    0x0041a440 lw v1, 0x154(sp)              |     v1 = *(var_154h);
    0x0041a444 lw t8, 8(v1)                  |     t8 = *((v1 + 2));
    0x0041a448 lw t9, -0x73d0(gp)            |     t9 = sym.imp.printf
                                             |     if (t8 <= 0) {
    0x0041a44c blez t8, 0x41a4d4             |         goto label_98;
                                             |     }
    0x0041a450 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
                                             |     /* str.key */
    0x0041a454 addiu a0, a0, -0x700          |     a0 += -0x700;
    0x0041a458 jalr t9                       |     t9 ();
    0x0041a45c lw v1, 0x154(sp)              |     v1 = *(var_154h);
    0x0041a460 lw t8, 8(v1)                  |     t8 = *((v1 + 2));
    0x0041a464 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (t8 <= 0) {
    0x0041a468 blez t8, 0x41a4c0             |         goto label_99;
                                             |     }
    0x0041a46c move fp, zero                 |     fp = 0;
    0x0041a470 sw s1, 0x15c(sp)              |     *(var_15ch) = s1;
    0x0041a474 move s1, fp                   |     s1 = fp;
    0x0041a478 sw s2, 0x164(sp)              |     *(var_164h) = s2;
    0x0041a47c move fp, s0                   |     fp = s0;
    0x0041a480 lw s2, 0x158(sp)              |     s2 = *(var_158h);
    0x0041a484 lw s0, 0x154(sp)              |     s0 = *(var_154h);
                                             |     do {
    0x0041a488 addu v0, s2, s1               |         v0 = s2 + s1;
    0x0041a48c addiu s1, s1, 1               |         s1++;
    0x0041a490 lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0041a494 lw t9, -0x73d0(gp)            |         t9 = sym.imp.printf
    0x0041a498 lbu a1, (v0)                  |         a1 = *(v0);
                                             |         /* str._02X */
    0x0041a49c addiu a0, a0, -0x708          |         a0 += -0x708;
    0x0041a4a0 jalr t9                       |         t9 ();
    0x0041a4a4 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x0041a4a8 slt v0, s1, v0                |         v0 = (s1 < v0) ? 1 : 0;
    0x0041a4ac lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a4b0 bnez v0, 0x41a488             |         
                                             |     } while (v0 != 0);
    0x0041a4b4 lw s1, 0x15c(sp)              |     s1 = *(var_15ch);
    0x0041a4b8 move s0, fp                   |     s0 = fp;
    0x0041a4bc lw s2, 0x164(sp)              |     s2 = *(var_164h);
                                             | label_99:
    0x0041a4c0 lw t9, -0x74fc(gp)            |     t9 = sym.imp.putchar;
    0x0041a4c4 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x0041a4c8 jalr t9                       |     t9 ();
    0x0041a4cc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a4d0 lw v1, 0x154(sp)              |     v1 = *(var_154h);
                                             | label_98:
    0x0041a4d4 lw t8, 0xc(v1)                |     t8 = *((v1 + 3));
    0x0041a4d8 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
                                             |     if (t8 <= 0) {
    0x0041a4dc blez t8, 0x41a550             |         goto label_100;
                                             |     }
    0x0041a4e0 lw t9, -0x73d0(gp)            |     t9 = sym.imp.printf
                                             |     /* str.iv_ */
    0x0041a4e4 addiu a0, a0, -0x6f8          |     a0 += -0x6f8;
    0x0041a4e8 jalr t9                       |     t9 ();
    0x0041a4ec lw v1, 0x154(sp)              |     v1 = *(var_154h);
    0x0041a4f0 lw t8, 0xc(v1)                |     t8 = *((v1 + 3));
    0x0041a4f4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (t8 <= 0) {
    0x0041a4f8 blez t8, 0x41a540             |         goto label_101;
                                             |     }
    0x0041a4fc lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0041a500 move t8, zero                 |     t8 = 0;
                                             |     /* str._02X */
    0x0041a504 addiu fp, v0, -0x708          |     fp = v0 + -0x708;
                                             |     do {
    0x0041a508 addiu v1, sp, 0x118           |         v1 = sp + 0x118;
    0x0041a50c move a0, fp                   |         a0 = fp;
    0x0041a510 addu v0, v1, t8               |         v0 = v1 + t8;
    0x0041a514 addiu t8, t8, 1               |         t8++;
    0x0041a518 lw t9, -0x73d0(gp)            |         t9 = sym.imp.printf
    0x0041a51c lbu a1, (v0)                  |         a1 = *(v0);
    0x0041a520 sw t8, 0x1a8(sp)              |         *(var_1a8h) = t8;
    0x0041a524 jalr t9                       |         t9 ();
    0x0041a528 lw v1, 0x154(sp)              |         v1 = *(var_154h);
    0x0041a52c lw t8, 0x1a8(sp)              |         t8 = *(var_1a8h);
    0x0041a530 lw v0, 0xc(v1)                |         v0 = *((v1 + 3));
    0x0041a534 slt v0, t8, v0                |         v0 = (t8 < v0) ? 1 : 0;
    0x0041a538 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a53c bnez v0, 0x41a508             |         
                                             |     } while (v0 != 0);
                                             | label_101:
    0x0041a540 lw t9, -0x74fc(gp)            |     t9 = sym.imp.putchar;
    0x0041a544 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x0041a548 jalr t9                       |     t9 ();
    0x0041a54c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_100:
    0x0041a550 lw v1, 0x170(sp)              |     v1 = *(var_170h);
    0x0041a554 addiu t8, zero, 2             |     t8 = 2;
    0x0041a558 lw t9, -0x7c84(gp)            |     t9 = sym.imp.BIO_push;
                                             |     if (v1 == t8) {
    0x0041a55c beq v1, t8, 0x41a5fc          |         goto label_102;
                                             |     }
                                             | label_96:
    0x0041a560 move a1, s5                   |     a1 = s5;
    0x0041a564 move a0, s1                   |     a0 = s1;
    0x0041a568 jalr t9                       |     t9 ();
    0x0041a56c sw s1, 0x154(sp)              |     *(var_154h) = s1;
    0x0041a570 move s5, v0                   |     s5 = v0;
    0x0041a574 lw fp, 0x14c(sp)              |     fp = *(var_14ch);
    0x0041a578 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a57c lw s1, 0x160(sp)              |     s1 = *(var_160h);
    0x0041a580 sw s0, 0x14c(sp)              |     *(var_14ch) = s0;
    0x0041a584 b 0x41a598                    |     
                                             |     while (v0 > 0) {
    0x0041a588 jalr t9                       |         t9 ();
    0x0041a58c nop                           |         
    0x0041a590 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != s0) {
    0x0041a594 bne v0, s0, 0x41a9b8          |             goto label_103;
                                             |         }
                                             | label_23:
    0x0041a598 lw t9, -0x72f0(gp)            |         t9 = sym.imp.BIO_read;
    0x0041a59c move a0, fp                   |         a0 = fp;
    0x0041a5a0 move a1, s3                   |         a1 = s3;
    0x0041a5a4 move a2, s1                   |         a2 = s1;
    0x0041a5a8 jalr t9                       |         t9 ();
    0x0041a5ac move a0, s5                   |         a0 = s5;
    0x0041a5b0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a5b4 move a1, s3                   |         a1 = s3;
    0x0041a5b8 move s0, v0                   |         s0 = v0;
    0x0041a5bc lw t9, -0x74c8(gp)            |         t9 = sym.imp.BIO_write;
    0x0041a5c0 move a2, v0                   |         a2 = v0;
    0x0041a5c4 bgtz v0, 0x41a588             |         
                                             |     }
    0x0041a5c8 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0041a5cc move a0, s5                   |     a0 = s5;
    0x0041a5d0 addiu a1, zero, 0xb           |     a1 = 0xb;
    0x0041a5d4 move a2, zero                 |     a2 = 0;
    0x0041a5d8 move a3, zero                 |     a3 = 0;
    0x0041a5dc lw s1, 0x154(sp)              |     s1 = *(var_154h);
    0x0041a5e0 lw s0, 0x14c(sp)              |     s0 = *(var_14ch);
    0x0041a5e4 jalr t9                       |     t9 ();
    0x0041a5e8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041a5ec beqz v0, 0x41ab40             |         goto label_104;
                                             |     }
    0x0041a5f0 lw t8, 0x168(sp)              |     t8 = *(var_168h);
    0x0041a5f4 lw t9, -0x7130(gp)            |     t9 = sym.imp.BIO_number_read;
                                             |     if (t8 == 0) {
    0x0041a5f8 bnez t8, 0x41a604             |         
                                             | label_102:
    0x0041a5fc move s5, zero                 |         s5 = 0;
    0x0041a600 b 0x419cb0                    |         goto label_15;
                                             |     }
    0x0041a604 move a0, s4                   |     a0 = s4;
    0x0041a608 lw s5, (s7)                   |     s5 = *(s7);
    0x0041a60c jalr t9                       |     t9 ();
    0x0041a610 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a614 move a0, s5                   |     a0 = s5;
    0x0041a618 move a2, v0                   |     a2 = v0;
    0x0041a61c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a620 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.bytes_read___:_8ld_n */
    0x0041a624 addiu a1, a1, -0x6e0          |     a1 += -0x6e0;
    0x0041a628 jalr t9                       |     t9 ();
    0x0041a62c move a0, s6                   |     a0 = s6;
    0x0041a630 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a634 lw t9, -0x7088(gp)            |     t9 = sym.imp.BIO_number_written;
    0x0041a638 lw s5, (s7)                   |     s5 = *(s7);
    0x0041a63c jalr t9                       |     t9 ();
    0x0041a640 move a0, s5                   |     a0 = s5;
    0x0041a644 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a648 move a2, v0                   |     a2 = v0;
    0x0041a64c move s5, zero                 |     s5 = 0;
    0x0041a650 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a654 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.bytes_written:_8ld_n */
    0x0041a658 addiu a1, a1, -0x6cc          |     a1 += -0x6cc;
    0x0041a65c jalr t9                       |     t9 ();
    0x0041a660 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a664 b 0x419cb0                    |     goto label_15;
                                             | label_83:
    0x0041a668 lw t9, -0x71ec(gp)            |     t9 = sym.imp.BIO_f_base64;
    0x0041a66c jalr t9                       |     t9 ();
    0x0041a670 nop                           |     
    0x0041a674 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a678 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x0041a67c move a0, v0                   |     a0 = v0;
    0x0041a680 jalr t9                       |     t9 ();
    0x0041a684 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a688 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x0041a68c beqz v0, 0x41aab0             |         goto label_105;
                                             |     }
    0x0041a690 lw t8, 0x174(sp)              |     t8 = *(var_174h);
    0x0041a694 lw t9, -0x7198(gp)            |     t9 = sym.imp.BIO_set_callback;
                                             |     if (t8 != 0) {
    0x0041a698 bnez t8, 0x41aa6c             |         goto label_106;
                                             |     }
                                             | label_28:
    0x0041a69c lw v1, 0x18c(sp)              |     v1 = *(var_18ch);
    0x0041a6a0 lw t9, -0x71b0(gp)            |     t9 = sym.imp.BIO_set_flags;
                                             |     if (v1 != 0) {
    0x0041a6a4 bnez v1, 0x41aa58             |         goto label_107;
                                             |     }
                                             | label_27:
    0x0041a6a8 lw t9, -0x7c84(gp)            |     t9 = sym.imp.BIO_push;
    0x0041a6ac move a0, s2                   |     a0 = s2;
                                             |     if (fp == 0) {
    0x0041a6b0 beqz fp, 0x41a9ec             |         goto label_108;
                                             |     }
    0x0041a6b4 move a1, s6                   |     a1 = s6;
    0x0041a6b8 jalr t9                       |     t9 ();
    0x0041a6bc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a6c0 move s5, v0                   |     s5 = v0;
    0x0041a6c4 sw s4, 0x14c(sp)              |     *(var_14ch) = s4;
    0x0041a6c8 b 0x419c18                    |     goto label_16;
                                             | label_63:
    0x0041a6cc sw zero, 0x178(sp)            |     *(var_178h) = 0;
    0x0041a6d0 b 0x419714                    |     goto label_4;
                                             | label_56:
    0x0041a6d4 addiu s4, zero, 0x2c52        |     s4 = 0x2c52;
    0x0041a6d8 sw v1, 0x160(sp)              |     *(var_160h) = v1;
    0x0041a6dc b 0x419b08                    |     goto label_14;
                                             | label_74:
    0x0041a6e0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a6e4 move a2, s4                   |     a2 = s4;
    0x0041a6e8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a6ec lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.OPENSSL_malloc_failure__ld_n */
    0x0041a6f0 addiu a1, a1, -0x854          |     a1 += -0x854;
    0x0041a6f4 jalr t9                       |     t9 ();
    0x0041a6f8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a6fc lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0041a700 lw a0, (s7)                   |     a0 = *(s7);
    0x0041a704 jalr t9                       |     t9 ();
    0x0041a708 lw v1, 0x148(sp)              |     v1 = *(var_148h);
    0x0041a70c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v1 == 0) {
    0x0041a710 beqz v1, 0x4195bc             |         goto label_17;
                                             |     }
    0x0041a714 move s1, zero                 |     s1 = 0;
    0x0041a718 move s2, zero                 |     s2 = 0;
    0x0041a71c move s6, zero                 |     s6 = 0;
    0x0041a720 move s4, zero                 |     s4 = 0;
    0x0041a724 addiu s5, zero, 1             |     s5 = 1;
    0x0041a728 b 0x419cc0                    |     goto label_18;
                                             | label_81:
    0x0041a72c lw s2, -0x77b0(gp)            |     s2 = *((gp - 7660));
    0x0041a730 move a0, s6                   |     a0 = s6;
    0x0041a734 addiu a1, zero, 0x6a          |     a1 = 0x6a;
    0x0041a738 lw a3, (s2)                   |     a3 = *(s2);
    0x0041a73c move a2, zero                 |     a2 = 0;
    0x0041a740 jalr t9                       |     t9 ();
    0x0041a744 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s1 == 0) {
    0x0041a748 beqz s1, 0x419c04             |         goto label_19;
                                             |     }
    0x0041a74c lw t9, -0x6c20(gp)            |     t9 = sym.imp.setvbuf;
    0x0041a750 move a1, zero                 |     a1 = 0;
    0x0041a754 lw a0, (s2)                   |     a0 = *(s2);
    0x0041a758 addiu a2, zero, 2             |     a2 = 2;
    0x0041a75c move a3, zero                 |     a3 = 0;
    0x0041a760 jalr t9                       |     t9 ();
    0x0041a764 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a768 b 0x419c04                    |     goto label_19;
                                             | label_80:
    0x0041a76c lw t9, -0x7fcc(gp)            |     t9 = sym.app_passwd;
                                             |     if (v1 != 0) {
    0x0041a770 beqz v1, 0x41a7a0             |         
    0x0041a774 move a1, v1                   |         a1 = v1;
    0x0041a778 lw a0, (s7)                   |         a0 = *(s7);
    0x0041a77c move a2, zero                 |         a2 = 0;
    0x0041a780 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0041a784 addiu a3, sp, 0x144           |         a3 = sp + 0x144;
    0x0041a788 jalr t9                       |         t9 ();
    0x0041a78c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0041a790 beqz v0, 0x41aca0             |             goto label_109;
                                             |         }
    0x0041a794 lw t8, 0x144(sp)              |         t8 = *(var_144h);
                                             |         if (t8 != 0) {
    0x0041a798 bnez t8, 0x41ad38             |             goto label_110;
                                             |         }
    0x0041a79c nop                           |         
                                             |     }
    0x0041a7a0 lw t8, 0x154(sp)              |     t8 = *(var_154h);
    0x0041a7a4 lw v1, 0x17c(sp)              |     v1 = *(var_17ch);
                                             |     if (t8 == 0) {
    0x0041a7a8 beqz t8, 0x419bdc             |         goto label_20;
                                             |     }
    0x0041a7ac lw t8, 0x14c(sp)              |     t8 = *(var_14ch);
                                             |     if (v1 != 0) {
    0x0041a7b0 bnez v1, 0x419be0             |         goto label_21;
                                             |     }
    0x0041a7b4 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             |     if (fp != 0) {
    0x0041a7b8 bnez fp, 0x41ab60             |         goto label_111;
                                             |     }
    0x0041a7bc addiu t8, sp, 0x28            |     t8 = sp + 0x28;
    0x0041a7c0 sw t8, 0x158(sp)              |     *(var_158h) = t8;
    0x0041a7c4 lw s2, -0x7fd8(gp)            |     s2 = *(gp);
    0x0041a7c8 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             |     /* str.decryption */
    0x0041a7cc addiu s2, s2, -0x820          |     s2 += -0x820;
                                             |     /* str.enter__s__s_password: */
    0x0041a7d0 addiu s5, t8, -0x838          |     s5 = t8 + -0x838;
    0x0041a7d4 b 0x41a7e0                    |     
                                             |     while (v0 != 0) {
    0x0041a7d8 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         if (v0 < 0) {
    0x0041a7dc bltz v0, 0x41ad40             |             goto label_112;
                                             |         }
    0x0041a7e0 lw t9, -0x7384(gp)            |         t9 = sym.imp.EVP_CIPHER_nid;
    0x0041a7e4 lw a0, 0x154(sp)              |         a0 = *(var_154h);
    0x0041a7e8 jalr t9                       |         t9 ();
    0x0041a7ec lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a7f0 lw t9, -0x7a04(gp)            |         t9 = sym.imp.OBJ_nid2ln;
    0x0041a7f4 move a0, v0                   |         a0 = v0;
    0x0041a7f8 jalr t9                       |         t9 ();
    0x0041a7fc move a2, s5                   |         a2 = s5;
    0x0041a800 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a804 addiu a1, zero, 0xc8          |         a1 = 0xc8;
    0x0041a808 lw a0, 0x158(sp)              |         a0 = *(var_158h);
    0x0041a80c move a3, v0                   |         a3 = v0;
    0x0041a810 lw t9, -0x6ff0(gp)            |         t9 = sym.imp.BIO_snprintf
    0x0041a814 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x0041a818 jalr t9                       |         t9 ();
    0x0041a81c addiu a1, zero, 0x200         |         a1 = 0x200;
    0x0041a820 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a824 move a3, zero                 |         a3 = 0;
    0x0041a828 lw a0, 0x148(sp)              |         a0 = *(var_148h);
    0x0041a82c lw t9, -0x6e90(gp)            |         t9 = sym.imp.EVP_read_pw_string;
    0x0041a830 lw a2, 0x158(sp)              |         a2 = *(var_158h);
    0x0041a834 sb zero, (a0)                 |         *(a0) = 0;
    0x0041a838 jalr t9                       |         t9 ();
    0x0041a83c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041a840 bnez v0, 0x41a7d8             |         
                                             |     }
    0x0041a844 lw v1, 0x148(sp)              |     v1 = *(var_148h);
                                             | label_33:
    0x0041a848 lb t8, (v1)                   |     t8 = *(v1);
                                             |     if (t8 == 0) {
    0x0041a84c beqz t8, 0x41a244             |         goto label_22;
                                             |     }
    0x0041a850 nop                           |     
    0x0041a854 sw v1, 0x164(sp)              |     *(var_164h) = v1;
    0x0041a858 b 0x419bdc                    |     goto label_20;
                                             | label_87:
    0x0041a85c addiu t8, sp, 0x138           |     t8 = sp + 0x138;
    0x0041a860 addiu a2, zero, 8             |     a2 = 8;
    0x0041a864 lw t9, -0x72f0(gp)            |     t9 = sym.imp.BIO_read;
    0x0041a868 move a1, t8                   |     a1 = t8;
    0x0041a86c lw a0, 0x14c(sp)              |     a0 = *(var_14ch);
    0x0041a870 sw t8, 0x158(sp)              |     *(var_158h) = t8;
    0x0041a874 jalr t9                       |     t9 ();
    0x0041a878 move t8, v0                   |     t8 = v0;
    0x0041a87c addiu v0, zero, 8             |     v0 = 8;
    0x0041a880 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (t8 == v0) {
    0x0041a884 beq t8, v0, 0x41aad4          |         goto label_113;
                                             |     }
                                             | label_31:
    0x0041a888 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a88c move s1, zero                 |     s1 = 0;
    0x0041a890 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a894 addiu s5, zero, 1             |     s5 = 1;
    0x0041a898 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.error_reading_input_file_n */
    0x0041a89c addiu a1, a1, -0x7c0          |     a1 += -0x7c0;
    0x0041a8a0 jalr t9                       |     t9 ();
    0x0041a8a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a8a8 b 0x419cb0                    |     goto label_15;
                                             | label_84:
    0x0041a8ac move s1, zero                 |     s1 = 0;
    0x0041a8b0 sw s1, 0x154(sp)              |     *(var_154h) = s1;
    0x0041a8b4 lw fp, 0x14c(sp)              |     fp = *(var_14ch);
    0x0041a8b8 lw s1, 0x160(sp)              |     s1 = *(var_160h);
    0x0041a8bc sw s0, 0x14c(sp)              |     *(var_14ch) = s0;
    0x0041a8c0 b 0x41a598                    |     goto label_23;
                                             | label_48:
    0x0041a8c4 sw zero, 0x14c(sp)            |     *(var_14ch) = 0;
    0x0041a8c8 addiu fp, zero, 1             |     fp = 1;
    0x0041a8cc sw zero, 0x150(sp)            |     *(var_150h) = 0;
    0x0041a8d0 move s1, zero                 |     s1 = 0;
    0x0041a8d4 sw zero, 0x178(sp)            |     *(var_178h) = 0;
    0x0041a8d8 sw zero, 0x18c(sp)            |     *(var_18ch) = 0;
    0x0041a8dc sw zero, 0x174(sp)            |     *(var_174h) = 0;
    0x0041a8e0 sw zero, 0x170(sp)            |     *(var_170h) = 0;
    0x0041a8e4 sw zero, 0x160(sp)            |     *(var_160h) = 0;
    0x0041a8e8 sw zero, 0x184(sp)            |     *(var_184h) = 0;
    0x0041a8ec sw zero, 0x180(sp)            |     *(var_180h) = 0;
    0x0041a8f0 sw zero, 0x17c(sp)            |     *(var_17ch) = 0;
    0x0041a8f4 sw zero, 0x158(sp)            |     *(var_158h) = 0;
    0x0041a8f8 sw zero, 0x164(sp)            |     *(var_164h) = 0;
    0x0041a8fc sw zero, 0x188(sp)            |     *(var_188h) = 0;
    0x0041a900 sw zero, 0x168(sp)            |     *(var_168h) = 0;
    0x0041a904 b 0x419754                    |     goto label_24;
                                             | label_92:
    0x0041a908 lw t9, -0x7e34(gp)            |     t9 = sym.set_hex;
    0x0041a90c addiu a1, sp, 0x118           |     a1 = sp + 0x118;
    0x0041a910 lw a0, 0x180(sp)              |     a0 = *(var_180h);
    0x0041a914 addiu a2, zero, 0x10          |     a2 = 0x10;
    0x0041a918 jalr t9                       |     t9 ();
    0x0041a91c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0041a920 bnez v0, 0x41a308             |         goto label_25;
                                             |     }
    0x0041a924 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a928 move s1, zero                 |     s1 = 0;
    0x0041a92c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a930 addiu s5, zero, 1             |     s5 = 1;
    0x0041a934 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.invalid_hex_iv_value_n */
    0x0041a938 addiu a1, a1, -0x76c          |     a1 += -0x76c;
    0x0041a93c jalr t9                       |     t9 ();
    0x0041a940 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a944 b 0x419cb0                    |     goto label_15;
                                             | label_94:
    0x0041a948 lw t9, -0x7384(gp)            |     t9 = sym.imp.EVP_CIPHER_nid;
    0x0041a94c lw a0, 0x154(sp)              |     a0 = *(var_154h);
    0x0041a950 lw s5, (s7)                   |     s5 = *(s7);
    0x0041a954 jalr t9                       |     t9 ();
    0x0041a958 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a95c lw t9, -0x6d2c(gp)            |     t9 = sym.imp.OBJ_nid2sn;
    0x0041a960 move a0, v0                   |     a0 = v0;
    0x0041a964 jalr t9                       |     t9 ();
    0x0041a968 move a0, s5                   |     a0 = s5;
    0x0041a96c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a970 move a2, v0                   |     a2 = v0;
    0x0041a974 addiu s5, zero, 1             |     s5 = 1;
    0x0041a978 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a97c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_setting_cipher__s_n */
    0x0041a980 addiu a1, a1, -0x72c          |     a1 += -0x72c;
    0x0041a984 jalr t9                       |     t9 ();
    0x0041a988 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a98c lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0041a990 lw a0, (s7)                   |     a0 = *(s7);
    0x0041a994 jalr t9                       |     t9 ();
    0x0041a998 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a99c b 0x419cb0                    |     goto label_15;
                                             | label_82:
    0x0041a9a0 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
    0x0041a9a4 lw a0, 0x14c(sp)              |     a0 = *(var_14ch);
    0x0041a9a8 b 0x41a238                    |     goto label_26;
                                             | label_79:
    0x0041a9ac lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
    0x0041a9b0 lw a0, 0x150(sp)              |     a0 = *(var_150h);
    0x0041a9b4 b 0x41a238                    |     goto label_26;
                                             | label_103:
    0x0041a9b8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041a9bc addiu s5, zero, 1             |     s5 = 1;
    0x0041a9c0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041a9c4 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.error_writing_output_file_n */
    0x0041a9c8 addiu a1, a1, -0x7dc          |     a1 += -0x7dc;
    0x0041a9cc lw s1, 0x154(sp)              |     s1 = *(var_154h);
    0x0041a9d0 lw s0, 0x14c(sp)              |     s0 = *(var_14ch);
    0x0041a9d4 jalr t9                       |     t9 ();
    0x0041a9d8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a9dc b 0x419cb0                    |     goto label_15;
                                             | label_64:
    0x0041a9e0 addiu v1, zero, 1             |     v1 = 1;
    0x0041a9e4 sw v1, 0x178(sp)              |     *(var_178h) = v1;
    0x0041a9e8 b 0x419714                    |     goto label_4;
                                             | label_108:
    0x0041a9ec move a1, s4                   |     a1 = s4;
    0x0041a9f0 jalr t9                       |     t9 ();
    0x0041a9f4 move s5, s6                   |     s5 = s6;
    0x0041a9f8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041a9fc sw v0, 0x14c(sp)              |     *(var_14ch) = v0;
    0x0041aa00 b 0x419c18                    |     goto label_16;
                                             | label_93:
    0x0041aa04 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041aa08 move s1, zero                 |     s1 = 0;
    0x0041aa0c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041aa10 addiu s5, zero, 1             |     s5 = 1;
    0x0041aa14 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.invalid_hex_key_value_n */
    0x0041aa18 addiu a1, a1, -0x744          |     a1 += -0x744;
    0x0041aa1c jalr t9                       |     t9 ();
    0x0041aa20 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041aa24 b 0x419cb0                    |     goto label_15;
                                             | label_89:
    0x0041aa28 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041aa2c move s1, zero                 |     s1 = 0;
    0x0041aa30 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041aa34 addiu s5, zero, 1             |     s5 = 1;
    0x0041aa38 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.invalid_hex_salt_value_n */
    0x0041aa3c addiu a1, a1, -0x7f4          |     a1 += -0x7f4;
    0x0041aa40 jalr t9                       |     t9 ();
    0x0041aa44 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041aa48 b 0x419cb0                    |     goto label_15;
                                             | label_65:
    0x0041aa4c addiu t8, zero, 1             |     t8 = 1;
    0x0041aa50 sw t8, 0x174(sp)              |     *(var_174h) = t8;
    0x0041aa54 b 0x419714                    |     goto label_4;
                                             | label_107:
    0x0041aa58 move a0, s2                   |     a0 = s2;
    0x0041aa5c addiu a1, zero, 0x100         |     a1 = 0x100;
    0x0041aa60 jalr t9                       |     t9 ();
    0x0041aa64 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041aa68 b 0x41a6a8                    |     goto label_27;
                                             | label_106:
    0x0041aa6c lw a1, -0x7338(gp)            |     a1 = *((gp - 7374));
    0x0041aa70 move a0, v0                   |     a0 = v0;
    0x0041aa74 jalr t9                       |     t9 ();
    0x0041aa78 move a0, s2                   |     a0 = s2;
    0x0041aa7c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041aa80 lw t9, -0x75dc(gp)            |     t9 = sym.imp.BIO_set_callback_arg;
    0x0041aa84 lw a1, (s7)                   |     a1 = *(s7);
    0x0041aa88 jalr t9                       |     t9 ();
    0x0041aa8c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041aa90 b 0x41a69c                    |     goto label_28;
                                             | label_88:
    0x0041aa94 lw t9, -0x6e04(gp)            |     t9 = sym.imp.RAND_bytes;
    0x0041aa98 addiu s1, sp, 0x130           |     s1 = sp + 0x130;
    0x0041aa9c move a0, s1                   |     a0 = s1;
    0x0041aaa0 addiu a1, zero, 8             |     a1 = 8;
    0x0041aaa4 jalr t9                       |     t9 ();
    0x0041aaa8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 > 0) {
    0x0041aaac bgtz v0, 0x419c60             |         goto label_29;
                                             |     }
                                             | label_105:
    0x0041aab0 move s1, zero                 |     s1 = 0;
    0x0041aab4 addiu s5, zero, 1             |     s5 = 1;
    0x0041aab8 b 0x419cb0                    |     goto label_15;
                                             | label_91:
    0x0041aabc lw t9, -0x7510(gp)            |     t9 = sym.imp.OPENSSL_cleanse;
    0x0041aac0 move a0, t8                   |     a0 = t8;
    0x0041aac4 addiu a1, zero, 0x200         |     a1 = 0x200;
    0x0041aac8 jalr t9                       |     t9 ();
    0x0041aacc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041aad0 b 0x41a2d0                    |     goto label_30;
                                             | label_113:
    0x0041aad4 lw t9, -0x72f0(gp)            |     t9 = sym.imp.BIO_read;
    0x0041aad8 addiu s1, sp, 0x130           |     s1 = sp + 0x130;
    0x0041aadc lw a0, 0x14c(sp)              |     a0 = *(var_14ch);
    0x0041aae0 addiu a2, zero, 8             |     a2 = 8;
    0x0041aae4 sw t8, 0x1a8(sp)              |     *(var_1a8h) = t8;
    0x0041aae8 move a1, s1                   |     a1 = s1;
    0x0041aaec jalr t9                       |     t9 ();
    0x0041aaf0 lw t8, 0x1a8(sp)              |     t8 = *(var_1a8h);
    0x0041aaf4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != t8) {
    0x0041aaf8 bne v0, t8, 0x41a888          |         goto label_31;
                                             |     }
    0x0041aafc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041ab00 addiu a0, sp, 0x138           |     a0 = sp + 0x138;
    0x0041ab04 lw t9, -0x6c68(gp)            |     t9 = sym.imp.memcmp;
    0x0041ab08 addiu a2, zero, 8             |     a2 = 8;
                                             |     /* str.Salted__ */
    0x0041ab0c addiu a1, a1, -0x6b0          |     a1 += -0x6b0;
    0x0041ab10 jalr t9                       |     t9 ();
    0x0041ab14 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041ab18 beqz v0, 0x41a258             |         goto label_32;
                                             |     }
    0x0041ab1c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041ab20 move s1, zero                 |     s1 = 0;
    0x0041ab24 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041ab28 addiu s5, zero, 1             |     s5 = 1;
    0x0041ab2c lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.bad_magic_number_n */
    0x0041ab30 addiu a1, a1, -0x7a4          |     a1 += -0x7a4;
    0x0041ab34 jalr t9                       |     t9 ();
    0x0041ab38 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041ab3c b 0x419cb0                    |     goto label_15;
                                             | label_104:
    0x0041ab40 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041ab44 addiu s5, zero, 1             |     s5 = 1;
    0x0041ab48 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041ab4c lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.bad_decrypt_n */
    0x0041ab50 addiu a1, a1, -0x6f0          |     a1 += -0x6f0;
    0x0041ab54 jalr t9                       |     t9 ();
    0x0041ab58 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041ab5c b 0x419cb0                    |     goto label_15;
                                             | label_111:
    0x0041ab60 addiu v1, sp, 0x28            |     v1 = sp + 0x28;
    0x0041ab64 sw v1, 0x158(sp)              |     *(var_158h) = v1;
                                             |     /* str.enter__s__s_password: */
    0x0041ab68 addiu s2, t8, -0x838          |     s2 = t8 + -0x838;
    0x0041ab6c lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             |     /* str.encryption */
    0x0041ab70 addiu s5, t8, -0x814          |     s5 = t8 + -0x814;
    0x0041ab74 b 0x41ab80                    |     
                                             |     while (v0 != 0) {
    0x0041ab78 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         if (v0 < 0) {
    0x0041ab7c bltz v0, 0x41ad40             |             goto label_112;
                                             |         }
    0x0041ab80 lw t9, -0x7384(gp)            |         t9 = sym.imp.EVP_CIPHER_nid;
    0x0041ab84 lw a0, 0x154(sp)              |         a0 = *(var_154h);
    0x0041ab88 jalr t9                       |         t9 ();
    0x0041ab8c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041ab90 lw t9, -0x7a04(gp)            |         t9 = sym.imp.OBJ_nid2ln;
    0x0041ab94 move a0, v0                   |         a0 = v0;
    0x0041ab98 jalr t9                       |         t9 ();
    0x0041ab9c move a2, s2                   |         a2 = s2;
    0x0041aba0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041aba4 addiu a1, zero, 0xc8          |         a1 = 0xc8;
    0x0041aba8 lw a0, 0x158(sp)              |         a0 = *(var_158h);
    0x0041abac move a3, v0                   |         a3 = v0;
    0x0041abb0 lw t9, -0x6ff0(gp)            |         t9 = sym.imp.BIO_snprintf
    0x0041abb4 sw s5, 0x10(sp)               |         *(var_10h) = s5;
    0x0041abb8 jalr t9                       |         t9 ();
    0x0041abbc addiu a1, zero, 0x200         |         a1 = 0x200;
    0x0041abc0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041abc4 move a3, fp                   |         a3 = fp;
    0x0041abc8 lw a0, 0x148(sp)              |         a0 = *(var_148h);
    0x0041abcc lw t9, -0x6e90(gp)            |         t9 = sym.imp.EVP_read_pw_string;
    0x0041abd0 lw a2, 0x158(sp)              |         a2 = *(var_158h);
    0x0041abd4 sb zero, (a0)                 |         *(a0) = 0;
    0x0041abd8 jalr t9                       |         t9 ();
    0x0041abdc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041abe0 bnez v0, 0x41ab78             |         
                                             |     }
    0x0041abe4 lw v1, 0x148(sp)              |     v1 = *(var_148h);
    0x0041abe8 b 0x41a848                    |     goto label_33;
                                             | label_95:
    0x0041abec lw a1, -0x7338(gp)            |     a1 = *((gp - 7374));
    0x0041abf0 move a0, s1                   |     a0 = s1;
    0x0041abf4 jalr t9                       |     t9 ();
    0x0041abf8 move a0, s1                   |     a0 = s1;
    0x0041abfc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041ac00 lw t9, -0x75dc(gp)            |     t9 = sym.imp.BIO_set_callback_arg;
    0x0041ac04 lw a1, (s7)                   |     a1 = *(s7);
    0x0041ac08 jalr t9                       |     t9 ();
    0x0041ac0c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041ac10 b 0x41a428                    |     goto label_34;
                                             | label_97:
    0x0041ac14 addiu v1, sp, 0x138           |     v1 = sp + 0x138;
    0x0041ac18 lw t9, -0x73d0(gp)            |     t9 = sym.imp.printf
    0x0041ac1c addiu fp, sp, 0x130           |     fp = sp + 0x130;
    0x0041ac20 sw v1, 0x15c(sp)              |     *(var_15ch) = v1;
                                             |     /* str.salt */
    0x0041ac24 addiu a0, a0, -0x710          |     a0 += -0x710;
    0x0041ac28 jalr t9                       |     t9 ();
    0x0041ac2c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041ac30 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
                                             |     /* str._02X */
    0x0041ac34 addiu t8, v0, -0x708          |     t8 = v0 + -0x708;
                                             |     do {
    0x0041ac38 lbu a1, (fp)                  |         a1 = *(fp);
    0x0041ac3c move a0, t8                   |         a0 = t8;
    0x0041ac40 lw t9, -0x73d0(gp)            |         t9 = sym.imp.printf
    0x0041ac44 addiu fp, fp, 1               |         fp++;
    0x0041ac48 sw t8, 0x1a8(sp)              |         *(var_1a8h) = t8;
    0x0041ac4c jalr t9                       |         t9 ();
    0x0041ac50 lw v1, 0x15c(sp)              |         v1 = *(var_15ch);
    0x0041ac54 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041ac58 lw t8, 0x1a8(sp)              |         t8 = *(var_1a8h);
    0x0041ac5c bne fp, v1, 0x41ac38          |         
                                             |     } while (fp != v1);
    0x0041ac60 lw t9, -0x74fc(gp)            |     t9 = sym.imp.putchar;
    0x0041ac64 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x0041ac68 jalr t9                       |     t9 ();
    0x0041ac6c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041ac70 b 0x41a440                    |     goto label_35;
                                             | label_90:
    0x0041ac74 lw t9, -0x74c8(gp)            |     t9 = sym.imp.BIO_write;
    0x0041ac78 move a0, s5                   |     a0 = s5;
    0x0041ac7c move a1, s1                   |     a1 = s1;
    0x0041ac80 addiu a2, zero, 8             |     a2 = 8;
    0x0041ac84 sw v0, 0x1a8(sp)              |     *(var_1a8h) = v0;
    0x0041ac88 jalr t9                       |     t9 ();
    0x0041ac8c lw v1, 0x1a8(sp)              |     v1 = *(var_1a8h);
    0x0041ac90 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != v1) {
    0x0041ac94 bne v0, v1, 0x419c90          |         goto label_36;
                                             |     }
    0x0041ac98 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x0041ac9c b 0x41a25c                    |     goto label_37;
                                             | label_109:
    0x0041aca0 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041aca4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041aca8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041acac lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Error_getting_password_n */
    0x0041acb0 addiu a1, a1, -0x1588         |     a1 += -0x1588;
                                             | label_40:
    0x0041acb4 move s1, zero                 |     s1 = 0;
    0x0041acb8 jalr t9                       |     t9 ();
    0x0041acbc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041acc0 move s2, zero                 |     s2 = 0;
    0x0041acc4 b 0x41a24c                    |     goto label_38;
                                             | label_68:
    0x0041acc8 addiu v1, zero, 1             |     v1 = 1;
    0x0041accc sw v1, 0x16c(sp)              |     *(var_16ch) = v1;
    0x0041acd0 b 0x419714                    |     goto label_4;
                                             | label_67:
    0x0041acd4 addiu t8, zero, 1             |     t8 = 1;
    0x0041acd8 sw t8, 0x18c(sp)              |     *(var_18ch) = t8;
    0x0041acdc b 0x419714                    |     goto label_4;
                                             | label_66:
    0x0041ace0 addiu v1, zero, 2             |     v1 = 2;
    0x0041ace4 sw v1, 0x170(sp)              |     *(var_170h) = v1;
    0x0041ace8 b 0x419714                    |     goto label_4;
                                             | label_69:
    0x0041acec addiu t8, zero, 1             |     t8 = 1;
    0x0041acf0 sw t8, 0x16c(sp)              |     *(var_16ch) = t8;
    0x0041acf4 b 0x419714                    |     goto label_4;
                                             | label_85:
    0x0041acf8 lw t8, 0x180(sp)              |     t8 = *(var_180h);
    0x0041acfc lw t9, -0x6cc8(gp)            |     t9 = sym.imp.EVP_CIPHER_iv_length;
                                             |     if (t8 != 0) {
    0x0041ad00 bnez t8, 0x41a2e0             |         goto label_39;
                                             |     }
    0x0041ad04 lw a0, 0x154(sp)              |     a0 = *(var_154h);
    0x0041ad08 jalr t9                       |     t9 ();
    0x0041ad0c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041ad10 beqz v0, 0x41a308             |         goto label_25;
                                             |     }
    0x0041ad14 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041ad18 move s1, zero                 |     s1 = 0;
    0x0041ad1c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041ad20 addiu s5, zero, 1             |     s5 = 1;
    0x0041ad24 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.iv_undefined_n */
    0x0041ad28 addiu a1, a1, -0x754          |     a1 += -0x754;
    0x0041ad2c jalr t9                       |     t9 ();
    0x0041ad30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041ad34 b 0x419cb0                    |     goto label_15;
                                             | label_110:
    0x0041ad38 sw t8, 0x164(sp)              |     *(var_164h) = t8;
    0x0041ad3c b 0x419bdc                    |     goto label_20;
                                             | label_112:
    0x0041ad40 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041ad44 lw a0, (s7)                   |     a0 = *(s7);
                                             |     /* str.bad_password_read_n */
    0x0041ad48 addiu a1, a1, -0x808          |     a1 += -0x808;
    0x0041ad4c b 0x41acb4                    |     goto label_40;
                                             | label_71:
    0x0041ad50 sw v1, 0x1a0(sp)              |     *(var_1a0h) = v1;
    0x0041ad54 b 0x419e08                    |     goto label_41;
                                             | label_70:
    0x0041ad58 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0041ad5c move a0, s0                   |     a0 = s0;
    0x0041ad60 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
    0x0041ad64 sw v1, 0x1a0(sp)              |     *(var_1a0h) = v1;
                                             |     /* esilref: '-k' */
    0x0041ad68 addiu a1, v1, -0xc4c          |     a1 = v1 + -0xc4c;
    0x0041ad6c jalr t9                       |     t9 ();
    0x0041ad70 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0041ad74 bnez v0, 0x41ad94             |         goto label_114;
                                             |     }
    0x0041ad78 addiu s1, s1, -1              |     s1 += -1;
    0x0041ad7c lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             |     if (s1 == 0) {
    0x0041ad80 beqz s1, 0x419e0c             |         goto label_42;
                                             |     }
    0x0041ad84 lw t8, 4(s5)                  |     t8 = *((s5 + 1));
    0x0041ad88 addiu s5, s5, 4               |     s5 += 4;
    0x0041ad8c sw t8, 0x164(sp)              |     *(var_164h) = t8;
    0x0041ad90 b 0x419714                    |     goto label_4;
                                             | label_114:
    0x0041ad94 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0041ad98 move a0, s0                   |     a0 = s0;
    0x0041ad9c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
    0x0041ada0 sw v1, 0x19c(sp)              |     *(var_19ch) = v1;
                                             |     /* str._kfile */
    0x0041ada4 addiu a1, v1, -0xc48          |     a1 = v1 + -0xc48;
    0x0041ada8 jalr t9                       |     t9 ();
    0x0041adac lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041adb0 bnez v0, 0x41ae7c             |         
    0x0041adb4 addiu s1, s1, -1              |         s1 += -1;
    0x0041adb8 lw t9, -0x7bdc(gp)            |         t9 = sym.imp.fopen;
                                             |         if (s1 == 0) {
    0x0041adbc beqz s1, 0x41af90             |             goto label_115;
                                             |         }
    0x0041adc0 lw a3, 4(s5)                  |         a3 = *((s5 + 1));
    0x0041adc4 addiu s0, s5, 4               |         s0 = s5 + 4;
    0x0041adc8 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041adcc move a0, a3                   |         a0 = a3;
    0x0041add0 sw a3, 0x1a8(sp)              |         *(var_1a8h) = a3;
    0x0041add4 addiu a1, a1, 0x13b8          |         a1 += 0x13b8;
    0x0041add8 jalr t9                       |         t9 ();
    0x0041addc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041ade0 move s5, v0                   |         s5 = v0;
    0x0041ade4 lw a3, 0x1a8(sp)              |         a3 = *(var_1a8h);
                                             |         if (v0 == 0) {
    0x0041ade8 beqz v0, 0x41af00             |             goto label_116;
                                             |         }
    0x0041adec lw a0, -0x7fc8(gp)            |         a0 = *((gp - 8178));
    0x0041adf0 addiu a1, zero, 0x80          |         a1 = 0x80;
    0x0041adf4 lw t8, -0x7fc8(gp)            |         t8 = *((gp - 8178));
    0x0041adf8 move a2, v0                   |         a2 = v0;
    0x0041adfc lw t9, -0x7618(gp)            |         t9 = sym.imp.fgets;
    0x0041ae00 addiu a0, a0, 0x5d80          |         a0 += 0x5d80;
    0x0041ae04 sw a3, 0x1a8(sp)              |         *(var_1a8h) = a3;
    0x0041ae08 sb zero, 0x5d80(t8)           |         *((t8 + 23936)) = 0;
    0x0041ae0c jalr t9                       |         t9 ();
    0x0041ae10 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041ae14 lw a3, 0x1a8(sp)              |         a3 = *(var_1a8h);
                                             |         if (v0 == 0) {
    0x0041ae18 beqz v0, 0x41af00             |             goto label_116;
                                             |         }
    0x0041ae1c lw t9, -0x7114(gp)            |         t9 = sym.imp.fclose;
    0x0041ae20 move a0, s5                   |         a0 = s5;
    0x0041ae24 jalr t9                       |         t9 ();
    0x0041ae28 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041ae2c lw a0, -0x7fc8(gp)            |         a0 = *((gp - 8178));
    0x0041ae30 lw t9, -0x7cf8(gp)            |         t9 = sym.imp.strlen;
    0x0041ae34 addiu a0, a0, 0x5d80          |         a0 += 0x5d80;
    0x0041ae38 jalr t9                       |         t9 ();
    0x0041ae3c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 <= 0) {
    0x0041ae40 blez v0, 0x41af2c             |             goto label_44;
                                             |         }
    0x0041ae44 lw t8, -0x7fc8(gp)            |         t8 = *((gp - 8178));
    0x0041ae48 addiu v1, v0, -1              |         v1 = v0 + -1;
    0x0041ae4c addiu a1, zero, 0xa           |         a1 = 0xa;
    0x0041ae50 addiu t8, t8, 0x5d80          |         t8 += 0x5d80;
    0x0041ae54 addu a0, t8, v1               |         a0 = t8 + v1;
    0x0041ae58 lb a0, (a0)                   |         a0 = *(a0);
    0x0041ae5c addiu a1, zero, 0xd           |         a1 = 0xd;
                                             |         if (a0 == a1) {
    0x0041ae60 beq a0, a1, 0x41aeb4          |             goto label_117;
                                             |         }
    0x0041ae64 move s5, s0                   |         s5 = s0;
                                             |         if (a0 == a1) {
    0x0041ae68 beq a0, a1, 0x41aeb4          |             goto label_117;
                                             |         }
    0x0041ae6c lw v0, -0x7fc8(gp)            |         v0 = *((gp - 8178));
    0x0041ae70 addiu v0, v0, 0x5d80          |         v0 += 0x5d80;
    0x0041ae74 sw v0, 0x164(sp)              |         *(var_164h) = v0;
    0x0041ae78 b 0x419714                    |         goto label_4;
                                             |     }
    0x0041ae7c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041ae80 move a0, s0                   |     a0 = s0;
    0x0041ae84 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: '-K' */
    0x0041ae88 addiu a1, a1, -0xc08          |     a1 += -0xc08;
    0x0041ae8c jalr t9                       |     t9 ();
    0x0041ae90 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041ae94 bnez v0, 0x41af54             |         
    0x0041ae98 addiu s1, s1, -1              |         s1 += -1;
    0x0041ae9c lw t8, -0x7fd8(gp)            |         t8 = *(gp);
                                             |         if (s1 == 0) {
    0x0041aea0 beqz s1, 0x41af94             |             goto label_118;
                                             |         }
    0x0041aea4 lw v1, 4(s5)                  |         v1 = *((s5 + 1));
    0x0041aea8 addiu s5, s5, 4               |         s5 += 4;
    0x0041aeac sw v1, 0x17c(sp)              |         *(var_17ch) = v1;
    0x0041aeb0 b 0x419714                    |         goto label_4;
                                             | label_117:
    0x0041aeb4 lw t8, -0x7fc8(gp)            |         t8 = *((gp - 8178));
    0x0041aeb8 addiu t8, t8, 0x5d80          |         t8 += 0x5d80;
    0x0041aebc addu a0, t8, v1               |         a0 = t8 + v1;
    0x0041aec0 sb zero, (a0)                 |         *(a0) = 0;
                                             |         if (v1 != 0) {
    0x0041aec4 beqz v1, 0x41af2c             |             
    0x0041aec8 lw t8, -0x7fc8(gp)            |             t8 = *((gp - 8178));
    0x0041aecc addiu v0, v0, -2              |             v0 += -2;
    0x0041aed0 addiu a0, zero, 0xa           |             a0 = 0xa;
    0x0041aed4 addiu t8, t8, 0x5d80          |             t8 += 0x5d80;
    0x0041aed8 addu v1, v0, t8               |             v1 = v0 + t8;
    0x0041aedc lb v1, (v1)                   |             v1 = *(v1);
    0x0041aee0 addiu a0, zero, 0xd           |             a0 = 0xd;
                                             |             if (v1 == a0) {
    0x0041aee4 beq v1, a0, 0x41afa0          |                 goto label_119;
                                             |             }
    0x0041aee8 lw v1, -0x7fc8(gp)            |             v1 = *((gp - 8178));
                                             |             if (v1 == a0) {
    0x0041aeec beq v1, a0, 0x41afa0          |                 goto label_119;
                                             |             }
    0x0041aef0 move s5, s0                   |             s5 = s0;
    0x0041aef4 addiu v1, v1, 0x5d80          |             v1 += 0x5d80;
    0x0041aef8 sw v1, 0x164(sp)              |             *(var_164h) = v1;
    0x0041aefc b 0x419714                    |             goto label_4;
                                             | label_116:
    0x0041af00 lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x0041af04 move a2, a3                   |             a2 = a3;
    0x0041af08 lw v1, -0x7fd8(gp)            |             v1 = *(gp);
    0x0041af0c lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
                                             |             /* str.unable_to_read_key_from__s_n */
    0x0041af10 addiu a1, a1, -0xc40          |             a1 += -0xc40;
    0x0041af14 lw a0, (s7)                   |             a0 = *(s7);
    0x0041af18 sw v1, 0x194(sp)              |             *(var_194h) = v1;
    0x0041af1c jalr t9                       |             t9 ();
    0x0041af20 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0041af24 lw a3, -0x7fd8(gp)            |             a3 = *(gp);
    0x0041af28 b 0x419e1c                    |             goto label_43;
                                             |         }
                                             | label_44:
    0x0041af2c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041af30 lw v1, -0x7fd8(gp)            |         v1 = *(gp);
    0x0041af34 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.zero_length_password_n */
    0x0041af38 addiu a1, a1, -0xc20          |         a1 += -0xc20;
    0x0041af3c lw a0, (s7)                   |         a0 = *(s7);
    0x0041af40 sw v1, 0x194(sp)              |         *(var_194h) = v1;
    0x0041af44 jalr t9                       |         t9 ();
    0x0041af48 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041af4c lw a3, -0x7fd8(gp)            |         a3 = *(gp);
    0x0041af50 b 0x419e1c                    |         goto label_43;
                                             |     }
    0x0041af54 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x0041af58 move a0, s0                   |     a0 = s0;
    0x0041af5c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
    0x0041af60 sw t8, 0x194(sp)              |     *(var_194h) = t8;
                                             |     /* esilref: '-S' */
    0x0041af64 addiu a1, t8, -0xc04          |     a1 = t8 + -0xc04;
    0x0041af68 jalr t9                       |     t9 ();
    0x0041af6c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0041af70 bnez v0, 0x41afc8             |         goto label_120;
                                             |     }
    0x0041af74 addiu s1, s1, -1              |     s1 += -1;
    0x0041af78 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     if (s1 == 0) {
    0x0041af7c beqz s1, 0x419e1c             |         goto label_43;
                                             |     }
    0x0041af80 lw v1, 4(s5)                  |     v1 = *((s5 + 1));
    0x0041af84 addiu s5, s5, 4               |     s5 += 4;
    0x0041af88 sw v1, 0x184(sp)              |     *(var_184h) = v1;
    0x0041af8c b 0x419714                    |     goto label_4;
                                             | label_115:
    0x0041af90 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             | label_118:
    0x0041af94 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
    0x0041af98 sw t8, 0x194(sp)              |     *(var_194h) = t8;
    0x0041af9c b 0x419e1c                    |     goto label_43;
                                             | label_119:
    0x0041afa0 lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x0041afa4 addiu t8, t8, 0x5d80          |     t8 += 0x5d80;
    0x0041afa8 addu v1, t8, v0               |     v1 = t8 + v0;
    0x0041afac sb zero, (v1)                 |     *(v1) = 0;
                                             |     if (v0 <= 0) {
    0x0041afb0 blez v0, 0x41af2c             |         goto label_44;
                                             |     }
    0x0041afb4 lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x0041afb8 move s5, s0                   |     s5 = s0;
    0x0041afbc addiu t8, t8, 0x5d80          |     t8 += 0x5d80;
    0x0041afc0 sw t8, 0x164(sp)              |     *(var_164h) = t8;
    0x0041afc4 b 0x419714                    |     goto label_4;
                                             | label_120:
    0x0041afc8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041afcc move a0, s0                   |     a0 = s0;
    0x0041afd0 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: '-iv' */
    0x0041afd4 addiu a1, a1, -0xc00          |     a1 += -0xc00;
    0x0041afd8 jalr t9                       |     t9 ();
    0x0041afdc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0041afe0 bnez v0, 0x41b000             |         goto label_121;
                                             |     }
    0x0041afe4 addiu s1, s1, -1              |     s1 += -1;
    0x0041afe8 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     if (s1 == 0) {
    0x0041afec beqz s1, 0x419e1c             |         goto label_43;
                                             |     }
    0x0041aff0 lw t8, 4(s5)                  |     t8 = *((s5 + 1));
    0x0041aff4 addiu s5, s5, 4               |     s5 += 4;
    0x0041aff8 sw t8, 0x180(sp)              |     *(var_180h) = t8;
    0x0041affc b 0x419714                    |     goto label_4;
                                             | label_121:
    0x0041b000 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0041b004 move a0, s0                   |     a0 = s0;
    0x0041b008 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
    0x0041b00c sw v1, 0x1a4(sp)              |     *(var_1a4h) = v1;
                                             |     /* esilref: '-md' */
    0x0041b010 addiu a1, v1, -0xbfc          |     a1 = v1 + -0xbfc;
    0x0041b014 jalr t9                       |     t9 ();
    0x0041b018 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0041b01c bnez v0, 0x41b03c             |         goto label_122;
                                             |     }
    0x0041b020 addiu s1, s1, -1              |     s1 += -1;
    0x0041b024 lw a3, 0x1a4(sp)              |     a3 = *(var_1a4h);
                                             |     if (s1 == 0) {
    0x0041b028 beqz s1, 0x419e1c             |         goto label_43;
                                             |     }
    0x0041b02c lw t8, 4(s5)                  |     t8 = *((s5 + 1));
    0x0041b030 addiu s5, s5, 4               |     s5 += 4;
    0x0041b034 sw t8, 0x160(sp)              |     *(var_160h) = t8;
    0x0041b038 b 0x419714                    |     goto label_4;
                                             | label_122:
    0x0041b03c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041b040 move a0, s0                   |     a0 = s0;
    0x0041b044 lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str._non_fips_allow */
    0x0041b048 addiu a1, a1, -0x19c0         |     a1 += -0x19c0;
    0x0041b04c jalr t9                       |     t9 ();
    0x0041b050 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0041b054 beqz v0, 0x41b0d4             |         goto label_123;
                                             |     }
    0x0041b058 lb a0, (s0)                   |     a0 = *(s0);
    0x0041b05c addiu v0, zero, 0x2d          |     v0 = 0x2d;
    0x0041b060 lw t9, -0x7054(gp)            |     t9 = sym.imp.EVP_get_cipherbyname;
                                             |     if (a0 != v0) {
    0x0041b064 beq a0, v0, 0x41b0b8          |         
                                             | label_45:
    0x0041b068 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041b06c move a0, s0                   |         a0 = s0;
    0x0041b070 lw t9, -0x6e78(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* esilref: '-none' */
    0x0041b074 addiu a1, a1, 0x280c          |         a1 += 0x280c;
    0x0041b078 jalr t9                       |         t9 ();
    0x0041b07c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0041b080 bnez v0, 0x41b08c             |             
    0x0041b084 sw zero, 0x154(sp)            |             *(var_154h) = 0;
    0x0041b088 b 0x419714                    |             goto label_4;
                                             |         }
    0x0041b08c lw a3, 0x1a4(sp)              |         a3 = *(var_1a4h);
    0x0041b090 move a2, s0                   |         a2 = s0;
    0x0041b094 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041b098 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0041b09c lw a0, (s7)                   |         a0 = *(s7);
                                             |         /* str.unknown_option__s_n */
    0x0041b0a0 addiu a1, a1, -0x1940         |         a1 += -0x1940;
    0x0041b0a4 sw a3, 0x1a8(sp)              |         *(var_1a8h) = a3;
    0x0041b0a8 jalr t9                       |         t9 ();
    0x0041b0ac lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0041b0b0 lw a3, 0x1a8(sp)              |         a3 = *(var_1a8h);
    0x0041b0b4 b 0x419e1c                    |         goto label_43;
                                             |     }
    0x0041b0b8 addiu a0, s0, 1               |     a0 = s0 + 1;
    0x0041b0bc jalr t9                       |     t9 ();
    0x0041b0c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0041b0c4 sw v0, 0x154(sp)              |     *(var_154h) = v0;
                                             |     if (v0 != 0) {
    0x0041b0c8 bnez v0, 0x419714             |         goto label_4;
                                             |     }
    0x0041b0cc lw s0, (s5)                   |     s0 = *(s5);
    0x0041b0d0 b 0x41b068                    |     goto label_45;
                                             | label_123:
    0x0041b0d4 addiu v1, zero, 1             |     v1 = 1;
    0x0041b0d8 sw v1, 0x190(sp)              |     *(var_190h) = v1;
    0x0041b0dc b 0x419714                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x450d48 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.extract_host_port ()         | void extract_host_port () {
    0x00450d48 lui gp, 5                     |     
    0x00450d4c addiu gp, gp, -0x48a8         |     
    0x00450d50 addu gp, gp, t9               |     gp += t9;
    0x00450d54 addiu sp, sp, -0x58           |     
    0x00450d58 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x00450d5c sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x00450d60 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x00450d64 sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x00450d68 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x00450d6c sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x00450d70 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x00450d74 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x00450d78 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x00450d7c sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x00450d80 move s4, a1                   |     s4 = a1;
    0x00450d84 lw t9, -0x72ec(gp)            |     t9 = sym.imp.strchr;
    0x00450d88 addiu a1, zero, 0x3a          |     a1 = 0x3a;
    0x00450d8c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00450d90 move s2, a0                   |     s2 = a0;
    0x00450d94 move s0, a2                   |     s0 = a2;
    0x00450d98 move s6, a3                   |     s6 = a3;
    0x00450d9c jalr t9                       |     t9 ();
    0x00450da0 move s1, v0                   |     s1 = v0;
    0x00450da4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00450da8 beqz v0, 0x4510ec             |         goto label_6;
                                             |     }
    0x00450dac sb zero, (v0)                 |     *(v0) = 0;
                                             |     if (s0 == 0) {
    0x00450db0 beqz s0, 0x450f50             |         goto label_7;
                                             |     }
    0x00450db4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00450db8 addiu t8, sp, 0x28            |     t8 = sp + 0x28;
    0x00450dbc lw t9, -0x6d80(gp)            |     t9 = sym.imp.sscanf;
    0x00450dc0 move a0, s2                   |     a0 = s2;
    0x00450dc4 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x00450dc8 addiu t8, sp, 0x2c            |     t8 = sp + 0x2c;
    0x00450dcc sw t8, 0x14(sp)               |     *(var_14h) = t8;
                                             |     /* str._u._u._u._u */
    0x00450dd0 addiu a1, a1, -0x33d0         |     a1 += -0x33d0;
    0x00450dd4 addiu a2, sp, 0x20            |     a2 = sp + 0x20;
    0x00450dd8 addiu a3, sp, 0x24            |     a3 = sp + 0x24;
    0x00450ddc jalr t9                       |     t9 ();
    0x00450de0 addiu t8, zero, 4             |     t8 = 4;
    0x00450de4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == t8) {
    0x00450de8 beq v0, t8, 0x450f9c          |         goto label_8;
                                             |     }
    0x00450dec lw a1, -0x7fc8(gp)            |     a1 = *((gp - 8178));
    0x00450df0 addiu t8, zero, -1            |     t8 = -1;
    0x00450df4 addiu s5, a1, 0x66a8          |     s5 = a1 + 0x66a8;
    0x00450df8 lw s3, 0x94(s5)               |     s3 = *((s5 + 37));
    0x00450dfc lw t9, -0x7000(gp)            |     t9 = sym.imp.strncmp;
                                             |     if (s3 != t8) {
    0x00450e00 bne s3, t8, 0x450fe8          |         goto label_9;
                                             |     }
    0x00450e04 move a0, s2                   |     a0 = s2;
                                             | label_1:
    0x00450e08 addiu a1, a1, 0x66a8          |     a1 += 0x66a8;
    0x00450e0c addiu a2, zero, 0x80          |     a2 = 0x80;
    0x00450e10 jalr t9                       |     t9 ();
    0x00450e14 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00450e18 beqz v0, 0x45110c             |         goto label_10;
                                             |     }
                                             | label_0:
    0x00450e1c lw t8, 0x12c(s5)              |     t8 = *((s5 + 75));
    0x00450e20 sltu v0, t8, s3               |     v0 = (t8 < s3) ? 1 : 0;
    0x00450e24 sltu s7, zero, v0             |     s7 = (0 < v0) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00450e28 movn s3, t8, v0               |         s3 = t8;
                                             |     }
                                             |     if (t8 != 0) {
    0x00450e2c beqz t8, 0x450e50             |         
    0x00450e30 lw a1, -0x7fc8(gp)            |         a1 = *((gp - 8178));
    0x00450e34 move a0, s2                   |         a0 = s2;
    0x00450e38 lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x00450e3c addiu a2, zero, 0x80          |         a2 = 0x80;
    0x00450e40 addiu a1, a1, 0x6740          |         a1 += 0x6740;
    0x00450e44 jalr t9                       |         t9 ();
    0x00450e48 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00450e4c beqz v0, 0x45114c             |             goto label_11;
                                             |         }
                                             |     }
    0x00450e50 lw t8, 0x1c4(s5)              |     t8 = *((s5 + 113));
    0x00450e54 addiu v1, zero, 2             |     v1 = 2;
    0x00450e58 sltu v0, t8, s3               |     v0 = (t8 < s3) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00450e5c movn s3, t8, v0               |         s3 = t8;
                                             |     }
                                             |     if (v0 == 0) {
    0x00450e60 movn s7, v1, v0               |         s7 = v1;
                                             |     }
                                             |     if (t8 != 0) {
    0x00450e64 beqz t8, 0x450e88             |         
    0x00450e68 lw a1, -0x7fc8(gp)            |         a1 = *((gp - 8178));
    0x00450e6c move a0, s2                   |         a0 = s2;
    0x00450e70 lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x00450e74 addiu a2, zero, 0x80          |         a2 = 0x80;
    0x00450e78 addiu a1, a1, 0x67d8          |         a1 += 0x67d8;
    0x00450e7c jalr t9                       |         t9 ();
    0x00450e80 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00450e84 beqz v0, 0x451154             |             goto label_12;
                                             |         }
                                             |     }
    0x00450e88 lw t8, 0x25c(s5)              |     t8 = *((s5 + 151));
    0x00450e8c addiu v0, zero, 3             |     v0 = 3;
    0x00450e90 sltu s3, t8, s3               |     s3 = (t8 < s3) ? 1 : 0;
                                             |     if (s3 == 0) {
    0x00450e94 movn s7, v0, s3               |         s7 = v0;
                                             |     }
                                             |     if (t8 != 0) {
    0x00450e98 beqz t8, 0x450ebc             |         
    0x00450e9c lw a1, -0x7fc8(gp)            |         a1 = *((gp - 8178));
    0x00450ea0 move a0, s2                   |         a0 = s2;
    0x00450ea4 lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x00450ea8 addiu a2, zero, 0x80          |         a2 = 0x80;
    0x00450eac addiu a1, a1, 0x6870          |         a1 += 0x6870;
    0x00450eb0 jalr t9                       |         t9 ();
    0x00450eb4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00450eb8 beqz v0, 0x45115c             |             goto label_13;
                                             |         }
                                             |     }
    0x00450ebc lw fp, -0x7fc8(gp)            |     fp = *((gp - 8178));
    0x00450ec0 move a0, s2                   |     a0 = s2;
    0x00450ec4 lw t9, -0x6fdc(gp)            |     t9 = sym.imp.gethostbyname;
    0x00450ec8 lw t8, 0x66a0(fp)             |     t8 = *(arg_66a0h);
    0x00450ecc addiu t8, t8, 1               |     t8++;
    0x00450ed0 sw t8, 0x66a0(fp)             |     *(arg_66a0h) = t8;
    0x00450ed4 jalr t9                       |     t9 ();
    0x00450ed8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00450edc move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00450ee0 beqz v0, 0x451164             |         goto label_14;
                                             |     }
    0x00450ee4 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x00450ee8 move a0, s2                   |     a0 = s2;
    0x00450eec jalr t9                       |     t9 ();
    0x00450ef0 sltiu t8, v0, 0x80            |     t8 = (v0 < 0x80) ? 1 : 0;
    0x00450ef4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (t8 != 0) {
    0x00450ef8 bnez t8, 0x450ff8             |         goto label_15;
                                             |     }
    0x00450efc move s5, s3                   |     s5 = s3;
                                             | label_2:
    0x00450f00 lh v0, 8(s5)                  |     v0 = *((s5 + 4));
    0x00450f04 addiu t8, zero, 2             |     t8 = 2;
    0x00450f08 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     if (v0 != t8) {
    0x00450f0c bne v0, t8, 0x451084          |         goto label_16;
                                             |     }
    0x00450f10 lw t8, 0x10(s5)               |     t8 = *((s5 + 4));
    0x00450f14 lw t8, (t8)                   |     t8 = *(t8);
    0x00450f18 lbu t8, (t8)                  |     t8 = *(t8);
    0x00450f1c sb t8, (s0)                   |     *(s0) = t8;
    0x00450f20 lw t8, 0x10(s5)               |     t8 = *((s5 + 4));
    0x00450f24 lw t8, (t8)                   |     t8 = *(t8);
    0x00450f28 lbu t8, 1(t8)                 |     t8 = *((t8 + 1));
    0x00450f2c sb t8, 1(s0)                  |     *((s0 + 1)) = t8;
    0x00450f30 lw t8, 0x10(s5)               |     t8 = *((s5 + 4));
    0x00450f34 lw t8, (t8)                   |     t8 = *(t8);
    0x00450f38 lbu t8, 2(t8)                 |     t8 = *((t8 + 2));
    0x00450f3c sb t8, 2(s0)                  |     *((s0 + 2)) = t8;
    0x00450f40 lw t8, 0x10(s5)               |     t8 = *((s5 + 4));
    0x00450f44 lw t8, (t8)                   |     t8 = *(t8);
    0x00450f48 lbu t8, 3(t8)                 |     t8 = *((t8 + 3));
    0x00450f4c sb t8, 3(s0)                  |     *((s0 + 3)) = t8;
                                             |     do {
                                             | label_7:
    0x00450f50 lw t9, -0x7ee8(gp)            |         t9 = sym.extract_port;
                                             |         if (s4 != 0) {
    0x00450f54 beqz s4, 0x450f5c             |             
    0x00450f58 sw s2, (s4)                   |             *(s4) = s2;
                                             |         }
    0x00450f5c addiu a0, s1, 1               |         a0 = s1 + 1;
    0x00450f60 move a1, s6                   |         a1 = s6;
    0x00450f64 jalr t9                       |         t9 ();
    0x00450f68 sltu v0, zero, v0             |         v0 = (0 < v0) ? 1 : 0;
                                             | label_3:
    0x00450f6c lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x00450f70 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x00450f74 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x00450f78 lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x00450f7c lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x00450f80 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x00450f84 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x00450f88 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x00450f8c lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x00450f90 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x00450f94 addiu sp, sp, 0x58            |         
    0x00450f98 jr ra                         |         return v0;
                                             | label_8:
    0x00450f9c lw t8, 0x20(sp)               |         t8 = *(var_20h);
    0x00450fa0 sltiu v0, t8, 0x100           |         v0 = (t8 < 0x100) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x00450fa4 beqz v0, 0x4510cc             |             goto label_17;
                                             |         }
    0x00450fa8 nop                           |         
    0x00450fac lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x00450fb0 sltiu v1, v0, 0x100           |         v1 = (v0 < 0x100) ? 1 : 0;
    0x00450fb4 lw v1, 0x28(sp)               |         v1 = *(var_28h);
                                             |         if (v1 == 0) {
    0x00450fb8 beqz v1, 0x4510cc             |             goto label_17;
                                             |         }
    0x00450fbc sltiu a0, v1, 0x100           |         a0 = (v1 < 0x100) ? 1 : 0;
    0x00450fc0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
                                             |         if (a0 == 0) {
    0x00450fc4 beqz a0, 0x4510cc             |             goto label_17;
                                             |         }
    0x00450fc8 sltiu a1, a0, 0x100           |         a1 = (a0 < 0x100) ? 1 : 0;
                                             |         if (a1 == 0) {
    0x00450fcc beqz a1, 0x4510cc             |             goto label_17;
                                             |         }
    0x00450fd0 nop                           |         
    0x00450fd4 sb t8, (s0)                   |         *(s0) = t8;
    0x00450fd8 sb v0, 1(s0)                  |         *((s0 + 1)) = v0;
    0x00450fdc sb v1, 2(s0)                  |         *((s0 + 2)) = v1;
    0x00450fe0 sb a0, 3(s0)                  |         *((s0 + 3)) = a0;
    0x00450fe4 b 0x450f50                    |         
                                             |     } while (1);
                                             | label_9:
    0x00450fe8 move a0, s2                   |     a0 = s2;
                                             |     if (s3 == 0) {
    0x00450fec beqz s3, 0x450e1c             |         goto label_0;
                                             |     }
    0x00450ff0 b 0x450e08                    |     goto label_1;
    0x00450ff4 nop                           |     
                                             | label_15:
    0x00450ff8 addiu t8, zero, 0x98          |     t8 = 0x98;
    0x00450ffc move a1, s2                   |     a1 = s2;
    0x00451000 mult s7, t8                   |     __asm ("mult s7, t8");
    0x00451004 lw t9, -0x7ca0(gp)            |     t9 = sym.imp.memcpy;
    0x00451008 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x0045100c mflo s7                       |     __asm ("mflo s7");
    0x00451010 addu t0, s5, s7               |     t0 = s5 + s7;
    0x00451014 move a0, t0                   |     a0 = t0;
    0x00451018 jalr t9                       |     t9 ();
    0x0045101c addiu t8, s7, 0x80            |     t8 = s7 + 0x80;
    0x00451020 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00451024 move t0, v0                   |     t0 = v0;
    0x00451028 lwl a3, 3(s3)                 |     __asm ("lwl a3, 3(s3)");
    0x0045102c addu t8, s5, t8               |     t8 = s5 + t8;
    0x00451030 lw a0, -0x7fc8(gp)            |     a0 = *((gp - 8178));
    0x00451034 move s5, s3                   |     s5 = s3;
    0x00451038 lwl a2, 7(s3)                 |     __asm ("lwl a2, 7(s3)");
    0x0045103c lwl a1, 0xb(s3)               |     __asm ("lwl a1, 0xb(s3)");
    0x00451040 lwl v1, 0xf(s3)               |     __asm ("lwl v1, 0xf(s3)");
    0x00451044 lwl v0, 0x13(s3)              |     __asm ("lwl v0, 0x13(s3)");
    0x00451048 lw t1, 0x66a4(a0)             |     t1 = *((a0 + 6569));
    0x0045104c lw a0, 0x66a0(fp)             |     a0 = *(arg_66a0h);
    0x00451050 lwr a3, (s3)                  |     __asm ("lwr a3, (s3)");
    0x00451054 lwr a2, 4(s3)                 |     __asm ("lwr a2, 4(s3)");
    0x00451058 addu a0, t1, a0               |     a0 = t1 + a0;
    0x0045105c lwr a1, 8(s3)                 |     __asm ("lwr a1, 8(s3)");
    0x00451060 lwr v1, 0xc(s3)               |     __asm ("lwr v1, 0xc(s3)");
    0x00451064 lwr v0, 0x10(s3)              |     __asm ("lwr v0, 0x10(s3)");
    0x00451068 sw a3, (t8)                   |     *(t8) = a3;
    0x0045106c sw a2, 4(t8)                  |     *((t8 + 4)) = a2;
    0x00451070 sw a1, 8(t8)                  |     *((t8 + 8)) = a1;
    0x00451074 sw v1, 0xc(t8)                |     *((t8 + 12)) = v1;
    0x00451078 sw v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x0045107c sw a0, 0x94(t0)               |     *((t0 + 37)) = a0;
    0x00451080 b 0x450f00                    |     goto label_2;
                                             | label_16:
    0x00451084 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00451088 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0045108c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.gethostbyname_addr_is_not_AF_INET_n */
    0x00451090 addiu a1, a1, -0x33b0         |     a1 += -0x33b0;
    0x00451094 jalr t9                       |     t9 ();
    0x00451098 move v0, zero                 |     v0 = 0;
                                             | label_5:
    0x0045109c lw ra, 0x54(sp)               |     ra = *(var_54h);
    0x004510a0 lw fp, 0x50(sp)               |     fp = *(var_50h);
    0x004510a4 lw s7, 0x4c(sp)               |     s7 = *(var_4ch);
    0x004510a8 lw s6, 0x48(sp)               |     s6 = *(var_48h);
    0x004510ac lw s5, 0x44(sp)               |     s5 = *(var_44h);
    0x004510b0 lw s4, 0x40(sp)               |     s4 = *(var_40h);
    0x004510b4 lw s3, 0x3c(sp)               |     s3 = *(var_3ch);
    0x004510b8 lw s2, 0x38(sp)               |     s2 = *(var_38h);
    0x004510bc lw s1, 0x34(sp)               |     s1 = *(var_34h);
    0x004510c0 lw s0, 0x30(sp)               |     s0 = *(var_30h);
    0x004510c4 addiu sp, sp, 0x58            |     
    0x004510c8 jr ra                         |     return v0;
                                             | label_17:
    0x004510cc lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x004510d0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x004510d4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004510d8 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.invalid_IP_address_n */
    0x004510dc addiu a1, a1, -0x33c4         |     a1 += -0x33c4;
    0x004510e0 jalr t9                       |     t9 ();
    0x004510e4 move v0, zero                 |     v0 = 0;
    0x004510e8 b 0x450f6c                    |     goto label_3;
                                             | label_6:
    0x004510ec lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x004510f0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x004510f4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004510f8 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.no_port_defined_n */
    0x004510fc addiu a1, a1, -0x3328         |     a1 += -0x3328;
    0x00451100 jalr t9                       |     t9 ();
    0x00451104 move v0, zero                 |     v0 = 0;
    0x00451108 b 0x450f6c                    |     goto label_3;
                                             | label_10:
    0x0045110c move v1, zero                 |     v1 = 0;
                                             |     do {
                                             | label_4:
    0x00451110 addiu v0, zero, 0x98          |         v0 = 0x98;
    0x00451114 lw t8, -0x7fc8(gp)            |         t8 = *((gp - 8178));
    0x00451118 mult v1, v0                   |         __asm ("mult v1, v0");
    0x0045111c lw a0, -0x7fc8(gp)            |         a0 = *((gp - 8178));
    0x00451120 lw v0, 0x66a4(t8)             |         v0 = *((t8 + 6569));
    0x00451124 lw a1, 0x66a0(a0)             |         a1 = *((a0 + 6568));
    0x00451128 mflo v1                       |         __asm ("mflo v1");
    0x0045112c addiu v0, v0, 1               |         v0++;
    0x00451130 addu a0, s5, v1               |         a0 = s5 + v1;
    0x00451134 addu a1, v0, a1               |         a1 = v0 + a1;
    0x00451138 addiu v1, v1, 0x80            |         v1 += 0x80;
    0x0045113c sw v0, 0x66a4(t8)             |         *((t8 + 26276)) = v0;
    0x00451140 addu s5, s5, v1               |         s5 += v1;
    0x00451144 sw a1, 0x94(a0)               |         *((a0 + 37)) = a1;
    0x00451148 b 0x450f00                    |         goto label_2;
                                             | label_11:
    0x0045114c addiu v1, zero, 1             |         v1 = 1;
    0x00451150 b 0x451110                    |         
                                             |     } while (1);
                                             | label_12:
    0x00451154 addiu v1, zero, 2             |     v1 = 2;
    0x00451158 b 0x451110                    |     goto label_4;
                                             | label_13:
    0x0045115c addiu v1, zero, 3             |     v1 = 3;
    0x00451160 b 0x451110                    |     goto label_4;
                                             | label_14:
    0x00451164 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00451168 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0045116c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00451170 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.gethostbyname_failure_n */
    0x00451174 addiu a1, a1, -0x3378         |     a1 += -0x3378;
    0x00451178 jalr t9                       |     t9 ();
    0x0045117c move v0, zero                 |     v0 = 0;
    0x00451180 b 0x45109c                    |     goto label_5;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x450c84 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.extract_port ()              | void extract_port () {
    0x00450c84 lui gp, 5                     |     
    0x00450c88 addiu gp, gp, -0x47e4         |     
    0x00450c8c addu gp, gp, t9               |     gp += t9;
    0x00450c90 addiu sp, sp, -0x28           |     
    0x00450c94 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x00450c98 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x00450c9c sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x00450ca0 move s1, a0                   |     s1 = a0;
    0x00450ca4 lw t9, -0x7b18(gp)            |     t9 = sym.imp.atoi;
    0x00450ca8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00450cac move s0, a1                   |     s0 = a1;
    0x00450cb0 jalr t9                       |     t9 ();
    0x00450cb4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00450cb8 beqz v0, 0x450cd8             |         goto label_0;
                                             |     }
    0x00450cbc sh v0, (s0)                   |     *(s0) = v0;
    0x00450cc0 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x00450cc4 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x00450cc8 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00450ccc lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00450cd0 addiu sp, sp, 0x28            |         
    0x00450cd4 jr ra                         |         return v0;
                                             | label_0:
    0x00450cd8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00450cdc move a0, s1                   |         a0 = s1;
    0x00450ce0 lw t9, -0x7650(gp)            |         t9 = sym.imp.getservbyname;
                                             |         /* esilref: 'tcp' */
    0x00450ce4 addiu a1, a1, -0x334c         |         a1 += -0x334c;
    0x00450ce8 jalr t9                       |         t9 ();
    0x00450cec lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00450cf0 move t8, v0                   |         t8 = v0;
                                             |         if (v0 != 0) {
    0x00450cf4 beqz v0, 0x450d24             |             
    0x00450cf8 lw a0, 8(v0)                  |             a0 = *((v0 + 2));
    0x00450cfc addiu v0, zero, 1             |             v0 = 1;
    0x00450d00 lbu v1, 9(t8)                 |             v1 = *((t8 + 9));
    0x00450d04 sll t8, a0, 8                 |             t8 = a0 << 8;
    0x00450d08 lw ra, 0x24(sp)               |             ra = *(var_24h);
    0x00450d0c or t8, v1, t8                 |             t8 = v1 | t8;
    0x00450d10 lw s1, 0x20(sp)               |             s1 = *(var_20h);
    0x00450d14 sh t8, (s0)                   |             *(s0) = t8;
    0x00450d18 lw s0, 0x1c(sp)               |             s0 = *(var_1ch);
    0x00450d1c addiu sp, sp, 0x28            |             
    0x00450d20 jr ra                         |             return v0;
                                             |         }
    0x00450d24 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x00450d28 move a2, s1                   |         a2 = s1;
    0x00450d2c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00450d30 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00450d34 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.getservbyname_failure_for__s_n */
    0x00450d38 addiu a1, a1, -0x3348         |         a1 += -0x3348;
    0x00450d3c jalr t9                       |         t9 ();
    0x00450d40 move v0, zero                 |         v0 = 0;
    0x00450d44 b 0x450cc4                    |         
                                             |     } while (1);
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ed28 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.generate_cookie_callback ()          | void generate_cookie_callback () {
    0x0044ed28 lui gp, 5                             |     
    0x0044ed2c addiu gp, gp, -0x2888                 |     
    0x0044ed30 addu gp, gp, t9                       |     gp += t9;
    0x0044ed34 addiu sp, sp, -0xa0                   |     
    0x0044ed38 sw ra, 0x9c(sp)                       |     *(var_9ch) = ra;
    0x0044ed3c sw s4, 0x98(sp)                       |     *(var_98h) = s4;
    0x0044ed40 sw s3, 0x94(sp)                       |     *(var_94h) = s3;
    0x0044ed44 sw s2, 0x90(sp)                       |     *(var_90h) = s2;
    0x0044ed48 sw s1, 0x8c(sp)                       |     *(var_8ch) = s1;
    0x0044ed4c sw s0, 0x88(sp)                       |     *(var_88h) = s0;
    0x0044ed50 move s1, a0                           |     s1 = a0;
    0x0044ed54 lw s0, -0x7dec(gp)                    |     s0 = *(gp);
    0x0044ed58 move s3, a1                           |     s3 = a1;
    0x0044ed5c sw gp, 0x20(sp)                       |     *(var_20h) = gp;
    0x0044ed60 lw t8, (s0)                           |     t8 = *(s0);
    0x0044ed64 move s2, a2                           |     s2 = a2;
                                                     |     if (t8 == 0) {
    0x0044ed68 bnez t8, 0x44ed8c                     |         
    0x0044ed6c lw t9, -0x6e04(gp)                    |         t9 = sym.imp.RAND_bytes;
    0x0044ed70 lw a0, -0x7de8(gp)                    |         a0 = *(gp);
    0x0044ed74 addiu a1, zero, 0x10                  |         a1 = 0x10;
    0x0044ed78 jalr t9                               |         t9 ();
    0x0044ed7c lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 <= 0) {
    0x0044ed80 blez v0, 0x44ef54                     |             goto label_3;
                                                     |         }
    0x0044ed84 addiu t8, zero, 1                     |         t8 = 1;
    0x0044ed88 sw t8, (s0)                           |         *(s0) = t8;
                                                     |     }
    0x0044ed8c lw t9, -0x79d8(gp)                    |     t9 = sym.imp.SSL_get_rbio;
    0x0044ed90 move a0, s1                           |     a0 = s1;
    0x0044ed94 jalr t9                               |     t9 ();
    0x0044ed98 addiu a1, zero, 0x2e                  |     a1 = 0x2e;
    0x0044ed9c lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0044eda0 move a0, v0                           |     a0 = v0;
    0x0044eda4 move a2, zero                         |     a2 = 0;
    0x0044eda8 lw t9, -0x7a60(gp)                    |     t9 = sym.imp.BIO_ctrl;
    0x0044edac addiu a3, sp, 0x68                    |     a3 = sp + 0x68;
    0x0044edb0 jalr t9                               |     t9 ();
    0x0044edb4 addiu v0, zero, 2                     |     v0 = 2;
    0x0044edb8 lhu t8, 0x68(sp)                      |     t8 = *(var_68h);
    0x0044edbc lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (t8 == v0) {
    0x0044edc0 beq t8, v0, 0x44ef04                  |         goto label_4;
                                                     |     }
    0x0044edc4 addiu v0, zero, 0xa                   |     v0 = 0xa;
    0x0044edc8 lw s1, -0x7f9c(gp)                    |     s1 = *(gp);
                                                     |     if (t8 == v0) {
    0x0044edcc beq t8, v0, 0x44eef8                  |         goto label_5;
                                                     |     }
    0x0044edd0 addiu a1, zero, 0x415                 |     a1 = 0x415;
    0x0044edd4 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x0044edd8 move s4, zero                         |     s4 = 0;
    0x0044eddc lw t9, -0x73cc(gp)                    |     t9 = sym.imp.OpenSSLDie;
                                                     |     /* str.s_cb.c */
    0x0044ede0 addiu a0, s1, -0x436c                 |     a0 = s1 + -0x436c;
    0x0044ede4 addiu a2, a2, -0x274                  |     a2 += -0x274;
    0x0044ede8 jalr t9                               |     t9 ();
    0x0044edec move a0, zero                         |     a0 = 0;
    0x0044edf0 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     do {
                                                     | label_0:
    0x0044edf4 lw t9, -0x7cd8(gp)                    |         t9 = sym.imp.CRYPTO_malloc;
                                                     |         /* str.s_cb.c */
    0x0044edf8 addiu a1, s1, -0x436c                 |         a1 = s1 + -0x436c;
    0x0044edfc addiu a2, zero, 0x418                 |         a2 = 0x418;
    0x0044ee00 jalr t9                               |         t9 ();
    0x0044ee04 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0044ee08 move s0, v0                           |         s0 = v0;
                                                     |         if (v0 == 0) {
    0x0044ee0c beqz v0, 0x44ef74                     |             goto label_6;
                                                     |         }
    0x0044ee10 lhu t8, 0x68(sp)                      |         t8 = *(var_68h);
    0x0044ee14 addiu v0, zero, 2                     |         v0 = 2;
    0x0044ee18 addiu v0, zero, 0xa                   |         v0 = 0xa;
                                                     |         if (t8 == v0) {
    0x0044ee1c beq t8, v0, 0x44ef30                  |             goto label_7;
                                                     |         }
    0x0044ee20 lw t9, -0x73cc(gp)                    |         t9 = sym.imp.OpenSSLDie;
                                                     |         if (t8 != v0) {
    0x0044ee24 bne t8, v0, 0x44ef14                  |             goto label_8;
                                                     |         }
    0x0044ee28 lbu v0, 0x6a(sp)                      |         v0 = *(var_6ah);
    0x0044ee2c addiu t8, s0, 2                       |         t8 = s0 + 2;
    0x0044ee30 sb v0, (s0)                           |         *(s0) = v0;
    0x0044ee34 lbu v0, 0x6b(sp)                      |         v0 = *(var_6bh);
    0x0044ee38 sb v0, 1(s0)                          |         *((s0 + 1)) = v0;
    0x0044ee3c lw a1, 0x70(sp)                       |         a1 = *(var_70h);
    0x0044ee40 lw a0, 0x74(sp)                       |         a0 = *(var_74h);
    0x0044ee44 lw v1, 0x78(sp)                       |         v1 = *(var_78h);
    0x0044ee48 lw v0, 0x7c(sp)                       |         v0 = *(var_7ch);
    0x0044ee4c swl a1, 3(t8)                         |         __asm ("swl a1, 3(t8)");
    0x0044ee50 swr a1, (t8)                          |         __asm ("swr a1, (t8)");
    0x0044ee54 swl a0, 7(t8)                         |         __asm ("swl a0, 7(t8)");
    0x0044ee58 swr a0, 4(t8)                         |         __asm ("swr a0, 4(t8)");
    0x0044ee5c swl v1, 0xb(t8)                       |         __asm ("swl v1, 0xb(t8)");
    0x0044ee60 swr v1, 8(t8)                         |         __asm ("swr v1, 8(t8)");
    0x0044ee64 swl v0, 0xf(t8)                       |         __asm ("swl v0, 0xf(t8)");
    0x0044ee68 swr v0, 0xc(t8)                       |         __asm ("swr v0, 0xc(t8)");
                                                     | label_1:
    0x0044ee6c lw t9, -0x7294(gp)                    |         t9 = sym.imp.EVP_sha1;
    0x0044ee70 addiu s1, sp, 0x28                    |         s1 = sp + 0x28;
    0x0044ee74 jalr t9                               |         t9 ();
    0x0044ee78 addiu t8, sp, 0x84                    |         t8 = sp + 0x84;
    0x0044ee7c lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0044ee80 move a3, s0                           |         a3 = s0;
    0x0044ee84 addiu a2, zero, 0x10                  |         a2 = 0x10;
    0x0044ee88 move a0, v0                           |         a0 = v0;
    0x0044ee8c lw a1, -0x7de8(gp)                    |         a1 = *(gp);
    0x0044ee90 lw t9, -0x7a54(gp)                    |         t9 = sym.imp.HMAC;
    0x0044ee94 sw t8, 0x18(sp)                       |         *(var_18h) = t8;
    0x0044ee98 sw s4, 0x10(sp)                       |         *(var_10h) = s4;
    0x0044ee9c sw s1, 0x14(sp)                       |         *(var_14h) = s1;
    0x0044eea0 jalr t9                               |         t9 ();
    0x0044eea4 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0044eea8 lw t9, -0x7ce8(gp)                    |         t9 = sym.imp.CRYPTO_free;
    0x0044eeac move a0, s0                           |         a0 = s0;
    0x0044eeb0 jalr t9                               |         t9 ();
    0x0044eeb4 move a0, s3                           |         a0 = s3;
    0x0044eeb8 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0044eebc move a1, s1                           |         a1 = s1;
    0x0044eec0 lw s0, 0x84(sp)                       |         s0 = *(var_84h);
    0x0044eec4 lw t9, -0x7ca0(gp)                    |         t9 = sym.imp.memcpy;
    0x0044eec8 move a2, s0                           |         a2 = s0;
    0x0044eecc jalr t9                               |         t9 ();
    0x0044eed0 addiu v0, zero, 1                     |         v0 = 1;
    0x0044eed4 sw s0, (s2)                           |         *(s2) = s0;
                                                     | label_2:
    0x0044eed8 lw ra, 0x9c(sp)                       |         ra = *(var_9ch);
    0x0044eedc lw s4, 0x98(sp)                       |         s4 = *(var_98h);
    0x0044eee0 lw s3, 0x94(sp)                       |         s3 = *(var_94h);
    0x0044eee4 lw s2, 0x90(sp)                       |         s2 = *(var_90h);
    0x0044eee8 lw s1, 0x8c(sp)                       |         s1 = *(var_8ch);
    0x0044eeec lw s0, 0x88(sp)                       |         s0 = *(var_88h);
    0x0044eef0 addiu sp, sp, 0xa0                    |         
    0x0044eef4 jr ra                                 |         return v0;
                                                     | label_5:
    0x0044eef8 addiu a0, zero, 0x12                  |         a0 = 0x12;
    0x0044eefc addiu s4, zero, 0x12                  |         s4 = 0x12;
    0x0044ef00 b 0x44edf4                            |         
                                                     |     } while (1);
                                                     | label_4:
    0x0044ef04 addiu a0, zero, 6                     |     a0 = 6;
    0x0044ef08 addiu s4, zero, 6                     |     s4 = 6;
    0x0044ef0c lw s1, -0x7f9c(gp)                    |     s1 = *(gp);
    0x0044ef10 b 0x44edf4                            |     goto label_0;
                                                     | label_8:
    0x0044ef14 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
                                                     |     /* str.s_cb.c */
    0x0044ef18 addiu a0, s1, -0x436c                 |     a0 = s1 + -0x436c;
    0x0044ef1c addiu a1, zero, 0x42d                 |     a1 = 0x42d;
    0x0044ef20 addiu a2, a2, -0x274                  |     a2 += -0x274;
    0x0044ef24 jalr t9                               |     t9 ();
    0x0044ef28 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0044ef2c b 0x44ee6c                            |     goto label_1;
                                                     | label_7:
    0x0044ef30 lbu v0, 0x6a(sp)                      |     v0 = *(var_6ah);
    0x0044ef34 addiu t8, s0, 2                       |     t8 = s0 + 2;
    0x0044ef38 sb v0, (s0)                           |     *(s0) = v0;
    0x0044ef3c lbu v0, 0x6b(sp)                      |     v0 = *(var_6bh);
    0x0044ef40 sb v0, 1(s0)                          |     *((s0 + 1)) = v0;
    0x0044ef44 lw v0, 0x6c(sp)                       |     v0 = *(var_6ch);
    0x0044ef48 swl v0, 5(s0)                         |     __asm ("swl v0, 5(s0)");
    0x0044ef4c swr v0, (t8)                          |     __asm ("swr v0, (t8)");
    0x0044ef50 b 0x44ee6c                            |     goto label_1;
                                                     | label_3:
    0x0044ef54 lw t8, -0x7fd4(gp)                    |     t8 = *(gp);
    0x0044ef58 lw a1, -0x7f9c(gp)                    |     a1 = *(gp);
    0x0044ef5c lw t9, -0x780c(gp)                    |     t9 = sym.imp.BIO_printf
    0x0044ef60 lw a0, (t8)                           |     a0 = *(t8);
                                                     |     /* str.error_setting_random_cookie_secret_n */
    0x0044ef64 addiu a1, a1, -0x3af0                 |     a1 += -0x3af0;
    0x0044ef68 jalr t9                               |     t9 ();
    0x0044ef6c move v0, zero                         |     v0 = 0;
    0x0044ef70 b 0x44eed8                            |     goto label_2;
                                                     | label_6:
    0x0044ef74 lw t8, -0x7fd4(gp)                    |     t8 = *(gp);
    0x0044ef78 lw a1, -0x7fd8(gp)                    |     a1 = *(gp);
    0x0044ef7c lw t9, -0x780c(gp)                    |     t9 = sym.imp.BIO_printf
    0x0044ef80 lw a0, (t8)                           |     a0 = *(t8);
                                                     |     /* str.out_of_memory_n */
    0x0044ef84 addiu a1, a1, -0x1a30                 |     a1 += -0x1a30;
    0x0044ef88 jalr t9                               |     t9 ();
    0x0044ef8c move v0, zero                         |     v0 = 0;
    0x0044ef90 b 0x44eed8                            |     goto label_2;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x452f80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.hex_prin ()                  | void hex_prin () {
    0x00452f80 lui gp, 5                     |     
    0x00452f84 addiu gp, gp, -0x6ae0         |     
    0x00452f88 addu gp, gp, t9               |     gp += t9;
                                             |     if (a2 <= 0) {
    0x00452f8c blez a2, 0x452ffc             |         goto label_0;
                                             |     }
    0x00452f90 nop                           |     
    0x00452f94 addiu sp, sp, -0x30           |     
    0x00452f98 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00452f9c sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x00452fa0 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x00452fa4 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x00452fa8 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x00452fac move s1, a0                   |     s1 = a0;
    0x00452fb0 lw s2, -0x7f9c(gp)            |     s2 = *(gp);
    0x00452fb4 move s0, a1                   |     s0 = a1;
    0x00452fb8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00452fbc addu s3, a1, a2               |     s3 = a1 + a2;
                                             |     /* str._02X_ */
    0x00452fc0 addiu s2, s2, -0x2d9c         |     s2 += -0x2d9c;
                                             |     do {
    0x00452fc4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00452fc8 move a0, s1                   |         a0 = s1;
    0x00452fcc lbu a2, (s0)                  |         a2 = *(s0);
    0x00452fd0 move a1, s2                   |         a1 = s2;
    0x00452fd4 addiu s0, s0, 1               |         s0++;
    0x00452fd8 jalr t9                       |         t9 ();
    0x00452fdc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00452fe0 bne s0, s3, 0x452fc4          |         
                                             |     } while (s0 != s3);
    0x00452fe4 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00452fe8 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x00452fec lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x00452ff0 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x00452ff4 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x00452ff8 addiu sp, sp, 0x30            |     
                                             | label_0:
    0x00452ffc jr ra                         |     return;
    0x00453000 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44a1f4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.index_index ()               | void index_index () {
    0x0044a1f4 lui gp, 5                     |     
    0x0044a1f8 addiu gp, gp, 0x22ac          |     
    0x0044a1fc addu gp, gp, t9               |     gp += t9;
    0x0044a200 addiu sp, sp, -0x30           |     
    0x0044a204 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0044a208 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x0044a20c sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x0044a210 move s1, a0                   |     s1 = a0;
    0x0044a214 lw t8, -0x7e1c(gp)            |     t8 = *((gp - 8071));
    0x0044a218 addiu a1, zero, 3             |     a1 = 3;
    0x0044a21c lw a3, -0x7e1c(gp)            |     a3 = *((gp - 8071));
    0x0044a220 move a2, zero                 |     a2 = 0;
    0x0044a224 lw t9, -0x7300(gp)            |     t9 = sym.imp.TXT_DB_create_index;
    0x0044a228 addiu t8, t8, 0x6254          |     t8 += 0x6254;
    0x0044a22c lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x0044a230 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0044a234 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0044a238 addiu a3, a3, 0x6a60          |     a3 += 0x6a60;
    0x0044a23c jalr t9                       |     t9 ();
    0x0044a240 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a244 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x0044a248 beqz v0, 0x44a2ec             |         goto label_0;
                                             |     }
    0x0044a24c lw t8, (s1)                   |     t8 = *(s1);
    0x0044a250 lw t8, -0x7df4(gp)            |     t8 = *((gp - 8061));
    0x0044a254 bnez t8, 0x44a274             |     
                                             |     while (v0 != 0) {
    0x0044a258 addiu s0, zero, 1             |         s0 = 1;
    0x0044a25c move v0, s0                   |         v0 = s0;
    0x0044a260 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x0044a264 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x0044a268 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x0044a26c addiu sp, sp, 0x30            |         
    0x0044a270 jr ra                         |         return v0;
    0x0044a274 addiu a1, zero, 5             |         a1 = 5;
    0x0044a278 lw a2, -0x7e1c(gp)            |         a2 = *((gp - 8071));
    0x0044a27c lw a3, -0x7e1c(gp)            |         a3 = *((gp - 8071));
    0x0044a280 addiu t8, t8, -0x65a8         |         t8 += -0x65a8;
    0x0044a284 lw t9, -0x7300(gp)            |         t9 = sym.imp.TXT_DB_create_index;
    0x0044a288 addiu a2, a2, 0x6240          |         a2 += 0x6240;
    0x0044a28c lw a0, 4(s1)                  |         a0 = *((s1 + 1));
    0x0044a290 addiu a3, a3, 0x6a44          |         a3 += 0x6a44;
    0x0044a294 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0044a298 jalr t9                       |         t9 ();
    0x0044a29c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044a2a0 move s0, v0                   |         s0 = v0;
    0x0044a2a4 bnez v0, 0x44a258             |         
                                             |     }
    0x0044a2a8 lw t8, 4(s1)                  |     t8 = *((s1 + 1));
    0x0044a2ac lw v0, -0x7fd4(gp)            |     v0 = *(gp);
    0x0044a2b0 lw a2, 0x10(t8)               |     a2 = *((t8 + 4));
    0x0044a2b4 lw a3, 0x14(t8)               |     a3 = *((t8 + 5));
    0x0044a2b8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044a2bc lw t8, 0x18(t8)               |     t8 = *((t8 + 6));
    0x0044a2c0 lw a0, (v0)                   |     a0 = *(v0);
                                             |     /* str.error_creating_name_index:__ld__ld__ld__n */
    0x0044a2c4 addiu a1, a1, -0x4e08         |     a1 += -0x4e08;
    0x0044a2c8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a2cc sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0044a2d0 jalr t9                       |     t9 ();
    0x0044a2d4 move v0, s0                   |     v0 = s0;
    0x0044a2d8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0044a2dc lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x0044a2e0 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x0044a2e4 addiu sp, sp, 0x30            |     
    0x0044a2e8 jr ra                         |     return v0;
                                             | label_0:
    0x0044a2ec lw t8, 4(s1)                  |     t8 = *((s1 + 1));
    0x0044a2f0 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
    0x0044a2f4 lw a2, 0x10(t8)               |     a2 = *((t8 + 4));
    0x0044a2f8 lw a3, 0x14(t8)               |     a3 = *((t8 + 5));
    0x0044a2fc lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044a300 lw t8, 0x18(t8)               |     t8 = *((t8 + 6));
    0x0044a304 lw a0, (v0)                   |     a0 = *(v0);
                                             |     /* str.error_creating_serial_number_index:__ld__ld__ld__n */
    0x0044a308 addiu a1, a1, -0x4e3c         |     a1 += -0x4e3c;
    0x0044a30c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a310 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0044a314 jalr t9                       |     t9 ();
    0x0044a318 move v0, s0                   |     v0 = s0;
    0x0044a31c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0044a320 lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x0044a324 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x0044a328 addiu sp, sp, 0x30            |     
    0x0044a32c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4503f0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.init_client ()               | void init_client () {
    0x004503f0 lui gp, 5                     |     
    0x004503f4 addiu gp, gp, -0x3f50         |     
    0x004503f8 addu gp, gp, t9               |     gp += t9;
    0x004503fc addiu sp, sp, -0x60           |     
    0x00450400 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x00450404 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x00450408 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x0045040c sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x00450410 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x00450414 sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x00450418 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x0045041c sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x00450420 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x00450424 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x00450428 addiu t8, sp, 0x28            |     t8 = sp + 0x28;
    0x0045042c move s0, a1                   |     s0 = a1;
    0x00450430 lw t9, -0x6d80(gp)            |     t9 = sym.imp.sscanf;
    0x00450434 move s7, a0                   |     s7 = a0;
    0x00450438 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0045043c move a0, a1                   |     a0 = a1;
    0x00450440 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00450444 addiu t8, sp, 0x2c            |     t8 = sp + 0x2c;
    0x00450448 addiu s4, sp, 0x20            |     s4 = sp + 0x20;
    0x0045044c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00450450 move s5, a2                   |     s5 = a2;
    0x00450454 sw t8, 0x14(sp)               |     *(var_14h) = t8;
    0x00450458 move s6, a3                   |     s6 = a3;
    0x0045045c sw zero, 0x34(sp)             |     *(var_34h) = 0;
                                             |     /* str._u._u._u._u */
    0x00450460 addiu a1, a1, -0x33d0         |     a1 += -0x33d0;
    0x00450464 move a2, s4                   |     a2 = s4;
    0x00450468 addiu a3, sp, 0x24            |     a3 = sp + 0x24;
    0x0045046c jalr t9                       |     t9 ();
    0x00450470 addiu t8, zero, 4             |     t8 = 4;
    0x00450474 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == t8) {
    0x00450478 beq v0, t8, 0x4505e8          |         goto label_5;
                                             |     }
    0x0045047c lw a1, -0x7fc8(gp)            |     a1 = *((gp - 8178));
    0x00450480 addiu t8, zero, -1            |     t8 = -1;
    0x00450484 addiu s2, a1, 0x66a8          |     s2 = a1 + 0x66a8;
    0x00450488 lw s3, 0x94(s2)               |     s3 = *((s2 + 37));
                                             |     if (s3 != t8) {
    0x0045048c bne s3, t8, 0x4505d4          |         goto label_6;
                                             |     }
    0x00450490 nop                           |     
                                             |     do {
    0x00450494 lw t9, -0x7000(gp)            |         t9 = sym.imp.strncmp;
    0x00450498 move a0, s0                   |         a0 = s0;
    0x0045049c addiu a1, a1, 0x66a8          |         a1 += 0x66a8;
    0x004504a0 addiu a2, zero, 0x80          |         a2 = 0x80;
    0x004504a4 jalr t9                       |         t9 ();
    0x004504a8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x004504ac beqz v0, 0x4508b8             |             goto label_7;
                                             |         }
    0x004504b0 lw s1, 0x12c(s2)              |         s1 = *((s2 + 75));
    0x004504b4 sltu t8, s1, s3               |         t8 = (s1 < s3) ? 1 : 0;
    0x004504b8 move t8, s1                   |         t8 = s1;
                                             |         if (t8 == 0) {
    0x004504bc beqz t8, 0x450930             |             goto label_8;
                                             |         }
    0x004504c0 addiu s3, zero, 1             |         s3 = 1;
                                             | label_0:
    0x004504c4 move a0, s0                   |         a0 = s0;
                                             |         if (t8 != 0) {
    0x004504c8 beqz t8, 0x4504e8             |             
    0x004504cc lw a1, -0x7fc8(gp)            |             a1 = *((gp - 8178));
    0x004504d0 lw t9, -0x7000(gp)            |             t9 = sym.imp.strncmp;
    0x004504d4 addiu a2, zero, 0x80          |             a2 = 0x80;
    0x004504d8 addiu a1, a1, 0x6740          |             a1 += 0x6740;
    0x004504dc jalr t9                       |             t9 ();
    0x004504e0 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x004504e4 beqz v0, 0x4508f8             |                 goto label_9;
                                             |             }
                                             |         }
    0x004504e8 lw t8, 0x1c4(s2)              |         t8 = *((s2 + 113));
    0x004504ec addiu v1, zero, 2             |         v1 = 2;
    0x004504f0 sltu v0, t8, s1               |         v0 = (t8 < s1) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x004504f4 movn s1, t8, v0               |             s1 = t8;
                                             |         }
                                             |         if (v0 == 0) {
    0x004504f8 movn s3, v1, v0               |             s3 = v1;
                                             |         }
                                             |         if (t8 != 0) {
    0x004504fc beqz t8, 0x450520             |             
    0x00450500 lw a1, -0x7fc8(gp)            |             a1 = *((gp - 8178));
    0x00450504 move a0, s0                   |             a0 = s0;
    0x00450508 lw t9, -0x7000(gp)            |             t9 = sym.imp.strncmp;
    0x0045050c addiu a2, zero, 0x80          |             a2 = 0x80;
    0x00450510 addiu a1, a1, 0x67d8          |             a1 += 0x67d8;
    0x00450514 jalr t9                       |             t9 ();
    0x00450518 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x0045051c beqz v0, 0x450900             |                 goto label_10;
                                             |             }
                                             |         }
    0x00450520 lw t8, 0x25c(s2)              |         t8 = *((s2 + 151));
    0x00450524 addiu v0, zero, 3             |         v0 = 3;
    0x00450528 sltu s1, t8, s1               |         s1 = (t8 < s1) ? 1 : 0;
                                             |         if (s1 == 0) {
    0x0045052c movn s3, v0, s1               |             s3 = v0;
                                             |         }
                                             |         if (t8 != 0) {
    0x00450530 beqz t8, 0x450554             |             
    0x00450534 lw a1, -0x7fc8(gp)            |             a1 = *((gp - 8178));
    0x00450538 move a0, s0                   |             a0 = s0;
    0x0045053c lw t9, -0x7000(gp)            |             t9 = sym.imp.strncmp;
    0x00450540 addiu a2, zero, 0x80          |             a2 = 0x80;
    0x00450544 addiu a1, a1, 0x6870          |             a1 += 0x6870;
    0x00450548 jalr t9                       |             t9 ();
    0x0045054c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x00450550 beqz v0, 0x450908             |                 goto label_11;
                                             |             }
                                             |         }
    0x00450554 lw fp, -0x7fc8(gp)            |         fp = *((gp - 8178));
    0x00450558 move a0, s0                   |         a0 = s0;
    0x0045055c lw t9, -0x6fdc(gp)            |         t9 = sym.imp.gethostbyname;
    0x00450560 lw t8, 0x66a0(fp)             |         t8 = *(arg_66a0h);
    0x00450564 addiu t8, t8, 1               |         t8++;
    0x00450568 sw t8, 0x66a0(fp)             |         *(arg_66a0h) = t8;
    0x0045056c jalr t9                       |         t9 ();
    0x00450570 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00450574 move s1, v0                   |         s1 = v0;
                                             |         if (v0 == 0) {
    0x00450578 beqz v0, 0x450910             |             goto label_12;
                                             |         }
    0x0045057c lw t9, -0x7cf8(gp)            |         t9 = sym.imp.strlen;
    0x00450580 move a0, s0                   |         a0 = s0;
    0x00450584 jalr t9                       |         t9 ();
    0x00450588 sltiu t8, v0, 0x80            |         t8 = (v0 < 0x80) ? 1 : 0;
    0x0045058c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (t8 != 0) {
    0x00450590 bnez t8, 0x4507a4             |             goto label_13;
                                             |         }
    0x00450594 move s2, s1                   |         s2 = s1;
                                             | label_2:
    0x00450598 lh v0, 8(s2)                  |         v0 = *((s2 + 4));
    0x0045059c addiu t8, zero, 2             |         t8 = 2;
    0x004505a0 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             |         if (v0 != t8) {
    0x004505a4 bne v0, t8, 0x450830          |             goto label_14;
                                             |         }
    0x004505a8 lw t8, 0x10(s2)               |         t8 = *((s2 + 4));
    0x004505ac lw v0, (t8)                   |         v0 = *(t8);
    0x004505b0 lbu a0, (v0)                  |         a0 = *(v0);
    0x004505b4 lbu v1, 1(v0)                 |         v1 = *((v0 + 1));
    0x004505b8 lbu t8, 2(v0)                 |         t8 = *((v0 + 2));
    0x004505bc lbu v0, 3(v0)                 |         v0 = *((v0 + 3));
    0x004505c0 sb a0, 0x34(sp)               |         *(var_34h) = a0;
    0x004505c4 sb v1, 0x35(sp)               |         *(var_35h) = v1;
    0x004505c8 sb t8, 0x36(sp)               |         *(var_36h) = t8;
    0x004505cc sb v0, 0x37(sp)               |         *(var_37h) = v0;
    0x004505d0 b 0x45063c                    |         goto label_15;
                                             | label_6:
    0x004505d4 move s1, s3                   |         s1 = s3;
    0x004505d8 bnez s3, 0x450494             |         
                                             |     } while (s3 != 0);
    0x004505dc lw t8, 0x12c(s2)              |     t8 = *((s2 + 75));
    0x004505e0 move s3, zero                 |     s3 = 0;
    0x004505e4 b 0x4504c4                    |     goto label_0;
                                             | label_5:
    0x004505e8 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x004505ec sltiu t8, a0, 0x100           |     t8 = (a0 < 0x100) ? 1 : 0;
    0x004505f0 lw v1, 0x24(sp)               |     v1 = *(var_24h);
                                             |     if (t8 == 0) {
    0x004505f4 beqz t8, 0x450784             |         goto label_16;
                                             |     }
    0x004505f8 sltiu t8, v1, 0x100           |     t8 = (v1 < 0x100) ? 1 : 0;
    0x004505fc lw t8, 0x28(sp)               |     t8 = *(var_28h);
                                             |     if (t8 == 0) {
    0x00450600 beqz t8, 0x450784             |         goto label_16;
                                             |     }
    0x00450604 sltiu v0, t8, 0x100           |     v0 = (t8 < 0x100) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00450608 beqz v0, 0x450784             |         goto label_16;
                                             |     }
    0x0045060c nop                           |     
    0x00450610 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00450614 sltiu a1, v0, 0x100           |     a1 = (v0 < 0x100) ? 1 : 0;
    0x00450618 andi a0, a0, 0xff             |     a0 &= 0xff;
                                             |     if (a1 == 0) {
    0x0045061c beqz a1, 0x450784             |         goto label_16;
                                             |     }
    0x00450620 andi v1, v1, 0xff             |     v1 &= 0xff;
    0x00450624 sb a0, 0x34(sp)               |     *(var_34h) = a0;
    0x00450628 andi t8, t8, 0xff             |     t8 &= 0xff;
    0x0045062c sb v1, 0x35(sp)               |     *(var_35h) = v1;
    0x00450630 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x00450634 sb t8, 0x36(sp)               |     *(var_36h) = t8;
    0x00450638 sb v0, 0x37(sp)               |     *(var_37h) = v0;
                                             | label_15:
    0x0045063c sll a0, a0, 0x18              |     a0 <<= 0x18;
    0x00450640 lw t9, -0x7de4(gp)            |     t9 = sym.__bswapsi2;
    0x00450644 andi a1, s5, 0xffff           |     a1 = s5 & 0xffff;
    0x00450648 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x0045064c sll v1, v1, 0x10              |     v1 <<= 0x10;
    0x00450650 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00450654 or v1, a0, v1                 |     v1 = a0 | v1;
    0x00450658 addiu a0, zero, 2             |     a0 = 2;
    0x0045065c srl a1, a1, 8                 |     a1 >>= 8;
    0x00450660 sh a0, 0x20(sp)               |     *(var_20h) = a0;
    0x00450664 sll s5, s5, 8                 |     s5 <<= 8;
    0x00450668 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x0045066c sll a0, t8, 8                 |     a0 = t8 << 8;
    0x00450670 or s5, a1, s5                 |     s5 = a1 | s5;
    0x00450674 or v0, v1, v0                 |     v0 = v1 | v0;
    0x00450678 sh s5, 0x22(sp)               |     *(var_22h) = s5;
    0x0045067c or a0, v0, a0                 |     a0 = v0 | a0;
    0x00450680 jalr t9                       |     t9 ();
    0x00450684 addiu t8, zero, 2             |     t8 = 2;
    0x00450688 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0045068c addiu a0, zero, 2             |     a0 = 2;
    0x00450690 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00450694 lw t9, -0x7698(gp)            |     t9 = sym.imp.socket;
                                             |     if (s6 == t8) {
    0x00450698 beq s6, t8, 0x450710          |         goto label_17;
                                             |     }
    0x0045069c addiu a1, zero, 1             |     a1 = 1;
    0x004506a0 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x004506a4 jalr t9                       |     t9 ();
    0x004506a8 addiu t8, zero, -1            |     t8 = -1;
    0x004506ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004506b0 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == t8) {
    0x004506b4 beq v0, t8, 0x450878          |         goto label_18;
                                             |     }
                                             |     do {
    0x004506b8 lw t9, -0x6cf0(gp)            |         t9 = sym.imp.connect;
    0x004506bc move a0, s0                   |         a0 = s0;
    0x004506c0 move a1, s4                   |         a1 = s4;
    0x004506c4 addiu a2, zero, 0x10          |         a2 = 0x10;
    0x004506c8 jalr t9                       |         t9 ();
    0x004506cc addiu t8, zero, -1            |         t8 = -1;
    0x004506d0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == t8) {
    0x004506d4 beq v0, t8, 0x450890          |             goto label_19;
                                             |         }
    0x004506d8 sw s0, (s7)                   |         *(s7) = s0;
    0x004506dc addiu v0, zero, 1             |         v0 = 1;
                                             | label_1:
    0x004506e0 lw ra, 0x5c(sp)               |         ra = *(var_5ch);
    0x004506e4 lw fp, 0x58(sp)               |         fp = *(var_58h);
    0x004506e8 lw s7, 0x54(sp)               |         s7 = *(var_54h);
    0x004506ec lw s6, 0x50(sp)               |         s6 = *(var_50h);
    0x004506f0 lw s5, 0x4c(sp)               |         s5 = *(var_4ch);
    0x004506f4 lw s4, 0x48(sp)               |         s4 = *(var_48h);
    0x004506f8 lw s3, 0x44(sp)               |         s3 = *(var_44h);
    0x004506fc lw s2, 0x40(sp)               |         s2 = *(var_40h);
    0x00450700 lw s1, 0x3c(sp)               |         s1 = *(var_3ch);
    0x00450704 lw s0, 0x38(sp)               |         s0 = *(var_38h);
    0x00450708 addiu sp, sp, 0x60            |         
    0x0045070c jr ra                         |         return v0;
                                             | label_17:
    0x00450710 addiu a1, zero, 2             |         a1 = 2;
    0x00450714 addiu a2, zero, 6             |         a2 = 6;
    0x00450718 jalr t9                       |         t9 ();
    0x0045071c addiu t8, zero, -1            |         t8 = -1;
    0x00450720 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00450724 move s0, v0                   |         s0 = v0;
                                             |         if (v0 == t8) {
    0x00450728 beq v0, t8, 0x450878          |             goto label_18;
                                             |         }
    0x0045072c lw t9, -0x7950(gp)            |         t9 = sym.imp.setsockopt;
    0x00450730 addiu t8, zero, 4             |         t8 = 4;
    0x00450734 move a0, v0                   |         a0 = v0;
    0x00450738 ori a1, zero, 0xffff          |         a1 = 0xffff;
    0x0045073c sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x00450740 addiu a2, zero, 8             |         a2 = 8;
    0x00450744 addiu a3, sp, 0x30            |         a3 = sp + 0x30;
    0x00450748 sw zero, 0x30(sp)             |         *(var_30h) = 0;
    0x0045074c jalr t9                       |         t9 ();
    0x00450750 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00450754 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x00450758 bgez v0, 0x4506b8             |         
                                             |     } while (v0 >= 0);
    0x0045075c lw t9, -0x76ac(gp)            |     t9 = sym.imp.close;
    0x00450760 move a0, s0                   |     a0 = s0;
    0x00450764 jalr t9                       |     t9 ();
    0x00450768 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0045076c lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00450770 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.keepalive */
    0x00450774 addiu a0, a0, -0x3384         |     a0 += -0x3384;
    0x00450778 jalr t9                       |     t9 ();
    0x0045077c move v0, zero                 |     v0 = 0;
    0x00450780 b 0x4506e0                    |     goto label_1;
                                             | label_16:
    0x00450784 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00450788 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0045078c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00450790 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.invalid_IP_address_n */
    0x00450794 addiu a1, a1, -0x33c4         |     a1 += -0x33c4;
    0x00450798 jalr t9                       |     t9 ();
    0x0045079c move v0, zero                 |     v0 = 0;
    0x004507a0 b 0x4506e0                    |     goto label_1;
                                             | label_13:
    0x004507a4 addiu t8, zero, 0x98          |     t8 = 0x98;
    0x004507a8 move a1, s0                   |     a1 = s0;
    0x004507ac mult s3, t8                   |     __asm ("mult s3, t8");
    0x004507b0 lw t9, -0x7ca0(gp)            |     t9 = sym.imp.memcpy;
    0x004507b4 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x004507b8 mflo s3                       |     __asm ("mflo s3");
    0x004507bc addu t0, s2, s3               |     t0 = s2 + s3;
    0x004507c0 move a0, t0                   |     a0 = t0;
    0x004507c4 jalr t9                       |     t9 ();
    0x004507c8 addiu t8, s3, 0x80            |     t8 = s3 + 0x80;
    0x004507cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004507d0 move t0, v0                   |     t0 = v0;
    0x004507d4 lwl a3, 3(s1)                 |     __asm ("lwl a3, 3(s1)");
    0x004507d8 addu t8, s2, t8               |     t8 = s2 + t8;
    0x004507dc lw a0, -0x7fc8(gp)            |     a0 = *((gp - 8178));
    0x004507e0 move s2, s1                   |     s2 = s1;
    0x004507e4 lwl a2, 7(s1)                 |     __asm ("lwl a2, 7(s1)");
    0x004507e8 lwl a1, 0xb(s1)               |     __asm ("lwl a1, 0xb(s1)");
    0x004507ec lwl v1, 0xf(s1)               |     __asm ("lwl v1, 0xf(s1)");
    0x004507f0 lwl v0, 0x13(s1)              |     __asm ("lwl v0, 0x13(s1)");
    0x004507f4 lw t1, 0x66a4(a0)             |     t1 = *((a0 + 6569));
    0x004507f8 lw a0, 0x66a0(fp)             |     a0 = *(arg_66a0h);
    0x004507fc lwr a3, (s1)                  |     __asm ("lwr a3, (s1)");
    0x00450800 lwr a2, 4(s1)                 |     __asm ("lwr a2, 4(s1)");
    0x00450804 addu a0, t1, a0               |     a0 = t1 + a0;
    0x00450808 lwr a1, 8(s1)                 |     __asm ("lwr a1, 8(s1)");
    0x0045080c lwr v1, 0xc(s1)               |     __asm ("lwr v1, 0xc(s1)");
    0x00450810 lwr v0, 0x10(s1)              |     __asm ("lwr v0, 0x10(s1)");
    0x00450814 sw a3, (t8)                   |     *(t8) = a3;
    0x00450818 sw a2, 4(t8)                  |     *((t8 + 4)) = a2;
    0x0045081c sw a1, 8(t8)                  |     *((t8 + 8)) = a1;
    0x00450820 sw v1, 0xc(t8)                |     *((t8 + 12)) = v1;
    0x00450824 sw v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x00450828 sw a0, 0x94(t0)               |     *((t0 + 37)) = a0;
    0x0045082c b 0x450598                    |     goto label_2;
                                             | label_14:
    0x00450830 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00450834 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00450838 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.gethostbyname_addr_is_not_AF_INET_n */
    0x0045083c addiu a1, a1, -0x33b0         |     a1 += -0x33b0;
    0x00450840 jalr t9                       |     t9 ();
    0x00450844 move v0, zero                 |     v0 = 0;
                                             | label_4:
    0x00450848 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x0045084c lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x00450850 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x00450854 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x00450858 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0045085c lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x00450860 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x00450864 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x00450868 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0045086c lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x00450870 addiu sp, sp, 0x60            |     
    0x00450874 jr ra                         |     return v0;
                                             | label_18:
    0x00450878 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x0045087c lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.socket */
    0x00450880 addiu a0, a0, -0x338c         |     a0 += -0x338c;
    0x00450884 jalr t9                       |     t9 ();
    0x00450888 move v0, zero                 |     v0 = 0;
    0x0045088c b 0x4506e0                    |     goto label_1;
                                             | label_19:
    0x00450890 lw t9, -0x76ac(gp)            |     t9 = sym.imp.close;
    0x00450894 move a0, s0                   |     a0 = s0;
    0x00450898 jalr t9                       |     t9 ();
    0x0045089c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004508a0 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x004508a4 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* esilref: 'connect' */
    0x004508a8 addiu a0, a0, -0x4250         |     a0 += -0x4250;
    0x004508ac jalr t9                       |     t9 ();
    0x004508b0 move v0, zero                 |     v0 = 0;
    0x004508b4 b 0x4506e0                    |     goto label_1;
                                             | label_7:
    0x004508b8 move v1, zero                 |     v1 = 0;
                                             |     do {
                                             | label_3:
    0x004508bc addiu v0, zero, 0x98          |         v0 = 0x98;
    0x004508c0 lw t8, -0x7fc8(gp)            |         t8 = *((gp - 8178));
    0x004508c4 mult v1, v0                   |         __asm ("mult v1, v0");
    0x004508c8 lw a0, -0x7fc8(gp)            |         a0 = *((gp - 8178));
    0x004508cc lw v0, 0x66a4(t8)             |         v0 = *((t8 + 6569));
    0x004508d0 lw a1, 0x66a0(a0)             |         a1 = *((a0 + 6568));
    0x004508d4 mflo v1                       |         __asm ("mflo v1");
    0x004508d8 addiu v0, v0, 1               |         v0++;
    0x004508dc addu a0, s2, v1               |         a0 = s2 + v1;
    0x004508e0 addu a1, v0, a1               |         a1 = v0 + a1;
    0x004508e4 addiu v1, v1, 0x80            |         v1 += 0x80;
    0x004508e8 sw v0, 0x66a4(t8)             |         *((t8 + 26276)) = v0;
    0x004508ec addu s2, s2, v1               |         s2 += v1;
    0x004508f0 sw a1, 0x94(a0)               |         *((a0 + 37)) = a1;
    0x004508f4 b 0x450598                    |         goto label_2;
                                             | label_9:
    0x004508f8 addiu v1, zero, 1             |         v1 = 1;
    0x004508fc b 0x4508bc                    |         
                                             |     } while (1);
                                             | label_10:
    0x00450900 addiu v1, zero, 2             |     v1 = 2;
    0x00450904 b 0x4508bc                    |     goto label_3;
                                             | label_11:
    0x00450908 addiu v1, zero, 3             |     v1 = 3;
    0x0045090c b 0x4508bc                    |     goto label_3;
                                             | label_12:
    0x00450910 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00450914 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00450918 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0045091c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.gethostbyname_failure_n */
    0x00450920 addiu a1, a1, -0x3378         |     a1 += -0x3378;
    0x00450924 jalr t9                       |     t9 ();
    0x00450928 move v0, zero                 |     v0 = 0;
    0x0045092c b 0x450848                    |     goto label_4;
                                             | label_8:
    0x00450930 move s1, s3                   |     s1 = s3;
    0x00450934 move s3, zero                 |     s3 = 0;
    0x00450938 b 0x4504c4                    |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x42f11c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.init_gen_str ()              | void init_gen_str () {
    0x0042f11c lui gp, 7                     |     
    0x0042f120 addiu gp, gp, -0x2c7c         |     
    0x0042f124 addu gp, gp, t9               |     gp += t9;
    0x0042f128 addiu sp, sp, -0x40           |     
    0x0042f12c sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0042f130 sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x0042f134 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x0042f138 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0042f13c sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0042f140 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0042f144 move s0, a1                   |     s0 = a1;
    0x0042f148 lw t8, (a1)                   |     t8 = *(a1);
    0x0042f14c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0042f150 sw zero, 0x24(sp)             |     *(var_24h) = 0;
                                             |     if (t8 != 0) {
    0x0042f154 beqz t8, 0x42f18c             |         
    0x0042f158 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0042f15c lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         /* str.Algorithm_already_set__n */
    0x0042f160 addiu a1, a1, 0x54f4          |         a1 += 0x54f4;
    0x0042f164 jalr t9                       |         t9 ();
    0x0042f168 move v0, zero                 |         v0 = 0;
                                             | label_0:
    0x0042f16c lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0042f170 lw s4, 0x38(sp)               |         s4 = *(var_38h);
    0x0042f174 lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x0042f178 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x0042f17c lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x0042f180 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x0042f184 addiu sp, sp, 0x40            |         
    0x0042f188 jr ra                         |         return v0;
                                             |     }
    0x0042f18c lw t9, -0x7b8c(gp)            |     t9 = sym.imp.EVP_PKEY_asn1_find_str;
    0x0042f190 move a1, a2                   |     a1 = a2;
    0x0042f194 move s3, a0                   |     s3 = a0;
    0x0042f198 addiu a0, sp, 0x24            |     a0 = sp + 0x24;
    0x0042f19c move s1, a2                   |     s1 = a2;
    0x0042f1a0 addiu a2, zero, -1            |     a2 = -1;
    0x0042f1a4 move s2, a3                   |     s2 = a3;
    0x0042f1a8 jalr t9                       |     t9 ();
    0x0042f1ac move s4, v0                   |     s4 = v0;
    0x0042f1b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0042f1b4 beqz v0, 0x42f2b8             |         goto label_2;
                                             |     }
                                             | label_1:
    0x0042f1b8 lw t9, -0x7464(gp)            |     t9 = sym.imp.ERR_clear_error;
    0x0042f1bc jalr t9                       |     t9 ();
    0x0042f1c0 nop                           |     
    0x0042f1c4 addiu a0, sp, 0x20            |     a0 = sp + 0x20;
    0x0042f1c8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0042f1cc move a1, zero                 |     a1 = 0;
    0x0042f1d0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0042f1d4 move a2, zero                 |     a2 = 0;
    0x0042f1d8 lw t9, -0x7964(gp)            |     t9 = sym.imp.EVP_PKEY_asn1_get0_info;
    0x0042f1dc move a3, zero                 |     a3 = 0;
    0x0042f1e0 sw s4, 0x14(sp)               |     *(var_14h) = s4;
    0x0042f1e4 jalr t9                       |     t9 ();
    0x0042f1e8 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x0042f1ec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != 0) {
    0x0042f1f0 beqz a0, 0x42f204             |         
    0x0042f1f4 lw t9, -0x7028(gp)            |         t9 = sym.imp.ENGINE_finish;
    0x0042f1f8 jalr t9                       |         t9 ();
    0x0042f1fc nop                           |         
    0x0042f200 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0042f204 lw t9, -0x7324(gp)            |     t9 = sym.imp.EVP_PKEY_CTX_new_id;
    0x0042f208 move a1, s2                   |     a1 = s2;
    0x0042f20c lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0042f210 jalr t9                       |     t9 ();
    0x0042f214 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0042f218 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x0042f21c beqz v0, 0x42f300             |         goto label_3;
                                             |     }
    0x0042f220 lw t8, 0x50(sp)               |     t8 = *(arg_50h);
    0x0042f224 lw t9, -0x7c48(gp)            |     t9 = sym.imp.EVP_PKEY_keygen_init;
                                             |     if (t8 == 0) {
    0x0042f228 beqz t8, 0x42f268             |         goto label_4;
                                             |     }
    0x0042f22c lw t9, -0x7614(gp)            |     t9 = sym.imp.EVP_PKEY_paramgen_init;
    0x0042f230 move a0, v0                   |     a0 = v0;
    0x0042f234 jalr t9                       |     t9 ();
    0x0042f238 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x0042f23c blez v0, 0x42f278             |         goto label_5;
                                             |     }
                                             |     do {
    0x0042f240 sw s2, (s0)                   |         *(s0) = s2;
    0x0042f244 addiu v0, zero, 1             |         v0 = 1;
    0x0042f248 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0042f24c lw s4, 0x38(sp)               |         s4 = *(var_38h);
    0x0042f250 lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x0042f254 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x0042f258 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x0042f25c lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x0042f260 addiu sp, sp, 0x40            |         
    0x0042f264 jr ra                         |         return v0;
                                             | label_4:
    0x0042f268 move a0, v0                   |         a0 = v0;
    0x0042f26c jalr t9                       |         t9 ();
    0x0042f270 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0042f274 bgtz v0, 0x42f240             |         
                                             |     } while (v0 > 0);
                                             | label_5:
    0x0042f278 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0042f27c move a2, s1                   |     a2 = s1;
    0x0042f280 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0042f284 move a0, s3                   |     a0 = s3;
                                             |     /* str.Error_initializing__s_context_n */
    0x0042f288 addiu a1, a1, 0x5524          |     a1 += 0x5524;
    0x0042f28c jalr t9                       |     t9 ();
    0x0042f290 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0042f294 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0042f298 move a0, s3                   |     a0 = s3;
    0x0042f29c jalr t9                       |     t9 ();
    0x0042f2a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0042f2a4 lw t9, -0x7288(gp)            |     t9 = sym.imp.EVP_PKEY_CTX_free;
    0x0042f2a8 move a0, s2                   |     a0 = s2;
    0x0042f2ac jalr t9                       |     t9 ();
    0x0042f2b0 move v0, zero                 |     v0 = 0;
    0x0042f2b4 b 0x42f16c                    |     goto label_0;
                                             | label_2:
    0x0042f2b8 lw t9, -0x74b8(gp)            |     t9 = sym.imp.ENGINE_get_pkey_asn1_meth_str;
                                             |     if (s2 == 0) {
    0x0042f2bc beqz s2, 0x42f2dc             |         goto label_6;
                                             |     }
    0x0042f2c0 move a0, s2                   |     a0 = s2;
    0x0042f2c4 move a1, s1                   |     a1 = s1;
    0x0042f2c8 addiu a2, zero, -1            |     a2 = -1;
    0x0042f2cc jalr t9                       |     t9 ();
    0x0042f2d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0042f2d4 move s4, v0                   |     s4 = v0;
                                             |     if (v0 != 0) {
    0x0042f2d8 bnez v0, 0x42f1b8             |         goto label_1;
                                             |     }
                                             | label_6:
    0x0042f2dc lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0042f2e0 move a2, s1                   |     a2 = s1;
    0x0042f2e4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0042f2e8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0042f2ec lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Algorithm__s_not_found_n */
    0x0042f2f0 addiu a1, a1, 0x550c          |     a1 += 0x550c;
    0x0042f2f4 jalr t9                       |     t9 ();
    0x0042f2f8 move v0, zero                 |     v0 = 0;
    0x0042f2fc b 0x42f16c                    |     goto label_0;
                                             | label_3:
    0x0042f300 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0042f304 move a0, s3                   |     a0 = s3;
    0x0042f308 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0042f30c move a2, s1                   |     a2 = s1;
                                             |     /* str.Error_initializing__s_context_n */
    0x0042f310 addiu a1, a1, 0x5524          |     a1 += 0x5524;
    0x0042f314 jalr t9                       |     t9 ();
    0x0042f318 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0042f31c lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0042f320 move a0, s3                   |     a0 = s3;
    0x0042f324 jalr t9                       |     t9 ();
    0x0042f328 move v0, zero                 |     v0 = 0;
    0x0042f32c b 0x42f16c                    |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x447a44 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_cert_crl_http ()        | void load_cert_crl_http () {
    0x00447a44 lui gp, 5                     |     
    0x00447a48 addiu gp, gp, 0x4a5c          |     
    0x00447a4c addu gp, gp, t9               |     gp += t9;
    0x00447a50 addiu sp, sp, -0x58           |     
    0x00447a54 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x00447a58 sw s7, 0x50(sp)               |     *(var_50h) = s7;
    0x00447a5c sw s6, 0x4c(sp)               |     *(var_4ch) = s6;
    0x00447a60 sw s5, 0x48(sp)               |     *(var_48h) = s5;
    0x00447a64 sw s4, 0x44(sp)               |     *(var_44h) = s4;
    0x00447a68 sw s3, 0x40(sp)               |     *(var_40h) = s3;
    0x00447a6c sw s2, 0x3c(sp)               |     *(var_3ch) = s2;
    0x00447a70 sw s1, 0x38(sp)               |     *(var_38h) = s1;
    0x00447a74 sw s0, 0x34(sp)               |     *(var_34h) = s0;
    0x00447a78 addiu t8, sp, 0x20            |     t8 = sp + 0x20;
    0x00447a7c lw t9, -0x7c90(gp)            |     t9 = sym.imp.OCSP_parse_url;
    0x00447a80 move s3, a1                   |     s3 = a1;
    0x00447a84 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00447a88 move s4, a2                   |     s4 = a2;
    0x00447a8c sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x00447a90 addiu a1, sp, 0x2c            |     a1 = sp + 0x2c;
    0x00447a94 move s6, a3                   |     s6 = a3;
    0x00447a98 addiu a2, sp, 0x28            |     a2 = sp + 0x28;
    0x00447a9c addiu a3, sp, 0x24            |     a3 = sp + 0x24;
    0x00447aa0 move s5, a0                   |     s5 = a0;
    0x00447aa4 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00447aa8 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00447aac sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00447ab0 jalr t9                       |     t9 ();
    0x00447ab4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00447ab8 beqz v0, 0x447ae4             |         goto label_4;
                                             |     }
    0x00447abc lw t8, 0x20(sp)               |     t8 = *(var_20h);
    0x00447ac0 lw t9, -0x7574(gp)            |     t9 = sym.imp.BIO_new_connect;
                                             |     if (t8 == 0) {
    0x00447ac4 beqz t8, 0x447be0             |         goto label_5;
                                             |     }
    0x00447ac8 move a0, s3                   |     a0 = s3;
                                             |     if (s3 == 0) {
    0x00447acc beqz s3, 0x447ae4             |         goto label_4;
                                             |     }
    0x00447ad0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447ad4 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.https_not_supported_n */
    0x00447ad8 addiu a1, a1, -0x5108         |     a1 += -0x5108;
    0x00447adc jalr t9                       |     t9 ();
    0x00447ae0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
                                             | label_4:
    0x00447ae4 move s1, zero                 |         s1 = 0;
    0x00447ae8 move s2, zero                 |         s2 = 0;
    0x00447aec move s0, zero                 |         s0 = 0;
                                             | label_0:
    0x00447af0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
                                             | label_3:
    0x00447af4 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (a0 != 0) {
    0x00447af8 beqz a0, 0x447b08             |             
    0x00447afc jalr t9                       |             t9 ();
    0x00447b00 nop                           |             
    0x00447b04 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b08 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x00447b0c lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (a0 != 0) {
    0x00447b10 beqz a0, 0x447b20             |             
    0x00447b14 jalr t9                       |             t9 ();
    0x00447b18 nop                           |             
    0x00447b1c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b20 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00447b24 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (a0 != 0) {
    0x00447b28 beqz a0, 0x447b38             |             
    0x00447b2c jalr t9                       |             t9 ();
    0x00447b30 nop                           |             
    0x00447b34 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b38 lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
                                             |         if (s0 != 0) {
    0x00447b3c beqz s0, 0x447b4c             |             
    0x00447b40 move a0, s0                   |             a0 = s0;
    0x00447b44 jalr t9                       |             t9 ();
    0x00447b48 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b4c lw t9, -0x7ac0(gp)            |         t9 = sym.imp.OCSP_REQ_CTX_free;
                                             |         if (s2 != 0) {
    0x00447b50 beqz s2, 0x447b60             |             
    0x00447b54 move a0, s2                   |             a0 = s2;
    0x00447b58 jalr t9                       |             t9 ();
    0x00447b5c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b60 addiu t8, zero, 1             |         t8 = 1;
    0x00447b64 move v0, s1                   |         v0 = s1;
                                             |         if (s1 != t8) {
    0x00447b68 beq s1, t8, 0x447bb4          |             
    0x00447b6c lw t9, -0x7048(gp)            |             t9 = sym.imp.ERR_print_errors;
                                             |             if (s0 == 0) {
    0x00447b70 beqz s0, 0x447c2c             |                 goto label_6;
                                             |             }
    0x00447b74 lw s0, -0x7fd4(gp)            |             s0 = *(gp);
                                             |             if (s3 != 0) {
    0x00447b78 beqz s3, 0x447ba8             |                 
    0x00447b7c lw a0, (s0)                   |                 a0 = *(s0);
                                             |                 if (s4 == 0) {
    0x00447b80 beqz s4, 0x447c20             |                     goto label_7;
                                             |                 }
    0x00447b84 lw a2, -0x7fd8(gp)            |                 a2 = *(gp);
                                             |                 /* str.certificate */
    0x00447b88 addiu a2, a2, 0xbf4           |                 a2 += 0xbf4;
                                             | label_1:
    0x00447b8c lw a1, -0x7f9c(gp)            |                 a1 = *(gp);
    0x00447b90 move a3, s5                   |                 a3 = s5;
    0x00447b94 lw t9, -0x780c(gp)            |                 t9 = sym.imp.BIO_printf
                                             |                 /* str.Error_loading__s_from__s_n */
    0x00447b98 addiu a1, a1, -0x50e4         |                 a1 += -0x50e4;
    0x00447b9c jalr t9                       |                 t9 ();
    0x00447ba0 lw gp, 0x18(sp)               |                 gp = *(var_18h);
    0x00447ba4 lw t9, -0x7048(gp)            |                 t9 = sym.imp.ERR_print_errors;
                                             |             }
    0x00447ba8 lw a0, (s0)                   |             a0 = *(s0);
    0x00447bac jalr t9                       |             t9 ();
    0x00447bb0 move v0, s1                   |             v0 = s1;
                                             |         }
                                             | label_2:
    0x00447bb4 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x00447bb8 lw s7, 0x50(sp)               |         s7 = *(var_50h);
    0x00447bbc lw s6, 0x4c(sp)               |         s6 = *(var_4ch);
    0x00447bc0 lw s5, 0x48(sp)               |         s5 = *(var_48h);
    0x00447bc4 lw s4, 0x44(sp)               |         s4 = *(var_44h);
    0x00447bc8 lw s3, 0x40(sp)               |         s3 = *(var_40h);
    0x00447bcc lw s2, 0x3c(sp)               |         s2 = *(var_3ch);
    0x00447bd0 lw s1, 0x38(sp)               |         s1 = *(var_38h);
    0x00447bd4 lw s0, 0x34(sp)               |         s0 = *(var_34h);
    0x00447bd8 addiu sp, sp, 0x58            |         
    0x00447bdc jr ra                         |         return v0;
                                             | label_5:
    0x00447be0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x00447be4 jalr t9                       |         t9 ();
    0x00447be8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447bec move s0, v0                   |         s0 = v0;
    0x00447bf0 beqz v0, 0x447ae4             |         
                                             |     } while (v0 == 0);
    0x00447bf4 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x00447bf8 move a0, v0                   |     a0 = v0;
    0x00447bfc lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00447c00 addiu a1, zero, 0x64          |     a1 = 0x64;
    0x00447c04 addiu a2, zero, 1             |     a2 = 1;
    0x00447c08 jalr t9                       |     t9 ();
    0x00447c0c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00447c10 bnez v0, 0x447c40             |         
    0x00447c14 move s1, zero                 |         s1 = 0;
    0x00447c18 move s2, zero                 |         s2 = 0;
    0x00447c1c b 0x447af0                    |         goto label_0;
                                             | label_7:
    0x00447c20 lw a2, -0x7f9c(gp)            |         a2 = *(gp);
                                             |         /* esilref: 'CRL' */
    0x00447c24 addiu a2, a2, -0x510c         |         a2 += -0x510c;
    0x00447c28 b 0x447b8c                    |         goto label_1;
                                             | label_6:
    0x00447c2c lw s0, -0x7fd4(gp)            |         s0 = *(gp);
    0x00447c30 lw a0, (s0)                   |         a0 = *(s0);
    0x00447c34 jalr t9                       |         t9 ();
    0x00447c38 move v0, s1                   |         v0 = s1;
    0x00447c3c b 0x447bb4                    |         goto label_2;
                                             |     }
    0x00447c40 lw t9, -0x7c64(gp)            |     t9 = sym.imp.OCSP_REQ_CTX_new;
    0x00447c44 move a0, s0                   |     a0 = s0;
    0x00447c48 addiu a1, zero, 0x400         |     a1 = 0x400;
    0x00447c4c jalr t9                       |     t9 ();
    0x00447c50 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00447c54 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x00447c58 beqz v0, 0x447c7c             |         goto label_8;
                                             |     }
    0x00447c5c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447c60 move a0, v0                   |     a0 = v0;
    0x00447c64 lw t9, -0x6d34(gp)            |     t9 = sym.imp.OCSP_REQ_CTX_http;
    0x00447c68 lw a2, 0x24(sp)               |     a2 = *(var_24h);
                                             |     /* esilref: 'GET' */
    0x00447c6c addiu a1, a1, -0x50f0         |     a1 += -0x50f0;
    0x00447c70 jalr t9                       |     t9 ();
    0x00447c74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00447c78 bnez v0, 0x447c84             |     
                                             |     while (v0 == 0) {
                                             | label_8:
    0x00447c7c move s1, zero                 |         s1 = 0;
    0x00447c80 b 0x447af0                    |         goto label_0;
    0x00447c84 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00447c88 move a0, s2                   |         a0 = s2;
    0x00447c8c lw t9, -0x6d08(gp)            |         t9 = sym.imp.OCSP_REQ_CTX_add1_header;
    0x00447c90 lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
                                             |         /* str.Host */
    0x00447c94 addiu a1, a1, -0x50ec         |         a1 += -0x50ec;
    0x00447c98 jalr t9                       |         t9 ();
    0x00447c9c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447ca0 beqz v0, 0x447c7c             |         
                                             |     }
    0x00447ca4 addiu s7, zero, -1            |     s7 = -1;
                                             |     if (s4 == 0) {
    0x00447ca8 beqz s4, 0x447cd4             |         goto label_9;
                                             |     }
    0x00447cac addiu s6, zero, -1            |     s6 = -1;
                                             |     do {
    0x00447cb0 lw t9, -0x79b8(gp)            |         t9 = sym.imp.X509_http_nbio;
    0x00447cb4 move a0, s2                   |         a0 = s2;
    0x00447cb8 move a1, s4                   |         a1 = s4;
    0x00447cbc jalr t9                       |         t9 ();
    0x00447cc0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447cc4 move s1, v0                   |         s1 = v0;
    0x00447cc8 beq v0, s6, 0x447cb0          |         
                                             |     } while (v0 == s6);
    0x00447ccc lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00447cd0 b 0x447af4                    |     goto label_3;
                                             |     do {
                                             | label_9:
    0x00447cd4 lw t9, -0x7960(gp)            |         t9 = sym.imp.X509_CRL_http_nbio;
    0x00447cd8 move a0, s2                   |         a0 = s2;
    0x00447cdc move a1, s6                   |         a1 = s6;
    0x00447ce0 jalr t9                       |         t9 ();
    0x00447ce4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447ce8 move s1, v0                   |         s1 = v0;
    0x00447cec beq v0, s7, 0x447cd4          |         
                                             |     } while (v0 == s7);
    0x00447cf0 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00447cf4 b 0x447af4                    |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x447cf8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_cert ()                 | void load_cert () {
    0x00447cf8 lui gp, 5                     |     
    0x00447cfc addiu gp, gp, 0x47a8          |     
    0x00447d00 addu gp, gp, t9               |     gp += t9;
    0x00447d04 addiu sp, sp, -0x48           |     
    0x00447d08 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x00447d0c sw s3, 0x40(sp)               |     *(var_40h) = s3;
    0x00447d10 sw s2, 0x3c(sp)               |     *(var_3ch) = s2;
    0x00447d14 sw s1, 0x38(sp)               |     *(var_38h) = s1;
    0x00447d18 sw s0, 0x34(sp)               |     *(var_34h) = s0;
    0x00447d1c addiu t8, zero, 0xd           |     t8 = 0xd;
    0x00447d20 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00447d24 move s0, a2                   |     s0 = a2;
    0x00447d28 move s3, a0                   |     s3 = a0;
    0x00447d2c sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00447d30 move s2, a1                   |     s2 = a1;
                                             |     if (a2 == t8) {
    0x00447d34 beq a2, t8, 0x447e9c          |         goto label_3;
                                             |     }
    0x00447d38 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x00447d3c jalr t9                       |     t9 ();
    0x00447d40 nop                           |     
    0x00447d44 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447d48 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00447d4c move a0, v0                   |     a0 = v0;
    0x00447d50 jalr t9                       |     t9 ();
    0x00447d54 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447d58 move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00447d5c beqz v0, 0x447fe4             |         goto label_4;
                                             |     }
    0x00447d60 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (s2 == 0) {
    0x00447d64 beqz s2, 0x447f14             |         goto label_5;
                                             |     }
    0x00447d68 move a0, v0                   |     a0 = v0;
    0x00447d6c addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x00447d70 addiu a2, zero, 3             |     a2 = 3;
    0x00447d74 move a3, s2                   |     a3 = s2;
    0x00447d78 jalr t9                       |     t9 ();
    0x00447d7c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 <= 0) {
    0x00447d80 blez v0, 0x447f78             |         goto label_6;
                                             |     }
                                             | label_2:
    0x00447d84 addiu t8, zero, 1             |     t8 = 1;
    0x00447d88 addiu t8, zero, 4             |     t8 = 4;
                                             |     if (s0 == t8) {
    0x00447d8c beq s0, t8, 0x447f54          |         goto label_7;
                                             |     }
    0x00447d90 addiu t8, zero, 3             |     t8 = 3;
                                             |     if (s0 == t8) {
    0x00447d94 beq s0, t8, 0x447dfc          |         goto label_8;
                                             |     }
    0x00447d98 addiu t8, zero, 5             |     t8 = 5;
                                             |     if (s0 == t8) {
    0x00447d9c beq s0, t8, 0x447fb8          |         goto label_9;
                                             |     }
    0x00447da0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     if (s0 == t8) {
    0x00447da4 beq s0, t8, 0x447ed4          |         goto label_10;
                                             |     }
    0x00447da8 move a0, s3                   |     a0 = s3;
    0x00447dac lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00447db0 lw a2, 0x5c(sp)               |     a2 = *(arg_5ch);
                                             |     /* str.bad_input_format_specified_for__s_n */
    0x00447db4 addiu a1, a1, -0x5088         |     a1 += -0x5088;
    0x00447db8 jalr t9                       |     t9 ();
    0x00447dbc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     do {
    0x00447dc0 lw v0, 0x28(sp)               |         v0 = *(var_28h);
                                             |         if (v0 == 0) {
    0x00447dc4 beqz v0, 0x447e70             |             goto label_11;
                                             |         }
    0x00447dc8 nop                           |         
                                             | label_0:
    0x00447dcc lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
                                             |         if (s1 != 0) {
    0x00447dd0 beqz s1, 0x447ddc             |             
    0x00447dd4 move a0, s1                   |             a0 = s1;
    0x00447dd8 jalr t9                       |             t9 ();
                                             |         }
    0x00447ddc lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x00447de0 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x00447de4 lw s3, 0x40(sp)               |         s3 = *(var_40h);
    0x00447de8 lw s2, 0x3c(sp)               |         s2 = *(var_3ch);
    0x00447dec lw s1, 0x38(sp)               |         s1 = *(var_38h);
    0x00447df0 lw s0, 0x34(sp)               |         s0 = *(var_34h);
    0x00447df4 addiu sp, sp, 0x48            |         
    0x00447df8 jr ra                         |         return v0;
                                             | label_8:
    0x00447dfc lw t9, -0x7538(gp)            |         t9 = sym.imp.ASN1_item_d2i_bio;
    0x00447e00 move a1, s1                   |         a1 = s1;
    0x00447e04 lw a0, -0x7764(gp)            |         a0 = *((gp - 7641));
    0x00447e08 move a2, zero                 |         a2 = 0;
    0x00447e0c jalr t9                       |         t9 ();
    0x00447e10 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00447e14 move s0, v0                   |         s0 = v0;
    0x00447e18 beqz v0, 0x447dc0             |         
                                             |     } while (v0 == 0);
    0x00447e1c lw t8, (v0)                   |     t8 = *(v0);
    0x00447e20 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x00447e24 lw t9, -0x7000(gp)            |     t9 = sym.imp.strncmp;
    0x00447e28 lw a1, 8(t8)                  |     a1 = *((t8 + 2));
                                             |     /* str.certificate */
    0x00447e2c addiu a0, a0, 0xbf4           |     a0 += 0xbf4;
    0x00447e30 lw a2, (t8)                   |     a2 = *(t8);
    0x00447e34 jalr t9                       |     t9 ();
    0x00447e38 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00447e3c beqz v0, 0x448004             |         goto label_12;
                                             |     }
    0x00447e40 lw t9, -0x6cdc(gp)            |     t9 = sym.imp.NETSCAPE_X509_free;
    0x00447e44 move a0, s0                   |     a0 = s0;
    0x00447e48 jalr t9                       |     t9 ();
    0x00447e4c move a0, s3                   |     a0 = s3;
    0x00447e50 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447e54 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447e58 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Error_reading_header_on_certificate_n */
    0x00447e5c addiu a1, a1, -0x50b0         |     a1 += -0x50b0;
    0x00447e60 jalr t9                       |     t9 ();
    0x00447e64 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x00447e68 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00447e6c bnez v0, 0x447dcc             |         goto label_0;
                                             |     }
                                             | label_11:
    0x00447e70 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             | label_1:
    0x00447e74 move a0, s3                   |     a0 = s3;
    0x00447e78 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.unable_to_load_certificate_n */
    0x00447e7c addiu a1, a1, -0x5064         |     a1 += -0x5064;
    0x00447e80 jalr t9                       |     t9 ();
    0x00447e84 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447e88 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00447e8c move a0, s3                   |     a0 = s3;
    0x00447e90 jalr t9                       |     t9 ();
    0x00447e94 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447e98 b 0x447dcc                    |     goto label_0;
                                             | label_3:
    0x00447e9c lw t9, -0x7df8(gp)            |     t9 = sym.load_cert_crl_http;
    0x00447ea0 move a0, a1                   |     a0 = a1;
    0x00447ea4 addiu a2, sp, 0x28            |     a2 = sp + 0x28;
    0x00447ea8 move a1, s3                   |     a1 = s3;
    0x00447eac move a3, zero                 |     a3 = 0;
    0x00447eb0 jalr t9                       |     t9 ();
    0x00447eb4 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x00447eb8 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x00447ebc lw s3, 0x40(sp)               |     s3 = *(var_40h);
    0x00447ec0 lw s2, 0x3c(sp)               |     s2 = *(var_3ch);
    0x00447ec4 lw s1, 0x38(sp)               |     s1 = *(var_38h);
    0x00447ec8 lw s0, 0x34(sp)               |     s0 = *(var_34h);
    0x00447ecc addiu sp, sp, 0x48            |     
    0x00447ed0 jr ra                         |     return v0;
                                             | label_10:
    0x00447ed4 lw t9, -0x7e1c(gp)            |     t9 = *((gp - 8071));
    0x00447ed8 addiu t8, sp, 0x28            |     t8 = sp + 0x28;
    0x00447edc lw a2, 0x5c(sp)               |     a2 = *(arg_5ch);
    0x00447ee0 move a0, s3                   |     a0 = s3;
    0x00447ee4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00447ee8 move a1, s1                   |     a1 = s1;
    0x00447eec sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00447ef0 move a3, zero                 |     a3 = 0;
                                             |     /* fcn.00446d4c */
    0x00447ef4 addiu t9, t9, 0x6d4c          |     t9 += 0x6d4c;
    0x00447ef8 sw t8, 0x18(sp)               |     *(var_18h) = t8;
    0x00447efc jalr t9                       |     t9 ();
    0x00447f00 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x00447f04 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00447f08 bnez v0, 0x447dcc             |         goto label_0;
                                             |     }
    0x00447f0c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447f10 b 0x447e74                    |     goto label_1;
                                             | label_5:
    0x00447f14 lw s2, -0x7bbc(gp)            |     s2 = *((gp - 7919));
    0x00447f18 move a1, zero                 |     a1 = 0;
    0x00447f1c lw t9, -0x6c20(gp)            |     t9 = sym.imp.setvbuf;
    0x00447f20 addiu a2, zero, 2             |     a2 = 2;
    0x00447f24 lw a0, (s2)                   |     a0 = *(s2);
    0x00447f28 move a3, zero                 |     a3 = 0;
    0x00447f2c jalr t9                       |     t9 ();
    0x00447f30 move a0, s1                   |     a0 = s1;
    0x00447f34 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447f38 addiu a1, zero, 0x6a          |     a1 = 0x6a;
    0x00447f3c lw a3, (s2)                   |     a3 = *(s2);
    0x00447f40 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x00447f44 move a2, zero                 |     a2 = 0;
    0x00447f48 jalr t9                       |     t9 ();
    0x00447f4c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447f50 b 0x447d84                    |     goto label_2;
                                             | label_7:
    0x00447f54 lw t9, -0x7cd4(gp)            |     t9 = sym.imp.d2i_X509_bio;
    0x00447f58 move a0, s1                   |     a0 = s1;
    0x00447f5c move a1, zero                 |     a1 = 0;
    0x00447f60 jalr t9                       |     t9 ();
    0x00447f64 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447f68 sw v0, 0x28(sp)               |     *(var_28h) = v0;
                                             |     if (v0 != 0) {
    0x00447f6c bnez v0, 0x447dcc             |         goto label_0;
                                             |     }
    0x00447f70 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447f74 b 0x447e74                    |     goto label_1;
                                             | label_6:
    0x00447f78 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447f7c move a0, s3                   |     a0 = s3;
    0x00447f80 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00447f84 move a3, s2                   |     a3 = s2;
    0x00447f88 lw a2, 0x5c(sp)               |     a2 = *(arg_5ch);
                                             |     /* str.Error_opening__s__s_n */
    0x00447f8c addiu a1, a1, -0x50c8         |     a1 += -0x50c8;
    0x00447f90 jalr t9                       |     t9 ();
    0x00447f94 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447f98 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00447f9c move a0, s3                   |     a0 = s3;
    0x00447fa0 jalr t9                       |     t9 ();
    0x00447fa4 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x00447fa8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00447fac bnez v0, 0x447dcc             |         goto label_0;
                                             |     }
    0x00447fb0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447fb4 b 0x447e74                    |     goto label_1;
                                             | label_9:
    0x00447fb8 lw t9, -0x7b68(gp)            |     t9 = sym.imp.PEM_read_bio_X509_AUX;
    0x00447fbc move a0, s1                   |     a0 = s1;
    0x00447fc0 lw a2, -0x7e2c(gp)            |     a2 = sym.password_callback;
    0x00447fc4 move a1, zero                 |     a1 = 0;
    0x00447fc8 move a3, zero                 |     a3 = 0;
    0x00447fcc jalr t9                       |     t9 ();
    0x00447fd0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00447fd4 sw v0, 0x28(sp)               |     *(var_28h) = v0;
                                             |     if (v0 != 0) {
    0x00447fd8 bnez v0, 0x447dcc             |         goto label_0;
                                             |     }
    0x00447fdc lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447fe0 b 0x447e74                    |     goto label_1;
                                             | label_4:
    0x00447fe4 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00447fe8 move a0, s3                   |     a0 = s3;
    0x00447fec jalr t9                       |     t9 ();
    0x00447ff0 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x00447ff4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00447ff8 bnez v0, 0x447dcc             |         goto label_0;
                                             |     }
    0x00447ffc lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448000 b 0x447e74                    |     goto label_1;
                                             | label_12:
    0x00448004 lw t8, 4(s0)                  |     t8 = *((s0 + 1));
    0x00448008 move a0, s0                   |     a0 = s0;
    0x0044800c lw t9, -0x6cdc(gp)            |     t9 = sym.imp.NETSCAPE_X509_free;
    0x00448010 sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x00448014 sw t8, 0x28(sp)               |     *(var_28h) = t8;
    0x00448018 jalr t9                       |     t9 ();
    0x0044801c lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x00448020 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00448024 bnez v0, 0x447dcc             |         goto label_0;
                                             |     }
    0x00448028 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044802c b 0x447e74                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448b5c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_certs ()                | void load_certs () {
    0x00448b5c lui gp, 5                     |     
    0x00448b60 addiu gp, gp, 0x3944          |     
    0x00448b64 addu gp, gp, t9               |     gp += t9;
    0x00448b68 addiu sp, sp, -0x38           |     
    0x00448b6c sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00448b70 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x00448b74 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x00448b78 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00448b7c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x00448b80 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00448b84 addiu t8, zero, 3             |     t8 = 3;
    0x00448b88 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00448b8c move s0, a1                   |     s0 = a1;
    0x00448b90 sw a3, 0x18(sp)               |     *(var_18h) = a3;
    0x00448b94 sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
                                             |     if (a2 != t8) {
    0x00448b98 bne a2, t8, 0x448c74          |         goto label_5;
                                             |     }
    0x00448b9c move s4, a0                   |     s4 = a0;
                                             |     if (a1 == 0) {
    0x00448ba0 beqz a1, 0x448d74             |         goto label_6;
                                             |     }
    0x00448ba4 move a0, a1                   |     a0 = a1;
    0x00448ba8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00448bac lw t9, -0x79cc(gp)            |     t9 = sym.imp.BIO_new_file;
    0x00448bb0 addiu a1, a1, 0x13b8          |     a1 += 0x13b8;
    0x00448bb4 jalr t9                       |     t9 ();
    0x00448bb8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448bbc move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00448bc0 beqz v0, 0x448d38             |         goto label_7;
                                             |     }
                                             | label_3:
    0x00448bc4 lw a2, -0x7e2c(gp)            |     a2 = sym.password_callback;
    0x00448bc8 move a1, zero                 |     a1 = 0;
    0x00448bcc lw t9, -0x75fc(gp)            |     t9 = sym.imp.PEM_X509_INFO_read_bio;
    0x00448bd0 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x00448bd4 move a0, s1                   |     a0 = s1;
    0x00448bd8 jalr t9                       |     t9 ();
    0x00448bdc move a0, s1                   |     a0 = s1;
    0x00448be0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448be4 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
    0x00448be8 move s2, v0                   |     s2 = v0;
    0x00448bec jalr t9                       |     t9 ();
    0x00448bf0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448bf4 lw t9, -0x7830(gp)            |     t9 = sym.imp.sk_new_null;
    0x00448bf8 jalr t9                       |     t9 ();
    0x00448bfc nop                           |     
    0x00448c00 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448c04 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00448c08 beqz v0, 0x448cac             |         goto label_8;
                                             |     }
    0x00448c0c move s0, zero                 |     s0 = 0;
                                             |     do {
                                             | label_0:
    0x00448c10 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00448c14 move a0, s2                   |         a0 = s2;
    0x00448c18 jalr t9                       |         t9 ();
    0x00448c1c move a1, s0                   |         a1 = s0;
    0x00448c20 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448c24 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00448c28 move a0, s2                   |         a0 = s2;
    0x00448c2c addiu s0, s0, 1               |         s0++;
    0x00448c30 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
                                             |         if (v0 == 0) {
    0x00448c34 beqz v0, 0x448d5c             |             goto label_9;
                                             |         }
    0x00448c38 jalr t9                       |         t9 ();
    0x00448c3c nop                           |         
    0x00448c40 move a0, s3                   |         a0 = s3;
    0x00448c44 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448c48 move s1, v0                   |         s1 = v0;
    0x00448c4c lw t8, (v0)                   |         t8 = *(v0);
    0x00448c50 lw t9, -0x75c4(gp)            |         t9 = sym.imp.sk_push;
    0x00448c54 move a1, t8                   |         a1 = t8;
    0x00448c58 beqz t8, 0x448c10             |         
                                             |     } while (t8 == 0);
    0x00448c5c jalr t9                       |     t9 ();
    0x00448c60 nop                           |     
    0x00448c64 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00448c68 beqz v0, 0x448cac             |         goto label_8;
                                             |     }
    0x00448c6c sw zero, (s1)                 |     *(s1) = 0;
    0x00448c70 b 0x448c10                    |     goto label_0;
                                             | label_5:
    0x00448c74 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448c78 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448c7c lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.bad_input_format_specified_for__s_n */
    0x00448c80 addiu a1, a1, -0x5088         |     a1 += -0x5088;
    0x00448c84 jalr t9                       |     t9 ();
    0x00448c88 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     do {
    0x00448c8c move v0, zero                 |         v0 = 0;
    0x00448c90 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00448c94 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00448c98 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00448c9c lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00448ca0 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00448ca4 addiu sp, sp, 0x38            |         
    0x00448ca8 jr ra                         |         return v0;
                                             | label_8:
    0x00448cac move s0, zero                 |         s0 = 0;
                                             | label_2:
    0x00448cb0 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
                                             |         if (s2 != 0) {
    0x00448cb4 beqz s2, 0x448cc8             |             
    0x00448cb8 lw a1, -0x6f54(gp)            |             a1 = *((gp - 7125));
    0x00448cbc move a0, s2                   |             a0 = s2;
    0x00448cc0 jalr t9                       |             t9 ();
    0x00448cc4 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00448cc8 move v0, s3                   |         v0 = s3;
                                             |         if (s0 != 0) {
    0x00448ccc bnez s0, 0x448d18             |             goto label_10;
                                             |         }
    0x00448cd0 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
    0x00448cd4 lw a1, -0x6c30(gp)            |         a1 = *((gp - 6924));
    0x00448cd8 move a0, s3                   |         a0 = s3;
    0x00448cdc jalr t9                       |         t9 ();
    0x00448ce0 move a0, s4                   |         a0 = s4;
    0x00448ce4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448ce8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00448cec lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00448cf0 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.unable_to_load__s_n */
    0x00448cf4 addiu a1, a1, -0x4fc8         |         a1 += -0x4fc8;
                                             |         /* esilref: 'certificates' */
    0x00448cf8 addiu a2, a2, -0x3400         |         a2 += -0x3400;
    0x00448cfc jalr t9                       |         t9 ();
    0x00448d00 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_1:
    0x00448d04 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00448d08 move a0, s4                   |         a0 = s4;
    0x00448d0c jalr t9                       |         t9 ();
    0x00448d10 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00448d14 b 0x448c8c                    |         
                                             |     } while (1);
                                             | label_10:
    0x00448d18 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00448d1c lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00448d20 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00448d24 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00448d28 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00448d2c lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00448d30 addiu sp, sp, 0x38            |     
    0x00448d34 jr ra                         |     return v0;
                                             | label_7:
    0x00448d38 move a3, s0                   |     a3 = s0;
                                             | label_4:
    0x00448d3c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448d40 move a0, s4                   |     a0 = s4;
    0x00448d44 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448d48 lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.Error_opening__s__s_n */
    0x00448d4c addiu a1, a1, -0x50c8         |     a1 += -0x50c8;
    0x00448d50 jalr t9                       |     t9 ();
    0x00448d54 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448d58 b 0x448d04                    |     goto label_1;
                                             | label_9:
    0x00448d5c lw t9, -0x798c(gp)            |     t9 = sym.imp.sk_num;
    0x00448d60 move a0, s3                   |     a0 = s3;
    0x00448d64 jalr t9                       |     t9 ();
    0x00448d68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448d6c slt s0, zero, v0              |     s0 = (0 < v0) ? 1 : 0;
    0x00448d70 b 0x448cb0                    |     goto label_2;
                                             | label_6:
    0x00448d74 lw t8, -0x7bbc(gp)            |     t8 = *((gp - 7919));
    0x00448d78 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x00448d7c lw a0, (t8)                   |     a0 = *(t8);
    0x00448d80 jalr t9                       |     t9 ();
    0x00448d84 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448d88 move s1, v0                   |     s1 = v0;
                                             |     if (v0 != 0) {
    0x00448d8c bnez v0, 0x448bc4             |         goto label_3;
                                             |     }
    0x00448d90 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     /* str.stdin */
    0x00448d94 addiu a3, a3, -0x34d8         |     a3 += -0x34d8;
    0x00448d98 b 0x448d3c                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x447a44 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_cert_crl_http ()        | void load_cert_crl_http () {
    0x00447a44 lui gp, 5                     |     
    0x00447a48 addiu gp, gp, 0x4a5c          |     
    0x00447a4c addu gp, gp, t9               |     gp += t9;
    0x00447a50 addiu sp, sp, -0x58           |     
    0x00447a54 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x00447a58 sw s7, 0x50(sp)               |     *(var_50h) = s7;
    0x00447a5c sw s6, 0x4c(sp)               |     *(var_4ch) = s6;
    0x00447a60 sw s5, 0x48(sp)               |     *(var_48h) = s5;
    0x00447a64 sw s4, 0x44(sp)               |     *(var_44h) = s4;
    0x00447a68 sw s3, 0x40(sp)               |     *(var_40h) = s3;
    0x00447a6c sw s2, 0x3c(sp)               |     *(var_3ch) = s2;
    0x00447a70 sw s1, 0x38(sp)               |     *(var_38h) = s1;
    0x00447a74 sw s0, 0x34(sp)               |     *(var_34h) = s0;
    0x00447a78 addiu t8, sp, 0x20            |     t8 = sp + 0x20;
    0x00447a7c lw t9, -0x7c90(gp)            |     t9 = sym.imp.OCSP_parse_url;
    0x00447a80 move s3, a1                   |     s3 = a1;
    0x00447a84 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00447a88 move s4, a2                   |     s4 = a2;
    0x00447a8c sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x00447a90 addiu a1, sp, 0x2c            |     a1 = sp + 0x2c;
    0x00447a94 move s6, a3                   |     s6 = a3;
    0x00447a98 addiu a2, sp, 0x28            |     a2 = sp + 0x28;
    0x00447a9c addiu a3, sp, 0x24            |     a3 = sp + 0x24;
    0x00447aa0 move s5, a0                   |     s5 = a0;
    0x00447aa4 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00447aa8 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00447aac sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00447ab0 jalr t9                       |     t9 ();
    0x00447ab4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00447ab8 beqz v0, 0x447ae4             |         goto label_4;
                                             |     }
    0x00447abc lw t8, 0x20(sp)               |     t8 = *(var_20h);
    0x00447ac0 lw t9, -0x7574(gp)            |     t9 = sym.imp.BIO_new_connect;
                                             |     if (t8 == 0) {
    0x00447ac4 beqz t8, 0x447be0             |         goto label_5;
                                             |     }
    0x00447ac8 move a0, s3                   |     a0 = s3;
                                             |     if (s3 == 0) {
    0x00447acc beqz s3, 0x447ae4             |         goto label_4;
                                             |     }
    0x00447ad0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447ad4 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.https_not_supported_n */
    0x00447ad8 addiu a1, a1, -0x5108         |     a1 += -0x5108;
    0x00447adc jalr t9                       |     t9 ();
    0x00447ae0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
                                             | label_4:
    0x00447ae4 move s1, zero                 |         s1 = 0;
    0x00447ae8 move s2, zero                 |         s2 = 0;
    0x00447aec move s0, zero                 |         s0 = 0;
                                             | label_0:
    0x00447af0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
                                             | label_3:
    0x00447af4 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (a0 != 0) {
    0x00447af8 beqz a0, 0x447b08             |             
    0x00447afc jalr t9                       |             t9 ();
    0x00447b00 nop                           |             
    0x00447b04 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b08 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x00447b0c lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (a0 != 0) {
    0x00447b10 beqz a0, 0x447b20             |             
    0x00447b14 jalr t9                       |             t9 ();
    0x00447b18 nop                           |             
    0x00447b1c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b20 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00447b24 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (a0 != 0) {
    0x00447b28 beqz a0, 0x447b38             |             
    0x00447b2c jalr t9                       |             t9 ();
    0x00447b30 nop                           |             
    0x00447b34 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b38 lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
                                             |         if (s0 != 0) {
    0x00447b3c beqz s0, 0x447b4c             |             
    0x00447b40 move a0, s0                   |             a0 = s0;
    0x00447b44 jalr t9                       |             t9 ();
    0x00447b48 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b4c lw t9, -0x7ac0(gp)            |         t9 = sym.imp.OCSP_REQ_CTX_free;
                                             |         if (s2 != 0) {
    0x00447b50 beqz s2, 0x447b60             |             
    0x00447b54 move a0, s2                   |             a0 = s2;
    0x00447b58 jalr t9                       |             t9 ();
    0x00447b5c lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00447b60 addiu t8, zero, 1             |         t8 = 1;
    0x00447b64 move v0, s1                   |         v0 = s1;
                                             |         if (s1 != t8) {
    0x00447b68 beq s1, t8, 0x447bb4          |             
    0x00447b6c lw t9, -0x7048(gp)            |             t9 = sym.imp.ERR_print_errors;
                                             |             if (s0 == 0) {
    0x00447b70 beqz s0, 0x447c2c             |                 goto label_6;
                                             |             }
    0x00447b74 lw s0, -0x7fd4(gp)            |             s0 = *(gp);
                                             |             if (s3 != 0) {
    0x00447b78 beqz s3, 0x447ba8             |                 
    0x00447b7c lw a0, (s0)                   |                 a0 = *(s0);
                                             |                 if (s4 == 0) {
    0x00447b80 beqz s4, 0x447c20             |                     goto label_7;
                                             |                 }
    0x00447b84 lw a2, -0x7fd8(gp)            |                 a2 = *(gp);
                                             |                 /* str.certificate */
    0x00447b88 addiu a2, a2, 0xbf4           |                 a2 += 0xbf4;
                                             | label_1:
    0x00447b8c lw a1, -0x7f9c(gp)            |                 a1 = *(gp);
    0x00447b90 move a3, s5                   |                 a3 = s5;
    0x00447b94 lw t9, -0x780c(gp)            |                 t9 = sym.imp.BIO_printf
                                             |                 /* str.Error_loading__s_from__s_n */
    0x00447b98 addiu a1, a1, -0x50e4         |                 a1 += -0x50e4;
    0x00447b9c jalr t9                       |                 t9 ();
    0x00447ba0 lw gp, 0x18(sp)               |                 gp = *(var_18h);
    0x00447ba4 lw t9, -0x7048(gp)            |                 t9 = sym.imp.ERR_print_errors;
                                             |             }
    0x00447ba8 lw a0, (s0)                   |             a0 = *(s0);
    0x00447bac jalr t9                       |             t9 ();
    0x00447bb0 move v0, s1                   |             v0 = s1;
                                             |         }
                                             | label_2:
    0x00447bb4 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x00447bb8 lw s7, 0x50(sp)               |         s7 = *(var_50h);
    0x00447bbc lw s6, 0x4c(sp)               |         s6 = *(var_4ch);
    0x00447bc0 lw s5, 0x48(sp)               |         s5 = *(var_48h);
    0x00447bc4 lw s4, 0x44(sp)               |         s4 = *(var_44h);
    0x00447bc8 lw s3, 0x40(sp)               |         s3 = *(var_40h);
    0x00447bcc lw s2, 0x3c(sp)               |         s2 = *(var_3ch);
    0x00447bd0 lw s1, 0x38(sp)               |         s1 = *(var_38h);
    0x00447bd4 lw s0, 0x34(sp)               |         s0 = *(var_34h);
    0x00447bd8 addiu sp, sp, 0x58            |         
    0x00447bdc jr ra                         |         return v0;
                                             | label_5:
    0x00447be0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x00447be4 jalr t9                       |         t9 ();
    0x00447be8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447bec move s0, v0                   |         s0 = v0;
    0x00447bf0 beqz v0, 0x447ae4             |         
                                             |     } while (v0 == 0);
    0x00447bf4 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x00447bf8 move a0, v0                   |     a0 = v0;
    0x00447bfc lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00447c00 addiu a1, zero, 0x64          |     a1 = 0x64;
    0x00447c04 addiu a2, zero, 1             |     a2 = 1;
    0x00447c08 jalr t9                       |     t9 ();
    0x00447c0c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00447c10 bnez v0, 0x447c40             |         
    0x00447c14 move s1, zero                 |         s1 = 0;
    0x00447c18 move s2, zero                 |         s2 = 0;
    0x00447c1c b 0x447af0                    |         goto label_0;
                                             | label_7:
    0x00447c20 lw a2, -0x7f9c(gp)            |         a2 = *(gp);
                                             |         /* esilref: 'CRL' */
    0x00447c24 addiu a2, a2, -0x510c         |         a2 += -0x510c;
    0x00447c28 b 0x447b8c                    |         goto label_1;
                                             | label_6:
    0x00447c2c lw s0, -0x7fd4(gp)            |         s0 = *(gp);
    0x00447c30 lw a0, (s0)                   |         a0 = *(s0);
    0x00447c34 jalr t9                       |         t9 ();
    0x00447c38 move v0, s1                   |         v0 = s1;
    0x00447c3c b 0x447bb4                    |         goto label_2;
                                             |     }
    0x00447c40 lw t9, -0x7c64(gp)            |     t9 = sym.imp.OCSP_REQ_CTX_new;
    0x00447c44 move a0, s0                   |     a0 = s0;
    0x00447c48 addiu a1, zero, 0x400         |     a1 = 0x400;
    0x00447c4c jalr t9                       |     t9 ();
    0x00447c50 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00447c54 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x00447c58 beqz v0, 0x447c7c             |         goto label_8;
                                             |     }
    0x00447c5c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00447c60 move a0, v0                   |     a0 = v0;
    0x00447c64 lw t9, -0x6d34(gp)            |     t9 = sym.imp.OCSP_REQ_CTX_http;
    0x00447c68 lw a2, 0x24(sp)               |     a2 = *(var_24h);
                                             |     /* esilref: 'GET' */
    0x00447c6c addiu a1, a1, -0x50f0         |     a1 += -0x50f0;
    0x00447c70 jalr t9                       |     t9 ();
    0x00447c74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00447c78 bnez v0, 0x447c84             |     
                                             |     while (v0 == 0) {
                                             | label_8:
    0x00447c7c move s1, zero                 |         s1 = 0;
    0x00447c80 b 0x447af0                    |         goto label_0;
    0x00447c84 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00447c88 move a0, s2                   |         a0 = s2;
    0x00447c8c lw t9, -0x6d08(gp)            |         t9 = sym.imp.OCSP_REQ_CTX_add1_header;
    0x00447c90 lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
                                             |         /* str.Host */
    0x00447c94 addiu a1, a1, -0x50ec         |         a1 += -0x50ec;
    0x00447c98 jalr t9                       |         t9 ();
    0x00447c9c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447ca0 beqz v0, 0x447c7c             |         
                                             |     }
    0x00447ca4 addiu s7, zero, -1            |     s7 = -1;
                                             |     if (s4 == 0) {
    0x00447ca8 beqz s4, 0x447cd4             |         goto label_9;
                                             |     }
    0x00447cac addiu s6, zero, -1            |     s6 = -1;
                                             |     do {
    0x00447cb0 lw t9, -0x79b8(gp)            |         t9 = sym.imp.X509_http_nbio;
    0x00447cb4 move a0, s2                   |         a0 = s2;
    0x00447cb8 move a1, s4                   |         a1 = s4;
    0x00447cbc jalr t9                       |         t9 ();
    0x00447cc0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447cc4 move s1, v0                   |         s1 = v0;
    0x00447cc8 beq v0, s6, 0x447cb0          |         
                                             |     } while (v0 == s6);
    0x00447ccc lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00447cd0 b 0x447af4                    |     goto label_3;
                                             |     do {
                                             | label_9:
    0x00447cd4 lw t9, -0x7960(gp)            |         t9 = sym.imp.X509_CRL_http_nbio;
    0x00447cd8 move a0, s2                   |         a0 = s2;
    0x00447cdc move a1, s6                   |         a1 = s6;
    0x00447ce0 jalr t9                       |         t9 ();
    0x00447ce4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00447ce8 move s1, v0                   |         s1 = v0;
    0x00447cec beq v0, s7, 0x447cd4          |         
                                             |     } while (v0 == s7);
    0x00447cf0 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00447cf4 b 0x447af4                    |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448b5c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_certs ()                | void load_certs () {
    0x00448b5c lui gp, 5                     |     
    0x00448b60 addiu gp, gp, 0x3944          |     
    0x00448b64 addu gp, gp, t9               |     gp += t9;
    0x00448b68 addiu sp, sp, -0x38           |     
    0x00448b6c sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00448b70 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x00448b74 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x00448b78 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00448b7c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x00448b80 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00448b84 addiu t8, zero, 3             |     t8 = 3;
    0x00448b88 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00448b8c move s0, a1                   |     s0 = a1;
    0x00448b90 sw a3, 0x18(sp)               |     *(var_18h) = a3;
    0x00448b94 sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
                                             |     if (a2 != t8) {
    0x00448b98 bne a2, t8, 0x448c74          |         goto label_5;
                                             |     }
    0x00448b9c move s4, a0                   |     s4 = a0;
                                             |     if (a1 == 0) {
    0x00448ba0 beqz a1, 0x448d74             |         goto label_6;
                                             |     }
    0x00448ba4 move a0, a1                   |     a0 = a1;
    0x00448ba8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00448bac lw t9, -0x79cc(gp)            |     t9 = sym.imp.BIO_new_file;
    0x00448bb0 addiu a1, a1, 0x13b8          |     a1 += 0x13b8;
    0x00448bb4 jalr t9                       |     t9 ();
    0x00448bb8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448bbc move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00448bc0 beqz v0, 0x448d38             |         goto label_7;
                                             |     }
                                             | label_3:
    0x00448bc4 lw a2, -0x7e2c(gp)            |     a2 = sym.password_callback;
    0x00448bc8 move a1, zero                 |     a1 = 0;
    0x00448bcc lw t9, -0x75fc(gp)            |     t9 = sym.imp.PEM_X509_INFO_read_bio;
    0x00448bd0 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x00448bd4 move a0, s1                   |     a0 = s1;
    0x00448bd8 jalr t9                       |     t9 ();
    0x00448bdc move a0, s1                   |     a0 = s1;
    0x00448be0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448be4 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
    0x00448be8 move s2, v0                   |     s2 = v0;
    0x00448bec jalr t9                       |     t9 ();
    0x00448bf0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448bf4 lw t9, -0x7830(gp)            |     t9 = sym.imp.sk_new_null;
    0x00448bf8 jalr t9                       |     t9 ();
    0x00448bfc nop                           |     
    0x00448c00 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448c04 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00448c08 beqz v0, 0x448cac             |         goto label_8;
                                             |     }
    0x00448c0c move s0, zero                 |     s0 = 0;
                                             |     do {
                                             | label_0:
    0x00448c10 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00448c14 move a0, s2                   |         a0 = s2;
    0x00448c18 jalr t9                       |         t9 ();
    0x00448c1c move a1, s0                   |         a1 = s0;
    0x00448c20 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448c24 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00448c28 move a0, s2                   |         a0 = s2;
    0x00448c2c addiu s0, s0, 1               |         s0++;
    0x00448c30 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
                                             |         if (v0 == 0) {
    0x00448c34 beqz v0, 0x448d5c             |             goto label_9;
                                             |         }
    0x00448c38 jalr t9                       |         t9 ();
    0x00448c3c nop                           |         
    0x00448c40 move a0, s3                   |         a0 = s3;
    0x00448c44 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448c48 move s1, v0                   |         s1 = v0;
    0x00448c4c lw t8, (v0)                   |         t8 = *(v0);
    0x00448c50 lw t9, -0x75c4(gp)            |         t9 = sym.imp.sk_push;
    0x00448c54 move a1, t8                   |         a1 = t8;
    0x00448c58 beqz t8, 0x448c10             |         
                                             |     } while (t8 == 0);
    0x00448c5c jalr t9                       |     t9 ();
    0x00448c60 nop                           |     
    0x00448c64 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00448c68 beqz v0, 0x448cac             |         goto label_8;
                                             |     }
    0x00448c6c sw zero, (s1)                 |     *(s1) = 0;
    0x00448c70 b 0x448c10                    |     goto label_0;
                                             | label_5:
    0x00448c74 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448c78 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448c7c lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.bad_input_format_specified_for__s_n */
    0x00448c80 addiu a1, a1, -0x5088         |     a1 += -0x5088;
    0x00448c84 jalr t9                       |     t9 ();
    0x00448c88 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     do {
    0x00448c8c move v0, zero                 |         v0 = 0;
    0x00448c90 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00448c94 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00448c98 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00448c9c lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00448ca0 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00448ca4 addiu sp, sp, 0x38            |         
    0x00448ca8 jr ra                         |         return v0;
                                             | label_8:
    0x00448cac move s0, zero                 |         s0 = 0;
                                             | label_2:
    0x00448cb0 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
                                             |         if (s2 != 0) {
    0x00448cb4 beqz s2, 0x448cc8             |             
    0x00448cb8 lw a1, -0x6f54(gp)            |             a1 = *((gp - 7125));
    0x00448cbc move a0, s2                   |             a0 = s2;
    0x00448cc0 jalr t9                       |             t9 ();
    0x00448cc4 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00448cc8 move v0, s3                   |         v0 = s3;
                                             |         if (s0 != 0) {
    0x00448ccc bnez s0, 0x448d18             |             goto label_10;
                                             |         }
    0x00448cd0 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
    0x00448cd4 lw a1, -0x6c30(gp)            |         a1 = *((gp - 6924));
    0x00448cd8 move a0, s3                   |         a0 = s3;
    0x00448cdc jalr t9                       |         t9 ();
    0x00448ce0 move a0, s4                   |         a0 = s4;
    0x00448ce4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448ce8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00448cec lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00448cf0 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.unable_to_load__s_n */
    0x00448cf4 addiu a1, a1, -0x4fc8         |         a1 += -0x4fc8;
                                             |         /* esilref: 'certificates' */
    0x00448cf8 addiu a2, a2, -0x3400         |         a2 += -0x3400;
    0x00448cfc jalr t9                       |         t9 ();
    0x00448d00 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_1:
    0x00448d04 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00448d08 move a0, s4                   |         a0 = s4;
    0x00448d0c jalr t9                       |         t9 ();
    0x00448d10 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00448d14 b 0x448c8c                    |         
                                             |     } while (1);
                                             | label_10:
    0x00448d18 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00448d1c lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00448d20 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00448d24 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00448d28 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00448d2c lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00448d30 addiu sp, sp, 0x38            |     
    0x00448d34 jr ra                         |     return v0;
                                             | label_7:
    0x00448d38 move a3, s0                   |     a3 = s0;
                                             | label_4:
    0x00448d3c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448d40 move a0, s4                   |     a0 = s4;
    0x00448d44 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448d48 lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.Error_opening__s__s_n */
    0x00448d4c addiu a1, a1, -0x50c8         |     a1 += -0x50c8;
    0x00448d50 jalr t9                       |     t9 ();
    0x00448d54 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448d58 b 0x448d04                    |     goto label_1;
                                             | label_9:
    0x00448d5c lw t9, -0x798c(gp)            |     t9 = sym.imp.sk_num;
    0x00448d60 move a0, s3                   |     a0 = s3;
    0x00448d64 jalr t9                       |     t9 ();
    0x00448d68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448d6c slt s0, zero, v0              |     s0 = (0 < v0) ? 1 : 0;
    0x00448d70 b 0x448cb0                    |     goto label_2;
                                             | label_6:
    0x00448d74 lw t8, -0x7bbc(gp)            |     t8 = *((gp - 7919));
    0x00448d78 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x00448d7c lw a0, (t8)                   |     a0 = *(t8);
    0x00448d80 jalr t9                       |     t9 ();
    0x00448d84 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448d88 move s1, v0                   |     s1 = v0;
                                             |     if (v0 != 0) {
    0x00448d8c bnez v0, 0x448bc4             |         goto label_3;
                                             |     }
    0x00448d90 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     /* str.stdin */
    0x00448d94 addiu a3, a3, -0x34d8         |     a3 += -0x34d8;
    0x00448d98 b 0x448d3c                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4498a0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_config ()               | void load_config () {
    0x004498a0 lui gp, 5                     |     
    0x004498a4 addiu gp, gp, 0x2c00          |     
    0x004498a8 addu gp, gp, t9               |     gp += t9;
    0x004498ac addiu sp, sp, -0x28           |     
    0x004498b0 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x004498b4 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x004498b8 lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x004498bc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x004498c0 lw v0, 0x6674(t8)             |     v0 = *((t8 + 6557));
    0x004498c4 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 == 0) {
    0x004498c8 bnez v0, 0x449908             |         
    0x004498cc move s0, a0                   |         s0 = a0;
    0x004498d0 sw v0, 0x6674(t8)             |         *((t8 + 26228)) = v0;
                                             |         if (a1 == 0) {
    0x004498d4 beqz a1, 0x449948             |             goto label_2;
                                             |         }
    0x004498d8 lw t9, -0x6c7c(gp)            |         t9 = sym.imp.OPENSSL_load_builtin_modules;
                                             | label_1:
    0x004498dc sw a1, 0x18(sp)               |         *(var_18h) = a1;
    0x004498e0 jalr t9                       |         t9 ();
    0x004498e4 move a2, zero                 |         a2 = 0;
    0x004498e8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x004498ec lw a1, 0x18(sp)               |         a1 = *(var_18h);
    0x004498f0 lw t9, -0x730c(gp)            |         t9 = sym.imp.CONF_modules_load;
    0x004498f4 move a0, a1                   |         a0 = a1;
    0x004498f8 move a1, zero                 |         a1 = 0;
    0x004498fc jalr t9                       |         t9 ();
    0x00449900 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 <= 0) {
    0x00449904 blez v0, 0x44991c             |             goto label_3;
                                             |         }
                                             |     }
    0x00449908 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
                                             | label_0:
    0x0044990c lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x00449910 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00449914 addiu sp, sp, 0x28            |         
    0x00449918 jr ra                         |         return v0;
                                             | label_3:
    0x0044991c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00449920 move a0, s0                   |         a0 = s0;
    0x00449924 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.Error_configuring_OpenSSL_n */
    0x00449928 addiu a1, a1, -0x4efc         |         a1 += -0x4efc;
    0x0044992c jalr t9                       |         t9 ();
    0x00449930 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00449934 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00449938 move a0, s0                   |         a0 = s0;
    0x0044993c jalr t9                       |         t9 ();
    0x00449940 move v0, zero                 |         v0 = 0;
    0x00449944 b 0x44990c                    |         
                                             |     } while (1);
                                             | label_2:
    0x00449948 lw t8, -0x7fc0(gp)            |     t8 = *(gp);
    0x0044994c lw a1, (t8)                   |     a1 = *(t8);
    0x00449950 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a1 == 0) {
    0x00449954 beqz a1, 0x44990c             |         goto label_0;
                                             |     }
    0x00449958 lw t9, -0x6c7c(gp)            |     t9 = sym.imp.OPENSSL_load_builtin_modules;
    0x0044995c b 0x4498dc                    |     goto label_1;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448030 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.load_crl ()              | void load_crl () {
    0x00448030 lui gp, 5                 |     
    0x00448034 addiu gp, gp, 0x4470      |     
    0x00448038 addu gp, gp, t9           |     gp += t9;
    0x0044803c addiu sp, sp, -0x30       |     
    0x00448040 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00448044 sw s2, 0x28(sp)           |     *(var_28h) = s2;
    0x00448048 sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x0044804c sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x00448050 addiu t8, zero, 0xd       |     t8 = 0xd;
    0x00448054 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00448058 move s1, a1               |     s1 = a1;
    0x0044805c sw zero, 0x18(sp)         |     *(var_18h) = 0;
                                         |     if (a1 == t8) {
    0x00448060 beq a1, t8, 0x448158      |         goto label_3;
                                         |     }
    0x00448064 lw t9, -0x78e4(gp)        |     t9 = sym.imp.BIO_s_file;
    0x00448068 move s2, a0               |     s2 = a0;
    0x0044806c jalr t9                   |     t9 ();
    0x00448070 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00448074 lw t9, -0x7d6c(gp)        |     t9 = sym.imp.BIO_new;
    0x00448078 move a0, v0               |     a0 = v0;
    0x0044807c jalr t9                   |     t9 ();
    0x00448080 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00448084 move s0, v0               |     s0 = v0;
                                         |     if (v0 == 0) {
    0x00448088 beqz v0, 0x4481e4         |         goto label_4;
                                         |     }
    0x0044808c lw t9, -0x7a60(gp)        |     t9 = sym.imp.BIO_ctrl;
                                         |     if (s2 == 0) {
    0x00448090 beqz s2, 0x44818c         |         goto label_5;
                                         |     }
    0x00448094 move a0, v0               |     a0 = v0;
    0x00448098 addiu a1, zero, 0x6c      |     a1 = 0x6c;
    0x0044809c addiu a2, zero, 3         |     a2 = 3;
    0x004480a0 move a3, s2               |     a3 = s2;
    0x004480a4 jalr t9                   |     t9 ();
    0x004480a8 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 <= 0) {
    0x004480ac blez v0, 0x4481d0         |         goto label_6;
                                         |     }
                                         | label_1:
    0x004480b0 addiu t8, zero, 1         |     t8 = 1;
    0x004480b4 addiu t8, zero, 3         |     t8 = 3;
                                         |     if (s1 == t8) {
    0x004480b8 beq s1, t8, 0x4481ac      |         goto label_7;
                                         |     }
    0x004480bc lw t8, -0x7fd4(gp)        |     t8 = *(gp);
                                         |     if (s1 == t8) {
    0x004480c0 beq s1, t8, 0x448104      |         goto label_8;
                                         |     }
    0x004480c4 lw a1, -0x7fd8(gp)        |     a1 = *(gp);
    0x004480c8 lw t9, -0x780c(gp)        |     t9 = sym.imp.BIO_printf
    0x004480cc lw a0, (t8)               |     a0 = *(t8);
                                         |     /* str.bad_input_format_specified_for_input_crl_n */
    0x004480d0 addiu a1, a1, 0x1f5c      |     a1 += 0x1f5c;
    0x004480d4 jalr t9                   |     t9 ();
    0x004480d8 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     do {
                                         | label_0:
    0x004480dc lw t9, -0x6e9c(gp)        |         t9 = sym.imp.BIO_free;
    0x004480e0 move a0, s0               |         a0 = s0;
    0x004480e4 jalr t9                   |         t9 ();
    0x004480e8 lw v0, 0x18(sp)           |         v0 = *(var_18h);
    0x004480ec lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x004480f0 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x004480f4 lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x004480f8 lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x004480fc addiu sp, sp, 0x30        |         
    0x00448100 jr ra                     |         return v0;
                                         | label_8:
    0x00448104 lw t9, -0x7a7c(gp)        |         t9 = sym.imp.PEM_read_bio_X509_CRL;
    0x00448108 move a0, s0               |         a0 = s0;
    0x0044810c move a1, zero             |         a1 = 0;
    0x00448110 move a2, zero             |         a2 = 0;
    0x00448114 move a3, zero             |         a3 = 0;
    0x00448118 jalr t9                   |         t9 ();
    0x0044811c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00448120 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00448124 bnez v0, 0x4480dc         |         
                                         |     } while (v0 != 0);
    0x00448128 lw s1, -0x7fd4(gp)        |     s1 = *(gp);
                                         | label_2:
    0x0044812c lw a1, -0x7fd8(gp)        |     a1 = *(gp);
    0x00448130 lw t9, -0x780c(gp)        |     t9 = sym.imp.BIO_printf
    0x00448134 lw a0, (s1)               |     a0 = *(s1);
                                         |     /* str.unable_to_load_CRL_n */
    0x00448138 addiu a1, a1, 0x1f88      |     a1 += 0x1f88;
    0x0044813c jalr t9                   |     t9 ();
    0x00448140 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00448144 lw t9, -0x7048(gp)        |     t9 = sym.imp.ERR_print_errors;
    0x00448148 lw a0, (s1)               |     a0 = *(s1);
    0x0044814c jalr t9                   |     t9 ();
    0x00448150 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00448154 b 0x4480dc                |     goto label_0;
                                         | label_3:
    0x00448158 lw t8, -0x7fd4(gp)        |     t8 = *(gp);
    0x0044815c move a2, zero             |     a2 = 0;
    0x00448160 lw t9, -0x7df8(gp)        |     t9 = sym.load_cert_crl_http;
    0x00448164 addiu a3, sp, 0x18        |     a3 = sp + 0x18;
    0x00448168 lw a1, (t8)               |     a1 = *(t8);
    0x0044816c jalr t9                   |     t9 ();
    0x00448170 lw v0, 0x18(sp)           |     v0 = *(var_18h);
    0x00448174 lw ra, 0x2c(sp)           |     ra = *(var_2ch);
    0x00448178 lw s2, 0x28(sp)           |     s2 = *(var_28h);
    0x0044817c lw s1, 0x24(sp)           |     s1 = *(var_24h);
    0x00448180 lw s0, 0x20(sp)           |     s0 = *(var_20h);
    0x00448184 addiu sp, sp, 0x30        |     
    0x00448188 jr ra                     |     return v0;
                                         | label_5:
    0x0044818c lw t8, -0x7bbc(gp)        |     t8 = *((gp - 7919));
    0x00448190 move a0, v0               |     a0 = v0;
    0x00448194 addiu a1, zero, 0x6a      |     a1 = 0x6a;
    0x00448198 lw a3, (t8)               |     a3 = *(t8);
    0x0044819c move a2, zero             |     a2 = 0;
    0x004481a0 jalr t9                   |     t9 ();
    0x004481a4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x004481a8 b 0x4480b0                |     goto label_1;
                                         | label_7:
    0x004481ac lw t9, -0x7a48(gp)        |     t9 = sym.imp.d2i_X509_CRL_bio;
    0x004481b0 move a0, s0               |     a0 = s0;
    0x004481b4 move a1, zero             |     a1 = 0;
    0x004481b8 jalr t9                   |     t9 ();
    0x004481bc lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x004481c0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
                                         |     if (v0 != 0) {
    0x004481c4 bnez v0, 0x4480dc         |         goto label_0;
                                         |     }
    0x004481c8 lw s1, -0x7fd4(gp)        |     s1 = *(gp);
    0x004481cc b 0x44812c                |     goto label_2;
                                         | label_6:
    0x004481d0 lw t9, -0x72b8(gp)        |     t9 = sym.imp.perror;
    0x004481d4 move a0, s2               |     a0 = s2;
    0x004481d8 jalr t9                   |     t9 ();
    0x004481dc lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x004481e0 b 0x4480dc                |     goto label_0;
                                         | label_4:
    0x004481e4 lw t8, -0x7fd4(gp)        |     t8 = *(gp);
    0x004481e8 lw t9, -0x7048(gp)        |     t9 = sym.imp.ERR_print_errors;
    0x004481ec lw a0, (t8)               |     a0 = *(t8);
    0x004481f0 jalr t9                   |     t9 ();
    0x004481f4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x004481f8 b 0x4480dc                |     goto label_0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448d9c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_crls ()                 | void load_crls () {
    0x00448d9c lui gp, 5                     |     
    0x00448da0 addiu gp, gp, 0x3704          |     
    0x00448da4 addu gp, gp, t9               |     gp += t9;
    0x00448da8 addiu sp, sp, -0x38           |     
    0x00448dac sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00448db0 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x00448db4 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x00448db8 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00448dbc sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x00448dc0 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00448dc4 addiu t8, zero, 3             |     t8 = 3;
    0x00448dc8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00448dcc move s0, a1                   |     s0 = a1;
    0x00448dd0 sw a3, 0x18(sp)               |     *(var_18h) = a3;
    0x00448dd4 sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
                                             |     if (a2 != t8) {
    0x00448dd8 bne a2, t8, 0x448eb4          |         goto label_5;
                                             |     }
    0x00448ddc move s4, a0                   |     s4 = a0;
                                             |     if (a1 == 0) {
    0x00448de0 beqz a1, 0x448fb4             |         goto label_6;
                                             |     }
    0x00448de4 move a0, a1                   |     a0 = a1;
    0x00448de8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00448dec lw t9, -0x79cc(gp)            |     t9 = sym.imp.BIO_new_file;
    0x00448df0 addiu a1, a1, 0x13b8          |     a1 += 0x13b8;
    0x00448df4 jalr t9                       |     t9 ();
    0x00448df8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448dfc move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00448e00 beqz v0, 0x448f78             |         goto label_7;
                                             |     }
                                             | label_3:
    0x00448e04 lw a2, -0x7e2c(gp)            |     a2 = sym.password_callback;
    0x00448e08 move a1, zero                 |     a1 = 0;
    0x00448e0c lw t9, -0x75fc(gp)            |     t9 = sym.imp.PEM_X509_INFO_read_bio;
    0x00448e10 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x00448e14 move a0, s1                   |     a0 = s1;
    0x00448e18 jalr t9                       |     t9 ();
    0x00448e1c move a0, s1                   |     a0 = s1;
    0x00448e20 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448e24 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
    0x00448e28 move s2, v0                   |     s2 = v0;
    0x00448e2c jalr t9                       |     t9 ();
    0x00448e30 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448e34 lw t9, -0x7830(gp)            |     t9 = sym.imp.sk_new_null;
    0x00448e38 jalr t9                       |     t9 ();
    0x00448e3c nop                           |     
    0x00448e40 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448e44 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00448e48 beqz v0, 0x448eec             |         goto label_8;
                                             |     }
    0x00448e4c move s0, zero                 |     s0 = 0;
                                             |     do {
                                             | label_0:
    0x00448e50 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00448e54 move a0, s2                   |         a0 = s2;
    0x00448e58 jalr t9                       |         t9 ();
    0x00448e5c move a1, s0                   |         a1 = s0;
    0x00448e60 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448e64 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00448e68 move a0, s2                   |         a0 = s2;
    0x00448e6c addiu s0, s0, 1               |         s0++;
    0x00448e70 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
                                             |         if (v0 == 0) {
    0x00448e74 beqz v0, 0x448f9c             |             goto label_9;
                                             |         }
    0x00448e78 jalr t9                       |         t9 ();
    0x00448e7c nop                           |         
    0x00448e80 move a0, s3                   |         a0 = s3;
    0x00448e84 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448e88 move s1, v0                   |         s1 = v0;
    0x00448e8c lw t8, 4(v0)                  |         t8 = *((v0 + 1));
    0x00448e90 lw t9, -0x75c4(gp)            |         t9 = sym.imp.sk_push;
    0x00448e94 move a1, t8                   |         a1 = t8;
    0x00448e98 beqz t8, 0x448e50             |         
                                             |     } while (t8 == 0);
    0x00448e9c jalr t9                       |     t9 ();
    0x00448ea0 nop                           |     
    0x00448ea4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00448ea8 beqz v0, 0x448eec             |         goto label_8;
                                             |     }
    0x00448eac sw zero, 4(s1)                |     *((s1 + 1)) = 0;
    0x00448eb0 b 0x448e50                    |     goto label_0;
                                             | label_5:
    0x00448eb4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448eb8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448ebc lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.bad_input_format_specified_for__s_n */
    0x00448ec0 addiu a1, a1, -0x5088         |     a1 += -0x5088;
    0x00448ec4 jalr t9                       |     t9 ();
    0x00448ec8 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     do {
    0x00448ecc move v0, zero                 |         v0 = 0;
    0x00448ed0 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00448ed4 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00448ed8 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00448edc lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00448ee0 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00448ee4 addiu sp, sp, 0x38            |         
    0x00448ee8 jr ra                         |         return v0;
                                             | label_8:
    0x00448eec move s0, zero                 |         s0 = 0;
                                             | label_2:
    0x00448ef0 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
                                             |         if (s2 != 0) {
    0x00448ef4 beqz s2, 0x448f08             |             
    0x00448ef8 lw a1, -0x6f54(gp)            |             a1 = *((gp - 7125));
    0x00448efc move a0, s2                   |             a0 = s2;
    0x00448f00 jalr t9                       |             t9 ();
    0x00448f04 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00448f08 move v0, s3                   |         v0 = s3;
                                             |         if (s0 != 0) {
    0x00448f0c bnez s0, 0x448f58             |             goto label_10;
                                             |         }
    0x00448f10 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
    0x00448f14 lw a1, -0x6ef4(gp)            |         a1 = *((gp - 7101));
    0x00448f18 move a0, s3                   |         a0 = s3;
    0x00448f1c jalr t9                       |         t9 ();
    0x00448f20 move a0, s4                   |         a0 = s4;
    0x00448f24 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448f28 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00448f2c lw a2, -0x7f9c(gp)            |         a2 = *(gp);
    0x00448f30 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.unable_to_load__s_n */
    0x00448f34 addiu a1, a1, -0x4fc8         |         a1 += -0x4fc8;
                                             |         /* str.CRLs */
    0x00448f38 addiu a2, a2, -0x4fb4         |         a2 += -0x4fb4;
    0x00448f3c jalr t9                       |         t9 ();
    0x00448f40 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_1:
    0x00448f44 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00448f48 move a0, s4                   |         a0 = s4;
    0x00448f4c jalr t9                       |         t9 ();
    0x00448f50 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00448f54 b 0x448ecc                    |         
                                             |     } while (1);
                                             | label_10:
    0x00448f58 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00448f5c lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00448f60 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00448f64 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00448f68 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00448f6c lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00448f70 addiu sp, sp, 0x38            |     
    0x00448f74 jr ra                         |     return v0;
                                             | label_7:
    0x00448f78 move a3, s0                   |     a3 = s0;
                                             | label_4:
    0x00448f7c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448f80 move a0, s4                   |     a0 = s4;
    0x00448f84 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448f88 lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.Error_opening__s__s_n */
    0x00448f8c addiu a1, a1, -0x50c8         |     a1 += -0x50c8;
    0x00448f90 jalr t9                       |     t9 ();
    0x00448f94 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448f98 b 0x448f44                    |     goto label_1;
                                             | label_9:
    0x00448f9c lw t9, -0x798c(gp)            |     t9 = sym.imp.sk_num;
    0x00448fa0 move a0, s3                   |     a0 = s3;
    0x00448fa4 jalr t9                       |     t9 ();
    0x00448fa8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448fac slt s0, zero, v0              |     s0 = (0 < v0) ? 1 : 0;
    0x00448fb0 b 0x448ef0                    |     goto label_2;
                                             | label_6:
    0x00448fb4 lw t8, -0x7bbc(gp)            |     t8 = *((gp - 7919));
    0x00448fb8 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x00448fbc lw a0, (t8)                   |     a0 = *(t8);
    0x00448fc0 jalr t9                       |     t9 ();
    0x00448fc4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448fc8 move s1, v0                   |     s1 = v0;
                                             |     if (v0 != 0) {
    0x00448fcc bnez v0, 0x448e04             |         goto label_3;
                                             |     }
    0x00448fd0 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     /* str.stdin */
    0x00448fd4 addiu a3, a3, -0x34d8         |     a3 += -0x34d8;
    0x00448fd8 b 0x448f7c                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448d9c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_crls ()                 | void load_crls () {
    0x00448d9c lui gp, 5                     |     
    0x00448da0 addiu gp, gp, 0x3704          |     
    0x00448da4 addu gp, gp, t9               |     gp += t9;
    0x00448da8 addiu sp, sp, -0x38           |     
    0x00448dac sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00448db0 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x00448db4 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x00448db8 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00448dbc sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x00448dc0 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00448dc4 addiu t8, zero, 3             |     t8 = 3;
    0x00448dc8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00448dcc move s0, a1                   |     s0 = a1;
    0x00448dd0 sw a3, 0x18(sp)               |     *(var_18h) = a3;
    0x00448dd4 sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
                                             |     if (a2 != t8) {
    0x00448dd8 bne a2, t8, 0x448eb4          |         goto label_5;
                                             |     }
    0x00448ddc move s4, a0                   |     s4 = a0;
                                             |     if (a1 == 0) {
    0x00448de0 beqz a1, 0x448fb4             |         goto label_6;
                                             |     }
    0x00448de4 move a0, a1                   |     a0 = a1;
    0x00448de8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00448dec lw t9, -0x79cc(gp)            |     t9 = sym.imp.BIO_new_file;
    0x00448df0 addiu a1, a1, 0x13b8          |     a1 += 0x13b8;
    0x00448df4 jalr t9                       |     t9 ();
    0x00448df8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448dfc move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00448e00 beqz v0, 0x448f78             |         goto label_7;
                                             |     }
                                             | label_3:
    0x00448e04 lw a2, -0x7e2c(gp)            |     a2 = sym.password_callback;
    0x00448e08 move a1, zero                 |     a1 = 0;
    0x00448e0c lw t9, -0x75fc(gp)            |     t9 = sym.imp.PEM_X509_INFO_read_bio;
    0x00448e10 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x00448e14 move a0, s1                   |     a0 = s1;
    0x00448e18 jalr t9                       |     t9 ();
    0x00448e1c move a0, s1                   |     a0 = s1;
    0x00448e20 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448e24 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
    0x00448e28 move s2, v0                   |     s2 = v0;
    0x00448e2c jalr t9                       |     t9 ();
    0x00448e30 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448e34 lw t9, -0x7830(gp)            |     t9 = sym.imp.sk_new_null;
    0x00448e38 jalr t9                       |     t9 ();
    0x00448e3c nop                           |     
    0x00448e40 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448e44 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00448e48 beqz v0, 0x448eec             |         goto label_8;
                                             |     }
    0x00448e4c move s0, zero                 |     s0 = 0;
                                             |     do {
                                             | label_0:
    0x00448e50 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00448e54 move a0, s2                   |         a0 = s2;
    0x00448e58 jalr t9                       |         t9 ();
    0x00448e5c move a1, s0                   |         a1 = s0;
    0x00448e60 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448e64 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00448e68 move a0, s2                   |         a0 = s2;
    0x00448e6c addiu s0, s0, 1               |         s0++;
    0x00448e70 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
                                             |         if (v0 == 0) {
    0x00448e74 beqz v0, 0x448f9c             |             goto label_9;
                                             |         }
    0x00448e78 jalr t9                       |         t9 ();
    0x00448e7c nop                           |         
    0x00448e80 move a0, s3                   |         a0 = s3;
    0x00448e84 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448e88 move s1, v0                   |         s1 = v0;
    0x00448e8c lw t8, 4(v0)                  |         t8 = *((v0 + 1));
    0x00448e90 lw t9, -0x75c4(gp)            |         t9 = sym.imp.sk_push;
    0x00448e94 move a1, t8                   |         a1 = t8;
    0x00448e98 beqz t8, 0x448e50             |         
                                             |     } while (t8 == 0);
    0x00448e9c jalr t9                       |     t9 ();
    0x00448ea0 nop                           |     
    0x00448ea4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00448ea8 beqz v0, 0x448eec             |         goto label_8;
                                             |     }
    0x00448eac sw zero, 4(s1)                |     *((s1 + 1)) = 0;
    0x00448eb0 b 0x448e50                    |     goto label_0;
                                             | label_5:
    0x00448eb4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448eb8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448ebc lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.bad_input_format_specified_for__s_n */
    0x00448ec0 addiu a1, a1, -0x5088         |     a1 += -0x5088;
    0x00448ec4 jalr t9                       |     t9 ();
    0x00448ec8 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     do {
    0x00448ecc move v0, zero                 |         v0 = 0;
    0x00448ed0 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00448ed4 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00448ed8 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00448edc lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00448ee0 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00448ee4 addiu sp, sp, 0x38            |         
    0x00448ee8 jr ra                         |         return v0;
                                             | label_8:
    0x00448eec move s0, zero                 |         s0 = 0;
                                             | label_2:
    0x00448ef0 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
                                             |         if (s2 != 0) {
    0x00448ef4 beqz s2, 0x448f08             |             
    0x00448ef8 lw a1, -0x6f54(gp)            |             a1 = *((gp - 7125));
    0x00448efc move a0, s2                   |             a0 = s2;
    0x00448f00 jalr t9                       |             t9 ();
    0x00448f04 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00448f08 move v0, s3                   |         v0 = s3;
                                             |         if (s0 != 0) {
    0x00448f0c bnez s0, 0x448f58             |             goto label_10;
                                             |         }
    0x00448f10 lw t9, -0x75ec(gp)            |         t9 = sym.imp.sk_pop_free;
    0x00448f14 lw a1, -0x6ef4(gp)            |         a1 = *((gp - 7101));
    0x00448f18 move a0, s3                   |         a0 = s3;
    0x00448f1c jalr t9                       |         t9 ();
    0x00448f20 move a0, s4                   |         a0 = s4;
    0x00448f24 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448f28 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00448f2c lw a2, -0x7f9c(gp)            |         a2 = *(gp);
    0x00448f30 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.unable_to_load__s_n */
    0x00448f34 addiu a1, a1, -0x4fc8         |         a1 += -0x4fc8;
                                             |         /* str.CRLs */
    0x00448f38 addiu a2, a2, -0x4fb4         |         a2 += -0x4fb4;
    0x00448f3c jalr t9                       |         t9 ();
    0x00448f40 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_1:
    0x00448f44 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00448f48 move a0, s4                   |         a0 = s4;
    0x00448f4c jalr t9                       |         t9 ();
    0x00448f50 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00448f54 b 0x448ecc                    |         
                                             |     } while (1);
                                             | label_10:
    0x00448f58 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00448f5c lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00448f60 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00448f64 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00448f68 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00448f6c lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00448f70 addiu sp, sp, 0x38            |     
    0x00448f74 jr ra                         |     return v0;
                                             | label_7:
    0x00448f78 move a3, s0                   |     a3 = s0;
                                             | label_4:
    0x00448f7c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448f80 move a0, s4                   |     a0 = s4;
    0x00448f84 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448f88 lw a2, 0x4c(sp)               |     a2 = *(arg_4ch);
                                             |     /* str.Error_opening__s__s_n */
    0x00448f8c addiu a1, a1, -0x50c8         |     a1 += -0x50c8;
    0x00448f90 jalr t9                       |     t9 ();
    0x00448f94 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448f98 b 0x448f44                    |     goto label_1;
                                             | label_9:
    0x00448f9c lw t9, -0x798c(gp)            |     t9 = sym.imp.sk_num;
    0x00448fa0 move a0, s3                   |     a0 = s3;
    0x00448fa4 jalr t9                       |     t9 ();
    0x00448fa8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448fac slt s0, zero, v0              |     s0 = (0 < v0) ? 1 : 0;
    0x00448fb0 b 0x448ef0                    |     goto label_2;
                                             | label_6:
    0x00448fb4 lw t8, -0x7bbc(gp)            |     t8 = *((gp - 7919));
    0x00448fb8 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x00448fbc lw a0, (t8)                   |     a0 = *(t8);
    0x00448fc0 jalr t9                       |     t9 ();
    0x00448fc4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448fc8 move s1, v0                   |     s1 = v0;
                                             |     if (v0 != 0) {
    0x00448fcc bnez v0, 0x448e04             |         goto label_3;
                                             |     }
    0x00448fd0 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     /* str.stdin */
    0x00448fd4 addiu a3, a3, -0x34d8         |     a3 += -0x34d8;
    0x00448fd8 b 0x448f7c                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44f2a8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_excert ()               | void load_excert () {
    0x0044f2a8 lui gp, 5                     |     
    0x0044f2ac addiu gp, gp, -0x2e08         |     
    0x0044f2b0 addu gp, gp, t9               |     gp += t9;
    0x0044f2b4 addiu sp, sp, -0x40           |     
    0x0044f2b8 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0044f2bc sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x0044f2c0 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x0044f2c4 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0044f2c8 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0044f2cc sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0044f2d0 lw s0, (a0)                   |     s0 = *(a0);
    0x0044f2d4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0044f2d8 move s2, a0                   |     s2 = a0;
                                             |     if (s0 == 0) {
    0x0044f2dc beqz s0, 0x44f418             |         goto label_3;
                                             |     }
    0x0044f2e0 lw t8, 4(s0)                  |     t8 = *((s0 + 1));
    0x0044f2e4 move s1, a1                   |     s1 = a1;
                                             |     if (t8 == 0) {
    0x0044f2e8 beqz t8, 0x44f470             |         goto label_4;
                                             |     }
                                             | label_1:
    0x0044f2ec lw s2, -0x7f9c(gp)            |     s2 = *(gp);
    0x0044f2f0 lw s3, -0x7f9c(gp)            |     s3 = *(gp);
    0x0044f2f4 lw s4, -0x7f9c(gp)            |     s4 = *(gp);
                                             |     /* str.Server_Certificate */
    0x0044f2f8 addiu s2, s2, -0x3ab8         |     s2 += -0x3ab8;
                                             |     /* str.Server_Key */
    0x0044f2fc addiu s3, s3, -0x3aa4         |     s3 += -0x3aa4;
    0x0044f300 b 0x44f36c                    |     
                                             |     while (t8 != 0) {
    0x0044f304 lw a2, 8(s0)                  |         a2 = *((s0 + 2));
    0x0044f308 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0044f30c sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0044f310 sw s3, 0x18(sp)               |         *(var_18h) = s3;
    0x0044f314 jalr t9                       |         t9 ();
    0x0044f318 move a0, s1                   |         a0 = s1;
    0x0044f31c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044f320 addiu a2, zero, 3             |         a2 = 3;
    0x0044f324 sw v0, 0x18(s0)               |         *((s0 + 6)) = v0;
    0x0044f328 move a3, zero                 |         a3 = 0;
    0x0044f32c lw t9, -0x7ed8(gp)            |         t9 = sym.load_certs;
                                             |         if (v0 == 0) {
    0x0044f330 beqz v0, 0x44f3f4             |             goto label_5;
                                             |         }
                                             | label_0:
    0x0044f334 lw t8, 0x10(s0)               |         t8 = *((s0 + 4));
    0x0044f338 move a1, t8                   |         a1 = t8;
                                             |         if (t8 != 0) {
    0x0044f33c beqz t8, 0x44f35c             |             
                                             |             /* str.Server_Chain */
    0x0044f340 addiu t8, s4, -0x3a98         |             t8 = s4 + -0x3a98;
    0x0044f344 sw zero, 0x10(sp)             |             *(var_10h) = 0;
    0x0044f348 sw t8, 0x14(sp)               |             *(var_14h) = t8;
    0x0044f34c jalr t9                       |             t9 ();
    0x0044f350 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0044f354 sw v0, 0x1c(s0)               |             *((s0 + 7)) = v0;
                                             |             if (v0 == 0) {
    0x0044f358 beqz v0, 0x44f3f4             |                 goto label_5;
                                             |             }
                                             |         }
    0x0044f35c lw s0, 0x24(s0)               |         s0 = *((s0 + 9));
    0x0044f360 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
                                             |         if (s0 == 0) {
    0x0044f364 beqz s0, 0x44f41c             |             goto label_6;
                                             |         }
    0x0044f368 lw t8, 4(s0)                  |         t8 = *((s0 + 1));
    0x0044f36c lw t9, -0x7f58(gp)            |         t9 = sym.load_cert;
    0x0044f370 move a1, t8                   |         a1 = t8;
    0x0044f374 move a0, s1                   |         a0 = s1;
    0x0044f378 move a3, zero                 |         a3 = 0;
                                             |         if (t8 == 0) {
    0x0044f37c beqz t8, 0x44f43c             |             goto label_7;
                                             |         }
    0x0044f380 lw a2, (s0)                   |         a2 = *(s0);
    0x0044f384 sw s2, 0x14(sp)               |         *(var_14h) = s2;
    0x0044f388 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0044f38c jalr t9                       |         t9 ();
    0x0044f390 move a0, s1                   |         a0 = s1;
    0x0044f394 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044f398 move a3, zero                 |         a3 = 0;
    0x0044f39c sw v0, 0x14(s0)               |         *((s0 + 5)) = v0;
    0x0044f3a0 lw t9, -0x7fb0(gp)            |         t9 = sym.load_key;
                                             |         if (v0 == 0) {
    0x0044f3a4 beqz v0, 0x44f3f4             |             goto label_5;
                                             |         }
    0x0044f3a8 lw t8, 0xc(s0)                |         t8 = *((s0 + 3));
    0x0044f3ac move a1, t8                   |         a1 = t8;
    0x0044f3b0 bnez t8, 0x44f304             |         
                                             |     }
    0x0044f3b4 lw a2, (s0)                   |     a2 = *(s0);
    0x0044f3b8 move a0, s1                   |     a0 = s1;
    0x0044f3bc lw a1, 4(s0)                  |     a1 = *((s0 + 1));
    0x0044f3c0 move a3, zero                 |     a3 = 0;
    0x0044f3c4 lw t9, -0x7fb0(gp)            |     t9 = sym.load_key;
    0x0044f3c8 sw s3, 0x18(sp)               |     *(var_18h) = s3;
    0x0044f3cc sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0044f3d0 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0044f3d4 jalr t9                       |     t9 ();
    0x0044f3d8 move a0, s1                   |     a0 = s1;
    0x0044f3dc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044f3e0 addiu a2, zero, 3             |     a2 = 3;
    0x0044f3e4 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x0044f3e8 move a3, zero                 |     a3 = 0;
    0x0044f3ec lw t9, -0x7ed8(gp)            |     t9 = sym.load_certs;
                                             |     if (v0 != 0) {
    0x0044f3f0 bnez v0, 0x44f334             |         goto label_0;
                                             |     }
                                             | label_5:
    0x0044f3f4 move v0, zero                 |     v0 = 0;
                                             | label_2:
    0x0044f3f8 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x0044f3fc lw s4, 0x38(sp)               |     s4 = *(var_38h);
    0x0044f400 lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x0044f404 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x0044f408 lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x0044f40c lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x0044f410 addiu sp, sp, 0x40            |     
    0x0044f414 jr ra                         |     return v0;
                                             | label_3:
    0x0044f418 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
                                             | label_6:
    0x0044f41c addiu v0, zero, 1             |     v0 = 1;
    0x0044f420 lw s4, 0x38(sp)               |     s4 = *(var_38h);
    0x0044f424 lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x0044f428 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x0044f42c lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x0044f430 lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x0044f434 addiu sp, sp, 0x40            |     
    0x0044f438 jr ra                         |     return v0;
                                             | label_7:
    0x0044f43c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f440 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Missing_filename_n */
    0x0044f444 addiu a1, a1, -0x3acc         |     a1 += -0x3acc;
    0x0044f448 jalr t9                       |     t9 ();
    0x0044f44c move v0, zero                 |     v0 = 0;
    0x0044f450 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x0044f454 lw s4, 0x38(sp)               |     s4 = *(var_38h);
    0x0044f458 lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x0044f45c lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x0044f460 lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x0044f464 lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x0044f468 addiu sp, sp, 0x40            |     
    0x0044f46c jr ra                         |     return v0;
                                             | label_4:
    0x0044f470 lw v0, 0x24(s0)               |     v0 = *((s0 + 9));
    0x0044f474 lw t9, -0x7ef0(gp)            |     t9 = sym.ssl_excert_free;
                                             |     if (v0 != 0) {
    0x0044f478 bnez v0, 0x44f2ec             |         goto label_1;
                                             |     }
    0x0044f47c move a0, s0                   |     a0 = s0;
    0x0044f480 jalr t9                       |     t9 ();
    0x0044f484 addiu v0, zero, 1             |     v0 = 1;
    0x0044f488 sw zero, (s2)                 |     *(s2) = 0;
    0x0044f48c b 0x44f3f8                    |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44aac8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_index ()                | void load_index () {
    0x0044aac8 lui gp, 5                     |     
    0x0044aacc addiu gp, gp, 0x19d8          |     
    0x0044aad0 addu gp, gp, t9               |     gp += t9;
    0x0044aad4 addiu sp, sp, -0x140          |     
    0x0044aad8 sw ra, 0x13c(sp)              |     *(var_13ch) = ra;
    0x0044aadc sw s5, 0x138(sp)              |     *(var_138h) = s5;
    0x0044aae0 sw s4, 0x134(sp)              |     *(var_134h) = s4;
    0x0044aae4 sw s3, 0x130(sp)              |     *(var_130h) = s3;
    0x0044aae8 sw s2, 0x12c(sp)              |     *(var_12ch) = s2;
    0x0044aaec sw s1, 0x128(sp)              |     *(var_128h) = s1;
    0x0044aaf0 sw s0, 0x124(sp)              |     *(var_124h) = s0;
    0x0044aaf4 move s0, a0                   |     s0 = a0;
    0x0044aaf8 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x0044aafc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044ab00 move s5, a1                   |     s5 = a1;
    0x0044ab04 jalr t9                       |     t9 ();
    0x0044ab08 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ab0c lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x0044ab10 move a0, v0                   |     a0 = v0;
    0x0044ab14 jalr t9                       |     t9 ();
    0x0044ab18 addiu t8, zero, -1            |     t8 = -1;
    0x0044ab1c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ab20 move s1, v0                   |     s1 = v0;
    0x0044ab24 sw t8, 0x118(sp)              |     *(var_118h) = t8;
                                             |     if (v0 == 0) {
    0x0044ab28 beqz v0, 0x44ad84             |         goto label_5;
                                             |     }
    0x0044ab2c lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0044ab30 move a0, v0                   |     a0 = v0;
    0x0044ab34 addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x0044ab38 addiu a2, zero, 3             |     a2 = 3;
    0x0044ab3c move a3, s0                   |     a3 = s0;
    0x0044ab40 jalr t9                       |     t9 ();
    0x0044ab44 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x0044ab48 blez v0, 0x44ad44             |         goto label_6;
                                             |     }
    0x0044ab4c lw t9, -0x6ea8(gp)            |     t9 = sym.imp.TXT_DB_read;
    0x0044ab50 move a0, s1                   |     a0 = s1;
    0x0044ab54 addiu a1, zero, 6             |     a1 = 6;
    0x0044ab58 jalr t9                       |     t9 ();
    0x0044ab5c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ab60 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x0044ab64 beqz v0, 0x44ac90             |         goto label_7;
                                             |     }
    0x0044ab68 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044ab6c addiu s4, sp, 0x18            |     s4 = sp + 0x18;
    0x0044ab70 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x0044ab74 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s.attr */
    0x0044ab78 addiu a2, a2, -0x4ddc         |     a2 += -0x4ddc;
    0x0044ab7c move a3, s0                   |     a3 = s0;
    0x0044ab80 move a0, s4                   |     a0 = s4;
    0x0044ab84 jalr t9                       |     t9 ();
    0x0044ab88 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ab8c lw t9, -0x6f64(gp)            |     t9 = sym.imp.NCONF_new;
    0x0044ab90 move a0, zero                 |     a0 = 0;
    0x0044ab94 jalr t9                       |     t9 ();
    0x0044ab98 move a1, s4                   |     a1 = s4;
    0x0044ab9c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044aba0 move a0, v0                   |     a0 = v0;
    0x0044aba4 addiu a2, sp, 0x118           |     a2 = sp + 0x118;
    0x0044aba8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.NCONF_load;
    0x0044abac move s2, v0                   |     s2 = v0;
    0x0044abb0 jalr t9                       |     t9 ();
    0x0044abb4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044abb8 blez v0, 0x44ac70             |     
                                             |     while (1) {
    0x0044abbc lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044abc0 addiu a0, zero, 8             |         a0 = 8;
    0x0044abc4 lw t9, -0x7cd8(gp)            |         t9 = sym.imp.CRYPTO_malloc;
    0x0044abc8 addiu a2, zero, 0x76a         |         a2 = 0x76a;
                                             |         /* str.apps.c */
    0x0044abcc addiu a1, a1, -0x5320         |         a1 += -0x5320;
    0x0044abd0 jalr t9                       |         t9 ();
    0x0044abd4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044abd8 move s0, v0                   |         s0 = v0;
                                             |         if (v0 == 0) {
    0x0044abdc beqz v0, 0x44ad1c             |             goto label_8;
                                             |         }
    0x0044abe0 sw s3, 4(v0)                  |         *((v0 + 1)) = s3;
                                             |         if (s5 == 0) {
    0x0044abe4 beqz s5, 0x44acc4             |             goto label_9;
                                             |         }
    0x0044abe8 lw t8, (s5)                   |         t8 = *(s5);
    0x0044abec sw t8, (v0)                   |         *(v0) = t8;
                                             | label_1:
    0x0044abf0 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
                                             |         if (s2 == 0) {
    0x0044abf4 beqz s2, 0x44ac94             |             goto label_10;
                                             |         }
    0x0044abf8 move a0, s2                   |         a0 = s2;
    0x0044abfc lw t9, -0x7a50(gp)            |         t9 = sym.imp.NCONF_get_string;
    0x0044ac00 move a1, zero                 |         a1 = 0;
                                             |         /* str.unique_subject */
    0x0044ac04 addiu a2, a2, 0xb10           |         a2 += 0xb10;
    0x0044ac08 jalr t9                       |         t9 ();
    0x0044ac0c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044ac10 beqz v0, 0x44ac2c             |             
    0x0044ac14 lw t9, -0x7f64(gp)            |             t9 = sym.parse_yesno;
    0x0044ac18 move a0, v0                   |             a0 = v0;
    0x0044ac1c addiu a1, zero, 1             |             a1 = 1;
    0x0044ac20 jalr t9                       |             t9 ();
    0x0044ac24 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x0044ac28 sw v0, (s0)                   |             *(s0) = v0;
                                             |         }
    0x0044ac2c lw t9, -0x7d74(gp)            |         t9 = sym.imp.NCONF_free;
    0x0044ac30 move a0, s2                   |         a0 = s2;
    0x0044ac34 jalr t9                       |         t9 ();
    0x0044ac38 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_2:
    0x0044ac3c lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
                                             | label_0:
    0x0044ac40 move a0, s1                   |         a0 = s1;
    0x0044ac44 jalr t9                       |         t9 ();
    0x0044ac48 move v0, s0                   |         v0 = s0;
                                             | label_4:
    0x0044ac4c lw ra, 0x13c(sp)              |         ra = *(var_13ch);
    0x0044ac50 lw s5, 0x138(sp)              |         s5 = *(var_138h);
    0x0044ac54 lw s4, 0x134(sp)              |         s4 = *(var_134h);
    0x0044ac58 lw s3, 0x130(sp)              |         s3 = *(var_130h);
    0x0044ac5c lw s2, 0x12c(sp)              |         s2 = *(var_12ch);
    0x0044ac60 lw s1, 0x128(sp)              |         s1 = *(var_128h);
    0x0044ac64 lw s0, 0x124(sp)              |         s0 = *(var_124h);
    0x0044ac68 addiu sp, sp, 0x140           |         
    0x0044ac6c jr ra                         |         return v0;
    0x0044ac70 lw a2, 0x118(sp)              |         a2 = *(var_118h);
    0x0044ac74 lw t9, -0x7d74(gp)            |         t9 = sym.imp.NCONF_free;
                                             |         if (a2 > 0) {
    0x0044ac78 bgtz a2, 0x44acd0             |             goto label_11;
                                             |         }
    0x0044ac7c move a0, s2                   |         a0 = s2;
    0x0044ac80 move s2, zero                 |         s2 = 0;
    0x0044ac84 jalr t9                       |         t9 ();
    0x0044ac88 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ac8c b 0x44abbc                    |         
                                             |     }
                                             | label_7:
    0x0044ac90 move s0, zero                 |     s0 = 0;
                                             | label_10:
    0x0044ac94 lw t9, -0x7228(gp)            |     t9 = sym.imp.BIO_free_all;
                                             |     if (s1 != 0) {
    0x0044ac98 bnez s1, 0x44ac40             |         goto label_0;
                                             |     }
                                             | label_3:
    0x0044ac9c move v0, s0                   |     v0 = s0;
    0x0044aca0 lw ra, 0x13c(sp)              |     ra = *(var_13ch);
    0x0044aca4 lw s5, 0x138(sp)              |     s5 = *(var_138h);
    0x0044aca8 lw s4, 0x134(sp)              |     s4 = *(var_134h);
    0x0044acac lw s3, 0x130(sp)              |     s3 = *(var_130h);
    0x0044acb0 lw s2, 0x12c(sp)              |     s2 = *(var_12ch);
    0x0044acb4 lw s1, 0x128(sp)              |     s1 = *(var_128h);
    0x0044acb8 lw s0, 0x124(sp)              |     s0 = *(var_124h);
    0x0044acbc addiu sp, sp, 0x140           |     
    0x0044acc0 jr ra                         |     return v0;
                                             | label_9:
    0x0044acc4 addiu t8, zero, 1             |     t8 = 1;
    0x0044acc8 sw t8, (v0)                   |     *(v0) = t8;
    0x0044accc b 0x44abf0                    |     goto label_1;
                                             | label_11:
    0x0044acd0 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044acd4 move a3, s4                   |     a3 = s4;
    0x0044acd8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044acdc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044ace0 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.error_on_line__ld_of_db_attribute_file__s_n */
    0x0044ace4 addiu a1, a1, -0x4d98         |     a1 += -0x4d98;
    0x0044ace8 jalr t9                       |     t9 ();
    0x0044acec lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     do {
    0x0044acf0 lw t9, -0x7d74(gp)            |         t9 = sym.imp.NCONF_free;
                                             |         if (s2 != 0) {
    0x0044acf4 beqz s2, 0x44ad04             |             
    0x0044acf8 move a0, s2                   |             a0 = s2;
    0x0044acfc jalr t9                       |             t9 ();
    0x0044ad00 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x0044ad04 lw t9, -0x7248(gp)            |         t9 = sym.imp.TXT_DB_free;
    0x0044ad08 move a0, s3                   |         a0 = s3;
    0x0044ad0c move s0, zero                 |         s0 = 0;
    0x0044ad10 jalr t9                       |         t9 ();
    0x0044ad14 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ad18 b 0x44ac3c                    |         goto label_2;
                                             | label_8:
    0x0044ad1c lw t8, -0x6c70(gp)            |         t8 = *((gp - 6940));
    0x0044ad20 addiu a1, zero, 1             |         a1 = 1;
    0x0044ad24 lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0044ad28 addiu a2, zero, 0xe           |         a2 = 0xe;
    0x0044ad2c lw t9, -0x7410(gp)            |         t9 = sym.imp.fwrite;
    0x0044ad30 lw a3, (t8)                   |         a3 = *(t8);
                                             |         /* str.Out_of_memory_n */
    0x0044ad34 addiu a0, a0, -0x1474         |         a0 += -0x1474;
    0x0044ad38 jalr t9                       |         t9 ();
    0x0044ad3c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ad40 b 0x44acf0                    |         
                                             |     } while (1);
                                             | label_6:
    0x0044ad44 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
    0x0044ad48 move a0, s0                   |     a0 = s0;
    0x0044ad4c jalr t9                       |     t9 ();
    0x0044ad50 move a2, s0                   |     a2 = s0;
    0x0044ad54 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ad58 move s0, zero                 |     s0 = 0;
    0x0044ad5c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044ad60 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044ad64 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044ad68 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.unable_to_open__s_n */
    0x0044ad6c addiu a1, a1, -0x4dc8         |     a1 += -0x4dc8;
    0x0044ad70 jalr t9                       |     t9 ();
    0x0044ad74 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s1 == 0) {
    0x0044ad78 beqz s1, 0x44ac9c             |         goto label_3;
                                             |     }
    0x0044ad7c lw t9, -0x7228(gp)            |     t9 = sym.imp.BIO_free_all;
    0x0044ad80 b 0x44ac40                    |     goto label_0;
                                             | label_5:
    0x0044ad84 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044ad88 move s0, zero                 |     s0 = 0;
    0x0044ad8c lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0044ad90 lw a0, (t8)                   |     a0 = *(t8);
    0x0044ad94 jalr t9                       |     t9 ();
    0x0044ad98 move v0, s0                   |     v0 = s0;
    0x0044ad9c b 0x44ac4c                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4484c0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_key ()                  | void load_key () {
    0x004484c0 lui gp, 5                     |     
    0x004484c4 addiu gp, gp, 0x3fe0          |     
    0x004484c8 addu gp, gp, t9               |     gp += t9;
    0x004484cc addiu sp, sp, -0x50           |     
    0x004484d0 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x004484d4 sw s3, 0x48(sp)               |     *(var_48h) = s3;
    0x004484d8 sw s2, 0x44(sp)               |     *(var_44h) = s2;
    0x004484dc sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x004484e0 sw s0, 0x3c(sp)               |     *(var_3ch) = s0;
    0x004484e4 move s0, a1                   |     s0 = a1;
    0x004484e8 lw t8, 0x60(sp)               |     t8 = *(arg_60h);
    0x004484ec move s3, a0                   |     s3 = a0;
    0x004484f0 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x004484f4 move s1, a2                   |     s1 = a2;
    0x004484f8 lw s2, 0x64(sp)               |     s2 = *(arg_64h);
    0x004484fc sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x00448500 sw t8, 0x28(sp)               |     *(var_28h) = t8;
    0x00448504 sw a1, 0x2c(sp)               |     *(var_2ch) = a1;
                                             |     if (a1 == 0) {
    0x00448508 beqz a1, 0x44855c             |         goto label_2;
                                             |     }
    0x0044850c addiu t8, zero, 7             |     t8 = 7;
    0x00448510 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
                                             |     if (a2 != t8) {
    0x00448514 bne a2, t8, 0x44868c          |         goto label_3;
                                             |     }
    0x00448518 lw t9, -0x6e6c(gp)            |     t9 = sym.imp.ENGINE_init;
                                             |     if (s2 == 0) {
    0x0044851c beqz s2, 0x448670             |         goto label_4;
                                             |     }
    0x00448520 move a0, s2                   |     a0 = s2;
    0x00448524 jalr t9                       |     t9 ();
    0x00448528 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044852c bnez v0, 0x4485d0             |     
                                             |     while (1) {
    0x00448530 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x00448534 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             |         if (v0 == 0) {
    0x00448538 beqz v0, 0x448718             |             goto label_5;
                                             |         }
                                             | label_0:
    0x0044853c lw ra, 0x4c(sp)               |         ra = *(var_4ch);
                                             |         if (v0 == 0) {
    0x00448540 beqz v0, 0x448608             |             goto label_6;
                                             |         }
    0x00448544 lw s3, 0x48(sp)               |         s3 = *(var_48h);
    0x00448548 lw s2, 0x44(sp)               |         s2 = *(var_44h);
    0x0044854c lw s1, 0x40(sp)               |         s1 = *(var_40h);
    0x00448550 lw s0, 0x3c(sp)               |         s0 = *(var_3ch);
    0x00448554 addiu sp, sp, 0x50            |         
    0x00448558 jr ra                         |         return v0;
                                             | label_2:
    0x0044855c addiu t8, zero, 7             |         t8 = 7;
                                             |         if (a3 == 0) {
    0x00448560 beqz a3, 0x448650             |             goto label_7;
                                             |         }
    0x00448564 lw t9, -0x78e4(gp)            |         t9 = sym.imp.BIO_s_file;
                                             |         if (a2 == t8) {
    0x00448568 beq a2, t8, 0x448650          |             goto label_7;
                                             |         }
    0x0044856c jalr t9                       |         t9 ();
    0x00448570 nop                           |         
    0x00448574 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00448578 lw t9, -0x7d6c(gp)            |         t9 = sym.imp.BIO_new;
    0x0044857c move a0, v0                   |         a0 = v0;
    0x00448580 jalr t9                       |         t9 ();
    0x00448584 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00448588 move s2, v0                   |         s2 = v0;
                                             |         if (v0 == 0) {
    0x0044858c beqz v0, 0x4487f0             |             goto label_8;
                                             |         }
    0x00448590 lw s0, -0x7bbc(gp)            |         s0 = *((gp - 7919));
    0x00448594 move a1, zero                 |         a1 = 0;
    0x00448598 lw t9, -0x6c20(gp)            |         t9 = sym.imp.setvbuf;
    0x0044859c addiu a2, zero, 2             |         a2 = 2;
    0x004485a0 lw a0, (s0)                   |         a0 = *(s0);
    0x004485a4 move a3, zero                 |         a3 = 0;
    0x004485a8 jalr t9                       |         t9 ();
    0x004485ac move a0, s2                   |         a0 = s2;
    0x004485b0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004485b4 addiu a1, zero, 0x6a          |         a1 = 0x6a;
    0x004485b8 lw a3, (s0)                   |         a3 = *(s0);
    0x004485bc lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x004485c0 move a2, zero                 |         a2 = 0;
    0x004485c4 jalr t9                       |         t9 ();
    0x004485c8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004485cc b 0x4486d0                    |         goto label_9;
    0x004485d0 lw t8, -0x7fc8(gp)            |         t8 = *((gp - 8178));
    0x004485d4 move a0, s2                   |         a0 = s2;
    0x004485d8 lw t9, -0x73c8(gp)            |         t9 = sym.imp.ENGINE_load_private_key;
    0x004485dc move a1, s0                   |         a1 = s0;
    0x004485e0 lw a2, 0x667c(t8)             |         a2 = *((t8 + 6559));
    0x004485e4 addiu a3, sp, 0x28            |         a3 = sp + 0x28;
    0x004485e8 jalr t9                       |         t9 ();
    0x004485ec move a0, s2                   |         a0 = s2;
    0x004485f0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004485f4 lw t9, -0x7028(gp)            |         t9 = sym.imp.ENGINE_finish;
    0x004485f8 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x004485fc jalr t9                       |         t9 ();
    0x00448600 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00448604 b 0x448530                    |         
                                             |     }
                                             | label_6:
    0x00448608 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044860c move a0, s3                   |     a0 = s3;
    0x00448610 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448614 lw a2, 0x68(sp)               |     a2 = *(arg_68h);
                                             |     /* str.unable_to_load__s_n */
    0x00448618 addiu a1, a1, -0x4fc8         |     a1 += -0x4fc8;
    0x0044861c jalr t9                       |     t9 ();
    0x00448620 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00448624 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00448628 move a0, s3                   |     a0 = s3;
    0x0044862c jalr t9                       |     t9 ();
    0x00448630 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00448634 lw ra, 0x4c(sp)               |     ra = *(var_4ch);
    0x00448638 lw s3, 0x48(sp)               |     s3 = *(var_48h);
    0x0044863c lw s2, 0x44(sp)               |     s2 = *(var_44h);
    0x00448640 lw s1, 0x40(sp)               |     s1 = *(var_40h);
    0x00448644 lw s0, 0x3c(sp)               |     s0 = *(var_3ch);
    0x00448648 addiu sp, sp, 0x50            |     
    0x0044864c jr ra                         |     return v0;
                                             | label_7:
    0x00448650 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448654 move a0, s3                   |     a0 = s3;
    0x00448658 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.no_keyfile_specified_n */
    0x0044865c addiu a1, a1, -0x5040         |     a1 += -0x5040;
    0x00448660 jalr t9                       |     t9 ();
    0x00448664 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00448668 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x0044866c b 0x44853c                    |     goto label_0;
                                             | label_4:
    0x00448670 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448674 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.no_engine_specified_n */
    0x00448678 addiu a1, a1, -0x5028         |     a1 += -0x5028;
    0x0044867c jalr t9                       |     t9 ();
    0x00448680 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00448684 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00448688 b 0x44853c                    |     goto label_0;
                                             | label_3:
    0x0044868c jalr t9                       |     t9 ();
    0x00448690 nop                           |     
    0x00448694 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00448698 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x0044869c move a0, v0                   |     a0 = v0;
    0x004486a0 jalr t9                       |     t9 ();
    0x004486a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004486a8 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x004486ac beqz v0, 0x4487f0             |         goto label_8;
                                             |     }
    0x004486b0 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x004486b4 move a0, s2                   |     a0 = s2;
    0x004486b8 addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x004486bc addiu a2, zero, 3             |     a2 = 3;
    0x004486c0 move a3, s0                   |     a3 = s0;
    0x004486c4 jalr t9                       |     t9 ();
    0x004486c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 <= 0) {
    0x004486cc blez v0, 0x448798             |         goto label_10;
                                             |     }
                                             | label_9:
    0x004486d0 addiu t8, zero, 1             |     t8 = 1;
    0x004486d4 addiu t8, zero, 3             |     t8 = 3;
                                             |     if (s1 == t8) {
    0x004486d8 beq s1, t8, 0x44877c          |         goto label_11;
                                             |     }
    0x004486dc addiu t8, zero, 5             |     t8 = 5;
                                             |     if (s1 == t8) {
    0x004486e0 beq s1, t8, 0x4487cc          |         goto label_12;
                                             |     }
    0x004486e4 move a0, s3                   |     a0 = s3;
                                             |     if (s1 == t8) {
    0x004486e8 beq s1, t8, 0x448748          |         goto label_13;
                                             |     }
    0x004486ec lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x004486f0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.bad_input_format_specified_for_key_file_n */
    0x004486f4 addiu a1, a1, -0x4ff4         |     a1 += -0x4ff4;
    0x004486f8 jalr t9                       |     t9 ();
    0x004486fc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     do {
                                             | label_1:
    0x00448700 lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
    0x00448704 move a0, s2                   |         a0 = s2;
    0x00448708 jalr t9                       |         t9 ();
    0x0044870c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00448710 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x00448714 b 0x44853c                    |         goto label_0;
                                             | label_5:
    0x00448718 move a0, s3                   |         a0 = s3;
    0x0044871c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00448720 lw a2, 0x68(sp)               |         a2 = *(arg_68h);
                                             |         /* str.cannot_load__s_from_engine_n */
    0x00448724 addiu a1, a1, -0x5010         |         a1 += -0x5010;
    0x00448728 jalr t9                       |         t9 ();
    0x0044872c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00448730 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00448734 move a0, s3                   |         a0 = s3;
    0x00448738 jalr t9                       |         t9 ();
    0x0044873c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00448740 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x00448744 b 0x44853c                    |         goto label_0;
                                             | label_13:
    0x00448748 lw t9, -0x7e1c(gp)            |         t9 = *((gp - 8071));
    0x0044874c addiu t8, sp, 0x28            |         t8 = sp + 0x28;
    0x00448750 lw a3, -0x7e2c(gp)            |         a3 = sym.password_callback;
    0x00448754 move a1, s2                   |         a1 = s2;
    0x00448758 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0044875c addiu t8, sp, 0x30            |         t8 = sp + 0x30;
    0x00448760 lw a2, 0x68(sp)               |         a2 = *(arg_68h);
    0x00448764 addiu t9, t9, 0x6d4c          |         t9 += 0x6d4c;
    0x00448768 sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x0044876c sw zero, 0x18(sp)             |         *(var_18h) = 0;
    0x00448770 jalr t9                       |         t9 ();
    0x00448774 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00448778 b 0x448700                    |         
                                             |     } while (1);
                                             | label_11:
    0x0044877c lw t9, -0x6ce8(gp)            |     t9 = sym.imp.d2i_PrivateKey_bio;
    0x00448780 move a0, s2                   |     a0 = s2;
    0x00448784 move a1, zero                 |     a1 = 0;
    0x00448788 jalr t9                       |     t9 ();
    0x0044878c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00448790 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00448794 b 0x448700                    |     goto label_1;
                                             | label_10:
    0x00448798 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044879c move a0, s3                   |     a0 = s3;
    0x004487a0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004487a4 move a3, s0                   |     a3 = s0;
    0x004487a8 lw a2, 0x68(sp)               |     a2 = *(arg_68h);
                                             |     /* str.Error_opening__s__s_n */
    0x004487ac addiu a1, a1, -0x50c8         |     a1 += -0x50c8;
    0x004487b0 jalr t9                       |     t9 ();
    0x004487b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004487b8 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x004487bc move a0, s3                   |     a0 = s3;
    0x004487c0 jalr t9                       |     t9 ();
    0x004487c4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004487c8 b 0x448700                    |     goto label_1;
                                             | label_12:
    0x004487cc lw t9, -0x7c0c(gp)            |     t9 = sym.imp.PEM_read_bio_PrivateKey;
    0x004487d0 move a0, s2                   |     a0 = s2;
    0x004487d4 lw a2, -0x7e2c(gp)            |     a2 = sym.password_callback;
    0x004487d8 move a1, zero                 |     a1 = 0;
    0x004487dc addiu a3, sp, 0x28            |     a3 = sp + 0x28;
    0x004487e0 jalr t9                       |     t9 ();
    0x004487e4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004487e8 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x004487ec b 0x448700                    |     goto label_1;
                                             | label_8:
    0x004487f0 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x004487f4 move a0, s3                   |     a0 = s3;
    0x004487f8 jalr t9                       |     t9 ();
    0x004487fc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00448800 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00448804 b 0x44853c                    |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448808 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_pubkey ()               | void load_pubkey () {
    0x00448808 lui gp, 5                     |     
    0x0044880c addiu gp, gp, 0x3c98          |     
    0x00448810 addu gp, gp, t9               |     gp += t9;
    0x00448814 addiu sp, sp, -0x38           |     
    0x00448818 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0044881c sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00448820 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00448824 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00448828 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x0044882c move s1, a1                   |     s1 = a1;
    0x00448830 lw t8, 0x48(sp)               |     t8 = *(arg_48h);
    0x00448834 move s3, a0                   |     s3 = a0;
    0x00448838 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044883c move s0, a2                   |     s0 = a2;
    0x00448840 sw t8, 0x18(sp)               |     *(var_18h) = t8;
    0x00448844 sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
                                             |     if (a1 == 0) {
    0x00448848 beqz a1, 0x4488a0             |         goto label_2;
                                             |     }
    0x0044884c addiu t8, zero, 7             |     t8 = 7;
    0x00448850 lw t8, 0x4c(sp)               |     t8 = *(arg_4ch);
                                             |     if (a2 != t8) {
    0x00448854 bne a2, t8, 0x44896c          |         goto label_3;
                                             |     }
    0x00448858 move a0, t8                   |     a0 = t8;
                                             |     if (t8 == 0) {
    0x0044885c beqz t8, 0x448914             |         goto label_4;
                                             |     }
    0x00448860 lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x00448864 lw t9, -0x7c04(gp)            |     t9 = sym.imp.ENGINE_load_public_key;
    0x00448868 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x0044886c lw a2, 0x667c(t8)             |     a2 = *((t8 + 6559));
    0x00448870 jalr t9                       |     t9 ();
    0x00448874 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448878 move s0, v0                   |     s0 = v0;
                                             |     do {
    0x0044887c move v0, s0                   |         v0 = s0;
                                             |         if (s0 != 0) {
    0x00448880 beqz s0, 0x448934             |             
    0x00448884 lw ra, 0x34(sp)               |             ra = *(var_34h);
    0x00448888 lw s3, 0x30(sp)               |             s3 = *(var_30h);
    0x0044888c lw s2, 0x2c(sp)               |             s2 = *(var_2ch);
    0x00448890 lw s1, 0x28(sp)               |             s1 = *(var_28h);
    0x00448894 lw s0, 0x24(sp)               |             s0 = *(var_24h);
    0x00448898 addiu sp, sp, 0x38            |             
    0x0044889c jr ra                         |             return v0;
                                             | label_2:
    0x004488a0 addiu t8, zero, 7             |             t8 = 7;
                                             |             if (a3 == 0) {
    0x004488a4 beqz a3, 0x448aec             |                 goto label_5;
                                             |             }
    0x004488a8 lw t9, -0x78e4(gp)            |             t9 = sym.imp.BIO_s_file;
                                             |             if (a2 == t8) {
    0x004488ac beq a2, t8, 0x448aec          |                 goto label_5;
                                             |             }
    0x004488b0 jalr t9                       |             t9 ();
    0x004488b4 nop                           |             
    0x004488b8 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x004488bc lw t9, -0x7d6c(gp)            |             t9 = sym.imp.BIO_new;
    0x004488c0 move a0, v0                   |             a0 = v0;
    0x004488c4 jalr t9                       |             t9 ();
    0x004488c8 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x004488cc move s2, v0                   |             s2 = v0;
                                             |             if (v0 == 0) {
    0x004488d0 beqz v0, 0x448b44             |                 goto label_6;
                                             |             }
    0x004488d4 lw s1, -0x7bbc(gp)            |             s1 = *((gp - 7919));
    0x004488d8 move a1, zero                 |             a1 = 0;
    0x004488dc lw t9, -0x6c20(gp)            |             t9 = sym.imp.setvbuf;
    0x004488e0 addiu a2, zero, 2             |             a2 = 2;
    0x004488e4 lw a0, (s1)                   |             a0 = *(s1);
    0x004488e8 move a3, zero                 |             a3 = 0;
    0x004488ec jalr t9                       |             t9 ();
    0x004488f0 move a0, s2                   |             a0 = s2;
    0x004488f4 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x004488f8 addiu a1, zero, 0x6a          |             a1 = 0x6a;
    0x004488fc lw a3, (s1)                   |             a3 = *(s1);
    0x00448900 lw t9, -0x7a60(gp)            |             t9 = sym.imp.BIO_ctrl;
    0x00448904 move a2, zero                 |             a2 = 0;
    0x00448908 jalr t9                       |             t9 ();
    0x0044890c lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x00448910 b 0x4489b4                    |             goto label_7;
                                             | label_4:
    0x00448914 lw t8, -0x7fd4(gp)            |             t8 = *(gp);
    0x00448918 move s0, zero                 |             s0 = 0;
    0x0044891c lw a1, -0x7f9c(gp)            |             a1 = *(gp);
    0x00448920 lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
    0x00448924 lw a0, (t8)                   |             a0 = *(t8);
                                             |             /* str.no_engine_specified_n */
    0x00448928 addiu a1, a1, -0x5028         |             a1 += -0x5028;
    0x0044892c jalr t9                       |             t9 ();
    0x00448930 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
                                             | label_1:
    0x00448934 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00448938 move a0, s3                   |         a0 = s3;
    0x0044893c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00448940 lw a2, 0x50(sp)               |         a2 = *(arg_50h);
                                             |         /* str.unable_to_load__s_n */
    0x00448944 addiu a1, a1, -0x4fc8         |         a1 += -0x4fc8;
    0x00448948 jalr t9                       |         t9 ();
    0x0044894c move v0, s0                   |         v0 = s0;
    0x00448950 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00448954 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00448958 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x0044895c lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00448960 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00448964 addiu sp, sp, 0x38            |         
    0x00448968 jr ra                         |         return v0;
                                             | label_3:
    0x0044896c lw t9, -0x78e4(gp)            |         t9 = sym.imp.BIO_s_file;
    0x00448970 jalr t9                       |         t9 ();
    0x00448974 nop                           |         
    0x00448978 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044897c lw t9, -0x7d6c(gp)            |         t9 = sym.imp.BIO_new;
    0x00448980 move a0, v0                   |         a0 = v0;
    0x00448984 jalr t9                       |         t9 ();
    0x00448988 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044898c move s2, v0                   |         s2 = v0;
                                             |         if (v0 == 0) {
    0x00448990 beqz v0, 0x448b44             |             goto label_6;
                                             |         }
    0x00448994 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x00448998 move a0, s2                   |         a0 = s2;
    0x0044899c addiu a1, zero, 0x6c          |         a1 = 0x6c;
    0x004489a0 addiu a2, zero, 3             |         a2 = 3;
    0x004489a4 move a3, s1                   |         a3 = s1;
    0x004489a8 jalr t9                       |         t9 ();
    0x004489ac lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 <= 0) {
    0x004489b0 blez v0, 0x448b0c             |             goto label_8;
                                             |         }
                                             | label_7:
    0x004489b4 addiu t8, zero, 1             |         t8 = 1;
    0x004489b8 addiu t8, zero, 0xa           |         t8 = 0xa;
                                             |         if (s0 == t8) {
    0x004489bc beq s0, t8, 0x448a04          |             goto label_9;
                                             |         }
    0x004489c0 addiu t8, zero, 9             |         t8 = 9;
                                             |         if (s0 == t8) {
    0x004489c4 beq s0, t8, 0x448a40          |             goto label_10;
                                             |         }
    0x004489c8 addiu t8, zero, 3             |         t8 = 3;
                                             |         if (s0 == t8) {
    0x004489cc beq s0, t8, 0x448a9c          |             goto label_11;
                                             |         }
    0x004489d0 addiu t8, zero, 0xb           |         t8 = 0xb;
                                             |         if (s0 == t8) {
    0x004489d4 beq s0, t8, 0x448ac8          |             goto label_12;
                                             |         }
    0x004489d8 lw t9, -0x7da4(gp)            |         t9 = sym.imp.b2i_PublicKey_bio;
                                             |         if (s0 != t8) {
    0x004489dc bne s0, t8, 0x448a20          |             goto label_13;
                                             |         }
    0x004489e0 move a0, s2                   |         a0 = s2;
    0x004489e4 jalr t9                       |         t9 ();
    0x004489e8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x004489ec move s0, v0                   |         s0 = v0;
                                             | label_0:
    0x004489f0 lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
    0x004489f4 move a0, s2                   |         a0 = s2;
    0x004489f8 jalr t9                       |         t9 ();
    0x004489fc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448a00 b 0x44887c                    |         
                                             |     } while (1);
                                             | label_9:
    0x00448a04 lw t9, -0x7c80(gp)            |     t9 = sym.imp.d2i_PUBKEY_bio;
    0x00448a08 move a0, s2                   |     a0 = s2;
    0x00448a0c move a1, zero                 |     a1 = 0;
    0x00448a10 jalr t9                       |     t9 ();
    0x00448a14 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448a18 move s0, v0                   |     s0 = v0;
    0x00448a1c b 0x4489f0                    |     goto label_0;
                                             | label_13:
    0x00448a20 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448a24 move a0, s3                   |     a0 = s3;
    0x00448a28 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448a2c move s0, zero                 |     s0 = 0;
                                             |     /* str.bad_input_format_specified_for_key_file_n */
    0x00448a30 addiu a1, a1, -0x4ff4         |     a1 += -0x4ff4;
    0x00448a34 jalr t9                       |     t9 ();
    0x00448a38 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448a3c b 0x4489f0                    |     goto label_0;
                                             | label_10:
    0x00448a40 lw t9, -0x6f5c(gp)            |     t9 = sym.imp.d2i_RSAPublicKey_bio;
    0x00448a44 move a0, s2                   |     a0 = s2;
    0x00448a48 move a1, zero                 |     a1 = 0;
    0x00448a4c jalr t9                       |     t9 ();
    0x00448a50 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448a54 move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00448a58 beqz v0, 0x448ac0             |         goto label_14;
                                             |     }
                                             |     do {
    0x00448a5c lw t9, -0x6e60(gp)            |         t9 = sym.imp.EVP_PKEY_new;
    0x00448a60 jalr t9                       |         t9 ();
    0x00448a64 nop                           |         
    0x00448a68 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448a6c move s0, v0                   |         s0 = v0;
                                             |         if (v0 != 0) {
    0x00448a70 beqz v0, 0x448a88             |             
    0x00448a74 lw t9, -0x73d4(gp)            |             t9 = sym.imp.EVP_PKEY_set1_RSA;
    0x00448a78 move a0, v0                   |             a0 = v0;
    0x00448a7c move a1, s1                   |             a1 = s1;
    0x00448a80 jalr t9                       |             t9 ();
    0x00448a84 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00448a88 lw t9, -0x6d40(gp)            |         t9 = sym.imp.RSA_free;
    0x00448a8c move a0, s1                   |         a0 = s1;
    0x00448a90 jalr t9                       |         t9 ();
    0x00448a94 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448a98 b 0x4489f0                    |         goto label_0;
                                             | label_11:
    0x00448a9c lw t9, -0x77c8(gp)            |         t9 = sym.imp.PEM_read_bio_RSAPublicKey;
    0x00448aa0 move a0, s2                   |         a0 = s2;
    0x00448aa4 lw a2, -0x7e2c(gp)            |         a2 = sym.password_callback;
    0x00448aa8 move a1, zero                 |         a1 = 0;
    0x00448aac addiu a3, sp, 0x18            |         a3 = sp + 0x18;
    0x00448ab0 jalr t9                       |         t9 ();
    0x00448ab4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00448ab8 move s1, v0                   |         s1 = v0;
    0x00448abc bnez v0, 0x448a5c             |         
                                             |     } while (v0 != 0);
                                             | label_14:
    0x00448ac0 move s0, zero                 |     s0 = 0;
    0x00448ac4 b 0x4489f0                    |     goto label_0;
                                             | label_12:
    0x00448ac8 lw t9, -0x7278(gp)            |     t9 = sym.imp.PEM_read_bio_PUBKEY;
    0x00448acc move a0, s2                   |     a0 = s2;
    0x00448ad0 lw a2, -0x7e2c(gp)            |     a2 = sym.password_callback;
    0x00448ad4 move a1, zero                 |     a1 = 0;
    0x00448ad8 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x00448adc jalr t9                       |     t9 ();
    0x00448ae0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448ae4 move s0, v0                   |     s0 = v0;
    0x00448ae8 b 0x4489f0                    |     goto label_0;
                                             | label_5:
    0x00448aec lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448af0 move a0, s3                   |     a0 = s3;
    0x00448af4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448af8 move s0, zero                 |     s0 = 0;
                                             |     /* str.no_keyfile_specified_n */
    0x00448afc addiu a1, a1, -0x5040         |     a1 += -0x5040;
    0x00448b00 jalr t9                       |     t9 ();
    0x00448b04 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448b08 b 0x448934                    |     goto label_1;
                                             | label_8:
    0x00448b0c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00448b10 move a0, s3                   |     a0 = s3;
    0x00448b14 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00448b18 move a3, s1                   |     a3 = s1;
    0x00448b1c lw a2, 0x50(sp)               |     a2 = *(arg_50h);
                                             |     /* str.Error_opening__s__s_n */
    0x00448b20 addiu a1, a1, -0x50c8         |     a1 += -0x50c8;
    0x00448b24 move s0, zero                 |     s0 = 0;
    0x00448b28 jalr t9                       |     t9 ();
    0x00448b2c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448b30 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00448b34 move a0, s3                   |     a0 = s3;
    0x00448b38 jalr t9                       |     t9 ();
    0x00448b3c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448b40 b 0x4489f0                    |     goto label_0;
                                             | label_6:
    0x00448b44 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00448b48 move a0, s3                   |     a0 = s3;
    0x00448b4c move s0, zero                 |     s0 = 0;
    0x00448b50 jalr t9                       |     t9 ();
    0x00448b54 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00448b58 b 0x448934                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449fe0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.load_serial ()               | void load_serial () {
    0x00449fe0 lui gp, 5                     |     
    0x00449fe4 addiu gp, gp, 0x24c0          |     
    0x00449fe8 addu gp, gp, t9               |     gp += t9;
    0x00449fec addiu sp, sp, -0x430          |     
    0x00449ff0 sw ra, 0x42c(sp)              |     *(var_42ch) = ra;
    0x00449ff4 sw s4, 0x428(sp)              |     *(var_428h) = s4;
    0x00449ff8 sw s3, 0x424(sp)              |     *(var_424h) = s3;
    0x00449ffc sw s2, 0x420(sp)              |     *(var_420h) = s2;
    0x0044a000 sw s1, 0x41c(sp)              |     *(var_41ch) = s1;
    0x0044a004 sw s0, 0x418(sp)              |     *(var_418h) = s0;
    0x0044a008 move s2, a0                   |     s2 = a0;
    0x0044a00c lw t9, -0x7c88(gp)            |     t9 = sym.imp.ASN1_INTEGER_new;
    0x0044a010 move s4, a1                   |     s4 = a1;
    0x0044a014 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044a018 move s3, a2                   |     s3 = a2;
    0x0044a01c jalr t9                       |     t9 ();
    0x0044a020 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a024 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x0044a028 beqz v0, 0x44a16c             |         goto label_3;
                                             |     }
    0x0044a02c lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x0044a030 jalr t9                       |     t9 ();
    0x0044a034 nop                           |     
    0x0044a038 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a03c lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x0044a040 move a0, v0                   |     a0 = v0;
    0x0044a044 jalr t9                       |     t9 ();
    0x0044a048 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a04c move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x0044a050 beqz v0, 0x44a158             |         goto label_4;
                                             |     }
    0x0044a054 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0044a058 move a0, v0                   |     a0 = v0;
    0x0044a05c addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x0044a060 addiu a2, zero, 3             |     a2 = 3;
    0x0044a064 move a3, s2                   |     a3 = s2;
    0x0044a068 jalr t9                       |     t9 ();
    0x0044a06c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x0044a070 blez v0, 0x44a104             |         goto label_5;
                                             |     }
    0x0044a074 lw t9, -0x7a18(gp)            |     t9 = sym.imp.a2i_ASN1_INTEGER;
    0x0044a078 move a0, s1                   |     a0 = s1;
    0x0044a07c move a1, s0                   |     a1 = s0;
    0x0044a080 addiu a2, sp, 0x18            |     a2 = sp + 0x18;
    0x0044a084 addiu a3, zero, 0x400         |     a3 = 0x400;
    0x0044a088 jalr t9                       |     t9 ();
    0x0044a08c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044a090 beqz v0, 0x44a1b4             |         goto label_6;
                                             |     }
    0x0044a094 lw t9, -0x7008(gp)            |     t9 = sym.imp.ASN1_INTEGER_to_BN;
    0x0044a098 move a0, s0                   |     a0 = s0;
    0x0044a09c move a1, zero                 |     a1 = 0;
    0x0044a0a0 jalr t9                       |     t9 ();
    0x0044a0a4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a0a8 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x0044a0ac beqz v0, 0x44a194             |         goto label_7;
                                             |     }
                                             |     do {
                                             | label_0:
    0x0044a0b0 lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
                                             |         if (s3 != 0) {
    0x0044a0b4 beqz s3, 0x44a0c4             |             
    0x0044a0b8 sw s0, (s3)                   |             *(s3) = s0;
    0x0044a0bc move s0, zero                 |             s0 = 0;
                                             | label_2:
    0x0044a0c0 lw t9, -0x6e9c(gp)            |             t9 = sym.imp.BIO_free;
                                             |         }
    0x0044a0c4 move a0, s1                   |         a0 = s1;
    0x0044a0c8 jalr t9                       |         t9 ();
    0x0044a0cc lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_1:
    0x0044a0d0 lw t9, -0x7b28(gp)            |         t9 = sym.imp.ASN1_INTEGER_free;
                                             |         if (s0 != 0) {
    0x0044a0d4 beqz s0, 0x44a0e0             |             
    0x0044a0d8 move a0, s0                   |             a0 = s0;
    0x0044a0dc jalr t9                       |             t9 ();
                                             |         }
    0x0044a0e0 move v0, s2                   |         v0 = s2;
    0x0044a0e4 lw ra, 0x42c(sp)              |         ra = *(var_42ch);
    0x0044a0e8 lw s4, 0x428(sp)              |         s4 = *(var_428h);
    0x0044a0ec lw s3, 0x424(sp)              |         s3 = *(var_424h);
    0x0044a0f0 lw s2, 0x420(sp)              |         s2 = *(var_420h);
    0x0044a0f4 lw s1, 0x41c(sp)              |         s1 = *(var_41ch);
    0x0044a0f8 lw s0, 0x418(sp)              |         s0 = *(var_418h);
    0x0044a0fc addiu sp, sp, 0x430           |         
    0x0044a100 jr ra                         |         return v0;
                                             | label_5:
    0x0044a104 lw t9, -0x790c(gp)            |         t9 = sym.imp.BN_new;
                                             |         if (s4 == 0) {
    0x0044a108 beqz s4, 0x44a1dc             |             goto label_8;
                                             |         }
    0x0044a10c jalr t9                       |         t9 ();
    0x0044a110 nop                           |         
    0x0044a114 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044a118 move s2, v0                   |         s2 = v0;
                                             |         if (v0 == 0) {
    0x0044a11c beqz v0, 0x44a174             |             goto label_9;
                                             |         }
    0x0044a120 lw t9, -0x7f90(gp)            |         t9 = sym.rand_serial;
    0x0044a124 move a0, v0                   |         a0 = v0;
    0x0044a128 move a1, s0                   |         a1 = s0;
    0x0044a12c jalr t9                       |         t9 ();
    0x0044a130 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044a134 bnez v0, 0x44a0b0             |         
                                             |     } while (v0 != 0);
    0x0044a138 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a13c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044a140 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a144 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Out_of_memory_n */
    0x0044a148 addiu a1, a1, -0x1474         |     a1 += -0x1474;
    0x0044a14c jalr t9                       |     t9 ();
    0x0044a150 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a154 b 0x44a0b0                    |     goto label_0;
                                             | label_4:
    0x0044a158 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a15c lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0044a160 lw a0, (t8)                   |     a0 = *(t8);
    0x0044a164 jalr t9                       |     t9 ();
    0x0044a168 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_3:
    0x0044a16c move s2, zero                 |     s2 = 0;
    0x0044a170 b 0x44a0d0                    |     goto label_1;
                                             | label_9:
    0x0044a174 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a178 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044a17c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a180 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Out_of_memory_n */
    0x0044a184 addiu a1, a1, -0x1474         |     a1 += -0x1474;
    0x0044a188 jalr t9                       |     t9 ();
    0x0044a18c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a190 b 0x44a0c0                    |     goto label_2;
                                             | label_7:
    0x0044a194 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a198 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044a19c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a1a0 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.error_converting_number_from_bin_to_BIGNUM_n */
    0x0044a1a4 addiu a1, a1, -0x4e68         |     a1 += -0x4e68;
    0x0044a1a8 jalr t9                       |     t9 ();
    0x0044a1ac lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a1b0 b 0x44a0c0                    |     goto label_2;
                                             | label_6:
    0x0044a1b4 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a1b8 move a2, s2                   |     a2 = s2;
    0x0044a1bc lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044a1c0 move s2, zero                 |     s2 = 0;
    0x0044a1c4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a1c8 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.unable_to_load_number_from__s_n */
    0x0044a1cc addiu a1, a1, -0x4e88         |     a1 += -0x4e88;
    0x0044a1d0 jalr t9                       |     t9 ();
    0x0044a1d4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a1d8 b 0x44a0c0                    |     goto label_2;
                                             | label_8:
    0x0044a1dc lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
    0x0044a1e0 move a0, s2                   |     a0 = s2;
    0x0044a1e4 move s2, zero                 |     s2 = 0;
    0x0044a1e8 jalr t9                       |     t9 ();
    0x0044a1ec lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044a1f0 b 0x44a0c0                    |     goto label_2;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41d080 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.make_revocation_str ()           | void make_revocation_str () {
    0x0041d080 lui gp, 8                         |     
    0x0041d084 addiu gp, gp, -0xbe0              |     
    0x0041d088 addu gp, gp, t9                   |     gp += t9;
    0x0041d08c addiu sp, sp, -0x30               |     
    0x0041d090 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x0041d094 sw s4, 0x28(sp)                   |     *(var_28h) = s4;
    0x0041d098 sw s3, 0x24(sp)                   |     *(var_24h) = s3;
    0x0041d09c sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x0041d0a0 sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x0041d0a4 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x0041d0a8 addiu t8, zero, 2                 |     t8 = 2;
    0x0041d0ac sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0041d0b0 move s0, a0                       |     s0 = a0;
    0x0041d0b4 move s1, a1                       |     s1 = a1;
                                                 |     if (a0 != t8) {
    0x0041d0b8 beq a0, t8, 0x41d220              |         
    0x0041d0bc slti t8, a0, 3                    |         t8 = (a0 < 3) ? 1 : 0;
    0x0041d0c0 slti t8, a0, 5                    |         t8 = (a0 < 5) ? 1 : 0;
                                                 |         if (t8 != 0) {
    0x0041d0c4 beqz t8, 0x41d1f0                 |             
    0x0041d0c8 addiu t8, zero, 1                 |             t8 = 1;
    0x0041d0cc move a0, a1                       |             a0 = a1;
                                                 |             if (a0 != t8) {
    0x0041d0d0 bne a0, t8, 0x41d38c              |                 goto label_2;
                                                 |             }
    0x0041d0d4 lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d0d8 lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.unspecified */
    0x0041d0dc addiu a1, s4, -0x8c               |             a1 = s4 + -0x8c;
    0x0041d0e0 jalr t9                           |             t9 ();
    0x0041d0e4 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d0e8 beqz v0, 0x41d3b8                 |                 goto label_3;
                                                 |             }
    0x0041d0ec lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d0f0 move a0, s1                       |             a0 = s1;
    0x0041d0f4 lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.keyCompromise */
    0x0041d0f8 addiu a1, s4, -0x9c               |             a1 = s4 + -0x9c;
    0x0041d0fc jalr t9                           |             t9 ();
    0x0041d100 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d104 beqz v0, 0x41d3e8                 |                 goto label_4;
                                                 |             }
    0x0041d108 lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d10c move a0, s1                       |             a0 = s1;
    0x0041d110 lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.CACompromise */
    0x0041d114 addiu a1, s4, -0xac               |             a1 = s4 + -0xac;
    0x0041d118 jalr t9                           |             t9 ();
    0x0041d11c lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d120 beqz v0, 0x41d3f4                 |                 goto label_5;
                                                 |             }
    0x0041d124 lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d128 move a0, s1                       |             a0 = s1;
    0x0041d12c lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.affiliationChanged */
    0x0041d130 addiu a1, s4, -0xc0               |             a1 = s4 + -0xc0;
    0x0041d134 jalr t9                           |             t9 ();
    0x0041d138 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d13c beqz v0, 0x41d400                 |                 goto label_6;
                                                 |             }
    0x0041d140 lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d144 move a0, s1                       |             a0 = s1;
    0x0041d148 lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.superseded */
    0x0041d14c addiu a1, s4, -0xcc               |             a1 = s4 + -0xcc;
    0x0041d150 jalr t9                           |             t9 ();
    0x0041d154 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d158 beqz v0, 0x41d3ac                 |                 goto label_7;
                                                 |             }
    0x0041d15c lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d160 move a0, s1                       |             a0 = s1;
    0x0041d164 lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.cessationOfOperation */
    0x0041d168 addiu a1, s4, -0xe4               |             a1 = s4 + -0xe4;
    0x0041d16c jalr t9                           |             t9 ();
    0x0041d170 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d174 beqz v0, 0x41d40c                 |                 goto label_8;
                                                 |             }
    0x0041d178 lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d17c move a0, s1                       |             a0 = s1;
    0x0041d180 lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.certificateHold */
    0x0041d184 addiu a1, s4, -0xf4               |             a1 = s4 + -0xf4;
    0x0041d188 jalr t9                           |             t9 ();
    0x0041d18c lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d190 beqz v0, 0x41d418                 |                 goto label_9;
                                                 |             }
    0x0041d194 lw s4, -0x7fd8(gp)                |             s4 = *(gp);
    0x0041d198 move a0, s1                       |             a0 = s1;
    0x0041d19c lw t9, -0x7d78(gp)                |             t9 = sym.imp.strcasecmp;
                                                 |             /* str.removeFromCRL */
    0x0041d1a0 addiu a1, s4, -0x80               |             a1 = s4 + -0x80;
    0x0041d1a4 jalr t9                           |             t9 ();
    0x0041d1a8 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x0041d1ac beqz v0, 0x41d424                 |                 goto label_10;
                                                 |             }
    0x0041d1b0 lw t8, -0x7fd4(gp)                |             t8 = *(gp);
    0x0041d1b4 move a2, s1                       |             a2 = s1;
    0x0041d1b8 lw a1, -0x7fd8(gp)                |             a1 = *(gp);
    0x0041d1bc lw t9, -0x780c(gp)                |             t9 = sym.imp.BIO_printf
    0x0041d1c0 lw a0, (t8)                       |             a0 = *(t8);
                                                 |             /* str.Unknown_CRL_reason__s_n */
    0x0041d1c4 addiu a1, a1, -0x70               |             a1 += -0x70;
    0x0041d1c8 jalr t9                           |             t9 ();
    0x0041d1cc move v0, zero                     |             v0 = 0;
    0x0041d1d0 lw ra, 0x2c(sp)                   |             ra = *(var_2ch);
    0x0041d1d4 lw s4, 0x28(sp)                   |             s4 = *(var_28h);
    0x0041d1d8 lw s3, 0x24(sp)                   |             s3 = *(var_24h);
    0x0041d1dc lw s2, 0x20(sp)                   |             s2 = *(var_20h);
    0x0041d1e0 lw s1, 0x1c(sp)                   |             s1 = *(var_1ch);
    0x0041d1e4 lw s0, 0x18(sp)                   |             s0 = *(var_18h);
    0x0041d1e8 addiu sp, sp, 0x30                |             
    0x0041d1ec jr ra                             |             return v0;
                                                 |         }
    0x0041d1f0 lw t9, -0x7758(gp)                |         t9 = sym.imp.ASN1_GENERALIZEDTIME_set_string;
                                                 |         if (t8 == 0) {
    0x0041d1f4 beqz t8, 0x41d38c                 |             goto label_2;
                                                 |         }
    0x0041d1f8 move a0, zero                     |         a0 = 0;
    0x0041d1fc jalr t9                           |         t9 ();
    0x0041d200 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (v0 == 0) {
    0x0041d204 beqz v0, 0x41d3c4                 |             goto label_11;
                                                 |         }
    0x0041d208 addiu t8, zero, 3                 |         t8 = 3;
                                                 |         if (s0 == t8) {
    0x0041d20c beq s0, t8, 0x41d398              |             goto label_12;
                                                 |         }
    0x0041d210 nop                               |         
    0x0041d214 lw s4, -0x7fd8(gp)                |         s4 = *(gp);
                                                 |         /* str.CAkeyTime */
    0x0041d218 addiu s4, s4, -0x118              |         s4 += -0x118;
    0x0041d21c b 0x41d254                        |         
                                                 |     } else {
    0x0041d220 lw t9, -0x7ca4(gp)                |         t9 = sym.imp.OBJ_txt2obj;
    0x0041d224 move a0, a1                       |         a0 = a1;
    0x0041d228 move a1, zero                     |         a1 = 0;
    0x0041d22c jalr t9                           |         t9 ();
    0x0041d230 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0041d234 move s0, v0                       |         s0 = v0;
    0x0041d238 lw t9, -0x71c8(gp)                |         t9 = *((gp - 7282));
    0x0041d23c move a0, v0                       |         a0 = v0;
    0x0041d240 jalr t9                           |         t9 ();
    0x0041d244 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (s0 == 0) {
    0x0041d248 beqz s0, 0x41d430                 |             goto label_13;
                                                 |         }
    0x0041d24c lw s4, -0x7fd8(gp)                |         s4 = *(gp);
                                                 |         /* str.holdInstruction */
    0x0041d250 addiu s4, s4, -0x10c              |         s4 += -0x10c;
                                                 |     }
                                                 |     do {
                                                 | label_0:
    0x0041d254 lw t9, -0x7b70(gp)                |         t9 = sym.imp.X509_gmtime_adj;
    0x0041d258 move a0, zero                     |         a0 = 0;
    0x0041d25c move a1, zero                     |         a1 = 0;
    0x0041d260 jalr t9                           |         t9 ();
    0x0041d264 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0041d268 move s3, v0                       |         s3 = v0;
                                                 |         if (v0 == 0) {
    0x0041d26c beqz v0, 0x41d3a4                 |             goto label_14;
                                                 |         }
    0x0041d270 lw s2, (v0)                       |         s2 = *(v0);
    0x0041d274 addiu s0, s2, 1                   |         s0 = s2 + 1;
                                                 |         if (s4 != 0) {
    0x0041d278 beqz s4, 0x41d294                 |             
    0x0041d27c lw t9, -0x7cf8(gp)                |             t9 = sym.imp.strlen;
    0x0041d280 move a0, s4                       |             a0 = s4;
    0x0041d284 addiu s0, s2, 2                   |             s0 = s2 + 2;
    0x0041d288 jalr t9                           |             t9 ();
    0x0041d28c lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x0041d290 addu s0, s0, v0                   |             s0 += v0;
                                                 |         }
    0x0041d294 lw t9, -0x7cf8(gp)                |         t9 = sym.imp.strlen;
                                                 |         if (s1 != 0) {
    0x0041d298 beqz s1, 0x41d2b0                 |             
    0x0041d29c move a0, s1                       |             a0 = s1;
    0x0041d2a0 addiu s0, s0, 1                   |             s0++;
    0x0041d2a4 jalr t9                           |             t9 ();
    0x0041d2a8 lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x0041d2ac addu s0, s0, v0                   |             s0 += v0;
                                                 |         }
    0x0041d2b0 lw a1, -0x7fd8(gp)                |         a1 = *(gp);
    0x0041d2b4 move a0, s0                       |         a0 = s0;
    0x0041d2b8 lw t9, -0x7cd8(gp)                |         t9 = sym.imp.CRYPTO_malloc;
    0x0041d2bc addiu a2, zero, 0xa95             |         a2 = 0xa95;
                                                 |         /* str.ca.c */
    0x0041d2c0 addiu a1, a1, -8                  |         a1 += -8;
    0x0041d2c4 jalr t9                           |         t9 ();
    0x0041d2c8 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0041d2cc move s2, v0                       |         s2 = v0;
                                                 |         if (v0 == 0) {
    0x0041d2d0 beqz v0, 0x41d3a4                 |             goto label_14;
                                                 |         }
    0x0041d2d4 lw t9, -0x6c38(gp)                |         t9 = sym.imp.BUF_strlcpy;
    0x0041d2d8 move a0, v0                       |         a0 = v0;
    0x0041d2dc lw a1, 8(s3)                      |         a1 = *((s3 + 2));
    0x0041d2e0 move a2, s0                       |         a2 = s0;
    0x0041d2e4 jalr t9                           |         t9 ();
    0x0041d2e8 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (s4 != 0) {
    0x0041d2ec beqz s4, 0x41d324                 |             
    0x0041d2f0 lw a1, -0x7f9c(gp)                |             a1 = *(gp);
    0x0041d2f4 move a0, s2                       |             a0 = s2;
    0x0041d2f8 lw t9, -0x7470(gp)                |             t9 = sym.imp.BUF_strlcat;
    0x0041d2fc move a2, s0                       |             a2 = s0;
    0x0041d300 addiu a1, a1, -0x4404             |             a1 += -0x4404;
    0x0041d304 jalr t9                           |             t9 ();
    0x0041d308 move a0, s2                       |             a0 = s2;
    0x0041d30c lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x0041d310 move a1, s4                       |             a1 = s4;
    0x0041d314 lw t9, -0x7470(gp)                |             t9 = sym.imp.BUF_strlcat;
    0x0041d318 move a2, s0                       |             a2 = s0;
    0x0041d31c jalr t9                           |             t9 ();
    0x0041d320 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |         }
    0x0041d324 lw a1, -0x7f9c(gp)                |         a1 = *(gp);
                                                 |         if (s1 != 0) {
    0x0041d328 beqz s1, 0x41d35c                 |             
    0x0041d32c move a0, s2                       |             a0 = s2;
    0x0041d330 lw t9, -0x7470(gp)                |             t9 = sym.imp.BUF_strlcat;
    0x0041d334 move a2, s0                       |             a2 = s0;
    0x0041d338 addiu a1, a1, -0x4404             |             a1 += -0x4404;
    0x0041d33c jalr t9                           |             t9 ();
    0x0041d340 move a0, s2                       |             a0 = s2;
    0x0041d344 lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x0041d348 move a1, s1                       |             a1 = s1;
    0x0041d34c lw t9, -0x7470(gp)                |             t9 = sym.imp.BUF_strlcat;
    0x0041d350 move a2, s0                       |             a2 = s0;
    0x0041d354 jalr t9                           |             t9 ();
    0x0041d358 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |         }
    0x0041d35c lw t9, -0x7b6c(gp)                |         t9 = sym.imp.ASN1_UTCTIME_free;
    0x0041d360 move a0, s3                       |         a0 = s3;
    0x0041d364 jalr t9                           |         t9 ();
    0x0041d368 move v0, s2                       |         v0 = s2;
                                                 | label_1:
    0x0041d36c lw ra, 0x2c(sp)                   |         ra = *(var_2ch);
    0x0041d370 lw s4, 0x28(sp)                   |         s4 = *(var_28h);
    0x0041d374 lw s3, 0x24(sp)                   |         s3 = *(var_24h);
    0x0041d378 lw s2, 0x20(sp)                   |         s2 = *(var_20h);
    0x0041d37c lw s1, 0x1c(sp)                   |         s1 = *(var_1ch);
    0x0041d380 lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x0041d384 addiu sp, sp, 0x30                |         
    0x0041d388 jr ra                             |         return v0;
                                                 | label_2:
    0x0041d38c move s4, zero                     |         s4 = 0;
    0x0041d390 move s1, zero                     |         s1 = 0;
    0x0041d394 b 0x41d254                        |         
                                                 |     } while (1);
                                                 | label_12:
    0x0041d398 lw s4, -0x7fd8(gp)                |     s4 = *(gp);
                                                 |     /* str.keyTime */
    0x0041d39c addiu s4, s4, -0xfc               |     s4 += -0xfc;
    0x0041d3a0 b 0x41d254                        |     goto label_0;
                                                 | label_14:
    0x0041d3a4 move v0, zero                     |     v0 = 0;
    0x0041d3a8 b 0x41d36c                        |     goto label_1;
                                                 |     /* str.superseded */
                                                 | label_7:
    0x0041d3ac addiu s4, s4, -0xcc               |     s4 += -0xcc;
    0x0041d3b0 move s1, zero                     |     s1 = 0;
    0x0041d3b4 b 0x41d254                        |     goto label_0;
                                                 |     /* str.unspecified */
                                                 | label_3:
    0x0041d3b8 addiu s4, s4, -0x8c               |     s4 += -0x8c;
    0x0041d3bc move s1, zero                     |     s1 = 0;
    0x0041d3c0 b 0x41d254                        |     goto label_0;
                                                 | label_11:
    0x0041d3c4 lw t8, -0x7fd4(gp)                |     t8 = *(gp);
    0x0041d3c8 move a2, s1                       |     a2 = s1;
    0x0041d3cc lw a1, -0x7fd8(gp)                |     a1 = *(gp);
    0x0041d3d0 lw t9, -0x780c(gp)                |     t9 = sym.imp.BIO_printf
    0x0041d3d4 lw a0, (t8)                       |     a0 = *(t8);
                                                 |     /* str.Invalid_time_format__s._Need_YYYYMMDDHHMMSSZ_n */
    0x0041d3d8 addiu a1, a1, -0x38               |     a1 += -0x38;
    0x0041d3dc jalr t9                           |     t9 ();
    0x0041d3e0 move v0, zero                     |     v0 = 0;
    0x0041d3e4 b 0x41d36c                        |     goto label_1;
                                                 |     /* str.keyCompromise */
                                                 | label_4:
    0x0041d3e8 addiu s4, s4, -0x9c               |     s4 += -0x9c;
    0x0041d3ec move s1, zero                     |     s1 = 0;
    0x0041d3f0 b 0x41d254                        |     goto label_0;
                                                 |     /* str.CACompromise */
                                                 | label_5:
    0x0041d3f4 addiu s4, s4, -0xac               |     s4 += -0xac;
    0x0041d3f8 move s1, zero                     |     s1 = 0;
    0x0041d3fc b 0x41d254                        |     goto label_0;
                                                 |     /* str.affiliationChanged */
                                                 | label_6:
    0x0041d400 addiu s4, s4, -0xc0               |     s4 += -0xc0;
    0x0041d404 move s1, zero                     |     s1 = 0;
    0x0041d408 b 0x41d254                        |     goto label_0;
                                                 |     /* str.cessationOfOperation */
                                                 | label_8:
    0x0041d40c addiu s4, s4, -0xe4               |     s4 += -0xe4;
    0x0041d410 move s1, zero                     |     s1 = 0;
    0x0041d414 b 0x41d254                        |     goto label_0;
                                                 |     /* str.certificateHold */
                                                 | label_9:
    0x0041d418 addiu s4, s4, -0xf4               |     s4 += -0xf4;
    0x0041d41c move s1, zero                     |     s1 = 0;
    0x0041d420 b 0x41d254                        |     goto label_0;
                                                 |     /* str.removeFromCRL */
                                                 | label_10:
    0x0041d424 addiu s4, s4, -0x80               |     s4 += -0x80;
    0x0041d428 move s1, zero                     |     s1 = 0;
    0x0041d42c b 0x41d254                        |     goto label_0;
                                                 | label_13:
    0x0041d430 lw t8, -0x7fd4(gp)                |     t8 = *(gp);
    0x0041d434 move a2, s1                       |     a2 = s1;
    0x0041d438 lw a1, -0x7fd8(gp)                |     a1 = *(gp);
    0x0041d43c lw t9, -0x780c(gp)                |     t9 = sym.imp.BIO_printf
    0x0041d440 lw a0, (t8)                       |     a0 = *(t8);
                                                 |     /* str.Invalid_object_identifier__s_n */
    0x0041d444 addiu a1, a1, -0x58               |     a1 += -0x58;
    0x0041d448 jalr t9                           |     t9 ();
    0x0041d44c move v0, zero                     |     v0 = 0;
    0x0041d450 b 0x41d36c                        |     goto label_1;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44e2a4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.msg_cb ()                    | void msg_cb () {
    0x0044e2a4 lui gp, 5                     |     
    0x0044e2a8 addiu gp, gp, -0x1e04         |     
    0x0044e2ac addu gp, gp, t9               |     gp += t9;
    0x0044e2b0 addiu sp, sp, -0x48           |     
    0x0044e2b4 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0044e2b8 sw s5, 0x40(sp)               |     *(var_40h) = s5;
    0x0044e2bc sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x0044e2c0 sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x0044e2c4 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x0044e2c8 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x0044e2cc sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x0044e2d0 move t8, a2                   |     t8 = a2;
    0x0044e2d4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0044e2d8 move s3, a3                   |     s3 = a3;
    0x0044e2dc lw s2, 0x58(sp)               |     s2 = *(arg_58h);
    0x0044e2e0 lw s1, 0x60(sp)               |     s1 = *(arg_60h);
                                             |     if (a0 == 0) {
    0x0044e2e4 beqz a0, 0x44e3bc             |         goto label_11;
                                             |     }
    0x0044e2e8 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044e2ec addiu v0, zero, 0x301         |     v0 = 0x301;
                                             |     /* esilref: '>>>' */
    0x0044e2f0 addiu a2, a2, -0x41dc         |     a2 += -0x41dc;
                                             |     if (a1 == v0) {
    0x0044e2f4 beq a1, v0, 0x44e3cc          |         goto label_12;
                                             |     }
                                             |     do {
    0x0044e2f8 slti v0, a1, 0x302            |         v0 = (a1 < 0x302) ? 1 : 0;
    0x0044e2fc addiu v0, zero, 0x100         |         v0 = 0x100;
                                             |         if (v0 != 0) {
    0x0044e300 bnez v0, 0x44e3d8             |             goto label_13;
                                             |         }
    0x0044e304 addiu v0, zero, 0x303         |         v0 = 0x303;
    0x0044e308 slti v0, a1, 0x303            |         v0 = (a1 < 0x303) ? 1 : 0;
                                             |         if (a1 == v0) {
    0x0044e30c beq a1, v0, 0x44e640          |             goto label_14;
                                             |         }
    0x0044e310 ori v0, zero, 0xfeff          |         v0 = 0xfeff;
                                             |         if (v0 != 0) {
    0x0044e314 bnez v0, 0x44e43c             |             goto label_15;
                                             |         }
    0x0044e318 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         if (a1 != v0) {
    0x0044e31c bne a1, v0, 0x44e3f0          |             goto label_16;
                                             |         }
                                             |         /* str.DTLS_1.0_ */
    0x0044e320 addiu a3, a3, -0x407c         |         a3 += -0x407c;
                                             | label_0:
    0x0044e324 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x0044e328 addiu v0, v0, 0x3b3c          |         v0 += 0x3b3c;
    0x0044e32c move v1, v0                   |         v1 = v0;
                                             | label_7:
    0x0044e330 addiu a0, a1, -0x300          |         a0 = a1 + -0x300;
    0x0044e334 sltiu a0, a0, 4               |         a0 = (a0 < 4) ? 1 : 0;
    0x0044e338 addiu a0, zero, 0x15          |         a0 = 0x15;
                                             |         if (a0 != 0) {
    0x0044e33c bnez a0, 0x44e458             |             goto label_17;
                                             |         }
    0x0044e340 ori a0, zero, 0xfeff          |         a0 = 0xfeff;
    0x0044e344 addiu a0, zero, 0x100         |         a0 = 0x100;
                                             |         if (a1 == a0) {
    0x0044e348 beq a1, a0, 0x44e454          |             goto label_18;
                                             |         }
    0x0044e34c lw t0, -0x7fd8(gp)            |         t0 = *(gp);
                                             |         if (a1 == a0) {
    0x0044e350 beq a1, a0, 0x44e454          |             goto label_18;
                                             |         }
    0x0044e354 addiu t0, t0, 0x3b3c          |         t0 += 0x3b3c;
                                             | label_4:
    0x0044e358 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             | label_1:
    0x0044e35c move a0, s1                   |         a0 = s1;
    0x0044e360 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044e364 sw t0, 0x10(sp)               |         *(var_10h) = t0;
                                             |         /* str._s__s_s__length__04lx__s_s_n */
    0x0044e368 addiu a1, a1, -0x3cbc         |         a1 += -0x3cbc;
    0x0044e36c sw s2, 0x14(sp)               |         *(var_14h) = s2;
    0x0044e370 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x0044e374 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x0044e378 jalr t9                       |         t9 ();
    0x0044e37c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s2 != 0) {
    0x0044e380 bnez s2, 0x44e4e4             |             goto label_19;
                                             |         }
    0x0044e384 move a0, s1                   |         a0 = s1;
    0x0044e388 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x0044e38c lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0044e390 addiu a1, zero, 0xb           |         a1 = 0xb;
    0x0044e394 lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x0044e398 move a2, zero                 |         a2 = 0;
    0x0044e39c lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x0044e3a0 move a3, zero                 |         a3 = 0;
    0x0044e3a4 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x0044e3a8 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x0044e3ac lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x0044e3b0 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x0044e3b4 addiu sp, sp, 0x48            |         
    0x0044e3b8 jr t9                         |         t9 ();
                                             | label_11:
    0x0044e3bc lw a2, -0x7f9c(gp)            |         a2 = *(gp);
    0x0044e3c0 addiu v0, zero, 0x301         |         v0 = 0x301;
                                             |         /* esilref: '<<<' */
    0x0044e3c4 addiu a2, a2, -0x41d8         |         a2 += -0x41d8;
    0x0044e3c8 bne a1, v0, 0x44e2f8          |         
                                             |     } while (a1 != v0);
                                             | label_12:
    0x0044e3cc lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* str.TLS_1.0_ */
    0x0044e3d0 addiu a3, a3, -0x4058         |     a3 += -0x4058;
    0x0044e3d4 b 0x44e324                    |     goto label_0;
                                             | label_13:
    0x0044e3d8 addiu v0, zero, 0x300         |     v0 = 0x300;
                                             |     if (a1 == v0) {
    0x0044e3dc beq a1, v0, 0x44e64c          |         goto label_20;
                                             |     }
    0x0044e3e0 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (a1 != v0) {
    0x0044e3e4 beq a1, v0, 0x44e448          |         
    0x0044e3e8 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         if (a1 == v0) {
    0x0044e3ec beq a1, v0, 0x44e638          |             goto label_21;
                                             |         }
                                             | label_16:
    0x0044e3f0 addiu v0, zero, 2             |         v0 = 2;
    0x0044e3f4 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
                                             |         if (a1 != v0) {
    0x0044e3f8 bne a1, v0, 0x44ea6c          |             goto label_22;
                                             |         }
    0x0044e3fc lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* esilref: '???' */
    0x0044e400 addiu a3, a3, -0x41d4         |         a3 += -0x41d4;
                                             | label_8:
    0x0044e404 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
                                             |         if (s2 == 0) {
    0x0044e408 beqz s2, 0x44e628             |             goto label_23;
                                             |         }
    0x0044e40c lbu v0, (s3)                  |         v0 = *(s3);
    0x0044e410 sltiu v1, v0, 9               |         v1 = (v0 < 9) ? 1 : 0;
                                             |         if (v1 == 0) {
    0x0044e414 beqz v1, 0x44e624             |             goto label_24;
                                             |         }
    0x0044e418 nop                           |         
    0x0044e41c lw v1, -0x7f9c(gp)            |         v1 = *(gp);
    0x0044e420 sll v0, v0, 2                 |         v0 <<= 2;
    0x0044e424 addiu v1, v1, -0x3624         |         v1 += -0x3624;
    0x0044e428 addu v0, v1, v0               |         v0 = v1 + v0;
    0x0044e42c lw v0, (v0)                   |         v0 = *(v0);
    0x0044e430 addu v0, v0, gp               |         v0 += gp;
    0x0044e434 jr v0                         |         v0 ();
    0x0044e438 nop                           |         
                                             | label_15:
    0x0044e43c lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.TLS_1.1_ */
    0x0044e440 addiu a3, a3, -0x4064         |         a3 += -0x4064;
    0x0044e444 b 0x44e324                    |         goto label_0;
                                             |     }
    0x0044e448 lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* str.SSL_3.0_ */
    0x0044e44c addiu a3, a3, -0x404c         |     a3 += -0x404c;
    0x0044e450 b 0x44e324                    |     goto label_0;
                                             | label_18:
    0x0044e454 addiu a0, zero, 0x15          |     a0 = 0x15;
                                             | label_17:
    0x0044e458 addiu a1, zero, 0x16          |     a1 = 0x16;
                                             |     if (t8 == a0) {
    0x0044e45c beq t8, a0, 0x44e5f0          |         goto label_25;
                                             |     }
    0x0044e460 addiu a1, zero, 0x14          |     a1 = 0x14;
                                             |     if (t8 == a1) {
    0x0044e464 beq t8, a1, 0x44e618          |         goto label_26;
                                             |     }
                                             |     if (t8 == a1) {
    0x0044e468 beq t8, a1, 0x44e60c          |         goto label_27;
                                             |     }
    0x0044e46c nop                           |     
    0x0044e470 lw t0, -0x7fd8(gp)            |     t0 = *(gp);
    0x0044e474 addiu t0, t0, 0x3b3c          |     t0 += 0x3b3c;
                                             |     if (t8 == a0) {
    0x0044e478 beq t8, a0, 0x44e5f8          |         goto label_28;
                                             |     }
                                             | label_6:
    0x0044e47c addiu a0, zero, 0x16          |     a0 = 0x16;
                                             |     if (t8 == a0) {
    0x0044e480 beq t8, a0, 0x44e5b0          |         goto label_29;
                                             |     }
    0x0044e484 nop                           |     
                                             | label_5:
    0x0044e488 addiu a0, zero, 0x18          |     a0 = 0x18;
    0x0044e48c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     if (t8 != a0) {
    0x0044e490 bne t8, a0, 0x44e35c          |         goto label_1;
                                             |     }
    0x0044e494 lw t8, -0x7f9c(gp)            |     t8 = *(gp);
                                             |     if (s2 == 0) {
    0x0044e498 beqz s2, 0x44e658             |         goto label_30;
                                             |     }
    0x0044e49c lbu t8, (s3)                  |     t8 = *(s3);
    0x0044e4a0 addiu v1, zero, 1             |     v1 = 1;
    0x0044e4a4 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (t8 == v1) {
    0x0044e4a8 beq t8, v1, 0x44ea04          |         goto label_31;
                                             |     }
    0x0044e4ac lw t8, -0x7f9c(gp)            |     t8 = *(gp);
                                             |     if (t8 == v1) {
    0x0044e4b0 beq t8, v1, 0x44e708          |         goto label_32;
                                             |     }
    0x0044e4b4 lw t8, -0x7f9c(gp)            |     t8 = *(gp);
                                             |     /* str.__Heartbeat */
    0x0044e4b8 addiu t8, t8, -0x3cc8         |     t8 += -0x3cc8;
                                             | label_9:
    0x0044e4bc lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044e4c0 move a0, s1                   |     a0 = s1;
    0x0044e4c4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044e4c8 sw t0, 0x10(sp)               |     *(var_10h) = t0;
                                             |     /* str._s__s_s__length__04lx__s_s_n */
    0x0044e4cc addiu a1, a1, -0x3cbc         |     a1 += -0x3cbc;
    0x0044e4d0 sw s2, 0x14(sp)               |     *(var_14h) = s2;
    0x0044e4d4 sw t8, 0x18(sp)               |     *(var_18h) = t8;
    0x0044e4d8 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0044e4dc jalr t9                       |     t9 ();
    0x0044e4e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_19:
    0x0044e4e4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044e4e8 move a0, s1                   |     a0 = s1;
    0x0044e4ec lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044e4f0 move s0, zero                 |     s0 = 0;
                                             |     /* esilref: '   ' */
    0x0044e4f4 addiu a1, a1, -0x3c90         |     a1 += -0x3c90;
    0x0044e4f8 jalr t9                       |     t9 ();
    0x0044e4fc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044e500 lw s4, -0x7f9c(gp)            |     s4 = *(gp);
    0x0044e504 lw s5, -0x7f9c(gp)            |     s5 = *(gp);
                                             |     /* str.__02x */
    0x0044e508 addiu s4, s4, -0x3c98         |     s4 += -0x3c98;
                                             |     /* str._n___ */
    0x0044e50c addiu s5, s5, -0x3ca0         |     s5 += -0x3ca0;
                                             | label_3:
    0x0044e510 addu t8, s3, s0               |     t8 = s3 + s0;
                                             |     do {
                                             | label_2:
    0x0044e514 move a0, s1                   |         a0 = s1;
    0x0044e518 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044e51c move a1, s4                   |         a1 = s4;
    0x0044e520 lbu a2, (t8)                  |         a2 = *(t8);
    0x0044e524 addiu s0, s0, 1               |         s0++;
    0x0044e528 jalr t9                       |         t9 ();
    0x0044e52c sltu t8, s0, s2               |         t8 = (s0 < s2) ? 1 : 0;
    0x0044e530 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (t8 == 0) {
    0x0044e534 beqz t8, 0x44e560             |             goto label_33;
                                             |         }
    0x0044e538 andi t8, s0, 0xf              |         t8 = s0 & 0xf;
    0x0044e53c addu t8, s3, s0               |         t8 = s3 + s0;
    0x0044e540 bnez t8, 0x44e514             |         
                                             |     } while (t8 != 0);
    0x0044e544 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     if (s0 == 0) {
    0x0044e548 beqz s0, 0x44e514             |         goto label_2;
                                             |     }
    0x0044e54c move a0, s1                   |     a0 = s1;
    0x0044e550 move a1, s5                   |     a1 = s5;
    0x0044e554 jalr t9                       |     t9 ();
    0x0044e558 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044e55c b 0x44e510                    |     goto label_3;
                                             | label_33:
    0x0044e560 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044e564 move a0, s1                   |     a0 = s1;
    0x0044e568 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044e56c addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044e570 jalr t9                       |     t9 ();
    0x0044e574 move a0, s1                   |     a0 = s1;
    0x0044e578 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044e57c addiu a1, zero, 0xb           |     a1 = 0xb;
    0x0044e580 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x0044e584 move a2, zero                 |     a2 = 0;
    0x0044e588 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0044e58c move a3, zero                 |     a3 = 0;
    0x0044e590 lw s5, 0x40(sp)               |     s5 = *(var_40h);
    0x0044e594 lw s4, 0x3c(sp)               |     s4 = *(var_3ch);
    0x0044e598 lw s3, 0x38(sp)               |     s3 = *(var_38h);
    0x0044e59c lw s2, 0x34(sp)               |     s2 = *(var_34h);
    0x0044e5a0 lw s1, 0x30(sp)               |     s1 = *(var_30h);
    0x0044e5a4 lw s0, 0x2c(sp)               |     s0 = *(var_2ch);
    0x0044e5a8 addiu sp, sp, 0x48            |     
    0x0044e5ac jr t9                         |     t9 ();
                                             | label_29:
    0x0044e5b0 lw v1, -0x7f9c(gp)            |     v1 = *(gp);
                                             |     if (s2 != 0) {
    0x0044e5b4 beqz s2, 0x44e5e8             |         
    0x0044e5b8 lbu t8, (s3)                  |         t8 = *(s3);
    0x0044e5bc sltiu v1, t8, 0x15            |         v1 = (t8 < 0x15) ? 1 : 0;
    0x0044e5c0 sll t8, t8, 2                 |         t8 <<= 2;
                                             |         if (v1 != 0) {
    0x0044e5c4 beqz v1, 0x44e5e4             |             
    0x0044e5c8 lw v1, -0x7f9c(gp)            |             v1 = *(gp);
    0x0044e5cc addiu v1, v1, -0x3600         |             v1 += -0x3600;
    0x0044e5d0 addu t8, v1, t8               |             t8 = v1 + t8;
    0x0044e5d4 lw t8, (t8)                   |             t8 = *(t8);
    0x0044e5d8 addu t8, t8, gp               |             t8 += gp;
    0x0044e5dc jr t8                         |             t8 ();
    0x0044e5e0 nop                           |             
                                             |         }
    0x0044e5e4 lw v1, -0x7f9c(gp)            |         v1 = *(gp);
                                             |     }
                                             |     /* esilref: '???' */
    0x0044e5e8 addiu v1, v1, -0x41d4         |     v1 += -0x41d4;
    0x0044e5ec b 0x44e358                    |     goto label_4;
                                             | label_25:
    0x0044e5f0 lw t0, -0x7f9c(gp)            |     t0 = *(gp);
                                             |     /* str.Alert */
    0x0044e5f4 addiu t0, t0, -0x40b0         |     t0 += -0x40b0;
                                             | label_28:
    0x0044e5f8 addiu v1, zero, 2             |     v1 = 2;
    0x0044e5fc lw v1, -0x7f9c(gp)            |     v1 = *(gp);
                                             |     if (s2 != v1) {
    0x0044e600 beq s2, v1, 0x44e6bc          |         
                                             |         /* str._____ */
    0x0044e604 addiu v1, v1, -0x40a8         |         v1 += -0x40a8;
    0x0044e608 b 0x44e488                    |         goto label_5;
                                             | label_27:
    0x0044e60c lw t0, -0x7f9c(gp)            |         t0 = *(gp);
                                             |         /* str.ChangeCipherSpec */
    0x0044e610 addiu t0, t0, -0x4034         |         t0 += -0x4034;
    0x0044e614 b 0x44e47c                    |         goto label_6;
                                             | label_26:
    0x0044e618 lw t0, -0x7f9c(gp)            |         t0 = *(gp);
                                             |         /* str.Handshake */
    0x0044e61c addiu t0, t0, -0x4040         |         t0 += -0x4040;
    0x0044e620 b 0x44e47c                    |         goto label_6;
                                             | label_24:
    0x0044e624 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
                                             | label_23:
    0x0044e628 lw v1, -0x7f9c(gp)            |         v1 = *(gp);
    0x0044e62c addiu v0, v0, 0x3b3c          |         v0 += 0x3b3c;
                                             |         /* esilref: '???' */
    0x0044e630 addiu v1, v1, -0x41d4         |         v1 += -0x41d4;
    0x0044e634 b 0x44e330                    |         goto label_7;
                                             |         /* str.SSL_2.0 */
                                             | label_21:
    0x0044e638 addiu a3, a3, -0x41d0         |         a3 += -0x41d0;
    0x0044e63c b 0x44e404                    |         goto label_8;
                                             | label_14:
    0x0044e640 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.TLS_1.2_ */
    0x0044e644 addiu a3, a3, -0x4070         |         a3 += -0x4070;
    0x0044e648 b 0x44e324                    |         goto label_0;
                                             | label_20:
    0x0044e64c lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.DTLS_1.0__bad__ */
    0x0044e650 addiu a3, a3, -0x408c         |         a3 += -0x408c;
    0x0044e654 b 0x44e324                    |         goto label_0;
                                             | label_30:
    0x0044e658 move a0, s1                   |         a0 = s1;
    0x0044e65c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044e660 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.__Heartbeat */
    0x0044e664 addiu t8, t8, -0x3cc8         |         t8 += -0x3cc8;
                                             |         /* str._s__s_s__length__04lx__s_s_n */
    0x0044e668 addiu a1, a1, -0x3cbc         |         a1 += -0x3cbc;
    0x0044e66c sw t0, 0x10(sp)               |         *(var_10h) = t0;
    0x0044e670 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0044e674 sw t8, 0x18(sp)               |         *(var_18h) = t8;
    0x0044e678 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x0044e67c jalr t9                       |         t9 ();
    0x0044e680 move a0, s1                   |         a0 = s1;
    0x0044e684 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044e688 addiu a1, zero, 0xb           |         a1 = 0xb;
    0x0044e68c lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0044e690 move a2, zero                 |         a2 = 0;
    0x0044e694 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x0044e698 move a3, zero                 |         a3 = 0;
    0x0044e69c lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x0044e6a0 lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x0044e6a4 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x0044e6a8 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x0044e6ac lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x0044e6b0 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x0044e6b4 addiu sp, sp, 0x48            |         
    0x0044e6b8 jr t9                         |         t9 ();
                                             |     }
    0x0044e6bc lbu v0, (s3)                  |     v0 = *(s3);
    0x0044e6c0 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 == v1) {
    0x0044e6c4 beq v0, v1, 0x44e710          |         goto label_34;
                                             |     }
    0x0044e6c8 nop                           |     
    0x0044e6cc lw v1, -0x7f9c(gp)            |     v1 = *(gp);
                                             |     if (v0 == s2) {
    0x0044e6d0 beq v0, s2, 0x44ea10          |         goto label_35;
                                             |     }
    0x0044e6d4 lw v1, -0x7f9c(gp)            |     v1 = *(gp);
                                             |     /* str._____ */
    0x0044e6d8 addiu v1, v1, -0x40a8         |     v1 += -0x40a8;
                                             |     do {
                                             | label_10:
    0x0044e6dc lbu v0, 1(s3)                 |         v0 = *((s3 + 1));
    0x0044e6e0 sltiu a0, v0, 0x74            |         a0 = (v0 < 0x74) ? 1 : 0;
    0x0044e6e4 lw a0, -0x7f9c(gp)            |         a0 = *(gp);
                                             |         if (a0 == 0) {
    0x0044e6e8 beqz a0, 0x44e9f8             |             goto label_36;
                                             |         }
    0x0044e6ec sll v0, v0, 2                 |         v0 <<= 2;
    0x0044e6f0 addiu a0, a0, -0x35ac         |         a0 += -0x35ac;
    0x0044e6f4 addu v0, a0, v0               |         v0 = a0 + v0;
    0x0044e6f8 lw v0, (v0)                   |         v0 = *(v0);
    0x0044e6fc addu v0, v0, gp               |         v0 += gp;
    0x0044e700 jr v0                         |         v0 ();
    0x0044e704 nop                           |         
                                             |         /* str.__HeartbeatResponse */
                                             | label_32:
    0x0044e708 addiu t8, t8, -0x3cf0         |         t8 += -0x3cf0;
    0x0044e70c b 0x44e4bc                    |         goto label_9;
                                             | label_34:
    0x0044e710 lw v1, -0x7f9c(gp)            |         v1 = *(gp);
                                             |         /* str.__warning */
    0x0044e714 addiu v1, v1, -0x40a0         |         v1 += -0x40a0;
    0x0044e718 b 0x44e6dc                    |         
                                             |     } while (1);
                                             | label_36:
    0x0044e9f8 lw v0, -0x7f9c(gp)            |     v0 = *(gp);
                                             |     /* str.____ */
    0x0044e9fc addiu v0, v0, -0x41c8         |     v0 += -0x41c8;
    0x0044ea00 b 0x44e488                    |     goto label_5;
                                             | label_31:
    0x0044ea04 lw t8, -0x7f9c(gp)            |     t8 = *(gp);
                                             |     /* str.__HeartbeatRequest */
    0x0044ea08 addiu t8, t8, -0x3cdc         |     t8 += -0x3cdc;
    0x0044ea0c b 0x44e4bc                    |     goto label_9;
                                             |     /* str.__fatal */
                                             | label_35:
    0x0044ea10 addiu v1, v1, -0x4094         |     v1 += -0x4094;
    0x0044ea14 b 0x44e6dc                    |     goto label_10;
                                             | label_22:
    0x0044ea6c lw a3, -0x7f9c(gp)            |     a3 = *(gp);
    0x0044ea70 addiu v0, v0, 0x3b3c          |     v0 += 0x3b3c;
                                             |     /* esilref: '???' */
    0x0044ea74 addiu a3, a3, -0x41d4         |     a3 += -0x41d4;
    0x0044ea78 move v1, v0                   |     v1 = v0;
    0x0044ea7c b 0x44e330                    |     goto label_7;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41d998 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.old_entry_print ()           | void old_entry_print () {
    0x0041d998 lui gp, 8                     |     
    0x0041d99c addiu gp, gp, -0x14f8         |     
    0x0041d9a0 addu gp, gp, t9               |     gp += t9;
    0x0041d9a4 addiu sp, sp, -0x58           |     
    0x0041d9a8 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0041d9ac sw s5, 0x50(sp)               |     *(var_50h) = s5;
    0x0041d9b0 sw s4, 0x4c(sp)               |     *(var_4ch) = s4;
    0x0041d9b4 sw s3, 0x48(sp)               |     *(var_48h) = s3;
    0x0041d9b8 sw s2, 0x44(sp)               |     *(var_44h) = s2;
    0x0041d9bc sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x0041d9c0 sw s0, 0x3c(sp)               |     *(var_3ch) = s0;
    0x0041d9c4 addiu s0, zero, 0x16          |     s0 = 0x16;
    0x0041d9c8 lw t9, -0x6f80(gp)            |     t9 = sym.imp.i2a_ASN1_OBJECT;
    0x0041d9cc move s1, a0                   |     s1 = a0;
    0x0041d9d0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0041d9d4 move s2, a2                   |     s2 = a2;
    0x0041d9d8 jalr t9                       |     t9 ();
    0x0041d9dc addiu t8, sp, 0x18            |     t8 = sp + 0x18;
    0x0041d9e0 subu s0, s0, v0               |     __asm ("subu s0, s0, v0");
    0x0041d9e4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s0 <= 0) {
    0x0041d9e8 blez s0, 0x41dbac             |         goto label_4;
                                             |     }
    0x0041d9ec lw t9, -0x6f0c(gp)            |     t9 = sym.imp.memset;
    0x0041d9f0 move a0, t8                   |     a0 = t8;
    0x0041d9f4 move a2, s0                   |     a2 = s0;
    0x0041d9f8 addiu a1, zero, 0x20          |     a1 = 0x20;
    0x0041d9fc jalr t9                       |     t9 ();
    0x0041da00 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041da04 move t8, v0                   |     t8 = v0;
    0x0041da08 addu s0, v0, s0               |     s0 = v0 + s0;
                                             | label_3:
    0x0041da0c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0041da10 move a1, t8                   |     a1 = t8;
    0x0041da14 addiu t8, zero, 0x3a          |     t8 = 0x3a;
    0x0041da18 move a0, s1                   |     a0 = s1;
    0x0041da1c sb t8, (s0)                   |     *(s0) = t8;
    0x0041da20 sb zero, 1(s0)                |     *((s0 + 1)) = 0;
    0x0041da24 jalr t9                       |     t9 ();
    0x0041da28 addiu v0, zero, 0x13          |     v0 = 0x13;
    0x0041da2c lw a2, 4(s2)                  |     a2 = *((s2 + 1));
    0x0041da30 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (a2 == v0) {
    0x0041da34 beq a2, v0, 0x41db58          |         goto label_5;
                                             |     }
    0x0041da38 addiu v0, zero, 0x14          |     v0 = 0x14;
    0x0041da3c addiu v0, zero, 0x16          |     v0 = 0x16;
                                             |     if (a2 == v0) {
    0x0041da40 beq a2, v0, 0x41db74          |         goto label_6;
                                             |     }
    0x0041da44 addiu v0, zero, 0x1c          |     v0 = 0x1c;
                                             |     if (a2 == v0) {
    0x0041da48 beq a2, v0, 0x41db90          |         goto label_7;
                                             |     }
    0x0041da4c move a0, s1                   |     a0 = s1;
    0x0041da50 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     if (a2 == v0) {
    0x0041da54 beq a2, v0, 0x41db44          |         goto label_8;
                                             |     }
    0x0041da58 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     /* str.ASN.1__2d: */
    0x0041da5c addiu a1, a1, 0x160           |     a1 += 0x160;
    0x0041da60 jalr t9                       |     t9 ();
    0x0041da64 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_2:
    0x0041da68 lw s0, 8(s2)                  |     s0 = *((s2 + 2));
    0x0041da6c lw t8, (s2)                   |     t8 = *(s2);
    0x0041da70 addu s2, s0, t8               |     s2 = s0 + t8;
                                             |     if (t8 <= 0) {
    0x0041da74 blez t8, 0x41daec             |         goto label_9;
                                             |     }
    0x0041da78 lw s4, -0x7fd8(gp)            |     s4 = *(gp);
    0x0041da7c lw s3, -0x7fd8(gp)            |     s3 = *(gp);
    0x0041da80 lw s5, -0x7fd8(gp)            |     s5 = *(gp);
                                             |     /* esilref: '&c' */
    0x0041da84 addiu s4, s4, 0x2164          |     s4 += 0x2164;
                                             |     /* esilref: '^&c' */
    0x0041da88 addiu s3, s3, 0x174           |     s3 += 0x174;
    0x0041da8c b 0x41dab0                    |     
                                             |     while (v0 == 0) {
                                             |         if (t8 < 0) {
    0x0041da90 bltz t8, 0x41db28             |             goto label_10;
                                             |         }
    0x0041da94 nop                           |         
    0x0041da98 jalr t9                       |         t9 ();
    0x0041da9c nop                           |         
    0x0041daa0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_1:
    0x0041daa4 addiu s0, s0, 1               |         s0++;
    0x0041daa8 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         if (s0 == s2) {
    0x0041daac beq s0, s2, 0x41daf0          |             goto label_11;
                                             |         }
                                             | label_0:
    0x0041dab0 lb t8, (s0)                   |         t8 = *(s0);
    0x0041dab4 move a0, s1                   |         a0 = s1;
    0x0041dab8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0041dabc move a1, s3                   |         a1 = s3;
    0x0041dac0 addiu v0, t8, -0x20           |         v0 = t8 + -0x20;
    0x0041dac4 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0041dac8 sltiu v0, v0, 0x5f            |         v0 = (v0 < 0x5f) ? 1 : 0;
    0x0041dacc addiu a2, t8, 0x40            |         a2 = t8 + 0x40;
    0x0041dad0 beqz v0, 0x41da90             |         
                                             |     }
    0x0041dad4 move a1, s4                   |     a1 = s4;
    0x0041dad8 addiu s0, s0, 1               |     s0++;
    0x0041dadc move a2, t8                   |     a2 = t8;
    0x0041dae0 jalr t9                       |     t9 ();
    0x0041dae4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s0 != s2) {
    0x0041dae8 bne s0, s2, 0x41dab0          |         goto label_0;
                                             |     }
                                             | label_9:
    0x0041daec lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             | label_11:
    0x0041daf0 move a0, s1                   |     a0 = s1;
    0x0041daf4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* esilref: ''
' */
    0x0041daf8 addiu a1, a1, 0x53d0          |     a1 += 0x53d0;
    0x0041dafc jalr t9                       |     t9 ();
    0x0041db00 addiu v0, zero, 1             |     v0 = 1;
    0x0041db04 lw ra, 0x54(sp)               |     ra = *(var_54h);
    0x0041db08 lw s5, 0x50(sp)               |     s5 = *(var_50h);
    0x0041db0c lw s4, 0x4c(sp)               |     s4 = *(var_4ch);
    0x0041db10 lw s3, 0x48(sp)               |     s3 = *(var_48h);
    0x0041db14 lw s2, 0x44(sp)               |     s2 = *(var_44h);
    0x0041db18 lw s1, 0x40(sp)               |     s1 = *(var_40h);
    0x0041db1c lw s0, 0x3c(sp)               |     s0 = *(var_3ch);
    0x0041db20 addiu sp, sp, 0x58            |     
    0x0041db24 jr ra                         |     return v0;
                                             | label_10:
    0x0041db28 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041db2c move a0, s1                   |     a0 = s1;
                                             |     /* esilref: '\0x&X' */
    0x0041db30 addiu a1, s5, 0x16c           |     a1 = s5 + 0x16c;
    0x0041db34 move a2, t8                   |     a2 = t8;
    0x0041db38 jalr t9                       |     t9 ();
    0x0041db3c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041db40 b 0x41daa4                    |     goto label_1;
                                             | label_8:
    0x0041db44 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     /* str.UNIVERSALSTRING: */
    0x0041db48 addiu a1, a1, 0x14c           |     a1 += 0x14c;
    0x0041db4c jalr t9                       |     t9 ();
    0x0041db50 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041db54 b 0x41da68                    |     goto label_2;
                                             | label_5:
    0x0041db58 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041db5c move a0, s1                   |     a0 = s1;
    0x0041db60 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.PRINTABLE: */
    0x0041db64 addiu a1, a1, 0x128           |     a1 += 0x128;
    0x0041db68 jalr t9                       |     t9 ();
    0x0041db6c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041db70 b 0x41da68                    |     goto label_2;
                                             | label_6:
    0x0041db74 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041db78 move a0, s1                   |     a0 = s1;
    0x0041db7c lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.T61STRING: */
    0x0041db80 addiu a1, a1, 0x134           |     a1 += 0x134;
    0x0041db84 jalr t9                       |     t9 ();
    0x0041db88 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041db8c b 0x41da68                    |     goto label_2;
                                             | label_7:
    0x0041db90 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041db94 move a0, s1                   |     a0 = s1;
    0x0041db98 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.IA5STRING: */
    0x0041db9c addiu a1, a1, 0x140           |     a1 += 0x140;
    0x0041dba0 jalr t9                       |     t9 ();
    0x0041dba4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041dba8 b 0x41da68                    |     goto label_2;
                                             | label_4:
    0x0041dbac move s0, t8                   |     s0 = t8;
    0x0041dbb0 b 0x41da0c                    |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ada0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.parse_name ()                | void parse_name () {
    0x0044ada0 lui gp, 5                     |     
    0x0044ada4 addiu gp, gp, 0x1700          |     
    0x0044ada8 addu gp, gp, t9               |     gp += t9;
    0x0044adac addiu sp, sp, -0x58           |     
    0x0044adb0 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0044adb4 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x0044adb8 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x0044adbc sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x0044adc0 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x0044adc4 sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x0044adc8 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x0044adcc sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x0044add0 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x0044add4 sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x0044add8 move s6, a0                   |     s6 = a0;
    0x0044addc lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x0044ade0 move s4, a1                   |     s4 = a1;
    0x0044ade4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0044ade8 lw s1, -0x7f9c(gp)            |     s1 = *(gp);
    0x0044adec move s5, a2                   |     s5 = a2;
    0x0044adf0 jalr t9                       |     t9 ();
    0x0044adf4 addiu a2, zero, 0x868         |     a2 = 0x868;
    0x0044adf8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044adfc addiu s0, v0, 1               |     s0 = v0 + 1;
                                             |     /* str.apps.c */
    0x0044ae00 addiu a1, s1, -0x5320         |     a1 = s1 + -0x5320;
    0x0044ae04 move a0, s0                   |     a0 = s0;
    0x0044ae08 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x0044ae0c srl s3, s0, 1                 |     s3 = s0 >> 1;
    0x0044ae10 addiu s3, s3, 1               |     s3++;
    0x0044ae14 jalr t9                       |     t9 ();
    0x0044ae18 sll s3, s3, 2                 |     s3 <<= 2;
    0x0044ae1c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     /* str.apps.c */
    0x0044ae20 addiu a1, s1, -0x5320         |     a1 = s1 + -0x5320;
    0x0044ae24 move a0, s3                   |     a0 = s3;
    0x0044ae28 addiu a2, zero, 0x86a         |     a2 = 0x86a;
    0x0044ae2c lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x0044ae30 move s0, v0                   |     s0 = v0;
    0x0044ae34 jalr t9                       |     t9 ();
    0x0044ae38 move a0, s3                   |     a0 = s3;
    0x0044ae3c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     /* str.apps.c */
    0x0044ae40 addiu a1, s1, -0x5320         |     a1 = s1 + -0x5320;
    0x0044ae44 addiu a2, zero, 0x86b         |     a2 = 0x86b;
    0x0044ae48 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x0044ae4c move s2, v0                   |     s2 = v0;
    0x0044ae50 jalr t9                       |     t9 ();
    0x0044ae54 move a0, s3                   |     a0 = s3;
    0x0044ae58 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     /* str.apps.c */
    0x0044ae5c addiu a1, s1, -0x5320         |     a1 = s1 + -0x5320;
    0x0044ae60 addiu a2, zero, 0x86c         |     a2 = 0x86c;
    0x0044ae64 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x0044ae68 move s3, v0                   |     s3 = v0;
    0x0044ae6c jalr t9                       |     t9 ();
    0x0044ae70 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044ae74 move s1, v0                   |     s1 = v0;
                                             |     if (s0 == 0) {
    0x0044ae78 beqz s0, 0x44b230             |         goto label_15;
                                             |     }
    0x0044ae7c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     if (s2 == 0) {
    0x0044ae80 beqz s2, 0x44b234             |         goto label_16;
                                             |     }
    0x0044ae84 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (s3 == 0) {
    0x0044ae88 beqz s3, 0x44b274             |         goto label_17;
                                             |     }
    0x0044ae8c addiu t8, zero, 0x2f          |     t8 = 0x2f;
                                             |     if (v0 == 0) {
    0x0044ae90 beqz v0, 0x44b29c             |         goto label_18;
                                             |     }
    0x0044ae94 lb v0, (s6)                   |     v0 = *(s6);
    0x0044ae98 move fp, zero                 |     fp = 0;
                                             |     if (v0 != t8) {
    0x0044ae9c beq v0, t8, 0x44af4c          |         
    0x0044aea0 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044aea4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044aea8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044aeac lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Subject_does_not_start_with__._n */
    0x0044aeb0 addiu a1, a1, -0x4d68         |         a1 += -0x4d68;
    0x0044aeb4 jalr t9                       |         t9 ();
    0x0044aeb8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_0:
    0x0044aebc lw t9, -0x7b00(gp)            |         t9 = sym.imp.X509_NAME_free;
                                             | label_4:
    0x0044aec0 move a0, fp                   |         a0 = fp;
    0x0044aec4 jalr t9                       |         t9 ();
    0x0044aec8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_13:
    0x0044aecc lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             | label_11:
    0x0044aed0 move a0, s3                   |         a0 = s3;
    0x0044aed4 jalr t9                       |         t9 ();
    0x0044aed8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s2 != 0) {
                                             | label_10:
    0x0044aedc beqz s2, 0x44aef4             |             
    0x0044aee0 nop                           |             
                                             | label_12:
    0x0044aee4 lw t9, -0x7ce8(gp)            |             t9 = sym.imp.CRYPTO_free;
    0x0044aee8 move a0, s2                   |             a0 = s2;
    0x0044aeec jalr t9                       |             t9 ();
    0x0044aef0 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0044aef4 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (s1 != 0) {
    0x0044aef8 beqz s1, 0x44af08             |             
    0x0044aefc move a0, s1                   |             a0 = s1;
    0x0044af00 jalr t9                       |             t9 ();
    0x0044af04 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0044af08 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         if (s0 == 0) {
    0x0044af0c beqz s0, 0x44b1a8             |             goto label_19;
                                             |         }
    0x0044af10 move a0, s0                   |         a0 = s0;
    0x0044af14 jalr t9                       |         t9 ();
    0x0044af18 move v0, zero                 |         v0 = 0;
                                             | label_14:
    0x0044af1c lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0044af20 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0044af24 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0044af28 lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0044af2c lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0044af30 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0044af34 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0044af38 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0044af3c lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0044af40 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0044af44 addiu sp, sp, 0x58            |         
    0x0044af48 jr ra                         |         return v0;
                                             |     }
    0x0044af4c sw zero, (s1)                 |     *(s1) = 0;
    0x0044af50 lb v0, 1(s6)                  |     v0 = *((s6 + 1));
    0x0044af54 addiu t8, s6, 1               |     t8 = s6 + 1;
                                             |     if (v0 == 0) {
    0x0044af58 beqz v0, 0x44b2f0             |         goto label_20;
                                             |     }
    0x0044af5c move t1, s2                   |     t1 = s2;
    0x0044af60 addiu t3, s1, 4               |     t3 = s1 + 4;
    0x0044af64 move t2, s3                   |     t2 = s3;
    0x0044af68 move s6, zero                 |     s6 = 0;
    0x0044af6c move v1, s0                   |     v1 = s0;
    0x0044af70 addiu a0, zero, 0x5c          |     a0 = 0x5c;
    0x0044af74 addiu a3, zero, 0x3d          |     a3 = 0x3d;
    0x0044af78 addiu a2, zero, 0x2f          |     a2 = 0x2f;
    0x0044af7c addiu t4, zero, 0x2b          |     t4 = 0x2b;
    0x0044af80 addiu t5, zero, -1            |     t5 = -1;
                                             | label_2:
    0x0044af84 sw v1, (t1)                   |     *(t1) = v1;
    0x0044af88 addiu v1, v1, 1               |     v1++;
    0x0044af8c lb v0, (t8)                   |     v0 = *(t8);
    0x0044af90 addiu a1, v1, -1              |     a1 = v1 + -1;
                                             |     if (v0 == 0) {
    0x0044af94 beqz v0, 0x44afc0             |         goto label_21;
                                             |     }
                                             |     do {
                                             |         if (v0 == a0) {
    0x0044af98 beq v0, a0, 0x44afe8          |             goto label_22;
                                             |         }
    0x0044af9c nop                           |         
                                             |         if (v0 == a3) {
    0x0044afa0 beq v0, a3, 0x44b000          |             goto label_23;
                                             |         }
    0x0044afa4 nop                           |         
    0x0044afa8 sb v0, -1(v1)                 |         *((v1 - 1)) = v0;
    0x0044afac addiu t8, t8, 1               |         t8++;
    0x0044afb0 addiu v1, v1, 1               |         v1++;
                                             | label_1:
    0x0044afb4 lb v0, (t8)                   |         v0 = *(t8);
    0x0044afb8 addiu a1, v1, -1              |         a1 = v1 + -1;
    0x0044afbc bnez v0, 0x44af98             |         
                                             |     } while (v0 != 0);
                                             |     do {
                                             | label_21:
    0x0044afc0 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044afc4 move a2, s6                   |         a2 = s6;
    0x0044afc8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044afcc move fp, zero                 |         fp = 0;
    0x0044afd0 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044afd4 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.end_of_string_encountered_while_processing_type_of_subject_name_element__d_n */
    0x0044afd8 addiu a1, a1, -0x4d20         |         a1 += -0x4d20;
    0x0044afdc jalr t9                       |         t9 ();
    0x0044afe0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044afe4 b 0x44aebc                    |         goto label_0;
                                             | label_22:
    0x0044afe8 lb v0, 1(t8)                  |         v0 = *((t8 + 1));
    0x0044afec addiu t8, t8, 2               |         t8 += 2;
                                             |         if (v0 == 0) {
    0x0044aff0 beqz v0, 0x44b20c             |             goto label_24;
                                             |         }
    0x0044aff4 sb v0, -1(v1)                 |         *((v1 - 1)) = v0;
    0x0044aff8 addiu v1, v1, 1               |         v1++;
    0x0044affc b 0x44afb4                    |         goto label_1;
                                             | label_23:
    0x0044b000 sb zero, (a1)                 |         *(a1) = 0;
    0x0044b004 addiu t8, t8, 1               |         t8++;
    0x0044b008 lb v0, (t8)                   |         v0 = *(t8);
    0x0044b00c beqz v0, 0x44afc0             |         
                                             |     } while (v0 == 0);
    0x0044b010 nop                           |     
    0x0044b014 sw v1, (t2)                   |     *(t2) = v1;
    0x0044b018 addiu v1, v1, 1               |     v1++;
                                             |     if (s5 != 0) {
    0x0044b01c bnez s5, 0x44b15c             |         goto label_7;
                                             |     }
    0x0044b020 lb v0, (t8)                   |     v0 = *(t8);
    0x0044b024 addiu a1, v1, -1              |     a1 = v1 + -1;
                                             |     if (v0 == 0) {
    0x0044b028 beqz v0, 0x44b054             |         goto label_5;
                                             |     }
                                             |     do {
                                             |         if (v0 == a0) {
    0x0044b02c beq v0, a0, 0x44b190          |             goto label_25;
                                             |         }
    0x0044b030 nop                           |         
                                             |         if (v0 == a2) {
    0x0044b034 beq v0, a2, 0x44b1dc          |             goto label_26;
                                             |         }
    0x0044b038 nop                           |         
    0x0044b03c sb v0, -1(v1)                 |         *((v1 - 1)) = v0;
    0x0044b040 addiu t8, t8, 1               |         t8++;
    0x0044b044 addiu v1, v1, 1               |         v1++;
                                             | label_8:
    0x0044b048 lb v0, (t8)                   |         v0 = *(t8);
    0x0044b04c addiu a1, v1, -1              |         a1 = v1 + -1;
    0x0044b050 bnez v0, 0x44b02c             |         
                                             |     } while (v0 != 0);
                                             | label_5:
    0x0044b054 sb zero, (a1)                 |     *(a1) = 0;
    0x0044b058 addiu v1, a1, 1               |     v1 = a1 + 1;
    0x0044b05c lb v0, (t8)                   |     v0 = *(t8);
    0x0044b060 addiu s6, s6, 1               |     s6++;
    0x0044b064 addiu t1, t1, 4               |     t1 += 4;
    0x0044b068 addiu t3, t3, 4               |     t3 += 4;
    0x0044b06c addiu t2, t2, 4               |     t2 += 4;
                                             |     if (v0 != 0) {
    0x0044b070 bnez v0, 0x44af84             |         goto label_2;
                                             |     }
    0x0044b074 lw t9, -0x6fb8(gp)            |     t9 = sym.imp.X509_NAME_new;
                                             | label_9:
    0x0044b078 jalr t9                       |     t9 ();
    0x0044b07c nop                           |     
    0x0044b080 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b084 move fp, v0                   |     fp = v0;
                                             |     if (v0 == 0) {
    0x0044b088 beqz v0, 0x44aebc             |         goto label_0;
                                             |     }
    0x0044b08c move s5, s2                   |     s5 = s2;
                                             |     if (s6 == 0) {
    0x0044b090 beqz s6, 0x44b308             |         goto label_27;
                                             |     }
    0x0044b094 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0044b098 move s7, s3                   |     s7 = s3;
    0x0044b09c sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x0044b0a0 b 0x44b0e8                    |     
                                             |     while (v0 == 0) {
    0x0044b0a4 lw t9, -0x7fd4(gp)            |         t9 = *(gp);
    0x0044b0a8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044b0ac lw a0, (t9)                   |         a0 = *(t9);
    0x0044b0b0 move t9, t1                   |         t9 = t1;
    0x0044b0b4 lw a2, (s5)                   |         a2 = *(s5);
                                             |         /* str.No_value_provided_for_Subject_Attribute__s__skipped_n */
    0x0044b0b8 addiu a1, a1, -0x4ca0         |         a1 += -0x4ca0;
    0x0044b0bc jalr t9                       |         t9 ();
    0x0044b0c0 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_3:
    0x0044b0c4 lw t9, 0x28(sp)               |         t9 = *(var_28h);
    0x0044b0c8 addiu s5, s5, 4               |         s5 += 4;
    0x0044b0cc lw t8, 0x2c(sp)               |         t8 = *(var_2ch);
    0x0044b0d0 addiu s7, s7, 4               |         s7 += 4;
    0x0044b0d4 addiu t9, t9, 1               |         t9++;
    0x0044b0d8 addiu t8, t8, 4               |         t8 += 4;
    0x0044b0dc sw t9, 0x28(sp)               |         *(var_28h) = t9;
    0x0044b0e0 sw t8, 0x2c(sp)               |         *(var_2ch) = t8;
                                             |         if (t9 == s6) {
    0x0044b0e4 beq t9, s6, 0x44b308          |             goto label_27;
                                             |         }
    0x0044b0e8 lw t9, -0x7d00(gp)            |         t9 = sym.imp.OBJ_txt2nid;
    0x0044b0ec lw a0, (s5)                   |         a0 = *(s5);
    0x0044b0f0 jalr t9                       |         t9 ();
    0x0044b0f4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0044b0f8 beqz v0, 0x44b2cc             |             goto label_28;
                                             |         }
    0x0044b0fc lw a3, (s7)                   |         a3 = *(s7);
    0x0044b100 move a1, v0                   |         a1 = v0;
    0x0044b104 addiu v1, zero, -1            |         v1 = -1;
    0x0044b108 move a0, fp                   |         a0 = fp;
    0x0044b10c lb v0, (a3)                   |         v0 = *(a3);
    0x0044b110 move a2, s4                   |         a2 = s4;
    0x0044b114 lw t9, -0x71a8(gp)            |         t9 = sym.imp.X509_NAME_add_entry_by_NID;
    0x0044b118 lw t1, -0x780c(gp)            |         t1 = sym.imp.BIO_printf
    0x0044b11c beqz v0, 0x44b0a4             |         
                                             |     }
    0x0044b120 lw t8, 0x2c(sp)               |     t8 = *(var_2ch);
    0x0044b124 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0044b128 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0044b12c lw v0, (t8)                   |     v0 = *(t8);
    0x0044b130 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0044b134 jalr t9                       |     t9 ();
    0x0044b138 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0044b13c bnez v0, 0x44b0c4             |         goto label_3;
                                             |     }
    0x0044b140 lw t9, -0x7b00(gp)            |     t9 = sym.imp.X509_NAME_free;
    0x0044b144 b 0x44aec0                    |     goto label_4;
                                             | label_6:
    0x0044b148 lb v0, 1(t8)                  |     v0 = *((t8 + 1));
    0x0044b14c addiu t8, t8, 2               |     t8 += 2;
                                             |     if (v0 == 0) {
    0x0044b150 beqz v0, 0x44b20c             |         goto label_24;
                                             |     }
    0x0044b154 sb v0, -1(v1)                 |     *((v1 - 1)) = v0;
    0x0044b158 addiu v1, v1, 1               |     v1++;
                                             | label_7:
    0x0044b15c lb v0, (t8)                   |     v0 = *(t8);
    0x0044b160 addiu a1, v1, -1              |     a1 = v1 + -1;
                                             |     if (v0 == 0) {
    0x0044b164 beqz v0, 0x44b054             |         goto label_5;
                                             |     }
                                             |     if (v0 == a0) {
    0x0044b168 beq v0, a0, 0x44b148          |         goto label_6;
                                             |     }
    0x0044b16c nop                           |     
                                             |     if (v0 != a2) {
    0x0044b170 beq v0, a2, 0x44b1dc          |         
    0x0044b174 nop                           |         
                                             |         if (v0 == t4) {
    0x0044b178 beq v0, t4, 0x44b268          |             goto label_29;
                                             |         }
    0x0044b17c nop                           |         
    0x0044b180 sb v0, -1(v1)                 |         *((v1 - 1)) = v0;
    0x0044b184 addiu t8, t8, 1               |         t8++;
    0x0044b188 addiu v1, v1, 1               |         v1++;
    0x0044b18c b 0x44b15c                    |         goto label_7;
                                             | label_25:
    0x0044b190 lb v0, 1(t8)                  |         v0 = *((t8 + 1));
    0x0044b194 addiu t8, t8, 2               |         t8 += 2;
                                             |         if (v0 == 0) {
    0x0044b198 beqz v0, 0x44b20c             |             goto label_24;
                                             |         }
    0x0044b19c sb v0, -1(v1)                 |         *((v1 - 1)) = v0;
    0x0044b1a0 addiu v1, v1, 1               |         v1++;
    0x0044b1a4 b 0x44b048                    |         goto label_8;
                                             | label_19:
    0x0044b1a8 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0044b1ac move v0, zero                 |         v0 = 0;
    0x0044b1b0 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0044b1b4 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0044b1b8 lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0044b1bc lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0044b1c0 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0044b1c4 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0044b1c8 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0044b1cc lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0044b1d0 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0044b1d4 addiu sp, sp, 0x58            |         
    0x0044b1d8 jr ra                         |         return v0;
                                             |     }
                                             | label_26:
    0x0044b1dc sw zero, (t3)                 |     *(t3) = 0;
    0x0044b1e0 addiu t8, t8, 1               |     t8++;
    0x0044b1e4 sb zero, (a1)                 |     *(a1) = 0;
    0x0044b1e8 addiu v1, a1, 1               |     v1 = a1 + 1;
    0x0044b1ec lb v0, (t8)                   |     v0 = *(t8);
    0x0044b1f0 addiu s6, s6, 1               |     s6++;
    0x0044b1f4 addiu t1, t1, 4               |     t1 += 4;
    0x0044b1f8 addiu t3, t3, 4               |     t3 += 4;
    0x0044b1fc addiu t2, t2, 4               |     t2 += 4;
                                             |     if (v0 != 0) {
    0x0044b200 bnez v0, 0x44af84             |         goto label_2;
                                             |     }
    0x0044b204 lw t9, -0x6fb8(gp)            |     t9 = sym.imp.X509_NAME_new;
    0x0044b208 b 0x44b078                    |     goto label_9;
                                             | label_24:
    0x0044b20c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044b210 move fp, zero                 |     fp = 0;
    0x0044b214 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044b218 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044b21c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.escape_character_at_end_of_string_n */
    0x0044b220 addiu a1, a1, -0x4d44         |     a1 += -0x4d44;
    0x0044b224 jalr t9                       |     t9 ();
    0x0044b228 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b22c b 0x44aebc                    |     goto label_0;
                                             | label_15:
    0x0044b230 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             | label_16:
    0x0044b234 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044b238 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044b23c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.malloc_error_n */
    0x0044b240 addiu a1, a1, 0x1c0           |     a1 += 0x1c0;
    0x0044b244 jalr t9                       |     t9 ();
    0x0044b248 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b24c lw t9, -0x7b00(gp)            |     t9 = sym.imp.X509_NAME_free;
    0x0044b250 move a0, zero                 |     a0 = 0;
    0x0044b254 jalr t9                       |     t9 ();
    0x0044b258 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s3 == 0) {
    0x0044b25c beqz s3, 0x44aedc             |         goto label_10;
                                             |     }
    0x0044b260 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x0044b264 b 0x44aed0                    |     goto label_11;
                                             | label_29:
    0x0044b268 addiu t8, t8, 1               |     t8++;
    0x0044b26c sw t5, (t3)                   |     *(t3) = t5;
    0x0044b270 b 0x44b054                    |     goto label_5;
                                             | label_17:
    0x0044b274 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044b278 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.malloc_error_n */
    0x0044b27c addiu a1, a1, 0x1c0           |     a1 += 0x1c0;
    0x0044b280 jalr t9                       |     t9 ();
    0x0044b284 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b288 lw t9, -0x7b00(gp)            |     t9 = sym.imp.X509_NAME_free;
    0x0044b28c move a0, zero                 |     a0 = 0;
    0x0044b290 jalr t9                       |     t9 ();
    0x0044b294 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b298 b 0x44aee4                    |     goto label_12;
                                             | label_18:
    0x0044b29c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044b2a0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044b2a4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044b2a8 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.malloc_error_n */
    0x0044b2ac addiu a1, a1, 0x1c0           |     a1 += 0x1c0;
    0x0044b2b0 jalr t9                       |     t9 ();
    0x0044b2b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b2b8 lw t9, -0x7b00(gp)            |     t9 = sym.imp.X509_NAME_free;
    0x0044b2bc move a0, zero                 |     a0 = 0;
    0x0044b2c0 jalr t9                       |     t9 ();
    0x0044b2c4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b2c8 b 0x44aecc                    |     goto label_13;
                                             | label_28:
    0x0044b2cc lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044b2d0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044b2d4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044b2d8 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Subject_Attribute__s_has_no_known_NID__skipped_n */
    0x0044b2dc addiu a1, a1, -0x4cd0         |     a1 += -0x4cd0;
    0x0044b2e0 lw a2, (s5)                   |     a2 = *(s5);
    0x0044b2e4 jalr t9                       |     t9 ();
    0x0044b2e8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b2ec b 0x44b0c4                    |     goto label_3;
                                             | label_20:
    0x0044b2f0 lw t9, -0x6fb8(gp)            |     t9 = sym.imp.X509_NAME_new;
    0x0044b2f4 jalr t9                       |     t9 ();
    0x0044b2f8 nop                           |     
    0x0044b2fc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b300 move fp, v0                   |     fp = v0;
                                             |     if (v0 == 0) {
    0x0044b304 beqz v0, 0x44aebc             |         goto label_0;
                                             |     }
                                             | label_27:
    0x0044b308 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x0044b30c move a0, s3                   |     a0 = s3;
    0x0044b310 jalr t9                       |     t9 ();
    0x0044b314 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b318 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x0044b31c move a0, s2                   |     a0 = s2;
    0x0044b320 jalr t9                       |     t9 ();
    0x0044b324 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b328 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x0044b32c move a0, s0                   |     a0 = s0;
    0x0044b330 jalr t9                       |     t9 ();
    0x0044b334 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044b338 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x0044b33c move a0, s1                   |     a0 = s1;
    0x0044b340 jalr t9                       |     t9 ();
    0x0044b344 move v0, fp                   |     v0 = fp;
    0x0044b348 b 0x44af1c                    |     goto label_14;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44654c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.password_callback ()         | void password_callback () {
    0x0044654c lui gp, 5                     |     
    0x00446550 addiu gp, gp, 0x5f54          |     
    0x00446554 addu gp, gp, t9               |     gp += t9;
    0x00446558 addiu sp, sp, -0x50           |     
    0x0044655c sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x00446560 sw s7, 0x48(sp)               |     *(var_48h) = s7;
    0x00446564 sw s6, 0x44(sp)               |     *(var_44h) = s6;
    0x00446568 sw s5, 0x40(sp)               |     *(var_40h) = s5;
    0x0044656c sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x00446570 sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x00446574 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x00446578 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x0044657c sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x00446580 move s2, a0                   |     s2 = a0;
    0x00446584 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00446588 move s1, a1                   |     s1 = a1;
    0x0044658c move s4, a2                   |     s4 = a2;
                                             |     if (a3 != 0) {
    0x00446590 beqz a3, 0x4465fc             |         
    0x00446594 lw s0, (a3)                   |         s0 = *(a3);
    0x00446598 lw s3, 4(a3)                  |         s3 = *((a3 + 1));
                                             |         if (s0 == 0) {
    0x0044659c beqz s0, 0x446600             |             goto label_5;
                                             |         }
    0x004465a0 lw t9, -0x7cf8(gp)            |         t9 = sym.imp.strlen;
    0x004465a4 move a0, s0                   |         a0 = s0;
    0x004465a8 jalr t9                       |         t9 ();
    0x004465ac move a0, s2                   |         a0 = s2;
    0x004465b0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004465b4 slt t8, s1, v0                |         t8 = (s1 < v0) ? 1 : 0;
                                             |         if (t8 != 0) {
    0x004465b8 movz s1, v0, t8               |             s1 = v0;
                                             |         }
    0x004465bc move a1, s0                   |         a1 = s0;
    0x004465c0 lw t9, -0x7ca0(gp)            |         t9 = sym.imp.memcpy;
    0x004465c4 move a2, s1                   |         a2 = s1;
    0x004465c8 jalr t9                       |         t9 ();
    0x004465cc move v0, s1                   |         v0 = s1;
                                             | label_0:
    0x004465d0 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x004465d4 lw s7, 0x48(sp)               |         s7 = *(var_48h);
    0x004465d8 lw s6, 0x44(sp)               |         s6 = *(var_44h);
    0x004465dc lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x004465e0 lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x004465e4 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x004465e8 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x004465ec lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x004465f0 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x004465f4 addiu sp, sp, 0x50            |         
    0x004465f8 jr ra                         |         return v0;
                                             |     }
    0x004465fc move s3, zero                 |     s3 = 0;
                                             | label_5:
    0x00446600 lw t8, -0x7fc8(gp)            |     t8 = *((gp - 8178));
    0x00446604 lw t9, -0x763c(gp)            |     t9 = sym.imp.UI_new_method;
    0x00446608 lw a0, 0x667c(t8)             |     a0 = *((t8 + 6559));
    0x0044660c jalr t9                       |     t9 ();
    0x00446610 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00446614 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x00446618 beqz v0, 0x446744             |         goto label_6;
                                             |     }
    0x0044661c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00446620 move a0, v0                   |     a0 = v0;
    0x00446624 lw t9, -0x7c34(gp)            |     t9 = sym.imp.UI_construct_prompt;
    0x00446628 move a2, s3                   |     a2 = s3;
                                             |     /* str.pass_phrase */
    0x0044662c addiu a1, a1, -0x532c         |     a1 += -0x532c;
    0x00446630 jalr t9                       |     t9 ();
    0x00446634 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00446638 move s5, v0                   |     s5 = v0;
                                             |     if (v0 == 0) {
    0x0044663c beqz v0, 0x44681c             |         goto label_7;
                                             |     }
    0x00446640 lw t9, -0x6e08(gp)            |     t9 = sym.imp.UI_ctrl;
    0x00446644 move a0, s0                   |     a0 = s0;
    0x00446648 addiu a1, zero, 1             |     a1 = 1;
    0x0044664c addiu a2, zero, 1             |     a2 = 1;
    0x00446650 move a3, zero                 |     a3 = 0;
    0x00446654 addiu s6, s1, -1              |     s6 = s1 + -1;
    0x00446658 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0044665c addiu s7, zero, 4             |     s7 = 4;
    0x00446660 jalr t9                       |     t9 ();
    0x00446664 move a0, s0                   |     a0 = s0;
    0x00446668 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044666c move a1, s5                   |     a1 = s5;
    0x00446670 sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x00446674 addiu a2, zero, 2             |     a2 = 2;
    0x00446678 lw t9, -0x7a70(gp)            |     t9 = sym.imp.UI_add_input_string;
    0x0044667c move a3, s2                   |     a3 = s2;
    0x00446680 sw s6, 0x14(sp)               |     *(var_14h) = s6;
    0x00446684 jalr t9                       |     t9 ();
    0x00446688 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044668c move s3, v0                   |     s3 = v0;
                                             |     if (v0 < 0) {
    0x00446690 bltz v0, 0x44674c             |         goto label_8;
                                             |     }
    0x00446694 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     if (s4 != 0) {
    0x00446698 bnez s4, 0x44679c             |         goto label_9;
                                             |     }
    0x0044669c move s4, zero                 |     s4 = 0;
    0x004466a0 b 0x4466b4                    |     
                                             |     while (v0 < 0) {
    0x004466a4 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x004466a8 jalr t9                       |         t9 ();
    0x004466ac lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x004466b0 beqz v0, 0x4466e0             |             goto label_10;
                                             |         }
                                             | label_1:
    0x004466b4 lw t9, -0x783c(gp)            |         t9 = sym.imp.UI_process;
    0x004466b8 move a0, s0                   |         a0 = s0;
    0x004466bc jalr t9                       |         t9 ();
    0x004466c0 move a0, s0                   |         a0 = s0;
    0x004466c4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004466c8 addiu a1, zero, 2             |         a1 = 2;
    0x004466cc move a2, zero                 |         a2 = 0;
    0x004466d0 move a3, zero                 |         a3 = 0;
    0x004466d4 move s3, v0                   |         s3 = v0;
    0x004466d8 lw t9, -0x6e08(gp)            |         t9 = sym.imp.UI_ctrl;
    0x004466dc bltz v0, 0x4466a4             |         
                                             |     }
                                             | label_10:
    0x004466e0 lw t9, -0x7510(gp)            |     t9 = sym.imp.OPENSSL_cleanse;
                                             |     if (s4 != 0) {
    0x004466e4 beqz s4, 0x446708             |         
                                             | label_2:
    0x004466e8 move a0, s4                   |         a0 = s4;
    0x004466ec move a1, s1                   |         a1 = s1;
    0x004466f0 jalr t9                       |         t9 ();
    0x004466f4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x004466f8 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x004466fc move a0, s4                   |         a0 = s4;
    0x00446700 jalr t9                       |         t9 ();
    0x00446704 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x00446708 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s3 < 0) {
    0x0044670c bltz s3, 0x44674c             |         goto label_8;
                                             |     }
    0x00446710 move a0, s2                   |     a0 = s2;
    0x00446714 jalr t9                       |     t9 ();
    0x00446718 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044671c move s1, v0                   |     s1 = v0;
                                             |     do {
                                             | label_4:
    0x00446720 lw t9, -0x7204(gp)            |         t9 = sym.imp.UI_free;
    0x00446724 move a0, s0                   |         a0 = s0;
    0x00446728 jalr t9                       |         t9 ();
    0x0044672c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00446730 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x00446734 move a0, s5                   |         a0 = s5;
    0x00446738 jalr t9                       |         t9 ();
    0x0044673c move v0, s1                   |         v0 = s1;
    0x00446740 b 0x4465d0                    |         goto label_0;
                                             | label_6:
    0x00446744 move v0, zero                 |         v0 = 0;
    0x00446748 b 0x4465d0                    |         goto label_0;
                                             | label_8:
    0x0044674c addiu t8, zero, -1            |         t8 = -1;
    0x00446750 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             |         if (s3 != t8) {
    0x00446754 bne s3, t8, 0x4467f4          |             goto label_11;
                                             |         }
    0x00446758 lw s3, -0x7fd4(gp)            |         s3 = *(gp);
    0x0044675c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00446760 lw a0, (s3)                   |         a0 = *(s3);
                                             |         /* str.User_interface_error_n */
    0x00446764 addiu a1, a1, -0x5318         |         a1 += -0x5318;
    0x00446768 jalr t9                       |         t9 ();
    0x0044676c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00446770 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x00446774 lw a0, (s3)                   |         a0 = *(s3);
    0x00446778 jalr t9                       |         t9 ();
    0x0044677c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_3:
    0x00446780 lw t9, -0x7510(gp)            |         t9 = sym.imp.OPENSSL_cleanse;
    0x00446784 move a1, s1                   |         a1 = s1;
    0x00446788 move a0, s2                   |         a0 = s2;
    0x0044678c move s1, zero                 |         s1 = 0;
    0x00446790 jalr t9                       |         t9 ();
    0x00446794 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00446798 b 0x446720                    |         
                                             |     } while (1);
                                             | label_9:
    0x0044679c move a0, s1                   |     a0 = s1;
    0x004467a0 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x004467a4 addiu a2, zero, 0x250         |     a2 = 0x250;
                                             |     /* str.apps.c */
    0x004467a8 addiu a1, a1, -0x5320         |     a1 += -0x5320;
    0x004467ac jalr t9                       |     t9 ();
    0x004467b0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004467b4 move s4, v0                   |     s4 = v0;
                                             |     if (v0 == 0) {
    0x004467b8 beqz v0, 0x44684c             |         goto label_12;
                                             |     }
    0x004467bc lw t9, -0x6f50(gp)            |     t9 = sym.imp.UI_add_verify_string;
    0x004467c0 move a0, s0                   |     a0 = s0;
    0x004467c4 sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x004467c8 move a1, s5                   |     a1 = s5;
    0x004467cc sw s6, 0x14(sp)               |     *(var_14h) = s6;
    0x004467d0 addiu a2, zero, 2             |     a2 = 2;
    0x004467d4 sw s2, 0x18(sp)               |     *(var_18h) = s2;
    0x004467d8 move a3, v0                   |     a3 = v0;
    0x004467dc jalr t9                       |     t9 ();
    0x004467e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004467e4 move s3, v0                   |     s3 = v0;
                                             |     if (v0 >= 0) {
    0x004467e8 bgez v0, 0x4466b4             |         goto label_1;
                                             |     }
    0x004467ec lw t9, -0x7510(gp)            |     t9 = sym.imp.OPENSSL_cleanse;
    0x004467f0 b 0x4466e8                    |     goto label_2;
                                             | label_11:
    0x004467f4 addiu t8, zero, -2            |     t8 = -2;
    0x004467f8 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     if (s3 == t8) {
    0x004467fc bne s3, t8, 0x44688c          |         
    0x00446800 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00446804 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00446808 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.aborted__n */
    0x0044680c addiu a1, a1, -0x5300         |         a1 += -0x5300;
    0x00446810 jalr t9                       |         t9 ();
    0x00446814 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00446818 b 0x446780                    |         goto label_3;
                                             | label_7:
    0x0044681c lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x00446820 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00446824 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00446828 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Out_of_memory_n */
    0x0044682c addiu a1, a1, -0x1474         |         a1 += -0x1474;
    0x00446830 jalr t9                       |         t9 ();
    0x00446834 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00446838 lw t9, -0x7204(gp)            |         t9 = sym.imp.UI_free;
    0x0044683c move a0, s0                   |         a0 = s0;
    0x00446840 jalr t9                       |         t9 ();
    0x00446844 move v0, zero                 |         v0 = 0;
    0x00446848 b 0x4465d0                    |         goto label_0;
                                             | label_12:
    0x0044684c lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x00446850 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00446854 lw a0, (t8)                   |         a0 = *(t8);
    0x00446858 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.Out_of_memory_n */
    0x0044685c addiu a1, a1, -0x1474         |         a1 += -0x1474;
    0x00446860 jalr t9                       |         t9 ();
    0x00446864 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00446868 lw t9, -0x7204(gp)            |         t9 = sym.imp.UI_free;
    0x0044686c move a0, s0                   |         a0 = s0;
    0x00446870 jalr t9                       |         t9 ();
    0x00446874 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00446878 lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x0044687c move a0, s5                   |         a0 = s5;
    0x00446880 jalr t9                       |         t9 ();
    0x00446884 move v0, zero                 |         v0 = 0;
    0x00446888 b 0x4465d0                    |         goto label_0;
                                             |     }
    0x0044688c move s1, zero                 |     s1 = 0;
    0x00446890 b 0x446720                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44c18c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.policies_print ()            | void policies_print () {
    0x0044c18c lui gp, 5                     |     
    0x0044c190 addiu gp, gp, 0x314           |     
    0x0044c194 addu gp, gp, t9               |     gp += t9;
    0x0044c198 addiu sp, sp, -0x38           |     
    0x0044c19c sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0044c1a0 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0044c1a4 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0044c1a8 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0044c1ac sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0044c1b0 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044c1b4 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0044c1b8 move s3, zero                 |     s3 = 0;
    0x0044c1bc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044c1c0 move s1, a0                   |     s1 = a0;
    0x0044c1c4 move s0, a1                   |     s0 = a1;
                                             |     if (a0 == 0) {
    0x0044c1c8 beqz a0, 0x44c3dc             |         goto label_3;
                                             |     }
                                             | label_2:
    0x0044c1cc lw t9, -0x7afc(gp)            |     t9 = sym.imp.X509_STORE_CTX_get0_policy_tree;
    0x0044c1d0 move a0, s0                   |     a0 = s0;
    0x0044c1d4 jalr t9                       |     t9 ();
    0x0044c1d8 move a0, s0                   |     a0 = s0;
    0x0044c1dc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c1e0 lw t9, -0x7be0(gp)            |     t9 = sym.imp.X509_STORE_CTX_get_explicit_policy;
    0x0044c1e4 move s5, v0                   |     s5 = v0;
    0x0044c1e8 jalr t9                       |     t9 ();
    0x0044c1ec lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044c1f0 beqz v0, 0x44c380             |         goto label_4;
                                             |     }
    0x0044c1f4 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
                                             |     /* str.True */
    0x0044c1f8 addiu a2, a2, -0x4a80         |     a2 += -0x4a80;
                                             | label_0:
    0x0044c1fc lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044c200 move a0, s1                   |     a0 = s1;
    0x0044c204 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Require_explicit_Policy:__s_n */
    0x0044c208 addiu a1, a1, -0x4a70         |     a1 += -0x4a70;
    0x0044c20c jalr t9                       |     t9 ();
    0x0044c210 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c214 lw t9, -0x6dc8(gp)            |     t9 = sym.imp.X509_policy_tree_get0_policies;
    0x0044c218 lw s4, -0x7f9c(gp)            |     s4 = *(gp);
    0x0044c21c move a0, s5                   |     a0 = s5;
    0x0044c220 jalr t9                       |     t9 ();
    0x0044c224 move a0, s1                   |     a0 = s1;
    0x0044c228 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     /* str._s_Policies: */
    0x0044c22c addiu a1, s4, -0x4a50         |     a1 = s4 + -0x4a50;
    0x0044c230 move s2, v0                   |     s2 = v0;
    0x0044c234 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044c238 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Authority */
    0x0044c23c addiu a2, a2, -0x4a40         |     a2 += -0x4a40;
    0x0044c240 jalr t9                       |     t9 ();
    0x0044c244 move a0, s1                   |     a0 = s1;
    0x0044c248 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c24c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     if (s2 == 0) {
    0x0044c250 beqz s2, 0x44c3c8             |         goto label_5;
                                             |     }
    0x0044c254 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044c258 move s0, zero                 |     s0 = 0;
    0x0044c25c addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044c260 jalr t9                       |     t9 ();
    0x0044c264 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c268 b 0x44c290                    |     
                                             |     while (v0 != 0) {
    0x0044c26c jalr t9                       |         t9 ();
    0x0044c270 nop                           |         
    0x0044c274 move a0, s1                   |         a0 = s1;
    0x0044c278 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044c27c move a1, v0                   |         a1 = v0;
    0x0044c280 lw t9, -0x7334(gp)            |         t9 = sym.imp.X509_POLICY_NODE_print;
    0x0044c284 addiu a2, zero, 2             |         a2 = 2;
    0x0044c288 jalr t9                       |         t9 ();
    0x0044c28c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044c290 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x0044c294 move a0, s2                   |         a0 = s2;
    0x0044c298 jalr t9                       |         t9 ();
    0x0044c29c move a1, s0                   |         a1 = s0;
    0x0044c2a0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044c2a4 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x0044c2a8 move a0, s2                   |         a0 = s2;
    0x0044c2ac addiu s0, s0, 1               |         s0++;
    0x0044c2b0 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x0044c2b4 bnez v0, 0x44c26c             |         
                                             |     }
                                             | label_1:
    0x0044c2b8 lw t9, -0x6e68(gp)            |     t9 = sym.imp.X509_policy_tree_get0_user_policies;
    0x0044c2bc move a0, s5                   |     a0 = s5;
    0x0044c2c0 jalr t9                       |     t9 ();
    0x0044c2c4 move a0, s1                   |     a0 = s1;
    0x0044c2c8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     /* str._s_Policies: */
    0x0044c2cc addiu a1, s4, -0x4a50         |     a1 = s4 + -0x4a50;
    0x0044c2d0 move s2, v0                   |     s2 = v0;
    0x0044c2d4 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044c2d8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.User */
    0x0044c2dc addiu a2, a2, -0x4a28         |     a2 += -0x4a28;
    0x0044c2e0 jalr t9                       |     t9 ();
    0x0044c2e4 move a0, s1                   |     a0 = s1;
    0x0044c2e8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c2ec lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     if (s2 == 0) {
    0x0044c2f0 beqz s2, 0x44c3b4             |         goto label_6;
                                             |     }
    0x0044c2f4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044c2f8 move s0, zero                 |     s0 = 0;
    0x0044c2fc addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044c300 jalr t9                       |     t9 ();
    0x0044c304 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c308 b 0x44c330                    |     
                                             |     while (v0 != 0) {
    0x0044c30c jalr t9                       |         t9 ();
    0x0044c310 nop                           |         
    0x0044c314 move a0, s1                   |         a0 = s1;
    0x0044c318 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044c31c move a1, v0                   |         a1 = v0;
    0x0044c320 lw t9, -0x7334(gp)            |         t9 = sym.imp.X509_POLICY_NODE_print;
    0x0044c324 addiu a2, zero, 2             |         a2 = 2;
    0x0044c328 jalr t9                       |         t9 ();
    0x0044c32c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044c330 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x0044c334 move a0, s2                   |         a0 = s2;
    0x0044c338 jalr t9                       |         t9 ();
    0x0044c33c move a1, s0                   |         a1 = s0;
    0x0044c340 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044c344 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x0044c348 move a0, s2                   |         a0 = s2;
    0x0044c34c addiu s0, s0, 1               |         s0++;
    0x0044c350 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x0044c354 bnez v0, 0x44c30c             |         
                                             |     }
                                             |     do {
    0x0044c358 lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             |         if (s3 == 0) {
    0x0044c35c bnez s3, 0x44c38c             |             
    0x0044c360 lw s5, 0x30(sp)               |             s5 = *(var_30h);
    0x0044c364 lw s4, 0x2c(sp)               |             s4 = *(var_2ch);
    0x0044c368 lw s3, 0x28(sp)               |             s3 = *(var_28h);
    0x0044c36c lw s2, 0x24(sp)               |             s2 = *(var_24h);
    0x0044c370 lw s1, 0x20(sp)               |             s1 = *(var_20h);
    0x0044c374 lw s0, 0x1c(sp)               |             s0 = *(var_1ch);
    0x0044c378 addiu sp, sp, 0x38            |             
    0x0044c37c jr ra                         |             return v0;
                                             | label_4:
    0x0044c380 lw a2, -0x7f9c(gp)            |             a2 = *(gp);
                                             |             /* str.False */
    0x0044c384 addiu a2, a2, -0x4a78         |             a2 += -0x4a78;
    0x0044c388 b 0x44c1fc                    |             goto label_0;
                                             |         }
    0x0044c38c move a0, s1                   |         a0 = s1;
    0x0044c390 lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
    0x0044c394 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0044c398 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x0044c39c lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044c3a0 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0044c3a4 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0044c3a8 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0044c3ac addiu sp, sp, 0x38            |         
    0x0044c3b0 jr t9                         |         t9 ();
                                             | label_6:
    0x0044c3b4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             |         /* str.__empty__n */
    0x0044c3b8 addiu a1, a1, -0x4a34         |         a1 += -0x4a34;
    0x0044c3bc jalr t9                       |         t9 ();
    0x0044c3c0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044c3c4 b 0x44c358                    |         
                                             |     } while (1);
                                             | label_5:
    0x0044c3c8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     /* str.__empty__n */
    0x0044c3cc addiu a1, a1, -0x4a34         |     a1 += -0x4a34;
    0x0044c3d0 jalr t9                       |     t9 ();
    0x0044c3d4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c3d8 b 0x44c2b8                    |     goto label_1;
                                             | label_3:
    0x0044c3dc lw t8, -0x6c70(gp)            |     t8 = *((gp - 6940));
    0x0044c3e0 move a1, zero                 |     a1 = 0;
    0x0044c3e4 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.BIO_new_fp;
    0x0044c3e8 addiu s3, zero, 1             |     s3 = 1;
    0x0044c3ec lw a0, (t8)                   |     a0 = *(t8);
    0x0044c3f0 jalr t9                       |     t9 ();
    0x0044c3f4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044c3f8 move s1, v0                   |     s1 = v0;
    0x0044c3fc b 0x44c1cc                    |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x453004 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.print_attribs ()             | void print_attribs () {
    0x00453004 lui gp, 5                     |     
    0x00453008 addiu gp, gp, -0x6b64         |     
    0x0045300c addu gp, gp, t9               |     gp += t9;
    0x00453010 addiu sp, sp, -0x40           |     
    0x00453014 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00453018 sw fp, 0x38(sp)               |     *(var_38h) = fp;
    0x0045301c sw s7, 0x34(sp)               |     *(var_34h) = s7;
    0x00453020 sw s6, 0x30(sp)               |     *(var_30h) = s6;
    0x00453024 sw s5, 0x2c(sp)               |     *(var_2ch) = s5;
    0x00453028 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x0045302c sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x00453030 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x00453034 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00453038 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0045303c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00453040 move s3, a1                   |     s3 = a1;
                                             |     if (a1 == 0) {
    0x00453044 beqz a1, 0x4532e4             |         goto label_2;
                                             |     }
    0x00453048 lw t9, -0x798c(gp)            |     t9 = sym.imp.sk_num;
    0x0045304c move s1, a0                   |     s1 = a0;
    0x00453050 move a0, a1                   |     a0 = a1;
    0x00453054 move s0, a2                   |     s0 = a2;
    0x00453058 jalr t9                       |     t9 ();
    0x0045305c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00453060 move a0, s1                   |     a0 = s1;
    0x00453064 move a2, s0                   |     a2 = s0;
    0x00453068 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     if (v0 == 0) {
    0x0045306c beqz v0, 0x4532a4             |         goto label_3;
                                             |     }
    0x00453070 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x00453074 move s0, zero                 |     s0 = 0;
                                             |     /* esilref: '&s
' */
    0x00453078 addiu a1, t8, 0x1fb4          |     a1 = t8 + 0x1fb4;
    0x0045307c jalr t9                       |     t9 ();
    0x00453080 move a0, s3                   |     a0 = s3;
    0x00453084 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00453088 lw t9, -0x798c(gp)            |     t9 = sym.imp.sk_num;
    0x0045308c lw s4, -0x7f9c(gp)            |     s4 = *(gp);
    0x00453090 lw s7, -0x7fd8(gp)            |     s7 = *(gp);
    0x00453094 lw s5, -0x7f9c(gp)            |     s5 = *(gp);
                                             |     /* esilref: '    ' */
    0x00453098 addiu s4, s4, -0x5d40         |     s4 += -0x5d40;
    0x0045309c lw s6, -0x7f9c(gp)            |     s6 = *(gp);
                                             |     /* str._s:_ */
    0x004530a0 addiu s7, s7, -0x34bc         |     s7 += -0x34bc;
    0x004530a4 jalr t9                       |     t9 ();
                                             |     /* str._No_Values__n */
    0x004530a8 addiu s5, s5, -0x2d4c         |     s5 += -0x2d4c;
    0x004530ac slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x004530b0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x004530b4 beqz v0, 0x45319c             |         goto label_4;
                                             |     }
                                             |     do {
    0x004530b8 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x004530bc move a1, s0                   |         a1 = s0;
    0x004530c0 move a0, s3                   |         a0 = s3;
    0x004530c4 jalr t9                       |         t9 ();
    0x004530c8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x004530cc move s2, v0                   |         s2 = v0;
    0x004530d0 lw t9, -0x77e4(gp)            |         t9 = sym.imp.OBJ_obj2nid;
    0x004530d4 lw a0, (v0)                   |         a0 = *(v0);
    0x004530d8 jalr t9                       |         t9 ();
    0x004530dc move a0, s1                   |         a0 = s1;
    0x004530e0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x004530e4 move fp, v0                   |         fp = v0;
    0x004530e8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x004530ec move a1, s4                   |         a1 = s4;
    0x004530f0 jalr t9                       |         t9 ();
    0x004530f4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (fp != 0) {
    0x004530f8 bnez fp, 0x4531ec             |             goto label_5;
                                             |         }
    0x004530fc lw t9, -0x6f80(gp)            |         t9 = sym.imp.i2a_ASN1_OBJECT;
    0x00453100 move a0, s1                   |         a0 = s1;
    0x00453104 lw a1, (s2)                   |         a1 = *(s2);
    0x00453108 jalr t9                       |         t9 ();
    0x0045310c move a0, s1                   |         a0 = s1;
    0x00453110 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00453114 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* esilref: ': ' */
    0x00453118 addiu a1, s6, -0x4654         |         a1 = s6 + -0x4654;
    0x0045311c jalr t9                       |         t9 ();
    0x00453120 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_1:
    0x00453124 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00453128 lw a0, 8(s2)                  |         a0 = *((s2 + 2));
    0x0045312c jalr t9                       |         t9 ();
    0x00453130 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00453134 beqz v0, 0x4531d0             |             goto label_6;
                                             |         }
    0x00453138 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x0045313c move a1, zero                 |         a1 = 0;
    0x00453140 lw a0, 8(s2)                  |         a0 = *((s2 + 2));
    0x00453144 jalr t9                       |         t9 ();
    0x00453148 addiu t8, zero, 4             |         t8 = 4;
    0x0045314c lw a2, (v0)                   |         a2 = *(v0);
    0x00453150 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (a2 == t8) {
    0x00453154 beq a2, t8, 0x453218          |             goto label_7;
                                             |         }
    0x00453158 addiu t8, zero, 0x1e          |         t8 = 0x1e;
    0x0045315c addiu t8, zero, 3             |         t8 = 3;
                                             |         if (a2 == t8) {
    0x00453160 beq a2, t8, 0x453254          |             goto label_8;
                                             |         }
    0x00453164 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         if (a2 == t8) {
    0x00453168 beq a2, t8, 0x453218          |             goto label_7;
                                             |         }
    0x0045316c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00453170 move a0, s1                   |         a0 = s1;
    0x00453174 addiu s0, s0, 1               |         s0++;
                                             |         /* str._Unsupported_tag__d__n */
    0x00453178 addiu a1, a1, -0x2d64         |         a1 += -0x2d64;
    0x0045317c jalr t9                       |         t9 ();
    0x00453180 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_0:
    0x00453184 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00453188 move a0, s3                   |         a0 = s3;
    0x0045318c jalr t9                       |         t9 ();
    0x00453190 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00453194 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00453198 bnez v0, 0x4530b8             |         
                                             |     } while (v0 != 0);
                                             | label_4:
    0x0045319c lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x004531a0 addiu v0, zero, 1             |     v0 = 1;
    0x004531a4 lw fp, 0x38(sp)               |     fp = *(var_38h);
    0x004531a8 lw s7, 0x34(sp)               |     s7 = *(var_34h);
    0x004531ac lw s6, 0x30(sp)               |     s6 = *(var_30h);
    0x004531b0 lw s5, 0x2c(sp)               |     s5 = *(var_2ch);
    0x004531b4 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x004531b8 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x004531bc lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x004531c0 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x004531c4 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x004531c8 addiu sp, sp, 0x40            |     
    0x004531cc jr ra                         |     return v0;
                                             | label_6:
    0x004531d0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004531d4 move a0, s1                   |     a0 = s1;
    0x004531d8 move a1, s5                   |     a1 = s5;
    0x004531dc addiu s0, s0, 1               |     s0++;
    0x004531e0 jalr t9                       |     t9 ();
    0x004531e4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x004531e8 b 0x453184                    |     goto label_0;
                                             | label_5:
    0x004531ec lw t9, -0x7a04(gp)            |     t9 = sym.imp.OBJ_nid2ln;
    0x004531f0 move a0, fp                   |     a0 = fp;
    0x004531f4 jalr t9                       |     t9 ();
    0x004531f8 move a0, s1                   |     a0 = s1;
    0x004531fc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00453200 move a1, s7                   |     a1 = s7;
    0x00453204 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00453208 move a2, v0                   |     a2 = v0;
    0x0045320c jalr t9                       |     t9 ();
    0x00453210 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00453214 b 0x453124                    |     goto label_1;
                                             | label_7:
    0x00453218 lw t8, 4(v0)                  |     t8 = *((v0 + 1));
    0x0045321c move a0, s1                   |     a0 = s1;
    0x00453220 lw t9, -0x7e98(gp)            |     t9 = sym.hex_prin;
    0x00453224 addiu s0, s0, 1               |     s0++;
    0x00453228 lw a1, 8(t8)                  |     a1 = *((t8 + 2));
    0x0045322c lw a2, (t8)                   |     a2 = *(t8);
    0x00453230 jalr t9                       |     t9 ();
    0x00453234 move a0, s1                   |     a0 = s1;
    0x00453238 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0045323c lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x00453240 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00453244 addiu a1, t8, 0x609c          |     a1 = t8 + 0x609c;
    0x00453248 jalr t9                       |     t9 ();
    0x0045324c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00453250 b 0x453184                    |     goto label_0;
                                             | label_8:
    0x00453254 lw t8, 4(v0)                  |     t8 = *((v0 + 1));
    0x00453258 addiu s0, s0, 1               |     s0++;
    0x0045325c lw t9, -0x6ee4(gp)            |     t9 = sym.imp.OPENSSL_uni2asc;
    0x00453260 lw a0, 8(t8)                  |     a0 = *((t8 + 2));
    0x00453264 lw a1, (t8)                   |     a1 = *(t8);
    0x00453268 jalr t9                       |     t9 ();
    0x0045326c move a0, s1                   |     a0 = s1;
    0x00453270 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00453274 move a2, v0                   |     a2 = v0;
    0x00453278 move s2, v0                   |     s2 = v0;
    0x0045327c lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x00453280 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* esilref: '&s
' */
    0x00453284 addiu a1, t8, 0x1fb4          |     a1 = t8 + 0x1fb4;
    0x00453288 jalr t9                       |     t9 ();
    0x0045328c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00453290 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x00453294 move a0, s2                   |     a0 = s2;
    0x00453298 jalr t9                       |     t9 ();
    0x0045329c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x004532a0 b 0x453184                    |     goto label_0;
                                             | label_3:
    0x004532a4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     /* str._s:__Empty_Attributes__n */
    0x004532a8 addiu a1, a1, -0x2d7c         |     a1 += -0x2d7c;
    0x004532ac jalr t9                       |     t9 ();
    0x004532b0 addiu v0, zero, 1             |     v0 = 1;
    0x004532b4 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x004532b8 lw fp, 0x38(sp)               |     fp = *(var_38h);
    0x004532bc lw s7, 0x34(sp)               |     s7 = *(var_34h);
    0x004532c0 lw s6, 0x30(sp)               |     s6 = *(var_30h);
    0x004532c4 lw s5, 0x2c(sp)               |     s5 = *(var_2ch);
    0x004532c8 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x004532cc lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x004532d0 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x004532d4 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x004532d8 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x004532dc addiu sp, sp, 0x40            |     
    0x004532e0 jr ra                         |     return v0;
                                             | label_2:
    0x004532e4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x004532e8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str._s:__No_Attributes__n */
    0x004532ec addiu a1, a1, -0x2d94         |     a1 += -0x2d94;
    0x004532f0 jalr t9                       |     t9 ();
    0x004532f4 addiu v0, zero, 1             |     v0 = 1;
    0x004532f8 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x004532fc lw fp, 0x38(sp)               |     fp = *(var_38h);
    0x00453300 lw s7, 0x34(sp)               |     s7 = *(var_34h);
    0x00453304 lw s6, 0x30(sp)               |     s6 = *(var_30h);
    0x00453308 lw s5, 0x2c(sp)               |     s5 = *(var_2ch);
    0x0045330c lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x00453310 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x00453314 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x00453318 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x0045331c lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x00453320 addiu sp, sp, 0x40            |     
    0x00453324 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44c52c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.print_cert_checks ()         | void print_cert_checks () {
    0x0044c52c lui gp, 5                     |     
    0x0044c530 addiu gp, gp, -0x8c           |     
    0x0044c534 addu gp, gp, t9               |     gp += t9;
    0x0044c538 addiu sp, sp, -0x38           |     
    0x0044c53c sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0044c540 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0044c544 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0044c548 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0044c54c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0044c550 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0044c554 move s0, a1                   |     s0 = a1;
    0x0044c558 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0044c55c lw s1, 0x48(sp)               |     s1 = *(arg_48h);
                                             |     if (a1 == 0) {
    0x0044c560 beqz a1, 0x44c6ac             |         goto label_1;
                                             |     }
    0x0044c564 move s4, a0                   |     s4 = a0;
    0x0044c568 move s3, a2                   |     s3 = a2;
    0x0044c56c move s2, a3                   |     s2 = a3;
                                             |     if (a2 != 0) {
    0x0044c570 beqz a2, 0x44c5c0             |         
    0x0044c574 lw t9, -0x7540(gp)            |         t9 = sym.imp.X509_check_host;
    0x0044c578 move a0, a1                   |         a0 = a1;
    0x0044c57c sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0044c580 move a1, a2                   |         a1 = a2;
    0x0044c584 move a3, zero                 |         a3 = 0;
    0x0044c588 move a2, zero                 |         a2 = 0;
    0x0044c58c jalr t9                       |         t9 ();
    0x0044c590 addiu t8, zero, 1             |         t8 = 1;
    0x0044c594 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == t8) {
    0x0044c598 beq v0, t8, 0x44c6cc          |             goto label_2;
                                             |         }
    0x0044c59c lw a3, -0x7fd8(gp)            |         a3 = *(gp);
                                             |         /* str._NOT */
    0x0044c5a0 addiu a3, a3, 0x5bbc          |         a3 += 0x5bbc;
                                             | label_0:
    0x0044c5a4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044c5a8 move a0, s4                   |         a0 = s4;
    0x0044c5ac lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044c5b0 move a2, s3                   |         a2 = s3;
                                             |         /* str.Hostname__s_does_s_match_certificate_n */
    0x0044c5b4 addiu a1, a1, -0x4a20         |         a1 += -0x4a20;
    0x0044c5b8 jalr t9                       |         t9 ();
    0x0044c5bc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0044c5c0 lw t9, -0x7304(gp)            |     t9 = sym.imp.X509_check_email;
                                             |     if (s2 == 0) {
    0x0044c5c4 beqz s2, 0x44c608             |         goto label_3;
                                             |     }
    0x0044c5c8 move a0, s0                   |     a0 = s0;
    0x0044c5cc move a1, s2                   |     a1 = s2;
    0x0044c5d0 move a2, zero                 |     a2 = 0;
    0x0044c5d4 move a3, zero                 |     a3 = 0;
    0x0044c5d8 jalr t9                       |     t9 ();
    0x0044c5dc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0044c5e0 bnez v0, 0x44c6a0             |         goto label_4;
                                             |     }
    0x0044c5e4 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     /* str._NOT */
    0x0044c5e8 addiu a3, a3, 0x5bbc          |     a3 += 0x5bbc;
                                             |     do {
    0x0044c5ec lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044c5f0 move a0, s4                   |         a0 = s4;
    0x0044c5f4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044c5f8 move a2, s2                   |         a2 = s2;
                                             |         /* str.Email__s_does_s_match_certificate_n */
    0x0044c5fc addiu a1, a1, -0x49f8         |         a1 += -0x49f8;
    0x0044c600 jalr t9                       |         t9 ();
    0x0044c604 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_3:
    0x0044c608 lw t9, -0x7080(gp)            |         t9 = sym.imp.X509_check_ip_asc;
                                             |         if (s1 == 0) {
    0x0044c60c beqz s1, 0x44c6ac             |             goto label_1;
                                             |         }
    0x0044c610 move a0, s0                   |         a0 = s0;
    0x0044c614 move a1, s1                   |         a1 = s1;
    0x0044c618 move a2, zero                 |         a2 = 0;
    0x0044c61c jalr t9                       |         t9 ();
    0x0044c620 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0044c624 bnez v0, 0x44c664             |             
    0x0044c628 lw a3, -0x7fd8(gp)            |             a3 = *(gp);
    0x0044c62c move a0, s4                   |             a0 = s4;
    0x0044c630 lw a1, -0x7f9c(gp)            |             a1 = *(gp);
    0x0044c634 move a2, s1                   |             a2 = s1;
    0x0044c638 lw t9, -0x780c(gp)            |             t9 = sym.imp.BIO_printf
                                             |             /* str._NOT */
    0x0044c63c addiu a3, a3, 0x5bbc          |             a3 += 0x5bbc;
    0x0044c640 lw ra, 0x34(sp)               |             ra = *(var_34h);
                                             |             /* str.IP__s_does_s_match_certificate_n */
    0x0044c644 addiu a1, a1, -0x49d4         |             a1 += -0x49d4;
    0x0044c648 lw s4, 0x30(sp)               |             s4 = *(var_30h);
    0x0044c64c lw s3, 0x2c(sp)               |             s3 = *(var_2ch);
    0x0044c650 lw s2, 0x28(sp)               |             s2 = *(var_28h);
    0x0044c654 lw s1, 0x24(sp)               |             s1 = *(var_24h);
    0x0044c658 lw s0, 0x20(sp)               |             s0 = *(var_20h);
    0x0044c65c addiu sp, sp, 0x38            |             
    0x0044c660 jr t9                         |             t9 ();
                                             |         }
    0x0044c664 lw a3, -0x7fd8(gp)            |         a3 = *(gp);
    0x0044c668 move a0, s4                   |         a0 = s4;
    0x0044c66c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044c670 move a2, s1                   |         a2 = s1;
    0x0044c674 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044c678 addiu a3, a3, 0x3b3c          |         a3 += 0x3b3c;
    0x0044c67c lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             |         /* str.IP__s_does_s_match_certificate_n */
    0x0044c680 addiu a1, a1, -0x49d4         |         a1 += -0x49d4;
    0x0044c684 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0044c688 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0044c68c lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0044c690 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0044c694 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0044c698 addiu sp, sp, 0x38            |         
    0x0044c69c jr t9                         |         t9 ();
                                             | label_4:
    0x0044c6a0 lw a3, -0x7fd8(gp)            |         a3 = *(gp);
    0x0044c6a4 addiu a3, a3, 0x3b3c          |         a3 += 0x3b3c;
    0x0044c6a8 b 0x44c5ec                    |         
                                             |     } while (1);
                                             | label_1:
    0x0044c6ac lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0044c6b0 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x0044c6b4 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x0044c6b8 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0044c6bc lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0044c6c0 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0044c6c4 addiu sp, sp, 0x38            |     
    0x0044c6c8 jr ra                         |     return v0;
                                             | label_2:
    0x0044c6cc lw a3, -0x7fd8(gp)            |     a3 = *(gp);
    0x0044c6d0 addiu a3, a3, 0x3b3c          |     a3 += 0x3b3c;
    0x0044c6d4 b 0x44c5a4                    |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44f848 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.print_ssl_summary ()         | void print_ssl_summary () {
    0x0044f848 lui gp, 5                     |     
    0x0044f84c addiu gp, gp, -0x33a8         |     
    0x0044f850 addu gp, gp, t9               |     gp += t9;
    0x0044f854 addiu sp, sp, -0x48           |     
    0x0044f858 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0044f85c sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x0044f860 sw s7, 0x3c(sp)               |     *(var_3ch) = s7;
    0x0044f864 sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x0044f868 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x0044f86c sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0044f870 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0044f874 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0044f878 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0044f87c sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0044f880 move s1, a0                   |     s1 = a0;
    0x0044f884 lw t9, -0x6cd0(gp)            |     t9 = sym.imp.SSL_get_version;
    0x0044f888 move a0, a1                   |     a0 = a1;
    0x0044f88c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044f890 move s2, a1                   |     s2 = a1;
    0x0044f894 jalr t9                       |     t9 ();
    0x0044f898 move a0, s1                   |     a0 = s1;
    0x0044f89c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044f8a0 move a2, v0                   |     a2 = v0;
    0x0044f8a4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044f8a8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Protocol_version:__s_n */
    0x0044f8ac addiu a1, a1, -0x39e4         |     a1 += -0x39e4;
    0x0044f8b0 jalr t9                       |     t9 ();
    0x0044f8b4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044f8b8 lw t9, -0x7940(gp)            |     t9 = sym.imp.SSL_is_server;
    0x0044f8bc move a0, s2                   |     a0 = s2;
    0x0044f8c0 jalr t9                       |     t9 ();
    0x0044f8c4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044f8c8 bnez v0, 0x44fa74             |         
                                             | label_1:
    0x0044f8cc lw t9, -0x7be4(gp)            |         t9 = sym.imp.SSL_get_current_cipher;
    0x0044f8d0 move a0, s2                   |         a0 = s2;
    0x0044f8d4 jalr t9                       |         t9 ();
    0x0044f8d8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f8dc lw t9, -0x704c(gp)            |         t9 = sym.imp.SSL_CIPHER_get_name;
    0x0044f8e0 move a0, v0                   |         a0 = v0;
    0x0044f8e4 jalr t9                       |         t9 ();
    0x0044f8e8 move a0, s1                   |         a0 = s1;
    0x0044f8ec lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f8f0 move a2, v0                   |         a2 = v0;
    0x0044f8f4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044f8f8 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.Ciphersuite:__s_n */
    0x0044f8fc addiu a1, a1, -0x39a8         |         a1 += -0x39a8;
    0x0044f900 jalr t9                       |         t9 ();
    0x0044f904 move a0, s1                   |         a0 = s1;
    0x0044f908 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f90c lw t9, -0x7df4(gp)            |         t9 = *((gp - 8061));
                                             |         /* fcn.0044cb98 */
    0x0044f910 addiu t9, t9, -0x3468         |         t9 += -0x3468;
    0x0044f914 move a1, s2                   |         a1 = s2;
    0x0044f918 jalr t9                       |         t9 ();
    0x0044f91c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f920 lw t9, -0x7a64(gp)            |         t9 = sym.imp.SSL_get_peer_certificate;
    0x0044f924 move a0, s2                   |         a0 = s2;
    0x0044f928 jalr t9                       |         t9 ();
    0x0044f92c move a0, s1                   |         a0 = s1;
    0x0044f930 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f934 move s0, v0                   |         s0 = v0;
    0x0044f938 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         if (v0 == 0) {
    0x0044f93c beqz v0, 0x44fc6c             |             goto label_7;
                                             |         }
    0x0044f940 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
                                             |         /* str.Peer_certificate:_ */
    0x0044f944 addiu a1, a1, -0x3994         |         a1 += -0x3994;
    0x0044f948 jalr t9                       |         t9 ();
    0x0044f94c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f950 lw t9, -0x7d7c(gp)            |         t9 = sym.imp.X509_get_subject_name;
    0x0044f954 move a0, s0                   |         a0 = s0;
    0x0044f958 jalr t9                       |         t9 ();
    0x0044f95c lui a3, 0x82                  |         a3 = 0x820000;
    0x0044f960 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f964 move a2, zero                 |         a2 = 0;
    0x0044f968 addiu a3, a3, 0x31f           |         a3 += 0x31f;
    0x0044f96c move a0, s1                   |         a0 = s1;
    0x0044f970 lw t9, -0x7da0(gp)            |         t9 = sym.imp.X509_NAME_print_ex;
    0x0044f974 move a1, v0                   |         a1 = v0;
    0x0044f978 jalr t9                       |         t9 ();
    0x0044f97c move a0, s1                   |         a0 = s1;
    0x0044f980 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f984 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0044f988 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
    0x0044f98c addiu a1, a1, 0x609c          |         a1 += 0x609c;
    0x0044f990 jalr t9                       |         t9 ();
    0x0044f994 move a0, s2                   |         a0 = s2;
    0x0044f998 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f99c addiu a1, zero, 0x6c          |         a1 = 0x6c;
    0x0044f9a0 move a2, zero                 |         a2 = 0;
    0x0044f9a4 lw t9, -0x7a2c(gp)            |         t9 = sym.imp.SSL_ctrl;
    0x0044f9a8 addiu a3, sp, 0x18            |         a3 = sp + 0x18;
    0x0044f9ac jalr t9                       |         t9 ();
    0x0044f9b0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0044f9b4 bnez v0, 0x44fc3c             |             goto label_8;
                                             |         }
                                             | label_5:
    0x0044f9b8 lw t9, -0x6c30(gp)            |         t9 = *((gp - 6924));
    0x0044f9bc move a0, s0                   |         a0 = s0;
    0x0044f9c0 jalr t9                       |         t9 ();
    0x0044f9c4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_6:
    0x0044f9c8 lw t9, -0x7f20(gp)            |         t9 = sym.ssl_print_point_formats;
    0x0044f9cc move a0, s1                   |         a0 = s1;
    0x0044f9d0 move a1, s2                   |         a1 = s2;
    0x0044f9d4 jalr t9                       |         t9 ();
    0x0044f9d8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044f9dc lw t9, -0x7940(gp)            |         t9 = sym.imp.SSL_is_server;
    0x0044f9e0 move a0, s2                   |         a0 = s2;
    0x0044f9e4 jalr t9                       |         t9 ();
    0x0044f9e8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044f9ec bnez v0, 0x44fa30             |             
    0x0044f9f0 lw t9, -0x7e28(gp)            |             t9 = sym.ssl_print_tmp_key;
    0x0044f9f4 move a0, s1                   |             a0 = s1;
    0x0044f9f8 move a1, s2                   |             a1 = s2;
    0x0044f9fc jalr t9                       |             t9 ();
    0x0044fa00 lw ra, 0x44(sp)               |             ra = *(var_44h);
    0x0044fa04 lw fp, 0x40(sp)               |             fp = *(var_40h);
    0x0044fa08 lw s7, 0x3c(sp)               |             s7 = *(var_3ch);
    0x0044fa0c lw s6, 0x38(sp)               |             s6 = *(var_38h);
    0x0044fa10 lw s5, 0x34(sp)               |             s5 = *(var_34h);
    0x0044fa14 lw s4, 0x30(sp)               |             s4 = *(var_30h);
    0x0044fa18 lw s3, 0x2c(sp)               |             s3 = *(var_2ch);
    0x0044fa1c lw s2, 0x28(sp)               |             s2 = *(var_28h);
    0x0044fa20 lw s1, 0x24(sp)               |             s1 = *(var_24h);
    0x0044fa24 lw s0, 0x20(sp)               |             s0 = *(var_20h);
    0x0044fa28 addiu sp, sp, 0x48            |             
    0x0044fa2c jr ra                         |             return v0;
                                             |         }
    0x0044fa30 lw t9, -0x7f1c(gp)            |         t9 = sym.ssl_print_curves;
    0x0044fa34 move a0, s1                   |         a0 = s1;
    0x0044fa38 move a1, s2                   |         a1 = s2;
    0x0044fa3c addiu a2, zero, 1             |         a2 = 1;
    0x0044fa40 jalr t9                       |         t9 ();
    0x0044fa44 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0044fa48 lw fp, 0x40(sp)               |         fp = *(var_40h);
    0x0044fa4c lw s7, 0x3c(sp)               |         s7 = *(var_3ch);
    0x0044fa50 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x0044fa54 lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x0044fa58 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0044fa5c lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0044fa60 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0044fa64 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0044fa68 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0044fa6c addiu sp, sp, 0x48            |         
    0x0044fa70 jr ra                         |         return v0;
                                             |     }
    0x0044fa74 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044fa78 move a0, s2                   |     a0 = s2;
    0x0044fa7c addiu a1, zero, 0x6e          |     a1 = 0x6e;
    0x0044fa80 move a2, zero                 |     a2 = 0;
    0x0044fa84 move a3, zero                 |     a3 = 0;
    0x0044fa88 jalr t9                       |     t9 ();
    0x0044fa8c move a0, s2                   |     a0 = s2;
    0x0044fa90 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fa94 addiu a1, zero, 0x6e          |     a1 = 0x6e;
    0x0044fa98 move a2, zero                 |     a2 = 0;
    0x0044fa9c addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x0044faa0 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044faa4 move s3, v0                   |     s3 = v0;
    0x0044faa8 jalr t9                       |     t9 ();
    0x0044faac move a0, s1                   |     a0 = s1;
    0x0044fab0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fab4 move s6, v0                   |     s6 = v0;
    0x0044fab8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fabc lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Client_cipher_list:_ */
    0x0044fac0 addiu a1, a1, -0x39cc         |     a1 += -0x39cc;
    0x0044fac4 jalr t9                       |     t9 ();
    0x0044fac8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s6 == 0) {
    0x0044facc beqz s6, 0x44fbb4             |         goto label_9;
                                             |     }
    0x0044fad0 lw t9, -0x7bf4(gp)            |     t9 = sym.imp.SSL_CIPHER_find;
    0x0044fad4 move a0, s2                   |     a0 = s2;
    0x0044fad8 lw a1, 0x18(sp)               |     a1 = *(var_18h);
    0x0044fadc lw fp, -0x7f9c(gp)            |     fp = *(gp);
    0x0044fae0 move s4, s3                   |     s4 = s3;
    0x0044fae4 jalr t9                       |     t9 ();
    0x0044fae8 addiu t8, zero, 3             |     t8 = 3;
    0x0044faec lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044faf0 subu t8, t8, s3               |     __asm ("subu t8, t8, s3");
    0x0044faf4 move s0, v0                   |     s0 = v0;
    0x0044faf8 lw s7, -0x7f9c(gp)            |     s7 = *(gp);
    0x0044fafc lw s5, -0x7fd8(gp)            |     s5 = *(gp);
    0x0044fb00 addiu s7, s7, -0x33dc         |     s7 += -0x33dc;
    0x0044fb04 addu s7, s7, t8               |     s7 += t8;
                                             |     /* str._02X */
    0x0044fb08 addiu s5, s5, -0x708          |     s5 += -0x708;
                                             |     if (s0 == 0) {
    0x0044fb0c beqz s0, 0x44fb6c             |         goto label_10;
                                             |     }
    0x0044fb10 lw t9, -0x704c(gp)            |     t9 = sym.imp.SSL_CIPHER_get_name;
                                             |     do {
    0x0044fb14 move a0, s0                   |         a0 = s0;
    0x0044fb18 jalr t9                       |         t9 ();
    0x0044fb1c move a0, s1                   |         a0 = s1;
    0x0044fb20 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044fb24 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
    0x0044fb28 move a1, v0                   |         a1 = v0;
    0x0044fb2c jalr t9                       |         t9 ();
    0x0044fb30 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_3:
    0x0044fb34 lw a1, 0x18(sp)               |         a1 = *(var_18h);
                                             | label_4:
    0x0044fb38 sltu t8, s4, s6               |         t8 = (s4 < s6) ? 1 : 0;
    0x0044fb3c addu a1, a1, s3               |         a1 += s3;
    0x0044fb40 sw a1, 0x18(sp)               |         *(var_18h) = a1;
                                             |         if (t8 == 0) {
    0x0044fb44 beqz t8, 0x44fbb4             |             goto label_9;
                                             |         }
                                             | label_0:
    0x0044fb48 lw t9, -0x7bf4(gp)            |         t9 = sym.imp.SSL_CIPHER_find;
    0x0044fb4c move a0, s2                   |         a0 = s2;
    0x0044fb50 jalr t9                       |         t9 ();
    0x0044fb54 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044fb58 move s0, v0                   |         s0 = v0;
                                             |         if (s4 != 0) {
    0x0044fb5c bnez s4, 0x44fbd0             |             goto label_11;
                                             |         }
    0x0044fb60 addu s4, s4, s3               |         s4 += s3;
                                             | label_2:
    0x0044fb64 lw t9, -0x704c(gp)            |         t9 = sym.imp.SSL_CIPHER_get_name;
    0x0044fb68 bnez s0, 0x44fb14             |         
                                             |     } while (s0 != 0);
                                             | label_10:
    0x0044fb6c lw t9, -0x6c68(gp)            |     t9 = sym.imp.memcmp;
    0x0044fb70 move a1, s7                   |     a1 = s7;
    0x0044fb74 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x0044fb78 move a2, s3                   |     a2 = s3;
    0x0044fb7c jalr t9                       |     t9 ();
    0x0044fb80 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0044fb84 bnez v0, 0x44fbf0             |         goto label_12;
                                             |     }
    0x0044fb88 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fb8c move a0, s1                   |     a0 = s1;
    0x0044fb90 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.SCSV */
    0x0044fb94 addiu a1, a1, -0x39b4         |     a1 += -0x39b4;
    0x0044fb98 jalr t9                       |     t9 ();
    0x0044fb9c sltu t8, s4, s6               |     t8 = (s4 < s6) ? 1 : 0;
    0x0044fba0 lw a1, 0x18(sp)               |     a1 = *(var_18h);
    0x0044fba4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fba8 addu a1, a1, s3               |     a1 += s3;
    0x0044fbac sw a1, 0x18(sp)               |     *(var_18h) = a1;
                                             |     if (t8 != 0) {
    0x0044fbb0 bnez t8, 0x44fb48             |         goto label_0;
                                             |     }
                                             | label_9:
    0x0044fbb4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044fbb8 move a0, s1                   |     a0 = s1;
    0x0044fbbc lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044fbc0 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044fbc4 jalr t9                       |     t9 ();
    0x0044fbc8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fbcc b 0x44f8cc                    |     goto label_1;
                                             | label_11:
    0x0044fbd0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044fbd4 move a0, s1                   |     a0 = s1;
    0x0044fbd8 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044fbdc addu s4, s4, s3               |     s4 += s3;
    0x0044fbe0 addiu a1, a1, -0x824          |     a1 += -0x824;
    0x0044fbe4 jalr t9                       |     t9 ();
    0x0044fbe8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fbec b 0x44fb64                    |     goto label_2;
                                             | label_12:
    0x0044fbf0 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044fbf4 move a0, s1                   |     a0 = s1;
                                             |     /* esilref: '0x' */
    0x0044fbf8 addiu a1, fp, -0x39ac         |     a1 = fp + -0x39ac;
    0x0044fbfc move s0, zero                 |     s0 = 0;
    0x0044fc00 jalr t9                       |     t9 ();
    0x0044fc04 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s3 == 0) {
    0x0044fc08 beqz s3, 0x44fb34             |         goto label_3;
                                             |     }
                                             |     do {
    0x0044fc0c lw t8, 0x18(sp)               |         t8 = *(var_18h);
    0x0044fc10 move a0, s1                   |         a0 = s1;
    0x0044fc14 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044fc18 move a1, s5                   |         a1 = s5;
    0x0044fc1c addu t8, t8, s0               |         t8 += s0;
    0x0044fc20 addiu s0, s0, 1               |         s0++;
    0x0044fc24 lbu a2, (t8)                  |         a2 = *(t8);
    0x0044fc28 jalr t9                       |         t9 ();
    0x0044fc2c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044fc30 bne s3, s0, 0x44fc0c          |         
                                             |     } while (s3 != s0);
    0x0044fc34 lw a1, 0x18(sp)               |     a1 = *(var_18h);
    0x0044fc38 b 0x44fb38                    |     goto label_4;
                                             | label_8:
    0x0044fc3c lw t9, -0x6d2c(gp)            |     t9 = sym.imp.OBJ_nid2sn;
    0x0044fc40 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x0044fc44 jalr t9                       |     t9 ();
    0x0044fc48 move a0, s1                   |     a0 = s1;
    0x0044fc4c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fc50 move a2, v0                   |     a2 = v0;
    0x0044fc54 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044fc58 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.Hash_used:__s_n */
    0x0044fc5c addiu a1, a1, -0x3980         |     a1 += -0x3980;
    0x0044fc60 jalr t9                       |     t9 ();
    0x0044fc64 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fc68 b 0x44f9b8                    |     goto label_5;
                                             | label_7:
    0x0044fc6c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     /* str.No_peer_certificate_n */
    0x0044fc70 addiu a1, a1, -0x3970         |     a1 += -0x3970;
    0x0044fc74 jalr t9                       |     t9 ();
    0x0044fc78 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044fc7c b 0x44f9c8                    |     goto label_6;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4608b8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.process_responder ()         | void process_responder () {
    0x004608b8 lui gp, 4                     |     
    0x004608bc addiu gp, gp, -0x4418         |     
    0x004608c0 addu gp, gp, t9               |     gp += t9;
    0x004608c4 addiu sp, sp, -0xd8           |     
    0x004608c8 sw ra, 0xd4(sp)               |     *(var_d4h) = ra;
    0x004608cc sw fp, 0xd0(sp)               |     *(var_d0h) = fp;
    0x004608d0 sw s7, 0xcc(sp)               |     *(var_cch) = s7;
    0x004608d4 sw s6, 0xc8(sp)               |     *(var_c8h) = s6;
    0x004608d8 sw s5, 0xc4(sp)               |     *(var_c4h) = s5;
    0x004608dc sw s4, 0xc0(sp)               |     *(var_c0h) = s4;
    0x004608e0 sw s3, 0xbc(sp)               |     *(var_bch) = s3;
    0x004608e4 sw s2, 0xb8(sp)               |     *(var_b8h) = s2;
    0x004608e8 sw s1, 0xb4(sp)               |     *(var_b4h) = s1;
    0x004608ec sw s0, 0xb0(sp)               |     *(var_b0h) = s0;
    0x004608f0 move s7, a1                   |     s7 = a1;
    0x004608f4 lw t9, -0x7574(gp)            |     t9 = sym.imp.BIO_new_connect;
    0x004608f8 move s2, a3                   |     s2 = a3;
    0x004608fc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00460900 sw a0, 0xd8(sp)               |     *(arg_d8h) = a0;
    0x00460904 move a0, a2                   |     a0 = a2;
    0x00460908 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0046090c lw s1, 0xf0(sp)               |     s1 = *(arg_f0h);
    0x00460910 lw s4, 0xf4(sp)               |     s4 = *(arg_f4h);
    0x00460914 jalr t9                       |     t9 ();
    0x00460918 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0046091c move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x00460920 beqz v0, 0x460dfc             |         goto label_11;
                                             |     }
    0x00460924 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (s0 != 0) {
    0x00460928 beqz s0, 0x460944             |         
    0x0046092c move a0, v0                   |         a0 = v0;
    0x00460930 addiu a1, zero, 0x64          |         a1 = 0x64;
    0x00460934 addiu a2, zero, 1             |         a2 = 1;
    0x00460938 move a3, s0                   |         a3 = s0;
    0x0046093c jalr t9                       |         t9 ();
    0x00460940 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00460944 lw v0, 0xec(sp)               |     v0 = *(arg_ech);
    0x00460948 addiu t8, zero, 1             |     t8 = 1;
    0x0046094c addiu t8, zero, -1            |     t8 = -1;
                                             |     if (v0 == t8) {
    0x00460950 beq v0, t8, 0x460bd4          |         goto label_12;
                                             |     }
    0x00460954 move s5, zero                 |     s5 = 0;
    0x00460958 sw zero, 0xa8(sp)             |     *(var_a8h) = 0;
    0x0046095c move a0, s3                   |     a0 = s3;
    0x00460960 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (s4 == t8) {
    0x00460964 beq s4, t8, 0x460c58          |         goto label_13;
                                             |     }
                                             | label_2:
    0x00460968 addiu a1, zero, 0x66          |     a1 = 0x66;
    0x0046096c addiu a2, zero, 1             |     a2 = 1;
    0x00460970 move a3, zero                 |     a3 = 0;
    0x00460974 jalr t9                       |     t9 ();
    0x00460978 move a0, s3                   |     a0 = s3;
    0x0046097c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460980 addiu a1, zero, 0x65          |     a1 = 0x65;
    0x00460984 move a2, zero                 |     a2 = 0;
    0x00460988 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0046098c move a3, zero                 |     a3 = 0;
    0x00460990 jalr t9                       |     t9 ();
    0x00460994 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x00460998 blez v0, 0x460af0             |         goto label_14;
                                             |     }
                                             | label_3:
    0x0046099c lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x004609a0 move a0, s3                   |     a0 = s3;
    0x004609a4 addiu a1, zero, 0x69          |     a1 = 0x69;
    0x004609a8 move a2, zero                 |     a2 = 0;
    0x004609ac addiu a3, sp, 0xac            |     a3 = sp + 0xac;
    0x004609b0 jalr t9                       |     t9 ();
    0x004609b4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x004609b8 bltz v0, 0x460da8             |         goto label_15;
                                             |     }
                                             | label_0:
    0x004609bc lw t9, -0x6fc4(gp)            |     t9 = sym.imp.OCSP_sendreq_new;
    0x004609c0 move a1, s2                   |     a1 = s2;
    0x004609c4 move a0, s3                   |     a0 = s3;
    0x004609c8 move a2, zero                 |     a2 = 0;
    0x004609cc addiu a3, zero, -1            |     a3 = -1;
    0x004609d0 jalr t9                       |     t9 ();
    0x004609d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004609d8 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x004609dc beqz v0, 0x460bb0             |         goto label_4;
                                             |     }
    0x004609e0 move s0, zero                 |     s0 = 0;
    0x004609e4 b 0x460a10                    |     
                                             |     while (v0 != 0) {
    0x004609e8 jalr t9                       |         t9 ();
    0x004609ec nop                           |         
    0x004609f0 move a0, s2                   |         a0 = s2;
    0x004609f4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004609f8 lw a1, 4(v0)                  |         a1 = *((v0 + 1));
    0x004609fc lw t9, -0x6d08(gp)            |         t9 = sym.imp.OCSP_REQ_CTX_add1_header;
    0x00460a00 lw a2, 8(v0)                  |         a2 = *((v0 + 2));
    0x00460a04 jalr t9                       |         t9 ();
    0x00460a08 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00460a0c beqz v0, 0x460a78             |             goto label_5;
                                             |         }
    0x00460a10 lw t9, -0x798c(gp)            |         t9 = sym.imp.sk_num;
    0x00460a14 move a0, s1                   |         a0 = s1;
    0x00460a18 jalr t9                       |         t9 ();
    0x00460a1c move a1, s0                   |         a1 = s0;
    0x00460a20 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00460a24 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00460a28 move a0, s1                   |         a0 = s1;
    0x00460a2c addiu s0, s0, 1               |         s0++;
    0x00460a30 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.sk_value;
    0x00460a34 bnez v0, 0x4609e8             |         
                                             |     }
    0x00460a38 lw t9, -0x77b4(gp)            |     t9 = sym.imp.OCSP_REQ_CTX_set1_req;
    0x00460a3c move a0, s2                   |     a0 = s2;
    0x00460a40 move a1, s7                   |     a1 = s7;
    0x00460a44 jalr t9                       |     t9 ();
    0x00460a48 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00460a4c beqz v0, 0x460a78             |         goto label_5;
                                             |     }
    0x00460a50 addiu t8, zero, -1            |     t8 = -1;
    0x00460a54 addiu s6, sp, 0xa8            |     s6 = sp + 0xa8;
    0x00460a58 addiu s0, zero, -1            |     s0 = -1;
                                             |     if (s4 != t8) {
    0x00460a5c bne s4, t8, 0x460c8c          |         goto label_16;
                                             |     }
                                             |     do {
    0x00460a60 lw t9, -0x7990(gp)            |         t9 = sym.imp.OCSP_sendreq_nbio;
    0x00460a64 move a0, s6                   |         a0 = s6;
    0x00460a68 move a1, s2                   |         a1 = s2;
    0x00460a6c jalr t9                       |         t9 ();
    0x00460a70 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00460a74 beq v0, s0, 0x460a60          |         
                                             |     } while (v0 == s0);
                                             | label_5:
    0x00460a78 lw t9, -0x7ac0(gp)            |     t9 = sym.imp.OCSP_REQ_CTX_free;
    0x00460a7c move a0, s2                   |     a0 = s2;
    0x00460a80 jalr t9                       |     t9 ();
    0x00460a84 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_8:
    0x00460a88 lw s0, 0xa8(sp)               |     s0 = *(var_a8h);
    0x00460a8c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     if (s0 == 0) {
    0x00460a90 beqz s0, 0x460bb4             |         goto label_17;
                                             |     }
                                             |     if (s3 != 0) {
                                             | label_1:
    0x00460a94 beqz s3, 0x460aac             |         
    0x00460a98 nop                           |         
                                             | label_10:
    0x00460a9c lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
    0x00460aa0 move a0, s3                   |         a0 = s3;
    0x00460aa4 jalr t9                       |         t9 ();
    0x00460aa8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00460aac lw t9, -0x7bfc(gp)            |     t9 = sym.imp.SSL_CTX_free;
                                             |     if (s5 != 0) {
    0x00460ab0 beqz s5, 0x460abc             |         
    0x00460ab4 move a0, s5                   |         a0 = s5;
    0x00460ab8 jalr t9                       |         t9 ();
                                             |     }
    0x00460abc move v0, s0                   |     v0 = s0;
                                             | label_9:
    0x00460ac0 lw ra, 0xd4(sp)               |     ra = *(var_d4h);
    0x00460ac4 lw fp, 0xd0(sp)               |     fp = *(var_d0h);
    0x00460ac8 lw s7, 0xcc(sp)               |     s7 = *(var_cch);
    0x00460acc lw s6, 0xc8(sp)               |     s6 = *(var_c8h);
    0x00460ad0 lw s5, 0xc4(sp)               |     s5 = *(var_c4h);
    0x00460ad4 lw s4, 0xc0(sp)               |     s4 = *(var_c0h);
    0x00460ad8 lw s3, 0xbc(sp)               |     s3 = *(var_bch);
    0x00460adc lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
    0x00460ae0 lw s1, 0xb4(sp)               |     s1 = *(var_b4h);
    0x00460ae4 lw s0, 0xb0(sp)               |     s0 = *(var_b0h);
    0x00460ae8 addiu sp, sp, 0xd8            |     
    0x00460aec jr ra                         |     return v0;
                                             | label_14:
    0x00460af0 lw t9, -0x7b78(gp)            |     t9 = sym.imp.BIO_test_flags;
    0x00460af4 move a0, s3                   |     a0 = s3;
    0x00460af8 addiu a1, zero, 8             |     a1 = 8;
    0x00460afc jalr t9                       |     t9 ();
    0x00460b00 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00460b04 beqz v0, 0x460c70             |         goto label_18;
                                             |     }
    0x00460b08 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x00460b0c move a0, s3                   |     a0 = s3;
    0x00460b10 addiu a1, zero, 0x69          |     a1 = 0x69;
    0x00460b14 move a2, zero                 |     a2 = 0;
    0x00460b18 addiu a3, sp, 0xac            |     a3 = sp + 0xac;
    0x00460b1c jalr t9                       |     t9 ();
    0x00460b20 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00460b24 bltz v0, 0x460da8             |         goto label_15;
                                             |     }
    0x00460b28 lw t9, -0x6f0c(gp)            |     t9 = sym.imp.memset;
    0x00460b2c addiu s0, sp, 0x20            |     s0 = sp + 0x20;
    0x00460b30 move a1, zero                 |     a1 = 0;
    0x00460b34 move a0, s0                   |     a0 = s0;
    0x00460b38 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x00460b3c jalr t9                       |     t9 ();
    0x00460b40 addiu v1, sp, 0xa0            |     v1 = sp + 0xa0;
    0x00460b44 lw t8, 0xac(sp)               |     t8 = *(var_ach);
    0x00460b48 move a1, zero                 |     a1 = 0;
    0x00460b4c sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00460b50 addiu v1, zero, 1             |     v1 = 1;
    0x00460b54 srl v0, t8, 5                 |     v0 = t8 >> 5;
    0x00460b58 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460b5c sll v0, v0, 2                 |     v0 <<= 2;
    0x00460b60 addiu a0, t8, 1               |     a0 = t8 + 1;
    0x00460b64 addu v0, s0, v0               |     v0 = s0 + v0;
    0x00460b68 sllv t8, v1, t8               |     t8 = v1 << t8;
    0x00460b6c lw v1, (v0)                   |     v1 = *(v0);
    0x00460b70 move a2, s0                   |     a2 = s0;
    0x00460b74 lw t9, -0x7c14(gp)            |     t9 = sym.imp.select;
    0x00460b78 move a3, zero                 |     a3 = 0;
    0x00460b7c or t8, v1, t8                 |     t8 = v1 | t8;
    0x00460b80 sw zero, 0xa4(sp)             |     *(var_a4h) = 0;
    0x00460b84 sw t8, (v0)                   |     *(v0) = t8;
    0x00460b88 sw s4, 0xa0(sp)               |     *(var_a0h) = s4;
    0x00460b8c jalr t9                       |     t9 ();
    0x00460b90 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00460b94 bnez v0, 0x4609bc             |         goto label_0;
                                             |     }
    0x00460b98 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00460b9c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x00460ba0 lw a0, 0xd8(sp)               |     a0 = *(arg_d8h);
                                             |     /* str.Timeout_on_connect_n */
    0x00460ba4 addiu a1, a1, 0               |     a1 += 0;
    0x00460ba8 jalr t9                       |     t9 ();
    0x00460bac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_4:
    0x00460bb0 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             | label_17:
    0x00460bb4 move s0, zero                 |     s0 = 0;
    0x00460bb8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00460bbc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00460bc0 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Error_querying_OCSP_responder_n */
    0x00460bc4 addiu a1, a1, 0x54            |     a1 += 0x54;
    0x00460bc8 jalr t9                       |     t9 ();
    0x00460bcc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460bd0 b 0x460a94                    |     goto label_1;
                                             | label_12:
    0x00460bd4 lw t9, -0x7968(gp)            |     t9 = sym.imp.SSLv23_client_method;
    0x00460bd8 jalr t9                       |     t9 ();
    0x00460bdc nop                           |     
    0x00460be0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460be4 lw t9, -0x7314(gp)            |     t9 = sym.imp.SSL_CTX_new;
    0x00460be8 move a0, v0                   |     a0 = v0;
    0x00460bec jalr t9                       |     t9 ();
    0x00460bf0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460bf4 move s5, v0                   |     s5 = v0;
                                             |     if (v0 == 0) {
    0x00460bf8 beqz v0, 0x460e1c             |         goto label_19;
                                             |     }
    0x00460bfc lw t9, -0x6db4(gp)            |     t9 = sym.imp.SSL_CTX_ctrl;
    0x00460c00 addiu a2, zero, 4             |     a2 = 4;
    0x00460c04 move a3, zero                 |     a3 = 0;
    0x00460c08 move a0, v0                   |     a0 = v0;
    0x00460c0c addiu a1, zero, 0x21          |     a1 = 0x21;
    0x00460c10 jalr t9                       |     t9 ();
    0x00460c14 move a0, s5                   |     a0 = s5;
    0x00460c18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460c1c lw t9, -0x6e8c(gp)            |     t9 = sym.imp.BIO_new_ssl;
    0x00460c20 addiu a1, zero, 1             |     a1 = 1;
    0x00460c24 jalr t9                       |     t9 ();
    0x00460c28 move a1, s3                   |     a1 = s3;
    0x00460c2c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460c30 lw t9, -0x7c84(gp)            |     t9 = sym.imp.BIO_push;
    0x00460c34 move a0, v0                   |     a0 = v0;
    0x00460c38 jalr t9                       |     t9 ();
    0x00460c3c addiu t8, zero, -1            |     t8 = -1;
    0x00460c40 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460c44 move s3, v0                   |     s3 = v0;
    0x00460c48 sw zero, 0xa8(sp)             |     *(var_a8h) = 0;
    0x00460c4c move a0, s3                   |     a0 = s3;
    0x00460c50 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
                                             |     if (s4 != t8) {
    0x00460c54 bne s4, t8, 0x460968          |         goto label_2;
                                             |     }
                                             | label_13:
    0x00460c58 addiu a1, zero, 0x65          |     a1 = 0x65;
    0x00460c5c move a2, zero                 |     a2 = 0;
    0x00460c60 move a3, zero                 |     a3 = 0;
    0x00460c64 jalr t9                       |     t9 ();
    0x00460c68 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 > 0) {
    0x00460c6c bgtz v0, 0x46099c             |         goto label_3;
                                             |     }
                                             | label_18:
    0x00460c70 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00460c74 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x00460c78 lw a0, 0xd8(sp)               |     a0 = *(arg_d8h);
                                             |     /* str.Error_connecting_BIO_n */
    0x00460c7c addiu a1, a1, -0x34           |     a1 += -0x34;
    0x00460c80 jalr t9                       |     t9 ();
    0x00460c84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460c88 b 0x460bb0                    |     goto label_4;
                                             | label_16:
    0x00460c8c addiu s1, zero, -1            |     s1 = -1;
    0x00460c90 addiu s0, sp, 0x20            |     s0 = sp + 0x20;
    0x00460c94 addiu s7, zero, 1             |     s7 = 1;
    0x00460c98 addiu fp, sp, 0xa0            |     fp = sp + 0xa0;
    0x00460c9c lw t9, -0x7990(gp)            |     t9 = sym.imp.OCSP_sendreq_nbio;
                                             | label_6:
    0x00460ca0 move a0, s6                   |     a0 = s6;
    0x00460ca4 move a1, s2                   |     a1 = s2;
    0x00460ca8 jalr t9                       |     t9 ();
    0x00460cac move a0, s0                   |     a0 = s0;
    0x00460cb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460cb4 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x00460cb8 move a1, zero                 |     a1 = 0;
    0x00460cbc lw t9, -0x6f0c(gp)            |     t9 = sym.imp.memset;
                                             |     if (v0 != s1) {
    0x00460cc0 bne v0, s1, 0x460a78          |         goto label_5;
                                             |     }
    0x00460cc4 jalr t9                       |     t9 ();
    0x00460cc8 nop                           |     
    0x00460ccc move a0, s3                   |     a0 = s3;
    0x00460cd0 lw v0, 0xac(sp)               |     v0 = *(var_ach);
    0x00460cd4 addiu a1, zero, 1             |     a1 = 1;
    0x00460cd8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460cdc srl t8, v0, 5                 |     t8 = v0 >> 5;
    0x00460ce0 sw s4, 0xa0(sp)               |     *(var_a0h) = s4;
    0x00460ce4 sll t8, t8, 2                 |     t8 <<= 2;
    0x00460ce8 lw t9, -0x7b78(gp)            |     t9 = sym.imp.BIO_test_flags;
    0x00460cec addu t8, s0, t8               |     t8 = s0 + t8;
    0x00460cf0 sllv v0, s7, v0               |     v0 = s7 << v0;
    0x00460cf4 lw v1, (t8)                   |     v1 = *(t8);
    0x00460cf8 sw zero, 0xa4(sp)             |     *(var_a4h) = 0;
    0x00460cfc or v0, v1, v0                 |     v0 = v1 | v0;
    0x00460d00 sw v0, (t8)                   |     *(t8) = v0;
    0x00460d04 jalr t9                       |     t9 ();
    0x00460d08 move a0, s3                   |     a0 = s3;
    0x00460d0c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460d10 addiu a1, zero, 2             |     a1 = 2;
    0x00460d14 move a2, zero                 |     a2 = 0;
    0x00460d18 move a3, zero                 |     a3 = 0;
    0x00460d1c lw t9, -0x7b78(gp)            |     t9 = sym.imp.BIO_test_flags;
    0x00460d20 lw t8, -0x7c14(gp)            |     t8 = sym.imp.select;
                                             |     if (v0 == 0) {
    0x00460d24 beqz v0, 0x460d70             |         goto label_20;
                                             |     }
    0x00460d28 lw a0, 0xac(sp)               |     a0 = *(var_ach);
    0x00460d2c move a1, s0                   |     a1 = s0;
    0x00460d30 sw fp, 0x10(sp)               |     *(var_10h) = fp;
    0x00460d34 move t9, t8                   |     t9 = t8;
    0x00460d38 addiu a0, a0, 1               |     a0++;
    0x00460d3c jalr t9                       |     t9 ();
    0x00460d40 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_7:
    0x00460d44 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x00460d48 beqz v0, 0x460dc8             |         goto label_21;
                                             |     }
    0x00460d4c lw t9, -0x7990(gp)            |     t9 = sym.imp.OCSP_sendreq_nbio;
                                             |     if (v0 != s1) {
    0x00460d50 bne v0, s1, 0x460ca0          |         goto label_6;
                                             |     }
    0x00460d54 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00460d58 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x00460d5c lw a0, 0xd8(sp)               |     a0 = *(arg_d8h);
                                             |     /* str.Select_error_n */
    0x00460d60 addiu a1, a1, 0x44            |     a1 += 0x44;
    0x00460d64 jalr t9                       |     t9 ();
    0x00460d68 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460d6c b 0x460a78                    |     goto label_5;
                                             | label_20:
    0x00460d70 jalr t9                       |     t9 ();
    0x00460d74 nop                           |     
    0x00460d78 move a1, zero                 |     a1 = 0;
    0x00460d7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460d80 move a2, s0                   |     a2 = s0;
    0x00460d84 move a3, zero                 |     a3 = 0;
    0x00460d88 lw t9, -0x7c14(gp)            |     t9 = sym.imp.select;
                                             |     if (v0 != 0) {
    0x00460d8c beqz v0, 0x460de0             |         
    0x00460d90 lw a0, 0xac(sp)               |         a0 = *(var_ach);
    0x00460d94 sw fp, 0x10(sp)               |         *(var_10h) = fp;
    0x00460d98 addiu a0, a0, 1               |         a0++;
    0x00460d9c jalr t9                       |         t9 ();
    0x00460da0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00460da4 b 0x460d44                    |         goto label_7;
                                             | label_15:
    0x00460da8 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x00460dac lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00460db0 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
    0x00460db4 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Cant_get_connection_fd_n */
    0x00460db8 addiu a1, a1, -0x1c           |         a1 += -0x1c;
    0x00460dbc jalr t9                       |         t9 ();
    0x00460dc0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00460dc4 b 0x460a88                    |         goto label_8;
                                             | label_21:
    0x00460dc8 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
    0x00460dcc lw a0, 0xd8(sp)               |         a0 = *(arg_d8h);
                                             |         /* str.Timeout_on_request_n */
    0x00460dd0 addiu a1, a1, 0x30            |         a1 += 0x30;
    0x00460dd4 jalr t9                       |         t9 ();
    0x00460dd8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00460ddc b 0x460a78                    |         goto label_5;
                                             |     }
    0x00460de0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00460de4 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x00460de8 lw a0, 0xd8(sp)               |     a0 = *(arg_d8h);
                                             |     /* str.Unexpected_retry_condition_n */
    0x00460dec addiu a1, a1, 0x14            |     a1 += 0x14;
    0x00460df0 jalr t9                       |     t9 ();
    0x00460df4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460df8 b 0x460a78                    |     goto label_5;
                                             | label_11:
    0x00460dfc lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00460e00 move s0, zero                 |     s0 = 0;
    0x00460e04 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00460e08 lw a0, 0xd8(sp)               |     a0 = *(arg_d8h);
                                             |     /* str.Error_creating_connect_BIO_n */
    0x00460e0c addiu a1, a1, -0x70           |     a1 += -0x70;
    0x00460e10 jalr t9                       |     t9 ();
    0x00460e14 move v0, s0                   |     v0 = s0;
    0x00460e18 b 0x460ac0                    |     goto label_9;
                                             | label_19:
    0x00460e1c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00460e20 move s0, zero                 |     s0 = 0;
    0x00460e24 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00460e28 lw a0, 0xd8(sp)               |     a0 = *(arg_d8h);
                                             |     /* str.Error_creating_SSL_context._n */
    0x00460e2c addiu a1, a1, -0x54           |     a1 += -0x54;
    0x00460e30 jalr t9                       |     t9 ();
    0x00460e34 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00460e38 b 0x460a9c                    |     goto label_10;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44a628 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.rotate_index ()              | void rotate_index () {
    0x0044a628 lui gp, 5                     |     
    0x0044a62c addiu gp, gp, 0x1e78          |     
    0x0044a630 addu gp, gp, t9               |     gp += t9;
    0x0044a634 addiu sp, sp, -0x550          |     
    0x0044a638 sw ra, 0x54c(sp)              |     *(var_54ch) = ra;
    0x0044a63c sw fp, 0x548(sp)              |     *(var_548h) = fp;
    0x0044a640 sw s7, 0x544(sp)              |     *(var_544h) = s7;
    0x0044a644 sw s6, 0x540(sp)              |     *(var_540h) = s6;
    0x0044a648 sw s5, 0x53c(sp)              |     *(var_53ch) = s5;
    0x0044a64c sw s4, 0x538(sp)              |     *(var_538h) = s4;
    0x0044a650 sw s3, 0x534(sp)              |     *(var_534h) = s3;
    0x0044a654 sw s2, 0x530(sp)              |     *(var_530h) = s2;
    0x0044a658 sw s1, 0x52c(sp)              |     *(var_52ch) = s1;
    0x0044a65c sw s0, 0x528(sp)              |     *(var_528h) = s0;
    0x0044a660 move s2, a1                   |     s2 = a1;
    0x0044a664 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x0044a668 move s1, a2                   |     s1 = a2;
    0x0044a66c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0044a670 move s0, a0                   |     s0 = a0;
    0x0044a674 jalr t9                       |     t9 ();
    0x0044a678 move a0, s1                   |     a0 = s1;
    0x0044a67c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a680 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x0044a684 move s3, v0                   |     s3 = v0;
    0x0044a688 jalr t9                       |     t9 ();
    0x0044a68c move a0, s2                   |     a0 = s2;
    0x0044a690 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a694 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x0044a698 addu s4, v0, s3               |     s4 = v0 + s3;
    0x0044a69c jalr t9                       |     t9 ();
    0x0044a6a0 addu v0, v0, s3               |     v0 += s3;
    0x0044a6a4 slt s3, v0, s4                |     s3 = (v0 < s4) ? 1 : 0;
                                             |     if (s3 == 0) {
    0x0044a6a8 movn v0, s4, s3               |         v0 = s4;
                                             |     }
    0x0044a6ac slti v0, v0, 0xfa             |     v0 = (v0 < 0xfa) ? 1 : 0;
    0x0044a6b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0044a6b4 beqz v0, 0x44a870             |         goto label_5;
                                             |     }
    0x0044a6b8 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044a6bc addiu t8, sp, 0x220           |     t8 = sp + 0x220;
    0x0044a6c0 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x0044a6c4 addiu s3, sp, 0x420           |     s3 = sp + 0x420;
    0x0044a6c8 sw t8, 0x520(sp)              |     *(var_520h) = t8;
    0x0044a6cc move a0, s3                   |     a0 = s3;
    0x0044a6d0 move a3, s0                   |     a3 = s0;
    0x0044a6d4 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s.attr */
    0x0044a6d8 addiu a2, a2, -0x4ddc         |     a2 += -0x4ddc;
    0x0044a6dc addiu s5, sp, 0x20            |     s5 = sp + 0x20;
    0x0044a6e0 lw s6, -0x7f9c(gp)            |     s6 = *(gp);
    0x0044a6e4 addiu s4, sp, 0x120           |     s4 = sp + 0x120;
    0x0044a6e8 jalr t9                       |     t9 ();
    0x0044a6ec addiu a0, sp, 0x220           |     a0 = sp + 0x220;
    0x0044a6f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a6f4 move a3, s0                   |     a3 = s0;
    0x0044a6f8 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s.attr._s */
    0x0044a6fc addiu a2, s6, -0x4dd4         |     a2 = s6 + -0x4dd4;
    0x0044a700 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x0044a704 addiu fp, sp, 0x320           |     fp = sp + 0x320;
    0x0044a708 lw s7, -0x7f9c(gp)            |     s7 = *(gp);
    0x0044a70c sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0044a710 jalr t9                       |     t9 ();
    0x0044a714 move a0, s5                   |     a0 = s5;
    0x0044a718 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a71c move a3, s0                   |     a3 = s0;
    0x0044a720 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s._s */
    0x0044a724 addiu a2, s7, -0x4ee0         |     a2 = s7 + -0x4ee0;
    0x0044a728 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x0044a72c sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0044a730 jalr t9                       |     t9 ();
    0x0044a734 move a0, s4                   |     a0 = s4;
    0x0044a738 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a73c move a3, s0                   |     a3 = s0;
    0x0044a740 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s._s */
    0x0044a744 addiu a2, s7, -0x4ee0         |     a2 = s7 + -0x4ee0;
    0x0044a748 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x0044a74c sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x0044a750 jalr t9                       |     t9 ();
    0x0044a754 move a0, fp                   |     a0 = fp;
    0x0044a758 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a75c addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s.attr._s */
    0x0044a760 addiu a2, s6, -0x4dd4         |     a2 = s6 + -0x4dd4;
    0x0044a764 move a3, s0                   |     a3 = s0;
    0x0044a768 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x0044a76c sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x0044a770 jalr t9                       |     t9 ();
    0x0044a774 move a0, s0                   |     a0 = s0;
    0x0044a778 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a77c lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
    0x0044a780 move a1, s4                   |     a1 = s4;
    0x0044a784 jalr t9                       |     t9 ();
    0x0044a788 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a78c bltz v0, 0x44a80c             |     
                                             |     while (t8 == v0) {
    0x0044a790 lw t9, -0x7234(gp)            |         t9 = sym.imp.rename;
                                             | label_0:
    0x0044a794 move a0, s5                   |         a0 = s5;
    0x0044a798 move a1, s0                   |         a1 = s0;
    0x0044a79c jalr t9                       |         t9 ();
    0x0044a7a0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x0044a7a4 bltz v0, 0x44a974             |             goto label_6;
                                             |         }
    0x0044a7a8 lw t9, -0x7234(gp)            |         t9 = sym.imp.rename;
    0x0044a7ac move a0, s3                   |         a0 = s3;
    0x0044a7b0 move a1, fp                   |         a1 = fp;
    0x0044a7b4 jalr t9                       |         t9 ();
    0x0044a7b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x0044a7bc bltz v0, 0x44a8bc             |             goto label_7;
                                             |         }
                                             | label_2:
    0x0044a7c0 lw t9, -0x7234(gp)            |         t9 = sym.imp.rename;
                                             | label_3:
    0x0044a7c4 addiu a0, sp, 0x220           |         a0 = sp + 0x220;
    0x0044a7c8 move a1, s3                   |         a1 = s3;
    0x0044a7cc jalr t9                       |         t9 ();
    0x0044a7d0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x0044a7d4 bltz v0, 0x44a9b0             |             goto label_8;
                                             |         }
    0x0044a7d8 addiu v0, zero, 1             |         v0 = 1;
                                             | label_1:
    0x0044a7dc lw ra, 0x54c(sp)              |         ra = *(var_54ch);
    0x0044a7e0 lw fp, 0x548(sp)              |         fp = *(var_548h);
    0x0044a7e4 lw s7, 0x544(sp)              |         s7 = *(var_544h);
    0x0044a7e8 lw s6, 0x540(sp)              |         s6 = *(var_540h);
    0x0044a7ec lw s5, 0x53c(sp)              |         s5 = *(var_53ch);
    0x0044a7f0 lw s4, 0x538(sp)              |         s4 = *(var_538h);
    0x0044a7f4 lw s3, 0x534(sp)              |         s3 = *(var_534h);
    0x0044a7f8 lw s2, 0x530(sp)              |         s2 = *(var_530h);
    0x0044a7fc lw s1, 0x52c(sp)              |         s1 = *(var_52ch);
    0x0044a800 lw s0, 0x528(sp)              |         s0 = *(var_528h);
    0x0044a804 addiu sp, sp, 0x550           |         
    0x0044a808 jr ra                         |         return v0;
    0x0044a80c lw t9, -0x794c(gp)            |         t9 = sym.imp.__errno_location;
    0x0044a810 jalr t9                       |         t9 ();
    0x0044a814 nop                           |         
    0x0044a818 lw t8, (v0)                   |         t8 = *(v0);
    0x0044a81c addiu v0, zero, 2             |         v0 = 2;
    0x0044a820 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044a824 beq t8, v0, 0x44a790          |         
                                             |     }
    0x0044a828 addiu v0, zero, 0x14          |     v0 = 0x14;
    0x0044a82c lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
                                             |     if (t8 == v0) {
    0x0044a830 beq t8, v0, 0x44a794          |         goto label_0;
                                             |     }
    0x0044a834 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a838 move a2, s0                   |     a2 = s0;
    0x0044a83c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044a840 move a3, s4                   |     a3 = s4;
    0x0044a844 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a848 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.unable_to_rename__s_to__s_n */
    0x0044a84c addiu a1, a1, -0x4eac         |     a1 += -0x4eac;
    0x0044a850 jalr t9                       |     t9 ();
    0x0044a854 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a858 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x0044a85c lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.reason */
    0x0044a860 addiu a0, a0, -0x4e90         |     a0 += -0x4e90;
    0x0044a864 jalr t9                       |     t9 ();
    0x0044a868 move v0, zero                 |     v0 = 0;
    0x0044a86c b 0x44a7dc                    |     goto label_1;
                                             | label_5:
    0x0044a870 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a874 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044a878 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a87c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* esilref: 'file name too long
' */
    0x0044a880 addiu a1, a1, 0x1344          |     a1 += 0x1344;
    0x0044a884 jalr t9                       |     t9 ();
    0x0044a888 move v0, zero                 |     v0 = 0;
    0x0044a88c lw ra, 0x54c(sp)              |     ra = *(var_54ch);
    0x0044a890 lw fp, 0x548(sp)              |     fp = *(var_548h);
    0x0044a894 lw s7, 0x544(sp)              |     s7 = *(var_544h);
    0x0044a898 lw s6, 0x540(sp)              |     s6 = *(var_540h);
    0x0044a89c lw s5, 0x53c(sp)              |     s5 = *(var_53ch);
    0x0044a8a0 lw s4, 0x538(sp)              |     s4 = *(var_538h);
    0x0044a8a4 lw s3, 0x534(sp)              |     s3 = *(var_534h);
    0x0044a8a8 lw s2, 0x530(sp)              |     s2 = *(var_530h);
    0x0044a8ac lw s1, 0x52c(sp)              |     s1 = *(var_52ch);
    0x0044a8b0 lw s0, 0x528(sp)              |     s0 = *(var_528h);
    0x0044a8b4 addiu sp, sp, 0x550           |     
    0x0044a8b8 jr ra                         |     return v0;
                                             | label_7:
    0x0044a8bc lw t9, -0x794c(gp)            |     t9 = sym.imp.__errno_location;
    0x0044a8c0 jalr t9                       |     t9 ();
    0x0044a8c4 nop                           |     
    0x0044a8c8 lw t8, (v0)                   |     t8 = *(v0);
    0x0044a8cc addiu v0, zero, 2             |     v0 = 2;
    0x0044a8d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (t8 == v0) {
    0x0044a8d4 beq t8, v0, 0x44a7c0          |         goto label_2;
                                             |     }
    0x0044a8d8 addiu v0, zero, 0x14          |     v0 = 0x14;
    0x0044a8dc lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
                                             |     if (t8 == v0) {
    0x0044a8e0 beq t8, v0, 0x44a7c4          |         goto label_3;
                                             |     }
    0x0044a8e4 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a8e8 move a2, s3                   |     a2 = s3;
    0x0044a8ec lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044a8f0 move a3, fp                   |     a3 = fp;
    0x0044a8f4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044a8f8 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.unable_to_rename__s_to__s_n */
    0x0044a8fc addiu a1, a1, -0x4eac         |     a1 += -0x4eac;
    0x0044a900 jalr t9                       |     t9 ();
    0x0044a904 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a908 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x0044a90c lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.reason */
    0x0044a910 addiu a0, a0, -0x4e90         |     a0 += -0x4e90;
    0x0044a914 jalr t9                       |     t9 ();
    0x0044a918 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_4:
    0x0044a91c lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
    0x0044a920 move a0, s0                   |     a0 = s0;
    0x0044a924 move a1, s5                   |     a1 = s5;
    0x0044a928 jalr t9                       |     t9 ();
    0x0044a92c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
    0x0044a930 lw t9, -0x7234(gp)            |         t9 = sym.imp.rename;
    0x0044a934 move a0, s4                   |         a0 = s4;
    0x0044a938 move a1, s0                   |         a1 = s0;
    0x0044a93c jalr t9                       |         t9 ();
    0x0044a940 move v0, zero                 |         v0 = 0;
    0x0044a944 lw ra, 0x54c(sp)              |         ra = *(var_54ch);
    0x0044a948 lw fp, 0x548(sp)              |         fp = *(var_548h);
    0x0044a94c lw s7, 0x544(sp)              |         s7 = *(var_544h);
    0x0044a950 lw s6, 0x540(sp)              |         s6 = *(var_540h);
    0x0044a954 lw s5, 0x53c(sp)              |         s5 = *(var_53ch);
    0x0044a958 lw s4, 0x538(sp)              |         s4 = *(var_538h);
    0x0044a95c lw s3, 0x534(sp)              |         s3 = *(var_534h);
    0x0044a960 lw s2, 0x530(sp)              |         s2 = *(var_530h);
    0x0044a964 lw s1, 0x52c(sp)              |         s1 = *(var_52ch);
    0x0044a968 lw s0, 0x528(sp)              |         s0 = *(var_528h);
    0x0044a96c addiu sp, sp, 0x550           |         
    0x0044a970 jr ra                         |         return v0;
                                             | label_6:
    0x0044a974 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044a978 move a2, s5                   |         a2 = s5;
    0x0044a97c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044a980 move a3, s0                   |         a3 = s0;
    0x0044a984 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044a988 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.unable_to_rename__s_to__s_n */
    0x0044a98c addiu a1, a1, -0x4eac         |         a1 += -0x4eac;
    0x0044a990 jalr t9                       |         t9 ();
    0x0044a994 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044a998 lw a0, -0x7f9c(gp)            |         a0 = *(gp);
    0x0044a99c lw t9, -0x72b8(gp)            |         t9 = sym.imp.perror;
                                             |         /* str.reason */
    0x0044a9a0 addiu a0, a0, -0x4e90         |         a0 += -0x4e90;
    0x0044a9a4 jalr t9                       |         t9 ();
    0x0044a9a8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044a9ac b 0x44a930                    |         
                                             |     } while (1);
                                             | label_8:
    0x0044a9b0 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044a9b4 addiu a2, sp, 0x220           |     a2 = sp + 0x220;
    0x0044a9b8 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044a9bc move a3, s3                   |     a3 = s3;
    0x0044a9c0 lw a0, (t8)                   |     a0 = *(t8);
    0x0044a9c4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.unable_to_rename__s_to__s_n */
    0x0044a9c8 addiu a1, a1, -0x4eac         |     a1 += -0x4eac;
    0x0044a9cc jalr t9                       |     t9 ();
    0x0044a9d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a9d4 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x0044a9d8 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.reason */
    0x0044a9dc addiu a0, a0, -0x4e90         |     a0 += -0x4e90;
    0x0044a9e0 jalr t9                       |     t9 ();
    0x0044a9e4 move a0, fp                   |     a0 = fp;
    0x0044a9e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a9ec lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
    0x0044a9f0 move a1, s3                   |     a1 = s3;
    0x0044a9f4 jalr t9                       |     t9 ();
    0x0044a9f8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a9fc b 0x44a91c                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449cc4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.rotate_serial ()             | void rotate_serial () {
    0x00449cc4 lui gp, 5                     |     
    0x00449cc8 addiu gp, gp, 0x27dc          |     
    0x00449ccc addu gp, gp, t9               |     gp += t9;
    0x00449cd0 addiu sp, sp, -0x540          |     
    0x00449cd4 sw ra, 0x53c(sp)              |     *(var_53ch) = ra;
    0x00449cd8 sw s5, 0x538(sp)              |     *(var_538h) = s5;
    0x00449cdc sw s4, 0x534(sp)              |     *(var_534h) = s4;
    0x00449ce0 sw s3, 0x530(sp)              |     *(var_530h) = s3;
    0x00449ce4 sw s2, 0x52c(sp)              |     *(var_52ch) = s2;
    0x00449ce8 sw s1, 0x528(sp)              |     *(var_528h) = s1;
    0x00449cec sw s0, 0x524(sp)              |     *(var_524h) = s0;
    0x00449cf0 move s4, a1                   |     s4 = a1;
    0x00449cf4 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x00449cf8 move s3, a2                   |     s3 = a2;
    0x00449cfc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00449d00 move s0, a0                   |     s0 = a0;
    0x00449d04 jalr t9                       |     t9 ();
    0x00449d08 move a0, s3                   |     a0 = s3;
    0x00449d0c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449d10 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x00449d14 move s1, v0                   |     s1 = v0;
    0x00449d18 jalr t9                       |     t9 ();
    0x00449d1c move a0, s4                   |     a0 = s4;
    0x00449d20 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449d24 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x00449d28 addu s2, v0, s1               |     s2 = v0 + s1;
    0x00449d2c jalr t9                       |     t9 ();
    0x00449d30 addu v0, v0, s1               |     v0 += s1;
    0x00449d34 slt s1, v0, s2                |     s1 = (v0 < s2) ? 1 : 0;
                                             |     if (s1 == 0) {
    0x00449d38 movn v0, s2, s1               |         v0 = s2;
                                             |     }
    0x00449d3c slti v0, v0, 0xff             |     v0 = (v0 < 0xff) ? 1 : 0;
    0x00449d40 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00449d44 beqz v0, 0x449e50             |         goto label_2;
                                             |     }
    0x00449d48 lw s5, -0x7f9c(gp)            |     s5 = *(gp);
    0x00449d4c addiu s2, sp, 0x20            |     s2 = sp + 0x20;
    0x00449d50 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x00449d54 move a0, s2                   |     a0 = s2;
    0x00449d58 move a3, s0                   |     a3 = s0;
    0x00449d5c addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s._s */
    0x00449d60 addiu a2, s5, -0x4ee0         |     a2 = s5 + -0x4ee0;
    0x00449d64 addiu s1, sp, 0x120           |     s1 = sp + 0x120;
    0x00449d68 sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x00449d6c jalr t9                       |     t9 ();
    0x00449d70 move a0, s1                   |     a0 = s1;
    0x00449d74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449d78 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s._s */
    0x00449d7c addiu a2, s5, -0x4ee0         |     a2 = s5 + -0x4ee0;
    0x00449d80 move a3, s0                   |     a3 = s0;
    0x00449d84 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x00449d88 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x00449d8c jalr t9                       |     t9 ();
    0x00449d90 move a0, s0                   |     a0 = s0;
    0x00449d94 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449d98 lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
    0x00449d9c move a1, s1                   |     a1 = s1;
    0x00449da0 jalr t9                       |     t9 ();
    0x00449da4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449da8 bltz v0, 0x449dec             |     
                                             |     while (t8 == v0) {
    0x00449dac lw t9, -0x7234(gp)            |         t9 = sym.imp.rename;
                                             | label_0:
    0x00449db0 move a0, s2                   |         a0 = s2;
    0x00449db4 move a1, s0                   |         a1 = s0;
    0x00449db8 jalr t9                       |         t9 ();
    0x00449dbc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x00449dc0 bltz v0, 0x449e90             |             goto label_3;
                                             |         }
    0x00449dc4 addiu v0, zero, 1             |         v0 = 1;
                                             | label_1:
    0x00449dc8 lw ra, 0x53c(sp)              |         ra = *(var_53ch);
    0x00449dcc lw s5, 0x538(sp)              |         s5 = *(var_538h);
    0x00449dd0 lw s4, 0x534(sp)              |         s4 = *(var_534h);
    0x00449dd4 lw s3, 0x530(sp)              |         s3 = *(var_530h);
    0x00449dd8 lw s2, 0x52c(sp)              |         s2 = *(var_52ch);
    0x00449ddc lw s1, 0x528(sp)              |         s1 = *(var_528h);
    0x00449de0 lw s0, 0x524(sp)              |         s0 = *(var_524h);
    0x00449de4 addiu sp, sp, 0x540           |         
    0x00449de8 jr ra                         |         return v0;
    0x00449dec lw t9, -0x794c(gp)            |         t9 = sym.imp.__errno_location;
    0x00449df0 jalr t9                       |         t9 ();
    0x00449df4 nop                           |         
    0x00449df8 lw t8, (v0)                   |         t8 = *(v0);
    0x00449dfc addiu v0, zero, 2             |         v0 = 2;
    0x00449e00 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00449e04 beq t8, v0, 0x449dac          |         
                                             |     }
    0x00449e08 addiu v0, zero, 0x14          |     v0 = 0x14;
    0x00449e0c lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
                                             |     if (t8 == v0) {
    0x00449e10 beq t8, v0, 0x449db0          |         goto label_0;
                                             |     }
    0x00449e14 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00449e18 move a2, s0                   |     a2 = s0;
    0x00449e1c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00449e20 move a3, s1                   |     a3 = s1;
    0x00449e24 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00449e28 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.unable_to_rename__s_to__s_n */
    0x00449e2c addiu a1, a1, -0x4eac         |     a1 += -0x4eac;
    0x00449e30 jalr t9                       |     t9 ();
    0x00449e34 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449e38 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00449e3c lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.reason */
    0x00449e40 addiu a0, a0, -0x4e90         |     a0 += -0x4e90;
    0x00449e44 jalr t9                       |     t9 ();
    0x00449e48 move v0, zero                 |     v0 = 0;
    0x00449e4c b 0x449dc8                    |     goto label_1;
                                             | label_2:
    0x00449e50 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00449e54 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00449e58 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00449e5c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* esilref: 'file name too long
' */
    0x00449e60 addiu a1, a1, 0x1344          |     a1 += 0x1344;
    0x00449e64 jalr t9                       |     t9 ();
    0x00449e68 move v0, zero                 |     v0 = 0;
    0x00449e6c lw ra, 0x53c(sp)              |     ra = *(var_53ch);
    0x00449e70 lw s5, 0x538(sp)              |     s5 = *(var_538h);
    0x00449e74 lw s4, 0x534(sp)              |     s4 = *(var_534h);
    0x00449e78 lw s3, 0x530(sp)              |     s3 = *(var_530h);
    0x00449e7c lw s2, 0x52c(sp)              |     s2 = *(var_52ch);
    0x00449e80 lw s1, 0x528(sp)              |     s1 = *(var_528h);
    0x00449e84 lw s0, 0x524(sp)              |     s0 = *(var_524h);
    0x00449e88 addiu sp, sp, 0x540           |     
    0x00449e8c jr ra                         |     return v0;
                                             | label_3:
    0x00449e90 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00449e94 move a2, s2                   |     a2 = s2;
    0x00449e98 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00449e9c move a3, s0                   |     a3 = s0;
    0x00449ea0 lw a0, (t8)                   |     a0 = *(t8);
    0x00449ea4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.unable_to_rename__s_to__s_n */
    0x00449ea8 addiu a1, a1, -0x4eac         |     a1 += -0x4eac;
    0x00449eac jalr t9                       |     t9 ();
    0x00449eb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449eb4 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00449eb8 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.reason */
    0x00449ebc addiu a0, a0, -0x4e90         |     a0 += -0x4e90;
    0x00449ec0 jalr t9                       |     t9 ();
    0x00449ec4 move a0, s1                   |     a0 = s1;
    0x00449ec8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449ecc lw t9, -0x7234(gp)            |     t9 = sym.imp.rename;
    0x00449ed0 move a1, s0                   |     a1 = s0;
    0x00449ed4 jalr t9                       |     t9 ();
    0x00449ed8 move v0, zero                 |     v0 = 0;
    0x00449edc lw ra, 0x53c(sp)              |     ra = *(var_53ch);
    0x00449ee0 lw s5, 0x538(sp)              |     s5 = *(var_538h);
    0x00449ee4 lw s4, 0x534(sp)              |     s4 = *(var_534h);
    0x00449ee8 lw s3, 0x530(sp)              |     s3 = *(var_530h);
    0x00449eec lw s2, 0x52c(sp)              |     s2 = *(var_52ch);
    0x00449ef0 lw s1, 0x528(sp)              |     s1 = *(var_528h);
    0x00449ef4 lw s0, 0x524(sp)              |     s0 = *(var_524h);
    0x00449ef8 addiu sp, sp, 0x540           |     
    0x00449efc jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44a330 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.save_index ()                | void save_index () {
    0x0044a330 lui gp, 5                     |     
    0x0044a334 addiu gp, gp, 0x2170          |     
    0x0044a338 addu gp, gp, t9               |     gp += t9;
    0x0044a33c addiu sp, sp, -0x340          |     
    0x0044a340 sw ra, 0x33c(sp)              |     *(var_33ch) = ra;
    0x0044a344 sw s6, 0x338(sp)              |     *(var_338h) = s6;
    0x0044a348 sw s5, 0x334(sp)              |     *(var_334h) = s5;
    0x0044a34c sw s4, 0x330(sp)              |     *(var_330h) = s4;
    0x0044a350 sw s3, 0x32c(sp)              |     *(var_32ch) = s3;
    0x0044a354 sw s2, 0x328(sp)              |     *(var_328h) = s2;
    0x0044a358 sw s1, 0x324(sp)              |     *(var_324h) = s1;
    0x0044a35c sw s0, 0x320(sp)              |     *(var_320h) = s0;
    0x0044a360 move s0, a0                   |     s0 = a0;
    0x0044a364 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x0044a368 move s2, a1                   |     s2 = a1;
    0x0044a36c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0044a370 move s4, a2                   |     s4 = a2;
    0x0044a374 jalr t9                       |     t9 ();
    0x0044a378 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a37c lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x0044a380 move a0, v0                   |     a0 = v0;
    0x0044a384 jalr t9                       |     t9 ();
    0x0044a388 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a38c move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x0044a390 beqz v0, 0x44a5f8             |         goto label_1;
                                             |     }
    0x0044a394 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x0044a398 move a0, s0                   |     a0 = s0;
    0x0044a39c jalr t9                       |     t9 ();
    0x0044a3a0 move a0, s2                   |     a0 = s2;
    0x0044a3a4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a3a8 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x0044a3ac move s3, v0                   |     s3 = v0;
    0x0044a3b0 jalr t9                       |     t9 ();
    0x0044a3b4 addu v0, v0, s3               |     v0 += s3;
    0x0044a3b8 slti s3, v0, 0xfa             |     s3 = (v0 < 0xfa) ? 1 : 0;
    0x0044a3bc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s3 == 0) {
    0x0044a3c0 beqz s3, 0x44a528             |         goto label_2;
                                             |     }
    0x0044a3c4 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044a3c8 addiu s6, sp, 0x220           |     s6 = sp + 0x220;
    0x0044a3cc lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x0044a3d0 move a0, s6                   |     a0 = s6;
    0x0044a3d4 move a3, s0                   |     a3 = s0;
    0x0044a3d8 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s.attr */
    0x0044a3dc addiu a2, a2, -0x4ddc         |     a2 += -0x4ddc;
    0x0044a3e0 addiu s5, sp, 0x120           |     s5 = sp + 0x120;
    0x0044a3e4 jalr t9                       |     t9 ();
    0x0044a3e8 move a0, s5                   |     a0 = s5;
    0x0044a3ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a3f0 move a3, s0                   |     a3 = s0;
    0x0044a3f4 addiu a1, zero, 0x100         |     a1 = 0x100;
    0x0044a3f8 addiu s3, sp, 0x20            |     s3 = sp + 0x20;
    0x0044a3fc lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044a400 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
                                             |     /* str._s.attr._s */
    0x0044a404 addiu a2, a2, -0x4dd4         |     a2 += -0x4dd4;
    0x0044a408 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0044a40c jalr t9                       |     t9 ();
    0x0044a410 move a0, s3                   |     a0 = s3;
    0x0044a414 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a418 move a3, s0                   |     a3 = s0;
    0x0044a41c addiu a1, zero, 0x100         |     a1 = 0x100;
    0x0044a420 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x0044a424 lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
                                             |     /* str._s._s */
    0x0044a428 addiu a2, a2, -0x4ee0         |     a2 += -0x4ee0;
    0x0044a42c sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0044a430 jalr t9                       |     t9 ();
    0x0044a434 move a0, s1                   |     a0 = s1;
    0x0044a438 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a43c addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x0044a440 addiu a2, zero, 5             |     a2 = 5;
    0x0044a444 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0044a448 move a3, s3                   |     a3 = s3;
    0x0044a44c jalr t9                       |     t9 ();
    0x0044a450 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x0044a454 blez v0, 0x44a574             |         goto label_3;
                                             |     }
    0x0044a458 lw t9, -0x7004(gp)            |     t9 = sym.imp.TXT_DB_write;
    0x0044a45c move a0, s1                   |     a0 = s1;
    0x0044a460 lw a1, 4(s4)                  |     a1 = *((s4 + 1));
    0x0044a464 jalr t9                       |     t9 ();
    0x0044a468 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x0044a46c blez v0, 0x44a5cc             |         goto label_4;
                                             |     }
    0x0044a470 lw t9, -0x6e9c(gp)            |     t9 = sym.imp.BIO_free;
    0x0044a474 move a0, s1                   |     a0 = s1;
    0x0044a478 jalr t9                       |     t9 ();
    0x0044a47c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a480 lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x0044a484 jalr t9                       |     t9 ();
    0x0044a488 nop                           |     
    0x0044a48c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a490 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x0044a494 move a0, v0                   |     a0 = v0;
    0x0044a498 jalr t9                       |     t9 ();
    0x0044a49c addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x0044a4a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044a4a4 move a0, v0                   |     a0 = v0;
    0x0044a4a8 addiu a2, zero, 5             |     a2 = 5;
    0x0044a4ac move a3, s5                   |     a3 = s5;
    0x0044a4b0 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x0044a4b4 move s0, v0                   |     s0 = v0;
    0x0044a4b8 jalr t9                       |     t9 ();
    0x0044a4bc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x0044a4c0 blez v0, 0x44a610             |         goto label_5;
                                             |     }
    0x0044a4c4 lw t8, (s4)                   |     t8 = *(s4);
    0x0044a4c8 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
                                             |     if (t8 != 0) {
    0x0044a4cc bnez t8, 0x44a56c             |         goto label_6;
                                             |     }
    0x0044a4d0 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
                                             |     /* esilref: 'no' */
    0x0044a4d4 addiu a2, a2, -0x1b1c         |     a2 += -0x1b1c;
                                             |     do {
    0x0044a4d8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044a4dc move a0, s0                   |         a0 = s0;
    0x0044a4e0 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.unique_subject___s_n */
    0x0044a4e4 addiu a1, a1, -0x4db0         |         a1 += -0x4db0;
    0x0044a4e8 jalr t9                       |         t9 ();
    0x0044a4ec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044a4f0 lw t9, -0x6e9c(gp)            |         t9 = sym.imp.BIO_free;
    0x0044a4f4 move a0, s0                   |         a0 = s0;
    0x0044a4f8 jalr t9                       |         t9 ();
    0x0044a4fc addiu v0, zero, 1             |         v0 = 1;
    0x0044a500 lw ra, 0x33c(sp)              |         ra = *(var_33ch);
    0x0044a504 lw s6, 0x338(sp)              |         s6 = *(var_338h);
    0x0044a508 lw s5, 0x334(sp)              |         s5 = *(var_334h);
    0x0044a50c lw s4, 0x330(sp)              |         s4 = *(var_330h);
    0x0044a510 lw s3, 0x32c(sp)              |         s3 = *(var_32ch);
    0x0044a514 lw s2, 0x328(sp)              |         s2 = *(var_328h);
    0x0044a518 lw s1, 0x324(sp)              |         s1 = *(var_324h);
    0x0044a51c lw s0, 0x320(sp)              |         s0 = *(var_320h);
    0x0044a520 addiu sp, sp, 0x340           |         
    0x0044a524 jr ra                         |         return v0;
                                             | label_2:
    0x0044a528 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044a52c lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0044a530 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044a534 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* esilref: 'file name too long
' */
    0x0044a538 addiu a1, a1, 0x1344          |         a1 += 0x1344;
    0x0044a53c jalr t9                       |         t9 ();
    0x0044a540 move v0, zero                 |         v0 = 0;
                                             | label_0:
    0x0044a544 lw ra, 0x33c(sp)              |         ra = *(var_33ch);
    0x0044a548 lw s6, 0x338(sp)              |         s6 = *(var_338h);
    0x0044a54c lw s5, 0x334(sp)              |         s5 = *(var_334h);
    0x0044a550 lw s4, 0x330(sp)              |         s4 = *(var_330h);
    0x0044a554 lw s3, 0x32c(sp)              |         s3 = *(var_32ch);
    0x0044a558 lw s2, 0x328(sp)              |         s2 = *(var_328h);
    0x0044a55c lw s1, 0x324(sp)              |         s1 = *(var_324h);
    0x0044a560 lw s0, 0x320(sp)              |         s0 = *(var_320h);
    0x0044a564 addiu sp, sp, 0x340           |         
    0x0044a568 jr ra                         |         return v0;
                                             |         /* esilref: 'yes' */
                                             | label_6:
    0x0044a56c addiu a2, a2, -0x2180         |         a2 += -0x2180;
    0x0044a570 b 0x44a4d8                    |         
                                             |     } while (1);
                                             | label_3:
    0x0044a574 lw t9, -0x72b8(gp)            |     t9 = sym.imp.perror;
    0x0044a578 move a0, s0                   |     a0 = s0;
    0x0044a57c jalr t9                       |     t9 ();
    0x0044a580 move a2, s0                   |     a2 = s0;
    0x0044a584 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
    0x0044a588 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044a58c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044a590 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044a594 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.unable_to_open__s_n */
    0x0044a598 addiu a1, a1, -0x4dc8         |         a1 += -0x4dc8;
    0x0044a59c jalr t9                       |         t9 ();
    0x0044a5a0 move v0, zero                 |         v0 = 0;
    0x0044a5a4 lw ra, 0x33c(sp)              |         ra = *(var_33ch);
    0x0044a5a8 lw s6, 0x338(sp)              |         s6 = *(var_338h);
    0x0044a5ac lw s5, 0x334(sp)              |         s5 = *(var_334h);
    0x0044a5b0 lw s4, 0x330(sp)              |         s4 = *(var_330h);
    0x0044a5b4 lw s3, 0x32c(sp)              |         s3 = *(var_32ch);
    0x0044a5b8 lw s2, 0x328(sp)              |         s2 = *(var_328h);
    0x0044a5bc lw s1, 0x324(sp)              |         s1 = *(var_324h);
    0x0044a5c0 lw s0, 0x320(sp)              |         s0 = *(var_320h);
    0x0044a5c4 addiu sp, sp, 0x340           |         
    0x0044a5c8 jr ra                         |         return v0;
                                             | label_4:
    0x0044a5cc lw ra, 0x33c(sp)              |         ra = *(var_33ch);
    0x0044a5d0 move v0, zero                 |         v0 = 0;
    0x0044a5d4 lw s6, 0x338(sp)              |         s6 = *(var_338h);
    0x0044a5d8 lw s5, 0x334(sp)              |         s5 = *(var_334h);
    0x0044a5dc lw s4, 0x330(sp)              |         s4 = *(var_330h);
    0x0044a5e0 lw s3, 0x32c(sp)              |         s3 = *(var_32ch);
    0x0044a5e4 lw s2, 0x328(sp)              |         s2 = *(var_328h);
    0x0044a5e8 lw s1, 0x324(sp)              |         s1 = *(var_324h);
    0x0044a5ec lw s0, 0x320(sp)              |         s0 = *(var_320h);
    0x0044a5f0 addiu sp, sp, 0x340           |         
    0x0044a5f4 jr ra                         |         return v0;
                                             | label_1:
    0x0044a5f8 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044a5fc lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x0044a600 lw a0, (t8)                   |         a0 = *(t8);
    0x0044a604 jalr t9                       |         t9 ();
    0x0044a608 move v0, zero                 |         v0 = 0;
    0x0044a60c b 0x44a544                    |         goto label_0;
                                             | label_5:
    0x0044a610 lw t9, -0x72b8(gp)            |         t9 = sym.imp.perror;
    0x0044a614 move a0, s6                   |         a0 = s6;
    0x0044a618 jalr t9                       |         t9 ();
    0x0044a61c move a2, s6                   |         a2 = s6;
    0x0044a620 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044a624 b 0x44a588                    |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449a70 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.save_serial ()               | void save_serial () {
    0x00449a70 lui gp, 5                     |     
    0x00449a74 addiu gp, gp, 0x2a30          |     
    0x00449a78 addu gp, gp, t9               |     gp += t9;
    0x00449a7c addiu sp, sp, -0x140          |     
    0x00449a80 sw ra, 0x13c(sp)              |     *(var_13ch) = ra;
    0x00449a84 sw s4, 0x138(sp)              |     *(var_138h) = s4;
    0x00449a88 sw s3, 0x134(sp)              |     *(var_134h) = s3;
    0x00449a8c sw s2, 0x130(sp)              |     *(var_130h) = s2;
    0x00449a90 sw s1, 0x12c(sp)              |     *(var_12ch) = s1;
    0x00449a94 sw s0, 0x128(sp)              |     *(var_128h) = s0;
    0x00449a98 move s0, a1                   |     s0 = a1;
    0x00449a9c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00449aa0 move s2, a0                   |     s2 = a0;
    0x00449aa4 move s4, a2                   |     s4 = a2;
    0x00449aa8 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x00449aac move s3, a3                   |     s3 = a3;
                                             |     if (a1 == 0) {
    0x00449ab0 beqz a1, 0x449c30             |         goto label_5;
                                             |     }
    0x00449ab4 jalr t9                       |     t9 ();
    0x00449ab8 nop                           |     
    0x00449abc move a0, s0                   |     a0 = s0;
    0x00449ac0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449ac4 lw t9, -0x7cf8(gp)            |     t9 = sym.imp.strlen;
    0x00449ac8 move s1, v0                   |     s1 = v0;
    0x00449acc jalr t9                       |     t9 ();
    0x00449ad0 addu v0, s1, v0               |     v0 = s1 + v0;
    0x00449ad4 addiu s1, v0, 1               |     s1 = v0 + 1;
    0x00449ad8 slti s1, s1, 0x100            |     s1 = (s1 < 0x100) ? 1 : 0;
    0x00449adc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s1 == 0) {
    0x00449ae0 beqz s1, 0x449bdc             |         goto label_0;
                                             |     }
    0x00449ae4 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
    0x00449ae8 addiu s1, sp, 0x20            |     s1 = sp + 0x20;
    0x00449aec lw t9, -0x6ff0(gp)            |     t9 = sym.imp.BIO_snprintf
    0x00449af0 move a0, s1                   |     a0 = s1;
    0x00449af4 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00449af8 addiu a1, zero, 0x100         |     a1 = 0x100;
                                             |     /* str._s._s */
    0x00449afc addiu a2, a2, -0x4ee0         |     a2 += -0x4ee0;
    0x00449b00 move a3, s2                   |     a3 = s2;
    0x00449b04 jalr t9                       |     t9 ();
    0x00449b08 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_1:
    0x00449b0c lw t9, -0x78e4(gp)            |     t9 = sym.imp.BIO_s_file;
    0x00449b10 jalr t9                       |     t9 ();
    0x00449b14 nop                           |     
    0x00449b18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449b1c lw t9, -0x7d6c(gp)            |     t9 = sym.imp.BIO_new;
    0x00449b20 move a0, v0                   |     a0 = v0;
    0x00449b24 jalr t9                       |     t9 ();
    0x00449b28 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449b2c move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x00449b30 beqz v0, 0x449c64             |         goto label_6;
                                             |     }
    0x00449b34 lw t9, -0x7a60(gp)            |     t9 = sym.imp.BIO_ctrl;
    0x00449b38 move a0, v0                   |     a0 = v0;
    0x00449b3c addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x00449b40 addiu a2, zero, 5             |     a2 = 5;
    0x00449b44 move a3, s1                   |     a3 = s1;
    0x00449b48 jalr t9                       |     t9 ();
    0x00449b4c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x00449b50 blez v0, 0x449c18             |         goto label_7;
                                             |     }
    0x00449b54 lw t9, -0x791c(gp)            |     t9 = sym.imp.BN_to_ASN1_INTEGER;
    0x00449b58 move a0, s4                   |     a0 = s4;
    0x00449b5c move a1, zero                 |     a1 = 0;
    0x00449b60 jalr t9                       |     t9 ();
    0x00449b64 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449b68 move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x00449b6c beqz v0, 0x449c7c             |         goto label_8;
                                             |     }
    0x00449b70 lw t9, -0x764c(gp)            |     t9 = sym.imp.i2a_ASN1_INTEGER;
    0x00449b74 move a0, s0                   |     a0 = s0;
    0x00449b78 move a1, v0                   |     a1 = v0;
    0x00449b7c jalr t9                       |     t9 ();
    0x00449b80 move a0, s0                   |     a0 = s0;
    0x00449b84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449b88 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00449b8c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x00449b90 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x00449b94 jalr t9                       |     t9 ();
    0x00449b98 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s3 == 0) {
    0x00449b9c beqz s3, 0x449ca0             |         goto label_9;
                                             |     }
    0x00449ba0 sw s1, (s3)                   |     *(s3) = s1;
    0x00449ba4 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
                                             | label_3:
    0x00449ba8 lw t9, -0x7228(gp)            |         t9 = sym.imp.BIO_free_all;
    0x00449bac move a0, s0                   |         a0 = s0;
    0x00449bb0 sw v0, 0x120(sp)              |         *(var_120h) = v0;
    0x00449bb4 jalr t9                       |         t9 ();
    0x00449bb8 lw v0, 0x120(sp)              |         v0 = *(var_120h);
                                             | label_4:
    0x00449bbc lw ra, 0x13c(sp)              |         ra = *(var_13ch);
    0x00449bc0 lw s4, 0x138(sp)              |         s4 = *(var_138h);
    0x00449bc4 lw s3, 0x134(sp)              |         s3 = *(var_134h);
    0x00449bc8 lw s2, 0x130(sp)              |         s2 = *(var_130h);
    0x00449bcc lw s1, 0x12c(sp)              |         s1 = *(var_12ch);
    0x00449bd0 lw s0, 0x128(sp)              |         s0 = *(var_128h);
    0x00449bd4 addiu sp, sp, 0x140           |         
    0x00449bd8 jr ra                         |         return v0;
                                             | label_0:
    0x00449bdc lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x00449be0 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00449be4 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00449be8 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* esilref: 'file name too long
' */
    0x00449bec addiu a1, a1, 0x1344          |         a1 += 0x1344;
    0x00449bf0 jalr t9                       |         t9 ();
    0x00449bf4 move v0, zero                 |         v0 = 0;
                                             | label_2:
    0x00449bf8 lw ra, 0x13c(sp)              |         ra = *(var_13ch);
    0x00449bfc lw s4, 0x138(sp)              |         s4 = *(var_138h);
    0x00449c00 lw s3, 0x134(sp)              |         s3 = *(var_134h);
    0x00449c04 lw s2, 0x130(sp)              |         s2 = *(var_130h);
    0x00449c08 lw s1, 0x12c(sp)              |         s1 = *(var_12ch);
    0x00449c0c lw s0, 0x128(sp)              |         s0 = *(var_128h);
    0x00449c10 addiu sp, sp, 0x140           |         
    0x00449c14 jr ra                         |         return v0;
                                             | label_7:
    0x00449c18 lw t9, -0x72b8(gp)            |         t9 = sym.imp.perror;
    0x00449c1c move a0, s2                   |         a0 = s2;
    0x00449c20 jalr t9                       |         t9 ();
    0x00449c24 move v0, zero                 |         v0 = 0;
    0x00449c28 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00449c2c b 0x449ba8                    |         
                                             |     } while (1);
                                             | label_5:
    0x00449c30 jalr t9                       |     t9 ();
    0x00449c34 nop                           |     
    0x00449c38 slti v0, v0, 0x100            |     v0 = (v0 < 0x100) ? 1 : 0;
    0x00449c3c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00449c40 beqz v0, 0x449bdc             |         goto label_0;
                                             |     }
    0x00449c44 lw t9, -0x6c38(gp)            |     t9 = sym.imp.BUF_strlcpy;
    0x00449c48 addiu s1, sp, 0x20            |     s1 = sp + 0x20;
    0x00449c4c move a0, s1                   |     a0 = s1;
    0x00449c50 addiu a2, zero, 0x100         |     a2 = 0x100;
    0x00449c54 move a1, s2                   |     a1 = s2;
    0x00449c58 jalr t9                       |     t9 ();
    0x00449c5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449c60 b 0x449b0c                    |     goto label_1;
                                             | label_6:
    0x00449c64 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00449c68 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00449c6c lw a0, (t8)                   |     a0 = *(t8);
    0x00449c70 jalr t9                       |     t9 ();
    0x00449c74 move v0, zero                 |     v0 = 0;
    0x00449c78 b 0x449bf8                    |     goto label_2;
                                             | label_8:
    0x00449c7c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00449c80 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00449c84 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x00449c88 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.error_converting_serial_to_ASN.1_format_n */
    0x00449c8c addiu a1, a1, -0x4ed8         |     a1 += -0x4ed8;
    0x00449c90 jalr t9                       |     t9 ();
    0x00449c94 move v0, zero                 |     v0 = 0;
    0x00449c98 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449c9c b 0x449ba8                    |     goto label_3;
                                             | label_9:
    0x00449ca0 lw t9, -0x7228(gp)            |     t9 = sym.imp.BIO_free_all;
    0x00449ca4 move a0, s0                   |     a0 = s0;
    0x00449ca8 jalr t9                       |     t9 ();
    0x00449cac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449cb0 lw t9, -0x7b28(gp)            |     t9 = sym.imp.ASN1_INTEGER_free;
    0x00449cb4 move a0, s1                   |     a0 = s1;
    0x00449cb8 jalr t9                       |     t9 ();
    0x00449cbc addiu v0, zero, 1             |     v0 = 1;
    0x00449cc0 b 0x449bbc                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d2c8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.set_cert_key_stuff ()        | void set_cert_key_stuff () {
    0x0044d2c8 lui gp, 5                     |     
    0x0044d2cc addiu gp, gp, -0xe28          |     
    0x0044d2d0 addu gp, gp, t9               |     gp += t9;
    0x0044d2d4 addiu sp, sp, -0x30           |     
    0x0044d2d8 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0044d2dc sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0044d2e0 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0044d2e4 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044d2e8 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0044d2ec addiu s0, zero, 4             |     s0 = 4;
    0x0044d2f0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044d2f4 move s2, a3                   |     s2 = a3;
                                             |     if (a3 != 0) {
    0x0044d2f8 movz s0, zero, a3             |         s0 = 0;
                                             |     }
                                             |     if (a1 == 0) {
    0x0044d2fc beqz a1, 0x44d378             |         goto label_2;
                                             |     }
    0x0044d300 lw t9, -0x7428(gp)            |     t9 = sym.imp.SSL_CTX_use_certificate;
    0x0044d304 move s3, a0                   |     s3 = a0;
    0x0044d308 move s1, a2                   |     s1 = a2;
    0x0044d30c jalr t9                       |     t9 ();
    0x0044d310 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x0044d314 blez v0, 0x44d424             |         goto label_3;
                                             |     }
    0x0044d318 lw t9, -0x6e70(gp)            |     t9 = sym.imp.SSL_CTX_use_PrivateKey;
    0x0044d31c move a0, s3                   |     a0 = s3;
    0x0044d320 move a1, s1                   |     a1 = s1;
    0x0044d324 jalr t9                       |     t9 ();
    0x0044d328 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x0044d32c blez v0, 0x44d470             |         goto label_4;
                                             |     }
    0x0044d330 lw t9, -0x71d8(gp)            |     t9 = sym.imp.SSL_CTX_check_private_key;
    0x0044d334 move a0, s3                   |     a0 = s3;
    0x0044d338 jalr t9                       |     t9 ();
    0x0044d33c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044d340 move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x0044d344 beqz v0, 0x44d3ec             |         goto label_5;
                                             |     }
    0x0044d348 lw t9, -0x6db4(gp)            |     t9 = sym.imp.SSL_CTX_ctrl;
                                             |     if (s2 != 0) {
    0x0044d34c beqz s2, 0x44d36c             |         
    0x0044d350 move a0, s3                   |         a0 = s3;
    0x0044d354 addiu a1, zero, 0x58          |         a1 = 0x58;
    0x0044d358 addiu a2, zero, 1             |         a2 = 1;
    0x0044d35c move a3, s2                   |         a3 = s2;
    0x0044d360 jalr t9                       |         t9 ();
    0x0044d364 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044d368 beqz v0, 0x44d488             |             goto label_6;
                                             |         }
                                             |     }
    0x0044d36c lw t8, 0x40(sp)               |     t8 = *(arg_40h);
    0x0044d370 lw t9, -0x6db4(gp)            |     t9 = sym.imp.SSL_CTX_ctrl;
    0x0044d374 bnez t8, 0x44d39c             |     
                                             |     while (v0 != 0) {
                                             | label_2:
    0x0044d378 addiu s1, zero, 1             |         s1 = 1;
    0x0044d37c move v0, s1                   |         v0 = s1;
                                             | label_0:
    0x0044d380 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x0044d384 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044d388 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0044d38c lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0044d390 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0044d394 addiu sp, sp, 0x30            |         
    0x0044d398 jr ra                         |         return v0;
    0x0044d39c move a0, s3                   |         a0 = s3;
    0x0044d3a0 addiu a1, zero, 0x69          |         a1 = 0x69;
    0x0044d3a4 move a2, s0                   |         a2 = s0;
    0x0044d3a8 move a3, zero                 |         a3 = 0;
    0x0044d3ac jalr t9                       |         t9 ();
    0x0044d3b0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044d3b4 bnez v0, 0x44d378             |         
                                             |     }
    0x0044d3b8 lw s0, -0x7fd4(gp)            |     s0 = *(gp);
    0x0044d3bc move s1, zero                 |     s1 = 0;
    0x0044d3c0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d3c4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044d3c8 lw a0, (s0)                   |     a0 = *(s0);
                                             |     /* str.error_building_certificate_chain_n */
    0x0044d3cc addiu a1, a1, -0x44d0         |     a1 += -0x44d0;
    0x0044d3d0 jalr t9                       |     t9 ();
    0x0044d3d4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044d3d8 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x0044d3dc lw a0, (s0)                   |     a0 = *(s0);
    0x0044d3e0 jalr t9                       |     t9 ();
    0x0044d3e4 move v0, s1                   |     v0 = s1;
    0x0044d3e8 b 0x44d380                    |     goto label_0;
                                             | label_5:
    0x0044d3ec lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044d3f0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d3f4 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044d3f8 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.Private_key_does_not_match_the_certificate_public_key_n */
    0x0044d3fc addiu a1, a1, -0x4564         |     a1 += -0x4564;
    0x0044d400 jalr t9                       |     t9 ();
    0x0044d404 move v0, s1                   |     v0 = s1;
    0x0044d408 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0044d40c lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0044d410 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0044d414 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0044d418 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0044d41c addiu sp, sp, 0x30            |     
    0x0044d420 jr ra                         |     return v0;
                                             | label_3:
    0x0044d424 lw s0, -0x7fd4(gp)            |     s0 = *(gp);
    0x0044d428 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d42c lw a0, (s0)                   |     a0 = *(s0);
    0x0044d430 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.error_setting_certificate_n */
    0x0044d434 addiu a1, a1, -0x452c         |     a1 += -0x452c;
                                             |     do {
                                             | label_1:
    0x0044d438 move s1, zero                 |         s1 = 0;
    0x0044d43c jalr t9                       |         t9 ();
    0x0044d440 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044d444 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x0044d448 lw a0, (s0)                   |         a0 = *(s0);
    0x0044d44c jalr t9                       |         t9 ();
    0x0044d450 move v0, s1                   |         v0 = s1;
    0x0044d454 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x0044d458 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044d45c lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0044d460 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0044d464 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0044d468 addiu sp, sp, 0x30            |         
    0x0044d46c jr ra                         |         return v0;
                                             | label_4:
    0x0044d470 lw s0, -0x7fd4(gp)            |         s0 = *(gp);
    0x0044d474 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d478 lw a0, (s0)                   |         a0 = *(s0);
    0x0044d47c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.error_setting_private_key_n */
    0x0044d480 addiu a1, a1, -0x4510         |         a1 += -0x4510;
    0x0044d484 b 0x44d438                    |         
                                             |     } while (1);
                                             | label_6:
    0x0044d488 lw s0, -0x7fd4(gp)            |     s0 = *(gp);
    0x0044d48c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d490 lw a0, (s0)                   |     a0 = *(s0);
    0x0044d494 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.error_setting_certificate_chain_n */
    0x0044d498 addiu a1, a1, -0x44f4         |     a1 += -0x44f4;
    0x0044d49c b 0x44d438                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d170 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.set_cert_stuff ()            | void set_cert_stuff () {
    0x0044d170 lui gp, 5                     |     
    0x0044d174 addiu gp, gp, -0xcd0          |     
    0x0044d178 addu gp, gp, t9               |     gp += t9;
    0x0044d17c addiu sp, sp, -0x28           |     
    0x0044d180 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0044d184 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0044d188 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0044d18c sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0044d190 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044d194 move s1, a1                   |     s1 = a1;
                                             |     if (a1 != 0) {
    0x0044d198 beqz a1, 0x44d1f0             |         
    0x0044d19c lw t9, -0x79f0(gp)            |         t9 = sym.imp.SSL_CTX_use_certificate_file;
    0x0044d1a0 move s0, a2                   |         s0 = a2;
    0x0044d1a4 addiu a2, zero, 1             |         a2 = 1;
    0x0044d1a8 move s2, a0                   |         s2 = a0;
    0x0044d1ac jalr t9                       |         t9 ();
    0x0044d1b0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 <= 0) {
    0x0044d1b4 blez v0, 0x44d290             |             goto label_0;
                                             |         }
    0x0044d1b8 lw t9, -0x78ec(gp)            |         t9 = sym.imp.SSL_CTX_use_PrivateKey_file;
                                             |         if (s0 != 0) {
    0x0044d1bc movz s0, s1, s0               |             s0 = s1;
                                             |         }
    0x0044d1c0 move a0, s2                   |         a0 = s2;
    0x0044d1c4 addiu a2, zero, 1             |         a2 = 1;
    0x0044d1c8 move a1, s0                   |         a1 = s0;
    0x0044d1cc jalr t9                       |         t9 ();
    0x0044d1d0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 <= 0) {
    0x0044d1d4 blez v0, 0x44d244             |             goto label_1;
                                             |         }
    0x0044d1d8 lw t9, -0x71d8(gp)            |         t9 = sym.imp.SSL_CTX_check_private_key;
    0x0044d1dc move a0, s2                   |         a0 = s2;
    0x0044d1e0 jalr t9                       |         t9 ();
    0x0044d1e4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044d1e8 move s0, v0                   |         s0 = v0;
                                             |         if (v0 == 0) {
    0x0044d1ec beqz v0, 0x44d210             |             goto label_2;
                                             |         }
                                             |     }
    0x0044d1f0 addiu s0, zero, 1             |     s0 = 1;
    0x0044d1f4 move v0, s0                   |     v0 = s0;
                                             |     do {
    0x0044d1f8 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0044d1fc lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x0044d200 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x0044d204 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x0044d208 addiu sp, sp, 0x28            |         
    0x0044d20c jr ra                         |         return v0;
                                             | label_2:
    0x0044d210 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0044d214 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d218 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044d21c lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.Private_key_does_not_match_the_certificate_public_key_n */
    0x0044d220 addiu a1, a1, -0x4564         |         a1 += -0x4564;
    0x0044d224 jalr t9                       |         t9 ();
    0x0044d228 move v0, s0                   |         v0 = s0;
    0x0044d22c lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0044d230 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x0044d234 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x0044d238 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x0044d23c addiu sp, sp, 0x28            |         
    0x0044d240 jr ra                         |         return v0;
                                             | label_1:
    0x0044d244 lw s1, -0x7fd4(gp)            |         s1 = *(gp);
    0x0044d248 move a2, s0                   |         a2 = s0;
    0x0044d24c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d250 move s0, zero                 |         s0 = 0;
    0x0044d254 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044d258 lw a0, (s1)                   |         a0 = *(s1);
                                             |         /* str.unable_to_get_private_key_from__s_n */
    0x0044d25c addiu a1, a1, -0x458c         |         a1 += -0x458c;
    0x0044d260 jalr t9                       |         t9 ();
    0x0044d264 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044d268 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x0044d26c lw a0, (s1)                   |         a0 = *(s1);
    0x0044d270 jalr t9                       |         t9 ();
    0x0044d274 move v0, s0                   |         v0 = s0;
    0x0044d278 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0044d27c lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x0044d280 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x0044d284 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x0044d288 addiu sp, sp, 0x28            |         
    0x0044d28c jr ra                         |         return v0;
                                             | label_0:
    0x0044d290 lw s0, -0x7fd4(gp)            |         s0 = *(gp);
    0x0044d294 move a2, s1                   |         a2 = s1;
    0x0044d298 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d29c lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044d2a0 lw a0, (s0)                   |         a0 = *(s0);
                                             |         /* str.unable_to_get_certificate_from__s_n */
    0x0044d2a4 addiu a1, a1, -0x45b4         |         a1 += -0x45b4;
    0x0044d2a8 jalr t9                       |         t9 ();
    0x0044d2ac lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044d2b0 lw a0, (s0)                   |         a0 = *(s0);
    0x0044d2b4 lw t9, -0x7048(gp)            |         t9 = sym.imp.ERR_print_errors;
    0x0044d2b8 move s0, zero                 |         s0 = 0;
    0x0044d2bc jalr t9                       |         t9 ();
    0x0044d2c0 move v0, s0                   |         v0 = s0;
    0x0044d2c4 b 0x44d1f8                    |         
                                             |     } while (1);
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4193a4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.set_hex ()               | void set_hex () {
    0x004193a4 lui gp, 8                 |     
    0x004193a8 addiu gp, gp, 0x30fc      |     
    0x004193ac addu gp, gp, t9           |     gp += t9;
    0x004193b0 addiu sp, sp, -0x30       |     
    0x004193b4 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x004193b8 sw s3, 0x28(sp)           |     *(var_28h) = s3;
    0x004193bc sw s2, 0x24(sp)           |     *(var_24h) = s2;
    0x004193c0 sw s1, 0x20(sp)           |     *(var_20h) = s1;
    0x004193c4 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x004193c8 move s3, a2               |     s3 = a2;
    0x004193cc lw t9, -0x7cf8(gp)        |     t9 = sym.imp.strlen;
    0x004193d0 move s1, a0               |     s1 = a0;
    0x004193d4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x004193d8 move s0, a1               |     s0 = a1;
    0x004193dc jalr t9                   |     t9 ();
    0x004193e0 sll t8, s3, 1             |     t8 = s3 << 1;
    0x004193e4 slt t8, t8, v0            |     t8 = (t8 < v0) ? 1 : 0;
    0x004193e8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x004193ec move s2, v0               |     s2 = v0;
                                         |     if (t8 != 0) {
    0x004193f0 bnez t8, 0x4194d0         |         goto label_2;
                                         |     }
    0x004193f4 lw t9, -0x6f0c(gp)        |     t9 = sym.imp.memset;
    0x004193f8 move a0, s0               |     a0 = s0;
    0x004193fc move a1, zero             |     a1 = 0;
    0x00419400 move a2, s3               |     a2 = s3;
    0x00419404 jalr t9                   |     t9 ();
    0x00419408 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (s2 <= 0) {
    0x0041940c blez s2, 0x4194a0         |         goto label_3;
                                         |     }
    0x00419410 lbu t8, (s1)              |     t8 = *(s1);
    0x00419414 addiu a2, s1, 1           |     a2 = s1 + 1;
    0x00419418 sb zero, (s1)             |     *(s1) = 0;
                                         |     if (t8 == 0) {
    0x0041941c beqz t8, 0x4194a0         |         goto label_3;
                                         |     }
    0x00419420 addu v0, s1, s2           |     v0 = s1 + s2;
    0x00419424 move v1, zero             |     v1 = 0;
    0x00419428 b 0x419450                |     
                                         |     while (t8 != 0) {
    0x0041942c lbu t8, (t0)              |         t8 = *(t0);
    0x00419430 addiu v1, v1, 1           |         v1++;
    0x00419434 or a3, a3, t8             |         a3 |= t8;
    0x00419438 sb a3, (t0)               |         *(t0) = a3;
                                         |         if (a2 == v0) {
    0x0041943c beq a2, v0, 0x4194a0      |             goto label_3;
                                         |         }
                                         | label_0:
    0x00419440 lbu t8, (a2)              |         t8 = *(a2);
    0x00419444 addiu a2, a2, 1           |         a2++;
    0x00419448 sb zero, -1(a2)           |         *((a2 - 1)) = 0;
                                         |         if (t8 == 0) {
    0x0041944c beqz t8, 0x4194a0         |             goto label_3;
                                         |         }
    0x00419450 addiu a3, t8, -0x30       |         a3 = t8 + -0x30;
    0x00419454 addiu t0, t8, -0x41       |         t0 = t8 + -0x41;
    0x00419458 andi a3, a3, 0xff         |         a3 &= 0xff;
    0x0041945c sltiu a1, a3, 0xa         |         a1 = (a3 < 0xa) ? 1 : 0;
    0x00419460 sltiu t0, t0, 6           |         t0 = (t0 < 6) ? 1 : 0;
                                         |         if (a1 == 0) {
    0x00419464 bnez a1, 0x419480         |             
    0x00419468 addiu a0, t8, -0x61       |             a0 = t8 + -0x61;
    0x0041946c addiu a3, t8, -0x37       |             a3 = t8 + -0x37;
    0x00419470 sltiu a0, a0, 6           |             a0 = (a0 < 6) ? 1 : 0;
    0x00419474 addiu t8, t8, -0x57       |             t8 += -0x57;
                                         |             if (t0 == 0) {
    0x00419478 beqz t0, 0x4194c0         |                 goto label_4;
                                         |             }
    0x0041947c andi a3, a3, 0xff         |             a3 &= 0xff;
                                         |         }
                                         | label_1:
    0x00419480 sra t8, v1, 1             |         t8 = v1 >> 1;
    0x00419484 addu t0, s0, t8           |         t0 = s0 + t8;
    0x00419488 andi t8, v1, 1            |         t8 = v1 & 1;
    0x0041948c sll t1, a3, 4             |         t1 = a3 << 4;
    0x00419490 bnez t8, 0x41942c         |         
                                         |     }
    0x00419494 sb t1, (t0)               |     *(t0) = t1;
    0x00419498 addiu v1, v1, 1           |     v1++;
                                         |     if (a2 != v0) {
    0x0041949c bne a2, v0, 0x419440      |         goto label_0;
                                         |     }
                                         | label_3:
    0x004194a0 addiu v0, zero, 1         |     v0 = 1;
                                         |     do {
    0x004194a4 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x004194a8 lw s3, 0x28(sp)           |         s3 = *(var_28h);
    0x004194ac lw s2, 0x24(sp)           |         s2 = *(var_24h);
    0x004194b0 lw s1, 0x20(sp)           |         s1 = *(var_20h);
    0x004194b4 lw s0, 0x1c(sp)           |         s0 = *(var_1ch);
    0x004194b8 addiu sp, sp, 0x30        |         
    0x004194bc jr ra                     |         return v0;
                                         | label_4:
    0x004194c0 lw a1, -0x7fd8(gp)        |         a1 = *(gp);
                                         |         if (a0 != 0) {
    0x004194c4 beqz a0, 0x419508         |             
    0x004194c8 andi a3, t8, 0xff         |             a3 = t8 & 0xff;
    0x004194cc b 0x419480                |             goto label_1;
                                         | label_2:
    0x004194d0 lw t8, -0x7fd4(gp)        |             t8 = *(gp);
    0x004194d4 lw a1, -0x7fd8(gp)        |             a1 = *(gp);
    0x004194d8 lw t9, -0x780c(gp)        |             t9 = sym.imp.BIO_printf
    0x004194dc lw a0, (t8)               |             a0 = *(t8);
                                         |             /* str.hex_string_is_too_long_n */
    0x004194e0 addiu a1, a1, -0xce4      |             a1 += -0xce4;
    0x004194e4 jalr t9                   |             t9 ();
    0x004194e8 move v0, zero             |             v0 = 0;
    0x004194ec lw ra, 0x2c(sp)           |             ra = *(var_2ch);
    0x004194f0 lw s3, 0x28(sp)           |             s3 = *(var_28h);
    0x004194f4 lw s2, 0x24(sp)           |             s2 = *(var_24h);
    0x004194f8 lw s1, 0x20(sp)           |             s1 = *(var_20h);
    0x004194fc lw s0, 0x1c(sp)           |             s0 = *(var_1ch);
    0x00419500 addiu sp, sp, 0x30        |             
    0x00419504 jr ra                     |             return v0;
                                         |         }
    0x00419508 lw t8, -0x7fd4(gp)        |         t8 = *(gp);
    0x0041950c lw t9, -0x780c(gp)        |         t9 = sym.imp.BIO_printf
    0x00419510 lw a0, (t8)               |         a0 = *(t8);
                                         |         /* str.non_hex_digit_n */
    0x00419514 addiu a1, a1, -0xccc      |         a1 += -0xccc;
    0x00419518 jalr t9                   |         t9 ();
    0x0041951c move v0, zero             |         v0 = 0;
    0x00419520 b 0x4194a4                |         
                                         |     } while (1);
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449628 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.setup_engine ()              | void setup_engine () {
    0x00449628 lui gp, 5                     |     
    0x0044962c addiu gp, gp, 0x2e78          |     
    0x00449630 addu gp, gp, t9               |     gp += t9;
    0x00449634 addiu sp, sp, -0x38           |     
    0x00449638 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0044963c sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00449640 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00449644 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00449648 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x0044964c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00449650 move s1, a1                   |     s1 = a1;
                                             |     if (a1 == 0) {
    0x00449654 beqz a1, 0x4497f0             |         goto label_2;
                                             |     }
    0x00449658 move s2, a0                   |     s2 = a0;
    0x0044965c lw t9, -0x6e78(gp)            |     t9 = sym.imp.strcmp;
    0x00449660 move a0, a1                   |     a0 = a1;
    0x00449664 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00449668 move s3, a2                   |     s3 = a2;
                                             |     /* str.auto */
    0x0044966c addiu a1, a1, -0x4f94         |     a1 += -0x4f94;
    0x00449670 jalr t9                       |     t9 ();
    0x00449674 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00449678 beqz v0, 0x449810             |         goto label_3;
                                             |     }
    0x0044967c lw t9, -0x7424(gp)            |     t9 = sym.imp.ENGINE_by_id;
    0x00449680 move a0, s1                   |     a0 = s1;
    0x00449684 jalr t9                       |     t9 ();
    0x00449688 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0044968c move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x00449690 beqz v0, 0x44974c             |         goto label_4;
                                             |     }
                                             | label_0:
    0x00449694 lw t9, -0x7d60(gp)            |     t9 = sym.imp.ENGINE_ctrl;
    0x00449698 bnez s3, 0x44972c             |     
                                             |     while (1) {
    0x0044969c lw t8, -0x7fc8(gp)            |         t8 = *((gp - 8178));
    0x004496a0 move a0, s0                   |         a0 = s0;
    0x004496a4 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x004496a8 move a2, zero                 |         a2 = 0;
    0x004496ac lw t9, -0x7c28(gp)            |         t9 = sym.imp.ENGINE_ctrl_cmd;
    0x004496b0 lw a3, 0x667c(t8)             |         a3 = *((t8 + 6559));
    0x004496b4 addiu t8, zero, 1             |         t8 = 1;
                                             |         /* str.SET_USER_INTERFACE */
    0x004496b8 addiu a1, a1, -0x4f54         |         a1 += -0x4f54;
    0x004496bc sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x004496c0 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x004496c4 jalr t9                       |         t9 ();
    0x004496c8 move a0, s0                   |         a0 = s0;
    0x004496cc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004496d0 lw t9, -0x6f10(gp)            |         t9 = sym.imp.ENGINE_set_default;
    0x004496d4 ori a1, zero, 0xffff          |         a1 = 0xffff;
    0x004496d8 jalr t9                       |         t9 ();
    0x004496dc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x004496e0 beqz v0, 0x44983c             |             goto label_5;
                                             |         }
    0x004496e4 lw t9, -0x78e8(gp)            |         t9 = sym.imp.ENGINE_get_id;
    0x004496e8 move a0, s0                   |         a0 = s0;
    0x004496ec jalr t9                       |         t9 ();
    0x004496f0 move a0, s2                   |         a0 = s2;
    0x004496f4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004496f8 move a2, v0                   |         a2 = v0;
    0x004496fc lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x00449700 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.engine___s__set._n */
    0x00449704 addiu a1, a1, -0x4f28         |         a1 += -0x4f28;
    0x00449708 jalr t9                       |         t9 ();
    0x0044970c move v0, s0                   |         v0 = s0;
                                             | label_1:
    0x00449710 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00449714 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00449718 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x0044971c lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00449720 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00449724 addiu sp, sp, 0x38            |         
    0x00449728 jr ra                         |         return v0;
    0x0044972c move a0, s0                   |         a0 = s0;
    0x00449730 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x00449734 addiu a1, zero, 1             |         a1 = 1;
    0x00449738 move a2, zero                 |         a2 = 0;
    0x0044973c move a3, s2                   |         a3 = s2;
    0x00449740 jalr t9                       |         t9 ();
    0x00449744 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00449748 b 0x44969c                    |         
                                             |     }
                                             | label_4:
    0x0044974c lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00449750 lw t9, -0x7424(gp)            |     t9 = sym.imp.ENGINE_by_id;
                                             |     /* str.dynamic */
    0x00449754 addiu a0, a0, -0x4f6c         |     a0 += -0x4f6c;
    0x00449758 jalr t9                       |     t9 ();
    0x0044975c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449760 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x00449764 beqz v0, 0x4497c0             |         goto label_6;
                                             |     }
    0x00449768 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044976c move a0, v0                   |     a0 = v0;
    0x00449770 lw t9, -0x7530(gp)            |     t9 = sym.imp.ENGINE_ctrl_cmd_string;
    0x00449774 move a2, s1                   |     a2 = s1;
                                             |     /* str.SO_PATH */
    0x00449778 addiu a1, a1, -0x4f64         |     a1 += -0x4f64;
    0x0044977c move a3, zero                 |     a3 = 0;
    0x00449780 jalr t9                       |     t9 ();
    0x00449784 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00449788 beqz v0, 0x4497b0             |         goto label_7;
                                             |     }
    0x0044978c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00449790 move a0, s0                   |     a0 = s0;
    0x00449794 lw t9, -0x7530(gp)            |     t9 = sym.imp.ENGINE_ctrl_cmd_string;
    0x00449798 move a2, zero                 |     a2 = 0;
                                             |     /* str.LOAD */
    0x0044979c addiu a1, a1, -0x4f5c         |     a1 += -0x4f5c;
    0x004497a0 move a3, zero                 |     a3 = 0;
    0x004497a4 jalr t9                       |     t9 ();
    0x004497a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x004497ac bnez v0, 0x449694             |         goto label_0;
                                             |     }
                                             | label_7:
    0x004497b0 lw t9, -0x7cdc(gp)            |     t9 = sym.imp.ENGINE_free;
    0x004497b4 move a0, s0                   |     a0 = s0;
    0x004497b8 jalr t9                       |     t9 ();
    0x004497bc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_6:
    0x004497c0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x004497c4 move a0, s2                   |     a0 = s2;
    0x004497c8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004497cc move a2, s1                   |     a2 = s1;
                                             |     /* str.invalid_engine___s__n */
    0x004497d0 addiu a1, a1, -0x4f14         |     a1 += -0x4f14;
    0x004497d4 jalr t9                       |     t9 ();
    0x004497d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004497dc lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x004497e0 move a0, s2                   |     a0 = s2;
    0x004497e4 jalr t9                       |     t9 ();
    0x004497e8 move v0, zero                 |     v0 = 0;
    0x004497ec b 0x449710                    |     goto label_1;
                                             | label_2:
    0x004497f0 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x004497f4 move v0, zero                 |     v0 = 0;
    0x004497f8 lw s3, 0x30(sp)               |     s3 = *(var_30h);
    0x004497fc lw s2, 0x2c(sp)               |     s2 = *(var_2ch);
    0x00449800 lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x00449804 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x00449808 addiu sp, sp, 0x38            |     
    0x0044980c jr ra                         |     return v0;
                                             | label_3:
    0x00449810 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00449814 move a0, s2                   |     a0 = s2;
    0x00449818 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.enabling_auto_ENGINE_support_n */
    0x0044981c addiu a1, a1, -0x4f8c         |     a1 += -0x4f8c;
    0x00449820 jalr t9                       |     t9 ();
    0x00449824 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449828 lw t9, -0x6d5c(gp)            |     t9 = sym.imp.ENGINE_register_all_complete;
    0x0044982c jalr t9                       |     t9 ();
    0x00449830 nop                           |     
    0x00449834 move v0, zero                 |     v0 = 0;
    0x00449838 b 0x449710                    |     goto label_1;
                                             | label_5:
    0x0044983c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x00449840 move a0, s2                   |     a0 = s2;
    0x00449844 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.cant_use_that_engine_n */
    0x00449848 addiu a1, a1, -0x4f40         |     a1 += -0x4f40;
    0x0044984c jalr t9                       |     t9 ();
    0x00449850 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449854 lw t9, -0x7048(gp)            |     t9 = sym.imp.ERR_print_errors;
    0x00449858 move a0, s2                   |     a0 = s2;
    0x0044985c jalr t9                       |     t9 ();
    0x00449860 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00449864 lw t9, -0x7cdc(gp)            |     t9 = sym.imp.ENGINE_free;
    0x00449868 move a0, s0                   |     a0 = s0;
    0x0044986c jalr t9                       |     t9 ();
    0x00449870 move v0, zero                 |     v0 = 0;
    0x00449874 b 0x449710                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449484 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.setup_verify ()              | void setup_verify () {
    0x00449484 lui gp, 5                     |     
    0x00449488 addiu gp, gp, 0x301c          |     
    0x0044948c addu gp, gp, t9               |     gp += t9;
    0x00449490 addiu sp, sp, -0x38           |     
    0x00449494 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00449498 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x0044949c sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x004494a0 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x004494a4 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x004494a8 move s3, a0                   |     s3 = a0;
    0x004494ac lw t9, -0x70d4(gp)            |     t9 = sym.imp.X509_STORE_new;
    0x004494b0 move s1, a1                   |     s1 = a1;
    0x004494b4 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x004494b8 move s2, a2                   |     s2 = a2;
    0x004494bc jalr t9                       |     t9 ();
    0x004494c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004494c4 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x004494c8 beqz v0, 0x4495dc             |         goto label_1;
                                             |     }
    0x004494cc lw t9, -0x6db0(gp)            |     t9 = sym.imp.X509_LOOKUP_file;
    0x004494d0 jalr t9                       |     t9 ();
    0x004494d4 nop                           |     
    0x004494d8 move a0, s0                   |     a0 = s0;
    0x004494dc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004494e0 lw t9, -0x7284(gp)            |     t9 = sym.imp.X509_STORE_add_lookup;
    0x004494e4 move a1, v0                   |     a1 = v0;
    0x004494e8 jalr t9                       |     t9 ();
    0x004494ec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x004494f0 beqz v0, 0x4495dc             |         goto label_1;
                                             |     }
    0x004494f4 lw t9, -0x7ae4(gp)            |     t9 = sym.imp.X509_LOOKUP_ctrl;
    0x004494f8 move a0, v0                   |     a0 = v0;
    0x004494fc sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00449500 addiu a1, zero, 1             |     a1 = 1;
                                             |     if (s1 == 0) {
    0x00449504 beqz s1, 0x449598             |         goto label_2;
                                             |     }
    0x00449508 move a2, s1                   |     a2 = s1;
    0x0044950c addiu a3, zero, 1             |     a3 = 1;
    0x00449510 jalr t9                       |     t9 ();
    0x00449514 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00449518 beqz v0, 0x4495c0             |         goto label_3;
                                             |     }
                                             |     do {
    0x0044951c lw t9, -0x7608(gp)            |         t9 = sym.imp.X509_LOOKUP_hash_dir;
    0x00449520 jalr t9                       |         t9 ();
    0x00449524 nop                           |         
    0x00449528 move a0, s0                   |         a0 = s0;
    0x0044952c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00449530 lw t9, -0x7284(gp)            |         t9 = sym.imp.X509_STORE_add_lookup;
    0x00449534 move a1, v0                   |         a1 = v0;
    0x00449538 jalr t9                       |         t9 ();
    0x0044953c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00449540 beqz v0, 0x4495dc             |             goto label_1;
                                             |         }
    0x00449544 lw t9, -0x7ae4(gp)            |         t9 = sym.imp.X509_LOOKUP_ctrl;
    0x00449548 move a0, v0                   |         a0 = v0;
    0x0044954c sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x00449550 addiu a1, zero, 2             |         a1 = 2;
                                             |         if (s2 == 0) {
    0x00449554 beqz s2, 0x4495ac             |             goto label_4;
                                             |         }
    0x00449558 move a2, s2                   |         a2 = s2;
    0x0044955c addiu a3, zero, 1             |         a3 = 1;
    0x00449560 jalr t9                       |         t9 ();
    0x00449564 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00449568 beqz v0, 0x449608             |             goto label_5;
                                             |         }
                                             | label_0:
    0x0044956c lw t9, -0x7464(gp)            |         t9 = sym.imp.ERR_clear_error;
    0x00449570 jalr t9                       |         t9 ();
    0x00449574 nop                           |         
    0x00449578 move v0, s0                   |         v0 = s0;
    0x0044957c lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00449580 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00449584 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00449588 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x0044958c lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00449590 addiu sp, sp, 0x38            |         
    0x00449594 jr ra                         |         return v0;
                                             | label_2:
    0x00449598 move a2, zero                 |         a2 = 0;
    0x0044959c addiu a3, zero, 3             |         a3 = 3;
    0x004495a0 jalr t9                       |         t9 ();
    0x004495a4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x004495a8 b 0x44951c                    |         
                                             |     } while (1);
                                             | label_4:
    0x004495ac move a2, zero                 |     a2 = 0;
    0x004495b0 addiu a3, zero, 3             |     a3 = 3;
    0x004495b4 jalr t9                       |     t9 ();
    0x004495b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x004495bc b 0x44956c                    |     goto label_0;
                                             | label_3:
    0x004495c0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x004495c4 move a0, s3                   |     a0 = s3;
    0x004495c8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x004495cc move a2, s1                   |     a2 = s1;
                                             |     /* str.Error_loading_file__s_n */
    0x004495d0 addiu a1, a1, -0x3454         |     a1 += -0x3454;
    0x004495d4 jalr t9                       |     t9 ();
    0x004495d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
                                             | label_1:
    0x004495dc lw t9, -0x7518(gp)            |         t9 = sym.imp.X509_STORE_free;
    0x004495e0 move a0, s0                   |         a0 = s0;
    0x004495e4 jalr t9                       |         t9 ();
    0x004495e8 move v0, zero                 |         v0 = 0;
    0x004495ec lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x004495f0 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x004495f4 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x004495f8 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x004495fc lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00449600 addiu sp, sp, 0x38            |         
    0x00449604 jr ra                         |         return v0;
                                             | label_5:
    0x00449608 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0044960c move a0, s3                   |         a0 = s3;
    0x00449610 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x00449614 move a2, s2                   |         a2 = s2;
                                             |         /* str.Error_loading_directory__s_n */
    0x00449618 addiu a1, a1, -0x343c         |         a1 += -0x343c;
    0x0044961c jalr t9                       |         t9 ();
    0x00449620 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00449624 b 0x4495dc                    |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44daa8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ssl_print_curves ()          | void ssl_print_curves () {
    0x0044daa8 lui gp, 5                     |     
    0x0044daac addiu gp, gp, -0x1608         |     
    0x0044dab0 addu gp, gp, t9               |     gp += t9;
    0x0044dab4 addiu sp, sp, -0x48           |     
    0x0044dab8 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0044dabc sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x0044dac0 sw s7, 0x3c(sp)               |     *(var_3ch) = s7;
    0x0044dac4 sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x0044dac8 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x0044dacc sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0044dad0 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0044dad4 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0044dad8 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0044dadc sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0044dae0 move s4, a1                   |     s4 = a1;
    0x0044dae4 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044dae8 move s0, a0                   |     s0 = a0;
    0x0044daec sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044daf0 addiu a1, zero, 0x5a          |     a1 = 0x5a;
    0x0044daf4 sw a2, 0x50(sp)               |     *(arg_50h) = a2;
    0x0044daf8 move a3, zero                 |     a3 = 0;
    0x0044dafc move a0, s4                   |     a0 = s4;
    0x0044db00 move a2, zero                 |     a2 = 0;
    0x0044db04 jalr t9                       |     t9 ();
    0x0044db08 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044db0c move s3, v0                   |     s3 = v0;
                                             |     if (v0 <= 0) {
    0x0044db10 blez v0, 0x44dd6c             |         goto label_4;
                                             |     }
    0x0044db14 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044db18 sll a0, v0, 2                 |     a0 = v0 << 2;
    0x0044db1c lw t9, -0x7cd8(gp)            |     t9 = sym.imp.CRYPTO_malloc;
    0x0044db20 addiu a2, zero, 0x1cb         |     a2 = 0x1cb;
                                             |     /* str.s_cb.c */
    0x0044db24 addiu a1, a1, -0x436c         |     a1 += -0x436c;
    0x0044db28 jalr t9                       |     t9 ();
    0x0044db2c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044db30 sw v0, 0x18(sp)               |     *(var_18h) = v0;
                                             |     if (v0 == 0) {
    0x0044db34 beqz v0, 0x44ddc8             |         goto label_5;
                                             |     }
    0x0044db38 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044db3c move a2, zero                 |     a2 = 0;
    0x0044db40 lw a3, 0x18(sp)               |     a3 = *(var_18h);
    0x0044db44 move a0, s4                   |     a0 = s4;
    0x0044db48 addiu a1, zero, 0x5a          |     a1 = 0x5a;
    0x0044db4c lw s6, -0x7fd8(gp)            |     s6 = *(gp);
    0x0044db50 move s1, zero                 |     s1 = 0;
    0x0044db54 jalr t9                       |     t9 ();
    0x0044db58 move a0, s0                   |     a0 = s0;
    0x0044db5c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044db60 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044db64 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Supported_Elliptic_Curves:_ */
    0x0044db68 addiu a1, a1, -0x433c         |     a1 += -0x433c;
    0x0044db6c jalr t9                       |     t9 ();
    0x0044db70 lui v0, 0x100                 |     v0 = 0x1000000;
    0x0044db74 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044db78 move a0, s0                   |     a0 = s0;
    0x0044db7c lw s2, 0x18(sp)               |     s2 = *(var_18h);
    0x0044db80 lw s5, -0x7f9c(gp)            |     s5 = *(gp);
    0x0044db84 lw fp, (s2)                   |     fp = *(s2);
    0x0044db88 lw s7, -0x7f9c(gp)            |     s7 = *(gp);
                                             |     /* str.0x_04X */
    0x0044db8c addiu s5, s5, -0x4320         |     s5 += -0x4320;
    0x0044db90 and v0, fp, v0                |     v0 = fp & v0;
    0x0044db94 lw t9, -0x6d10(gp)            |     t9 = sym.imp.EC_curve_nid2nist;
                                             |     /* esilref: '&s' */
    0x0044db98 addiu s7, s7, -0x4dcc         |     s7 += -0x4dcc;
    0x0044db9c move a1, s5                   |     a1 = s5;
    0x0044dba0 lw v1, -0x780c(gp)            |     v1 = sym.imp.BIO_printf
    0x0044dba4 andi a2, fp, 0xffff           |     a2 = fp & 0xffff;
                                             |     if (v0 == 0) {
    0x0044dba8 beqz v0, 0x44dc08             |         goto label_6;
                                             |     }
                                             |     do {
    0x0044dbac move t9, v1                   |         t9 = v1;
    0x0044dbb0 addiu s1, s1, 1               |         s1++;
    0x0044dbb4 jalr t9                       |         t9 ();
    0x0044dbb8 move a0, s0                   |         a0 = s0;
    0x0044dbbc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044dbc0 addiu a1, s6, -0x824          |         a1 = s6 + -0x824;
    0x0044dbc4 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         if (s1 == s3) {
    0x0044dbc8 beq s1, s3, 0x44dc44          |             goto label_7;
                                             |         }
                                             |         if (s1 != 0) {
                                             | label_0:
    0x0044dbcc beqz s1, 0x44dbe0             |             
    0x0044dbd0 nop                           |             
    0x0044dbd4 jalr t9                       |             t9 ();
    0x0044dbd8 nop                           |             
    0x0044dbdc lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x0044dbe0 addiu s2, s2, 4               |         s2 += 4;
    0x0044dbe4 lui v0, 0x100                 |         v0 = 0x1000000;
    0x0044dbe8 lw fp, (s2)                   |         fp = *(s2);
    0x0044dbec move a0, s0                   |         a0 = s0;
    0x0044dbf0 lw t9, -0x6d10(gp)            |         t9 = sym.imp.EC_curve_nid2nist;
    0x0044dbf4 move a1, s5                   |         a1 = s5;
    0x0044dbf8 and v0, fp, v0                |         v0 = fp & v0;
    0x0044dbfc lw v1, -0x780c(gp)            |         v1 = sym.imp.BIO_printf
    0x0044dc00 andi a2, fp, 0xffff           |         a2 = fp & 0xffff;
    0x0044dc04 bnez v0, 0x44dbac             |         
                                             |     } while (v0 != 0);
                                             | label_6:
    0x0044dc08 move a0, fp                   |     a0 = fp;
    0x0044dc0c jalr t9                       |     t9 ();
    0x0044dc10 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044dc14 beqz v0, 0x44ddb4             |         goto label_8;
                                             |     }
                                             | label_2:
    0x0044dc18 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044dc1c move a0, s0                   |     a0 = s0;
    0x0044dc20 move a1, s7                   |     a1 = s7;
    0x0044dc24 addiu s1, s1, 1               |     s1++;
    0x0044dc28 move a2, v0                   |     a2 = v0;
    0x0044dc2c jalr t9                       |     t9 ();
    0x0044dc30 move a0, s0                   |     a0 = s0;
    0x0044dc34 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044dc38 addiu a1, s6, -0x824          |     a1 = s6 + -0x824;
    0x0044dc3c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     if (s1 != s3) {
    0x0044dc40 bne s1, s3, 0x44dbcc          |         goto label_0;
                                             |     }
                                             | label_7:
    0x0044dc44 lw t9, -0x7ce8(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x0044dc48 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x0044dc4c jalr t9                       |     t9 ();
    0x0044dc50 lw t8, 0x50(sp)               |     t8 = *(arg_50h);
    0x0044dc54 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (t8 != 0) {
    0x0044dc58 bnez t8, 0x44dd24             |         goto label_3;
                                             |     }
    0x0044dc5c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044dc60 move a0, s0                   |     a0 = s0;
    0x0044dc64 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str._nShared_Elliptic_curves:_ */
    0x0044dc68 addiu a1, a1, -0x4318         |     a1 += -0x4318;
    0x0044dc6c jalr t9                       |     t9 ();
    0x0044dc70 move a0, s4                   |     a0 = s4;
    0x0044dc74 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044dc78 addiu a1, zero, 0x5d          |     a1 = 0x5d;
    0x0044dc7c addiu a2, zero, -1            |     a2 = -1;
    0x0044dc80 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044dc84 move a3, zero                 |     a3 = 0;
    0x0044dc88 jalr t9                       |     t9 ();
    0x0044dc8c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044dc90 move s3, v0                   |     s3 = v0;
                                             |     if (v0 <= 0) {
    0x0044dc94 blez v0, 0x44dde4             |         goto label_9;
                                             |     }
    0x0044dc98 lw s6, -0x7f9c(gp)            |     s6 = *(gp);
    0x0044dc9c move s1, zero                 |     s1 = 0;
    0x0044dca0 lw s5, -0x7fd8(gp)            |     s5 = *(gp);
                                             |     /* esilref: '&s' */
    0x0044dca4 addiu s6, s6, -0x4dcc         |     s6 += -0x4dcc;
    0x0044dca8 addiu s5, s5, -0x824          |     s5 += -0x824;
    0x0044dcac b 0x44dcc4                    |     
                                             |     if (s1 != 0) {
                                             |         while (s1 != s3) {
    0x0044dcb0 beqz s1, 0x44dcc4             |             
    0x0044dcb4 nop                           |             
    0x0044dcb8 jalr t9                       |             t9 ();
    0x0044dcbc nop                           |             
    0x0044dcc0 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x0044dcc4 lw t9, -0x7a2c(gp)            |         t9 = sym.imp.SSL_ctrl;
    0x0044dcc8 move a2, s1                   |         a2 = s1;
    0x0044dccc move a0, s4                   |         a0 = s4;
    0x0044dcd0 move a3, zero                 |         a3 = 0;
    0x0044dcd4 addiu a1, zero, 0x5d          |         a1 = 0x5d;
    0x0044dcd8 addiu s1, s1, 1               |         s1++;
    0x0044dcdc jalr t9                       |         t9 ();
    0x0044dce0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044dce4 move a0, v0                   |         a0 = v0;
    0x0044dce8 lw t9, -0x6d10(gp)            |         t9 = sym.imp.EC_curve_nid2nist;
    0x0044dcec move s2, v0                   |         s2 = v0;
    0x0044dcf0 jalr t9                       |         t9 ();
    0x0044dcf4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0044dcf8 beqz v0, 0x44dda0             |             goto label_10;
                                             |         }
                                             | label_1:
    0x0044dcfc lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044dd00 move a0, s0                   |         a0 = s0;
    0x0044dd04 move a1, s6                   |         a1 = s6;
    0x0044dd08 move a2, v0                   |         a2 = v0;
    0x0044dd0c jalr t9                       |         t9 ();
    0x0044dd10 move a0, s0                   |         a0 = s0;
    0x0044dd14 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044dd18 move a1, s5                   |         a1 = s5;
    0x0044dd1c lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
    0x0044dd20 bne s1, s3, 0x44dcb0          |         
                                             |     }
                                             | label_3:
    0x0044dd24 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044dd28 move a0, s0                   |     a0 = s0;
    0x0044dd2c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044dd30 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044dd34 jalr t9                       |     t9 ();
    0x0044dd38 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0044dd3c lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0044dd40 lw fp, 0x40(sp)               |         fp = *(var_40h);
    0x0044dd44 lw s7, 0x3c(sp)               |         s7 = *(var_3ch);
    0x0044dd48 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x0044dd4c lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x0044dd50 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0044dd54 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0044dd58 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0044dd5c lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0044dd60 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0044dd64 addiu sp, sp, 0x48            |         
    0x0044dd68 jr ra                         |         return v0;
                                             | label_4:
    0x0044dd6c lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0044dd70 addiu v0, zero, 1             |         v0 = 1;
    0x0044dd74 lw fp, 0x40(sp)               |         fp = *(var_40h);
    0x0044dd78 lw s7, 0x3c(sp)               |         s7 = *(var_3ch);
    0x0044dd7c lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x0044dd80 lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x0044dd84 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0044dd88 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0044dd8c lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0044dd90 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0044dd94 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0044dd98 addiu sp, sp, 0x48            |         
    0x0044dd9c jr ra                         |         return v0;
                                             | label_10:
    0x0044dda0 lw t9, -0x6d2c(gp)            |         t9 = sym.imp.OBJ_nid2sn;
    0x0044dda4 move a0, s2                   |         a0 = s2;
    0x0044dda8 jalr t9                       |         t9 ();
    0x0044ddac lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ddb0 b 0x44dcfc                    |         goto label_1;
                                             | label_8:
    0x0044ddb4 lw t9, -0x6d2c(gp)            |         t9 = sym.imp.OBJ_nid2sn;
    0x0044ddb8 move a0, fp                   |         a0 = fp;
    0x0044ddbc jalr t9                       |         t9 ();
    0x0044ddc0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044ddc4 b 0x44dc18                    |         goto label_2;
                                             | label_5:
    0x0044ddc8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044ddcc move a0, s0                   |         a0 = s0;
    0x0044ddd0 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         /* str.Malloc_error_getting_supported_curves_n */
    0x0044ddd4 addiu a1, a1, -0x4364         |         a1 += -0x4364;
    0x0044ddd8 jalr t9                       |         t9 ();
    0x0044dddc move v0, zero                 |         v0 = 0;
    0x0044dde0 b 0x44dd3c                    |         
                                             |     } while (1);
                                             | label_9:
    0x0044dde4 move a0, s0                   |     a0 = s0;
                                             |     if (v0 != 0) {
    0x0044dde8 bnez v0, 0x44dd24             |         goto label_3;
                                             |     }
    0x0044ddec lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044ddf0 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.NONE */
    0x0044ddf4 addiu a1, a1, 0x2148          |     a1 += 0x2148;
    0x0044ddf8 jalr t9                       |     t9 ();
    0x0044ddfc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044de00 b 0x44dd24                    |     goto label_3;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d900 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.ssl_print_point_formats ()           | void ssl_print_point_formats () {
    0x0044d900 lui gp, 5                             |     
    0x0044d904 addiu gp, gp, -0x1460                 |     
    0x0044d908 addu gp, gp, t9                       |     gp += t9;
    0x0044d90c addiu sp, sp, -0x48                   |     
    0x0044d910 sw ra, 0x44(sp)                       |     *(var_44h) = ra;
    0x0044d914 sw s7, 0x40(sp)                       |     *(var_40h) = s7;
    0x0044d918 sw s6, 0x3c(sp)                       |     *(var_3ch) = s6;
    0x0044d91c sw s5, 0x38(sp)                       |     *(var_38h) = s5;
    0x0044d920 sw s4, 0x34(sp)                       |     *(var_34h) = s4;
    0x0044d924 sw s3, 0x30(sp)                       |     *(var_30h) = s3;
    0x0044d928 sw s2, 0x2c(sp)                       |     *(var_2ch) = s2;
    0x0044d92c sw s1, 0x28(sp)                       |     *(var_28h) = s1;
    0x0044d930 sw s0, 0x24(sp)                       |     *(var_24h) = s0;
    0x0044d934 move a2, zero                         |     a2 = 0;
    0x0044d938 lw t9, -0x7a2c(gp)                    |     t9 = sym.imp.SSL_ctrl;
    0x0044d93c move s1, a0                           |     s1 = a0;
    0x0044d940 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x0044d944 move a0, a1                           |     a0 = a1;
    0x0044d948 addiu a3, sp, 0x18                    |     a3 = sp + 0x18;
    0x0044d94c addiu a1, zero, 0x6f                  |     a1 = 0x6f;
    0x0044d950 jalr t9                               |     t9 ();
    0x0044d954 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0044d958 move s2, v0                           |     s2 = v0;
                                                     |     if (v0 <= 0) {
    0x0044d95c blez v0, 0x44da4c                     |         goto label_2;
                                                     |     }
    0x0044d960 lw a1, -0x7f9c(gp)                    |     a1 = *(gp);
    0x0044d964 move a0, s1                           |     a0 = s1;
    0x0044d968 lw t9, -0x6fcc(gp)                    |     t9 = sym.imp.BIO_puts;
    0x0044d96c move s0, zero                         |     s0 = 0;
                                                     |     /* str.Supported_Elliptic_Curve_Point_Formats:_ */
    0x0044d970 addiu a1, a1, -0x43dc                 |     a1 += -0x43dc;
    0x0044d974 jalr t9                               |     t9 ();
    0x0044d978 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0044d97c lw t8, 0x18(sp)                       |     t8 = *(var_18h);
    0x0044d980 lw s7, -0x7f9c(gp)                    |     s7 = *(gp);
    0x0044d984 lw s6, -0x7f9c(gp)                    |     s6 = *(gp);
    0x0044d988 lw s4, -0x7fd8(gp)                    |     s4 = *(gp);
                                                     |     /* str.ansiX962_compressed_prime */
    0x0044d98c addiu s7, s7, -0x43b0                 |     s7 += -0x43b0;
                                                     |     /* str.ansiX962_compressed_char2 */
    0x0044d990 addiu s6, s6, -0x4394                 |     s6 += -0x4394;
    0x0044d994 lw s5, -0x7f9c(gp)                    |     s5 = *(gp);
                                                     |     /* str.uncompressed */
    0x0044d998 addiu s4, s4, 0x3358                  |     s4 += 0x3358;
    0x0044d99c lw s3, -0x7fd8(gp)                    |     s3 = *(gp);
    0x0044d9a0 b 0x44d9fc                            |     
                                                     |     while (a2 != t8) {
    0x0044d9a4 move a0, s1                           |         a0 = s1;
    0x0044d9a8 lw t9, -0x780c(gp)                    |         t9 = sym.imp.BIO_printf
                                                     |         if (a2 == t8) {
    0x0044d9ac beq a2, t8, 0x44da90                  |             goto label_3;
                                                     |         }
                                                     |         if (a2 == 0) {
    0x0044d9b0 beqz a2, 0x44da7c                     |             goto label_4;
                                                     |         }
    0x0044d9b4 nop                                   |         
                                                     |         /* str.unknown__d_ */
    0x0044d9b8 addiu a1, s5, -0x4378                 |         a1 = s5 + -0x4378;
    0x0044d9bc jalr t9                               |         t9 ();
    0x0044d9c0 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     | label_1:
    0x0044d9c4 lw t8, 0x18(sp)                       |         t8 = *(var_18h);
    0x0044d9c8 addiu s0, s0, 1                       |         s0++;
    0x0044d9cc move a0, s1                           |         a0 = s1;
    0x0044d9d0 lw t9, -0x6fcc(gp)                    |         t9 = sym.imp.BIO_puts;
    0x0044d9d4 addiu t8, t8, 1                       |         t8++;
    0x0044d9d8 addiu a1, s3, -0x824                  |         a1 = s3 + -0x824;
    0x0044d9dc sw t8, 0x18(sp)                       |         *(var_18h) = t8;
                                                     |         if (s0 == s2) {
    0x0044d9e0 beq s0, s2, 0x44da40                  |             goto label_5;
                                                     |         }
                                                     |         if (s0 != 0) {
                                                     | label_0:
    0x0044d9e4 beqz s0, 0x44d9fc                     |             
    0x0044d9e8 nop                                   |             
    0x0044d9ec jalr t9                               |             t9 ();
    0x0044d9f0 nop                                   |             
    0x0044d9f4 lw gp, 0x10(sp)                       |             gp = *(var_10h);
    0x0044d9f8 lw t8, 0x18(sp)                       |             t8 = *(var_18h);
                                                     |         }
    0x0044d9fc lb a2, (t8)                           |         a2 = *(t8);
    0x0044da00 addiu t8, zero, 1                     |         t8 = 1;
    0x0044da04 addiu t8, zero, 2                     |         t8 = 2;
    0x0044da08 bne a2, t8, 0x44d9a4                  |         
                                                     |     }
    0x0044da0c lw t9, -0x6fcc(gp)                    |     t9 = sym.imp.BIO_puts;
    0x0044da10 move a0, s1                           |     a0 = s1;
    0x0044da14 move a1, s7                           |     a1 = s7;
    0x0044da18 addiu s0, s0, 1                       |     s0++;
    0x0044da1c jalr t9                               |     t9 ();
    0x0044da20 move a0, s1                           |     a0 = s1;
    0x0044da24 lw t8, 0x18(sp)                       |     t8 = *(var_18h);
    0x0044da28 addiu a1, s3, -0x824                  |     a1 = s3 + -0x824;
    0x0044da2c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0044da30 addiu t8, t8, 1                       |     t8++;
    0x0044da34 lw t9, -0x6fcc(gp)                    |     t9 = sym.imp.BIO_puts;
    0x0044da38 sw t8, 0x18(sp)                       |     *(var_18h) = t8;
                                                     |     if (s0 != s2) {
    0x0044da3c bne s0, s2, 0x44d9e4                  |         goto label_0;
                                                     |     }
                                                     | label_5:
    0x0044da40 lw a1, -0x7fd8(gp)                    |     a1 = *(gp);
    0x0044da44 addiu a1, a1, 0x609c                  |     a1 += 0x609c;
    0x0044da48 jalr t9                               |     t9 ();
                                                     | label_2:
    0x0044da4c lw ra, 0x44(sp)                       |     ra = *(var_44h);
    0x0044da50 addiu v0, zero, 1                     |     v0 = 1;
    0x0044da54 lw s7, 0x40(sp)                       |     s7 = *(var_40h);
    0x0044da58 lw s6, 0x3c(sp)                       |     s6 = *(var_3ch);
    0x0044da5c lw s5, 0x38(sp)                       |     s5 = *(var_38h);
    0x0044da60 lw s4, 0x34(sp)                       |     s4 = *(var_34h);
    0x0044da64 lw s3, 0x30(sp)                       |     s3 = *(var_30h);
    0x0044da68 lw s2, 0x2c(sp)                       |     s2 = *(var_2ch);
    0x0044da6c lw s1, 0x28(sp)                       |     s1 = *(var_28h);
    0x0044da70 lw s0, 0x24(sp)                       |     s0 = *(var_24h);
    0x0044da74 addiu sp, sp, 0x48                    |     
    0x0044da78 jr ra                                 |     return v0;
                                                     | label_4:
    0x0044da7c lw t9, -0x6fcc(gp)                    |     t9 = sym.imp.BIO_puts;
    0x0044da80 move a1, s4                           |     a1 = s4;
    0x0044da84 jalr t9                               |     t9 ();
    0x0044da88 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0044da8c b 0x44d9c4                            |     goto label_1;
                                                     | label_3:
    0x0044da90 lw t9, -0x6fcc(gp)                    |     t9 = sym.imp.BIO_puts;
    0x0044da94 move a0, s1                           |     a0 = s1;
    0x0044da98 move a1, s6                           |     a1 = s6;
    0x0044da9c jalr t9                               |     t9 ();
    0x0044daa0 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0044daa4 b 0x44d9c4                            |     goto label_1;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d4a0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ssl_print_sigalgs ()         | void ssl_print_sigalgs () {
    0x0044d4a0 lui gp, 5                     |     
    0x0044d4a4 addiu gp, gp, -0x1000         |     
    0x0044d4a8 addu gp, gp, t9               |     gp += t9;
    0x0044d4ac addiu sp, sp, -0x60           |     
    0x0044d4b0 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x0044d4b4 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x0044d4b8 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x0044d4bc sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x0044d4c0 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x0044d4c4 sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x0044d4c8 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x0044d4cc sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x0044d4d0 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x0044d4d4 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x0044d4d8 move s1, a0                   |     s1 = a0;
    0x0044d4dc lw t9, -0x7940(gp)            |     t9 = sym.imp.SSL_is_server;
    0x0044d4e0 move a0, a1                   |     a0 = a1;
    0x0044d4e4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0044d4e8 move s2, a1                   |     s2 = a1;
    0x0044d4ec jalr t9                       |     t9 ();
    0x0044d4f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0044d4f4 beqz v0, 0x44d778             |         goto label_7;
                                             |     }
    0x0044d4f8 addiu s4, sp, 0x28            |     s4 = sp + 0x28;
                                             | label_3:
    0x0044d4fc lw t9, -0x7df4(gp)            |     t9 = *((gp - 8061));
    0x0044d500 move a1, s2                   |     a1 = s2;
    0x0044d504 addiu t9, t9, -0x3468         |     t9 += -0x3468;
    0x0044d508 move a0, s1                   |     a0 = s1;
    0x0044d50c jalr t9                       |     t9 ();
    0x0044d510 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044d514 lw t9, -0x7940(gp)            |     t9 = sym.imp.SSL_is_server;
    0x0044d518 move a0, s2                   |     a0 = s2;
    0x0044d51c jalr t9                       |     t9 ();
    0x0044d520 move a0, s2                   |     a0 = s2;
    0x0044d524 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044d528 addiu a1, zero, -1            |     a1 = -1;
    0x0044d52c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0044d530 move a2, zero                 |     a2 = 0;
    0x0044d534 lw t9, -0x782c(gp)            |     t9 = sym.imp.SSL_get_shared_sigalgs;
    0x0044d538 move a3, zero                 |     a3 = 0;
    0x0044d53c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0044d540 move s0, v0                   |     s0 = v0;
    0x0044d544 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x0044d548 jalr t9                       |     t9 ();
    0x0044d54c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044d550 move s3, v0                   |     s3 = v0;
                                             |     if (v0 == 0) {
    0x0044d554 beqz v0, 0x44d6c4             |         goto label_8;
                                             |     }
    0x0044d558 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d55c move a0, s1                   |     a0 = s1;
    0x0044d560 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Shared_ */
    0x0044d564 addiu a1, a1, -0x4400         |     a1 += -0x4400;
    0x0044d568 jalr t9                       |     t9 ();
    0x0044d56c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s0 == 0) {
    0x0044d570 beqz s0, 0x44d7fc             |         goto label_9;
                                             |     }
                                             | label_4:
    0x0044d574 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d578 move a0, s1                   |     a0 = s1;
    0x0044d57c lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Signature_Algorithms:_ */
    0x0044d580 addiu a1, a1, -0x461c         |     a1 += -0x461c;
    0x0044d584 jalr t9                       |     t9 ();
    0x0044d588 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s3 <= 0) {
    0x0044d58c blez s3, 0x44d6ac             |         goto label_10;
                                             |     }
    0x0044d590 lw t9, -0x782c(gp)            |     t9 = sym.imp.SSL_get_shared_sigalgs;
    0x0044d594 addiu s5, sp, 0x2c            |     s5 = sp + 0x2c;
    0x0044d598 addiu s7, sp, 0x30            |     s7 = sp + 0x30;
    0x0044d59c addiu s6, sp, 0x34            |     s6 = sp + 0x34;
    0x0044d5a0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0044d5a4 move a0, s2                   |     a0 = s2;
    0x0044d5a8 sw s7, 0x14(sp)               |     *(var_14h) = s7;
    0x0044d5ac move a1, zero                 |     a1 = 0;
    0x0044d5b0 sw s6, 0x18(sp)               |     *(var_18h) = s6;
    0x0044d5b4 move a2, s4                   |     a2 = s4;
    0x0044d5b8 move a3, s5                   |     a3 = s5;
    0x0044d5bc move s0, zero                 |     s0 = 0;
    0x0044d5c0 jalr t9                       |     t9 ();
    0x0044d5c4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044d5c8 lw fp, -0x7f9c(gp)            |     fp = *(gp);
                                             |     /* esilref: '&s+' */
    0x0044d5cc addiu fp, fp, -0x45fc         |     fp += -0x45fc;
    0x0044d5d0 b 0x44d644                    |     
                                             |     while (a0 != 0) {
    0x0044d5d4 addiu s0, s0, 1               |         s0++;
    0x0044d5d8 jalr t9                       |         t9 ();
    0x0044d5dc move a0, s1                   |         a0 = s1;
    0x0044d5e0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044d5e4 move a2, v0                   |         a2 = v0;
    0x0044d5e8 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d5ec lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* esilref: '&s' */
    0x0044d5f0 addiu a1, a1, -0x4dcc         |         a1 += -0x4dcc;
    0x0044d5f4 jalr t9                       |         t9 ();
    0x0044d5f8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s0 == s3) {
    0x0044d5fc beq s0, s3, 0x44d6ac          |             goto label_10;
                                             |         }
                                             | label_0:
    0x0044d600 lw t9, -0x782c(gp)            |         t9 = sym.imp.SSL_get_shared_sigalgs;
    0x0044d604 move a0, s2                   |         a0 = s2;
    0x0044d608 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0044d60c move a1, s0                   |         a1 = s0;
    0x0044d610 sw s7, 0x14(sp)               |         *(var_14h) = s7;
    0x0044d614 move a2, s4                   |         a2 = s4;
    0x0044d618 sw s6, 0x18(sp)               |         *(var_18h) = s6;
    0x0044d61c move a3, s5                   |         a3 = s5;
    0x0044d620 jalr t9                       |         t9 ();
    0x0044d624 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s0 != 0) {
    0x0044d628 beqz s0, 0x44d644             |             
    0x0044d62c lw a1, -0x7fd8(gp)            |             a1 = *(gp);
    0x0044d630 move a0, s1                   |             a0 = s1;
    0x0044d634 lw t9, -0x6fcc(gp)            |             t9 = sym.imp.BIO_puts;
    0x0044d638 addiu a1, a1, -0x824          |             a1 += -0x824;
    0x0044d63c jalr t9                       |             t9 ();
    0x0044d640 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0044d644 lw t8, 0x28(sp)               |         t8 = *(var_28h);
    0x0044d648 addiu v0, zero, 6             |         v0 = 6;
    0x0044d64c addiu v0, zero, 0x74          |         v0 = 0x74;
                                             |         if (t8 == v0) {
    0x0044d650 beq t8, v0, 0x44d740          |             goto label_11;
                                             |         }
    0x0044d654 addiu v0, zero, 0x198         |         v0 = 0x198;
                                             |         if (t8 == v0) {
    0x0044d658 beq t8, v0, 0x44d760          |             goto label_12;
                                             |         }
    0x0044d65c move a0, s1                   |         a0 = s1;
                                             |         if (t8 == v0) {
    0x0044d660 beq t8, v0, 0x44d76c          |             goto label_13;
                                             |         }
    0x0044d664 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d668 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044d66c lbu a2, 0x30(sp)              |         a2 = *(var_30h);
                                             |         /* str.0x_02X */
    0x0044d670 addiu a1, a1, -0x4604         |         a1 += -0x4604;
    0x0044d674 jalr t9                       |         t9 ();
    0x0044d678 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_1:
    0x0044d67c lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x0044d680 lw t9, -0x6d2c(gp)            |         t9 = sym.imp.OBJ_nid2sn;
    0x0044d684 bnez a0, 0x44d5d4             |         
                                             |     }
    0x0044d688 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044d68c move a0, s1                   |     a0 = s1;
    0x0044d690 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044d694 addiu s0, s0, 1               |     s0++;
    0x0044d698 lbu a2, 0x34(sp)              |     a2 = *(var_34h);
                                             |     /* esilref: '0x&X' */
    0x0044d69c addiu a1, a1, 0x3404          |     a1 += 0x3404;
    0x0044d6a0 jalr t9                       |     t9 ();
    0x0044d6a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s0 != s3) {
    0x0044d6a8 bne s0, s3, 0x44d600          |         goto label_0;
                                             |     }
                                             | label_10:
    0x0044d6ac lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044d6b0 move a0, s1                   |     a0 = s1;
    0x0044d6b4 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044d6b8 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044d6bc jalr t9                       |     t9 ();
    0x0044d6c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_8:
    0x0044d6c4 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044d6c8 move a0, s2                   |     a0 = s2;
    0x0044d6cc addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x0044d6d0 move a2, zero                 |     a2 = 0;
    0x0044d6d4 move a3, s4                   |     a3 = s4;
    0x0044d6d8 jalr t9                       |     t9 ();
    0x0044d6dc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0044d6e0 beqz v0, 0x44d70c             |         
    0x0044d6e4 lw t9, -0x6d2c(gp)            |         t9 = sym.imp.OBJ_nid2sn;
    0x0044d6e8 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x0044d6ec jalr t9                       |         t9 ();
    0x0044d6f0 move a0, s1                   |         a0 = s1;
    0x0044d6f4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044d6f8 move a2, v0                   |         a2 = v0;
    0x0044d6fc lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d700 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.Peer_signing_digest:__s_n */
    0x0044d704 addiu a1, a1, -0x43f8         |         a1 += -0x43f8;
    0x0044d708 jalr t9                       |         t9 ();
                                             |     }
    0x0044d70c lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x0044d710 addiu v0, zero, 1             |     v0 = 1;
    0x0044d714 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x0044d718 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x0044d71c lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x0044d720 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0044d724 lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x0044d728 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x0044d72c lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x0044d730 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0044d734 lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x0044d738 addiu sp, sp, 0x60            |     
    0x0044d73c jr ra                         |     return v0;
                                             | label_11:
    0x0044d740 lw t8, -0x7f9c(gp)            |     t8 = *(gp);
                                             |     /* esilref: 'RSA' */
    0x0044d744 addiu a2, t8, -0x462c         |     a2 = t8 + -0x462c;
                                             |     do {
                                             | label_2:
    0x0044d748 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044d74c move a0, s1                   |         a0 = s1;
    0x0044d750 move a1, fp                   |         a1 = fp;
    0x0044d754 jalr t9                       |         t9 ();
    0x0044d758 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044d75c b 0x44d67c                    |         goto label_1;
                                             | label_12:
    0x0044d760 lw t8, -0x7f9c(gp)            |         t8 = *(gp);
                                             |         /* esilref: 'DSA' */
    0x0044d764 addiu a2, t8, -0x4630         |         a2 = t8 + -0x4630;
    0x0044d768 b 0x44d748                    |         
                                             |     } while (1);
                                             | label_13:
    0x0044d76c lw a2, -0x7f9c(gp)            |     a2 = *(gp);
                                             |     /* str.ECDSA */
    0x0044d770 addiu a2, a2, -0x4638         |     a2 += -0x4638;
    0x0044d774 b 0x44d748                    |     goto label_2;
                                             | label_7:
    0x0044d778 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044d77c addiu s4, sp, 0x28            |     s4 = sp + 0x28;
    0x0044d780 move a0, s2                   |     a0 = s2;
    0x0044d784 addiu a1, zero, 0x67          |     a1 = 0x67;
    0x0044d788 move a2, zero                 |     a2 = 0;
    0x0044d78c move a3, s4                   |     a3 = s4;
    0x0044d790 jalr t9                       |     t9 ();
    0x0044d794 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044d798 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x0044d79c beqz v0, 0x44d4fc             |         goto label_3;
                                             |     }
    0x0044d7a0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d7a4 move a0, s1                   |     a0 = s1;
    0x0044d7a8 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044d7ac move fp, zero                 |     fp = 0;
                                             |     /* str.Client_Certificate_Types:_ */
    0x0044d7b0 addiu a1, a1, -0x442c         |     a1 += -0x442c;
    0x0044d7b4 jalr t9                       |     t9 ();
    0x0044d7b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s0 <= 0) {
    0x0044d7bc blez s0, 0x44d85c             |         goto label_14;
                                             |     }
    0x0044d7c0 lw s5, -0x7f9c(gp)            |     s5 = *(gp);
    0x0044d7c4 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
    0x0044d7c8 addiu s5, s5, -0x3730         |     s5 += -0x3730;
                                             |     /* esilref: ', ' */
    0x0044d7cc addiu s3, s3, 0x63f0          |     s3 += 0x63f0;
    0x0044d7d0 lw v0, 0x28(sp)               |     v0 = *(var_28h);
                                             |     do {
    0x0044d7d4 addu v0, v0, fp               |         v0 += fp;
    0x0044d7d8 lbu s7, (v0)                  |         s7 = *(v0);
    0x0044d7dc sltiu v0, s7, 0x43            |         v0 = (s7 < 0x43) ? 1 : 0;
    0x0044d7e0 sll v0, s7, 2                 |         v0 = s7 << 2;
                                             |         if (v0 == 0) {
    0x0044d7e4 beqz v0, 0x44d8d8             |             goto label_15;
                                             |         }
    0x0044d7e8 addu v0, s5, v0               |         v0 = s5 + v0;
    0x0044d7ec lw v0, (v0)                   |         v0 = *(v0);
    0x0044d7f0 addu v0, v0, gp               |         v0 += gp;
    0x0044d7f4 jr v0                         |         v0 ();
    0x0044d7f8 nop                           |         
                                             | label_9:
    0x0044d7fc lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044d800 move a0, s1                   |         a0 = s1;
    0x0044d804 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         /* str.Requested_ */
    0x0044d808 addiu a1, a1, -0x4628         |         a1 += -0x4628;
    0x0044d80c jalr t9                       |         t9 ();
    0x0044d810 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0044d814 b 0x44d574                    |         goto label_4;
                                             | label_5:
    0x0044d820 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         if (fp != 0) {
    0x0044d824 beqz fp, 0x44d838             |             
    0x0044d828 move a0, s1                   |             a0 = s1;
    0x0044d82c move a1, s3                   |             a1 = s3;
    0x0044d830 jalr t9                       |             t9 ();
    0x0044d834 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0044d838 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.BIO_puts;
                                             |         if (s6 == 0) {
    0x0044d83c beqz s6, 0x44d8e0             |             goto label_16;
                                             |         }
    0x0044d840 move a0, s1                   |         a0 = s1;
    0x0044d844 move a1, s6                   |         a1 = s6;
    0x0044d848 jalr t9                       |         t9 ();
    0x0044d84c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_6:
    0x0044d850 addiu fp, fp, 1               |         fp++;
    0x0044d854 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0044d858 bne fp, s0, 0x44d7d4          |         
                                             |     } while (fp != s0);
                                             | label_14:
    0x0044d85c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044d860 move a0, s1                   |     a0 = s1;
    0x0044d864 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044d868 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044d86c jalr t9                       |     t9 ();
    0x0044d870 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044d874 b 0x44d4fc                    |     goto label_3;
                                             | label_15:
    0x0044d8d8 move s6, zero                 |     s6 = 0;
    0x0044d8dc b 0x44d820                    |     goto label_5;
                                             | label_16:
    0x0044d8e0 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d8e4 move a0, s1                   |     a0 = s1;
    0x0044d8e8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044d8ec move a2, s7                   |     a2 = s7;
                                             |     /* str.UNKNOWN___d__ */
    0x0044d8f0 addiu a1, a1, -0x4410         |     a1 += -0x4410;
    0x0044d8f4 jalr t9                       |     t9 ();
    0x0044d8f8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0044d8fc b 0x44d850                    |     goto label_6;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44de04 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ssl_print_tmp_key ()         | void ssl_print_tmp_key () {
    0x0044de04 lui gp, 5                     |     
    0x0044de08 addiu gp, gp, -0x1964         |     
    0x0044de0c addu gp, gp, t9               |     gp += t9;
    0x0044de10 addiu sp, sp, -0x30           |     
    0x0044de14 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0044de18 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0044de1c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0044de20 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0044de24 move a2, zero                 |     a2 = 0;
    0x0044de28 lw t9, -0x7a2c(gp)            |     t9 = sym.imp.SSL_ctrl;
    0x0044de2c move s0, a0                   |     s0 = a0;
    0x0044de30 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044de34 move a0, a1                   |     a0 = a1;
    0x0044de38 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x0044de3c addiu a1, zero, 0x6d          |     a1 = 0x6d;
    0x0044de40 jalr t9                       |     t9 ();
    0x0044de44 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0044de48 bnez v0, 0x44de68             |         
    0x0044de4c lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x0044de50 addiu v0, zero, 1             |         v0 = 1;
    0x0044de54 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0044de58 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0044de5c lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0044de60 addiu sp, sp, 0x30            |         
    0x0044de64 jr ra                         |         return v0;
                                             |     }
    0x0044de68 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044de6c move a0, s0                   |     a0 = s0;
    0x0044de70 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
                                             |     /* str.Server_Temp_Key:_ */
    0x0044de74 addiu a1, a1, -0x42fc         |     a1 += -0x42fc;
    0x0044de78 jalr t9                       |     t9 ();
    0x0044de7c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044de80 lw t9, -0x7660(gp)            |     t9 = sym.imp.EVP_PKEY_id;
    0x0044de84 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x0044de88 jalr t9                       |     t9 ();
    0x0044de8c addiu t8, zero, 0x1c          |     t8 = 0x1c;
    0x0044de90 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == t8) {
    0x0044de94 beq v0, t8, 0x44df94          |         goto label_2;
                                             |     }
    0x0044de98 addiu t8, zero, 0x198         |     t8 = 0x198;
    0x0044de9c addiu t8, zero, 6             |     t8 = 6;
                                             |     if (v0 == t8) {
    0x0044dea0 beq v0, t8, 0x44df00          |         goto label_3;
                                             |     }
    0x0044dea4 lw t9, -0x737c(gp)            |     t9 = sym.imp.EVP_PKEY_free;
                                             |     if (v0 != t8) {
    0x0044dea8 bne v0, t8, 0x44dedc          |         goto label_4;
                                             |     }
    0x0044deac lw t9, -0x7448(gp)            |     t9 = sym.imp.EVP_PKEY_bits;
    0x0044deb0 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x0044deb4 jalr t9                       |     t9 ();
    0x0044deb8 move a0, s0                   |     a0 = s0;
    0x0044debc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044dec0 move a2, v0                   |     a2 = v0;
    0x0044dec4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044dec8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.RSA___d_bits_n */
    0x0044decc addiu a1, a1, -0x42e8         |     a1 += -0x42e8;
    0x0044ded0 jalr t9                       |     t9 ();
    0x0044ded4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     do {
                                             | label_0:
    0x0044ded8 lw t9, -0x737c(gp)            |         t9 = sym.imp.EVP_PKEY_free;
                                             | label_4:
    0x0044dedc lw a0, 0x18(sp)               |         a0 = *(var_18h);
    0x0044dee0 jalr t9                       |         t9 ();
    0x0044dee4 addiu v0, zero, 1             |         v0 = 1;
    0x0044dee8 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x0044deec lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0044def0 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0044def4 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0044def8 addiu sp, sp, 0x30            |         
    0x0044defc jr ra                         |         return v0;
                                             | label_3:
    0x0044df00 lw t9, -0x6cb8(gp)            |         t9 = sym.imp.EVP_PKEY_get1_EC_KEY;
    0x0044df04 lw a0, 0x18(sp)               |         a0 = *(var_18h);
    0x0044df08 jalr t9                       |         t9 ();
    0x0044df0c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044df10 move a0, v0                   |         a0 = v0;
    0x0044df14 lw t9, -0x7bc0(gp)            |         t9 = sym.imp.EC_KEY_get0_group;
    0x0044df18 move s1, v0                   |         s1 = v0;
    0x0044df1c jalr t9                       |         t9 ();
    0x0044df20 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044df24 lw t9, -0x7308(gp)            |         t9 = sym.imp.EC_GROUP_get_curve_name;
    0x0044df28 move a0, v0                   |         a0 = v0;
    0x0044df2c jalr t9                       |         t9 ();
    0x0044df30 move a0, s1                   |         a0 = s1;
    0x0044df34 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044df38 lw t9, -0x7754(gp)            |         t9 = sym.imp.EC_KEY_free;
    0x0044df3c move s2, v0                   |         s2 = v0;
    0x0044df40 jalr t9                       |         t9 ();
    0x0044df44 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044df48 lw t9, -0x6d10(gp)            |         t9 = sym.imp.EC_curve_nid2nist;
    0x0044df4c move a0, s2                   |         a0 = s2;
    0x0044df50 jalr t9                       |         t9 ();
    0x0044df54 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044df58 move s1, v0                   |         s1 = v0;
                                             |         if (v0 == 0) {
    0x0044df5c beqz v0, 0x44dfc4             |             goto label_5;
                                             |         }
                                             | label_1:
    0x0044df60 lw t9, -0x7448(gp)            |         t9 = sym.imp.EVP_PKEY_bits;
    0x0044df64 lw a0, 0x18(sp)               |         a0 = *(var_18h);
    0x0044df68 jalr t9                       |         t9 ();
    0x0044df6c move a0, s0                   |         a0 = s0;
    0x0044df70 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044df74 move a2, s1                   |         a2 = s1;
    0x0044df78 move a3, v0                   |         a3 = v0;
    0x0044df7c lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044df80 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.ECDH___s___d_bits_n */
    0x0044df84 addiu a1, a1, -0x42c8         |         a1 += -0x42c8;
    0x0044df88 jalr t9                       |         t9 ();
    0x0044df8c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044df90 b 0x44ded8                    |         
                                             |     } while (1);
                                             | label_2:
    0x0044df94 lw t9, -0x7448(gp)            |     t9 = sym.imp.EVP_PKEY_bits;
    0x0044df98 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x0044df9c jalr t9                       |     t9 ();
    0x0044dfa0 move a0, s0                   |     a0 = s0;
    0x0044dfa4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044dfa8 move a2, v0                   |     a2 = v0;
    0x0044dfac lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044dfb0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
                                             |     /* str.DH___d_bits_n */
    0x0044dfb4 addiu a1, a1, -0x42d8         |     a1 += -0x42d8;
    0x0044dfb8 jalr t9                       |     t9 ();
    0x0044dfbc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044dfc0 b 0x44ded8                    |     goto label_0;
                                             | label_5:
    0x0044dfc4 lw t9, -0x6d2c(gp)            |     t9 = sym.imp.OBJ_nid2sn;
    0x0044dfc8 move a0, s2                   |     a0 = s2;
    0x0044dfcc jalr t9                       |     t9 ();
    0x0044dfd0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044dfd4 move s1, v0                   |     s1 = v0;
    0x0044dfd8 b 0x44df60                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ea80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.tlsext_cb ()                 | void tlsext_cb () {
    0x0044ea80 lui gp, 5                     |     
    0x0044ea84 addiu gp, gp, -0x25e0         |     
    0x0044ea88 addu gp, gp, t9               |     gp += t9;
    0x0044ea8c addiu sp, sp, -0x30           |     
    0x0044ea90 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0044ea94 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0044ea98 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0044ea9c sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0044eaa0 addiu v0, zero, 0xa           |     v0 = 0xa;
    0x0044eaa4 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0044eaa8 move t8, a2                   |     t8 = a2;
    0x0044eaac lw s1, 0x40(sp)               |     s1 = *(arg_40h);
    0x0044eab0 move s2, a3                   |     s2 = a3;
    0x0044eab4 lw s0, 0x44(sp)               |     s0 = *(arg_44h);
                                             |     if (a2 == v0) {
    0x0044eab8 beq a2, v0, 0x44eca4          |         goto label_2;
                                             |     }
    0x0044eabc slti v0, a2, 0xb              |     v0 = (a2 < 0xb) ? 1 : 0;
    0x0044eac0 addiu v0, zero, 4             |     v0 = 4;
                                             |     if (v0 == 0) {
    0x0044eac4 beqz v0, 0x44eb74             |         goto label_3;
                                             |     }
    0x0044eac8 slti v0, a2, 5                |     v0 = (a2 < 5) ? 1 : 0;
                                             |     if (a2 == v0) {
    0x0044eacc beq a2, v0, 0x44ecb0          |         goto label_4;
                                             |     }
    0x0044ead0 addiu v0, zero, 7             |     v0 = 7;
                                             |     if (v0 != 0) {
    0x0044ead4 bnez v0, 0x44ebc0             |         goto label_5;
                                             |     }
    0x0044ead8 slti v0, a2, 8                |     v0 = (a2 < 8) ? 1 : 0;
                                             |     if (a2 == v0) {
    0x0044eadc beq a2, v0, 0x44ec80          |         goto label_6;
                                             |     }
    0x0044eae0 addiu v0, zero, 5             |     v0 = 5;
                                             |     if (v0 == 0) {
    0x0044eae4 beqz v0, 0x44ec40             |         goto label_7;
                                             |     }
    0x0044eae8 addiu v0, zero, 6             |     v0 = 6;
                                             |     if (a2 == v0) {
    0x0044eaec beq a2, v0, 0x44ecc8          |         goto label_8;
                                             |     }
    0x0044eaf0 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
                                             |     if (a2 != v0) {
    0x0044eaf4 bne a2, v0, 0x44ec90          |         goto label_9;
                                             |     }
    0x0044eaf8 lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* str.user_mapping */
    0x0044eafc addiu a3, a3, -0x3c24         |     a3 += -0x3c24;
                                             |     if (a1 != 0) {
                                             | label_1:
    0x0044eb00 bnez a1, 0x44ebb4             |         goto label_10;
                                             |     }
    0x0044eb04 nop                           |     
                                             |     do {
    0x0044eb08 lw a2, -0x7f9c(gp)            |         a2 = *(gp);
                                             |         /* str.client */
    0x0044eb0c addiu a2, a2, -0x3b20         |         a2 += -0x3b20;
                                             | label_0:
    0x0044eb10 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044eb14 move a0, s0                   |         a0 = s0;
    0x0044eb18 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0044eb1c sw t8, 0x10(sp)               |         *(var_10h) = t8;
                                             |         /* str.TLS__s_extension___s___id_d___len_d_n */
    0x0044eb20 addiu a1, a1, -0x3b18         |         a1 += -0x3b18;
    0x0044eb24 sw s1, 0x14(sp)               |         *(var_14h) = s1;
    0x0044eb28 jalr t9                       |         t9 ();
    0x0044eb2c move a0, s0                   |         a0 = s0;
    0x0044eb30 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044eb34 move a1, s2                   |         a1 = s2;
    0x0044eb38 lw t9, -0x6dec(gp)            |         t9 = sym.imp.BIO_dump;
    0x0044eb3c move a2, s1                   |         a2 = s1;
    0x0044eb40 jalr t9                       |         t9 ();
    0x0044eb44 move a0, s0                   |         a0 = s0;
    0x0044eb48 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0044eb4c addiu a1, zero, 0xb           |         a1 = 0xb;
    0x0044eb50 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x0044eb54 move a2, zero                 |         a2 = 0;
    0x0044eb58 lw t9, -0x7a60(gp)            |         t9 = sym.imp.BIO_ctrl;
    0x0044eb5c move a3, zero                 |         a3 = 0;
    0x0044eb60 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0044eb64 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0044eb68 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0044eb6c addiu sp, sp, 0x30            |         
    0x0044eb70 jr t9                         |         t9 ();
                                             | label_3:
    0x0044eb74 addiu v0, zero, 0xf           |         v0 = 0xf;
    0x0044eb78 slti v0, a2, 0x10             |         v0 = (a2 < 0x10) ? 1 : 0;
                                             |         if (a2 == v0) {
    0x0044eb7c beq a2, v0, 0x44ecbc          |             goto label_11;
                                             |         }
    0x0044eb80 addiu v0, zero, 0x23          |         v0 = 0x23;
                                             |         if (v0 != 0) {
    0x0044eb84 bnez v0, 0x44ebf0             |             goto label_12;
                                             |         }
    0x0044eb88 slti v0, a2, 0x24             |         v0 = (a2 < 0x24) ? 1 : 0;
                                             |         if (a2 == v0) {
    0x0044eb8c beq a2, v0, 0x44ec74          |             goto label_13;
                                             |         }
    0x0044eb90 addiu v0, zero, 0x10          |         v0 = 0x10;
                                             |         if (v0 == 0) {
    0x0044eb94 beqz v0, 0x44ec20             |             goto label_14;
                                             |         }
    0x0044eb98 addiu v0, zero, 0x15          |         v0 = 0x15;
                                             |         if (a2 == v0) {
    0x0044eb9c beq a2, v0, 0x44ec98          |             goto label_15;
                                             |         }
                                             |         if (a2 != v0) {
    0x0044eba0 bne a2, v0, 0x44ec8c          |             goto label_16;
                                             |         }
    0x0044eba4 nop                           |         
    0x0044eba8 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.TLS_padding */
    0x0044ebac addiu a3, a3, -0x3b34         |         a3 += -0x3b34;
    0x0044ebb0 beqz a1, 0x44eb08             |         
                                             |     } while (a1 == 0);
                                             | label_10:
    0x0044ebb4 lw a2, -0x7f9c(gp)            |     a2 = *(gp);
                                             |     /* str.server */
    0x0044ebb8 addiu a2, a2, -0x3b28         |     a2 += -0x3b28;
    0x0044ebbc b 0x44eb10                    |     goto label_0;
                                             | label_5:
    0x0044ebc0 addiu v0, zero, 1             |     v0 = 1;
    0x0044ebc4 slti v0, a2, 2                |     v0 = (a2 < 2) ? 1 : 0;
                                             |     if (a2 != v0) {
    0x0044ebc8 beq a2, v0, 0x44ecec          |         
    0x0044ebcc addiu v0, zero, 2             |         v0 = 2;
                                             |         if (v0 == 0) {
    0x0044ebd0 bnez v0, 0x44ec60             |             
    0x0044ebd4 addiu v0, zero, 3             |             v0 = 3;
                                             |             if (a2 == v0) {
    0x0044ebd8 beq a2, v0, 0x44ece0          |                 goto label_17;
                                             |             }
                                             |             if (a2 != v0) {
    0x0044ebdc bne a2, v0, 0x44ec8c          |                 goto label_16;
                                             |             }
    0x0044ebe0 nop                           |             
    0x0044ebe4 lw a3, -0x7f9c(gp)            |             a3 = *(gp);
                                             |             /* str.trusted_CA_keys */
    0x0044ebe8 addiu a3, a3, -0x3c54         |             a3 += -0x3c54;
    0x0044ebec b 0x44eb00                    |             goto label_1;
                                             | label_12:
    0x0044ebf0 addiu v0, zero, 0xc           |             v0 = 0xc;
    0x0044ebf4 slti v0, a2, 0xc              |             v0 = (a2 < 0xc) ? 1 : 0;
                                             |             if (a2 == v0) {
    0x0044ebf8 beq a2, v0, 0x44ed04          |                 goto label_18;
                                             |             }
    0x0044ebfc addiu v0, zero, 0xd           |             v0 = 0xd;
                                             |             if (v0 != 0) {
    0x0044ec00 bnez v0, 0x44ed1c             |                 goto label_19;
                                             |             }
    0x0044ec04 addiu v0, zero, 0xe           |             v0 = 0xe;
                                             |             if (a2 == v0) {
    0x0044ec08 beq a2, v0, 0x44ed10          |                 goto label_20;
                                             |             }
                                             |             if (a2 != v0) {
    0x0044ec0c bne a2, v0, 0x44ec8c          |                 goto label_16;
                                             |             }
    0x0044ec10 nop                           |             
    0x0044ec14 lw a3, -0x7f9c(gp)            |             a3 = *(gp);
                                             |             /* str.use_SRTP */
    0x0044ec18 addiu a3, a3, -0x3ba8         |             a3 += -0x3ba8;
    0x0044ec1c b 0x44eb00                    |             goto label_1;
                                             | label_14:
    0x0044ec20 addiu v0, zero, 0x3374        |             v0 = 0x3374;
    0x0044ec24 ori v0, zero, 0xff01          |             v0 = 0xff01;
                                             |             if (a2 == v0) {
    0x0044ec28 beq a2, v0, 0x44ecf8          |                 goto label_21;
                                             |             }
                                             |             if (a2 != v0) {
    0x0044ec2c bne a2, v0, 0x44ec8c          |                 goto label_16;
                                             |             }
    0x0044ec30 nop                           |             
    0x0044ec34 lw a3, -0x7f9c(gp)            |             a3 = *(gp);
                                             |             /* str.renegotiation_info */
    0x0044ec38 addiu a3, a3, -0x3b80         |             a3 += -0x3b80;
    0x0044ec3c b 0x44eb00                    |             goto label_1;
                                             | label_7:
    0x0044ec40 addiu v0, zero, 8             |             v0 = 8;
    0x0044ec44 addiu v0, zero, 9             |             v0 = 9;
                                             |             if (a2 == v0) {
    0x0044ec48 beq a2, v0, 0x44ecd4          |                 goto label_22;
                                             |             }
                                             |             if (a2 != v0) {
    0x0044ec4c bne a2, v0, 0x44ec8c          |                 goto label_16;
                                             |             }
    0x0044ec50 nop                           |             
    0x0044ec54 lw a3, -0x7f9c(gp)            |             a3 = *(gp);
                                             |             /* str.cert_type */
    0x0044ec58 addiu a3, a3, -0x3bf4         |             a3 += -0x3bf4;
    0x0044ec5c b 0x44eb00                    |             goto label_1;
                                             |         }
                                             |         if (a2 == 0) {
    0x0044ec60 bnez a2, 0x44ec8c             |             
    0x0044ec64 nop                           |             
    0x0044ec68 lw a3, -0x7f9c(gp)            |             a3 = *(gp);
                                             |             /* str.server_name */
    0x0044ec6c addiu a3, a3, -0x3c8c         |             a3 += -0x3c8c;
    0x0044ec70 b 0x44eb00                    |             goto label_1;
                                             | label_13:
    0x0044ec74 lw a3, -0x7f9c(gp)            |             a3 = *(gp);
                                             |             /* str.session_ticket */
    0x0044ec78 addiu a3, a3, -0x3b90         |             a3 += -0x3b90;
    0x0044ec7c b 0x44eb00                    |             goto label_1;
                                             | label_6:
    0x0044ec80 lw a3, -0x7f9c(gp)            |             a3 = *(gp);
                                             |             /* str.client_authz */
    0x0044ec84 addiu a3, a3, -0x3c14         |             a3 += -0x3c14;
    0x0044ec88 b 0x44eb00                    |             goto label_1;
                                             |         }
                                             | label_16:
    0x0044ec8c lw a3, -0x7fd8(gp)            |         a3 = *(gp);
                                             |         /* str.unknown */
                                             | label_9:
    0x0044ec90 addiu a3, a3, 0x34            |         a3 += 0x34;
    0x0044ec94 b 0x44eb00                    |         goto label_1;
                                             | label_15:
    0x0044ec98 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.application_layer_protocol_negotiation */
    0x0044ec9c addiu a3, a3, -0x3b5c         |         a3 += -0x3b5c;
    0x0044eca0 b 0x44eb00                    |         goto label_1;
                                             | label_2:
    0x0044eca4 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.elliptic_curves */
    0x0044eca8 addiu a3, a3, -0x3be8         |         a3 += -0x3be8;
    0x0044ecac b 0x44eb00                    |         goto label_1;
                                             | label_4:
    0x0044ecb0 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.truncated_HMAC */
    0x0044ecb4 addiu a3, a3, -0x3c44         |         a3 += -0x3c44;
    0x0044ecb8 b 0x44eb00                    |         goto label_1;
                                             | label_11:
    0x0044ecbc lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.heartbeat */
    0x0044ecc0 addiu a3, a3, -0x3b9c         |         a3 += -0x3b9c;
    0x0044ecc4 b 0x44eb00                    |         goto label_1;
                                             | label_8:
    0x0044ecc8 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.status_request */
    0x0044eccc addiu a3, a3, -0x3c34         |         a3 += -0x3c34;
    0x0044ecd0 b 0x44eb00                    |         goto label_1;
                                             | label_22:
    0x0044ecd4 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.server_authz */
    0x0044ecd8 addiu a3, a3, -0x3c04         |         a3 += -0x3c04;
    0x0044ecdc b 0x44eb00                    |         goto label_1;
                                             | label_17:
    0x0044ece0 lw a3, -0x7f9c(gp)            |         a3 = *(gp);
                                             |         /* str.client_certificate_URL */
    0x0044ece4 addiu a3, a3, -0x3c6c         |         a3 += -0x3c6c;
    0x0044ece8 b 0x44eb00                    |         goto label_1;
                                             |     }
    0x0044ecec lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* str.max_fragment_length */
    0x0044ecf0 addiu a3, a3, -0x3c80         |     a3 += -0x3c80;
    0x0044ecf4 b 0x44eb00                    |     goto label_1;
                                             | label_21:
    0x0044ecf8 lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* str.next_protocol */
    0x0044ecfc addiu a3, a3, -0x3b6c         |     a3 += -0x3b6c;
    0x0044ed00 b 0x44eb00                    |     goto label_1;
                                             | label_18:
    0x0044ed04 lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* esilref: 'SRP' */
    0x0044ed08 addiu a3, a3, -0x3bc4         |     a3 += -0x3bc4;
    0x0044ed0c b 0x44eb00                    |     goto label_1;
                                             | label_20:
    0x0044ed10 lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* str.signature_algorithms */
    0x0044ed14 addiu a3, a3, -0x3bc0         |     a3 += -0x3bc0;
    0x0044ed18 b 0x44eb00                    |     goto label_1;
                                             | label_19:
    0x0044ed1c lw a3, -0x7f9c(gp)            |     a3 = *(gp);
                                             |     /* str.EC_point_formats */
    0x0044ed20 addiu a3, a3, -0x3bd8         |     a3 += -0x3bd8;
    0x0044ed24 b 0x44eb00                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41dbb4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.unpack_revinfo ()            | void unpack_revinfo () {
    0x0041dbb4 lui gp, 8                     |     
    0x0041dbb8 addiu gp, gp, -0x1714         |     
    0x0041dbbc addu gp, gp, t9               |     gp += t9;
    0x0041dbc0 addiu sp, sp, -0x40           |     
    0x0041dbc4 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0041dbc8 sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x0041dbcc sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x0041dbd0 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0041dbd4 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0041dbd8 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0041dbdc sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0041dbe0 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0041dbe4 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0041dbe8 move s3, a0                   |     s3 = a0;
    0x0041dbec lw t9, -0x71d0(gp)            |     t9 = sym.imp.BUF_strdup;
    0x0041dbf0 move s5, a1                   |     s5 = a1;
    0x0041dbf4 lw a0, 0x50(sp)               |     a0 = *(arg_50h);
    0x0041dbf8 move s4, a2                   |     s4 = a2;
    0x0041dbfc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0041dc00 move s2, a3                   |     s2 = a3;
    0x0041dc04 jalr t9                       |     t9 ();
    0x0041dc08 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041dc0c move s1, v0                   |     s1 = v0;
                                             |     if (v0 == 0) {
    0x0041dc10 beqz v0, 0x41df10             |         goto label_8;
                                             |     }
    0x0041dc14 lw t9, -0x72ec(gp)            |     t9 = sym.imp.strchr;
    0x0041dc18 move a0, v0                   |     a0 = v0;
    0x0041dc1c addiu a1, zero, 0x2c          |     a1 = 0x2c;
    0x0041dc20 jalr t9                       |     t9 ();
    0x0041dc24 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dc28 beqz v0, 0x41dea4             |         goto label_9;
                                             |     }
    0x0041dc2c lw t9, -0x72ec(gp)            |     t9 = sym.imp.strchr;
    0x0041dc30 addiu s0, v0, 1               |     s0 = v0 + 1;
    0x0041dc34 addiu a1, zero, 0x2c          |     a1 = 0x2c;
    0x0041dc38 move a0, s0                   |     a0 = s0;
    0x0041dc3c sb zero, (v0)                 |     *(v0) = 0;
    0x0041dc40 jalr t9                       |     t9 ();
    0x0041dc44 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dc48 beqz v0, 0x41deb0             |         goto label_10;
                                             |     }
    0x0041dc4c sb zero, (v0)                 |     *(v0) = 0;
    0x0041dc50 addiu s6, v0, 1               |     s6 = v0 + 1;
                                             | label_1:
    0x0041dc54 lw t9, -0x7750(gp)            |     t9 = sym.imp.ASN1_UTCTIME_new;
                                             |     if (s3 != 0) {
    0x0041dc58 beqz s3, 0x41dc88             |         
    0x0041dc5c jalr t9                       |         t9 ();
    0x0041dc60 nop                           |         
    0x0041dc64 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0041dc68 sw v0, (s3)                   |         *(s3) = v0;
                                             |         if (v0 == 0) {
    0x0041dc6c beqz v0, 0x41dee4             |             goto label_11;
                                             |         }
    0x0041dc70 lw t9, -0x7988(gp)            |         t9 = sym.imp.ASN1_UTCTIME_set_string;
    0x0041dc74 move a0, v0                   |         a0 = v0;
    0x0041dc78 move a1, s1                   |         a1 = s1;
    0x0041dc7c jalr t9                       |         t9 ();
    0x0041dc80 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0041dc84 beqz v0, 0x41de38             |             goto label_12;
                                             |         }
                                             |     }
    0x0041dc88 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (s0 == 0) {
    0x0041dc8c beqz s0, 0x41deb8             |         goto label_13;
                                             |     }
    0x0041dc90 move a0, s0                   |     a0 = s0;
    0x0041dc94 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.unspecified */
    0x0041dc98 addiu a1, a1, -0x8c           |     a1 += -0x8c;
    0x0041dc9c jalr t9                       |     t9 ();
    0x0041dca0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dca4 beqz v0, 0x41dfc4             |         goto label_14;
                                             |     }
    0x0041dca8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dcac move a0, s0                   |     a0 = s0;
    0x0041dcb0 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.keyCompromise */
    0x0041dcb4 addiu a1, a1, -0x9c           |     a1 += -0x9c;
    0x0041dcb8 jalr t9                       |     t9 ();
    0x0041dcbc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dcc0 beqz v0, 0x41dfcc             |         goto label_15;
                                             |     }
    0x0041dcc4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dcc8 move a0, s0                   |     a0 = s0;
    0x0041dccc lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.CACompromise */
    0x0041dcd0 addiu a1, a1, -0xac           |     a1 += -0xac;
    0x0041dcd4 jalr t9                       |     t9 ();
    0x0041dcd8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dcdc beqz v0, 0x41dfd4             |         goto label_16;
                                             |     }
    0x0041dce0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dce4 move a0, s0                   |     a0 = s0;
    0x0041dce8 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.affiliationChanged */
    0x0041dcec addiu a1, a1, -0xc0           |     a1 += -0xc0;
    0x0041dcf0 jalr t9                       |     t9 ();
    0x0041dcf4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dcf8 beqz v0, 0x41df44             |         goto label_17;
                                             |     }
    0x0041dcfc lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dd00 move a0, s0                   |     a0 = s0;
    0x0041dd04 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.superseded */
    0x0041dd08 addiu a1, a1, -0xcc           |     a1 += -0xcc;
    0x0041dd0c jalr t9                       |     t9 ();
    0x0041dd10 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dd14 beqz v0, 0x41dfdc             |         goto label_18;
                                             |     }
    0x0041dd18 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dd1c move a0, s0                   |     a0 = s0;
    0x0041dd20 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.cessationOfOperation */
    0x0041dd24 addiu a1, a1, -0xe4           |     a1 += -0xe4;
    0x0041dd28 jalr t9                       |     t9 ();
    0x0041dd2c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dd30 beqz v0, 0x41dfe4             |         goto label_19;
                                             |     }
    0x0041dd34 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dd38 move a0, s0                   |     a0 = s0;
    0x0041dd3c lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.certificateHold */
    0x0041dd40 addiu a1, a1, -0xf4           |     a1 += -0xf4;
    0x0041dd44 jalr t9                       |     t9 ();
    0x0041dd48 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dd4c beqz v0, 0x41dfec             |         goto label_20;
                                             |     }
    0x0041dd50 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dd54 move a0, s0                   |     a0 = s0;
    0x0041dd58 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.removeFromCRL */
    0x0041dd5c addiu a1, a1, -0x80           |     a1 += -0x80;
    0x0041dd60 jalr t9                       |     t9 ();
    0x0041dd64 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dd68 beqz v0, 0x41dff4             |         goto label_21;
                                             |     }
    0x0041dd6c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dd70 move a0, s0                   |     a0 = s0;
    0x0041dd74 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.holdInstruction */
    0x0041dd78 addiu a1, a1, -0x10c          |     a1 += -0x10c;
    0x0041dd7c jalr t9                       |     t9 ();
    0x0041dd80 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dd84 beqz v0, 0x41e004             |         goto label_22;
                                             |     }
    0x0041dd88 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dd8c move a0, s0                   |     a0 = s0;
    0x0041dd90 lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.keyTime */
    0x0041dd94 addiu a1, a1, -0xfc           |     a1 += -0xfc;
    0x0041dd98 jalr t9                       |     t9 ();
    0x0041dd9c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041dda0 beqz v0, 0x41e040             |         goto label_23;
                                             |     }
    0x0041dda4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041dda8 move a0, s0                   |     a0 = s0;
    0x0041ddac lw t9, -0x7d78(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.CAkeyTime */
    0x0041ddb0 addiu a1, a1, -0x118          |     a1 += -0x118;
    0x0041ddb4 jalr t9                       |     t9 ();
    0x0041ddb8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0041ddbc beqz v0, 0x41e048             |         goto label_24;
                                             |     }
    0x0041ddc0 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041ddc4 move a2, s0                   |     a2 = s0;
    0x0041ddc8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041ddcc lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041ddd0 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.invalid_reason_code__s_n */
    0x0041ddd4 addiu a1, a1, 0x8ac           |     a1 += 0x8ac;
                                             |     do {
    0x0041ddd8 move s3, zero                 |         s3 = 0;
    0x0041dddc jalr t9                       |         t9 ();
    0x0041dde0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0041dde4 move s7, zero                 |         s7 = 0;
    0x0041dde8 move s0, zero                 |         s0 = 0;
                                             | label_2:
    0x0041ddec lw t9, -0x7ce8(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x0041ddf0 move a0, s1                   |         a0 = s1;
    0x0041ddf4 jalr t9                       |         t9 ();
    0x0041ddf8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (s4 == 0) {
    0x0041ddfc beqz s4, 0x41de54             |             goto label_25;
                                             |         }
                                             | label_3:
    0x0041de00 lw t9, -0x7b3c(gp)            |         t9 = sym.imp.ASN1_GENERALIZEDTIME_free;
                                             |         if (s2 == 0) {
    0x0041de04 beqz s2, 0x41de6c             |             goto label_26;
                                             |         }
                                             | label_0:
    0x0041de08 move v0, s0                   |         v0 = s0;
    0x0041de0c lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0041de10 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x0041de14 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x0041de18 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0041de1c lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x0041de20 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0041de24 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0041de28 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0041de2c lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0041de30 addiu sp, sp, 0x40            |         
    0x0041de34 jr ra                         |         return v0;
                                             | label_12:
    0x0041de38 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
    0x0041de3c move a2, s1                   |         a2 = s1;
    0x0041de40 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x0041de44 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
    0x0041de48 lw a0, (t8)                   |         a0 = *(t8);
                                             |         /* str.invalid_revocation_date__s_n */
    0x0041de4c addiu a1, a1, 0x890           |         a1 += 0x890;
    0x0041de50 b 0x41ddd8                    |         
                                             |     } while (1);
                                             | label_25:
    0x0041de54 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
                                             | label_4:
    0x0041de58 move a0, s7                   |     a0 = s7;
    0x0041de5c jalr t9                       |     t9 ();
    0x0041de60 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s2 != 0) {
    0x0041de64 bnez s2, 0x41de08             |         goto label_0;
                                             |     }
    0x0041de68 lw t9, -0x7b3c(gp)            |     t9 = sym.imp.ASN1_GENERALIZEDTIME_free;
                                             | label_26:
    0x0041de6c move a0, s3                   |     a0 = s3;
    0x0041de70 jalr t9                       |     t9 ();
    0x0041de74 move v0, s0                   |     v0 = s0;
    0x0041de78 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x0041de7c lw s7, 0x38(sp)               |     s7 = *(var_38h);
    0x0041de80 lw s6, 0x34(sp)               |     s6 = *(var_34h);
    0x0041de84 lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x0041de88 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x0041de8c lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0041de90 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0041de94 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0041de98 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0041de9c addiu sp, sp, 0x40            |     
    0x0041dea0 jr ra                         |     return v0;
                                             | label_9:
    0x0041dea4 move s6, zero                 |     s6 = 0;
    0x0041dea8 move s0, zero                 |     s0 = 0;
    0x0041deac b 0x41dc54                    |     goto label_1;
                                             | label_10:
    0x0041deb0 move s6, zero                 |     s6 = 0;
    0x0041deb4 b 0x41dc54                    |     goto label_1;
                                             | label_13:
    0x0041deb8 move s3, zero                 |     s3 = 0;
    0x0041debc move s7, zero                 |     s7 = 0;
    0x0041dec0 addiu s0, zero, -1            |     s0 = -1;
                                             |     if (s5 != 0) {
                                             | label_5:
    0x0041dec4 beqz s5, 0x41ded0             |         
    0x0041dec8 nop                           |         
    0x0041decc sw s0, (s5)                   |         *(s5) = s0;
                                             |     }
    0x0041ded0 lw t9, -0x7b3c(gp)            |     t9 = sym.imp.ASN1_GENERALIZEDTIME_free;
                                             |     if (s2 == 0) {
    0x0041ded4 beqz s2, 0x41dfb0             |         goto label_27;
                                             |     }
    0x0041ded8 sw s3, (s2)                   |     *(s2) = s3;
    0x0041dedc addiu s0, zero, 1             |     s0 = 1;
    0x0041dee0 b 0x41ddec                    |     goto label_2;
                                             | label_11:
    0x0041dee4 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041dee8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041deec lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041def0 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.memory_allocation_failure_n */
    0x0041def4 addiu a1, a1, 0x874           |     a1 += 0x874;
                                             | label_7:
    0x0041def8 move s3, zero                 |     s3 = 0;
    0x0041defc jalr t9                       |     t9 ();
    0x0041df00 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041df04 move s7, zero                 |     s7 = 0;
    0x0041df08 move s0, zero                 |     s0 = 0;
    0x0041df0c b 0x41ddec                    |     goto label_2;
                                             | label_8:
    0x0041df10 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041df14 move s3, zero                 |     s3 = 0;
    0x0041df18 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041df1c move s7, zero                 |     s7 = 0;
    0x0041df20 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041df24 move s0, zero                 |     s0 = 0;
    0x0041df28 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.memory_allocation_failure_n */
    0x0041df2c addiu a1, a1, 0x874           |     a1 += 0x874;
    0x0041df30 jalr t9                       |     t9 ();
    0x0041df34 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s4 != 0) {
    0x0041df38 bnez s4, 0x41de00             |         goto label_3;
                                             |     }
    0x0041df3c lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x0041df40 b 0x41de58                    |     goto label_4;
                                             | label_17:
    0x0041df44 addiu s0, zero, 3             |     s0 = 3;
                                             |     do {
                                             | label_6:
    0x0041df48 addiu t8, s0, -9              |         t8 = s0 + -9;
    0x0041df4c sltiu t8, t8, 2               |         t8 = (t8 < 2) ? 1 : 0;
    0x0041df50 move s3, zero                 |         s3 = 0;
                                             |         if (t8 == 0) {
    0x0041df54 bnez t8, 0x41df60             |             
    0x0041df58 move s7, zero                 |             s7 = 0;
    0x0041df5c b 0x41dec4                    |             goto label_5;
                                             |         }
    0x0041df60 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
                                             |         if (s6 == 0) {
    0x0041df64 beqz s6, 0x41e09c             |             goto label_28;
                                             |         }
    0x0041df68 lw t9, -0x75a4(gp)            |         t9 = sym.imp.ASN1_GENERALIZEDTIME_new;
    0x0041df6c jalr t9                       |         t9 ();
    0x0041df70 nop                           |         
    0x0041df74 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0041df78 move s3, v0                   |         s3 = v0;
                                             |         if (v0 == 0) {
    0x0041df7c beqz v0, 0x41e0b0             |             goto label_29;
                                             |         }
    0x0041df80 lw t9, -0x7758(gp)            |         t9 = sym.imp.ASN1_GENERALIZEDTIME_set_string;
    0x0041df84 move a0, v0                   |         a0 = v0;
    0x0041df88 move a1, s6                   |         a1 = s6;
    0x0041df8c jalr t9                       |         t9 ();
    0x0041df90 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0041df94 beqz v0, 0x41e064             |             goto label_30;
                                             |         }
    0x0041df98 xori v0, s0, 9                |         v0 = s0 ^ 9;
    0x0041df9c addiu t8, zero, 2             |         t8 = 2;
    0x0041dfa0 addiu s0, zero, 1             |         s0 = 1;
    0x0041dfa4 move s7, zero                 |         s7 = 0;
                                             |         if (v0 == 0) {
    0x0041dfa8 movn s0, t8, v0               |             s0 = t8;
                                             |         }
    0x0041dfac b 0x41dec4                    |         goto label_5;
                                             | label_27:
    0x0041dfb0 move a0, s3                   |         a0 = s3;
    0x0041dfb4 addiu s0, zero, 1             |         s0 = 1;
    0x0041dfb8 jalr t9                       |         t9 ();
    0x0041dfbc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0041dfc0 b 0x41ddec                    |         goto label_2;
                                             | label_14:
    0x0041dfc4 move s0, zero                 |         s0 = 0;
    0x0041dfc8 b 0x41df48                    |         
                                             |     } while (1);
                                             | label_15:
    0x0041dfcc addiu s0, zero, 1             |     s0 = 1;
    0x0041dfd0 b 0x41df48                    |     goto label_6;
                                             | label_16:
    0x0041dfd4 addiu s0, zero, 2             |     s0 = 2;
    0x0041dfd8 b 0x41df48                    |     goto label_6;
                                             | label_18:
    0x0041dfdc addiu s0, zero, 4             |     s0 = 4;
    0x0041dfe0 b 0x41df48                    |     goto label_6;
                                             | label_19:
    0x0041dfe4 addiu s0, zero, 5             |     s0 = 5;
    0x0041dfe8 b 0x41df48                    |     goto label_6;
                                             | label_20:
    0x0041dfec addiu s0, zero, 6             |     s0 = 6;
    0x0041dff0 b 0x41df48                    |     goto label_6;
                                             | label_21:
    0x0041dff4 move s3, zero                 |     s3 = 0;
    0x0041dff8 move s7, zero                 |     s7 = 0;
    0x0041dffc addiu s0, zero, 8             |     s0 = 8;
    0x0041e000 b 0x41dec4                    |     goto label_5;
                                             | label_22:
    0x0041e004 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     if (s6 != 0) {
    0x0041e008 beqz s6, 0x41e050             |         
    0x0041e00c lw t9, -0x7ca4(gp)            |         t9 = sym.imp.OBJ_txt2obj;
    0x0041e010 move a0, s6                   |         a0 = s6;
    0x0041e014 move a1, zero                 |         a1 = 0;
    0x0041e018 jalr t9                       |         t9 ();
    0x0041e01c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0041e020 move s7, v0                   |         s7 = v0;
                                             |         if (v0 == 0) {
    0x0041e024 beqz v0, 0x41e0d8             |             goto label_31;
                                             |         }
                                             |         if (s4 == 0) {
    0x0041e028 beqz s4, 0x41e090             |             goto label_32;
                                             |         }
    0x0041e02c nop                           |         
    0x0041e030 sw v0, (s4)                   |         *(s4) = v0;
    0x0041e034 move s3, zero                 |         s3 = 0;
    0x0041e038 addiu s0, zero, 6             |         s0 = 6;
    0x0041e03c b 0x41dec4                    |         goto label_5;
                                             | label_23:
    0x0041e040 addiu s0, zero, 9             |         s0 = 9;
    0x0041e044 b 0x41df48                    |         goto label_6;
                                             | label_24:
    0x0041e048 addiu s0, zero, 0xa           |         s0 = 0xa;
    0x0041e04c b 0x41df48                    |         goto label_6;
                                             |     }
    0x0041e050 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041e054 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041e058 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.missing_hold_instruction_n */
    0x0041e05c addiu a1, a1, 0x8c4           |     a1 += 0x8c4;
    0x0041e060 b 0x41def8                    |     goto label_7;
                                             | label_30:
    0x0041e064 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041e068 move a2, s6                   |     a2 = s6;
    0x0041e06c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041e070 move s7, zero                 |     s7 = 0;
    0x0041e074 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041e078 move s0, zero                 |     s0 = 0;
    0x0041e07c lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.invalid_compromised_time__s_n */
    0x0041e080 addiu a1, a1, 0x91c           |     a1 += 0x91c;
    0x0041e084 jalr t9                       |     t9 ();
    0x0041e088 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041e08c b 0x41ddec                    |     goto label_2;
                                             | label_32:
    0x0041e090 move s3, zero                 |     s3 = 0;
    0x0041e094 addiu s0, zero, 6             |     s0 = 6;
    0x0041e098 b 0x41dec4                    |     goto label_5;
                                             | label_28:
    0x0041e09c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041e0a0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041e0a4 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.missing_compromised_time_n */
    0x0041e0a8 addiu a1, a1, 0x900           |     a1 += 0x900;
    0x0041e0ac b 0x41def8                    |     goto label_7;
                                             | label_29:
    0x0041e0b0 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041e0b4 move s7, zero                 |     s7 = 0;
    0x0041e0b8 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041e0bc move s0, zero                 |     s0 = 0;
    0x0041e0c0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041e0c4 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.memory_allocation_failure_n */
    0x0041e0c8 addiu a1, a1, 0x874           |     a1 += 0x874;
    0x0041e0cc jalr t9                       |     t9 ();
    0x0041e0d0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041e0d4 b 0x41ddec                    |     goto label_2;
                                             | label_31:
    0x0041e0d8 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0041e0dc move a2, s6                   |     a2 = s6;
    0x0041e0e0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0041e0e4 move s3, zero                 |     s3 = 0;
    0x0041e0e8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0041e0ec move s0, zero                 |     s0 = 0;
    0x0041e0f0 lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.invalid_object_identifier__s_n */
    0x0041e0f4 addiu a1, a1, 0x8e0           |     a1 += 0x8e0;
    0x0041e0f8 jalr t9                       |     t9 ();
    0x0041e0fc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0041e100 b 0x41ddec                    |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ce04 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.verify_callback ()           | void verify_callback () {
    0x0044ce04 lui gp, 5                     |     
    0x0044ce08 addiu gp, gp, -0x964          |     
    0x0044ce0c addu gp, gp, t9               |     gp += t9;
    0x0044ce10 addiu sp, sp, -0x40           |     
    0x0044ce14 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0044ce18 sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x0044ce1c sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x0044ce20 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0044ce24 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0044ce28 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0044ce2c sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0044ce30 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0044ce34 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0044ce38 move s0, a0                   |     s0 = a0;
    0x0044ce3c lw t9, -0x73f4(gp)            |     t9 = sym.imp.X509_STORE_CTX_get_current_cert;
    0x0044ce40 move a0, a1                   |     a0 = a1;
    0x0044ce44 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0044ce48 lw s3, -0x7e9c(gp)            |     s3 = *(gp);
    0x0044ce4c move s1, a1                   |     s1 = a1;
    0x0044ce50 jalr t9                       |     t9 ();
    0x0044ce54 move a0, s1                   |     a0 = s1;
    0x0044ce58 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ce5c lw t9, -0x74ec(gp)            |     t9 = sym.imp.X509_STORE_CTX_get_error;
    0x0044ce60 move s4, v0                   |     s4 = v0;
    0x0044ce64 jalr t9                       |     t9 ();
    0x0044ce68 move a0, s1                   |     a0 = s1;
    0x0044ce6c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ce70 lw t9, -0x75f0(gp)            |     t9 = sym.imp.X509_STORE_CTX_get_error_depth;
    0x0044ce74 move s2, v0                   |     s2 = v0;
    0x0044ce78 jalr t9                       |     t9 ();
    0x0044ce7c lw t8, (s3)                   |     t8 = *(s3);
    0x0044ce80 move s6, v0                   |     s6 = v0;
    0x0044ce84 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (t8 != 0) {
    0x0044ce88 beqz t8, 0x44ce94             |         
    0x0044ce8c sltiu t8, s2, 0x2c            |         t8 = (s2 < 0x2c) ? 1 : 0;
                                             |         if (s0 != 0) {
    0x0044ce90 bnez s0, 0x44cf0c             |             goto label_3;
                                             |         }
                                             |     }
    0x0044ce94 lw s5, -0x7fd4(gp)            |     s5 = *(gp);
    0x0044ce98 move a2, s6                   |     a2 = s6;
    0x0044ce9c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044cea0 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044cea4 lw a0, (s5)                   |     a0 = *(s5);
                                             |     /* str.depth_d_ */
    0x0044cea8 addiu a1, a1, -0x45f8         |     a1 += -0x45f8;
    0x0044ceac jalr t9                       |     t9 ();
    0x0044ceb0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s4 == 0) {
    0x0044ceb4 beqz s4, 0x44d14c             |         goto label_4;
                                             |     }
    0x0044ceb8 lw t9, -0x7d7c(gp)            |     t9 = sym.imp.X509_get_subject_name;
    0x0044cebc move a0, s4                   |     a0 = s4;
    0x0044cec0 lw s7, (s5)                   |     s7 = *(s5);
    0x0044cec4 jalr t9                       |     t9 ();
    0x0044cec8 lui a3, 0x82                  |     a3 = 0x820000;
    0x0044cecc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ced0 move a0, s7                   |     a0 = s7;
    0x0044ced4 move a1, v0                   |     a1 = v0;
    0x0044ced8 move a2, zero                 |     a2 = 0;
    0x0044cedc lw t9, -0x7da0(gp)            |     t9 = sym.imp.X509_NAME_print_ex;
    0x0044cee0 addiu a3, a3, 0x31f           |     a3 += 0x31f;
    0x0044cee4 jalr t9                       |     t9 ();
    0x0044cee8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044ceec lw a0, (s5)                   |     a0 = *(s5);
    0x0044cef0 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0044cef4 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044cef8 addiu a1, a1, 0x609c          |     a1 += 0x609c;
    0x0044cefc jalr t9                       |     t9 ();
    0x0044cf00 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s0 == 0) {
    0x0044cf04 beqz s0, 0x44cf34             |         goto label_5;
                                             |     }
                                             | label_0:
    0x0044cf08 sltiu t8, s2, 0x2c            |     t8 = (s2 < 0x2c) ? 1 : 0;
                                             |     if (t8 == 0) {
                                             | label_3:
    0x0044cf0c beqz t8, 0x44cf98             |         goto label_6;
                                             |     }
    0x0044cf10 nop                           |     
                                             |     do {
    0x0044cf14 lw v0, -0x7f9c(gp)            |         v0 = *(gp);
    0x0044cf18 sll t8, s2, 2                 |         t8 = s2 << 2;
    0x0044cf1c addiu v0, v0, -0x37e0         |         v0 += -0x37e0;
    0x0044cf20 addu t8, v0, t8               |         t8 = v0 + t8;
    0x0044cf24 lw t8, (t8)                   |         t8 = *(t8);
    0x0044cf28 addu t8, t8, gp               |         t8 += gp;
    0x0044cf2c jr t8                         |         t8 ();
    0x0044cf30 nop                           |         
                                             | label_5:
    0x0044cf34 lw t9, -0x7498(gp)            |         t9 = sym.imp.X509_verify_cert_error_string;
                                             | label_2:
    0x0044cf38 move a0, s2                   |         a0 = s2;
    0x0044cf3c lw s5, (s5)                   |         s5 = *(s5);
    0x0044cf40 jalr t9                       |         t9 ();
    0x0044cf44 move a2, s2                   |         a2 = s2;
    0x0044cf48 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044cf4c move a0, s5                   |         a0 = s5;
    0x0044cf50 move a3, v0                   |         a3 = v0;
    0x0044cf54 lw a1, -0x7f9c(gp)            |         a1 = *(gp);
    0x0044cf58 lw t9, -0x780c(gp)            |         t9 = sym.imp.BIO_printf
                                             |         /* str.verify_error:num_d:_s_n */
    0x0044cf5c addiu a1, a1, -0x45e0         |         a1 += -0x45e0;
    0x0044cf60 jalr t9                       |         t9 ();
    0x0044cf64 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0044cf68 lw t8, -0x7eec(gp)            |         t8 = *(gp);
    0x0044cf6c lw t8, (t8)                   |         t8 = *(t8);
    0x0044cf70 slt s6, t8, s6                |         s6 = (t8 < s6) ? 1 : 0;
    0x0044cf74 lw t8, -0x7e24(gp)            |         t8 = *(gp);
                                             |         if (s6 != 0) {
    0x0044cf78 bnez s6, 0x44d110             |             goto label_7;
                                             |         }
    0x0044cf7c lw t8, -0x7ea0(gp)            |         t8 = *(gp);
    0x0044cf80 lw s0, (t8)                   |         s0 = *(t8);
    0x0044cf84 lw t8, -0x7e24(gp)            |         t8 = *(gp);
    0x0044cf88 sw zero, (t8)                 |         *(t8) = 0;
    0x0044cf8c sltiu t8, s2, 0x2c            |         t8 = (s2 < 0x2c) ? 1 : 0;
    0x0044cf90 sltiu s0, s0, 1               |         s0 = (s0 < 1) ? 1 : 0;
    0x0044cf94 bnez t8, 0x44cf14             |         
                                             |     } while (t8 != 0);
                                             | label_6:
    0x0044cf98 addiu t8, zero, 2             |     t8 = 2;
                                             |     if (s2 == 0) {
    0x0044cf9c bnez s2, 0x44cfa8             |         
                                             |         if (s0 == t8) {
    0x0044cfa0 beq s0, t8, 0x44d11c          |             goto label_8;
                                             |         }
    0x0044cfa4 nop                           |         
                                             |     }
    0x0044cfa8 move v0, s0                   |     v0 = s0;
                                             |     if (s0 == 0) {
    0x0044cfac beqz s0, 0x44cfdc             |         goto label_9;
                                             |     }
    0x0044cfb0 lw t8, (s3)                   |     t8 = *(s3);
                                             | label_1:
    0x0044cfb4 move v0, s0                   |     v0 = s0;
                                             |     if (t8 != 0) {
    0x0044cfb8 bnez t8, 0x44cfdc             |         goto label_9;
                                             |     }
    0x0044cfbc lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044cfc0 move a2, s0                   |     a2 = s0;
    0x0044cfc4 lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044cfc8 lw t9, -0x780c(gp)            |     t9 = sym.imp.BIO_printf
    0x0044cfcc lw a0, (t8)                   |     a0 = *(t8);
                                             |     /* str.verify_return:_d_n */
    0x0044cfd0 addiu a1, a1, -0x45c8         |     a1 += -0x45c8;
    0x0044cfd4 jalr t9                       |     t9 ();
    0x0044cfd8 move v0, s0                   |     v0 = s0;
                                             |     do {
                                             | label_9:
    0x0044cfdc lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0044cfe0 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x0044cfe4 lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x0044cfe8 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0044cfec lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x0044cff0 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0044cff4 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0044cff8 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0044cffc lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0044d000 addiu sp, sp, 0x40            |         
    0x0044d004 jr ra                         |         return v0;
                                             | label_7:
    0x0044d110 addiu v0, zero, 0x16          |         v0 = 0x16;
    0x0044d114 sw v0, (t8)                   |         *(t8) = v0;
    0x0044d118 b 0x44cf08                    |         goto label_0;
                                             | label_8:
    0x0044d11c lw t8, (s3)                   |         t8 = *(s3);
    0x0044d120 move v0, s0                   |         v0 = s0;
    0x0044d124 bnez t8, 0x44cfdc             |         
                                             |     } while (t8 != 0);
    0x0044d128 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x0044d12c move a1, s1                   |     a1 = s1;
    0x0044d130 lw t9, -0x7e74(gp)            |     t9 = sym.policies_print;
    0x0044d134 lw a0, (t8)                   |     a0 = *(t8);
    0x0044d138 jalr t9                       |     t9 ();
    0x0044d13c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0044d140 lw t8, -0x7e9c(gp)            |     t8 = *(gp);
    0x0044d144 lw t8, (t8)                   |     t8 = *(t8);
    0x0044d148 b 0x44cfb4                    |     goto label_1;
                                             | label_4:
    0x0044d14c lw a1, -0x7f9c(gp)            |     a1 = *(gp);
    0x0044d150 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.BIO_puts;
    0x0044d154 lw a0, (s5)                   |     a0 = *(s5);
                                             |     /* str._no_cert__n */
    0x0044d158 addiu a1, a1, -0x45ec         |     a1 += -0x45ec;
    0x0044d15c jalr t9                       |     t9 ();
    0x0044d160 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s0 != 0) {
    0x0044d164 bnez s0, 0x44cf08             |         goto label_0;
                                             |     }
    0x0044d168 lw t9, -0x7498(gp)            |     t9 = sym.imp.X509_verify_cert_error_string;
    0x0044d16c b 0x44cf38                    |     goto label_2;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ef94 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.verify_cookie_callback ()        | void verify_cookie_callback () {
    0x0044ef94 lui gp, 5                         |     
    0x0044ef98 addiu gp, gp, -0x2af4             |     
    0x0044ef9c addu gp, gp, t9                   |     gp += t9;
    0x0044efa0 addiu sp, sp, -0xa0               |     
    0x0044efa4 sw ra, 0x9c(sp)                   |     *(var_9ch) = ra;
    0x0044efa8 sw s4, 0x98(sp)                   |     *(var_98h) = s4;
    0x0044efac sw s3, 0x94(sp)                   |     *(var_94h) = s3;
    0x0044efb0 sw s2, 0x90(sp)                   |     *(var_90h) = s2;
    0x0044efb4 sw s1, 0x8c(sp)                   |     *(var_8ch) = s1;
    0x0044efb8 sw s0, 0x88(sp)                   |     *(var_88h) = s0;
    0x0044efbc lw t8, -0x7dec(gp)                |     t8 = *(gp);
    0x0044efc0 sw gp, 0x20(sp)                   |     *(var_20h) = gp;
    0x0044efc4 lw t8, (t8)                       |     t8 = *(t8);
    0x0044efc8 lw t9, -0x79d8(gp)                |     t9 = sym.imp.SSL_get_rbio;
    0x0044efcc bnez t8, 0x44eff4                 |     
                                                 |     while (s1 != t8) {
    0x0044efd0 move v0, zero                     |         v0 = 0;
                                                 | label_2:
    0x0044efd4 lw ra, 0x9c(sp)                   |         ra = *(var_9ch);
    0x0044efd8 lw s4, 0x98(sp)                   |         s4 = *(var_98h);
    0x0044efdc lw s3, 0x94(sp)                   |         s3 = *(var_94h);
    0x0044efe0 lw s2, 0x90(sp)                   |         s2 = *(var_90h);
    0x0044efe4 lw s1, 0x8c(sp)                   |         s1 = *(var_8ch);
    0x0044efe8 lw s0, 0x88(sp)                   |         s0 = *(var_88h);
    0x0044efec addiu sp, sp, 0xa0                |         
    0x0044eff0 jr ra                             |         return v0;
    0x0044eff4 move s2, a1                       |         s2 = a1;
    0x0044eff8 move s1, a2                       |         s1 = a2;
    0x0044effc jalr t9                           |         t9 ();
    0x0044f000 addiu a1, zero, 0x2e              |         a1 = 0x2e;
    0x0044f004 lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x0044f008 move a0, v0                       |         a0 = v0;
    0x0044f00c move a2, zero                     |         a2 = 0;
    0x0044f010 lw t9, -0x7a60(gp)                |         t9 = sym.imp.BIO_ctrl;
    0x0044f014 addiu a3, sp, 0x68                |         a3 = sp + 0x68;
    0x0044f018 jalr t9                           |         t9 ();
    0x0044f01c addiu v0, zero, 2                 |         v0 = 2;
    0x0044f020 lhu t8, 0x68(sp)                  |         t8 = *(var_68h);
    0x0044f024 lw gp, 0x20(sp)                   |         gp = *(var_20h);
                                                 |         if (t8 == v0) {
    0x0044f028 beq t8, v0, 0x44f16c              |             goto label_3;
                                                 |         }
    0x0044f02c addiu v0, zero, 0xa               |         v0 = 0xa;
    0x0044f030 lw s3, -0x7f9c(gp)                |         s3 = *(gp);
                                                 |         if (t8 == v0) {
    0x0044f034 beq t8, v0, 0x44f160              |             goto label_4;
                                                 |         }
    0x0044f038 addiu a1, zero, 0x45e             |         a1 = 0x45e;
    0x0044f03c lw a2, -0x7fd8(gp)                |         a2 = *(gp);
    0x0044f040 move s4, zero                     |         s4 = 0;
    0x0044f044 lw t9, -0x73cc(gp)                |         t9 = sym.imp.OpenSSLDie;
                                                 |         /* str.s_cb.c */
    0x0044f048 addiu a0, s3, -0x436c             |         a0 = s3 + -0x436c;
    0x0044f04c addiu a2, a2, -0x274              |         a2 += -0x274;
    0x0044f050 jalr t9                           |         t9 ();
    0x0044f054 move a0, zero                     |         a0 = 0;
    0x0044f058 lw gp, 0x20(sp)                   |         gp = *(var_20h);
                                                 | label_0:
    0x0044f05c lw t9, -0x7cd8(gp)                |         t9 = sym.imp.CRYPTO_malloc;
                                                 |         /* str.s_cb.c */
    0x0044f060 addiu a1, s3, -0x436c             |         a1 = s3 + -0x436c;
    0x0044f064 addiu a2, zero, 0x461             |         a2 = 0x461;
    0x0044f068 jalr t9                           |         t9 ();
    0x0044f06c lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x0044f070 move s0, v0                       |         s0 = v0;
                                                 |         if (v0 == 0) {
    0x0044f074 beqz v0, 0x44f1bc                 |             goto label_5;
                                                 |         }
    0x0044f078 lhu t8, 0x68(sp)                  |         t8 = *(var_68h);
    0x0044f07c addiu v0, zero, 2                 |         v0 = 2;
    0x0044f080 addiu v0, zero, 0xa               |         v0 = 0xa;
                                                 |         if (t8 == v0) {
    0x0044f084 beq t8, v0, 0x44f198              |             goto label_6;
                                                 |         }
    0x0044f088 lw a2, -0x7fd8(gp)                |         a2 = *(gp);
                                                 |         if (t8 != v0) {
    0x0044f08c bne t8, v0, 0x44f17c              |             goto label_7;
                                                 |         }
    0x0044f090 lbu v0, 0x6a(sp)                  |         v0 = *(var_6ah);
    0x0044f094 addiu t8, s0, 2                   |         t8 = s0 + 2;
    0x0044f098 sb v0, (s0)                       |         *(s0) = v0;
    0x0044f09c lbu v0, 0x6b(sp)                  |         v0 = *(var_6bh);
    0x0044f0a0 sb v0, 1(s0)                      |         *((s0 + 1)) = v0;
    0x0044f0a4 lw a1, 0x70(sp)                   |         a1 = *(var_70h);
    0x0044f0a8 lw a0, 0x74(sp)                   |         a0 = *(var_74h);
    0x0044f0ac lw v1, 0x78(sp)                   |         v1 = *(var_78h);
    0x0044f0b0 lw v0, 0x7c(sp)                   |         v0 = *(var_7ch);
    0x0044f0b4 swl a1, 3(t8)                     |         __asm ("swl a1, 3(t8)");
    0x0044f0b8 swr a1, (t8)                      |         __asm ("swr a1, (t8)");
    0x0044f0bc swl a0, 7(t8)                     |         __asm ("swl a0, 7(t8)");
    0x0044f0c0 swr a0, 4(t8)                     |         __asm ("swr a0, 4(t8)");
    0x0044f0c4 swl v1, 0xb(t8)                   |         __asm ("swl v1, 0xb(t8)");
    0x0044f0c8 swr v1, 8(t8)                     |         __asm ("swr v1, 8(t8)");
    0x0044f0cc swl v0, 0xf(t8)                   |         __asm ("swl v0, 0xf(t8)");
    0x0044f0d0 swr v0, 0xc(t8)                   |         __asm ("swr v0, 0xc(t8)");
                                                 | label_1:
    0x0044f0d4 lw t9, -0x7294(gp)                |         t9 = sym.imp.EVP_sha1;
    0x0044f0d8 addiu s3, sp, 0x28                |         s3 = sp + 0x28;
    0x0044f0dc jalr t9                           |         t9 ();
    0x0044f0e0 addiu t8, sp, 0x84                |         t8 = sp + 0x84;
    0x0044f0e4 lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x0044f0e8 move a0, v0                       |         a0 = v0;
    0x0044f0ec sw t8, 0x18(sp)                   |         *(var_18h) = t8;
    0x0044f0f0 addiu a2, zero, 0x10              |         a2 = 0x10;
    0x0044f0f4 lw t9, -0x7a54(gp)                |         t9 = sym.imp.HMAC;
    0x0044f0f8 move a3, s0                       |         a3 = s0;
    0x0044f0fc lw a1, -0x7de8(gp)                |         a1 = *(gp);
    0x0044f100 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x0044f104 sw s3, 0x14(sp)                   |         *(var_14h) = s3;
    0x0044f108 jalr t9                           |         t9 ();
    0x0044f10c lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x0044f110 lw t9, -0x7ce8(gp)                |         t9 = sym.imp.CRYPTO_free;
    0x0044f114 move a0, s0                       |         a0 = s0;
    0x0044f118 jalr t9                           |         t9 ();
    0x0044f11c lw t8, 0x84(sp)                   |         t8 = *(var_84h);
    0x0044f120 lw gp, 0x20(sp)                   |         gp = *(var_20h);
    0x0044f124 bne s1, t8, 0x44efd0              |         
                                                 |     }
    0x0044f128 lw t9, -0x6c68(gp)                |     t9 = sym.imp.memcmp;
    0x0044f12c move a0, s3                       |     a0 = s3;
    0x0044f130 move a1, s2                       |     a1 = s2;
    0x0044f134 move a2, s1                       |     a2 = s1;
    0x0044f138 jalr t9                           |     t9 ();
    0x0044f13c lw ra, 0x9c(sp)                   |     ra = *(var_9ch);
    0x0044f140 sltiu v0, v0, 1                   |     v0 = (v0 < 1) ? 1 : 0;
    0x0044f144 lw s4, 0x98(sp)                   |     s4 = *(var_98h);
    0x0044f148 lw s3, 0x94(sp)                   |     s3 = *(var_94h);
    0x0044f14c lw s2, 0x90(sp)                   |     s2 = *(var_90h);
    0x0044f150 lw s1, 0x8c(sp)                   |     s1 = *(var_8ch);
    0x0044f154 lw s0, 0x88(sp)                   |     s0 = *(var_88h);
    0x0044f158 addiu sp, sp, 0xa0                |     
    0x0044f15c jr ra                             |     return v0;
                                                 | label_4:
    0x0044f160 addiu a0, zero, 0x12              |     a0 = 0x12;
    0x0044f164 addiu s4, zero, 0x12              |     s4 = 0x12;
    0x0044f168 b 0x44f05c                        |     goto label_0;
                                                 | label_3:
    0x0044f16c addiu a0, zero, 6                 |     a0 = 6;
    0x0044f170 addiu s4, zero, 6                 |     s4 = 6;
    0x0044f174 lw s3, -0x7f9c(gp)                |     s3 = *(gp);
    0x0044f178 b 0x44f05c                        |     goto label_0;
                                                 |     /* str.s_cb.c */
                                                 | label_7:
    0x0044f17c addiu a0, s3, -0x436c             |     a0 = s3 + -0x436c;
    0x0044f180 lw t9, -0x73cc(gp)                |     t9 = sym.imp.OpenSSLDie;
    0x0044f184 addiu a1, zero, 0x476             |     a1 = 0x476;
    0x0044f188 addiu a2, a2, -0x274              |     a2 += -0x274;
    0x0044f18c jalr t9                           |     t9 ();
    0x0044f190 lw gp, 0x20(sp)                   |     gp = *(var_20h);
    0x0044f194 b 0x44f0d4                        |     goto label_1;
                                                 | label_6:
    0x0044f198 lbu v0, 0x6a(sp)                  |     v0 = *(var_6ah);
    0x0044f19c addiu t8, s0, 2                   |     t8 = s0 + 2;
    0x0044f1a0 sb v0, (s0)                       |     *(s0) = v0;
    0x0044f1a4 lbu v0, 0x6b(sp)                  |     v0 = *(var_6bh);
    0x0044f1a8 sb v0, 1(s0)                      |     *((s0 + 1)) = v0;
    0x0044f1ac lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x0044f1b0 swl v0, 5(s0)                     |     __asm ("swl v0, 5(s0)");
    0x0044f1b4 swr v0, (t8)                      |     __asm ("swr v0, (t8)");
    0x0044f1b8 b 0x44f0d4                        |     goto label_1;
                                                 | label_5:
    0x0044f1bc lw t8, -0x7fd4(gp)                |     t8 = *(gp);
    0x0044f1c0 lw a1, -0x7fd8(gp)                |     a1 = *(gp);
    0x0044f1c4 lw t9, -0x780c(gp)                |     t9 = sym.imp.BIO_printf
    0x0044f1c8 lw a0, (t8)                       |     a0 = *(t8);
                                                 |     /* str.out_of_memory_n */
    0x0044f1cc addiu a1, a1, -0x1a30             |     a1 += -0x1a30;
    0x0044f1d0 jalr t9                           |     t9 ();
    0x0044f1d4 move v0, zero                     |     v0 = 0;
    0x0044f1d8 b 0x44efd4                        |     goto label_2;
                                                 | }

[*] Function printf used 353 times openssl