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

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


[*] Function system tear down of libcrypto.so.1.1

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x42784 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x00042784 lui gp, 0x1f              |     
    0x00042788 addiu gp, gp, 0x159c      |     
    0x0004278c addu gp, gp, t9           |     gp += t9;
    0x00042790 addiu sp, sp, -0x20       |     
    0x00042794 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00042798 lw s0, -0x7fe4(gp)        |     s0 = *(gp);
    0x0004279c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000427a0 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x000427a4 lbu v0, -0x1550(s0)       |     v0 = *((s0 - 5456));
    0x000427a8 lw v0, -0x53c4(gp)        |     v0 = *((gp - 5361));
                                         |     if (v0 == 0) {
    0x000427ac bnez v0, 0x427e0          |         
    0x000427b0 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x000427b4 beqz v0, 0x427c8          |             
    0x000427b8 lw t9, -0x53c4(gp)        |             t9 = *((gp - 5361));
    0x000427bc lw a0, (v0)               |             a0 = *(v0);
    0x000427c0 jalr t9                   |             t9 ();
    0x000427c4 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x000427c8 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x000427cc addiu t9, t9, 0x2700      |         t9 += 0x2700;
    0x000427d0 bal 0x42700               |         entry0 ();
    0x000427d4 nop                       |         
    0x000427d8 addiu v0, zero, 1         |         v0 = 1;
    0x000427dc sb v0, -0x1550(s0)        |         *((s0 - 5456)) = v0;
                                         |     }
    0x000427e0 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x000427e4 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x000427e8 addiu sp, sp, 0x20        |     
    0x000427ec jr ra                     |     return v0;
                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x4abcc */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.ASN1_UNIVERSALSTRING_to_string ()        | void ASN1_UNIVERSALSTRING_to_string () {
    0x0004abcc lui gp, 0x1f                              |     
    0x0004abd0 addiu gp, gp, -0x6eac                     |     
    0x0004abd4 addu gp, gp, t9                           |     gp += t9;
    0x0004abd8 lw v1, 4(a0)                              |     v1 = *((a0 + 1));
    0x0004abdc addiu v0, zero, 0x1c                      |     v0 = 0x1c;
                                                         |     if (v1 != v0) {
    0x0004abe0 bne v1, v0, 0x4ace8                       |         goto label_0;
                                                         |     }
    0x0004abe4 nop                                       |     
    0x0004abe8 lw a3, (a0)                               |     a3 = *(a0);
    0x0004abec andi v0, a3, 3                            |     v0 = a3 & 3;
                                                         |     if (v0 != 0) {
    0x0004abf0 bnez v0, 0x4ace8                          |         goto label_0;
                                                         |     }
    0x0004abf4 nop                                       |     
    0x0004abf8 lw v1, 8(a0)                              |     v1 = *((a0 + 2));
                                                         |     if (a3 <= 0) {
    0x0004abfc blez a3, 0x4ac68                          |         goto label_1;
                                                         |     }
    0x0004ac00 lbu v0, (v1)                              |     v0 = *(v1);
                                                         |     if (v0 != 0) {
    0x0004ac04 bnez v0, 0x4ace8                          |         goto label_0;
                                                         |     }
    0x0004ac08 nop                                       |     
    0x0004ac0c lbu v0, 1(v1)                             |     v0 = *((v1 + 1));
                                                         |     if (v0 != 0) {
    0x0004ac10 bnez v0, 0x4ace8                          |         goto label_0;
                                                         |     }
    0x0004ac14 nop                                       |     
    0x0004ac18 lbu v0, 2(v1)                             |     v0 = *((v1 + 2));
    0x0004ac1c addiu a1, a3, -1                          |     a1 = a3 + -1;
                                                         |     if (v0 != 0) {
    0x0004ac20 bnez v0, 0x4ace8                          |         goto label_0;
                                                         |     }
    0x0004ac24 srl a1, a1, 2                             |     a1 >>= 2;
                                                         |     /* esilref: 'EC_GROUP_set_curve' */
    0x0004ac28 addiu a1, a1, 1                           |     a1++;
    0x0004ac2c sll a1, a1, 2                             |     a1 <<= 2;
    0x0004ac30 addu a1, v1, a1                           |     a1 = v1 + a1;
    0x0004ac34 move v0, v1                               |     v0 = v1;
    0x0004ac38 b 0x4ac5c                                 |     
                                                         |     while (a1 == v0) {
                                                         |         if (a2 != 0) {
    0x0004ac3c bnez a2, 0x4ace8                          |             goto label_0;
                                                         |         }
    0x0004ac40 nop                                       |         
    0x0004ac44 lbu a2, 1(v0)                             |         a2 = *((v0 + 1));
                                                         |         if (a2 != 0) {
    0x0004ac48 bnez a2, 0x4ace8                          |             goto label_0;
                                                         |         }
    0x0004ac4c nop                                       |         
    0x0004ac50 lbu a2, 2(v0)                             |         a2 = *((v0 + 2));
                                                         |         if (a2 != 0) {
    0x0004ac54 bnez a2, 0x4acf0                          |             goto label_2;
                                                         |         }
    0x0004ac58 nop                                       |         
    0x0004ac5c addiu v0, v0, 4                           |         v0 += 4;
    0x0004ac60 lbu a2, (v0)                              |         a2 = *(v0);
    0x0004ac64 bnel a1, v0, 0x4ac3c                      |         
                                                         |     }
                                                         | label_1:
    0x0004ac68 addiu sp, sp, -0x20                       |     
    0x0004ac6c slti a3, a3, 4                            |     a3 = (a3 < 4) ? 1 : 0;
    0x0004ac70 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x0004ac74 sw ra, 0x1c(sp)                           |     *(var_1ch) = ra;
    0x0004ac78 sw s0, 0x18(sp)                           |     *(var_18h) = s0;
    0x0004ac7c move a1, v1                               |     a1 = v1;
                                                         |     if (a3 != 0) {
    0x0004ac80 bnez a3, 0x4aca8                          |         goto label_3;
                                                         |     }
    0x0004ac84 addiu v0, zero, 3                         |     v0 = 3;
                                                         |     do {
    0x0004ac88 lbux a1, v0(a1)                           |         __asm ("lbux a1, v0(a1)");
    0x0004ac8c addiu v1, v1, 1                           |         v1++;
    0x0004ac90 sb a1, -1(v1)                             |         *((v1 - 1)) = a1;
    0x0004ac94 lw a1, (a0)                               |         a1 = *(a0);
    0x0004ac98 addiu v0, v0, 4                           |         v0 += 4;
    0x0004ac9c slt a1, v0, a1                            |         a1 = (v0 < a1) ? 1 : 0;
    0x0004aca0 lw a1, 8(a0)                              |         a1 = *((a0 + 2));
    0x0004aca4 bnel a1, zero, 0x4ac88                    |         
                                                         |     } while (a1 == 0);
                                                         | label_3:
    0x0004aca8 sb zero, (v1)                             |     *(v1) = 0;
    0x0004acac lw a1, (a0)                               |     a1 = *(a0);
                                                         |     if (a1 >= 0) {
    0x0004acb0 bltzl a1, 0x4acb8                         |         
    0x0004acb4 addiu a1, a1, 3                           |         a1 += 3;
                                                         |     }
    0x0004acb8 move s0, a0                               |     s0 = a0;
    0x0004acbc sra a1, a1, 2                             |     a1 >>= 2;
    0x0004acc0 lw a0, 8(a0)                              |     a0 = *((a0 + 2));
    0x0004acc4 lw t9, -0x7e88(gp)                        |     t9 = *(gp);
    0x0004acc8 sw a1, (s0)                               |     *(s0) = a1;
    0x0004accc bal 0x4aaa0                               |     sym_ASN1_PRINTABLE_type ();
    0x0004acd0 lw ra, 0x1c(sp)                           |     ra = *(var_1ch);
    0x0004acd4 sw v0, 4(s0)                              |     *((s0 + 1)) = v0;
    0x0004acd8 lw s0, 0x18(sp)                           |     s0 = *(var_18h);
    0x0004acdc addiu v0, zero, 1                         |     v0 = 1;
    0x0004ace0 addiu sp, sp, 0x20                        |     
    0x0004ace4 jr ra                                     |     return v0;
                                                         | label_0:
    0x0004ace8 move v0, zero                             |     v0 = 0;
    0x0004acec jr ra                                     |     return v0;
                                                         | label_2:
    0x0004acf0 move v0, zero                             |     v0 = 0;
    0x0004acf4 jr ra                                     |     return v0;
                                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0xa0aac */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.CMS_SignerInfo_sign ()           | void CMS_SignerInfo_sign () {
    0x000a0aac lui gp, 0x19                      |     
    0x000a0ab0 addiu gp, gp, 0x3274              |     
    0x000a0ab4 addu gp, gp, t9                   |     gp += t9;
    0x000a0ab8 addiu sp, sp, -0x48               |     
    0x000a0abc lw v1, 8(a0)                      |     v1 = *((a0 + 2));
    0x000a0ac0 sw s1, 0x34(sp)                   |     *(var_34h) = s1;
    0x000a0ac4 lw s1, -0x53f0(gp)                |     s1 = *((gp - 5372));
    0x000a0ac8 lw t9, -0x7ea0(gp)                |     t9 = *((gp - 8104));
    0x000a0acc sw s0, 0x30(sp)                   |     *(var_30h) = s0;
    0x000a0ad0 lw v0, (s1)                       |     v0 = *(s1);
    0x000a0ad4 move s0, a0                       |     s0 = a0;
    0x000a0ad8 lw a0, (v1)                       |     a0 = *(v1);
    0x000a0adc sw ra, 0x44(sp)                   |     *(var_44h) = ra;
    0x000a0ae0 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x000a0ae4 sw s2, 0x38(sp)                   |     *(var_38h) = s2;
    0x000a0ae8 sw s4, 0x40(sp)                   |     *(var_40h) = s4;
    0x000a0aec sw s3, 0x3c(sp)                   |     *(var_3ch) = s3;
    0x000a0af0 sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
    0x000a0af4 sw zero, 0x20(sp)                 |     *(var_20h) = 0;
    0x000a0af8 sw zero, 0x24(sp)                 |     *(var_24h) = 0;
    0x000a0afc lw s2, 0x24(s0)                   |     s2 = *((s0 + 9));
    0x000a0b00 jalr t9                           |     t9 ();
    0x000a0b04 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000a0b08 lw t9, -0x7e14(gp)                |     t9 = *((gp - 8069));
    0x000a0b0c move a0, v0                       |     a0 = v0;
    0x000a0b10 jalr t9                           |     t9 ();
    0x000a0b14 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000a0b18 lw t9, -0x7d90(gp)                |     t9 = *((gp - 8036));
    0x000a0b1c move a0, v0                       |     a0 = v0;
    0x000a0b20 jalr t9                           |     t9 ();
    0x000a0b24 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x000a0b28 beqz v0, 0xa0d70                  |         goto label_5;
                                                 |     }
    0x000a0b2c lw t9, -0x7398(gp)                |     t9 = *((gp - 7398));
    0x000a0b30 addiu a2, zero, -1                |     a2 = -1;
    0x000a0b34 addiu a1, zero, 0x34              |     a1 = 0x34;
    0x000a0b38 move a0, s0                       |     a0 = s0;
    0x000a0b3c move s3, v0                       |     s3 = v0;
    0x000a0b40 bal 0x99444                       |     sym_CMS_signed_get_attr_by_NID ();
    0x000a0b44 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 < 0) {
    0x000a0b48 bltz v0, 0xa0ca8                  |         goto label_6;
                                                 |     }
    0x000a0b4c lw t9, -0x7394(gp)                |     t9 = *((gp - 7397));
    0x000a0b50 move a0, s0                       |     a0 = s0;
    0x000a0b54 bal 0x9971c                       |     fcn_0009971c ();
    0x000a0b58 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x000a0b5c beqz v0, 0xa0d14                  |         goto label_1;
                                                 |     }
                                                 |     do {
    0x000a0b60 lw a0, 0x28(s0)                   |         a0 = *((s0 + 10));
    0x000a0b64 lw t9, -0x7390(gp)                |         t9 = *((gp - 7396));
                                                 |         if (a0 == 0) {
    0x000a0b68 beqz a0, 0xa0de8                  |             goto label_7;
                                                 |         }
    0x000a0b6c sw a0, 0x20(sp)                   |         *(var_20h) = a0;
                                                 | label_2:
    0x000a0b70 lw t9, -0x74f4(gp)                |         t9 = *(gp);
    0x000a0b74 sw s0, 0x14(sp)                   |         *(var_14h) = s0;
    0x000a0b78 sw zero, 0x10(sp)                 |         *(var_10h_4) = 0;
    0x000a0b7c addiu a3, zero, 0xb               |         a3 = 0xb;
    0x000a0b80 addiu a2, zero, 8                 |         a2 = 8;
    0x000a0b84 addiu a1, zero, -1                |         a1 = -1;
    0x000a0b88 jalr t9                           |         t9 ();
    0x000a0b8c lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 <= 0) {
    0x000a0b90 blez v0, 0xa0db8                  |             goto label_8;
                                                 |         }
    0x000a0b94 lw t9, -0x7f48(gp)                |         t9 = *((gp - 8146));
    0x000a0b98 lw a2, -0x738c(gp)                |         a2 = *((gp - 7395));
    0x000a0b9c lw a0, 0xc(s0)                    |         a0 = *((s0 + 3));
    0x000a0ba0 addiu a1, sp, 0x24                |         a1 = sp + 0x24;
    0x000a0ba4 jalr t9                           |         t9 ();
    0x000a0ba8 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x000a0bac lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (a0 == 0) {
    0x000a0bb0 beqz a0, 0xa0d18                  |             goto label_9;
                                                 |         }
    0x000a0bb4 lw t9, -0x7e70(gp)                |         t9 = *((gp - 8092));
    0x000a0bb8 move a1, a0                       |         a1 = a0;
    0x000a0bbc move a2, v0                       |         a2 = v0;
    0x000a0bc0 move a0, s2                       |         a0 = s2;
    0x000a0bc4 jalr t9                           |         t9 ();
    0x000a0bc8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 <= 0) {
    0x000a0bcc blez v0, 0xa0d14                  |             goto label_1;
                                                 |         }
    0x000a0bd0 lw t9, -0x7388(gp)                |         t9 = *((gp - 7394));
    0x000a0bd4 addiu s4, sp, 0x28                |         s4 = sp + 0x28;
    0x000a0bd8 move a2, s4                       |         a2 = s4;
    0x000a0bdc move a1, zero                     |         a1 = 0;
    0x000a0be0 move a0, s2                       |         a0 = s2;
    0x000a0be4 jalr t9                           |         t9 ();
    0x000a0be8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 <= 0) {
    0x000a0bec blez v0, 0xa0d14                  |             goto label_1;
                                                 |         }
    0x000a0bf0 lw s3, -0x7e04(gp)                |         s3 = *((gp - 8065));
    0x000a0bf4 lw t9, -0x7f98(gp)                |         t9 = *(gp);
    0x000a0bf8 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x000a0bfc addiu a2, zero, 0x2bc             |         a2 = aav.0x000002bc;
    0x000a0c00 addiu a1, s3, -0x1378             |         a1 = s3 + -aav.0x00001378;
    0x000a0c04 jalr t9                           |         t9 ();
    0x000a0c08 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000a0c0c lw a0, 0x28(sp)                   |         a0 = *(var_28h_4);
    0x000a0c10 addiu a2, zero, 0x2bd             |         a2 = 0x2bd;
    0x000a0c14 lw t9, -0x7f9c(gp)                |         t9 = *((gp - 8167));
    0x000a0c18 addiu a1, s3, -0x1378             |         a1 = s3 + -aav.0x00001378;
    0x000a0c1c jalr t9                           |         t9 ();
    0x000a0c20 move a0, v0                       |         a0 = v0;
    0x000a0c24 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000a0c28 sw v0, 0x24(sp)                   |         *(var_24h) = v0;
                                                 |         if (v0 == 0) {
    0x000a0c2c beqz v0, 0xa0d1c                  |             goto label_0;
                                                 |         }
    0x000a0c30 lw t9, -0x7388(gp)                |         t9 = *((gp - 7394));
    0x000a0c34 move a2, s4                       |         a2 = s4;
    0x000a0c38 move a1, v0                       |         a1 = v0;
    0x000a0c3c move a0, s2                       |         a0 = s2;
    0x000a0c40 jalr t9                           |         t9 ();
    0x000a0c44 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 <= 0) {
    0x000a0c48 blez v0, 0xa0de0                  |             goto label_10;
                                                 |         }
    0x000a0c4c lw t9, -0x74f4(gp)                |         t9 = *(gp);
    0x000a0c50 addiu v0, zero, 1                 |         v0 = 1;
    0x000a0c54 lw a0, 0x20(sp)                   |         a0 = *(var_20h);
    0x000a0c58 sw s0, 0x14(sp)                   |         *(var_14h) = s0;
    0x000a0c5c sw v0, 0x10(sp)                   |         *(var_10h_4) = v0;
    0x000a0c60 addiu a3, zero, 0xb               |         a3 = 0xb;
    0x000a0c64 addiu a2, zero, 8                 |         a2 = 8;
    0x000a0c68 addiu a1, zero, -1                |         a1 = -1;
    0x000a0c6c jalr t9                           |         t9 ();
    0x000a0c70 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 <= 0) {
    0x000a0c74 blez v0, 0xa0e38                  |             goto label_11;
                                                 |         }
    0x000a0c78 lw t9, -0x7390(gp)                |         t9 = *((gp - 7396));
    0x000a0c7c move a0, s2                       |         a0 = s2;
    0x000a0c80 jalr t9                           |         t9 ();
    0x000a0c84 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000a0c88 lw a2, 0x28(sp)                   |         a2 = *(var_28h_4);
    0x000a0c8c lw a1, 0x24(sp)                   |         a1 = *(var_24h);
    0x000a0c90 lw t9, -0x7ba8(gp)                |         t9 = *((gp - 7914));
    0x000a0c94 lw a0, 0x14(s0)                   |         a0 = *((s0 + 5));
    0x000a0c98 jalr t9                           |         t9 ();
    0x000a0c9c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000a0ca0 addiu v0, zero, 1                 |         v0 = 1;
    0x000a0ca4 b 0xa0d44                         |         goto label_12;
                                                 | label_6:
    0x000a0ca8 lw t9, -0x7384(gp)                |         t9 = *((gp - 7393));
    0x000a0cac move a1, zero                     |         a1 = 0;
    0x000a0cb0 move a0, zero                     |         a0 = 0;
    0x000a0cb4 jalr t9                           |         t9 ();
    0x000a0cb8 move s4, v0                       |         s4 = v0;
    0x000a0cbc lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x000a0cc0 beqz v0, 0xa0d78                  |             goto label_13;
                                                 |         }
    0x000a0cc4 lw t9, -0x74c4(gp)                |         t9 = *(gp);
    0x000a0cc8 lw a2, 4(v0)                      |         a2 = *((v0 + 1));
    0x000a0ccc addiu v0, zero, -1                |         v0 = -1;
    0x000a0cd0 move a0, s0                       |         a0 = s0;
    0x000a0cd4 sw v0, 0x10(sp)                   |         *(var_10h_4) = v0;
    0x000a0cd8 move a3, s4                       |         a3 = s4;
    0x000a0cdc addiu a1, zero, 0x34              |         a1 = 0x34;
    0x000a0ce0 bal 0x99514                       |         sym_CMS_signed_add1_attr_by_NID ();
    0x000a0ce4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000a0ce8 move a0, s4                       |         a0 = s4;
    0x000a0cec lw t9, -0x7380(gp)                |         t9 = *((gp - 7392));
                                                 |         if (v0 <= 0) {
    0x000a0cf0 blez v0, 0xa0e28                  |             goto label_14;
                                                 |         }
    0x000a0cf4 jalr t9                           |         t9 ();
    0x000a0cf8 nop                               |         
    0x000a0cfc lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000a0d00 lw t9, -0x7394(gp)                |         t9 = *((gp - 7397));
    0x000a0d04 move a0, s0                       |         a0 = s0;
    0x000a0d08 bal 0x9971c                       |         fcn_0009971c ();
    0x000a0d0c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000a0d10 bnez v0, 0xa0b60                  |         
                                                 |     } while (v0 != 0);
                                                 | label_1:
    0x000a0d14 lw a0, 0x24(sp)                   |     a0 = *(var_24h);
                                                 | label_9:
    0x000a0d18 lw s3, -0x7e04(gp)                |     s3 = *((gp - 8065));
                                                 | label_0:
    0x000a0d1c lw t9, -0x7f98(gp)                |     t9 = *(gp);
    0x000a0d20 addiu a2, zero, 0x2d0             |     a2 = aav.0x000002d0;
    0x000a0d24 addiu a1, s3, -0x1378             |     a1 = s3 + -aav.0x00001378;
    0x000a0d28 jalr t9                           |     t9 ();
    0x000a0d2c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000a0d30 lw t9, -0x7390(gp)                |     t9 = *((gp - 7396));
    0x000a0d34 move a0, s2                       |     a0 = s2;
    0x000a0d38 jalr t9                           |     t9 ();
    0x000a0d3c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000a0d40 move v0, zero                     |     v0 = 0;
                                                 |     do {
                                                 | label_12:
    0x000a0d44 lw a0, 0x2c(sp)                   |         a0 = *(var_2ch);
    0x000a0d48 lw v1, (s1)                       |         v1 = *(s1);
    0x000a0d4c lw ra, 0x44(sp)                   |         ra = *(var_44h);
                                                 |         if (a0 != v1) {
    0x000a0d50 bne a0, v1, 0xa0e44               |             goto label_15;
                                                 |         }
    0x000a0d54 lw s4, 0x40(sp)                   |         s4 = *(var_40h);
    0x000a0d58 lw s3, 0x3c(sp)                   |         s3 = *(var_3ch);
    0x000a0d5c lw s2, 0x38(sp)                   |         s2 = *(var_38h);
    0x000a0d60 lw s1, 0x34(sp)                   |         s1 = *(var_34h);
    0x000a0d64 lw s0, 0x30(sp)                   |         s0 = *(var_30h);
    0x000a0d68 addiu sp, sp, 0x48                |         
    0x000a0d6c jr ra                             |         return v0;
                                                 | label_5:
    0x000a0d70 move v0, zero                     |         v0 = 0;
    0x000a0d74 b 0xa0d44                         |         
                                                 |     } while (1);
                                                 | label_13:
    0x000a0d78 lw t9, -0x7380(gp)                |     t9 = *((gp - 7392));
    0x000a0d7c move a0, zero                     |     a0 = 0;
    0x000a0d80 jalr t9                           |     t9 ();
    0x000a0d84 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 | label_3:
    0x000a0d88 lw s3, -0x7e04(gp)                |     s3 = *((gp - 8065));
    0x000a0d8c lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x000a0d90 addiu v0, zero, 0x1a3             |     v0 = 0x1a3;
    0x000a0d94 addiu a0, zero, 0x2e              |     a0 = 0x2e;
    0x000a0d98 sw v0, 0x10(sp)                   |     *(var_10h_4) = v0;
    0x000a0d9c addiu a3, s3, -0x1378             |     a3 = s3 + -aav.0x00001378;
    0x000a0da0 addiu a2, zero, 0x41              |     a2 = 0x41;
    0x000a0da4 addiu a1, zero, 0x67              |     a1 = 0x67;
    0x000a0da8 jalr t9                           |     t9 ();
    0x000a0dac lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000a0db0 lw a0, 0x24(sp)                   |     a0 = *(var_24h);
    0x000a0db4 b 0xa0d1c                         |     goto label_0;
                                                 | label_8:
    0x000a0db8 lw s3, -0x7e04(gp)                |     s3 = *((gp - 8065));
    0x000a0dbc lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x000a0dc0 addiu v0, zero, 0x2b0             |     v0 = aav.0x000002b0;
                                                 | label_4:
    0x000a0dc4 sw v0, 0x10(sp)                   |     *(var_10h_4) = v0;
    0x000a0dc8 addiu a3, s3, -0x1378             |     a3 = s3 + -aav.0x00001378;
    0x000a0dcc addiu a2, zero, 0x6e              |     a2 = 0x6e;
    0x000a0dd0 addiu a1, zero, 0x97              |     a1 = 0x97;
    0x000a0dd4 addiu a0, zero, 0x2e              |     a0 = 0x2e;
    0x000a0dd8 jalr t9                           |     t9 ();
    0x000a0ddc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 | label_10:
    0x000a0de0 lw a0, 0x24(sp)                   |     a0 = *(var_24h);
    0x000a0de4 b 0xa0d1c                         |     goto label_0;
                                                 | label_7:
    0x000a0de8 move a0, s2                       |     a0 = s2;
    0x000a0dec jalr t9                           |     t9 ();
    0x000a0df0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000a0df4 lw v0, 0x20(s0)                   |     v0 = *((s0 + 8));
    0x000a0df8 move a3, zero                     |     a3 = 0;
    0x000a0dfc lw t9, -0x7e44(gp)                |     t9 = *((gp - 8081));
    0x000a0e00 sw v0, 0x10(sp)                   |     *(var_10h_4) = v0;
    0x000a0e04 move a2, s3                       |     a2 = s3;
    0x000a0e08 addiu a1, sp, 0x20                |     a1 = sp + 0x20;
    0x000a0e0c move a0, s2                       |     a0 = s2;
    0x000a0e10 jalr t9                           |     t9 ();
    0x000a0e14 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 <= 0) {
    0x000a0e18 blez v0, 0xa0d14                  |         goto label_1;
                                                 |     }
    0x000a0e1c lw a0, 0x20(sp)                   |     a0 = *(var_20h);
    0x000a0e20 sw a0, 0x28(s0)                   |     *((s0 + 10)) = a0;
    0x000a0e24 b 0xa0b70                         |     goto label_2;
                                                 | label_14:
    0x000a0e28 jalr t9                           |     t9 ();
    0x000a0e2c nop                               |     
    0x000a0e30 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000a0e34 b 0xa0d88                         |     goto label_3;
                                                 | label_11:
    0x000a0e38 lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x000a0e3c addiu v0, zero, 0x2c5             |     v0 = 0x2c5;
    0x000a0e40 b 0xa0dc4                         |     goto label_4;
                                                 | label_15:
    0x000a0e44 lw t9, -0x5428(gp)                |     t9 = *((gp - 5386));
    0x000a0e48 jalr t9                           |     t9 ();
    0x000a0e4c nop                               |     
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x1161d8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.EVP_PKEY_get0_poly1305 ()        | void EVP_PKEY_get0_poly1305 () {
    0x001161d8 lui gp, 0x12                      |     
    0x001161dc addiu gp, gp, -0x24b8             |     
    0x001161e0 addu gp, gp, t9                   |     gp += t9;
    0x001161e4 lw v1, (a0)                       |     v1 = *(a0);
    0x001161e8 addiu v0, zero, 0x425             |     v0 = 0x425;
    0x001161ec lw a3, -0x7ea8(gp)                |     a3 = *((gp - 8106));
                                                 |     if (v1 == v0) {
    0x001161f0 bne v1, v0, 0x116208              |         
    0x001161f4 lw v0, 0x18(a0)                   |         v0 = *((a0 + 6));
    0x001161f8 lw v1, (v0)                       |         v1 = *(v0);
    0x001161fc lw v0, 8(v0)                      |         v0 = *((v0 + 2));
    0x00116200 sw v1, (a1)                       |         *(a1) = v1;
    0x00116204 jr ra                             |         return v0;
                                                 |     }
    0x00116208 addiu sp, sp, -0x28               |     
    0x0011620c lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x00116210 addiu v0, zero, 0x1b6             |     v0 = 0x1b6;
    0x00116214 addiu a3, a3, -0x7118             |     a3 += -0x7118;
    0x00116218 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0011621c sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x00116220 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x00116224 addiu a2, zero, 0xa4              |     a2 = 0xa4;
    0x00116228 addiu a1, zero, 0xb8              |     a1 = 0xb8;
    0x0011622c addiu a0, zero, 6                 |     a0 = 6;
    0x00116230 bal 0xfb1a0                       |     sym_ERR_put_error ();
    0x00116234 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x00116238 move v0, zero                     |     v0 = 0;
    0x0011623c addiu sp, sp, 0x28                |     
    0x00116240 jr ra                             |     return v0;
                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x191b08 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.X509_STORE_CTX_get_by_subject ()         | void X509_STORE_CTX_get_by_subject () {
    0x00191b08 lui gp, 0xa                               |     
    0x00191b0c addiu gp, gp, 0x2218                      |     
    0x00191b10 addu gp, gp, t9                           |     gp += t9;
    0x00191b14 addiu sp, sp, -0x50                       |     
    0x00191b18 sw s5, 0x40(sp)                           |     *(var_40h) = s5;
    0x00191b1c lw s5, -0x53f0(gp)                        |     s5 = *((gp - 5372));
    0x00191b20 sw s1, 0x30(sp)                           |     *(var_30h) = s1;
    0x00191b24 lw s1, (a0)                               |     s1 = *(a0);
    0x00191b28 lw v0, (s5)                               |     v0 = *(s5);
    0x00191b2c sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x00191b30 sw ra, 0x4c(sp)                           |     *(var_4ch) = ra;
    0x00191b34 sw s7, 0x48(sp)                           |     *(var_48h) = s7;
    0x00191b38 sw s6, 0x44(sp)                           |     *(var_44h) = s6;
    0x00191b3c sw s4, 0x3c(sp)                           |     *(var_3ch) = s4;
    0x00191b40 sw s3, 0x38(sp)                           |     *(var_38h) = s3;
    0x00191b44 sw s2, 0x34(sp)                           |     *(var_34h) = s2;
    0x00191b48 sw s0, 0x2c(sp)                           |     *(var_2ch) = s0;
    0x00191b4c sw v0, 0x24(sp)                           |     *(var_24h) = v0;
    0x00191b50 lw t9, -0x7844(gp)                        |     t9 = *((gp - 7697));
                                                         |     if (s1 == 0) {
    0x00191b54 beqz s1, 0x191be8                         |         goto label_3;
                                                         |     }
    0x00191b58 lw a0, 0x48(s1)                           |     a0 = *((s1 + 18));
    0x00191b5c sw zero, 0x1c(sp)                         |     *(var_1ch_2) = 0;
    0x00191b60 sw zero, 0x20(sp)                         |     *(var_20h_2) = 0;
    0x00191b64 move s6, a3                               |     s6 = a3;
    0x00191b68 move s2, a1                               |     s2 = a1;
    0x00191b6c move s3, a2                               |     s3 = a2;
    0x00191b70 bal 0x17ce14                              |     sym_CRYPTO_THREAD_write_lock ();
    0x00191b74 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x00191b78 lw a0, 4(s1)                              |     a0 = *((s1 + 1));
    0x00191b7c move a2, s3                               |     a2 = s3;
    0x00191b80 lw t9, -0x58c0(gp)                        |     t9 = *((gp - 5680));
    0x00191b84 move a1, s2                               |     a1 = s2;
    0x00191b88 bal 0x191a9c                              |     sym_X509_OBJECT_retrieve_by_subject ();
    0x00191b8c lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x00191b90 lw a0, 0x48(s1)                           |     a0 = *((s1 + 18));
    0x00191b94 lw t9, -0x7840(gp)                        |     t9 = *((gp - 7696));
    0x00191b98 move s4, v0                               |     s4 = v0;
    0x00191b9c bal 0x17ce48                              |     sym_CRYPTO_THREAD_unlock ();
    0x00191ba0 lw gp, 0x10(sp)                           |     gp = *(var_10h);
                                                         |     if (s4 == 0) {
    0x00191ba4 beqz s4, 0x191c24                         |         goto label_4;
                                                         |     }
    0x00191ba8 addiu v0, zero, 2                         |     v0 = 2;
    0x00191bac move s0, zero                             |     s0 = 0;
                                                         |     if (s2 == v0) {
    0x00191bb0 beq s2, v0, 0x191c28                      |         goto label_5;
                                                         |     }
                                                         | label_2:
    0x00191bb4 lw t9, -0x58bc(gp)                        |     t9 = *((gp - 5679));
                                                         |     do {
    0x00191bb8 move a0, s4                               |         a0 = s4;
    0x00191bbc bal 0x191838                              |         sym_X509_OBJECT_up_ref_count ();
    0x00191bc0 lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (v0 == 0) {
    0x00191bc4 beqz v0, 0x191be8                         |             goto label_3;
                                                         |         }
    0x00191bc8 lw v0, 4(s4)                              |         v0 = *((s4 + 1));
    0x00191bcc lw v1, (s4)                               |         v1 = *(s4);
    0x00191bd0 sw v0, 4(s6)                              |         *((s6 + 1)) = v0;
    0x00191bd4 sw v1, (s6)                               |         *(s6) = v1;
    0x00191bd8 addiu v0, zero, 1                         |         v0 = 1;
    0x00191bdc b 0x191bec                                |         goto label_6;
                                                         | label_0:
    0x00191be0 lw t9, -0x58bc(gp)                        |         t9 = *((gp - 5679));
    0x00191be4 bnez s4, 0x191bb8                         |         
                                                         |     } while (s4 != 0);
                                                         | label_3:
    0x00191be8 move v0, zero                             |     v0 = 0;
                                                         | label_6:
    0x00191bec lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00191bf0 lw v1, (s5)                               |     v1 = *(s5);
    0x00191bf4 lw ra, 0x4c(sp)                           |     ra = *(var_4ch);
                                                         |     if (a0 != v1) {
    0x00191bf8 bne a0, v1, 0x191ca0                      |         goto label_7;
                                                         |     }
    0x00191bfc lw s7, 0x48(sp)                           |     s7 = *(var_48h);
    0x00191c00 lw s6, 0x44(sp)                           |     s6 = *(var_44h);
    0x00191c04 lw s5, 0x40(sp)                           |     s5 = *(var_40h);
    0x00191c08 lw s4, 0x3c(sp)                           |     s4 = *(var_3ch);
    0x00191c0c lw s3, 0x38(sp)                           |     s3 = *(var_38h);
    0x00191c10 lw s2, 0x34(sp)                           |     s2 = *(var_34h);
    0x00191c14 lw s1, 0x30(sp)                           |     s1 = *(var_30h);
    0x00191c18 lw s0, 0x2c(sp)                           |     s0 = *(var_2ch);
    0x00191c1c addiu sp, sp, 0x50                        |     
    0x00191c20 jr ra                                     |     return v0;
                                                         | label_4:
    0x00191c24 move s0, zero                             |     s0 = 0;
                                                         | label_5:
    0x00191c28 addiu s7, sp, 0x1c                        |     s7 = sp + 0x1c;
                                                         | label_1:
    0x00191c2c lw t9, -0x7d78(gp)                        |     t9 = *(gp);
    0x00191c30 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x00191c34 bal 0x1782c4                              |     sym_OPENSSL_sk_num ();
    0x00191c38 slt v0, s0, v0                            |     v0 = (s0 < v0) ? 1 : 0;
    0x00191c3c lw gp, 0x10(sp)                           |     gp = *(var_10h);
                                                         |     if (v0 == 0) {
    0x00191c40 beqz v0, 0x191be0                         |         goto label_0;
                                                         |     }
    0x00191c44 lw t9, -0x7df8(gp)                        |     t9 = *((gp - 8062));
    0x00191c48 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x00191c4c move a1, s0                               |     a1 = s0;
    0x00191c50 bal 0x1782dc                              |     sym_OPENSSL_sk_value ();
    0x00191c54 lw v1, 8(v0)                              |     v1 = *((v0 + 2));
    0x00191c58 lw gp, 0x10(sp)                           |     gp = *(var_10h);
                                                         |     if (v1 == 0) {
    0x00191c5c beqz v1, 0x191c90                         |         goto label_8;
                                                         |     }
    0x00191c60 lw t9, 0x18(v1)                           |     t9 = *((v1 + 6));
                                                         |     if (t9 == 0) {
    0x00191c64 beql t9, zero, 0x191c2c                   |         goto label_1;
                                                         |     }
    0x00191c68 addiu s0, s0, 1                           |     s0++;
    0x00191c6c lw v1, 4(v0)                              |     v1 = *((v0 + 1));
    0x00191c70 move a3, s7                               |     a3 = s7;
                                                         |     if (v1 == 0) {
    0x00191c74 bnez v1, 0x191c90                         |         
    0x00191c78 move a2, s3                               |         a2 = s3;
    0x00191c7c move a1, s2                               |         a1 = s2;
    0x00191c80 move a0, v0                               |         a0 = v0;
    0x00191c84 jalr t9                                   |         t9 ();
    0x00191c88 lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (v0 != 0) {
    0x00191c8c bnez v0, 0x191c98                         |             goto label_9;
                                                         |         }
                                                         |     }
                                                         | label_8:
    0x00191c90 addiu s0, s0, 1                           |     s0++;
    0x00191c94 b 0x191c2c                                |     goto label_1;
                                                         | label_9:
    0x00191c98 move s4, s7                               |     s4 = s7;
    0x00191c9c b 0x191bb4                                |     goto label_2;
                                                         | label_7:
    0x00191ca0 lw t9, -0x5428(gp)                        |     t9 = *((gp - 5386));
    0x00191ca4 jalr t9                                   |     t9 ();
    0x00191ca8 nop                                       |     
                                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x196fd0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.X509_cmp_time ()             | void X509_cmp_time () {
    0x00196fd0 lui gp, 0xa                   |     
    0x00196fd4 addiu gp, gp, -0x32b0         |     
    0x00196fd8 addu gp, gp, t9               |     gp += t9;
    0x00196fdc addiu sp, sp, -0x48           |     
    0x00196fe0 addiu v1, zero, 0x17          |     v1 = 0x17;
    0x00196fe4 sw s2, 0x3c(sp)               |     *(var_3ch) = s2;
    0x00196fe8 lw s2, -0x53f0(gp)            |     s2 = *((gp - 5372));
    0x00196fec sw s1, 0x38(sp)               |     *(var_38h) = s1;
    0x00196ff0 move s1, a0                   |     s1 = a0;
    0x00196ff4 lw a0, (s2)                   |     a0 = *(s2);
    0x00196ff8 lw v0, 4(s1)                  |     v0 = *((s1 + 1));
    0x00196ffc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00197000 sw s3, 0x40(sp)               |     *(var_40h) = s3;
    0x00197004 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x00197008 sw s0, 0x34(sp)               |     *(var_34h) = s0;
    0x0019700c move s3, a1                   |     s3 = a1;
    0x00197010 sw a0, 0x2c(sp)               |     *(var_2ch) = a0;
    0x00197014 addiu v1, zero, 0x18          |     v1 = 0x18;
                                             |     if (v0 == v1) {
    0x00197018 beq v0, v1, 0x197060          |         goto label_2;
                                             |     }
    0x0019701c move v0, zero                 |     v0 = 0;
                                             |     if (v0 != v1) {
    0x00197020 bne v0, v1, 0x197038          |         goto label_0;
                                             |     }
    0x00197024 lw v1, (s1)                   |     v1 = *(s1);
    0x00197028 addiu v0, zero, 0xf           |     v0 = 0xf;
    0x0019702c move s0, zero                 |     s0 = 0;
                                             |     if (v1 == v0) {
    0x00197030 beq v1, v0, 0x197090          |         goto label_3;
                                             |     }
    0x00197034 move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_0:
    0x00197038 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x0019703c lw v1, (s2)                   |         v1 = *(s2);
    0x00197040 lw ra, 0x44(sp)               |         ra = *(var_44h);
                                             |         if (a0 != v1) {
    0x00197044 bne a0, v1, 0x197158          |             goto label_4;
                                             |         }
    0x00197048 lw s3, 0x40(sp)               |         s3 = *(var_40h);
    0x0019704c lw s2, 0x3c(sp)               |         s2 = *(var_3ch);
    0x00197050 lw s1, 0x38(sp)               |         s1 = *(var_38h);
    0x00197054 lw s0, 0x34(sp)               |         s0 = *(var_34h);
    0x00197058 addiu sp, sp, 0x48            |         
    0x0019705c jr ra                         |         return v0;
                                             | label_2:
    0x00197060 lw v1, (s1)                   |         v1 = *(s1);
    0x00197064 addiu v0, zero, 0xd           |         v0 = 0xd;
    0x00197068 move v0, zero                 |         v0 = 0;
    0x0019706c bne v1, v0, 0x197038          |         
                                             |     } while (v1 != v0);
    0x00197070 move s0, zero                 |     s0 = 0;
    0x00197074 b 0x197090                    |     
                                             |     while (v0 != 0) {
    0x00197078 lw v1, (s1)                   |         v1 = *(s1);
    0x0019707c addiu s0, s0, 1               |         s0++;
    0x00197080 addiu v0, v1, -1              |         v0 = v1 + -1;
    0x00197084 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x00197088 beql v0, zero, 0x1970b4       |             goto label_5;
                                             |         }
    0x0019708c lw v0, 8(s1)                  |         v0 = *((s1 + 2));
                                             | label_3:
    0x00197090 lw v0, 8(s1)                  |         v0 = *((s1 + 2));
    0x00197094 lw t9, -0x7dd8(gp)            |         t9 = *((gp - 8054));
    0x00197098 addu v0, v0, s0               |         v0 += s0;
    0x0019709c lb a0, (v0)                   |         a0 = *(v0);
    0x001970a0 jalr t9                       |         t9 ();
    0x001970a4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x001970a8 bnez v0, 0x197078             |         
                                             |     }
    0x001970ac move v0, zero                 |     v0 = 0;
    0x001970b0 b 0x197038                    |     goto label_0;
                                             | label_5:
    0x001970b4 addiu a0, zero, 0x5a          |     a0 = 0x5a;
    0x001970b8 addu v1, v0, v1               |     v1 = v0 + v1;
    0x001970bc lbu v0, -1(v1)                |     v0 = *((v1 - 1));
    0x001970c0 move v0, zero                 |     v0 = 0;
                                             |     if (v0 != a0) {
    0x001970c4 bne v0, a0, 0x197038          |         goto label_0;
                                             |     }
    0x001970c8 lw t9, -0x5824(gp)            |     t9 = *((gp - 5641));
    0x001970cc move a3, s3                   |     a3 = s3;
    0x001970d0 move a2, zero                 |     a2 = 0;
    0x001970d4 move a1, zero                 |     a1 = 0;
    0x001970d8 move a0, zero                 |     a0 = 0;
    0x001970dc bal 0x196ec8                  |     sym_X509_time_adj_ex ();
    0x001970e0 move s0, v0                   |     s0 = v0;
    0x001970e4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x001970e8 beqz v0, 0x197148             |         goto label_6;
                                             |     }
    0x001970ec lw t9, -0x7db0(gp)            |     t9 = *((gp - 8044));
    0x001970f0 move a3, v0                   |     a3 = v0;
    0x001970f4 move a2, s1                   |     a2 = s1;
    0x001970f8 addiu a1, sp, 0x28            |     a1 = sp + 0x28;
    0x001970fc addiu a0, sp, 0x24            |     a0 = sp + 0x24;
    0x00197100 jalr t9                       |     t9 ();
    0x00197104 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00197108 beqz v0, 0x197148             |         goto label_6;
                                             |     }
    0x0019710c lw v0, 0x24(sp)               |     v0 = *(var_24h_2);
    0x00197110 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v0 < 0) {
    0x00197114 bltz v0, 0x197150             |         goto label_7;
                                             |     }
    0x00197118 lw v0, 0x28(sp)               |     v0 = *(var_28h_2);
    0x0019711c slti v0, v0, 0                |     v0 = (v0 < 0) ? 1 : 0;
    0x00197120 addiu v1, zero, -1            |     v1 = -1;
                                             |     if (v0 == 0) {
    0x00197124 movn v1, a0, v0               |         v1 = a0;
                                             |     }
    0x00197128 move v0, v1                   |     v0 = v1;
                                             |     do {
                                             | label_1:
    0x0019712c lw t9, -0x7380(gp)            |         t9 = *((gp - 7392));
    0x00197130 sw v0, 0x1c(sp)               |         *(var_1ch_2) = v0;
    0x00197134 move a0, s0                   |         a0 = s0;
    0x00197138 jalr t9                       |         t9 ();
    0x0019713c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00197140 lw v0, 0x1c(sp)               |         v0 = *(var_1ch_2);
    0x00197144 b 0x197038                    |         goto label_0;
                                             | label_6:
    0x00197148 move v0, zero                 |         v0 = 0;
    0x0019714c b 0x19712c                    |         
                                             |     } while (1);
                                             | label_7:
    0x00197150 addiu v0, zero, 1             |     v0 = 1;
    0x00197154 b 0x19712c                    |     goto label_1;
                                             | label_4:
    0x00197158 lw t9, -0x5428(gp)            |     t9 = *((gp - 5386));
    0x0019715c jalr t9                       |     t9 ();
    0x00197160 nop                           |     
                                             | }

[*] Function system used 1 times libcrypto.so.1.1