[*] Binary protection state of libmbedx509.so.2.16.0

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


[*] Function popen tear down of libmbedx509.so.2.16.0

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libmbedx509.so.2.16.0 @ 0x742c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.mbedtls_x509_crt_parse_der ()    | void mbedtls_x509_crt_parse_der () {
    0x0000742c lui gp, 2                         |     
    0x00007430 addiu gp, gp, -0x343c             |     
    0x00007434 addu gp, gp, t9                   |     gp += t9;
    0x00007438 addiu sp, sp, -0xc0               |     
    0x0000743c sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x00007440 sw ra, 0xbc(sp)                   |     *(var_bch) = ra;
    0x00007444 sw fp, 0xb8(sp)                   |     *(var_b8h) = fp;
    0x00007448 sw s7, 0xb4(sp)                   |     *(var_b4h) = s7;
    0x0000744c sw s6, 0xb0(sp)                   |     *(var_b0h) = s6;
    0x00007450 sw s5, 0xac(sp)                   |     *(var_ach) = s5;
    0x00007454 sw s4, 0xa8(sp)                   |     *(var_a8h) = s4;
    0x00007458 sw s3, 0xa4(sp)                   |     *(var_a4h) = s3;
    0x0000745c sw s2, 0xa0(sp)                   |     *(var_a0h) = s2;
    0x00007460 sw s1, 0x9c(sp)                   |     *(var_9ch) = s1;
    0x00007464 sw s0, 0x98(sp)                   |     *(var_98h) = s0;
                                                 |     if (a0 == 0) {
    0x00007468 beqz a0, 0x79f0                   |         goto label_20;
                                                 |     }
    0x0000746c nop                               |     
    0x00007470 move s6, a1                       |     s6 = a1;
                                                 |     if (a1 == 0) {
    0x00007474 beqz a1, 0x79f0                   |         goto label_20;
                                                 |     }
    0x00007478 move s2, a2                       |     s2 = a2;
    0x0000747c sw a0, 0x78(sp)                   |     *(var_78h) = a0;
    0x00007480 move s0, a0                       |     s0 = a0;
    0x00007484 move s1, zero                     |     s1 = 0;
    0x00007488 b 0x749c                          |     
                                                 |     while (v0 != 0) {
    0x0000748c lw v0, 0x134(s0)                  |         v0 = *((s0 + 77));
    0x00007490 move s1, s0                       |         s1 = s0;
                                                 |         if (v0 == 0) {
    0x00007494 beqz v0, 0x765c                   |             goto label_21;
                                                 |         }
    0x00007498 move s0, v0                       |         s0 = v0;
    0x0000749c lw v0, 0x18(s0)                   |         v0 = *((s0 + 6));
    0x000074a0 addiu fp, sp, 0x50                |         fp = sp + 0x50;
    0x000074a4 bnez v0, 0x748c                   |         
                                                 |     }
    0x000074a8 addiu v0, sp, 0x44                |     v0 = sp + 0x44;
    0x000074ac addiu v1, sp, 0x38                |     v1 = sp + 0x38;
    0x000074b0 sw zero, 0x50(sp)                 |     *(var_50h) = 0;
    0x000074b4 sw v0, 0x88(sp)                   |     *(var_88h) = v0;
    0x000074b8 sw v1, 0x84(sp)                   |     *(var_84h) = v1;
    0x000074bc sw zero, 0x44(sp)                 |     *(var_44h) = 0;
    0x000074c0 sw zero, 0x38(sp)                 |     *(var_38h) = 0;
    0x000074c4 sw zero, 4(fp)                    |     *(var_54h) = 0;
    0x000074c8 sw zero, 8(fp)                    |     *(var_58h) = 0;
    0x000074cc sw zero, 0x48(sp)                 |     *(var_48h) = 0;
    0x000074d0 sw zero, 0x4c(sp)                 |     *(var_4ch) = 0;
    0x000074d4 sw zero, 0x3c(sp)                 |     *(var_3ch) = 0;
    0x000074d8 sw zero, 0x40(sp)                 |     *(var_40h) = 0;
                                                 | label_19:
    0x000074dc lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
    0x000074e0 addu s7, s6, s2                   |     s7 = s6 + s2;
    0x000074e4 addiu s4, sp, 0x70                |     s4 = sp + 0x70;
    0x000074e8 addiu s3, sp, 0x6c                |     s3 = sp + 0x6c;
    0x000074ec addiu a3, zero, 0x30              |     a3 = 0x30;
    0x000074f0 move a2, s4                       |     a2 = s4;
    0x000074f4 move a1, s7                       |     a1 = s7;
    0x000074f8 move a0, s3                       |     a0 = s3;
    0x000074fc sw s6, 0x6c(sp)                   |     *(var_6ch) = s6;
    0x00007500 sw s2, 0x70(sp)                   |     *(var_70h) = s2;
    0x00007504 jalr t9                           |     t9 ();
    0x00007508 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000750c bnez v0, 0x7a08                   |         goto label_22;
                                                 |     }
    0x00007510 lw s2, 0x6c(sp)                   |     s2 = *(var_6ch);
    0x00007514 lw s5, 0x70(sp)                   |     s5 = *(var_70h);
    0x00007518 subu s7, s7, s2                   |     __asm ("subu s7, s7, s2");
    0x0000751c sltu s7, s7, s5                   |     s7 = (s7 < s5) ? 1 : 0;
    0x00007520 lw t9, -0x7f28(gp)                |     t9 = *((gp - 8138));
                                                 |     if (s7 != 0) {
    0x00007524 bnez s7, 0x79bc                   |         goto label_23;
                                                 |     }
    0x00007528 addu s2, s2, s5                   |     s2 += s5;
    0x0000752c subu s2, s2, s6                   |     __asm ("subu s2, s2, s6");
    0x00007530 sw s2, 4(s0)                      |     *((s0 + 1)) = s2;
    0x00007534 move a1, s2                       |     a1 = s2;
    0x00007538 addiu a0, zero, 1                 |     a0 = 1;
    0x0000753c jalr t9                           |     t9 ();
    0x00007540 move s7, v0                       |     s7 = v0;
    0x00007544 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00007548 sw v0, 0x6c(sp)                   |     *(var_6ch) = v0;
    0x0000754c sw v0, 8(s0)                      |     *((s0 + 2)) = v0;
                                                 |     if (v0 == 0) {
    0x00007550 beqz v0, 0x79f8                   |         goto label_24;
                                                 |     }
    0x00007554 lw t9, -0x7e4c(gp)                |     t9 = *((gp - 8083));
    0x00007558 move a2, s2                       |     a2 = s2;
    0x0000755c move a1, s6                       |     a1 = s6;
    0x00007560 move a0, v0                       |     a0 = v0;
    0x00007564 jalr t9                           |     t9 ();
    0x00007568 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000756c subu s5, s2, s5                   |     __asm ("subu s5, s2, s5");
    0x00007570 addu v0, s7, s2                   |     v0 = s7 + s2;
    0x00007574 addu s5, s7, s5                   |     s5 = s7 + s5;
    0x00007578 lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
    0x0000757c sw v0, 0x80(sp)                   |     *(var_80h) = v0;
    0x00007580 sw s5, 0x14(s0)                   |     *((s0 + 5)) = s5;
    0x00007584 addiu a3, zero, 0x30              |     a3 = 0x30;
    0x00007588 move a2, s4                       |     a2 = s4;
    0x0000758c move a1, v0                       |     a1 = v0;
    0x00007590 move a0, s3                       |     a0 = s3;
    0x00007594 sw s5, 0x6c(sp)                   |     *(var_6ch) = s5;
    0x00007598 jalr t9                           |     t9 ();
    0x0000759c move s2, v0                       |     s2 = v0;
    0x000075a0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x000075a4 bnez v0, 0x76d8                   |         goto label_2;
                                                 |     }
    0x000075a8 lw a0, 0x6c(sp)                   |     a0 = *(var_6ch);
    0x000075ac lw v1, 0x70(sp)                   |     v1 = *(var_70h);
    0x000075b0 lw v0, 0x14(s0)                   |     v0 = *((s0 + 5));
    0x000075b4 addu a1, a0, v1                   |     a1 = a0 + v1;
    0x000075b8 lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
    0x000075bc addiu v1, sp, 0x20                |     v1 = sp + 0x20;
    0x000075c0 subu v0, a1, v0                   |     __asm ("subu v0, a1, v0");
    0x000075c4 sw a1, 0x7c(sp)                   |     *(var_7ch) = a1;
    0x000075c8 sw v1, 0x8c(sp)                   |     *(var_8ch) = v1;
    0x000075cc sw v0, 0x10(s0)                   |     *((s0 + 4)) = v0;
    0x000075d0 addiu a3, zero, 0xa0              |     a3 = 0xa0;
    0x000075d4 move a2, v1                       |     a2 = v1;
    0x000075d8 move a0, s3                       |     a0 = s3;
    0x000075dc jalr t9                           |     t9 ();
    0x000075e0 move s2, v0                       |     s2 = v0;
    0x000075e4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x000075e8 beqz v0, 0x7724                   |         goto label_25;
                                                 |     }
    0x000075ec addiu v0, zero, -0x62             |     v0 = -0x62;
                                                 |     if (s2 == v0) {
    0x000075f0 beq s2, v0, 0x79d4                |         goto label_26;
                                                 |     }
    0x000075f4 nop                               |     
                                                 | label_1:
    0x000075f8 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 | label_5:
    0x000075fc move a0, s0                       |     a0 = s0;
    0x00007600 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x00007604 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 | label_0:
    0x00007608 lw v0, 0x78(sp)                   |     v0 = *(var_78h);
    0x0000760c beqz s1, 0x7618                   |     
                                                 |     while (1) {
    0x00007610 sw zero, 0x134(s1)                |         *((s1 + 77)) = 0;
    0x00007614 lw v0, 0x78(sp)                   |         v0 = *(var_78h);
    0x00007618 lw t9, -0x7e40(gp)                |         t9 = *((gp - 8080));
                                                 |         if (v0 == s0) {
    0x0000761c beq v0, s0, 0x76f0                |             goto label_6;
                                                 |         }
    0x00007620 move a0, s0                       |         a0 = s0;
    0x00007624 jalr t9                           |         t9 ();
    0x00007628 lw ra, 0xbc(sp)                   |         ra = *(var_bch);
    0x0000762c move v0, s2                       |         v0 = s2;
    0x00007630 lw fp, 0xb8(sp)                   |         fp = *(var_b8h);
    0x00007634 lw s7, 0xb4(sp)                   |         s7 = *(var_b4h);
    0x00007638 lw s6, 0xb0(sp)                   |         s6 = *(var_b0h);
    0x0000763c lw s5, 0xac(sp)                   |         s5 = *(var_ach);
    0x00007640 lw s4, 0xa8(sp)                   |         s4 = *(var_a8h);
    0x00007644 lw s3, 0xa4(sp)                   |         s3 = *(var_a4h);
    0x00007648 lw s2, 0xa0(sp)                   |         s2 = *(var_a0h);
    0x0000764c lw s1, 0x9c(sp)                   |         s1 = *(var_9ch);
    0x00007650 lw s0, 0x98(sp)                   |         s0 = *(var_98h);
    0x00007654 addiu sp, sp, 0xc0                |         
    0x00007658 jr ra                             |         return v0;
                                                 | label_21:
    0x0000765c lw t9, -0x7f28(gp)                |         t9 = *((gp - 8138));
    0x00007660 addiu a1, zero, 0x138             |         a1 = segment.ABIFLAGS;
    0x00007664 addiu a0, zero, 1                 |         a0 = 1;
    0x00007668 jalr t9                           |         t9 ();
    0x0000766c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00007670 sw v0, 0x134(s0)                  |         *((s0 + 77)) = v0;
                                                 |         if (v0 == 0) {
    0x00007674 beqz v0, 0x7a00                   |             goto label_27;
                                                 |         }
    0x00007678 lw t9, -0x7fac(gp)                |         t9 = *((gp - 8171));
    0x0000767c move a0, v0                       |         a0 = v0;
    0x00007680 bal 0x721c                        |         sym_mbedtls_x509_crt_init ();
    0x00007684 addiu fp, sp, 0x50                |         fp = sp + 0x50;
    0x00007688 lw v0, 0x134(s0)                  |         v0 = *((s0 + 77));
    0x0000768c addiu v1, sp, 0x44                |         v1 = sp + 0x44;
    0x00007690 addiu a0, sp, 0x38                |         a0 = sp + 0x38;
    0x00007694 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00007698 sw zero, 0x50(sp)                 |         *(var_50h) = 0;
    0x0000769c sw v1, 0x88(sp)                   |         *(var_88h) = v1;
    0x000076a0 sw a0, 0x84(sp)                   |         *(var_84h) = a0;
    0x000076a4 sw zero, 0x44(sp)                 |         *(var_44h) = 0;
    0x000076a8 sw zero, 0x38(sp)                 |         *(var_38h) = 0;
    0x000076ac sw zero, 4(fp)                    |         *(var_54h) = 0;
    0x000076b0 sw zero, 8(fp)                    |         *(var_58h) = 0;
    0x000076b4 sw zero, 0x48(sp)                 |         *(var_48h) = 0;
    0x000076b8 sw zero, 0x4c(sp)                 |         *(var_4ch) = 0;
    0x000076bc sw zero, 0x3c(sp)                 |         *(var_3ch) = 0;
    0x000076c0 sw zero, 0x40(sp)                 |         *(var_40h) = 0;
    0x000076c4 move s1, s0                       |         s1 = s0;
                                                 |         if (v0 != 0) {
    0x000076c8 bnez v0, 0x8030                   |             goto label_28;
                                                 |         }
    0x000076cc addiu s2, zero, -0x2800           |         s2 = -0x2800;
    0x000076d0 move s0, zero                     |         s0 = 0;
    0x000076d4 b 0x7610                          |         
                                                 |     }
                                                 | label_2:
    0x000076d8 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
    0x000076dc move a0, s0                       |     a0 = s0;
    0x000076e0 addiu s2, s2, -0x2180             |     s2 += -0x2180;
    0x000076e4 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x000076e8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (s2 != 0) {
    0x000076ec bnez s2, 0x7608                   |         goto label_0;
                                                 |     }
                                                 | label_6:
    0x000076f0 lw ra, 0xbc(sp)                   |     ra = *(var_bch);
                                                 | label_3:
    0x000076f4 move v0, s2                       |     v0 = s2;
    0x000076f8 lw fp, 0xb8(sp)                   |     fp = *(var_b8h);
    0x000076fc lw s7, 0xb4(sp)                   |     s7 = *(var_b4h);
    0x00007700 lw s6, 0xb0(sp)                   |     s6 = *(var_b0h);
    0x00007704 lw s5, 0xac(sp)                   |     s5 = *(var_ach);
    0x00007708 lw s4, 0xa8(sp)                   |     s4 = *(var_a8h);
    0x0000770c lw s3, 0xa4(sp)                   |     s3 = *(var_a4h);
    0x00007710 lw s2, 0xa0(sp)                   |     s2 = *(var_a0h);
    0x00007714 lw s1, 0x9c(sp)                   |     s1 = *(var_9ch);
    0x00007718 lw s0, 0x98(sp)                   |     s0 = *(var_98h);
    0x0000771c addiu sp, sp, 0xc0                |     
    0x00007720 jr ra                             |     return v0;
                                                 | label_25:
    0x00007724 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007728 lw s5, 0x20(sp)                   |     s5 = *(var_20h);
    0x0000772c lw t9, -0x7ec4(gp)                |     t9 = *((gp - 8113));
    0x00007730 addu s5, v0, s5                   |     s5 = v0 + s5;
    0x00007734 addiu a2, s0, 0x18                |     a2 = s0 + 0x18;
    0x00007738 move a1, s5                       |     a1 = s5;
    0x0000773c move a0, s3                       |     a0 = s3;
    0x00007740 jalr t9                           |     t9 ();
    0x00007744 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007748 bnez v0, 0x79dc                   |         goto label_29;
                                                 |     }
    0x0000774c lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007750 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 |     if (s5 != v0) {
    0x00007754 bne s5, v0, 0x7a20                |         goto label_30;
                                                 |     }
                                                 | label_4:
    0x00007758 lw t9, -0x7fa8(gp)                |     t9 = *((gp - 8170));
    0x0000775c lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x00007760 addiu a2, s0, 0x1c                |     a2 = s0 + 0x1c;
    0x00007764 move a0, s3                       |     a0 = s3;
    0x00007768 bal 0x2628                        |     sym_mbedtls_x509_get_serial ();
    0x0000776c move s2, v0                       |     s2 = v0;
    0x00007770 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007774 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x00007778 lw t9, -0x7fa4(gp)                |     t9 = *((gp - 8169));
    0x0000777c addiu s5, s0, 0x28                |     s5 = s0 + 0x28;
    0x00007780 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x00007784 move a3, fp                       |     a3 = fp;
    0x00007788 move a2, s5                       |     a2 = s5;
    0x0000778c move a0, s3                       |     a0 = s3;
    0x00007790 bal 0x2718                        |     sym_mbedtls_x509_get_alg ();
    0x00007794 move s2, v0                       |     s2 = v0;
    0x00007798 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000779c bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x000077a0 lw v0, 0x18(s0)                   |     v0 = *((s0 + 6));
    0x000077a4 sltiu v1, v0, 3                   |     v1 = (v0 < 3) ? 1 : 0;
    0x000077a8 lw t9, -0x7fa0(gp)                |     t9 = *((gp - 8168));
                                                 |     if (v1 == 0) {
    0x000077ac beqz v1, 0x7aa4                   |         goto label_31;
                                                 |     }
    0x000077b0 addiu v0, v0, 1                   |     v0++;
    0x000077b4 addiu v1, s0, 0x130               |     v1 = s0 + 0x130;
    0x000077b8 sw v0, 0x18(s0)                   |     *((s0 + 6)) = v0;
    0x000077bc addiu a3, s0, 0x12c               |     a3 = s0 + 0x12c;
    0x000077c0 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x000077c4 addiu a2, s0, 0x128               |     a2 = s0 + 0x128;
    0x000077c8 move a1, fp                       |     a1 = fp;
    0x000077cc move a0, s5                       |     a0 = s5;
    0x000077d0 bal 0x3210                        |     sym_mbedtls_x509_get_sig_alg ();
    0x000077d4 move s2, v0                       |     s2 = v0;
    0x000077d8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x000077dc bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x000077e0 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x000077e4 lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
    0x000077e8 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x000077ec sw v0, 0x3c(s0)                   |     *((s0 + 15)) = v0;
    0x000077f0 addiu a3, zero, 0x30              |     a3 = 0x30;
    0x000077f4 move a2, s4                       |     a2 = s4;
    0x000077f8 move a0, s3                       |     a0 = s3;
    0x000077fc jalr t9                           |     t9 ();
    0x00007800 move s2, v0                       |     s2 = v0;
    0x00007804 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007808 bnez v0, 0x76d8                   |         goto label_2;
                                                 |     }
    0x0000780c lw a1, 0x6c(sp)                   |     a1 = *(var_6ch);
    0x00007810 lw v0, 0x70(sp)                   |     v0 = *(var_70h);
    0x00007814 lw t9, -0x7f9c(gp)                |     t9 = *((gp - 8167));
    0x00007818 addiu a2, s0, 0x4c                |     a2 = s0 + 0x4c;
    0x0000781c addu a1, a1, v0                   |     a1 += v0;
    0x00007820 move a0, s3                       |     a0 = s3;
    0x00007824 bal 0x2b3c                        |     sym_mbedtls_x509_get_name ();
    0x00007828 move s2, v0                       |     s2 = v0;
    0x0000782c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007830 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x00007834 lw v1, 0x3c(s0)                   |     v1 = *((s0 + 15));
    0x00007838 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x0000783c lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
    0x00007840 subu v0, v0, v1                   |     __asm ("subu v0, v0, v1");
    0x00007844 lw a2, 0x8c(sp)                   |     a2 = *(var_8ch);
    0x00007848 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x0000784c sw v0, 0x38(s0)                   |     *((s0 + 14)) = v0;
    0x00007850 addiu a3, zero, 0x30              |     a3 = 0x30;
    0x00007854 move a0, s3                       |     a0 = s3;
    0x00007858 jalr t9                           |     t9 ();
    0x0000785c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x00007860 beqz v0, 0x7a34                   |         goto label_32;
                                                 |     }
    0x00007864 addiu s2, v0, -0x2400             |     s2 = v0 + -0x2400;
    0x00007868 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 |     if (s2 != 0) {
    0x0000786c bnez s2, 0x75f8                   |         goto label_1;
                                                 |     }
    0x00007870 lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
                                                 | label_7:
    0x00007874 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x00007878 sw v0, 0x48(s0)                   |     *((s0 + 18)) = v0;
    0x0000787c addiu a3, zero, 0x30              |     a3 = 0x30;
    0x00007880 move a2, s4                       |     a2 = s4;
    0x00007884 move a0, s3                       |     a0 = s3;
    0x00007888 jalr t9                           |     t9 ();
    0x0000788c move s2, v0                       |     s2 = v0;
    0x00007890 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007894 bnez v0, 0x76d8                   |         goto label_2;
                                                 |     }
    0x00007898 lw a1, 0x70(sp)                   |     a1 = *(var_70h);
    0x0000789c lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 |     if (a1 == 0) {
    0x000078a0 beqz a1, 0x78c8                   |         goto label_33;
                                                 |     }
    0x000078a4 lw t9, -0x7f9c(gp)                |     t9 = *((gp - 8167));
    0x000078a8 addiu a2, s0, 0x6c                |     a2 = s0 + 0x6c;
    0x000078ac addu a1, v0, a1                   |     a1 = v0 + a1;
    0x000078b0 move a0, s3                       |     a0 = s3;
    0x000078b4 bal 0x2b3c                        |     sym_mbedtls_x509_get_name ();
    0x000078b8 move s2, v0                       |     s2 = v0;
    0x000078bc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x000078c0 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x000078c4 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 | label_33:
    0x000078c8 lw v1, 0x48(s0)                   |     v1 = *((s0 + 18));
    0x000078cc lw t9, -0x7f2c(gp)                |     t9 = *((gp - 8139));
    0x000078d0 subu v0, v0, v1                   |     __asm ("subu v0, v0, v1");
    0x000078d4 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x000078d8 sw v0, 0x44(s0)                   |     *((s0 + 17)) = v0;
    0x000078dc addiu a2, s0, 0xbc                |     a2 = s0 + 0xbc;
    0x000078e0 move a0, s3                       |     a0 = s3;
    0x000078e4 jalr t9                           |     t9 ();
    0x000078e8 move s2, v0                       |     s2 = v0;
    0x000078ec lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x000078f0 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x000078f4 lw v0, 0x18(s0)                   |     v0 = *((s0 + 6));
    0x000078f8 addiu v0, v0, -2                  |     v0 += -2;
    0x000078fc sltiu v0, v0, 2                   |     v0 = (v0 < 2) ? 1 : 0;
    0x00007900 lw s4, -0x7fdc(gp)                |     s4 = *((gp - 8183));
                                                 |     if (v0 != 0) {
    0x00007904 bnez v0, 0x7abc                   |         goto label_34;
                                                 |     }
                                                 | label_8:
    0x00007908 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 | label_9:
    0x0000790c lw v1, 0x7c(sp)                   |     v1 = *(var_7ch);
    0x00007910 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 |     if (v1 != v0) {
    0x00007914 bne v1, v0, 0x79c0                |         goto label_35;
                                                 |     }
    0x00007918 lw t9, -0x7fa4(gp)                |     t9 = *((gp - 8169));
                                                 | label_18:
    0x0000791c lw a3, 0x88(sp)                   |     a3 = *(var_88h);
    0x00007920 lw a2, 0x84(sp)                   |     a2 = *(var_84h);
    0x00007924 lw a1, 0x80(sp)                   |     a1 = *(var_80h);
    0x00007928 move a0, s3                       |     a0 = s3;
    0x0000792c bal 0x2718                        |     sym_mbedtls_x509_get_alg ();
    0x00007930 move s2, v0                       |     s2 = v0;
    0x00007934 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007938 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x0000793c lw a2, 0x2c(s0)                   |     a2 = *((s0 + 11));
    0x00007940 lw v0, 0x3c(sp)                   |     v0 = *(var_3ch);
    0x00007944 lw t9, -0x7e60(gp)                |     t9 = *((gp - 8088));
                                                 |     if (a2 != v0) {
    0x00007948 bne a2, v0, 0x8018                |         goto label_36;
                                                 |     }
    0x0000794c lw a1, 0x40(sp)                   |     a1 = *(var_40h);
    0x00007950 lw a0, 0x30(s0)                   |     a0 = *((s0 + 12));
    0x00007954 jalr t9                           |     t9 ();
    0x00007958 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000795c bnez v0, 0x8018                   |         goto label_36;
                                                 |     }
    0x00007960 lw a2, 0x54(sp)                   |     a2 = *(var_54h);
    0x00007964 lw v0, 0x48(sp)                   |     v0 = *(var_48h);
    0x00007968 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 |     if (a2 != v0) {
    0x0000796c bne a2, v0, 0x801c                |         goto label_37;
                                                 |     }
    0x00007970 lw t9, -0x7e60(gp)                |     t9 = *((gp - 8088));
                                                 |     if (a2 != 0) {
    0x00007974 beqz a2, 0x798c                   |         
    0x00007978 lw a1, 0x4c(sp)                   |         a1 = *(var_4ch);
    0x0000797c lw a0, 0x58(sp)                   |         a0 = *(var_58h);
    0x00007980 jalr t9                           |         t9 ();
    0x00007984 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x00007988 bnez v0, 0x8018                   |             goto label_36;
                                                 |         }
                                                 |     }
    0x0000798c lw t9, -0x7f98(gp)                |     t9 = *((gp - 8166));
    0x00007990 lw a1, 0x80(sp)                   |     a1 = *(var_80h);
    0x00007994 addiu a2, s0, 0x11c               |     a2 = s0 + 0x11c;
    0x00007998 move a0, s3                       |     a0 = s3;
    0x0000799c bal 0x3168                        |     sym_mbedtls_x509_get_sig ();
    0x000079a0 move s2, v0                       |     s2 = v0;
    0x000079a4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x000079a8 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x000079ac lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x000079b0 lw v1, 0x80(sp)                   |     v1 = *(var_80h);
    0x000079b4 lw ra, 0xbc(sp)                   |     ra = *(var_bch);
                                                 |     if (v1 == v0) {
    0x000079b8 beq v1, v0, 0x76f4                |         goto label_3;
                                                 |     }
                                                 | label_23:
    0x000079bc lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 | label_35:
    0x000079c0 move a0, s0                       |     a0 = s0;
    0x000079c4 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x000079c8 addiu s2, zero, -0x21e6           |     s2 = -0x21e6;
    0x000079cc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000079d0 b 0x7608                          |     goto label_0;
                                                 | label_26:
    0x000079d4 sw zero, 0x18(s0)                 |     *((s0 + 6)) = 0;
    0x000079d8 b 0x7758                          |     goto label_4;
                                                 | label_29:
    0x000079dc addiu s2, v0, -0x2200             |     s2 = v0 + -0x2200;
    0x000079e0 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 |     if (s2 == 0) {
    0x000079e4 beqz s2, 0x7758                   |         goto label_4;
                                                 |     }
    0x000079e8 b 0x75fc                          |     goto label_5;
    0x000079ec nop                               |     
                                                 | label_20:
    0x000079f0 addiu s2, zero, -0x2800           |     s2 = -0x2800;
    0x000079f4 b 0x76f0                          |     goto label_6;
                                                 | label_24:
    0x000079f8 addiu s2, zero, -0x2880           |     s2 = -0x2880;
    0x000079fc b 0x7608                          |     goto label_0;
                                                 | label_27:
    0x00007a00 addiu s2, zero, -0x2880           |     s2 = -0x2880;
    0x00007a04 b 0x76f0                          |     goto label_6;
                                                 | label_22:
    0x00007a08 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
    0x00007a0c move a0, s0                       |     a0 = s0;
    0x00007a10 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x00007a14 addiu s2, zero, -0x2180           |     s2 = -0x2180;
    0x00007a18 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00007a1c b 0x7608                          |     goto label_0;
                                                 | label_30:
    0x00007a20 move a0, s0                       |     a0 = s0;
    0x00007a24 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x00007a28 addiu s2, zero, -0x2266           |     s2 = -0x2266;
    0x00007a2c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00007a30 b 0x7608                          |     goto label_0;
                                                 | label_32:
    0x00007a34 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007a38 lw s5, 0x20(sp)                   |     s5 = *(var_20h);
    0x00007a3c lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x00007a40 addu s5, v0, s5                   |     s5 = v0 + s5;
    0x00007a44 addiu a2, s0, 0x8c                |     a2 = s0 + 0x8c;
    0x00007a48 move a1, s5                       |     a1 = s5;
    0x00007a4c move a0, s3                       |     a0 = s3;
    0x00007a50 bal 0x2d78                        |     sym_mbedtls_x509_get_time ();
    0x00007a54 move s2, v0                       |     s2 = v0;
    0x00007a58 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007a5c bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x00007a60 lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x00007a64 addiu a2, s0, 0xa4                |     a2 = s0 + 0xa4;
    0x00007a68 move a1, s5                       |     a1 = s5;
    0x00007a6c move a0, s3                       |     a0 = s3;
    0x00007a70 bal 0x2d78                        |     sym_mbedtls_x509_get_time ();
    0x00007a74 move s2, v0                       |     s2 = v0;
    0x00007a78 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007a7c bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x00007a80 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007a84 lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
                                                 |     if (s5 == v0) {
    0x00007a88 beq s5, v0, 0x7874                |         goto label_7;
                                                 |     }
    0x00007a8c lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
    0x00007a90 move a0, s0                       |     a0 = s0;
    0x00007a94 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x00007a98 addiu s2, zero, -0x2466           |     s2 = -0x2466;
    0x00007a9c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00007aa0 b 0x7608                          |     goto label_0;
                                                 | label_31:
    0x00007aa4 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
    0x00007aa8 move a0, s0                       |     a0 = s0;
    0x00007aac bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x00007ab0 addiu s2, zero, -0x2580           |     s2 = -0x2580;
    0x00007ab4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00007ab8 b 0x7608                          |     goto label_0;
                                                 | label_34:
    0x00007abc lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x00007ac0 addiu s4, s4, 0x2350              |     s4 += entry0;
    0x00007ac4 addiu a3, zero, 1                 |     a3 = 1;
    0x00007ac8 addiu a2, s0, 0xc4                |     a2 = s0 + 0xc4;
    0x00007acc move t9, s4                       |     t9 = s4;
    0x00007ad0 move a0, s3                       |     a0 = s3;
    0x00007ad4 bal 0x2350                        |     entry0 ();
    0x00007ad8 move s2, v0                       |     s2 = v0;
    0x00007adc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007ae0 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x00007ae4 lw v0, 0x18(s0)                   |     v0 = *((s0 + 6));
    0x00007ae8 addiu v0, v0, -2                  |     v0 += -2;
    0x00007aec sltiu v0, v0, 2                   |     v0 = (v0 < 2) ? 1 : 0;
    0x00007af0 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
                                                 |     if (v0 == 0) {
    0x00007af4 beqz v0, 0x7908                   |         goto label_8;
                                                 |     }
    0x00007af8 addiu a3, zero, 2                 |     a3 = 2;
    0x00007afc addiu a2, s0, 0xd0                |     a2 = s0 + 0xd0;
    0x00007b00 move t9, s4                       |     t9 = s4;
    0x00007b04 move a0, s3                       |     a0 = s3;
    0x00007b08 bal 0x2350                        |     entry0 ();
    0x00007b0c move s2, v0                       |     s2 = v0;
    0x00007b10 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007b14 bnez v0, 0x75f8                   |         goto label_1;
                                                 |     }
    0x00007b18 lw v1, 0x18(s0)                   |     v1 = *((s0 + 6));
    0x00007b1c addiu v0, zero, 3                 |     v0 = 3;
    0x00007b20 lw t9, -0x7f90(gp)                |     t9 = *((gp - 8164));
                                                 |     if (v1 != v0) {
    0x00007b24 bne v1, v0, 0x7908                |         goto label_8;
                                                 |     }
    0x00007b28 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x00007b2c addiu a3, zero, 3                 |     a3 = 3;
    0x00007b30 addiu a2, s0, 0xdc                |     a2 = s0 + 0xdc;
    0x00007b34 move a0, s3                       |     a0 = s3;
    0x00007b38 bal 0x3358                        |     sym_mbedtls_x509_get_ext ();
    0x00007b3c move s2, v0                       |     s2 = v0;
    0x00007b40 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007b44 bnez v0, 0x8004                   |         goto label_38;
                                                 |     }
    0x00007b48 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007b4c addiu s4, sp, 0x68                |     s4 = sp + 0x68;
    0x00007b50 addiu fp, sp, 0x30                |     fp = sp + 0x30;
    0x00007b54 addiu s7, sp, 0x64                |     s7 = sp + 0x64;
    0x00007b58 addiu s6, sp, 0x60                |     s6 = sp + 0x60;
    0x00007b5c addiu s5, sp, 0x2c                |     s5 = sp + 0x2c;
                                                 | label_10:
    0x00007b60 lw v1, 0x7c(sp)                   |     v1 = *(var_7ch);
    0x00007b64 sltu v1, v0, v1                   |     v1 = (v0 < v1) ? 1 : 0;
    0x00007b68 lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
                                                 |     if (v1 == 0) {
    0x00007b6c beqz v1, 0x7fe0                   |         goto label_39;
                                                 |     }
    0x00007b70 lw a1, 0x7c(sp)                   |     a1 = *(var_7ch);
    0x00007b74 addiu a3, zero, 0x30              |     a3 = 0x30;
    0x00007b78 move a2, s4                       |     a2 = s4;
    0x00007b7c move a0, s3                       |     a0 = s3;
    0x00007b80 sw zero, 0x2c(sp)                 |     *(var_2ch) = 0;
    0x00007b84 sw zero, 0x30(sp)                 |     *(var_30h) = 0;
    0x00007b88 sw zero, 0x34(sp)                 |     *(var_34h) = 0;
    0x00007b8c sw zero, 0x64(sp)                 |     *(var_64h) = 0;
    0x00007b90 sw zero, 0x60(sp)                 |     *(var_60h) = 0;
    0x00007b94 jalr t9                           |     t9 ();
    0x00007b98 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x00007b9c bnez v0, 0x7c6c                   |         
    0x00007ba0 lw v0, 0x6c(sp)                   |         v0 = *(var_6ch);
    0x00007ba4 lw s2, 0x68(sp)                   |         s2 = *(var_68h);
    0x00007ba8 lw t9, -0x7ea8(gp)                |         t9 = *((gp - 8106));
    0x00007bac addu s2, v0, s2                   |         s2 = v0 + s2;
    0x00007bb0 addiu a3, zero, 6                 |         a3 = 6;
    0x00007bb4 move a2, fp                       |         a2 = fp;
    0x00007bb8 move a1, s2                       |         a1 = s2;
    0x00007bbc move a0, s3                       |         a0 = s3;
    0x00007bc0 jalr t9                           |         t9 ();
    0x00007bc4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x00007bc8 bnez v0, 0x7c6c                   |             goto label_40;
                                                 |         }
    0x00007bcc lw v1, 0x6c(sp)                   |         v1 = *(var_6ch);
    0x00007bd0 lw v0, 0x30(sp)                   |         v0 = *(var_30h);
    0x00007bd4 lw t9, -0x7e58(gp)                |         t9 = *((gp - 8086));
    0x00007bd8 addu v0, v1, v0                   |         v0 = v1 + v0;
    0x00007bdc addiu a3, zero, 6                 |         a3 = 6;
    0x00007be0 move a2, s7                       |         a2 = s7;
    0x00007be4 move a1, s2                       |         a1 = s2;
    0x00007be8 move a0, s3                       |         a0 = s3;
    0x00007bec sw a3, 0x2c(sp)                   |         *(var_2ch) = a3;
    0x00007bf0 sw v1, 0x34(sp)                   |         *(var_34h) = v1;
    0x00007bf4 sw v0, 0x6c(sp)                   |         *(var_6ch) = v0;
    0x00007bf8 jalr t9                           |         t9 ();
    0x00007bfc lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x00007c00 beqz v0, 0x7c10                   |             
    0x00007c04 addiu v1, zero, -0x62             |             v1 = -0x62;
                                                 |             if (v0 != v1) {
    0x00007c08 bne v0, v1, 0x7c6c                |                 goto label_40;
                                                 |             }
    0x00007c0c nop                               |             
                                                 |         }
    0x00007c10 lw t9, -0x7ea8(gp)                |         t9 = *((gp - 8106));
    0x00007c14 addiu a3, zero, 4                 |         a3 = 4;
    0x00007c18 move a2, s4                       |         a2 = s4;
    0x00007c1c move a1, s2                       |         a1 = s2;
    0x00007c20 move a0, s3                       |         a0 = s3;
    0x00007c24 jalr t9                           |         t9 ();
    0x00007c28 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x00007c2c bnez v0, 0x7c6c                   |             goto label_40;
                                                 |         }
    0x00007c30 lw v0, 0x6c(sp)                   |         v0 = *(var_6ch);
    0x00007c34 lw v1, 0x68(sp)                   |         v1 = *(var_68h);
    0x00007c38 addu v0, v0, v1                   |         v0 += v1;
    0x00007c3c lw t9, -0x7e50(gp)                |         t9 = *((gp - 8084));
                                                 |         if (s2 != v0) {
    0x00007c40 bne s2, v0, 0x7d78                |             goto label_17;
                                                 |         }
    0x00007c44 move a1, s6                       |         a1 = s6;
    0x00007c48 move a0, s5                       |         a0 = s5;
    0x00007c4c jalr t9                           |         t9 ();
    0x00007c50 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x00007c54 beqz v0, 0x7c88                   |             goto label_41;
                                                 |         }
    0x00007c58 lw v0, 0x64(sp)                   |         v0 = *(var_64h);
    0x00007c5c sw s2, 0x6c(sp)                   |         *(var_6ch) = s2;
                                                 |         if (v0 == 0) {
    0x00007c60 beqz v0, 0x7c80                   |             goto label_42;
                                                 |         }
                                                 | label_11:
    0x00007c64 addiu s2, zero, -0x2562           |         s2 = -0x2562;
    0x00007c68 b 0x75f8                          |         goto label_1;
                                                 |     }
                                                 | label_40:
    0x00007c6c addiu s2, v0, -0x2500             |     s2 = v0 + -0x2500;
    0x00007c70 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 |     if (s2 == 0) {
    0x00007c74 beqz s2, 0x790c                   |         goto label_9;
                                                 |     }
    0x00007c78 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
    0x00007c7c b 0x75fc                          |     goto label_5;
                                                 | label_42:
    0x00007c80 move v0, s2                       |     v0 = s2;
    0x00007c84 b 0x7b60                          |     goto label_10;
                                                 | label_41:
    0x00007c88 lw v1, 0xf8(s0)                   |     v1 = *((s0 + 62));
    0x00007c8c lw v0, 0x60(sp)                   |     v0 = *(var_60h);
    0x00007c90 and a0, v1, v0                    |     a0 = v1 & v0;
    0x00007c94 or v1, v1, v0                     |     v1 |= v0;
                                                 |     if (a0 != 0) {
    0x00007c98 bnez a0, 0x7fd8                   |         goto label_43;
                                                 |     }
    0x00007c9c addiu a0, zero, 0x100             |     a0 = 0x100;
    0x00007ca0 sw v1, 0xf8(s0)                   |     *((s0 + 62)) = v1;
                                                 |     if (v0 == a0) {
    0x00007ca4 beq v0, a0, 0x7f0c                |         goto label_44;
                                                 |     }
    0x00007ca8 slti v1, v0, 0x101                |     v1 = (v0 < 0x101) ? 1 : 0;
    0x00007cac addiu v1, zero, 4                 |     v1 = 4;
                                                 |     if (v1 == 0) {
    0x00007cb0 beqz v1, 0x7e80                   |         goto label_45;
                                                 |     }
    0x00007cb4 addiu v1, zero, 0x20              |     v1 = 0x20;
                                                 |     if (v0 == v1) {
    0x00007cb8 beq v0, v1, 0x7e0c                |         goto label_46;
                                                 |     }
    0x00007cbc lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
                                                 |     if (v0 != v1) {
    0x00007cc0 bne v0, v1, 0x7e04                |         goto label_16;
                                                 |     }
    0x00007cc4 addiu a3, zero, 0x30              |     a3 = 0x30;
    0x00007cc8 addiu a2, sp, 0x5c                |     a2 = sp + 0x5c;
    0x00007ccc move a1, s2                       |     a1 = s2;
    0x00007cd0 move a0, s3                       |     a0 = s3;
    0x00007cd4 jalr t9                           |     t9 ();
    0x00007cd8 addiu v1, s0, 0xe8                |     v1 = s0 + 0xe8;
    0x00007cdc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00007ce0 sw v1, 0x90(sp)                   |     *(var_90h) = v1;
                                                 |     if (v0 != 0) {
    0x00007ce4 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007ce8 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007cec lw v1, 0x5c(sp)                   |     v1 = *(var_5ch);
    0x00007cf0 addu v1, v0, v1                   |     v1 = v0 + v1;
                                                 |     if (s2 != v1) {
    0x00007cf4 bne s2, v1, 0x7d78                |         goto label_17;
                                                 |     }
    0x00007cf8 nop                               |     
                                                 | label_12:
    0x00007cfc sltu v1, v0, s2                   |     v1 = (v0 < s2) ? 1 : 0;
    0x00007d00 subu v1, s2, v0                   |     __asm ("subu v1, s2, v0");
                                                 |     if (v1 == 0) {
    0x00007d04 beqz v1, 0x7d6c                   |         goto label_47;
                                                 |     }
    0x00007d08 addiu v1, v0, 1                   |     v1 = v0 + 1;
                                                 |     if (v1 <= 0) {
    0x00007d0c blez v1, 0x7de8                   |         goto label_48;
                                                 |     }
    0x00007d10 lbu v0, (v0)                      |     v0 = *(v0);
    0x00007d14 lw t9, -0x7efc(gp)                |     t9 = *((gp - 8127));
    0x00007d18 lw a2, 0x8c(sp)                   |     a2 = *(var_8ch);
    0x00007d1c move a1, s2                       |     a1 = s2;
    0x00007d20 move a0, s3                       |     a0 = s3;
    0x00007d24 sw v0, 0x94(sp)                   |     *(var_94h) = v0;
    0x00007d28 sw v1, 0x6c(sp)                   |     *(var_6ch) = v1;
    0x00007d2c jalr t9                           |     t9 ();
    0x00007d30 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007d34 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007d38 lw v1, 0x94(sp)                   |     v1 = *(var_94h);
    0x00007d3c addiu v0, zero, -0x40             |     v0 = -0x40;
    0x00007d40 and v0, v1, v0                    |     v0 = v1 & v0;
    0x00007d44 addiu a0, zero, 0x80              |     a0 = 0x80;
    0x00007d48 addiu v0, zero, 0x82              |     v0 = 0x82;
                                                 |     if (v0 != a0) {
    0x00007d4c bne v0, a0, 0x7c64                |         goto label_11;
                                                 |     }
    0x00007d50 lw v1, 0x90(sp)                   |     v1 = *(var_90h);
                                                 |     if (v1 == v0) {
    0x00007d54 beq v1, v0, 0x7d80                |         goto label_49;
                                                 |     }
    0x00007d58 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007d5c lw v1, 0x20(sp)                   |     v1 = *(var_20h);
    0x00007d60 addu v0, v0, v1                   |     v0 += v1;
    0x00007d64 sw v0, 0x6c(sp)                   |     *(var_6ch) = v0;
    0x00007d68 b 0x7cfc                          |     goto label_12;
                                                 | label_47:
    0x00007d6c lw v1, 0x90(sp)                   |     v1 = *(var_90h);
    0x00007d70 sw zero, 0xc(v1)                  |     *((v1 + 3)) = 0;
                                                 |     if (s2 == v0) {
    0x00007d74 beq s2, v0, 0x7b60                |         goto label_10;
                                                 |     }
                                                 | label_17:
    0x00007d78 addiu s2, zero, -0x2566           |     s2 = -0x2566;
    0x00007d7c b 0x75f8                          |     goto label_1;
                                                 | label_49:
    0x00007d80 lw v0, 8(v1)                      |     v0 = *((v1 + 2));
    0x00007d84 lw a0, 0x90(sp)                   |     a0 = *(var_90h);
                                                 |     if (v0 != 0) {
    0x00007d88 beqz v0, 0x7dbc                   |         
    0x00007d8c lw v0, 0xc(v1)                    |         v0 = *((v1 + 3));
    0x00007d90 lw t9, -0x7f28(gp)                |         t9 = *((gp - 8138));
                                                 |         if (v0 != 0) {
    0x00007d94 bnez v0, 0x7fd8                   |             goto label_43;
                                                 |         }
    0x00007d98 addiu a1, zero, 0x10              |         a1 = 0x10;
    0x00007d9c addiu a0, zero, 1                 |         a0 = 1;
    0x00007da0 jalr t9                           |         t9 ();
    0x00007da4 lw v1, 0x90(sp)                   |         v1 = *(var_90h);
    0x00007da8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00007dac sw v0, 0xc(v1)                    |         *((v1 + 3)) = v0;
                                                 |         if (v0 == 0) {
    0x00007db0 beqz v0, 0x7de0                   |             goto label_50;
                                                 |         }
    0x00007db4 sw v0, 0x90(sp)                   |         *(var_90h) = v0;
    0x00007db8 lw a0, 0x90(sp)                   |         a0 = *(var_90h);
                                                 |     }
    0x00007dbc addiu v0, zero, 0x82              |     v0 = 0x82;
    0x00007dc0 sw v0, (a0)                       |     *(a0) = v0;
    0x00007dc4 lw v1, 0x20(sp)                   |     v1 = *(var_20h);
    0x00007dc8 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007dcc sw v1, 4(a0)                      |     *((a0 + 1)) = v1;
    0x00007dd0 sw v0, 8(a0)                      |     *((a0 + 2)) = v0;
    0x00007dd4 addu v0, v0, v1                   |     v0 += v1;
    0x00007dd8 sw v0, 0x6c(sp)                   |     *(var_6ch) = v0;
    0x00007ddc b 0x7cfc                          |     goto label_12;
                                                 | label_50:
    0x00007de0 addiu s2, zero, -0x256a           |     s2 = -0x256a;
    0x00007de4 b 0x75f8                          |     goto label_1;
                                                 | label_48:
    0x00007de8 addiu s2, zero, -0x2560           |     s2 = -0x2560;
    0x00007dec b 0x75f8                          |     goto label_1;
                                                 | label_13:
    0x00007df0 addiu s2, v0, -0x2500             |     s2 = v0 + -0x2500;
    0x00007df4 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 |     if (s2 != 0) {
    0x00007df8 bnez s2, 0x75fc                   |         goto label_5;
                                                 |     }
                                                 | label_14:
    0x00007dfc lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007e00 b 0x7b60                          |     goto label_10;
                                                 | label_16:
    0x00007e04 addiu s2, zero, -0x2080           |     s2 = -0x2080;
    0x00007e08 b 0x75f8                          |     goto label_1;
                                                 | label_46:
    0x00007e0c lw t9, -0x7e7c(gp)                |     t9 = *((gp - 8095));
    0x00007e10 lw a2, 0x8c(sp)                   |     a2 = *(var_8ch);
    0x00007e14 move a1, s2                       |     a1 = s2;
    0x00007e18 move a0, s3                       |     a0 = s3;
    0x00007e1c sw zero, 0x20(sp)                 |     *(var_20h) = 0;
    0x00007e20 sb zero, 0x24(sp)                 |     *(var_24h) = 0;
    0x00007e24 sw zero, 0x28(sp)                 |     *(var_28h) = 0;
    0x00007e28 jalr t9                           |     t9 ();
    0x00007e2c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007e30 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007e34 lw a1, 0x20(sp)                   |     a1 = *(var_20h);
    0x00007e38 lw a3, 0x28(sp)                   |     a3 = *(var_28h);
                                                 |     if (a1 == 0) {
    0x00007e3c beqz a1, 0x7f04                   |         goto label_51;
                                                 |     }
    0x00007e40 move v0, zero                     |     v0 = 0;
    0x00007e44 sw zero, 0x104(s0)                |     *((s0 + 65)) = 0;
    0x00007e48 move v1, zero                     |     v1 = 0;
    0x00007e4c addiu a2, zero, 4                 |     a2 = 4;
                                                 | label_15:
    0x00007e50 addu a0, a3, v0                   |     a0 = a3 + v0;
    0x00007e54 sll t0, v0, 3                     |     t0 = v0 << 3;
    0x00007e58 lbu a0, (a0)                      |     a0 = *(a0);
    0x00007e5c addiu v0, v0, 1                   |     v0++;
    0x00007e60 sllv a0, a0, t0                   |     a0 <<= t0;
    0x00007e64 or v1, v1, a0                     |     v1 |= a0;
    0x00007e68 sw v1, 0x104(s0)                  |     *((s0 + 65)) = v1;
                                                 |     if (a1 == v0) {
    0x00007e6c beq a1, v0, 0x7dfc                |         goto label_14;
                                                 |     }
                                                 |     if (v0 != a2) {
    0x00007e70 bne v0, a2, 0x7e50                |         goto label_15;
                                                 |     }
    0x00007e74 nop                               |     
    0x00007e78 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007e7c b 0x7b60                          |     goto label_10;
                                                 | label_45:
    0x00007e80 addiu v1, zero, 0x800             |     v1 = aav.0x00000800;
    0x00007e84 lui v1, 1                         |     v1 = 0x10000;
                                                 |     if (v0 == v1) {
    0x00007e88 beq v0, v1, 0x7ed8                |         goto label_52;
                                                 |     }
    0x00007e8c lw t9, -0x7e7c(gp)                |     t9 = *((gp - 8095));
                                                 |     if (v0 != v1) {
    0x00007e90 bne v0, v1, 0x7e04                |         goto label_16;
                                                 |     }
    0x00007e94 lw a2, 0x8c(sp)                   |     a2 = *(var_8ch);
    0x00007e98 move a1, s2                       |     a1 = s2;
    0x00007e9c move a0, s3                       |     a0 = s3;
    0x00007ea0 sw zero, 0x20(sp)                 |     *(var_20h) = 0;
    0x00007ea4 sb zero, 0x24(sp)                 |     *(var_24h) = 0;
    0x00007ea8 sw zero, 0x28(sp)                 |     *(var_28h) = 0;
    0x00007eac jalr t9                           |     t9 ();
    0x00007eb0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007eb4 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007eb8 lw v1, 0x20(sp)                   |     v1 = *(var_20h);
    0x00007ebc addiu v0, zero, 1                 |     v0 = 1;
    0x00007ec0 lw v1, 0x28(sp)                   |     v1 = *(var_28h);
                                                 |     if (v1 != v0) {
    0x00007ec4 bne v1, v0, 0x7f04                |         goto label_51;
                                                 |     }
    0x00007ec8 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007ecc lbu v1, (v1)                      |     v1 = *(v1);
    0x00007ed0 sb v1, 0x118(s0)                  |     *((s0 + 280)) = v1;
    0x00007ed4 b 0x7b60                          |     goto label_10;
                                                 | label_52:
    0x00007ed8 lw t9, -0x7f14(gp)                |     t9 = *((gp - 8133));
    0x00007edc addiu a3, zero, 6                 |     a3 = 6;
    0x00007ee0 addiu a2, s0, 0x108               |     a2 = s0 + aav.0x00000108;
    0x00007ee4 move a1, s2                       |     a1 = s2;
    0x00007ee8 move a0, s3                       |     a0 = s3;
    0x00007eec jalr t9                           |     t9 ();
    0x00007ef0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007ef4 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007ef8 lw v0, 0x110(s0)                  |     v0 = *((s0 + 68));
    0x00007efc lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 |     if (v0 != 0) {
    0x00007f00 bnez v0, 0x7b60                   |         goto label_10;
                                                 |     }
                                                 | label_51:
    0x00007f04 addiu s2, zero, -0x2564           |     s2 = -0x2564;
    0x00007f08 b 0x75f8                          |     goto label_1;
                                                 | label_44:
    0x00007f0c lw t9, -0x7ea8(gp)                |     t9 = *((gp - 8106));
    0x00007f10 lw a2, 0x8c(sp)                   |     a2 = *(var_8ch);
    0x00007f14 sw zero, 0xfc(s0)                 |     *((s0 + 63)) = 0;
    0x00007f18 sw zero, 0x100(s0)                |     *((s0 + 64)) = 0;
    0x00007f1c addiu a3, zero, 0x30              |     a3 = 0x30;
    0x00007f20 move a1, s2                       |     a1 = s2;
    0x00007f24 move a0, s3                       |     a0 = s3;
    0x00007f28 jalr t9                           |     t9 ();
    0x00007f2c addiu v1, s0, 0x100               |     v1 = s0 + 0x100;
    0x00007f30 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00007f34 sw v1, 0x90(sp)                   |     *(var_90h) = v1;
                                                 |     if (v0 != 0) {
    0x00007f38 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007f3c lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00007f40 lw t9, -0x7e58(gp)                |     t9 = *((gp - 8086));
                                                 |     if (s2 == v0) {
    0x00007f44 beq s2, v0, 0x7b60                |         goto label_10;
                                                 |     }
    0x00007f48 addiu a2, s0, 0xfc                |     a2 = s0 + 0xfc;
    0x00007f4c move a1, s2                       |     a1 = s2;
    0x00007f50 move a0, s3                       |     a0 = s3;
    0x00007f54 jalr t9                           |     t9 ();
    0x00007f58 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x00007f5c beqz v0, 0x7f98                   |         goto label_53;
                                                 |     }
    0x00007f60 addiu v1, zero, -0x62             |     v1 = -0x62;
    0x00007f64 lw t9, -0x7ec4(gp)                |     t9 = *((gp - 8113));
                                                 |     if (v0 != v1) {
    0x00007f68 bne v0, v1, 0x7df0                |         goto label_13;
                                                 |     }
    0x00007f6c addiu a2, s0, 0xfc                |     a2 = s0 + 0xfc;
    0x00007f70 move a1, s2                       |     a1 = s2;
    0x00007f74 move a0, s3                       |     a0 = s3;
    0x00007f78 jalr t9                           |     t9 ();
    0x00007f7c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007f80 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007f84 lw v0, 0xfc(s0)                   |     v0 = *((s0 + 63));
    0x00007f88 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 |     if (v0 != 0) {
    0x00007f8c beqz v0, 0x7f9c                   |         
    0x00007f90 addiu v0, zero, 1                 |         v0 = 1;
    0x00007f94 sw v0, 0xfc(s0)                   |         *((s0 + 63)) = v0;
                                                 | label_53:
    0x00007f98 lw v0, 0x6c(sp)                   |         v0 = *(var_6ch);
                                                 |     }
    0x00007f9c lw t9, -0x7ec4(gp)                |     t9 = *((gp - 8113));
                                                 |     if (s2 == v0) {
    0x00007fa0 beq s2, v0, 0x7b60                |         goto label_10;
                                                 |     }
    0x00007fa4 addiu a2, s0, 0x100               |     a2 = s0 + 0x100;
    0x00007fa8 move a1, s2                       |     a1 = s2;
    0x00007fac move a0, s3                       |     a0 = s3;
    0x00007fb0 jalr t9                           |     t9 ();
    0x00007fb4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00007fb8 bnez v0, 0x7df0                   |         goto label_13;
                                                 |     }
    0x00007fbc lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
                                                 |     if (s2 != v0) {
    0x00007fc0 bne s2, v0, 0x7d78                |         goto label_17;
                                                 |     }
    0x00007fc4 nop                               |     
    0x00007fc8 lw v1, 0x100(s0)                  |     v1 = *((s0 + 64));
    0x00007fcc addiu v1, v1, 1                   |     v1++;
    0x00007fd0 sw v1, 0x100(s0)                  |     *((s0 + 64)) = v1;
    0x00007fd4 b 0x7b60                          |     goto label_10;
                                                 | label_43:
    0x00007fd8 addiu s2, zero, -0x2500           |     s2 = -0x2500;
    0x00007fdc b 0x75f8                          |     goto label_1;
                                                 | label_39:
    0x00007fe0 lw v1, 0x7c(sp)                   |     v1 = *(var_7ch);
    0x00007fe4 lw t9, -0x7fa4(gp)                |     t9 = *((gp - 8169));
                                                 |     if (v1 == v0) {
    0x00007fe8 beq v1, v0, 0x791c                |         goto label_18;
                                                 |     }
    0x00007fec lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
    0x00007ff0 move a0, s0                       |     a0 = s0;
    0x00007ff4 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x00007ff8 addiu s2, zero, -0x2566           |     s2 = -0x2566;
    0x00007ffc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00008000 b 0x7608                          |     goto label_0;
                                                 | label_38:
    0x00008004 addiu v0, zero, -0x62             |     v0 = -0x62;
    0x00008008 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 |     if (s2 != v0) {
    0x0000800c bne s2, v0, 0x75fc                |         goto label_5;
                                                 |     }
    0x00008010 lw v0, 0x6c(sp)                   |     v0 = *(var_6ch);
    0x00008014 b 0x790c                          |     goto label_9;
                                                 | label_36:
    0x00008018 lw t9, -0x7fb0(gp)                |     t9 = *((gp - 8172));
                                                 | label_37:
    0x0000801c move a0, s0                       |     a0 = s0;
    0x00008020 bal 0x7238                        |     sym_mbedtls_x509_crt_free ();
    0x00008024 addiu s2, zero, -0x2680           |     s2 = -0x2680;
    0x00008028 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000802c b 0x7608                          |     goto label_0;
                                                 | label_28:
    0x00008030 move s0, v0                       |     s0 = v0;
    0x00008034 b 0x74dc                          |     goto label_19;
                                                 | }

[*] Function popen used 1 times libmbedx509.so.2.16.0