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

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


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

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x83bc0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00083bc0 ()                  | void fcn_00083bc0 () {
    0x00083bc0 lui gp, 0x14                  |     
    0x00083bc4 addiu gp, gp, 0x3000          |     
    0x00083bc8 addu gp, gp, t9               |     gp += t9;
    0x00083bcc addiu sp, sp, -0x20           |     
    0x00083bd0 lw t9, -0x7534(gp)            |     t9 = *((gp - 7501));
    0x00083bd4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00083bd8 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x00083bdc bal 0x83ab4                   |     sym_CMS_get0_content ();
    0x00083be0 nop                           |     
    0x00083be4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00083be8 beqz v0, 0x83c44              |         goto label_0;
                                             |     }
    0x00083bec lw v0, (v0)                   |     v0 = *(v0);
    0x00083bf0 addiu v1, zero, 0x20          |     v1 = 0x20;
                                             |     if (v0 != 0) {
    0x00083bf4 bnez v0, 0x83c1c              |         goto label_1;
                                             |     }
    0x00083bf8 lw t9, -0x74b0(gp)            |     t9 = *((gp - 7468));
                                             |     do {
    0x00083bfc jalr t9                       |         t9 ();
    0x00083c00 nop                           |         
    0x00083c04 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00083c08 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
    0x00083c0c move a0, v0                   |         a0 = v0;
    0x00083c10 lw t9, -0x7f64(gp)            |         t9 = *((gp - 8153));
    0x00083c14 addiu sp, sp, 0x20            |         
    0x00083c18 b 0x63d00                     |         void (*0x63d00)() ();
                                             | label_1:
    0x00083c1c lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x00083c20 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
                                             |         if (a0 != v1) {
    0x00083c24 bne a0, v1, 0x83c30           |             goto label_2;
                                             |         }
    0x00083c28 lw t9, -0x7cc0(gp)            |         t9 = *((gp - 7984));
    0x00083c2c b 0x83bfc                     |         
                                             |     } while (1);
                                             | label_2:
    0x00083c30 lw a1, (v0)                   |     a1 = *(v0);
    0x00083c34 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x00083c38 lw t9, -0x74ac(gp)            |     t9 = *((gp - 7467));
    0x00083c3c addiu sp, sp, 0x20            |     
    0x00083c40 b 0x6a57c                     |     void (*0x6a57c)() ();
                                             | label_0:
    0x00083c44 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x00083c48 addiu sp, sp, 0x20            |     
    0x00083c4c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0xa33dc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000a33dc ()                  | void fcn_000a33dc () {
    0x000a33dc lui gp, 0x12                  |     
    0x000a33e0 addiu gp, gp, 0x37e4          |     
    0x000a33e4 addu gp, gp, t9               |     gp += t9;
    0x000a33e8 addiu sp, sp, -0x50           |     
    0x000a33ec lw v0, 8(a0)                  |     v0 = *((a0 + 2));
    0x000a33f0 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x000a33f4 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x000a33f8 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x000a33fc sw s7, 0x44(sp)               |     *(var_44h) = s7;
    0x000a3400 sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x000a3404 sw s5, 0x3c(sp)               |     *(var_3ch) = s5;
    0x000a3408 sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x000a340c sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x000a3410 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x000a3414 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x000a3418 sw s0, 0x28(sp)               |     *(var_28h) = s0;
                                             |     if (v0 != 0) {
    0x000a341c beqz v0, 0xa343c              |         
    0x000a3420 nop                           |         
    0x000a3424 lw v0, 0xc(a0)                |         v0 = *((a0 + 3));
    0x000a3428 move s0, a0                   |         s0 = a0;
                                             |         if (v0 == 0) {
    0x000a342c beqz v0, 0xa343c              |             goto label_6;
                                             |         }
    0x000a3430 lw v0, 0x10(a0)               |         v0 = *((a0 + 4));
    0x000a3434 lw t9, -0x7ea8(gp)            |         t9 = *((gp - 8106));
                                             |         if (v0 != 0) {
    0x000a3438 bnez v0, 0xa3498              |             goto label_7;
                                             |         }
                                             |     }
                                             | label_6:
    0x000a343c lw a3, -0x7de8(gp)            |     a3 = *((gp - 8058));
    0x000a3440 addiu v0, zero, 0xbd          |     v0 = 0xbd;
    0x000a3444 lw t9, -0x7f94(gp)            |     t9 = *((gp - 8165));
    0x000a3448 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a344c addiu a3, a3, 0x154           |     a3 += aav.0x00000154;
    0x000a3450 addiu a2, zero, 0x65          |     a2 = 0x65;
    0x000a3454 addiu a1, zero, 0x6b          |     a1 = 0x6b;
    0x000a3458 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x000a345c move s0, zero                 |     s0 = 0;
    0x000a3460 jalr t9                       |     t9 ();
    0x000a3464 lw ra, 0x4c(sp)               |     ra = *(var_4ch);
                                             | label_0:
    0x000a3468 move v0, s0                   |     v0 = s0;
    0x000a346c lw fp, 0x48(sp)               |     fp = *(var_48h);
    0x000a3470 lw s7, 0x44(sp)               |     s7 = *(var_44h);
    0x000a3474 lw s6, 0x40(sp)               |     s6 = *(var_40h);
    0x000a3478 lw s5, 0x3c(sp)               |     s5 = *(var_3ch);
    0x000a347c lw s4, 0x38(sp)               |     s4 = *(var_38h);
    0x000a3480 lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x000a3484 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x000a3488 lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x000a348c lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x000a3490 addiu sp, sp, 0x50            |     
    0x000a3494 jr ra                         |     return v0;
                                             | label_7:
    0x000a3498 move s4, a1                   |     s4 = a1;
    0x000a349c move s7, a2                   |     s7 = a2;
    0x000a34a0 move s5, a3                   |     s5 = a3;
    0x000a34a4 jalr t9                       |     t9 ();
    0x000a34a8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000a34ac lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
    0x000a34b0 move s2, v0                   |     s2 = v0;
    0x000a34b4 jalr t9                       |     t9 ();
    0x000a34b8 move s3, v0                   |     s3 = v0;
    0x000a34bc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s2 != 0) {
    0x000a34c0 beqz s2, 0xa34ec              |         
    0x000a34c4 move s1, zero                 |         s1 = 0;
                                             |         if (v0 == 0) {
    0x000a34c8 beqz v0, 0xa3784              |             goto label_8;
                                             |         }
    0x000a34cc move s1, s4                   |         s1 = s4;
                                             |         if (s4 != 0) {
    0x000a34d0 bnez s4, 0xa34f4              |             goto label_9;
                                             |         }
    0x000a34d4 lw t9, -0x7838(gp)            |         t9 = *((gp - 7694));
    0x000a34d8 jalr t9                       |         t9 ();
    0x000a34dc nop                           |         
    0x000a34e0 move s1, v0                   |         s1 = v0;
    0x000a34e4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x000a34e8 bnez v0, 0xa34f4              |             goto label_9;
                                             |         }
                                             |     }
    0x000a34ec move s1, zero                 |     s1 = 0;
    0x000a34f0 b 0xa3784                     |     goto label_8;
                                             | label_9:
    0x000a34f4 lw t9, -0x7f08(gp)            |     t9 = *((gp - 8130));
    0x000a34f8 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x000a34fc jalr t9                       |     t9 ();
    0x000a3500 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000a3504 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x000a3508 lw t9, -0x6f50(gp)            |     t9 = *((gp - 7124));
    0x000a350c move fp, v0                   |     fp = v0;
    0x000a3510 jalr t9                       |     t9 ();
    0x000a3514 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000a3518 addiu s6, v0, 2               |     s6 = v0 + 2;
    0x000a351c move a1, s6                   |     a1 = s6;
    0x000a3520 lw t9, -0x78a8(gp)            |     t9 = *((gp - 7722));
    0x000a3524 move a0, s2                   |     a0 = s2;
    0x000a3528 jalr t9                       |     t9 ();
    0x000a352c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000a3530 beqz v0, 0xa3784              |         goto label_8;
                                             |     }
    0x000a3534 lw t9, -0x78a8(gp)            |     t9 = *((gp - 7722));
    0x000a3538 move a1, s6                   |     a1 = s6;
    0x000a353c move a0, s3                   |     a0 = s3;
    0x000a3540 jalr t9                       |     t9 ();
    0x000a3544 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000a3548 beqz v0, 0xa3784              |         goto label_8;
                                             |     }
                                             |     do {
    0x000a354c lw v0, 0x60(sp)               |         v0 = *(arg_60h);
    0x000a3550 lw a1, 0xc(s0)                |         a1 = *((s0 + 3));
                                             |         if (v0 == 0) {
    0x000a3554 beqz v0, 0xa3750              |             goto label_10;
                                             |         }
    0x000a3558 lw v0, 0x64(sp)               |         v0 = *(arg_64h);
    0x000a355c sw s1, 0x14(sp)               |         *(var_14h) = s1;
    0x000a3560 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000a3564 lw t9, -0x6f4c(gp)            |         t9 = *(gp);
    0x000a3568 lw a3, 0x60(sp)               |         a3 = *(arg_60h);
    0x000a356c lw a2, 0x18(s0)               |         a2 = *((s0 + 6));
    0x000a3570 move a0, s2                   |         a0 = s2;
    0x000a3574 jalr t9                       |         t9 ();
    0x000a3578 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_1:
    0x000a357c lw t9, -0x7f0c(gp)            |         t9 = *((gp - 8131));
                                             |         if (v0 == 0) {
    0x000a3580 beqz v0, 0xa3784              |             goto label_8;
                                             |         }
    0x000a3584 move a0, s2                   |         a0 = s2;
    0x000a3588 jalr t9                       |         t9 ();
    0x000a358c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a3590 bnez v0, 0xa354c              |         
                                             |     } while (v0 != 0);
    0x000a3594 lw t9, -0x7870(gp)            |     t9 = *((gp - 7708));
    0x000a3598 addiu a1, zero, 4             |     a1 = 4;
    0x000a359c move a0, s2                   |     a0 = s2;
    0x000a35a0 jalr t9                       |     t9 ();
    0x000a35a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000a35a8 addiu a1, zero, 4             |     a1 = 4;
    0x000a35ac lw t9, -0x7870(gp)            |     t9 = *((gp - 7708));
    0x000a35b0 move a0, s3                   |     a0 = s3;
    0x000a35b4 jalr t9                       |     t9 ();
    0x000a35b8 lw v0, 0x1c(s0)               |     v0 = *((s0 + 7));
    0x000a35bc andi v0, v0, 1                |     v0 &= 1;
    0x000a35c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000a35c4 bnez v0, 0xa3764              |     
                                             |     while (v0 != 0) {
    0x000a35c8 lw t9, -0x7790(gp)            |         t9 = *((gp - 7652));
    0x000a35cc lw a2, 0xc(s0)                |         a2 = *((s0 + 3));
    0x000a35d0 move a1, s2                   |         a1 = s2;
    0x000a35d4 move a0, s3                   |         a0 = s3;
    0x000a35d8 jalr t9                       |         t9 ();
    0x000a35dc lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x000a35e0 beqz v0, 0xa3784              |             goto label_8;
                                             |         }
    0x000a35e4 lw t9, -0x7790(gp)            |         t9 = *((gp - 7652));
    0x000a35e8 lw a2, 0xc(s0)                |         a2 = *((s0 + 3));
    0x000a35ec move a1, s3                   |         a1 = s3;
    0x000a35f0 move a0, s2                   |         a0 = s2;
    0x000a35f4 jalr t9                       |         t9 ();
    0x000a35f8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x000a35fc beqz v0, 0xa3784              |             goto label_8;
                                             |         }
    0x000a3600 lw t9, -0x77f8(gp)            |         t9 = *((gp - 7678));
    0x000a3604 move a1, fp                   |         a1 = fp;
    0x000a3608 move a0, s3                   |         a0 = s3;
    0x000a360c jalr t9                       |         t9 ();
    0x000a3610 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a3614 move a3, s6                   |         a3 = s6;
    0x000a3618 move a1, s2                   |         a1 = s2;
    0x000a361c lw t9, -0x6f48(gp)            |         t9 = *((gp - 7122));
    0x000a3620 move a0, v0                   |         a0 = v0;
    0x000a3624 move a2, s3                   |         a2 = s3;
    0x000a3628 jalr t9                       |         t9 ();
    0x000a362c lw v0, 0x2c(s0)               |         v0 = *((s0 + 11));
    0x000a3630 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a3634 lw a3, 8(s0)                  |         a3 = *((s0 + 2));
    0x000a3638 lw t9, 0x14(v0)               |         t9 = *((v0 + 5));
    0x000a363c lw a1, 0x10(s0)               |         a1 = *((s0 + 4));
    0x000a3640 lw v0, 0x20(s0)               |         v0 = *((s0 + 8));
                                             |         if (t9 == 0) {
    0x000a3644 beqz t9, 0xa37b4              |             goto label_11;
                                             |         }
    0x000a3648 sw a3, 0x10(sp)               |         *(var_10h) = a3;
    0x000a364c move a2, a1                   |         a2 = a1;
    0x000a3650 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x000a3654 sw s1, 0x14(sp)               |         *(var_14h) = s1;
    0x000a3658 move a3, s2                   |         a3 = s2;
    0x000a365c move a1, s5                   |         a1 = s5;
    0x000a3660 move a0, s0                   |         a0 = s0;
    0x000a3664 jalr t9                       |         t9 ();
    0x000a3668 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_3:
    0x000a366c lw a3, -0x7de8(gp)            |         a3 = *((gp - 8058));
                                             |         if (v0 == 0) {
    0x000a3670 beqz v0, 0xa3788              |             goto label_12;
                                             |         }
    0x000a3674 sw s1, 0x10(sp)               |         *(var_10h) = s1;
    0x000a3678 lw t9, -0x77b8(gp)            |         t9 = *(gp);
    0x000a367c lw a3, 0xc(s0)                |         a3 = *((s0 + 3));
    0x000a3680 move a2, s5                   |         a2 = s5;
    0x000a3684 move a1, s5                   |         a1 = s5;
    0x000a3688 move a0, zero                 |         a0 = 0;
    0x000a368c jalr t9                       |         t9 ();
    0x000a3690 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x000a3694 beqz v0, 0xa3784              |             goto label_8;
                                             |         }
    0x000a3698 lw t9, -0x7ea8(gp)            |         t9 = *((gp - 8106));
    0x000a369c lw s6, 0xc(s0)                |         s6 = *((s0 + 3));
    0x000a36a0 jalr t9                       |         t9 ();
    0x000a36a4 move s0, v0                   |         s0 = v0;
    0x000a36a8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x000a36ac beqz v0, 0xa3784              |             goto label_8;
                                             |         }
    0x000a36b0 lw t9, -0x7820(gp)            |         t9 = *((gp - 7688));
    0x000a36b4 move a0, s1                   |         a0 = s1;
    0x000a36b8 jalr t9                       |         t9 ();
    0x000a36bc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a36c0 lw t9, -0x781c(gp)            |         t9 = *((gp - 7687));
    0x000a36c4 move a0, s1                   |         a0 = s1;
    0x000a36c8 jalr t9                       |         t9 ();
    0x000a36cc move s5, v0                   |         s5 = v0;
    0x000a36d0 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x000a36d4 bnez v0, 0xa37d4              |             goto label_13;
                                             |         }
                                             | label_4:
    0x000a36d8 lw t9, -0x7eb4(gp)            |         t9 = *((gp - 8109));
    0x000a36dc move a0, s0                   |         a0 = s0;
    0x000a36e0 jalr t9                       |         t9 ();
    0x000a36e4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a36e8 move s0, zero                 |         s0 = 0;
    0x000a36ec lw t9, -0x780c(gp)            |         t9 = *((gp - 7683));
                                             | label_5:
    0x000a36f0 move a0, s1                   |         a0 = s1;
    0x000a36f4 jalr t9                       |         t9 ();
    0x000a36f8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s0 == 0) {
    0x000a36fc beqz s0, 0xa3784              |             goto label_8;
                                             |         }
    0x000a3700 lw t9, -0x7a3c(gp)            |         t9 = *((gp - 7823));
    0x000a3704 lw a0, (s7)                   |         a0 = *(s7);
    0x000a3708 jalr t9                       |         t9 ();
    0x000a370c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a3710 sw s0, (s7)                   |         *(s7) = s0;
    0x000a3714 addiu s0, zero, 1             |         s0 = 1;
                                             | label_2:
    0x000a3718 lw t9, -0x7728(gp)            |         t9 = *((gp - 7626));
                                             |         if (s4 != s1) {
    0x000a371c beq s4, s1, 0xa372c           |             
    0x000a3720 move a0, s1                   |             a0 = s1;
    0x000a3724 jalr t9                       |             t9 ();
    0x000a3728 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x000a372c lw t9, -0x7a3c(gp)            |         t9 = *((gp - 7823));
    0x000a3730 move a0, s2                   |         a0 = s2;
    0x000a3734 jalr t9                       |         t9 ();
    0x000a3738 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a373c lw t9, -0x7a3c(gp)            |         t9 = *((gp - 7823));
    0x000a3740 move a0, s3                   |         a0 = s3;
    0x000a3744 jalr t9                       |         t9 ();
    0x000a3748 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x000a374c b 0xa3468                     |         goto label_0;
                                             | label_10:
    0x000a3750 lw t9, -0x785c(gp)            |         t9 = *((gp - 7703));
    0x000a3754 move a0, s2                   |         a0 = s2;
    0x000a3758 jalr t9                       |         t9 ();
    0x000a375c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a3760 b 0xa357c                     |         goto label_1;
    0x000a3764 lw t9, -0x703c(gp)            |         t9 = *((gp - 7183));
    0x000a3768 lw a2, 8(s0)                  |         a2 = *((s0 + 2));
    0x000a376c lw a1, 0x34(s0)               |         a1 = *((s0 + 13));
    0x000a3770 move a3, s1                   |         a3 = s1;
    0x000a3774 addiu a0, s0, 0x20            |         a0 = s0 + 0x20;
    0x000a3778 jalr t9                       |         t9 ();
    0x000a377c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000a3780 bnez v0, 0xa35c8              |         
                                             |     }
                                             | label_8:
    0x000a3784 lw a3, -0x7de8(gp)            |     a3 = *((gp - 8058));
                                             | label_12:
    0x000a3788 lw t9, -0x7f94(gp)            |     t9 = *((gp - 8165));
    0x000a378c addiu v0, zero, 0x115         |     v0 = 0x115;
    0x000a3790 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a3794 addiu a3, a3, 0x154           |     a3 += aav.0x00000154;
    0x000a3798 addiu a2, zero, 3             |     a2 = 3;
    0x000a379c addiu a1, zero, 0x6b          |     a1 = 0x6b;
    0x000a37a0 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x000a37a4 jalr t9                       |     t9 ();
    0x000a37a8 move s0, zero                 |     s0 = 0;
    0x000a37ac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000a37b0 b 0xa3718                     |     goto label_2;
                                             | label_11:
    0x000a37b4 lw t9, -0x77b0(gp)            |     t9 = *((gp - 7660));
    0x000a37b8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a37bc sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x000a37c0 move a2, s2                   |     a2 = s2;
    0x000a37c4 move a0, s5                   |     a0 = s5;
    0x000a37c8 jalr t9                       |     t9 ();
    0x000a37cc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000a37d0 b 0xa366c                     |     goto label_3;
                                             | label_13:
    0x000a37d4 lw t9, -0x7eac(gp)            |     t9 = *((gp - 8107));
    0x000a37d8 addiu a1, zero, 2             |     a1 = 2;
    0x000a37dc move a0, s0                   |     a0 = s0;
    0x000a37e0 jalr t9                       |     t9 ();
    0x000a37e4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000a37e8 beqz v0, 0xa36d8              |         goto label_4;
                                             |     }
    0x000a37ec lw t9, -0x77a4(gp)            |     t9 = *((gp - 7657));
    0x000a37f0 move a2, s0                   |     a2 = s0;
    0x000a37f4 move a1, s6                   |     a1 = s6;
    0x000a37f8 move a0, s5                   |     a0 = s5;
    0x000a37fc jalr t9                       |     t9 ();
    0x000a3800 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000a3804 beqz v0, 0xa36d8              |         goto label_4;
                                             |     }
    0x000a3808 lw t9, -0x77b0(gp)            |     t9 = *((gp - 7660));
    0x000a380c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000a3810 sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x000a3814 move a3, s6                   |     a3 = s6;
    0x000a3818 move a2, s5                   |     a2 = s5;
    0x000a381c move a1, s2                   |     a1 = s2;
    0x000a3820 move a0, s0                   |     a0 = s0;
    0x000a3824 jalr t9                       |     t9 ();
    0x000a3828 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000a382c beqz v0, 0xa36d8              |         goto label_4;
                                             |     }
    0x000a3830 lw t9, -0x780c(gp)            |     t9 = *((gp - 7683));
    0x000a3834 b 0xa36f0                     |     goto label_5;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x134074 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00134074 ()                  | void fcn_00134074 () {
    0x00134074 lui gp, 9                     |     
    0x00134078 addiu gp, gp, 0x2b4c          |     
    0x0013407c addu gp, gp, t9               |     gp += t9;
    0x00134080 addiu sp, sp, -0x38           |     
    0x00134084 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00134088 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0013408c sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00134090 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00134094 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00134098 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0013409c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x001340a0 move s4, a1                   |     s4 = a1;
    0x001340a4 move s2, a2                   |     s2 = a2;
    0x001340a8 move s0, a3                   |     s0 = a3;
    0x001340ac bnez a0, 0x1340f8             |     
                                             |     while (a0 == 0) {
    0x001340b0 lw t9, -0x7bfc(gp)            |         t9 = *((gp - 7935));
                                             | label_1:
    0x001340b4 lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x001340b8 jalr t9                       |         t9 ();
    0x001340bc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == s2) {
    0x001340c0 bne v0, s2, 0x134118          |             
    0x001340c4 lw t9, -0x7c00(gp)            |             t9 = *((gp - 7936));
    0x001340c8 lw a0, 4(s0)                  |             a0 = *((s0 + 1));
    0x001340cc jalr t9                       |             t9 ();
    0x001340d0 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x001340d4 move a2, s2                   |             a2 = s2;
    0x001340d8 move a1, v0                   |             a1 = v0;
    0x001340dc lw t9, -0x5530(gp)            |             t9 = *((gp - 5452));
    0x001340e0 move a0, s4                   |             a0 = s4;
    0x001340e4 jalr t9                       |             t9 ();
    0x001340e8 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 != 0) {
    0x001340ec bnez v0, 0x134118             |                 goto label_0;
                                             |             }
    0x001340f0 addiu v0, zero, 1             |             v0 = 1;
    0x001340f4 b 0x134140                    |             goto label_3;
    0x001340f8 lw s3, (a3)                   |             s3 = *(a3);
    0x001340fc lw t9, -0x7d8c(gp)            |             t9 = *((gp - 8035));
    0x00134100 move s1, a0                   |             s1 = a0;
    0x00134104 lw a1, (s3)                   |             a1 = *(s3);
    0x00134108 lw a0, (a0)                   |             a0 = *(a0);
    0x0013410c jalr t9                       |             t9 ();
    0x00134110 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x00134114 beqz v0, 0x134160             |                 goto label_4;
                                             |             }
                                             |         }
                                             | label_0:
    0x00134118 lw a3, -0x7e98(gp)            |         a3 = *((gp - 8102));
    0x0013411c addiu v0, zero, 0x283         |         v0 = 0x283;
    0x00134120 lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x00134124 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00134128 addiu a3, a3, 0x61d8          |         a3 += 0x61d8;
    0x0013412c addiu a2, zero, 0x67          |         a2 = 0x67;
    0x00134130 addiu a1, zero, 0x64          |         a1 = 0x64;
    0x00134134 addiu a0, zero, 0x2f          |         a0 = 0x2f;
    0x00134138 jalr t9                       |         t9 ();
    0x0013413c move v0, zero                 |         v0 = 0;
                                             | label_3:
    0x00134140 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00134144 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00134148 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0013414c lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00134150 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00134154 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00134158 addiu sp, sp, 0x38            |         
    0x0013415c jr ra                         |         return v0;
                                             | label_4:
    0x00134160 lw a0, 4(s1)                  |         a0 = *((s1 + 1));
    0x00134164 lw t9, -0x7074(gp)            |         t9 = *(gp);
                                             |         if (a0 != 0) {
    0x00134168 bnez a0, 0x134194             |             goto label_5;
                                             |         }
    0x0013416c lw a0, 4(s3)                  |         a0 = *((s3 + 1));
                                             | label_2:
    0x00134170 lw t9, -0x7074(gp)            |         t9 = *(gp);
    0x00134174 beqz a0, 0x1340b0             |         
                                             |     }
    0x00134178 jalr t9                       |     t9 ();
    0x0013417c nop                           |     
    0x00134180 addiu v1, zero, 5             |     v1 = 5;
    0x00134184 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != v1) {
    0x00134188 bne v0, v1, 0x134118          |         goto label_0;
                                             |     }
    0x0013418c lw t9, -0x7bfc(gp)            |     t9 = *((gp - 7935));
    0x00134190 b 0x1340b4                    |     goto label_1;
                                             | label_5:
    0x00134194 jalr t9                       |     t9 ();
    0x00134198 nop                           |     
    0x0013419c addiu v1, zero, 5             |     v1 = 5;
    0x001341a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != v1) {
    0x001341a4 bne v0, v1, 0x134118          |         goto label_0;
                                             |     }
    0x001341a8 lw a0, 4(s3)                  |     a0 = *((s3 + 1));
    0x001341ac b 0x134170                    |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x158464 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00158464 ()                  | void fcn_00158464 () {
    0x00158464 lui gp, 7                     |     
    0x00158468 addiu gp, gp, -0x18a4         |     
    0x0015846c addu gp, gp, t9               |     gp += t9;
    0x00158470 addiu sp, sp, -0x858          |     
    0x00158474 lw t9, -0x54d0(gp)            |     t9 = *((gp - 5428));
    0x00158478 sw s5, 0x844(sp)              |     *(var_844h) = s5;
    0x0015847c sw s3, 0x83c(sp)              |     *(var_83ch) = s3;
    0x00158480 move s5, a1                   |     s5 = a1;
    0x00158484 lw s3, 4(a0)                  |     s3 = *((a0 + 1));
    0x00158488 lw a1, -0x7e98(gp)            |     a1 = *((gp - 8102));
    0x0015848c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00158490 sw s4, 0x840(sp)              |     *(var_840h) = s4;
    0x00158494 sw s1, 0x834(sp)              |     *(var_834h) = s1;
    0x00158498 sw s0, 0x830(sp)              |     *(var_830h) = s0;
    0x0015849c sw ra, 0x854(sp)              |     *(var_854h) = ra;
    0x001584a0 sw fp, 0x850(sp)              |     *(var_850h) = fp;
    0x001584a4 sw s7, 0x84c(sp)              |     *(var_84ch) = s7;
    0x001584a8 sw s6, 0x848(sp)              |     *(var_848h) = s6;
    0x001584ac sw s2, 0x838(sp)              |     *(var_838h) = s2;
    0x001584b0 move s0, a0                   |     s0 = a0;
    0x001584b4 addiu a1, a1, -0x4d38         |     a1 += -0x4d38;
    0x001584b8 move a0, s3                   |     a0 = s3;
    0x001584bc move s4, a2                   |     s4 = a2;
    0x001584c0 move s1, a3                   |     s1 = a3;
    0x001584c4 jalr t9                       |     t9 ();
    0x001584c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x001584cc bnez v0, 0x1585b0             |         goto label_8;
                                             |     }
    0x001584d0 move s2, v0                   |     s2 = v0;
    0x001584d4 lw v0, (s5)                   |     v0 = *(s5);
    0x001584d8 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
                                             |     if (v0 == 0) {
    0x001584dc beqz v0, 0x158574             |         goto label_9;
                                             |     }
    0x001584e0 addiu v0, zero, 0x5e          |     v0 = 0x5e;
    0x001584e4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x001584e8 addiu a3, a3, -0x6d8c         |     a3 += -0x6d8c;
    0x001584ec addiu a2, zero, 0x9b          |     a2 = 0x9b;
                                             | label_0:
    0x001584f0 lw t9, -0x7f94(gp)            |     t9 = *((gp - 8165));
    0x001584f4 addiu a1, zero, 0x96          |     a1 = 0x96;
    0x001584f8 addiu a0, zero, 0x22          |     a0 = 0x22;
    0x001584fc jalr t9                       |     t9 ();
    0x00158500 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00158504 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x00158508 lw a2, (s0)                   |     a2 = *(s0);
    0x0015850c sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00158510 lw v0, -0x7e24(gp)            |     v0 = *((gp - 8073));
    0x00158514 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
    0x00158518 addiu v0, v0, -0x76e0         |     v0 += -0x76e0;
    0x0015851c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00158520 lw a1, -0x7e24(gp)            |     a1 = *((gp - 8073));
    0x00158524 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00158528 lw t9, -0x7ec8(gp)            |     t9 = *((gp - 8114));
    0x0015852c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00158530 addiu a3, a3, -0x76f4         |     a3 += -0x76f4;
    0x00158534 addiu a1, a1, -0x76ec         |     a1 += -0x76ec;
    0x00158538 addiu a0, zero, 6             |     a0 = 6;
    0x0015853c jalr t9                       |     t9 ();
                                             |     do {
                                             | label_2:
    0x00158540 lw ra, 0x854(sp)              |         ra = *(var_854h);
    0x00158544 move v0, s2                   |         v0 = s2;
    0x00158548 lw fp, 0x850(sp)              |         fp = *(var_850h);
    0x0015854c lw s7, 0x84c(sp)              |         s7 = *(var_84ch);
    0x00158550 lw s6, 0x848(sp)              |         s6 = *(var_848h);
    0x00158554 lw s5, 0x844(sp)              |         s5 = *(var_844h);
    0x00158558 lw s4, 0x840(sp)              |         s4 = *(var_840h);
    0x0015855c lw s3, 0x83c(sp)              |         s3 = *(var_83ch);
    0x00158560 lw s2, 0x838(sp)              |         s2 = *(var_838h);
    0x00158564 lw s1, 0x834(sp)              |         s1 = *(var_834h);
    0x00158568 lw s0, 0x830(sp)              |         s0 = *(var_830h);
    0x0015856c addiu sp, sp, 0x858           |         
    0x00158570 jr ra                         |         return v0;
                                             | label_9:
    0x00158574 lw t9, -0x7d10(gp)            |         t9 = *((gp - 8004));
    0x00158578 lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x0015857c move a1, zero                 |         a1 = 0;
    0x00158580 jalr t9                       |         t9 ();
    0x00158584 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00158588 sw v0, (s5)                   |         *(s5) = v0;
                                             |         if (v0 == 0) {
    0x0015858c beqz v0, 0x158598             |             goto label_10;
                                             |         }
                                             | label_1:
    0x00158590 addiu s2, zero, 1             |         s2 = 1;
    0x00158594 b 0x158540                    |         
                                             |     } while (1);
                                             | label_10:
    0x00158598 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
    0x0015859c addiu v0, zero, 0x64          |     v0 = 0x64;
    0x001585a0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x001585a4 addiu a3, a3, -0x6d8c         |     a3 += -0x6d8c;
    0x001585a8 addiu a2, zero, 0x6e          |     a2 = 0x6e;
    0x001585ac b 0x1584f0                    |     goto label_0;
                                             | label_8:
    0x001585b0 lw a1, -0x7e24(gp)            |     a1 = *((gp - 8073));
    0x001585b4 lw t9, -0x54d0(gp)            |     t9 = *((gp - 5428));
    0x001585b8 addiu a1, a1, -0x7718         |     a1 += -aav.0x00007718;
    0x001585bc move a0, s3                   |     a0 = s3;
    0x001585c0 jalr t9                       |     t9 ();
    0x001585c4 move s2, v0                   |     s2 = v0;
    0x001585c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x001585cc bnez v0, 0x158624             |         goto label_11;
                                             |     }
    0x001585d0 lw v0, (s4)                   |     v0 = *(s4);
    0x001585d4 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
                                             |     if (v0 != 0) {
    0x001585d8 beqz v0, 0x1585f0             |         
    0x001585dc addiu v0, zero, 0x6b          |         v0 = 0x6b;
    0x001585e0 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x001585e4 addiu a3, a3, -0x6d8c         |         a3 += -0x6d8c;
    0x001585e8 addiu a2, zero, 0x9d          |         a2 = 0x9d;
    0x001585ec b 0x1584f0                    |         goto label_0;
                                             |     }
    0x001585f0 lw t9, -0x5840(gp)            |     t9 = *(gp);
    0x001585f4 move a1, s4                   |     a1 = s4;
    0x001585f8 move a0, s0                   |     a0 = s0;
    0x001585fc bal 0x15e11c                  |     sym_X509V3_get_value_int ();
    0x00158600 move s2, v0                   |     s2 = v0;
    0x00158604 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00158608 bnez v0, 0x158590             |         goto label_1;
                                             |     }
    0x0015860c lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
    0x00158610 addiu v0, zero, 0x71          |     v0 = 0x71;
    0x00158614 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00158618 addiu a3, a3, -0x6d8c         |     a3 += -0x6d8c;
    0x0015861c addiu a2, zero, 0x9c          |     a2 = 0x9c;
    0x00158620 b 0x1584f0                    |     goto label_0;
                                             | label_11:
    0x00158624 lw a1, -0x7e98(gp)            |     a1 = *((gp - 8102));
    0x00158628 lw t9, -0x54d0(gp)            |     t9 = *((gp - 5428));
    0x0015862c addiu a1, a1, 0x7bcc          |     a1 += 0x7bcc;
    0x00158630 move a0, s3                   |     a0 = s3;
    0x00158634 jalr t9                       |     t9 ();
    0x00158638 move s2, v0                   |     s2 = v0;
    0x0015863c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00158640 bnez v0, 0x158590             |         goto label_1;
                                             |     }
    0x00158644 lw v0, (s1)                   |     v0 = *(s1);
    0x00158648 move s7, zero                 |     s7 = 0;
                                             |     if (v0 != 0) {
    0x0015864c bnez v0, 0x158680             |         goto label_12;
                                             |     }
    0x00158650 lw t9, -0x7c08(gp)            |     t9 = *((gp - 7938));
    0x00158654 jalr t9                       |     t9 ();
    0x00158658 nop                           |     
    0x0015865c sw v0, (s1)                   |     *(s1) = v0;
    0x00158660 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00158664 bnez v0, 0x158704             |         goto label_13;
                                             |     }
    0x00158668 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
    0x0015866c addiu v0, zero, 0x7b          |     v0 = 0x7b;
    0x00158670 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00158674 addiu a3, a3, -0x6d8c         |     a3 += -0x6d8c;
    0x00158678 addiu a2, zero, 0x41          |     a2 = 0x41;
    0x0015867c b 0x1584f0                    |     goto label_0;
                                             |     do {
                                             | label_12:
    0x00158680 lw a1, -0x7e24(gp)            |         a1 = *((gp - 8073));
    0x00158684 lw s3, 8(s0)                  |         s3 = *((s0 + 2));
    0x00158688 lw t9, -0x56b4(gp)            |         t9 = *((gp - 5549));
    0x0015868c addiu a2, zero, 4             |         a2 = 4;
    0x00158690 addiu a1, a1, -0x6d74         |         a1 += -0x6d74;
    0x00158694 move a0, s3                   |         a0 = s3;
    0x00158698 jalr t9                       |         t9 ();
    0x0015869c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x001586a0 bnez v0, 0x1587f4             |             goto label_14;
                                             |         }
    0x001586a4 lw t9, -0x7d08(gp)            |         t9 = *((gp - 8002));
    0x001586a8 addiu a1, sp, 0x28            |         a1 = sp + 0x28;
    0x001586ac addiu a0, s3, 4               |         a0 = s3 + 4;
    0x001586b0 jalr t9                       |         t9 ();
    0x001586b4 move s4, v0                   |         s4 = v0;
    0x001586b8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x001586bc bnez v0, 0x15870c             |             goto label_15;
                                             |         }
                                             | label_3:
    0x001586c0 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x001586c4 lw a3, -0x7e24(gp)            |         a3 = *((gp - 8073));
    0x001586c8 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x001586cc lw v0, -0x7e24(gp)            |         v0 = *((gp - 8073));
    0x001586d0 lw a1, -0x7e24(gp)            |         a1 = *((gp - 8073));
    0x001586d4 addiu v0, v0, -0x76e0         |         v0 += -0x76e0;
    0x001586d8 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x001586dc lw v0, 4(s0)                  |         v0 = *((s0 + 1));
    0x001586e0 lw t9, -0x7ec8(gp)            |         t9 = *((gp - 8114));
    0x001586e4 lw a2, (s0)                   |         a2 = *(s0);
    0x001586e8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x001586ec addiu a3, a3, -0x76f4         |         a3 += -0x76f4;
    0x001586f0 addiu a1, a1, -0x76ec         |         a1 += -0x76ec;
    0x001586f4 addiu a0, zero, 6             |         a0 = 6;
    0x001586f8 jalr t9                       |         t9 ();
    0x001586fc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00158700 b 0x15892c                    |         goto label_16;
                                             | label_13:
    0x00158704 addiu s7, zero, 1             |         s7 = 1;
    0x00158708 b 0x158680                    |         
                                             |     } while (1);
                                             | label_15:
    0x0015870c lw v0, (s1)                   |     v0 = *(s1);
    0x00158710 lw v1, 0x28(sp)               |     v1 = *(var_28h);
    0x00158714 lw s3, -0x7e24(gp)            |     s3 = *((gp - 8073));
    0x00158718 lw a1, (v0)                   |     a1 = *(v0);
    0x0015871c lw t9, -0x7cf4(gp)            |     t9 = *(gp);
    0x00158720 addu a1, a1, v1               |     a1 += v1;
    0x00158724 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x00158728 addiu a3, zero, 0x8b          |     a3 = 0x8b;
    0x0015872c addiu a2, s3, -0x6d8c         |     a2 = s3 + -0x6d8c;
    0x00158730 addiu a1, a1, 1               |     a1++;
    0x00158734 jalr t9                       |     t9 ();
    0x00158738 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0015873c beqz v0, 0x1587a0             |         
    0x00158740 lw v1, (s1)                   |         v1 = *(s1);
    0x00158744 lw t9, -0x550c(gp)            |         t9 = *((gp - 5443));
    0x00158748 lw a2, 0x28(sp)               |         a2 = *(var_28h);
    0x0015874c lw a0, (v1)                   |         a0 = *(v1);
    0x00158750 sw v0, 8(v1)                  |         *((v1 + 2)) = v0;
    0x00158754 move a1, s4                   |         a1 = s4;
    0x00158758 addu a0, v0, a0               |         a0 = v0 + a0;
    0x0015875c jalr t9                       |         t9 ();
    0x00158760 lw v1, (s1)                   |         v1 = *(s1);
    0x00158764 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00158768 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0015876c lw v0, (v1)                   |         v0 = *(v1);
    0x00158770 addiu a2, zero, 0x9f          |         a2 = 0x9f;
    0x00158774 addu v0, v0, a0               |         v0 += a0;
    0x00158778 sw v0, (v1)                   |         *(v1) = v0;
    0x0015877c lw v1, 8(v1)                  |         v1 = *((v1 + 2));
    0x00158780 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
    0x00158784 addu v0, v1, v0               |         v0 = v1 + v0;
    0x00158788 addiu a1, s3, -0x6d8c         |         a1 = s3 + -0x6d8c;
    0x0015878c sb zero, (v0)                 |         *(v0) = 0;
    0x00158790 move a0, s4                   |         a0 = s4;
    0x00158794 jalr t9                       |         t9 ();
    0x00158798 addiu s2, zero, 1             |         s2 = 1;
    0x0015879c b 0x158540                    |         goto label_2;
                                             |     }
    0x001587a0 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x001587a4 addiu a2, zero, 0x93          |     a2 = 0x93;
    0x001587a8 addiu a1, s3, -0x6d8c         |     a1 = s3 + -0x6d8c;
    0x001587ac move a0, s4                   |     a0 = s4;
    0x001587b0 jalr t9                       |     t9 ();
    0x001587b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x001587b8 lw v0, (s1)                   |     v0 = *(s1);
    0x001587bc addiu a2, zero, 0x98          |     a2 = 0x98;
    0x001587c0 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x001587c4 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x001587c8 addiu a1, s3, -0x6d8c         |     a1 = s3 + -0x6d8c;
    0x001587cc jalr t9                       |     t9 ();
    0x001587d0 lw v0, (s1)                   |     v0 = *(s1);
    0x001587d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x001587d8 addiu a3, s3, -0x6d8c         |     a3 = s3 + -0x6d8c;
    0x001587dc sw zero, 8(v0)                |     *((v0 + 2)) = 0;
    0x001587e0 sw zero, (v0)                 |     *(v0) = 0;
    0x001587e4 addiu v0, zero, 0x9b          |     v0 = 0x9b;
    0x001587e8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             | label_6:
    0x001587ec addiu a2, zero, 0x41          |     a2 = 0x41;
    0x001587f0 b 0x158848                    |     goto label_7;
                                             | label_14:
    0x001587f4 lw a1, -0x7e98(gp)            |     a1 = *((gp - 8102));
    0x001587f8 lw t9, -0x56b4(gp)            |     t9 = *((gp - 5549));
    0x001587fc addiu a2, zero, 5             |     a2 = 5;
    0x00158800 addiu a1, a1, 0x4be4          |     a1 += 0x4be4;
    0x00158804 move a0, s3                   |     a0 = s3;
    0x00158808 jalr t9                       |     t9 ();
    0x0015880c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00158810 bnez v0, 0x158a0c             |         goto label_17;
                                             |     }
    0x00158814 lw a1, -0x7e98(gp)            |     a1 = *((gp - 8102));
    0x00158818 lw t9, -0x72c0(gp)            |     t9 = *((gp - 7344));
    0x0015881c addiu a1, a1, -0x7ee8         |     a1 += -0x7ee8;
    0x00158820 addiu a0, s3, 5               |     a0 = s3 + 5;
    0x00158824 jalr t9                       |     t9 ();
    0x00158828 move s5, v0                   |     s5 = v0;
    0x0015882c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00158830 bnez v0, 0x1589dc             |         goto label_18;
                                             |     }
    0x00158834 addiu v0, zero, 0xa5          |     v0 = 0xa5;
                                             | label_5:
    0x00158838 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
    0x0015883c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00158840 addiu a3, a3, -0x6d8c         |     a3 += -0x6d8c;
    0x00158844 addiu a2, zero, 0x20          |     a2 = 0x20;
                                             | label_7:
    0x00158848 lw t9, -0x7f94(gp)            |     t9 = *((gp - 8165));
    0x0015884c addiu a1, zero, 0x96          |     a1 = 0x96;
    0x00158850 addiu a0, zero, 0x22          |     a0 = 0x22;
    0x00158854 jalr t9                       |     t9 ();
    0x00158858 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0015885c b 0x1586c0                    |     goto label_3;
                                             |     do {
    0x00158860 lw v0, (s1)                   |         v0 = *(s1);
    0x00158864 lw t9, -0x7cf4(gp)            |         t9 = *(gp);
    0x00158868 addiu a3, zero, 0xaf          |         a3 = 0xaf;
    0x0015886c lw a1, (v0)                   |         a1 = *(v0);
    0x00158870 lw a0, 8(v0)                  |         a0 = *((v0 + 2));
    0x00158874 addu a1, s3, a1               |         a1 = s3 + a1;
    0x00158878 move a2, fp                   |         a2 = fp;
    0x0015887c addiu a1, a1, 1               |         a1++;
    0x00158880 jalr t9                       |         t9 ();
    0x00158884 move s4, v0                   |         s4 = v0;
    0x00158888 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0015888c lw v0, (s1)                   |         v0 = *(s1);
                                             |         if (s4 == 0) {
    0x00158890 bnez s4, 0x158944             |             
    0x00158894 lw t9, -0x7f98(gp)            |             t9 = *((gp - 8166));
    0x00158898 lw a0, 8(v0)                  |             a0 = *((v0 + 2));
    0x0015889c addiu a2, zero, 0xb2          |             a2 = 0xb2;
    0x001588a0 addiu a1, s6, -0x6d8c         |             a1 = s6 + -0x6d8c;
    0x001588a4 jalr t9                       |             t9 ();
    0x001588a8 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x001588ac lw v0, (s1)                   |             v0 = *(s1);
    0x001588b0 addiu a3, s6, -0x6d8c         |             a3 = s6 + -0x6d8c;
    0x001588b4 lw t9, -0x7f94(gp)            |             t9 = *((gp - 8165));
    0x001588b8 sw zero, 8(v0)                |             *((v0 + 2)) = 0;
    0x001588bc sw zero, (v0)                 |             *(v0) = 0;
    0x001588c0 addiu v0, zero, 0xb6          |             v0 = 0xb6;
    0x001588c4 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x001588c8 addiu a2, zero, 0x41          |             a2 = 0x41;
    0x001588cc addiu a1, zero, 0x96          |             a1 = 0x96;
    0x001588d0 addiu a0, zero, 0x22          |             a0 = 0x22;
    0x001588d4 jalr t9                       |             t9 ();
    0x001588d8 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x001588dc lw v0, 8(s0)                  |             v0 = *((s0 + 2));
    0x001588e0 lw a2, (s0)                   |             a2 = *(s0);
    0x001588e4 sw v0, 0x18(sp)               |             *(var_18h) = v0;
    0x001588e8 lw v0, -0x7e24(gp)            |             v0 = *((gp - 8073));
    0x001588ec lw a3, -0x7e24(gp)            |             a3 = *((gp - 8073));
    0x001588f0 addiu v0, v0, -0x76e0         |             v0 += -0x76e0;
    0x001588f4 lw a1, -0x7e24(gp)            |             a1 = *((gp - 8073));
    0x001588f8 sw v0, 0x14(sp)               |             *(var_14h) = v0;
    0x001588fc lw v0, 4(s0)                  |             v0 = *((s0 + 1));
    0x00158900 lw t9, -0x7ec8(gp)            |             t9 = *((gp - 8114));
    0x00158904 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x00158908 addiu a3, a3, -0x76f4         |             a3 += -0x76f4;
    0x0015890c addiu a1, a1, -0x76ec         |             a1 += -0x76ec;
    0x00158910 addiu a0, zero, 6             |             a0 = 6;
    0x00158914 jalr t9                       |             t9 ();
    0x00158918 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0015891c lw t9, -0x793c(gp)            |             t9 = *((gp - 7759));
    0x00158920 move a0, s5                   |             a0 = s5;
    0x00158924 jalr t9                       |             t9 ();
    0x00158928 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             | label_16:
    0x0015892c lw t9, -0x7d84(gp)            |             t9 = *((gp - 8033));
                                             |             if (s7 == 0) {
    0x00158930 beqz s7, 0x158b00             |                 goto label_19;
                                             |             }
    0x00158934 lw a0, (s1)                   |             a0 = *(s1);
    0x00158938 jalr t9                       |             t9 ();
    0x0015893c sw zero, (s1)                 |             *(s1) = 0;
    0x00158940 b 0x158540                    |             goto label_2;
                                             |         }
    0x00158944 lw a0, (v0)                   |         a0 = *(v0);
    0x00158948 lw t9, -0x550c(gp)            |         t9 = *((gp - 5443));
    0x0015894c lw a1, 0x828(sp)              |         a1 = *(var_828h);
    0x00158950 move a2, s3                   |         a2 = s3;
    0x00158954 sw s4, 8(v0)                  |         *((v0 + 2)) = s4;
    0x00158958 addu a0, s4, a0               |         a0 = s4 + a0;
    0x0015895c jalr t9                       |         t9 ();
    0x00158960 lw v1, (s1)                   |         v1 = *(s1);
    0x00158964 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00158968 lw v0, (v1)                   |         v0 = *(v1);
    0x0015896c addu s3, s3, v0               |         s3 += v0;
    0x00158970 lw v0, 8(v1)                  |         v0 = *((v1 + 2));
    0x00158974 sw s3, (v1)                   |         *(v1) = s3;
    0x00158978 addu s3, v0, s3               |         s3 = v0 + s3;
    0x0015897c sb zero, (s3)                 |         *(s3) = 0;
                                             | label_4:
    0x00158980 lw t9, -0x7f7c(gp)            |         t9 = *((gp - 8159));
    0x00158984 lw a1, 0x828(sp)              |         a1 = *(var_828h);
    0x00158988 addiu a2, zero, 0x800         |         a2 = aav.0x00000800;
    0x0015898c move a0, s5                   |         a0 = s5;
    0x00158990 jalr t9                       |         t9 ();
    0x00158994 move s3, v0                   |         s3 = v0;
    0x00158998 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0015899c bgtz v0, 0x158860             |         
                                             |     } while (v0 > 0);
    0x001589a0 lw t9, -0x7940(gp)            |     t9 = *((gp - 7760));
                                             |     if (v0 != 0) {
    0x001589a4 bnez v0, 0x1589c0             |         goto label_20;
                                             |     }
    0x001589a8 addiu a1, zero, 8             |     a1 = 8;
    0x001589ac move a0, s5                   |     a0 = s5;
    0x001589b0 jalr t9                       |     t9 ();
    0x001589b4 move s3, v0                   |     s3 = v0;
    0x001589b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x001589bc bnez v0, 0x158980             |         goto label_4;
                                             |     }
                                             | label_20:
    0x001589c0 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x001589c4 move a0, s5                   |     a0 = s5;
    0x001589c8 jalr t9                       |     t9 ();
    0x001589cc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s3 != 0) {
    0x001589d0 beqz s3, 0x1589f4             |         
    0x001589d4 addiu v0, zero, 0xc4          |         v0 = 0xc4;
    0x001589d8 b 0x158838                    |         goto label_5;
                                             | label_18:
    0x001589dc lw s6, -0x7e24(gp)            |         s6 = *((gp - 8073));
    0x001589e0 addiu v0, sp, 0x28            |         v0 = sp + 0x28;
    0x001589e4 move s4, zero                 |         s4 = 0;
    0x001589e8 sw v0, 0x828(sp)              |         *(var_828h) = v0;
    0x001589ec addiu fp, s6, -0x6d8c         |         fp = s6 + -0x6d8c;
    0x001589f0 b 0x158980                    |         goto label_4;
                                             |     }
    0x001589f4 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
                                             |     if (s4 != 0) {
    0x001589f8 bnez s4, 0x158590             |         goto label_1;
                                             |     }
    0x001589fc addiu v0, zero, 0xe5          |     v0 = 0xe5;
    0x00158a00 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00158a04 addiu a3, a3, -0x6d8c         |     a3 += -0x6d8c;
    0x00158a08 b 0x1587ec                    |     goto label_6;
                                             | label_17:
    0x00158a0c lw a1, -0x7e24(gp)            |     a1 = *((gp - 8073));
    0x00158a10 lw t9, -0x56b4(gp)            |     t9 = *((gp - 5549));
    0x00158a14 addiu a2, zero, 5             |     a2 = 5;
    0x00158a18 addiu a1, a1, -0x6d6c         |     a1 += -0x6d6c;
    0x00158a1c move a0, s3                   |     a0 = s3;
    0x00158a20 jalr t9                       |     t9 ();
    0x00158a24 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00158a28 lw s4, -0x7e24(gp)            |     s4 = *((gp - 8073));
                                             |     if (v0 == 0) {
    0x00158a2c bnez v0, 0x158aec             |         
    0x00158a30 lw t9, -0x55cc(gp)            |         t9 = *((gp - 5491));
    0x00158a34 addiu a0, s3, 5               |         a0 = s3 + 5;
    0x00158a38 jalr t9                       |         t9 ();
    0x00158a3c lw v1, (s1)                   |         v1 = *(s1);
    0x00158a40 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00158a44 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x00158a48 lw a1, (v1)                   |         a1 = *(v1);
    0x00158a4c lw t9, -0x7cf4(gp)            |         t9 = *(gp);
    0x00158a50 addu a1, v0, a1               |         a1 = v0 + a1;
    0x00158a54 lw a0, 8(v1)                  |         a0 = *((v1 + 2));
    0x00158a58 addiu a3, zero, 0xcb          |         a3 = 0xcb;
    0x00158a5c addiu a2, s4, -0x6d8c         |         a2 = s4 + -0x6d8c;
    0x00158a60 addiu a1, a1, 1               |         a1++;
    0x00158a64 jalr t9                       |         t9 ();
    0x00158a68 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00158a6c lw v1, (s1)                   |         v1 = *(s1);
                                             |         if (v0 != 0) {
    0x00158a70 beqz v0, 0x158ab8             |             
    0x00158a74 lw a0, (v1)                   |             a0 = *(v1);
    0x00158a78 lw a1, 8(s0)                  |             a1 = *((s0 + 2));
    0x00158a7c lw t9, -0x550c(gp)            |             t9 = *((gp - 5443));
    0x00158a80 lw a2, 0x28(sp)               |             a2 = *(var_28h);
    0x00158a84 sw v0, 8(v1)                  |             *((v1 + 2)) = v0;
    0x00158a88 addu a0, v0, a0               |             a0 = v0 + a0;
    0x00158a8c addiu a1, a1, 5               |             a1 += 5;
    0x00158a90 jalr t9                       |             t9 ();
    0x00158a94 lw v1, (s1)                   |             v1 = *(s1);
    0x00158a98 lw a0, 0x28(sp)               |             a0 = *(var_28h);
    0x00158a9c lw v0, (v1)                   |             v0 = *(v1);
    0x00158aa0 addu v0, v0, a0               |             v0 += a0;
    0x00158aa4 sw v0, (v1)                   |             *(v1) = v0;
    0x00158aa8 lw v1, 8(v1)                  |             v1 = *((v1 + 2));
    0x00158aac addu v0, v1, v0               |             v0 = v1 + v0;
    0x00158ab0 sb zero, (v0)                 |             *(v0) = 0;
    0x00158ab4 b 0x158590                    |             goto label_1;
                                             |         }
    0x00158ab8 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
    0x00158abc lw a0, 8(v1)                  |         a0 = *((v1 + 2));
    0x00158ac0 addiu a2, zero, 0xd7          |         a2 = 0xd7;
    0x00158ac4 addiu a1, s4, -0x6d8c         |         a1 = s4 + -0x6d8c;
    0x00158ac8 jalr t9                       |         t9 ();
    0x00158acc lw v0, (s1)                   |         v0 = *(s1);
    0x00158ad0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00158ad4 addiu a3, s4, -0x6d8c         |         a3 = s4 + -0x6d8c;
    0x00158ad8 sw zero, 8(v0)                |         *((v0 + 2)) = 0;
    0x00158adc sw zero, (v0)                 |         *(v0) = 0;
    0x00158ae0 addiu v0, zero, 0xda          |         v0 = 0xda;
    0x00158ae4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00158ae8 b 0x1587ec                    |         goto label_6;
                                             |     }
    0x00158aec addiu v0, zero, 0xe0          |     v0 = 0xe0;
    0x00158af0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00158af4 addiu a3, s4, -0x6d8c         |     a3 = s4 + -0x6d8c;
    0x00158af8 addiu a2, zero, 0x98          |     a2 = 0x98;
    0x00158afc b 0x158848                    |     goto label_7;
                                             | label_19:
    0x00158b00 move s2, zero                 |     s2 = 0;
    0x00158b04 b 0x158540                    |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x640c4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.BIO_method_type ()           | void BIO_method_type () {
    0x000640c4 lw v0, (a0)                   |     v0 = *(a0);
    0x000640c8 lw v0, (v0)                   |     v0 = *(v0);
    0x000640cc jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x7b1b8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.BN_add_word ()               | void BN_add_word () {
    0x0007b1b8 lui gp, 0x15                  |     
    0x0007b1bc addiu gp, gp, -0x45f8         |     
    0x0007b1c0 addu gp, gp, t9               |     gp += t9;
    0x0007b1c4 addiu sp, sp, -0x30           |     
    0x0007b1c8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0007b1cc sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0007b1d0 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0007b1d4 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0007b1d8 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0007b1dc sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0007b1e0 lw t9, -0x7f0c(gp)            |     t9 = *((gp - 8131));
    0x0007b1e4 bnez a1, 0x7b20c              |     
                                             |     while (v0 != s1) {
                                             | label_1:
    0x0007b1e8 addiu s3, zero, 1             |         s3 = 1;
                                             | label_0:
    0x0007b1ec lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             | label_3:
    0x0007b1f0 move v0, s3                   |         v0 = s3;
    0x0007b1f4 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0007b1f8 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0007b1fc lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0007b200 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0007b204 addiu sp, sp, 0x30            |         
    0x0007b208 jr ra                         |         return v0;
    0x0007b20c move s0, a0                   |         s0 = a0;
    0x0007b210 move s2, a1                   |         s2 = a1;
    0x0007b214 bal 0x729f4                   |         sym_BN_is_zero ();
    0x0007b218 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0007b21c beqz v0, 0x7b248              |             
    0x0007b220 lw ra, 0x2c(sp)               |             ra = *(var_2ch);
    0x0007b224 lw s3, 0x28(sp)               |             s3 = *(var_28h);
    0x0007b228 lw s1, 0x20(sp)               |             s1 = *(var_20h);
    0x0007b22c move a1, s2                   |             a1 = s2;
    0x0007b230 move a0, s0                   |             a0 = s0;
    0x0007b234 lw s2, 0x24(sp)               |             s2 = *(var_24h);
    0x0007b238 lw s0, 0x1c(sp)               |             s0 = *(var_1ch);
    0x0007b23c lw t9, -0x7eac(gp)            |             t9 = *((gp - 8107));
    0x0007b240 addiu sp, sp, 0x30            |             
    0x0007b244 b 0x73114                     |             void (*0x73114)() ();
                                             |         }
    0x0007b248 lw s3, 0xc(s0)                |         s3 = *((s0 + 3));
    0x0007b24c move s1, zero                 |         s1 = 0;
                                             |         if (s3 != 0) {
    0x0007b250 bnez s3, 0x7b2c8              |             goto label_4;
                                             |         }
                                             | label_2:
    0x0007b254 lw v0, 4(s0)                  |         v0 = *((s0 + 1));
    0x0007b258 slt v1, s1, v0                |         v1 = (s1 < v0) ? 1 : 0;
                                             |         if (v1 != 0) {
    0x0007b25c bnez v1, 0x7b29c              |             goto label_5;
                                             |         }
    0x0007b260 nop                           |         
    0x0007b264 lw t9, -0x78a8(gp)            |         t9 = *((gp - 7722));
    0x0007b268 bne v0, s1, 0x7b1e8           |         
                                             |     }
    0x0007b26c addiu a1, s1, 1               |     a1 = s1 + 1;
    0x0007b270 move a0, s0                   |     a0 = s0;
    0x0007b274 bal 0x731bc                   |     fcn_000731bc ();
    0x0007b278 sll s1, s1, 2                 |     s1 <<= 2;
                                             |     if (v0 == 0) {
    0x0007b27c beqz v0, 0x7b1ec              |         goto label_0;
                                             |     }
    0x0007b280 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x0007b284 addiu v0, v0, 1               |     v0++;
    0x0007b288 sw v0, 4(s0)                  |     *((s0 + 1)) = v0;
    0x0007b28c lw v0, (s0)                   |     v0 = *(s0);
    0x0007b290 addu s1, v0, s1               |     s1 = v0 + s1;
    0x0007b294 sw s2, (s1)                   |     *(s1) = s2;
    0x0007b298 b 0x7b1e8                     |     goto label_1;
                                             | label_5:
    0x0007b29c lw v1, (s0)                   |     v1 = *(s0);
    0x0007b2a0 sll v0, s1, 2                 |     v0 = s1 << 2;
    0x0007b2a4 addu v1, v1, v0               |     v1 += v0;
    0x0007b2a8 addiu s1, s1, 1               |     s1++;
    0x0007b2ac lw v0, (v1)                   |     v0 = *(v1);
    0x0007b2b0 addu v0, s2, v0               |     v0 = s2 + v0;
    0x0007b2b4 sltu s2, v0, s2               |     s2 = (v0 < s2) ? 1 : 0;
    0x0007b2b8 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (s2 == 0) {
    0x0007b2bc beqz s2, 0x7b1e8              |         goto label_1;
                                             |     }
    0x0007b2c0 addiu s2, zero, 1             |     s2 = 1;
    0x0007b2c4 b 0x7b254                     |     goto label_2;
                                             | label_4:
    0x0007b2c8 lw t9, -0x7750(gp)            |     t9 = *((gp - 7636));
    0x0007b2cc move a1, s2                   |     a1 = s2;
    0x0007b2d0 move a0, s0                   |     a0 = s0;
    0x0007b2d4 sw zero, 0xc(s0)              |     *((s0 + 3)) = 0;
    0x0007b2d8 bal 0x7b07c                   |     sym_BN_sub_word ();
    0x0007b2dc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0007b2e0 move a0, s0                   |     a0 = s0;
    0x0007b2e4 lw t9, -0x7f0c(gp)            |     t9 = *((gp - 8131));
    0x0007b2e8 move s3, v0                   |     s3 = v0;
    0x0007b2ec bal 0x729f4                   |     sym_BN_is_zero ();
    0x0007b2f0 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (v0 != 0) {
    0x0007b2f4 bnez v0, 0x7b1f0              |         goto label_3;
                                             |     }
    0x0007b2f8 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0007b2fc sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x0007b300 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
    0x0007b304 b 0x7b1ec                     |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x79b08 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.BN_lshift1 ()                | void BN_lshift1 () {
    0x00079b08 lui gp, 0x15                  |     
    0x00079b0c addiu gp, gp, -0x2f48         |     
    0x00079b10 addu gp, gp, t9               |     gp += t9;
    0x00079b14 addiu sp, sp, -0x28           |     
    0x00079b18 lw t9, -0x78a8(gp)            |     t9 = *((gp - 7722));
    0x00079b1c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00079b20 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x00079b24 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x00079b28 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x00079b2c move s0, a0                   |     s0 = a0;
    0x00079b30 move s1, a1                   |     s1 = a1;
                                             |     if (a0 == a1) {
    0x00079b34 beq a0, a1, 0x79bb0           |         goto label_3;
                                             |     }
    0x00079b38 lw v0, 0xc(a1)                |     v0 = *((a1 + 3));
    0x00079b3c lw a1, 4(a1)                  |     a1 = *((a1 + 1));
    0x00079b40 sw v0, 0xc(a0)                |     *((a0 + 3)) = v0;
    0x00079b44 addiu a1, a1, 1               |     a1++;
    0x00079b48 bal 0x731bc                   |     fcn_000731bc ();
    0x00079b4c move v0, zero                 |     v0 = 0;
    0x00079b50 bnez v0, 0x79b68              |     
                                             |     while (1) {
    0x00079b54 lw ra, 0x24(sp)               |         ra = *(var_24h);
                                             | label_1:
    0x00079b58 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00079b5c lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00079b60 addiu sp, sp, 0x28            |         
    0x00079b64 jr ra                         |         return v1;
    0x00079b68 lw v0, 4(s1)                  |         v0 = *((s1 + 1));
    0x00079b6c sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
                                             | label_0:
    0x00079b70 lw a2, (s1)                   |         a2 = *(s1);
    0x00079b74 lw v0, (s0)                   |         v0 = *(s0);
    0x00079b78 move a1, zero                 |         a1 = 0;
    0x00079b7c move v1, zero                 |         v1 = 0;
                                             | label_2:
    0x00079b80 lw a0, 4(s1)                  |         a0 = *((s1 + 1));
    0x00079b84 slt a0, a1, a0                |         a0 = (a1 < a0) ? 1 : 0;
                                             |         if (a0 != 0) {
    0x00079b88 bnez a0, 0x79bcc              |             goto label_4;
                                             |         }
    0x00079b8c nop                           |         
    0x00079b90 addiu v1, zero, 1             |         v1 = 1;
                                             |         if (v1 != 0) {
    0x00079b94 beqz v1, 0x79ba8              |             
    0x00079b98 sw v1, (v0)                   |             *(v0) = v1;
    0x00079b9c lw v0, 4(s0)                  |             v0 = *((s0 + 1));
    0x00079ba0 addiu v0, v0, 1               |             v0++;
    0x00079ba4 sw v0, 4(s0)                  |             *((s0 + 1)) = v0;
                                             |         }
    0x00079ba8 addiu v0, zero, 1             |         v0 = 1;
    0x00079bac b 0x79b54                     |         
                                             |     }
                                             | label_3:
    0x00079bb0 lw a1, 4(a0)                  |     a1 = *((a0 + 1));
    0x00079bb4 addiu a1, a1, 1               |     a1++;
    0x00079bb8 bal 0x731bc                   |     fcn_000731bc ();
    0x00079bbc move v0, zero                 |     v0 = 0;
                                             |     if (v0 != 0) {
    0x00079bc0 bnez v0, 0x79b70              |         goto label_0;
                                             |     }
    0x00079bc4 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x00079bc8 b 0x79b58                     |     goto label_1;
                                             | label_4:
    0x00079bcc addiu a2, a2, 4               |     a2 += 4;
    0x00079bd0 lw a3, -4(a2)                 |     a3 = *((a2 - 1));
    0x00079bd4 addiu v0, v0, 4               |     v0 += 4;
    0x00079bd8 sll a0, a3, 1                 |     a0 = a3 << 1;
    0x00079bdc or v1, a0, v1                 |     v1 = a0 | v1;
    0x00079be0 sw v1, -4(v0)                 |     *((v0 - 1)) = v1;
    0x00079be4 addiu a1, a1, 1               |     a1++;
    0x00079be8 srl v1, a3, 0x1f              |     v1 = a3 >> 0x1f;
    0x00079bec b 0x79b80                     |     goto label_2;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x6efb4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.BN_mod_exp_mont_consttime ()         | void BN_mod_exp_mont_consttime () {
    0x0006efb4 lui gp, 0x15                          |     
    0x0006efb8 addiu gp, gp, 0x7c0c                  |     
    0x0006efbc addu gp, gp, t9                       |     gp += t9;
    0x0006efc0 addiu sp, sp, -0x88                   |     
    0x0006efc4 lw t9, -0x77fc(gp)                    |     t9 = *((gp - 7679));
    0x0006efc8 sw fp, 0x80(sp)                       |     *(var_80h) = fp;
    0x0006efcc move fp, sp                           |     fp = sp;
    0x0006efd0 sw s7, 0x7c(sp)                       |     *(var_7ch) = s7;
    0x0006efd4 sw s6, 0x78(sp)                       |     *(var_78h) = s6;
    0x0006efd8 sw s3, 0x6c(sp)                       |     *(var_6ch) = s3;
    0x0006efdc sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x0006efe0 sw a0, 0x88(fp)                       |     *(arg_88h) = a0;
    0x0006efe4 sw ra, 0x84(sp)                       |     *(var_84h) = ra;
    0x0006efe8 sw s5, 0x74(sp)                       |     *(var_74h) = s5;
    0x0006efec sw s4, 0x70(sp)                       |     *(var_70h) = s4;
    0x0006eff0 sw s2, 0x68(sp)                       |     *(var_68h) = s2;
    0x0006eff4 sw s1, 0x64(sp)                       |     *(var_64h) = s1;
    0x0006eff8 sw s0, 0x60(sp)                       |     *(var_60h) = s0;
    0x0006effc sw a2, 0x90(fp)                       |     *(arg_90h) = a2;
    0x0006f000 move a0, a3                           |     a0 = a3;
    0x0006f004 move s7, a1                           |     s7 = a1;
    0x0006f008 move s6, a3                           |     s6 = a3;
    0x0006f00c lw s3, 0x98(fp)                       |     s3 = *(arg_98h);
    0x0006f010 bal 0x72c5c                           |     sym_BN_is_odd ();
    0x0006f014 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f018 bnez v0, 0x6f04c                      |         
    0x0006f01c lw a3, -0x7fd4(gp)                    |         a3 = *((gp - 8181));
    0x0006f020 move s0, v0                           |         s0 = v0;
    0x0006f024 lw t9, -0x7f94(gp)                    |         t9 = *((gp - 8165));
    0x0006f028 addiu v0, zero, 0x266                 |         v0 = 0x266;
    0x0006f02c sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x0006f030 addiu a3, a3, 0x7638                  |         a3 += 0x7638;
    0x0006f034 addiu a2, zero, 0x66                  |         a2 = 0x66;
    0x0006f038 addiu a1, zero, 0x7c                  |         a1 = 0x7c;
    0x0006f03c addiu a0, zero, 3                     |         a0 = 3;
    0x0006f040 jalr t9                               |         t9 ();
                                                     | label_12:
    0x0006f044 b 0x6f08c                             |         goto label_13;
    0x0006f048 nop                                   |         
                                                     |     }
    0x0006f04c lw v0, 0x90(fp)                       |     v0 = *(arg_90h);
    0x0006f050 lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x0006f054 sll v0, v0, 5                         |     v0 <<= 5;
    0x0006f058 sw v0, 0x48(fp)                       |     *(var_48h) = v0;
                                                     |     if (v0 != 0) {
    0x0006f05c bnez v0, 0x6f0d8                      |         goto label_14;
                                                     |     }
    0x0006f060 lw t9, -0x77ec(gp)                    |     t9 = *((gp - 7675));
    0x0006f064 addiu a1, zero, 1                     |     a1 = 1;
    0x0006f068 move a0, s6                           |     a0 = s6;
    0x0006f06c bal 0x729bc                           |     sym_BN_abs_is_word ();
    0x0006f070 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f074 lw t9, -0x7eac(gp)                    |     t9 = *((gp - 8107));
                                                     |     if (v0 == 0) {
    0x0006f078 beqz v0, 0x6f0c4                      |         goto label_15;
                                                     |     }
    0x0006f07c lw a0, 0x88(fp)                       |     a0 = *(arg_88h);
    0x0006f080 move a1, zero                         |     a1 = 0;
    0x0006f084 addiu s0, zero, 1                     |     s0 = 1;
    0x0006f088 bal 0x73114                           |     sym_BN_set_word ();
                                                     |     do {
                                                     | label_13:
    0x0006f08c move sp, fp                           |         
    0x0006f090 move v0, s0                           |         v0 = s0;
    0x0006f094 lw ra, 0x84(sp)                       |         ra = *(var_84h);
    0x0006f098 lw fp, 0x80(sp)                       |         fp = *(var_80h);
    0x0006f09c lw s7, 0x7c(sp)                       |         s7 = *(var_7ch);
    0x0006f0a0 lw s6, 0x78(sp)                       |         s6 = *(var_78h);
    0x0006f0a4 lw s5, 0x74(sp)                       |         s5 = *(var_74h);
    0x0006f0a8 lw s4, 0x70(sp)                       |         s4 = *(var_70h);
    0x0006f0ac lw s3, 0x6c(sp)                       |         s3 = *(var_6ch);
    0x0006f0b0 lw s2, 0x68(sp)                       |         s2 = *(var_68h);
    0x0006f0b4 lw s1, 0x64(sp)                       |         s1 = *(var_64h);
    0x0006f0b8 lw s0, 0x60(sp)                       |         s0 = *(var_60h);
    0x0006f0bc addiu sp, sp, 0x88                    |         
    0x0006f0c0 jr ra                                 |         return v0;
                                                     | label_15:
    0x0006f0c4 lw a0, 0x88(fp)                       |         a0 = *(arg_88h);
    0x0006f0c8 addiu a1, zero, 1                     |         a1 = 1;
    0x0006f0cc bal 0x73114                           |         sym_BN_set_word ();
    0x0006f0d0 move s0, v0                           |         s0 = v0;
    0x0006f0d4 b 0x6f08c                             |         
                                                     |     } while (1);
                                                     | label_14:
    0x0006f0d8 lw t9, -0x7820(gp)                    |     t9 = *((gp - 7688));
    0x0006f0dc move a0, s3                           |     a0 = s3;
    0x0006f0e0 lw s2, 4(s6)                          |     s2 = *((s6 + 1));
    0x0006f0e4 bal 0x6d9bc                           |     sym_BN_CTX_start ();
    0x0006f0e8 lw v0, 0x9c(fp)                       |     v0 = *(arg_9ch);
    0x0006f0ec lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f0f0 bnez v0, 0x6f158                      |         goto label_16;
                                                     |     }
    0x0006f0f4 lw t9, -0x77d4(gp)                    |     t9 = *((gp - 7669));
    0x0006f0f8 bal 0x74a78                           |     sym_BN_MONT_CTX_new ();
    0x0006f0fc nop                                   |     
    0x0006f100 move s4, v0                           |     s4 = v0;
    0x0006f104 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f108 beqz v0, 0x6f604                      |         goto label_17;
                                                     |     }
    0x0006f10c lw t9, -0x77d0(gp)                    |     t9 = *((gp - 7668));
    0x0006f110 move a2, s3                           |     a2 = s3;
    0x0006f114 move a1, s6                           |     a1 = s6;
    0x0006f118 move a0, v0                           |     a0 = v0;
    0x0006f11c bal 0x74ba8                           |     sym_BN_MONT_CTX_set ();
    0x0006f120 move s0, v0                           |     s0 = v0;
    0x0006f124 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f128 beqz v0, 0x6f618                      |         goto label_18;
                                                     |     }
                                                     |     do {
    0x0006f12c lw v0, 0xc(s7)                        |         v0 = *((s7 + 3));
    0x0006f130 lw t9, -0x7898(gp)                    |         t9 = *((gp - 7718));
                                                     |         if (v0 == 0) {
    0x0006f134 beqz v0, 0x6f160                      |             goto label_19;
                                                     |         }
                                                     | label_0:
    0x0006f138 lw t9, -0x781c(gp)                    |         t9 = *((gp - 7687));
    0x0006f13c move a0, s3                           |         a0 = s3;
    0x0006f140 bal 0x6dbd0                           |         sym_BN_CTX_get ();
    0x0006f144 move s0, v0                           |         s0 = v0;
    0x0006f148 lw gp, 0x18(fp)                       |         gp = *(var_18h);
                                                     |         if (v0 != 0) {
    0x0006f14c bnez v0, 0x6f40c                      |             goto label_20;
                                                     |         }
                                                     | label_1:
    0x0006f150 sw zero, 0x54(fp)                     |         *(var_54h) = 0;
    0x0006f154 b 0x6f45c                             |         goto label_21;
                                                     | label_16:
    0x0006f158 lw s4, 0x9c(fp)                       |         s4 = *(arg_9ch);
    0x0006f15c b 0x6f12c                             |         
                                                     |     } while (1);
                                                     | label_19:
    0x0006f160 move a1, s6                           |     a1 = s6;
    0x0006f164 move a0, s7                           |     a0 = s7;
    0x0006f168 bal 0x726f4                           |     sym_BN_ucmp ();
    0x0006f16c lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 >= 0) {
    0x0006f170 bgez v0, 0x6f138                      |         goto label_0;
                                                     |     }
                                                     | label_2:
    0x0006f174 lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f178 slti v0, v0, 0x3aa                    |     v0 = (v0 < 0x3aa) ? 1 : 0;
    0x0006f17c addiu s0, zero, 6                     |     s0 = 6;
                                                     |     if (v0 != 0) {
    0x0006f180 beqz v0, 0x6f1bc                      |         
    0x0006f184 lw v0, 0x48(fp)                       |         v0 = *(var_48h);
    0x0006f188 slti v0, v0, 0x133                    |         v0 = (v0 < 0x133) ? 1 : 0;
    0x0006f18c addiu s0, zero, 5                     |         s0 = 5;
                                                     |         if (v0 == 0) {
    0x0006f190 beqz v0, 0x6f1bc                      |             goto label_22;
                                                     |         }
    0x0006f194 lw v0, 0x48(fp)                       |         v0 = *(var_48h);
    0x0006f198 slti v0, v0, 0x5a                     |         v0 = (v0 < 0x5a) ? 1 : 0;
    0x0006f19c addiu s0, zero, 4                     |         s0 = 4;
                                                     |         if (v0 == 0) {
    0x0006f1a0 beqz v0, 0x6f1bc                      |             goto label_22;
                                                     |         }
    0x0006f1a4 lw v0, 0x48(fp)                       |         v0 = *(var_48h);
    0x0006f1a8 addiu v1, zero, 1                     |         v1 = 1;
    0x0006f1ac slti s0, v0, 0x17                     |         s0 = (v0 < 0x17) ? 1 : 0;
    0x0006f1b0 addiu v0, zero, 3                     |         v0 = 3;
                                                     |         if (s0 == 0) {
    0x0006f1b4 movn v0, v1, s0                       |             v0 = v1;
                                                     |         }
    0x0006f1b8 move s0, v0                           |         s0 = v0;
                                                     |     }
                                                     | label_22:
    0x0006f1bc addiu v0, zero, 1                     |     v0 = 1;
    0x0006f1c0 sllv v0, v0, s0                       |     v0 <<= s0;
    0x0006f1c4 sw v0, 0x50(fp)                       |     *(var_50h) = v0;
    0x0006f1c8 sll v1, s2, 1                         |     v1 = s2 << 1;
    0x0006f1cc lw a0, 0x50(fp)                       |     a0 = *(var_50h);
    0x0006f1d0 slt v0, v1, v0                        |     v0 = (v1 < v0) ? 1 : 0;
                                                     |     if (v0 != 0) {
    0x0006f1d4 movz a0, v1, v0                       |         a0 = v1;
                                                     |     }
    0x0006f1d8 sllv v1, s2, s0                       |     v1 = s2 << s0;
    0x0006f1dc addu v0, a0, v1                       |     v0 = a0 + v1;
    0x0006f1e0 sll v0, v0, 2                         |     v0 <<= 2;
    0x0006f1e4 sw v0, 0x4c(fp)                       |     *(var_4ch) = v0;
    0x0006f1e8 sw v0, 0x54(fp)                       |     *(var_54h) = v0;
    0x0006f1ec addiu a0, v0, 0x40                    |     a0 = v0 + 0x40;
    0x0006f1f0 slti v0, v0, 0xc00                    |     v0 = (v0 < aav.0x00000c00) ? 1 : 0;
    0x0006f1f4 sw v0, 0x58(fp)                       |     *(var_58h) = v0;
                                                     |     if (v0 == 0) {
    0x0006f1f8 beqz v0, 0x6f43c                      |         goto label_23;
                                                     |     }
    0x0006f1fc lw v0, 0x4c(fp)                       |     v0 = *(var_4ch);
    0x0006f200 addiu v0, v0, 0x4e                    |     v0 += 0x4e;
    0x0006f204 srl v0, v0, 3                         |     v0 >>= 3;
    0x0006f208 sll v0, v0, 3                         |     v0 <<= 3;
    0x0006f20c subu sp, sp, v0                       |     
    0x0006f210 addiu s5, sp, 0x18                    |     s5 = sp + 0x18;
                                                     | label_3:
    0x0006f214 andi s1, s5, 0x3f                     |     s1 = s5 & 0x3f;
    0x0006f218 subu s1, s5, s1                       |     __asm ("subu s1, s5, s1");
    0x0006f21c lw t9, -0x5604(gp)                    |     t9 = *((gp - 5505));
    0x0006f220 addiu s1, s1, 0x40                    |     s1 += 0x40;
    0x0006f224 lw a2, 0x4c(fp)                       |     a2 = *(var_4ch);
    0x0006f228 move a0, s1                           |     a0 = s1;
    0x0006f22c move a1, zero                         |     a1 = 0;
    0x0006f230 jalr t9                               |     t9 ();
    0x0006f234 lw v0, 0x58(fp)                       |     v0 = *(var_58h);
    0x0006f238 sll a0, s2, 2                         |     a0 = s2 << 2;
                                                     |     if (v0 == 0) {
    0x0006f23c movn s5, zero, v0                     |         s5 = 0;
                                                     |     }
    0x0006f240 sllv v0, s2, s0                       |     v0 = s2 << s0;
    0x0006f244 sll v0, v0, 2                         |     v0 <<= 2;
    0x0006f248 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006f24c addu v1, v0, a0                       |     v1 = v0 + a0;
    0x0006f250 sw v1, 0x20(fp)                       |     *(var_20h) = v1;
    0x0006f254 addiu v1, zero, 2                     |     v1 = 2;
    0x0006f258 sw v1, 0x30(fp)                       |     *(var_30h) = v1;
    0x0006f25c sw v1, 0x44(fp)                       |     *(var_44h) = v1;
    0x0006f260 lw v1, (s6)                           |     v1 = *(s6);
    0x0006f264 sw zero, 0x24(fp)                     |     *(var_24h) = 0;
    0x0006f268 addu a0, v1, a0                       |     a0 = v1 + a0;
    0x0006f26c sw zero, 0x38(fp)                     |     *(var_38h) = 0;
    0x0006f270 sw s2, 0x28(fp)                       |     *(var_28h) = s2;
    0x0006f274 sw s2, 0x3c(fp)                       |     *(var_3ch) = s2;
    0x0006f278 sw zero, 0x2c(fp)                     |     *(var_2ch) = 0;
    0x0006f27c sw zero, 0x40(fp)                     |     *(var_40h) = 0;
    0x0006f280 lw a0, -4(a0)                         |     a0 = *((a0 - 1));
    0x0006f284 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f288 sw v0, 0x34(fp)                       |     *(var_34h) = v0;
                                                     |     if (a0 >= 0) {
    0x0006f28c bgez a0, 0x6f488                      |         goto label_24;
                                                     |     }
    0x0006f290 lw a0, (v1)                           |     a0 = *(v1);
    0x0006f294 addiu v0, v0, 4                       |     v0 += 4;
    0x0006f298 negu a0, a0                           |     __asm ("negu a0, a0");
    0x0006f29c sw a0, -4(v0)                         |     *((v0 - 1)) = a0;
    0x0006f2a0 addiu v1, v1, 4                       |     v1 += 4;
    0x0006f2a4 addiu a0, zero, 1                     |     a0 = 1;
                                                     | label_4:
    0x0006f2a8 slt a1, a0, s2                        |     a1 = (a0 < s2) ? 1 : 0;
    0x0006f2ac addiu a0, a0, 1                       |     a0++;
                                                     |     if (a1 != 0) {
    0x0006f2b0 bnez a1, 0x6f470                      |         goto label_25;
                                                     |     }
    0x0006f2b4 sw s2, 0x38(fp)                       |     *(var_38h) = s2;
                                                     | label_5:
    0x0006f2b8 addiu v0, fp, 0x20                    |     v0 = fp + 0x20;
    0x0006f2bc lw t9, -0x7854(gp)                    |     t9 = *((gp - 7701));
    0x0006f2c0 move a3, s3                           |     a3 = s3;
    0x0006f2c4 move a2, s4                           |     a2 = s4;
    0x0006f2c8 move a1, s7                           |     a1 = s7;
    0x0006f2cc sw v0, 0x4c(fp)                       |     *(var_4ch) = v0;
    0x0006f2d0 move a0, v0                           |     a0 = v0;
    0x0006f2d4 bal 0x749d4                           |     fcn_000749d4 ();
    0x0006f2d8 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f2dc beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f2e0 lw v0, -0x78cc(gp)                    |     v0 = *(gp);
    0x0006f2e4 addiu s6, fp, 0x34                    |     s6 = fp + 0x34;
    0x0006f2e8 addiu v0, v0, -0x1988                 |     v0 += -0x1988;
    0x0006f2ec sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f2f0 move a3, zero                         |     a3 = 0;
    0x0006f2f4 move a2, s1                           |     a2 = s1;
    0x0006f2f8 move a1, s2                           |     a1 = s2;
    0x0006f2fc move a0, s6                           |     a0 = s6;
    0x0006f300 move t9, v0                           |     t9 = v0;
    0x0006f304 sw v0, 0x58(fp)                       |     *(var_58h) = v0;
    0x0006f308 bal 0x6e678                           |     fcn_0006e678 ();
    0x0006f30c lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f310 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f314 lw a0, 0x4c(fp)                       |     a0 = *(var_4ch);
    0x0006f318 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f31c sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f320 addiu a3, zero, 1                     |     a3 = 1;
    0x0006f324 move a2, s1                           |     a2 = s1;
    0x0006f328 move a1, s2                           |     a1 = s2;
    0x0006f32c jalr t9                               |     t9 ();
    0x0006f330 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f334 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f338 addiu v0, zero, 1                     |     v0 = 1;
    0x0006f33c lw a2, 0x4c(fp)                       |     a2 = *(var_4ch);
                                                     |     if (s0 != v0) {
    0x0006f340 bne s0, v0, 0x6f4c0                   |         goto label_26;
                                                     |     }
                                                     | label_8:
    0x0006f344 lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f348 lw a0, 0x90(fp)                       |     a0 = *(arg_90h);
    0x0006f34c addiu s7, v0, -1                      |     s7 = v0 + -1;
    0x0006f350 div zero, s7, s0                      |     __asm ("div zero, s7, s0");
    0x0006f354 teq s0, zero, 7                       |     __asm ("teq s0, zero, 7");
    0x0006f358 mfhi s7                               |     __asm ("mfhi s7");
    0x0006f35c addiu s7, s7, 1                       |     s7++;
    0x0006f360 subu v0, v0, s7                       |     __asm ("subu v0, v0, s7");
    0x0006f364 move a1, v0                           |     a1 = v0;
    0x0006f368 sw v0, 0x48(fp)                       |     *(var_48h) = v0;
    0x0006f36c lw v0, -0x78cc(gp)                    |     v0 = *(gp);
    0x0006f370 addiu v0, v0, -0x1a00                 |     v0 += -0x1a00;
    0x0006f374 move t9, v0                           |     t9 = v0;
    0x0006f378 sw v0, 0x58(fp)                       |     *(var_58h) = v0;
    0x0006f37c bal 0x6e600                           |     fcn_0006e600 ();
    0x0006f380 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f384 addiu a3, zero, 1                     |     a3 = 1;
    0x0006f388 sllv a3, a3, s7                       |     a3 <<= s7;
    0x0006f38c addiu a3, a3, -1                      |     a3 += -1;
    0x0006f390 and a3, a3, v0                        |     a3 &= v0;
    0x0006f394 lw v0, -0x78cc(gp)                    |     v0 = *(gp);
    0x0006f398 sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f39c addiu v0, v0, -0x1934                 |     v0 += -0x1934;
    0x0006f3a0 move a2, s1                           |     a2 = s1;
    0x0006f3a4 move a1, s2                           |     a1 = s2;
    0x0006f3a8 move a0, s6                           |     a0 = s6;
    0x0006f3ac move t9, v0                           |     t9 = v0;
    0x0006f3b0 sw v0, 0x5c(fp)                       |     *(var_5ch) = v0;
    0x0006f3b4 bal 0x6e6cc                           |     fcn_0006e6cc ();
    0x0006f3b8 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f3bc beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f3c0 lw v0, 0x50(fp)                       |     v0 = *(var_50h);
    0x0006f3c4 addiu v0, v0, -1                      |     v0 += -1;
    0x0006f3c8 sw v0, 0x50(fp)                       |     *(var_50h) = v0;
                                                     | label_11:
    0x0006f3cc lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f3d0 move s7, zero                         |     s7 = 0;
                                                     |     if (v0 > 0) {
    0x0006f3d4 bgtz v0, 0x6f564                      |         goto label_27;
                                                     |     }
    0x0006f3d8 lw t9, -0x77cc(gp)                    |     t9 = *((gp - 7667));
    0x0006f3dc lw a0, 0x88(fp)                       |     a0 = *(arg_88h);
    0x0006f3e0 move a3, s3                           |     a3 = s3;
    0x0006f3e4 move a2, s4                           |     a2 = s4;
    0x0006f3e8 move a1, s6                           |     a1 = s6;
    0x0006f3ec bal 0x7497c                           |     sym_BN_from_montgomery ();
    0x0006f3f0 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f3f4 sltu s0, zero, v0                     |     s0 = (0 < v0) ? 1 : 0;
                                                     | label_6:
    0x0006f3f8 lw v0, 0x9c(fp)                       |     v0 = *(arg_9ch);
    0x0006f3fc lw t9, -0x77c8(gp)                    |     t9 = *((gp - 7666));
                                                     |     if (v0 != 0) {
    0x0006f400 bnez v0, 0x6f638                      |         goto label_28;
                                                     |     }
    0x0006f404 b 0x6f628                             |     goto label_29;
    0x0006f408 nop                                   |     
                                                     | label_20:
    0x0006f40c lw t9, -0x77e0(gp)                    |     t9 = *((gp - 7672));
    0x0006f410 move a3, s3                           |     a3 = s3;
    0x0006f414 move a2, s6                           |     a2 = s6;
    0x0006f418 move a1, s7                           |     a1 = s7;
    0x0006f41c move a0, v0                           |     a0 = v0;
    0x0006f420 bal 0x739a8                           |     sym_BN_nnmod ();
    0x0006f424 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f428 beqz v0, 0x6f150                      |         goto label_1;
                                                     |     }
    0x0006f42c move s7, s0                           |     s7 = s0;
    0x0006f430 b 0x6f174                             |     goto label_2;
                                                     | label_23:
    0x0006f43c lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
    0x0006f440 lw t9, -0x7f9c(gp)                    |     t9 = *((gp - 8167));
    0x0006f444 addiu a2, zero, 0x2d3                 |     a2 = 0x2d3;
    0x0006f448 addiu a1, a1, 0x7638                  |     a1 += 0x7638;
    0x0006f44c jalr t9                               |     t9 ();
    0x0006f450 move s5, v0                           |     s5 = v0;
    0x0006f454 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f458 bnez v0, 0x6f214                      |         goto label_3;
                                                     |     }
                                                     | label_21:
    0x0006f45c lw v0, 0x9c(fp)                       |     v0 = *(arg_9ch);
    0x0006f460 move s1, zero                         |     s1 = 0;
                                                     |     if (v0 == 0) {
    0x0006f464 beqz v0, 0x6f60c                      |         goto label_30;
                                                     |     }
    0x0006f468 move s0, zero                         |     s0 = 0;
    0x0006f46c b 0x6f668                             |     goto label_31;
                                                     | label_25:
    0x0006f470 lw a1, (v1)                           |     a1 = *(v1);
    0x0006f474 nor a1, zero, a1                      |     __asm ("nor a1, zero, a1");
    0x0006f478 sw a1, (v0)                           |     *(v0) = a1;
    0x0006f47c addiu v1, v1, 4                       |     v1 += 4;
    0x0006f480 addiu v0, v0, 4                       |     v0 += 4;
    0x0006f484 b 0x6f2a8                             |     goto label_4;
                                                     | label_24:
    0x0006f488 lw t9, -0x77c4(gp)                    |     t9 = *((gp - 7665));
    0x0006f48c bal 0x72468                           |     sym_BN_value_one ();
    0x0006f490 nop                                   |     
    0x0006f494 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f498 move a3, s3                           |     a3 = s3;
    0x0006f49c move a2, s4                           |     a2 = s4;
    0x0006f4a0 lw t9, -0x7854(gp)                    |     t9 = *((gp - 7701));
    0x0006f4a4 move a1, v0                           |     a1 = v0;
    0x0006f4a8 addiu a0, fp, 0x34                    |     a0 = fp + 0x34;
    0x0006f4ac bal 0x749d4                           |     fcn_000749d4 ();
    0x0006f4b0 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f4b4 bnez v0, 0x6f2b8                      |         goto label_5;
                                                     |     }
                                                     |     do {
                                                     | label_7:
    0x0006f4b8 move s0, zero                         |         s0 = 0;
    0x0006f4bc b 0x6f3f8                             |         goto label_6;
                                                     | label_26:
    0x0006f4c0 lw t9, -0x7848(gp)                    |         t9 = *((gp - 7698));
    0x0006f4c4 sw s3, 0x10(sp)                       |         *(var_10h) = s3;
    0x0006f4c8 move a3, s4                           |         a3 = s4;
    0x0006f4cc move a1, a2                           |         a1 = a2;
    0x0006f4d0 move a0, s6                           |         a0 = s6;
    0x0006f4d4 bal 0x7469c                           |         fcn_0007469c ();
    0x0006f4d8 lw gp, 0x18(fp)                       |         gp = *(var_18h);
    0x0006f4dc beqz v0, 0x6f4b8                      |         
                                                     |     } while (v0 == 0);
    0x0006f4e0 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f4e4 sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f4e8 addiu a3, zero, 2                     |     a3 = 2;
    0x0006f4ec move a2, s1                           |     a2 = s1;
    0x0006f4f0 move a1, s2                           |     a1 = s2;
    0x0006f4f4 move a0, s6                           |     a0 = s6;
    0x0006f4f8 jalr t9                               |     t9 ();
    0x0006f4fc lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f500 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f504 addiu s7, zero, 3                     |     s7 = 3;
                                                     | label_9:
    0x0006f508 lw v0, 0x50(fp)                       |     v0 = *(var_50h);
    0x0006f50c slt v0, s7, v0                        |     v0 = (s7 < v0) ? 1 : 0;
    0x0006f510 lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
                                                     |     if (v0 == 0) {
    0x0006f514 beqz v0, 0x6f344                      |         goto label_8;
                                                     |     }
    0x0006f518 lw a1, 0x4c(fp)                       |     a1 = *(var_4ch);
    0x0006f51c sw s3, 0x10(sp)                       |     *(var_10h) = s3;
    0x0006f520 move a3, s4                           |     a3 = s4;
    0x0006f524 move a2, s6                           |     a2 = s6;
    0x0006f528 move a0, s6                           |     a0 = s6;
    0x0006f52c bal 0x7469c                           |     fcn_0007469c ();
    0x0006f530 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f534 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f538 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f53c sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f540 move a3, s7                           |     a3 = s7;
    0x0006f544 move a2, s1                           |     a2 = s1;
    0x0006f548 move a1, s2                           |     a1 = s2;
    0x0006f54c move a0, s6                           |     a0 = s6;
    0x0006f550 jalr t9                               |     t9 ();
    0x0006f554 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f558 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f55c addiu s7, s7, 1                       |     s7++;
    0x0006f560 b 0x6f508                             |     goto label_9;
                                                     | label_27:
    0x0006f564 lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
                                                     | label_10:
    0x0006f568 sw s3, 0x10(sp)                       |     *(var_10h) = s3;
    0x0006f56c move a3, s4                           |     a3 = s4;
    0x0006f570 move a2, s6                           |     a2 = s6;
    0x0006f574 move a1, s6                           |     a1 = s6;
    0x0006f578 move a0, s6                           |     a0 = s6;
    0x0006f57c bal 0x7469c                           |     fcn_0007469c ();
    0x0006f580 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f584 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f588 addiu s7, s7, 1                       |     s7++;
    0x0006f58c lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
                                                     |     if (s0 != s7) {
    0x0006f590 bne s0, s7, 0x6f568                   |         goto label_10;
                                                     |     }
    0x0006f594 lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f598 lw a0, 0x90(fp)                       |     a0 = *(arg_90h);
    0x0006f59c subu v0, v0, s0                       |     __asm ("subu v0, v0, s0");
    0x0006f5a0 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f5a4 move a1, v0                           |     a1 = v0;
    0x0006f5a8 sw v0, 0x48(fp)                       |     *(var_48h) = v0;
    0x0006f5ac jalr t9                               |     t9 ();
    0x0006f5b0 lw v1, 0x50(fp)                       |     v1 = *(var_50h);
    0x0006f5b4 lw a0, 0x4c(fp)                       |     a0 = *(var_4ch);
    0x0006f5b8 lw t9, 0x5c(fp)                       |     t9 = *(var_5ch);
    0x0006f5bc sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f5c0 and a3, v1, v0                        |     a3 = v1 & v0;
    0x0006f5c4 move a2, s1                           |     a2 = s1;
    0x0006f5c8 move a1, s2                           |     a1 = s2;
    0x0006f5cc jalr t9                               |     t9 ();
    0x0006f5d0 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f5d4 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f5d8 lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
    0x0006f5dc lw a2, 0x4c(fp)                       |     a2 = *(var_4ch);
    0x0006f5e0 sw s3, 0x10(sp)                       |     *(var_10h) = s3;
    0x0006f5e4 move a3, s4                           |     a3 = s4;
    0x0006f5e8 move a1, s6                           |     a1 = s6;
    0x0006f5ec move a0, s6                           |     a0 = s6;
    0x0006f5f0 bal 0x7469c                           |     fcn_0007469c ();
    0x0006f5f4 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f5f8 bnez v0, 0x6f3cc                      |         goto label_11;
                                                     |     }
    0x0006f5fc move s0, zero                         |     s0 = 0;
    0x0006f600 b 0x6f3f8                             |     goto label_6;
                                                     | label_17:
    0x0006f604 move s1, zero                         |     s1 = 0;
    0x0006f608 sw zero, 0x54(fp)                     |     *(var_54h) = 0;
                                                     | label_30:
    0x0006f60c move s5, zero                         |     s5 = 0;
    0x0006f610 move s0, zero                         |     s0 = 0;
    0x0006f614 b 0x6f624                             |     goto label_32;
                                                     | label_18:
    0x0006f618 sw zero, 0x54(fp)                     |     *(var_54h) = 0;
    0x0006f61c move s1, zero                         |     s1 = 0;
    0x0006f620 move s5, zero                         |     s5 = 0;
                                                     | label_32:
    0x0006f624 lw t9, -0x77c8(gp)                    |     t9 = *((gp - 7666));
                                                     | label_29:
    0x0006f628 move a0, s4                           |     a0 = s4;
    0x0006f62c bal 0x74b0c                           |     sym_BN_MONT_CTX_free ();
    0x0006f630 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (s1 != 0) {
    0x0006f634 beqz s1, 0x6f668                      |         
                                                     | label_28:
    0x0006f638 lw t9, -0x7cec(gp)                    |         t9 = *((gp - 7995));
    0x0006f63c lw a1, 0x54(fp)                       |         a1 = *(var_54h);
    0x0006f640 move a0, s1                           |         a0 = s1;
    0x0006f644 jalr t9                               |         t9 ();
    0x0006f648 lw gp, 0x18(fp)                       |         gp = *(var_18h);
    0x0006f64c addiu a2, zero, 0x463                 |         a2 = 0x463;
    0x0006f650 move a0, s5                           |         a0 = s5;
    0x0006f654 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x0006f658 lw t9, -0x7f98(gp)                    |         t9 = *((gp - 8166));
    0x0006f65c addiu a1, a1, 0x7638                  |         a1 += 0x7638;
    0x0006f660 jalr t9                               |         t9 ();
    0x0006f664 lw gp, 0x18(fp)                       |         gp = *(var_18h);
                                                     |     }
                                                     | label_31:
    0x0006f668 lw t9, -0x780c(gp)                    |     t9 = *((gp - 7683));
    0x0006f66c move a0, s3                           |     a0 = s3;
    0x0006f670 bal 0x6db34                           |     sym_BN_CTX_end ();
    0x0006f674 b 0x6f044                             |     goto label_12;
    0x0006f678 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x6f67c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.BN_mod_exp_mont ()           | void BN_mod_exp_mont () {
    0x0006f67c lui gp, 0x15                  |     
    0x0006f680 addiu gp, gp, 0x7544          |     
    0x0006f684 addu gp, gp, t9               |     gp += t9;
    0x0006f688 addiu sp, sp, -0xe0           |     
    0x0006f68c lw t9, -0x7874(gp)            |     t9 = *(gp);
    0x0006f690 lw v0, 0xf4(sp)               |     v0 = *(arg_f4h);
    0x0006f694 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0006f698 sw fp, 0xd8(sp)               |     *(var_d8h) = fp;
    0x0006f69c sw s6, 0xd0(sp)               |     *(var_d0h) = s6;
    0x0006f6a0 sw s5, 0xcc(sp)               |     *(var_cch) = s5;
    0x0006f6a4 sw s0, 0xb8(sp)               |     *(var_b8h) = s0;
    0x0006f6a8 sw a0, 0xa0(sp)               |     *(var_a0h) = a0;
    0x0006f6ac sw ra, 0xdc(sp)               |     *(var_dch) = ra;
    0x0006f6b0 sw s7, 0xd4(sp)               |     *(var_d4h) = s7;
    0x0006f6b4 sw s4, 0xc8(sp)               |     *(var_c8h) = s4;
    0x0006f6b8 sw s3, 0xc4(sp)               |     *(var_c4h) = s3;
    0x0006f6bc sw s2, 0xc0(sp)               |     *(var_c0h) = s2;
    0x0006f6c0 sw s1, 0xbc(sp)               |     *(var_bch) = s1;
    0x0006f6c4 move s6, a1                   |     s6 = a1;
    0x0006f6c8 sw v0, 0xa4(sp)               |     *(var_a4h) = v0;
    0x0006f6cc addiu a1, zero, 4             |     a1 = 4;
    0x0006f6d0 move a0, a2                   |     a0 = a2;
    0x0006f6d4 move fp, a2                   |     fp = a2;
    0x0006f6d8 move s5, a3                   |     s5 = a3;
    0x0006f6dc lw s0, 0xf0(sp)               |     s0 = *(arg_f0h);
    0x0006f6e0 bal 0x72dc8                   |     sym_BN_get_flags ();
    0x0006f6e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006f6e8 beqz v0, 0x6f73c              |     
                                             |     while (v0 != 0) {
                                             | label_0:
    0x0006f6ec lw v0, 0xa4(sp)               |         v0 = *(var_a4h);
    0x0006f6f0 sw s0, 0xf0(sp)               |         *(arg_f0h) = s0;
    0x0006f6f4 lw a0, 0xa0(sp)               |         a0 = *(var_a0h);
    0x0006f6f8 lw ra, 0xdc(sp)               |         ra = *(var_dch);
    0x0006f6fc lw s7, 0xd4(sp)               |         s7 = *(var_d4h);
    0x0006f700 lw s4, 0xc8(sp)               |         s4 = *(var_c8h);
    0x0006f704 lw s3, 0xc4(sp)               |         s3 = *(var_c4h);
    0x0006f708 lw s2, 0xc0(sp)               |         s2 = *(var_c0h);
    0x0006f70c lw s1, 0xbc(sp)               |         s1 = *(var_bch);
    0x0006f710 lw s0, 0xb8(sp)               |         s0 = *(var_b8h);
    0x0006f714 move a3, s5                   |         a3 = s5;
    0x0006f718 move a2, fp                   |         a2 = fp;
    0x0006f71c lw s5, 0xcc(sp)               |         s5 = *(var_cch);
    0x0006f720 lw fp, 0xd8(sp)               |         fp = *(var_d8h);
    0x0006f724 move a1, s6                   |         a1 = s6;
    0x0006f728 lw t9, -0x77c0(gp)            |         t9 = *((gp - 7664));
    0x0006f72c lw s6, 0xd0(sp)               |         s6 = *(var_d0h);
    0x0006f730 sw v0, 0xf4(sp)               |         *(arg_f4h) = v0;
    0x0006f734 addiu sp, sp, 0xe0            |         
    0x0006f738 b 0x6efb4                     |         void (*0x6efb4)() ();
    0x0006f73c lw t9, -0x7874(gp)            |         t9 = *(gp);
    0x0006f740 addiu a1, zero, 4             |         a1 = 4;
    0x0006f744 move a0, s6                   |         a0 = s6;
    0x0006f748 bal 0x72dc8                   |         sym_BN_get_flags ();
    0x0006f74c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006f750 bnez v0, 0x6f6ec              |         
                                             |     }
    0x0006f754 lw t9, -0x7874(gp)            |     t9 = *(gp);
    0x0006f758 addiu a1, zero, 4             |     a1 = 4;
    0x0006f75c move a0, s5                   |     a0 = s5;
    0x0006f760 bal 0x72dc8                   |     sym_BN_get_flags ();
    0x0006f764 move s4, v0                   |     s4 = v0;
    0x0006f768 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0006f76c bnez v0, 0x6f6ec              |         goto label_0;
                                             |     }
    0x0006f770 lw t9, -0x77fc(gp)            |     t9 = *((gp - 7679));
    0x0006f774 move a0, s5                   |     a0 = s5;
    0x0006f778 bal 0x72c5c                   |     sym_BN_is_odd ();
    0x0006f77c move s1, v0                   |     s1 = v0;
    0x0006f780 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0006f784 bnez v0, 0x6f7e0              |         goto label_14;
                                             |     }
    0x0006f788 lw a3, -0x7fd4(gp)            |     a3 = *((gp - 8181));
    0x0006f78c addiu v0, zero, 0x13e         |     v0 = 0x13e;
    0x0006f790 lw t9, -0x7f94(gp)            |     t9 = *((gp - 8165));
    0x0006f794 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0006f798 addiu a3, a3, 0x7638          |     a3 += 0x7638;
    0x0006f79c addiu a2, zero, 0x66          |     a2 = 0x66;
    0x0006f7a0 addiu a1, zero, 0x6d          |     a1 = 0x6d;
    0x0006f7a4 addiu a0, zero, 3             |     a0 = 3;
    0x0006f7a8 jalr t9                       |     t9 ();
                                             |     do {
                                             | label_7:
    0x0006f7ac lw ra, 0xdc(sp)               |         ra = *(var_dch);
    0x0006f7b0 move v0, s1                   |         v0 = s1;
    0x0006f7b4 lw fp, 0xd8(sp)               |         fp = *(var_d8h);
    0x0006f7b8 lw s7, 0xd4(sp)               |         s7 = *(var_d4h);
    0x0006f7bc lw s6, 0xd0(sp)               |         s6 = *(var_d0h);
    0x0006f7c0 lw s5, 0xcc(sp)               |         s5 = *(var_cch);
    0x0006f7c4 lw s4, 0xc8(sp)               |         s4 = *(var_c8h);
    0x0006f7c8 lw s3, 0xc4(sp)               |         s3 = *(var_c4h);
    0x0006f7cc lw s2, 0xc0(sp)               |         s2 = *(var_c0h);
    0x0006f7d0 lw s1, 0xbc(sp)               |         s1 = *(var_bch);
    0x0006f7d4 lw s0, 0xb8(sp)               |         s0 = *(var_b8h);
    0x0006f7d8 addiu sp, sp, 0xe0            |         
    0x0006f7dc jr ra                         |         return v0;
                                             | label_14:
    0x0006f7e0 lw t9, -0x7f08(gp)            |         t9 = *((gp - 8130));
    0x0006f7e4 move a0, fp                   |         a0 = fp;
    0x0006f7e8 bal 0x72a00                   |         sym_BN_num_bits ();
    0x0006f7ec move s1, v0                   |         s1 = v0;
    0x0006f7f0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x0006f7f4 bnez v0, 0x6f860              |             goto label_15;
                                             |         }
    0x0006f7f8 lw t9, -0x77ec(gp)            |         t9 = *((gp - 7675));
    0x0006f7fc addiu a1, zero, 1             |         a1 = 1;
    0x0006f800 move a0, s5                   |         a0 = s5;
    0x0006f804 bal 0x729bc                   |         sym_BN_abs_is_word ();
    0x0006f808 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006f80c lw t9, -0x7eac(gp)            |         t9 = *((gp - 8107));
                                             |         if (v0 == 0) {
    0x0006f810 beqz v0, 0x6f828              |             goto label_16;
                                             |         }
    0x0006f814 lw a0, 0xa0(sp)               |         a0 = *(var_a0h);
    0x0006f818 move a1, zero                 |         a1 = 0;
    0x0006f81c bal 0x73114                   |         sym_BN_set_word ();
    0x0006f820 addiu s1, zero, 1             |         s1 = 1;
    0x0006f824 b 0x6f7ac                     |         
                                             |     } while (1);
                                             | label_16:
    0x0006f828 lw a0, 0xa0(sp)               |     a0 = *(var_a0h);
    0x0006f82c lw ra, 0xdc(sp)               |     ra = *(var_dch);
    0x0006f830 lw fp, 0xd8(sp)               |     fp = *(var_d8h);
    0x0006f834 lw s7, 0xd4(sp)               |     s7 = *(var_d4h);
    0x0006f838 lw s6, 0xd0(sp)               |     s6 = *(var_d0h);
    0x0006f83c lw s5, 0xcc(sp)               |     s5 = *(var_cch);
    0x0006f840 lw s4, 0xc8(sp)               |     s4 = *(var_c8h);
    0x0006f844 lw s3, 0xc4(sp)               |     s3 = *(var_c4h);
    0x0006f848 lw s2, 0xc0(sp)               |     s2 = *(var_c0h);
    0x0006f84c lw s1, 0xbc(sp)               |     s1 = *(var_bch);
    0x0006f850 lw s0, 0xb8(sp)               |     s0 = *(var_b8h);
    0x0006f854 addiu a1, zero, 1             |     a1 = 1;
    0x0006f858 addiu sp, sp, 0xe0            |     
    0x0006f85c b 0x73114                     |     void (*0x73114)() ();
                                             | label_15:
    0x0006f860 lw t9, -0x7820(gp)            |     t9 = *((gp - 7688));
    0x0006f864 move a0, s0                   |     a0 = s0;
    0x0006f868 bal 0x6d9bc                   |     sym_BN_CTX_start ();
    0x0006f86c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006f870 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0006f874 move a0, s0                   |     a0 = s0;
    0x0006f878 bal 0x6dbd0                   |     sym_BN_CTX_get ();
    0x0006f87c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006f880 move a0, s0                   |     a0 = s0;
    0x0006f884 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0006f888 sw v0, 0xac(sp)               |     *(var_ach) = v0;
    0x0006f88c bal 0x6dbd0                   |     sym_BN_CTX_get ();
    0x0006f890 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006f894 move a0, s0                   |     a0 = s0;
    0x0006f898 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0006f89c move s3, v0                   |     s3 = v0;
    0x0006f8a0 bal 0x6dbd0                   |     sym_BN_CTX_get ();
    0x0006f8a4 move s7, v0                   |     s7 = v0;
    0x0006f8a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006f8ac sw v0, 0x20(sp)               |     *(var_20h) = v0;
                                             |     if (v0 == 0) {
    0x0006f8b0 beqz v0, 0x6fc7c              |         goto label_17;
                                             |     }
    0x0006f8b4 lw v0, 0xa4(sp)               |     v0 = *(var_a4h);
    0x0006f8b8 lw s2, 0xa4(sp)               |     s2 = *(var_a4h);
                                             |     if (v0 == 0) {
    0x0006f8bc bnez v0, 0x6f8f4              |         
    0x0006f8c0 lw t9, -0x77d4(gp)            |         t9 = *((gp - 7669));
    0x0006f8c4 bal 0x74a78                   |         sym_BN_MONT_CTX_new ();
    0x0006f8c8 nop                           |         
    0x0006f8cc move s2, v0                   |         s2 = v0;
    0x0006f8d0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006f8d4 beqz v0, 0x6fb7c              |             goto label_18;
                                             |         }
    0x0006f8d8 lw t9, -0x77d0(gp)            |         t9 = *((gp - 7668));
    0x0006f8dc move a2, s0                   |         a2 = s0;
    0x0006f8e0 move a1, s5                   |         a1 = s5;
    0x0006f8e4 move a0, v0                   |         a0 = v0;
    0x0006f8e8 bal 0x74ba8                   |         sym_BN_MONT_CTX_set ();
    0x0006f8ec lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006f8f0 beqz v0, 0x6fb7c              |             goto label_18;
                                             |         }
                                             |     }
    0x0006f8f4 lw v0, 0xc(s6)                |     v0 = *((s6 + 3));
    0x0006f8f8 lw t9, -0x7898(gp)            |     t9 = *((gp - 7718));
                                             |     if (v0 == 0) {
    0x0006f8fc beqz v0, 0x6faa8              |         goto label_19;
                                             |     }
                                             | label_1:
    0x0006f900 lw t9, -0x77e0(gp)            |     t9 = *((gp - 7672));
    0x0006f904 move a3, s0                   |     a3 = s0;
    0x0006f908 move a2, s5                   |     a2 = s5;
    0x0006f90c move a1, s6                   |     a1 = s6;
    0x0006f910 move a0, s7                   |     a0 = s7;
    0x0006f914 bal 0x739a8                   |     sym_BN_nnmod ();
    0x0006f918 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006f91c beqz v0, 0x6fb20              |         goto label_8;
                                             |     }
    0x0006f920 move s6, s7                   |     s6 = s7;
    0x0006f924 lw t9, -0x7854(gp)            |     t9 = *((gp - 7701));
                                             | label_2:
    0x0006f928 move a3, s0                   |     a3 = s0;
    0x0006f92c move a2, s2                   |     a2 = s2;
    0x0006f930 move a1, s6                   |     a1 = s6;
    0x0006f934 move a0, s7                   |     a0 = s7;
    0x0006f938 bal 0x749d4                   |     fcn_000749d4 ();
    0x0006f93c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006f940 beqz v0, 0x6fb20              |         goto label_8;
                                             |     }
    0x0006f944 slti v0, s1, 0x2a0            |     v0 = (s1 < aav.0x000002a0) ? 1 : 0;
    0x0006f948 slti v0, s1, 0xf0             |     v0 = (s1 < 0xf0) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0006f94c beqz v0, 0x6fac4              |         goto label_20;
                                             |     }
    0x0006f950 slti v0, s1, 0x50             |     v0 = (s1 < 0x50) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0006f954 beqz v0, 0x6facc              |         goto label_21;
                                             |     }
    0x0006f958 slti v0, s1, 0x18             |     v0 = (s1 < 0x18) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0006f95c beqz v0, 0x6fad4              |         goto label_22;
                                             |     }
    0x0006f960 addiu s6, zero, 1             |     s6 = 1;
                                             |     if (v0 != 0) {
    0x0006f964 bnez v0, 0x6fa04              |         goto label_23;
                                             |     }
    0x0006f968 addiu s6, zero, 3             |     s6 = 3;
                                             | label_3:
    0x0006f96c lw t9, -0x7848(gp)            |     t9 = *((gp - 7698));
    0x0006f970 lw a0, 0xac(sp)               |     a0 = *(var_ach);
    0x0006f974 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x0006f978 move a3, s2                   |     a3 = s2;
    0x0006f97c move a2, s7                   |     a2 = s7;
    0x0006f980 move a1, s7                   |     a1 = s7;
    0x0006f984 bal 0x7469c                   |     fcn_0007469c ();
    0x0006f988 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006f98c beqz v0, 0x6fb20              |         goto label_8;
                                             |     }
    0x0006f990 addiu v0, s6, -1              |     v0 = s6 + -1;
    0x0006f994 addiu v1, zero, 1             |     v1 = 1;
    0x0006f998 sllv v0, v1, v0               |     v0 = v1 << v0;
    0x0006f99c sw v0, 0xb0(sp)               |     *(var_b0h) = v0;
    0x0006f9a0 addiu v0, zero, 1             |     v0 = 1;
    0x0006f9a4 addiu s7, sp, 0x20            |     s7 = sp + 0x20;
    0x0006f9a8 sw v0, 0xa8(sp)               |     *(var_a8h) = v0;
                                             |     do {
    0x0006f9ac lw t9, -0x781c(gp)            |         t9 = *((gp - 7687));
    0x0006f9b0 move a0, s0                   |         a0 = s0;
    0x0006f9b4 bal 0x6dbd0                   |         sym_BN_CTX_get ();
    0x0006f9b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006f9bc sw v0, 4(s7)                  |         *(var_4h) = v0;
                                             |         if (v0 == 0) {
    0x0006f9c0 beqz v0, 0x6fb70              |             goto label_13;
                                             |         }
    0x0006f9c4 sw s0, 0x10(sp)               |         *(var_10h) = s0;
    0x0006f9c8 lw t9, -0x7848(gp)            |         t9 = *((gp - 7698));
    0x0006f9cc lw a2, 0xac(sp)               |         a2 = *(var_ach);
    0x0006f9d0 lw a1, (s7)                   |         a1 = *(s7);
    0x0006f9d4 move a3, s2                   |         a3 = s2;
    0x0006f9d8 move a0, v0                   |         a0 = v0;
    0x0006f9dc bal 0x7469c                   |         fcn_0007469c ();
    0x0006f9e0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006f9e4 beqz v0, 0x6fb20              |             goto label_8;
                                             |         }
    0x0006f9e8 lw v0, 0xa8(sp)               |         v0 = *(var_a8h);
    0x0006f9ec addiu v0, v0, 1               |         v0++;
    0x0006f9f0 sw v0, 0xa8(sp)               |         *(var_a8h) = v0;
    0x0006f9f4 lw v1, 0xa8(sp)               |         v1 = *(var_a8h);
    0x0006f9f8 lw v0, 0xb0(sp)               |         v0 = *(var_b0h);
    0x0006f9fc addiu s7, s7, 4               |         s7 += 4;
    0x0006fa00 bne v0, v1, 0x6f9ac           |         
                                             |     } while (v0 != v1);
                                             | label_23:
    0x0006fa04 lw s7, 4(s5)                  |     s7 = *((s5 + 1));
    0x0006fa08 lw v0, (s5)                   |     v0 = *(s5);
    0x0006fa0c sll v1, s7, 2                 |     v1 = s7 << 2;
    0x0006fa10 addu v0, v0, v1               |     v0 += v1;
    0x0006fa14 lw v0, -4(v0)                 |     v0 = *((v0 - 1));
    0x0006fa18 lw t9, -0x77c4(gp)            |     t9 = *((gp - 7665));
                                             |     if (v0 >= 0) {
    0x0006fa1c bgez v0, 0x6faf4              |         goto label_24;
                                             |     }
    0x0006fa20 lw t9, -0x78a8(gp)            |     t9 = *((gp - 7722));
    0x0006fa24 move a1, s7                   |     a1 = s7;
    0x0006fa28 move a0, s3                   |     a0 = s3;
    0x0006fa2c bal 0x731bc                   |     fcn_000731bc ();
    0x0006fa30 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006fa34 beqz v0, 0x6fb70              |         goto label_13;
                                             |     }
    0x0006fa38 lw v1, (s5)                   |     v1 = *(s5);
    0x0006fa3c lw v0, (s3)                   |     v0 = *(s3);
    0x0006fa40 addiu v1, v1, 4               |     v1 += 4;
    0x0006fa44 lw a0, -4(v1)                 |     a0 = *((v1 - 1));
    0x0006fa48 addiu v0, v0, 4               |     v0 += 4;
    0x0006fa4c negu a0, a0                   |     __asm ("negu a0, a0");
    0x0006fa50 sw a0, -4(v0)                 |     *(var_10h) = a0;
    0x0006fa54 addiu a0, zero, 1             |     a0 = 1;
                                             | label_4:
    0x0006fa58 slt a1, a0, s7                |     a1 = (a0 < s7) ? 1 : 0;
    0x0006fa5c addiu a0, a0, 1               |     a0++;
                                             |     if (a1 != 0) {
    0x0006fa60 bnez a1, 0x6fadc              |         goto label_25;
                                             |     }
    0x0006fa64 sw s7, 4(s3)                  |     *((s3 + 1)) = s7;
                                             | label_5:
    0x0006fa68 addiu v0, sp, 0x20            |     v0 = sp + 0x20;
    0x0006fa6c addiu s1, s1, -1              |     s1 += -1;
    0x0006fa70 addiu s4, zero, 1             |     s4 = 1;
    0x0006fa74 sw v0, 0xac(sp)               |     *(var_ach) = v0;
                                             |     do {
    0x0006fa78 lw t9, -0x77f8(gp)            |         t9 = *((gp - 7678));
                                             | label_11:
    0x0006fa7c move a1, s1                   |         a1 = s1;
    0x0006fa80 move a0, fp                   |         a0 = fp;
    0x0006fa84 bal 0x72814                   |         sym_BN_is_bit_set ();
    0x0006fa88 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x0006fa8c bnez v0, 0x6fc68              |             goto label_26;
                                             |         }
    0x0006fa90 lw t9, -0x7848(gp)            |         t9 = *((gp - 7698));
                                             |         if (s4 == 0) {
    0x0006fa94 beqz s4, 0x6fb28              |             goto label_27;
                                             |         }
                                             | label_6:
    0x0006fa98 lw t9, -0x77cc(gp)            |         t9 = *((gp - 7667));
                                             |         if (s1 == 0) {
    0x0006fa9c beqz s1, 0x6fb54              |             goto label_28;
                                             |         }
    0x0006faa0 addiu s1, s1, -1              |         s1 += -1;
    0x0006faa4 b 0x6fa78                     |         
                                             |     } while (1);
                                             | label_19:
    0x0006faa8 move a1, s5                   |     a1 = s5;
    0x0006faac move a0, s6                   |     a0 = s6;
    0x0006fab0 bal 0x726f4                   |     sym_BN_ucmp ();
    0x0006fab4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 >= 0) {
    0x0006fab8 bgez v0, 0x6f900              |         goto label_1;
                                             |     }
    0x0006fabc lw t9, -0x7854(gp)            |     t9 = *((gp - 7701));
    0x0006fac0 b 0x6f928                     |     goto label_2;
                                             | label_20:
    0x0006fac4 addiu s6, zero, 6             |     s6 = 6;
    0x0006fac8 b 0x6f96c                     |     goto label_3;
                                             | label_21:
    0x0006facc addiu s6, zero, 5             |     s6 = 5;
    0x0006fad0 b 0x6f96c                     |     goto label_3;
                                             | label_22:
    0x0006fad4 addiu s6, zero, 4             |     s6 = 4;
    0x0006fad8 b 0x6f96c                     |     goto label_3;
                                             | label_25:
    0x0006fadc lw a1, (v1)                   |     a1 = *(v1);
    0x0006fae0 nor a1, zero, a1              |     __asm ("nor a1, zero, a1");
    0x0006fae4 sw a1, (v0)                   |     *(v0) = a1;
    0x0006fae8 addiu v1, v1, 4               |     v1 += 4;
    0x0006faec addiu v0, v0, 4               |     v0 += 4;
    0x0006faf0 b 0x6fa58                     |     goto label_4;
                                             | label_24:
    0x0006faf4 bal 0x72468                   |     sym_BN_value_one ();
    0x0006faf8 nop                           |     
    0x0006fafc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fb00 move a3, s0                   |     a3 = s0;
    0x0006fb04 move a2, s2                   |     a2 = s2;
    0x0006fb08 lw t9, -0x7854(gp)            |     t9 = *((gp - 7701));
    0x0006fb0c move a1, v0                   |     a1 = v0;
    0x0006fb10 move a0, s3                   |     a0 = s3;
    0x0006fb14 bal 0x749d4                   |     fcn_000749d4 ();
    0x0006fb18 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0006fb1c bnez v0, 0x6fa68              |         goto label_5;
                                             |     }
                                             | label_8:
    0x0006fb20 move s4, zero                 |     s4 = 0;
    0x0006fb24 b 0x6fb70                     |     goto label_13;
                                             | label_27:
    0x0006fb28 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x0006fb2c move a3, s2                   |     a3 = s2;
    0x0006fb30 move a2, s3                   |     a2 = s3;
    0x0006fb34 move a1, s3                   |     a1 = s3;
    0x0006fb38 move a0, s3                   |     a0 = s3;
    0x0006fb3c bal 0x7469c                   |     fcn_0007469c ();
    0x0006fb40 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0006fb44 bnez v0, 0x6fa98              |         goto label_6;
                                             |     }
    0x0006fb48 move s4, zero                 |     s4 = 0;
    0x0006fb4c b 0x6fb70                     |     goto label_13;
                                             | label_10:
    0x0006fb50 lw t9, -0x77cc(gp)            |     t9 = *((gp - 7667));
                                             | label_28:
    0x0006fb54 lw a0, 0xa0(sp)               |     a0 = *(var_a0h);
    0x0006fb58 move a3, s0                   |     a3 = s0;
    0x0006fb5c move a2, s2                   |     a2 = s2;
    0x0006fb60 move a1, s3                   |     a1 = s3;
    0x0006fb64 bal 0x7497c                   |     sym_BN_from_montgomery ();
    0x0006fb68 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fb6c sltu s4, zero, v0             |     s4 = (0 < v0) ? 1 : 0;
                                             | label_13:
    0x0006fb70 lw v0, 0xa4(sp)               |     v0 = *(var_a4h);
    0x0006fb74 lw t9, -0x780c(gp)            |     t9 = *((gp - 7683));
                                             |     if (v0 == 0) {
    0x0006fb78 bnez v0, 0x6fb90              |         
                                             | label_18:
    0x0006fb7c lw t9, -0x77c8(gp)            |         t9 = *((gp - 7666));
    0x0006fb80 move a0, s2                   |         a0 = s2;
    0x0006fb84 bal 0x74b0c                   |         sym_BN_MONT_CTX_free ();
    0x0006fb88 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006fb8c lw t9, -0x780c(gp)            |         t9 = *((gp - 7683));
                                             |     }
    0x0006fb90 move a0, s0                   |     a0 = s0;
    0x0006fb94 bal 0x6db34                   |     sym_BN_CTX_end ();
    0x0006fb98 move s1, s4                   |     s1 = s4;
    0x0006fb9c b 0x6f7ac                     |     goto label_7;
                                             |     do {
    0x0006fba0 lw t9, -0x77f8(gp)            |         t9 = *((gp - 7678));
                                             |         if (a1 < 0) {
    0x0006fba4 bltz a1, 0x6fbdc              |             goto label_29;
                                             |         }
    0x0006fba8 move a0, fp                   |         a0 = fp;
    0x0006fbac bal 0x72814                   |         sym_BN_is_bit_set ();
    0x0006fbb0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x0006fbb4 beqz v0, 0x6fbd0              |             
    0x0006fbb8 lw v0, 0xa8(sp)               |             v0 = *(var_a8h);
    0x0006fbbc subu s7, s5, s7               |             __asm ("subu s7, s5, s7");
    0x0006fbc0 sllv s7, v0, s7               |             s7 = v0 << s7;
    0x0006fbc4 ori v0, s7, 1                 |             v0 = s7 | 1;
    0x0006fbc8 sw v0, 0xa8(sp)               |             *(var_a8h) = v0;
    0x0006fbcc move s7, s5                   |             s7 = s5;
                                             |         }
    0x0006fbd0 addiu s5, s5, 1               |         s5++;
                                             | label_12:
    0x0006fbd4 subu a1, s1, s5               |         __asm ("subu a1, s1, s5");
    0x0006fbd8 bne s5, s6, 0x6fba0           |         
                                             |     } while (s5 != s6);
                                             | label_29:
    0x0006fbdc lw v0, 0xa8(sp)               |     v0 = *(var_a8h);
                                             |     if (s4 != 0) {
    0x0006fbe0 bnez s4, 0x6fc1c              |         goto label_30;
                                             |     }
    0x0006fbe4 lw t9, -0x7848(gp)            |     t9 = *((gp - 7698));
                                             | label_9:
    0x0006fbe8 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x0006fbec move a3, s2                   |     a3 = s2;
    0x0006fbf0 move a2, s3                   |     a2 = s3;
    0x0006fbf4 move a1, s3                   |     a1 = s3;
    0x0006fbf8 move a0, s3                   |     a0 = s3;
    0x0006fbfc bal 0x7469c                   |     fcn_0007469c ();
    0x0006fc00 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006fc04 beqz v0, 0x6fb20              |         goto label_8;
                                             |     }
    0x0006fc08 addiu s4, s4, 1               |     s4++;
    0x0006fc0c slt v0, s7, s4                |     v0 = (s7 < s4) ? 1 : 0;
    0x0006fc10 lw t9, -0x7848(gp)            |     t9 = *((gp - 7698));
                                             |     if (v0 == 0) {
    0x0006fc14 beqz v0, 0x6fbe8              |         goto label_9;
                                             |     }
    0x0006fc18 lw v0, 0xa8(sp)               |     v0 = *(var_a8h);
                                             | label_30:
    0x0006fc1c lw v1, 0xac(sp)               |     v1 = *(var_ach);
    0x0006fc20 sra v0, v0, 1                 |     v0 >>= 1;
    0x0006fc24 sll v0, v0, 2                 |     v0 <<= 2;
    0x0006fc28 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0006fc2c lw t9, -0x7848(gp)            |     t9 = *((gp - 7698));
    0x0006fc30 lw a2, (v0)                   |     a2 = *(v0);
    0x0006fc34 move a3, s2                   |     a3 = s2;
    0x0006fc38 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x0006fc3c move a1, s3                   |     a1 = s3;
    0x0006fc40 move a0, s3                   |     a0 = s3;
    0x0006fc44 bal 0x7469c                   |     fcn_0007469c ();
    0x0006fc48 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006fc4c beqz v0, 0x6fb20              |         goto label_8;
                                             |     }
    0x0006fc50 addiu s7, s7, 1               |     s7++;
    0x0006fc54 subu s1, s1, s7               |     __asm ("subu s1, s1, s7");
    0x0006fc58 move s4, zero                 |     s4 = 0;
                                             |     if (s1 < 0) {
    0x0006fc5c bltz s1, 0x6fb50              |         goto label_10;
                                             |     }
    0x0006fc60 lw t9, -0x77f8(gp)            |     t9 = *((gp - 7678));
    0x0006fc64 b 0x6fa7c                     |     goto label_11;
                                             | label_26:
    0x0006fc68 addiu v0, zero, 1             |     v0 = 1;
    0x0006fc6c move s7, zero                 |     s7 = 0;
    0x0006fc70 sw v0, 0xa8(sp)               |     *(var_a8h) = v0;
    0x0006fc74 addiu s5, zero, 1             |     s5 = 1;
    0x0006fc78 b 0x6fbd4                     |     goto label_12;
                                             | label_17:
    0x0006fc7c move s2, zero                 |     s2 = 0;
    0x0006fc80 b 0x6fb70                     |     goto label_13;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x6fc84 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.BN_mod_exp_mont_word ()      | void BN_mod_exp_mont_word () {
    0x0006fc84 lui gp, 0x15                  |     
    0x0006fc88 addiu gp, gp, 0x6f3c          |     
    0x0006fc8c addu gp, gp, t9               |     gp += t9;
    0x0006fc90 addiu sp, sp, -0x58           |     
    0x0006fc94 lw t9, -0x7874(gp)            |     t9 = *(gp);
    0x0006fc98 lw v0, 0x6c(sp)               |     v0 = *(arg_6ch);
    0x0006fc9c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0006fca0 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x0006fca4 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x0006fca8 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x0006fcac sw a0, 0x24(sp)               |     *(var_24h) = a0;
    0x0006fcb0 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0006fcb4 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x0006fcb8 sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x0006fcbc sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x0006fcc0 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x0006fcc4 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x0006fcc8 sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x0006fccc move s5, a1                   |     s5 = a1;
    0x0006fcd0 sw a2, 0x28(sp)               |     *(var_28h) = a2;
    0x0006fcd4 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0006fcd8 addiu a1, zero, 4             |     a1 = 4;
    0x0006fcdc move a0, a2                   |     a0 = a2;
    0x0006fce0 move s7, a3                   |     s7 = a3;
    0x0006fce4 lw s2, 0x68(sp)               |     s2 = *(arg_68h);
    0x0006fce8 bal 0x72dc8                   |     sym_BN_get_flags ();
    0x0006fcec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fcf0 beqz v0, 0x6fd50              |     
                                             |     while (v0 != 0) {
    0x0006fcf4 lw a3, -0x7fd4(gp)            |         a3 = *((gp - 8181));
    0x0006fcf8 addiu v0, zero, 0x486         |         v0 = 0x486;
    0x0006fcfc lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x0006fd00 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0006fd04 addiu a3, a3, 0x7638          |         a3 += 0x7638;
    0x0006fd08 addiu a2, zero, 0x42          |         a2 = 0x42;
    0x0006fd0c addiu a1, zero, 0x75          |         a1 = 0x75;
    0x0006fd10 addiu a0, zero, 3             |         a0 = 3;
    0x0006fd14 move s0, zero                 |         s0 = 0;
    0x0006fd18 jalr t9                       |         t9 ();
                                             | label_1:
    0x0006fd1c lw ra, 0x54(sp)               |         ra = *(var_54h);
                                             | label_0:
    0x0006fd20 move v0, s0                   |         v0 = s0;
    0x0006fd24 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0006fd28 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0006fd2c lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0006fd30 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0006fd34 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0006fd38 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0006fd3c lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0006fd40 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0006fd44 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0006fd48 addiu sp, sp, 0x58            |         
    0x0006fd4c jr ra                         |         return v0;
    0x0006fd50 lw t9, -0x7874(gp)            |         t9 = *(gp);
    0x0006fd54 addiu a1, zero, 4             |         a1 = 4;
    0x0006fd58 move a0, s7                   |         a0 = s7;
    0x0006fd5c bal 0x72dc8                   |         sym_BN_get_flags ();
    0x0006fd60 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006fd64 bnez v0, 0x6fcf4              |         
                                             |     }
    0x0006fd68 lw t9, -0x77fc(gp)            |     t9 = *((gp - 7679));
    0x0006fd6c move a0, s7                   |     a0 = s7;
    0x0006fd70 bal 0x72c5c                   |     sym_BN_is_odd ();
    0x0006fd74 move s0, v0                   |     s0 = v0;
    0x0006fd78 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006fd7c bnez v0, 0x6fdac              |         
    0x0006fd80 lw a3, -0x7fd4(gp)            |         a3 = *((gp - 8181));
    0x0006fd84 addiu v0, zero, 0x48e         |         v0 = 0x48e;
    0x0006fd88 lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x0006fd8c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0006fd90 addiu a3, a3, 0x7638          |         a3 += 0x7638;
    0x0006fd94 addiu a2, zero, 0x66          |         a2 = 0x66;
    0x0006fd98 addiu a1, zero, 0x75          |         a1 = 0x75;
    0x0006fd9c addiu a0, zero, 3             |         a0 = 3;
    0x0006fda0 jalr t9                       |         t9 ();
                                             | label_7:
    0x0006fda4 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0006fda8 b 0x6fd20                     |         goto label_0;
                                             |     }
    0x0006fdac lw v1, 4(s7)                  |     v1 = *((s7 + 1));
    0x0006fdb0 addiu v0, zero, 1             |     v0 = 1;
    0x0006fdb4 lw t9, -0x7f08(gp)            |     t9 = *((gp - 8130));
                                             |     if (v1 == v0) {
    0x0006fdb8 bne v1, v0, 0x6fdd0           |         
    0x0006fdbc lw v0, (s7)                   |         v0 = *(s7);
    0x0006fdc0 lw v0, (v0)                   |         v0 = *(v0);
    0x0006fdc4 divu zero, s5, v0             |         __asm ("divu zero, s5, v0");
    0x0006fdc8 teq v0, zero, 7               |         __asm ("teq v0, zero, 7");
    0x0006fdcc mfhi s5                       |         __asm ("mfhi s5");
                                             |     }
    0x0006fdd0 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x0006fdd4 bal 0x72a00                   |     sym_BN_num_bits ();
    0x0006fdd8 move s3, v0                   |     s3 = v0;
    0x0006fddc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0006fde0 bnez v0, 0x6fe50              |         goto label_9;
                                             |     }
    0x0006fde4 lw t9, -0x77ec(gp)            |     t9 = *((gp - 7675));
    0x0006fde8 addiu a1, zero, 1             |     a1 = 1;
    0x0006fdec move a0, s7                   |     a0 = s7;
    0x0006fdf0 bal 0x729bc                   |     sym_BN_abs_is_word ();
    0x0006fdf4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fdf8 beqz v0, 0x6fe14              |     
                                             |     while (s5 == 0) {
    0x0006fdfc lw t9, -0x7eac(gp)            |         t9 = *((gp - 8107));
    0x0006fe00 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0006fe04 move a1, zero                 |         a1 = 0;
    0x0006fe08 bal 0x73114                   |         sym_BN_set_word ();
    0x0006fe0c addiu s0, zero, 1             |         s0 = 1;
    0x0006fe10 b 0x6fd1c                     |         goto label_1;
    0x0006fe14 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0006fe18 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0006fe1c lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0006fe20 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0006fe24 lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0006fe28 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0006fe2c lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0006fe30 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0006fe34 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0006fe38 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0006fe3c lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0006fe40 lw t9, -0x7eac(gp)            |         t9 = *((gp - 8107));
    0x0006fe44 addiu a1, zero, 1             |         a1 = 1;
    0x0006fe48 addiu sp, sp, 0x58            |         
    0x0006fe4c b 0x73114                     |         void (*0x73114)() ();
                                             | label_9:
    0x0006fe50 lw t9, -0x7820(gp)            |         t9 = *((gp - 7688));
    0x0006fe54 beqz s5, 0x6fdfc              |         
                                             |     }
    0x0006fe58 move a0, s2                   |     a0 = s2;
    0x0006fe5c bal 0x6d9bc                   |     sym_BN_CTX_start ();
    0x0006fe60 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fe64 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0006fe68 move a0, s2                   |     a0 = s2;
    0x0006fe6c bal 0x6dbd0                   |     sym_BN_CTX_get ();
    0x0006fe70 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fe74 move a0, s2                   |     a0 = s2;
    0x0006fe78 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0006fe7c move s1, v0                   |     s1 = v0;
    0x0006fe80 bal 0x6dbd0                   |     sym_BN_CTX_get ();
    0x0006fe84 move s6, v0                   |     s6 = v0;
    0x0006fe88 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006fe8c beqz v0, 0x701cc              |         goto label_10;
                                             |     }
    0x0006fe90 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x0006fe94 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
                                             |     if (v0 == 0) {
    0x0006fe98 bnez v0, 0x6fed4              |         
    0x0006fe9c lw t9, -0x77d4(gp)            |         t9 = *((gp - 7669));
    0x0006fea0 bal 0x74a78                   |         sym_BN_MONT_CTX_new ();
    0x0006fea4 nop                           |         
    0x0006fea8 move s4, v0                   |         s4 = v0;
    0x0006feac lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006feb0 beqz v0, 0x701d8              |             goto label_11;
                                             |         }
    0x0006feb4 lw t9, -0x77d0(gp)            |         t9 = *((gp - 7668));
    0x0006feb8 move a2, s2                   |         a2 = s2;
    0x0006febc move a1, s7                   |         a1 = s7;
    0x0006fec0 move a0, v0                   |         a0 = v0;
    0x0006fec4 bal 0x74ba8                   |         sym_BN_MONT_CTX_set ();
    0x0006fec8 move s0, v0                   |         s0 = v0;
    0x0006fecc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006fed0 beqz v0, 0x701a8              |             goto label_8;
                                             |         }
                                             |     }
    0x0006fed4 addiu v0, s3, -2              |     v0 = s3 + -2;
    0x0006fed8 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0006fedc move a1, s5                   |     a1 = s5;
    0x0006fee0 addiu fp, zero, 1             |     fp = 1;
                                             | label_3:
    0x0006fee4 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0006fee8 mul s3, a1, a1                |     __asm ("mul s3, a1, a1");
                                             |     if (v0 < 0) {
    0x0006feec bgez v0, 0x6ff60              |         
    0x0006fef0 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (a1 == v0) {
    0x0006fef4 beq a1, v0, 0x7017c           |             goto label_12;
                                             |         }
    0x0006fef8 nop                           |         
    0x0006fefc move a0, s1                   |         a0 = s1;
                                             |         if (fp == 0) {
    0x0006ff00 beqz fp, 0x70134              |             goto label_13;
                                             |         }
    0x0006ff04 lw t9, -0x7eac(gp)            |         t9 = *((gp - 8107));
    0x0006ff08 bal 0x73114                   |         sym_BN_set_word ();
    0x0006ff0c nop                           |         
    0x0006ff10 move s0, v0                   |         s0 = v0;
    0x0006ff14 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006ff18 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x0006ff1c lw t9, -0x77bc(gp)            |         t9 = *((gp - 7663));
    0x0006ff20 move a3, s2                   |         a3 = s2;
    0x0006ff24 move a2, s4                   |         a2 = s4;
    0x0006ff28 move a1, s1                   |         a1 = s1;
    0x0006ff2c move a0, s1                   |         a0 = s1;
    0x0006ff30 bal 0x72c90                   |         sym_BN_to_montgomery ();
    0x0006ff34 move s0, v0                   |         s0 = v0;
    0x0006ff38 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006ff3c beqz v0, 0x7019c              |             goto label_14;
                                             |         }
                                             | label_5:
    0x0006ff40 lw t9, -0x77cc(gp)            |         t9 = *((gp - 7667));
                                             | label_6:
    0x0006ff44 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0006ff48 move a3, s2                   |         a3 = s2;
    0x0006ff4c move a2, s4                   |         a2 = s4;
    0x0006ff50 move a1, s1                   |         a1 = s1;
    0x0006ff54 bal 0x7497c                   |         sym_BN_from_montgomery ();
    0x0006ff58 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006ff5c b 0x70198                     |         goto label_15;
                                             |     }
    0x0006ff60 divu zero, s3, a1             |     __asm ("divu zero, s3, a1");
    0x0006ff64 teq a1, zero, 7               |     __asm ("teq a1, zero, 7");
    0x0006ff68 mflo v0                       |     __asm ("mflo v0");
                                             |     if (a1 == v0) {
    0x0006ff6c beq a1, v0, 0x7003c           |         goto label_16;
                                             |     }
    0x0006ff70 nop                           |     
    0x0006ff74 move a0, s1                   |     a0 = s1;
                                             |     if (fp == 0) {
    0x0006ff78 beqz fp, 0x6ffec              |         goto label_17;
                                             |     }
    0x0006ff7c lw t9, -0x7eac(gp)            |     t9 = *((gp - 8107));
    0x0006ff80 bal 0x73114                   |     sym_BN_set_word ();
    0x0006ff84 nop                           |     
    0x0006ff88 move s0, v0                   |     s0 = v0;
    0x0006ff8c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006ff90 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x0006ff94 lw t9, -0x77bc(gp)            |     t9 = *((gp - 7663));
    0x0006ff98 move a3, s2                   |     a3 = s2;
    0x0006ff9c move a2, s4                   |     a2 = s4;
    0x0006ffa0 move a1, s1                   |     a1 = s1;
    0x0006ffa4 move a0, s1                   |     a0 = s1;
    0x0006ffa8 bal 0x72c90                   |     sym_BN_to_montgomery ();
    0x0006ffac move s0, v0                   |     s0 = v0;
    0x0006ffb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006ffb4 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
                                             |     do {
    0x0006ffb8 addiu s3, zero, 1             |         s3 = 1;
    0x0006ffbc lw t9, -0x788c(gp)            |         t9 = *((gp - 7715));
                                             | label_2:
    0x0006ffc0 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x0006ffc4 move a3, s4                   |         a3 = s4;
    0x0006ffc8 move a2, s1                   |         a2 = s1;
    0x0006ffcc move a1, s1                   |         a1 = s1;
    0x0006ffd0 move a0, s1                   |         a0 = s1;
    0x0006ffd4 bal 0x74848                   |         sym_BN_mod_mul_montgomery ();
    0x0006ffd8 move s0, v0                   |         s0 = v0;
    0x0006ffdc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006ffe0 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x0006ffe4 move fp, zero                 |         fp = 0;
    0x0006ffe8 b 0x70044                     |         goto label_18;
                                             | label_17:
    0x0006ffec lw t9, -0x7eb0(gp)            |         t9 = *((gp - 8108));
    0x0006fff0 bal 0x7b308                   |         sym_BN_mul_word ();
    0x0006fff4 nop                           |         
    0x0006fff8 move s0, v0                   |         s0 = v0;
    0x0006fffc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00070000 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x00070004 lw t9, -0x77b8(gp)            |         t9 = *(gp);
    0x00070008 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x0007000c move a3, s7                   |         a3 = s7;
    0x00070010 move a2, s1                   |         a2 = s1;
    0x00070014 move a1, s6                   |         a1 = s6;
    0x00070018 move a0, zero                 |         a0 = 0;
    0x0007001c bal 0x6e460                   |         sym_BN_div ();
    0x00070020 move s0, v0                   |         s0 = v0;
    0x00070024 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00070028 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x0007002c move v0, s1                   |         v0 = s1;
    0x00070030 move s1, s6                   |         s1 = s6;
    0x00070034 move s6, v0                   |         s6 = v0;
    0x00070038 b 0x6ffb8                     |         
                                             |     } while (1);
                                             | label_16:
    0x0007003c lw t9, -0x788c(gp)            |     t9 = *((gp - 7715));
                                             |     if (fp == 0) {
    0x00070040 beqz fp, 0x6ffc0              |         goto label_2;
                                             |     }
                                             | label_18:
    0x00070044 lw t9, -0x77f8(gp)            |     t9 = *((gp - 7678));
    0x00070048 lw a1, 0x20(sp)               |     a1 = *(var_20h);
    0x0007004c lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00070050 bal 0x72814                   |     sym_BN_is_bit_set ();
    0x00070054 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070058 beqz v0, 0x700c4              |         goto label_4;
                                             |     }
    0x0007005c mul v0, s5, s3                |     __asm ("mul v0, s5, s3");
    0x00070060 divu zero, v0, s5             |     __asm ("divu zero, v0, s5");
    0x00070064 teq s5, zero, 7               |     __asm ("teq s5, zero, 7");
    0x00070068 mflo v1                       |     __asm ("mflo v1");
                                             |     if (v1 == s3) {
    0x0007006c beq v1, s3, 0x7012c           |         goto label_19;
                                             |     }
    0x00070070 nop                           |     
    0x00070074 move a1, s3                   |     a1 = s3;
    0x00070078 move a0, s1                   |     a0 = s1;
                                             |     if (fp == 0) {
    0x0007007c beqz fp, 0x700d8              |         goto label_20;
                                             |     }
    0x00070080 lw t9, -0x7eac(gp)            |     t9 = *((gp - 8107));
    0x00070084 bal 0x73114                   |     sym_BN_set_word ();
    0x00070088 nop                           |     
    0x0007008c move s0, v0                   |     s0 = v0;
    0x00070090 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070094 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x00070098 lw t9, -0x77bc(gp)            |     t9 = *((gp - 7663));
    0x0007009c move a3, s2                   |     a3 = s2;
    0x000700a0 move a2, s4                   |     a2 = s4;
    0x000700a4 move a1, s1                   |     a1 = s1;
    0x000700a8 move a0, s1                   |     a0 = s1;
    0x000700ac bal 0x72c90                   |     sym_BN_to_montgomery ();
    0x000700b0 move s0, v0                   |     s0 = v0;
    0x000700b4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000700b8 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x000700bc move s3, s5                   |     s3 = s5;
    0x000700c0 move fp, zero                 |     fp = 0;
                                             |     do {
                                             | label_4:
    0x000700c4 lw v0, 0x20(sp)               |         v0 = *(var_20h);
    0x000700c8 move a1, s3                   |         a1 = s3;
    0x000700cc addiu v0, v0, -1              |         v0 += -1;
    0x000700d0 sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x000700d4 b 0x6fee4                     |         goto label_3;
                                             | label_20:
    0x000700d8 lw t9, -0x7eb0(gp)            |         t9 = *((gp - 8108));
    0x000700dc bal 0x7b308                   |         sym_BN_mul_word ();
    0x000700e0 nop                           |         
    0x000700e4 move s0, v0                   |         s0 = v0;
    0x000700e8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000700ec beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x000700f0 lw t9, -0x77b8(gp)            |         t9 = *(gp);
    0x000700f4 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x000700f8 move a3, s7                   |         a3 = s7;
    0x000700fc move a2, s1                   |         a2 = s1;
    0x00070100 move a1, s6                   |         a1 = s6;
    0x00070104 move a0, zero                 |         a0 = 0;
    0x00070108 bal 0x6e460                   |         sym_BN_div ();
    0x0007010c move s0, v0                   |         s0 = v0;
    0x00070110 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00070114 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x00070118 move v0, s1                   |         v0 = s1;
    0x0007011c move s3, s5                   |         s3 = s5;
    0x00070120 move s1, s6                   |         s1 = s6;
    0x00070124 move s6, v0                   |         s6 = v0;
    0x00070128 b 0x700c4                     |         
                                             |     } while (1);
                                             | label_19:
    0x0007012c move s3, v0                   |     s3 = v0;
    0x00070130 b 0x700c4                     |     goto label_4;
                                             | label_13:
    0x00070134 lw t9, -0x7eb0(gp)            |     t9 = *((gp - 8108));
    0x00070138 bal 0x7b308                   |     sym_BN_mul_word ();
    0x0007013c nop                           |     
    0x00070140 move s0, v0                   |     s0 = v0;
    0x00070144 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070148 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x0007014c lw t9, -0x77b8(gp)            |     t9 = *(gp);
    0x00070150 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x00070154 move a3, s7                   |     a3 = s7;
    0x00070158 move a2, s1                   |     a2 = s1;
    0x0007015c move a1, s6                   |     a1 = s6;
    0x00070160 move a0, zero                 |     a0 = 0;
    0x00070164 bal 0x6e460                   |     sym_BN_div ();
    0x00070168 move s0, v0                   |     s0 = v0;
    0x0007016c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070170 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x00070174 move s1, s6                   |     s1 = s6;
    0x00070178 b 0x6ff40                     |     goto label_5;
                                             | label_12:
    0x0007017c lw t9, -0x77cc(gp)            |     t9 = *((gp - 7667));
                                             |     if (fp == 0) {
    0x00070180 beqz fp, 0x6ff44              |         goto label_6;
                                             |     }
    0x00070184 lw t9, -0x7eac(gp)            |     t9 = *((gp - 8107));
    0x00070188 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x0007018c addiu a1, zero, 1             |     a1 = 1;
    0x00070190 bal 0x73114                   |     sym_BN_set_word ();
    0x00070194 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_15:
    0x00070198 sltu s0, zero, v0             |     s0 = (0 < v0) ? 1 : 0;
                                             |     do {
                                             | label_14:
    0x0007019c lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x000701a0 lw t9, -0x780c(gp)            |         t9 = *((gp - 7683));
                                             |         if (v0 == 0) {
    0x000701a4 bnez v0, 0x701bc              |             
                                             | label_8:
    0x000701a8 lw t9, -0x77c8(gp)            |             t9 = *((gp - 7666));
    0x000701ac move a0, s4                   |             a0 = s4;
    0x000701b0 bal 0x74b0c                   |             sym_BN_MONT_CTX_free ();
    0x000701b4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000701b8 lw t9, -0x780c(gp)            |             t9 = *((gp - 7683));
                                             |         }
    0x000701bc move a0, s2                   |         a0 = s2;
    0x000701c0 bal 0x6db34                   |         sym_BN_CTX_end ();
    0x000701c4 b 0x6fda4                     |         goto label_7;
    0x000701c8 nop                           |         
                                             | label_10:
    0x000701cc move s0, zero                 |         s0 = 0;
    0x000701d0 move s4, zero                 |         s4 = 0;
    0x000701d4 b 0x7019c                     |         
                                             |     } while (1);
                                             | label_11:
    0x000701d8 move s0, zero                 |     s0 = 0;
    0x000701dc b 0x701a8                     |     goto label_8;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x6efb4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.BN_mod_exp_mont_consttime ()         | void BN_mod_exp_mont_consttime () {
    0x0006efb4 lui gp, 0x15                          |     
    0x0006efb8 addiu gp, gp, 0x7c0c                  |     
    0x0006efbc addu gp, gp, t9                       |     gp += t9;
    0x0006efc0 addiu sp, sp, -0x88                   |     
    0x0006efc4 lw t9, -0x77fc(gp)                    |     t9 = *((gp - 7679));
    0x0006efc8 sw fp, 0x80(sp)                       |     *(var_80h) = fp;
    0x0006efcc move fp, sp                           |     fp = sp;
    0x0006efd0 sw s7, 0x7c(sp)                       |     *(var_7ch) = s7;
    0x0006efd4 sw s6, 0x78(sp)                       |     *(var_78h) = s6;
    0x0006efd8 sw s3, 0x6c(sp)                       |     *(var_6ch) = s3;
    0x0006efdc sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x0006efe0 sw a0, 0x88(fp)                       |     *(arg_88h) = a0;
    0x0006efe4 sw ra, 0x84(sp)                       |     *(var_84h) = ra;
    0x0006efe8 sw s5, 0x74(sp)                       |     *(var_74h) = s5;
    0x0006efec sw s4, 0x70(sp)                       |     *(var_70h) = s4;
    0x0006eff0 sw s2, 0x68(sp)                       |     *(var_68h) = s2;
    0x0006eff4 sw s1, 0x64(sp)                       |     *(var_64h) = s1;
    0x0006eff8 sw s0, 0x60(sp)                       |     *(var_60h) = s0;
    0x0006effc sw a2, 0x90(fp)                       |     *(arg_90h) = a2;
    0x0006f000 move a0, a3                           |     a0 = a3;
    0x0006f004 move s7, a1                           |     s7 = a1;
    0x0006f008 move s6, a3                           |     s6 = a3;
    0x0006f00c lw s3, 0x98(fp)                       |     s3 = *(arg_98h);
    0x0006f010 bal 0x72c5c                           |     sym_BN_is_odd ();
    0x0006f014 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f018 bnez v0, 0x6f04c                      |         
    0x0006f01c lw a3, -0x7fd4(gp)                    |         a3 = *((gp - 8181));
    0x0006f020 move s0, v0                           |         s0 = v0;
    0x0006f024 lw t9, -0x7f94(gp)                    |         t9 = *((gp - 8165));
    0x0006f028 addiu v0, zero, 0x266                 |         v0 = 0x266;
    0x0006f02c sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x0006f030 addiu a3, a3, 0x7638                  |         a3 += 0x7638;
    0x0006f034 addiu a2, zero, 0x66                  |         a2 = 0x66;
    0x0006f038 addiu a1, zero, 0x7c                  |         a1 = 0x7c;
    0x0006f03c addiu a0, zero, 3                     |         a0 = 3;
    0x0006f040 jalr t9                               |         t9 ();
                                                     | label_12:
    0x0006f044 b 0x6f08c                             |         goto label_13;
    0x0006f048 nop                                   |         
                                                     |     }
    0x0006f04c lw v0, 0x90(fp)                       |     v0 = *(arg_90h);
    0x0006f050 lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x0006f054 sll v0, v0, 5                         |     v0 <<= 5;
    0x0006f058 sw v0, 0x48(fp)                       |     *(var_48h) = v0;
                                                     |     if (v0 != 0) {
    0x0006f05c bnez v0, 0x6f0d8                      |         goto label_14;
                                                     |     }
    0x0006f060 lw t9, -0x77ec(gp)                    |     t9 = *((gp - 7675));
    0x0006f064 addiu a1, zero, 1                     |     a1 = 1;
    0x0006f068 move a0, s6                           |     a0 = s6;
    0x0006f06c bal 0x729bc                           |     sym_BN_abs_is_word ();
    0x0006f070 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f074 lw t9, -0x7eac(gp)                    |     t9 = *((gp - 8107));
                                                     |     if (v0 == 0) {
    0x0006f078 beqz v0, 0x6f0c4                      |         goto label_15;
                                                     |     }
    0x0006f07c lw a0, 0x88(fp)                       |     a0 = *(arg_88h);
    0x0006f080 move a1, zero                         |     a1 = 0;
    0x0006f084 addiu s0, zero, 1                     |     s0 = 1;
    0x0006f088 bal 0x73114                           |     sym_BN_set_word ();
                                                     |     do {
                                                     | label_13:
    0x0006f08c move sp, fp                           |         
    0x0006f090 move v0, s0                           |         v0 = s0;
    0x0006f094 lw ra, 0x84(sp)                       |         ra = *(var_84h);
    0x0006f098 lw fp, 0x80(sp)                       |         fp = *(var_80h);
    0x0006f09c lw s7, 0x7c(sp)                       |         s7 = *(var_7ch);
    0x0006f0a0 lw s6, 0x78(sp)                       |         s6 = *(var_78h);
    0x0006f0a4 lw s5, 0x74(sp)                       |         s5 = *(var_74h);
    0x0006f0a8 lw s4, 0x70(sp)                       |         s4 = *(var_70h);
    0x0006f0ac lw s3, 0x6c(sp)                       |         s3 = *(var_6ch);
    0x0006f0b0 lw s2, 0x68(sp)                       |         s2 = *(var_68h);
    0x0006f0b4 lw s1, 0x64(sp)                       |         s1 = *(var_64h);
    0x0006f0b8 lw s0, 0x60(sp)                       |         s0 = *(var_60h);
    0x0006f0bc addiu sp, sp, 0x88                    |         
    0x0006f0c0 jr ra                                 |         return v0;
                                                     | label_15:
    0x0006f0c4 lw a0, 0x88(fp)                       |         a0 = *(arg_88h);
    0x0006f0c8 addiu a1, zero, 1                     |         a1 = 1;
    0x0006f0cc bal 0x73114                           |         sym_BN_set_word ();
    0x0006f0d0 move s0, v0                           |         s0 = v0;
    0x0006f0d4 b 0x6f08c                             |         
                                                     |     } while (1);
                                                     | label_14:
    0x0006f0d8 lw t9, -0x7820(gp)                    |     t9 = *((gp - 7688));
    0x0006f0dc move a0, s3                           |     a0 = s3;
    0x0006f0e0 lw s2, 4(s6)                          |     s2 = *((s6 + 1));
    0x0006f0e4 bal 0x6d9bc                           |     sym_BN_CTX_start ();
    0x0006f0e8 lw v0, 0x9c(fp)                       |     v0 = *(arg_9ch);
    0x0006f0ec lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f0f0 bnez v0, 0x6f158                      |         goto label_16;
                                                     |     }
    0x0006f0f4 lw t9, -0x77d4(gp)                    |     t9 = *((gp - 7669));
    0x0006f0f8 bal 0x74a78                           |     sym_BN_MONT_CTX_new ();
    0x0006f0fc nop                                   |     
    0x0006f100 move s4, v0                           |     s4 = v0;
    0x0006f104 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f108 beqz v0, 0x6f604                      |         goto label_17;
                                                     |     }
    0x0006f10c lw t9, -0x77d0(gp)                    |     t9 = *((gp - 7668));
    0x0006f110 move a2, s3                           |     a2 = s3;
    0x0006f114 move a1, s6                           |     a1 = s6;
    0x0006f118 move a0, v0                           |     a0 = v0;
    0x0006f11c bal 0x74ba8                           |     sym_BN_MONT_CTX_set ();
    0x0006f120 move s0, v0                           |     s0 = v0;
    0x0006f124 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f128 beqz v0, 0x6f618                      |         goto label_18;
                                                     |     }
                                                     |     do {
    0x0006f12c lw v0, 0xc(s7)                        |         v0 = *((s7 + 3));
    0x0006f130 lw t9, -0x7898(gp)                    |         t9 = *((gp - 7718));
                                                     |         if (v0 == 0) {
    0x0006f134 beqz v0, 0x6f160                      |             goto label_19;
                                                     |         }
                                                     | label_0:
    0x0006f138 lw t9, -0x781c(gp)                    |         t9 = *((gp - 7687));
    0x0006f13c move a0, s3                           |         a0 = s3;
    0x0006f140 bal 0x6dbd0                           |         sym_BN_CTX_get ();
    0x0006f144 move s0, v0                           |         s0 = v0;
    0x0006f148 lw gp, 0x18(fp)                       |         gp = *(var_18h);
                                                     |         if (v0 != 0) {
    0x0006f14c bnez v0, 0x6f40c                      |             goto label_20;
                                                     |         }
                                                     | label_1:
    0x0006f150 sw zero, 0x54(fp)                     |         *(var_54h) = 0;
    0x0006f154 b 0x6f45c                             |         goto label_21;
                                                     | label_16:
    0x0006f158 lw s4, 0x9c(fp)                       |         s4 = *(arg_9ch);
    0x0006f15c b 0x6f12c                             |         
                                                     |     } while (1);
                                                     | label_19:
    0x0006f160 move a1, s6                           |     a1 = s6;
    0x0006f164 move a0, s7                           |     a0 = s7;
    0x0006f168 bal 0x726f4                           |     sym_BN_ucmp ();
    0x0006f16c lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 >= 0) {
    0x0006f170 bgez v0, 0x6f138                      |         goto label_0;
                                                     |     }
                                                     | label_2:
    0x0006f174 lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f178 slti v0, v0, 0x3aa                    |     v0 = (v0 < 0x3aa) ? 1 : 0;
    0x0006f17c addiu s0, zero, 6                     |     s0 = 6;
                                                     |     if (v0 != 0) {
    0x0006f180 beqz v0, 0x6f1bc                      |         
    0x0006f184 lw v0, 0x48(fp)                       |         v0 = *(var_48h);
    0x0006f188 slti v0, v0, 0x133                    |         v0 = (v0 < 0x133) ? 1 : 0;
    0x0006f18c addiu s0, zero, 5                     |         s0 = 5;
                                                     |         if (v0 == 0) {
    0x0006f190 beqz v0, 0x6f1bc                      |             goto label_22;
                                                     |         }
    0x0006f194 lw v0, 0x48(fp)                       |         v0 = *(var_48h);
    0x0006f198 slti v0, v0, 0x5a                     |         v0 = (v0 < 0x5a) ? 1 : 0;
    0x0006f19c addiu s0, zero, 4                     |         s0 = 4;
                                                     |         if (v0 == 0) {
    0x0006f1a0 beqz v0, 0x6f1bc                      |             goto label_22;
                                                     |         }
    0x0006f1a4 lw v0, 0x48(fp)                       |         v0 = *(var_48h);
    0x0006f1a8 addiu v1, zero, 1                     |         v1 = 1;
    0x0006f1ac slti s0, v0, 0x17                     |         s0 = (v0 < 0x17) ? 1 : 0;
    0x0006f1b0 addiu v0, zero, 3                     |         v0 = 3;
                                                     |         if (s0 == 0) {
    0x0006f1b4 movn v0, v1, s0                       |             v0 = v1;
                                                     |         }
    0x0006f1b8 move s0, v0                           |         s0 = v0;
                                                     |     }
                                                     | label_22:
    0x0006f1bc addiu v0, zero, 1                     |     v0 = 1;
    0x0006f1c0 sllv v0, v0, s0                       |     v0 <<= s0;
    0x0006f1c4 sw v0, 0x50(fp)                       |     *(var_50h) = v0;
    0x0006f1c8 sll v1, s2, 1                         |     v1 = s2 << 1;
    0x0006f1cc lw a0, 0x50(fp)                       |     a0 = *(var_50h);
    0x0006f1d0 slt v0, v1, v0                        |     v0 = (v1 < v0) ? 1 : 0;
                                                     |     if (v0 != 0) {
    0x0006f1d4 movz a0, v1, v0                       |         a0 = v1;
                                                     |     }
    0x0006f1d8 sllv v1, s2, s0                       |     v1 = s2 << s0;
    0x0006f1dc addu v0, a0, v1                       |     v0 = a0 + v1;
    0x0006f1e0 sll v0, v0, 2                         |     v0 <<= 2;
    0x0006f1e4 sw v0, 0x4c(fp)                       |     *(var_4ch) = v0;
    0x0006f1e8 sw v0, 0x54(fp)                       |     *(var_54h) = v0;
    0x0006f1ec addiu a0, v0, 0x40                    |     a0 = v0 + 0x40;
    0x0006f1f0 slti v0, v0, 0xc00                    |     v0 = (v0 < aav.0x00000c00) ? 1 : 0;
    0x0006f1f4 sw v0, 0x58(fp)                       |     *(var_58h) = v0;
                                                     |     if (v0 == 0) {
    0x0006f1f8 beqz v0, 0x6f43c                      |         goto label_23;
                                                     |     }
    0x0006f1fc lw v0, 0x4c(fp)                       |     v0 = *(var_4ch);
    0x0006f200 addiu v0, v0, 0x4e                    |     v0 += 0x4e;
    0x0006f204 srl v0, v0, 3                         |     v0 >>= 3;
    0x0006f208 sll v0, v0, 3                         |     v0 <<= 3;
    0x0006f20c subu sp, sp, v0                       |     
    0x0006f210 addiu s5, sp, 0x18                    |     s5 = sp + 0x18;
                                                     | label_3:
    0x0006f214 andi s1, s5, 0x3f                     |     s1 = s5 & 0x3f;
    0x0006f218 subu s1, s5, s1                       |     __asm ("subu s1, s5, s1");
    0x0006f21c lw t9, -0x5604(gp)                    |     t9 = *((gp - 5505));
    0x0006f220 addiu s1, s1, 0x40                    |     s1 += 0x40;
    0x0006f224 lw a2, 0x4c(fp)                       |     a2 = *(var_4ch);
    0x0006f228 move a0, s1                           |     a0 = s1;
    0x0006f22c move a1, zero                         |     a1 = 0;
    0x0006f230 jalr t9                               |     t9 ();
    0x0006f234 lw v0, 0x58(fp)                       |     v0 = *(var_58h);
    0x0006f238 sll a0, s2, 2                         |     a0 = s2 << 2;
                                                     |     if (v0 == 0) {
    0x0006f23c movn s5, zero, v0                     |         s5 = 0;
                                                     |     }
    0x0006f240 sllv v0, s2, s0                       |     v0 = s2 << s0;
    0x0006f244 sll v0, v0, 2                         |     v0 <<= 2;
    0x0006f248 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006f24c addu v1, v0, a0                       |     v1 = v0 + a0;
    0x0006f250 sw v1, 0x20(fp)                       |     *(var_20h) = v1;
    0x0006f254 addiu v1, zero, 2                     |     v1 = 2;
    0x0006f258 sw v1, 0x30(fp)                       |     *(var_30h) = v1;
    0x0006f25c sw v1, 0x44(fp)                       |     *(var_44h) = v1;
    0x0006f260 lw v1, (s6)                           |     v1 = *(s6);
    0x0006f264 sw zero, 0x24(fp)                     |     *(var_24h) = 0;
    0x0006f268 addu a0, v1, a0                       |     a0 = v1 + a0;
    0x0006f26c sw zero, 0x38(fp)                     |     *(var_38h) = 0;
    0x0006f270 sw s2, 0x28(fp)                       |     *(var_28h) = s2;
    0x0006f274 sw s2, 0x3c(fp)                       |     *(var_3ch) = s2;
    0x0006f278 sw zero, 0x2c(fp)                     |     *(var_2ch) = 0;
    0x0006f27c sw zero, 0x40(fp)                     |     *(var_40h) = 0;
    0x0006f280 lw a0, -4(a0)                         |     a0 = *((a0 - 1));
    0x0006f284 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f288 sw v0, 0x34(fp)                       |     *(var_34h) = v0;
                                                     |     if (a0 >= 0) {
    0x0006f28c bgez a0, 0x6f488                      |         goto label_24;
                                                     |     }
    0x0006f290 lw a0, (v1)                           |     a0 = *(v1);
    0x0006f294 addiu v0, v0, 4                       |     v0 += 4;
    0x0006f298 negu a0, a0                           |     __asm ("negu a0, a0");
    0x0006f29c sw a0, -4(v0)                         |     *((v0 - 1)) = a0;
    0x0006f2a0 addiu v1, v1, 4                       |     v1 += 4;
    0x0006f2a4 addiu a0, zero, 1                     |     a0 = 1;
                                                     | label_4:
    0x0006f2a8 slt a1, a0, s2                        |     a1 = (a0 < s2) ? 1 : 0;
    0x0006f2ac addiu a0, a0, 1                       |     a0++;
                                                     |     if (a1 != 0) {
    0x0006f2b0 bnez a1, 0x6f470                      |         goto label_25;
                                                     |     }
    0x0006f2b4 sw s2, 0x38(fp)                       |     *(var_38h) = s2;
                                                     | label_5:
    0x0006f2b8 addiu v0, fp, 0x20                    |     v0 = fp + 0x20;
    0x0006f2bc lw t9, -0x7854(gp)                    |     t9 = *((gp - 7701));
    0x0006f2c0 move a3, s3                           |     a3 = s3;
    0x0006f2c4 move a2, s4                           |     a2 = s4;
    0x0006f2c8 move a1, s7                           |     a1 = s7;
    0x0006f2cc sw v0, 0x4c(fp)                       |     *(var_4ch) = v0;
    0x0006f2d0 move a0, v0                           |     a0 = v0;
    0x0006f2d4 bal 0x749d4                           |     fcn_000749d4 ();
    0x0006f2d8 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f2dc beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f2e0 lw v0, -0x78cc(gp)                    |     v0 = *(gp);
    0x0006f2e4 addiu s6, fp, 0x34                    |     s6 = fp + 0x34;
    0x0006f2e8 addiu v0, v0, -0x1988                 |     v0 += -0x1988;
    0x0006f2ec sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f2f0 move a3, zero                         |     a3 = 0;
    0x0006f2f4 move a2, s1                           |     a2 = s1;
    0x0006f2f8 move a1, s2                           |     a1 = s2;
    0x0006f2fc move a0, s6                           |     a0 = s6;
    0x0006f300 move t9, v0                           |     t9 = v0;
    0x0006f304 sw v0, 0x58(fp)                       |     *(var_58h) = v0;
    0x0006f308 bal 0x6e678                           |     fcn_0006e678 ();
    0x0006f30c lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f310 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f314 lw a0, 0x4c(fp)                       |     a0 = *(var_4ch);
    0x0006f318 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f31c sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f320 addiu a3, zero, 1                     |     a3 = 1;
    0x0006f324 move a2, s1                           |     a2 = s1;
    0x0006f328 move a1, s2                           |     a1 = s2;
    0x0006f32c jalr t9                               |     t9 ();
    0x0006f330 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f334 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f338 addiu v0, zero, 1                     |     v0 = 1;
    0x0006f33c lw a2, 0x4c(fp)                       |     a2 = *(var_4ch);
                                                     |     if (s0 != v0) {
    0x0006f340 bne s0, v0, 0x6f4c0                   |         goto label_26;
                                                     |     }
                                                     | label_8:
    0x0006f344 lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f348 lw a0, 0x90(fp)                       |     a0 = *(arg_90h);
    0x0006f34c addiu s7, v0, -1                      |     s7 = v0 + -1;
    0x0006f350 div zero, s7, s0                      |     __asm ("div zero, s7, s0");
    0x0006f354 teq s0, zero, 7                       |     __asm ("teq s0, zero, 7");
    0x0006f358 mfhi s7                               |     __asm ("mfhi s7");
    0x0006f35c addiu s7, s7, 1                       |     s7++;
    0x0006f360 subu v0, v0, s7                       |     __asm ("subu v0, v0, s7");
    0x0006f364 move a1, v0                           |     a1 = v0;
    0x0006f368 sw v0, 0x48(fp)                       |     *(var_48h) = v0;
    0x0006f36c lw v0, -0x78cc(gp)                    |     v0 = *(gp);
    0x0006f370 addiu v0, v0, -0x1a00                 |     v0 += -0x1a00;
    0x0006f374 move t9, v0                           |     t9 = v0;
    0x0006f378 sw v0, 0x58(fp)                       |     *(var_58h) = v0;
    0x0006f37c bal 0x6e600                           |     fcn_0006e600 ();
    0x0006f380 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f384 addiu a3, zero, 1                     |     a3 = 1;
    0x0006f388 sllv a3, a3, s7                       |     a3 <<= s7;
    0x0006f38c addiu a3, a3, -1                      |     a3 += -1;
    0x0006f390 and a3, a3, v0                        |     a3 &= v0;
    0x0006f394 lw v0, -0x78cc(gp)                    |     v0 = *(gp);
    0x0006f398 sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f39c addiu v0, v0, -0x1934                 |     v0 += -0x1934;
    0x0006f3a0 move a2, s1                           |     a2 = s1;
    0x0006f3a4 move a1, s2                           |     a1 = s2;
    0x0006f3a8 move a0, s6                           |     a0 = s6;
    0x0006f3ac move t9, v0                           |     t9 = v0;
    0x0006f3b0 sw v0, 0x5c(fp)                       |     *(var_5ch) = v0;
    0x0006f3b4 bal 0x6e6cc                           |     fcn_0006e6cc ();
    0x0006f3b8 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f3bc beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f3c0 lw v0, 0x50(fp)                       |     v0 = *(var_50h);
    0x0006f3c4 addiu v0, v0, -1                      |     v0 += -1;
    0x0006f3c8 sw v0, 0x50(fp)                       |     *(var_50h) = v0;
                                                     | label_11:
    0x0006f3cc lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f3d0 move s7, zero                         |     s7 = 0;
                                                     |     if (v0 > 0) {
    0x0006f3d4 bgtz v0, 0x6f564                      |         goto label_27;
                                                     |     }
    0x0006f3d8 lw t9, -0x77cc(gp)                    |     t9 = *((gp - 7667));
    0x0006f3dc lw a0, 0x88(fp)                       |     a0 = *(arg_88h);
    0x0006f3e0 move a3, s3                           |     a3 = s3;
    0x0006f3e4 move a2, s4                           |     a2 = s4;
    0x0006f3e8 move a1, s6                           |     a1 = s6;
    0x0006f3ec bal 0x7497c                           |     sym_BN_from_montgomery ();
    0x0006f3f0 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f3f4 sltu s0, zero, v0                     |     s0 = (0 < v0) ? 1 : 0;
                                                     | label_6:
    0x0006f3f8 lw v0, 0x9c(fp)                       |     v0 = *(arg_9ch);
    0x0006f3fc lw t9, -0x77c8(gp)                    |     t9 = *((gp - 7666));
                                                     |     if (v0 != 0) {
    0x0006f400 bnez v0, 0x6f638                      |         goto label_28;
                                                     |     }
    0x0006f404 b 0x6f628                             |     goto label_29;
    0x0006f408 nop                                   |     
                                                     | label_20:
    0x0006f40c lw t9, -0x77e0(gp)                    |     t9 = *((gp - 7672));
    0x0006f410 move a3, s3                           |     a3 = s3;
    0x0006f414 move a2, s6                           |     a2 = s6;
    0x0006f418 move a1, s7                           |     a1 = s7;
    0x0006f41c move a0, v0                           |     a0 = v0;
    0x0006f420 bal 0x739a8                           |     sym_BN_nnmod ();
    0x0006f424 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f428 beqz v0, 0x6f150                      |         goto label_1;
                                                     |     }
    0x0006f42c move s7, s0                           |     s7 = s0;
    0x0006f430 b 0x6f174                             |     goto label_2;
                                                     | label_23:
    0x0006f43c lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
    0x0006f440 lw t9, -0x7f9c(gp)                    |     t9 = *((gp - 8167));
    0x0006f444 addiu a2, zero, 0x2d3                 |     a2 = 0x2d3;
    0x0006f448 addiu a1, a1, 0x7638                  |     a1 += 0x7638;
    0x0006f44c jalr t9                               |     t9 ();
    0x0006f450 move s5, v0                           |     s5 = v0;
    0x0006f454 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f458 bnez v0, 0x6f214                      |         goto label_3;
                                                     |     }
                                                     | label_21:
    0x0006f45c lw v0, 0x9c(fp)                       |     v0 = *(arg_9ch);
    0x0006f460 move s1, zero                         |     s1 = 0;
                                                     |     if (v0 == 0) {
    0x0006f464 beqz v0, 0x6f60c                      |         goto label_30;
                                                     |     }
    0x0006f468 move s0, zero                         |     s0 = 0;
    0x0006f46c b 0x6f668                             |     goto label_31;
                                                     | label_25:
    0x0006f470 lw a1, (v1)                           |     a1 = *(v1);
    0x0006f474 nor a1, zero, a1                      |     __asm ("nor a1, zero, a1");
    0x0006f478 sw a1, (v0)                           |     *(v0) = a1;
    0x0006f47c addiu v1, v1, 4                       |     v1 += 4;
    0x0006f480 addiu v0, v0, 4                       |     v0 += 4;
    0x0006f484 b 0x6f2a8                             |     goto label_4;
                                                     | label_24:
    0x0006f488 lw t9, -0x77c4(gp)                    |     t9 = *((gp - 7665));
    0x0006f48c bal 0x72468                           |     sym_BN_value_one ();
    0x0006f490 nop                                   |     
    0x0006f494 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x0006f498 move a3, s3                           |     a3 = s3;
    0x0006f49c move a2, s4                           |     a2 = s4;
    0x0006f4a0 lw t9, -0x7854(gp)                    |     t9 = *((gp - 7701));
    0x0006f4a4 move a1, v0                           |     a1 = v0;
    0x0006f4a8 addiu a0, fp, 0x34                    |     a0 = fp + 0x34;
    0x0006f4ac bal 0x749d4                           |     fcn_000749d4 ();
    0x0006f4b0 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f4b4 bnez v0, 0x6f2b8                      |         goto label_5;
                                                     |     }
                                                     |     do {
                                                     | label_7:
    0x0006f4b8 move s0, zero                         |         s0 = 0;
    0x0006f4bc b 0x6f3f8                             |         goto label_6;
                                                     | label_26:
    0x0006f4c0 lw t9, -0x7848(gp)                    |         t9 = *((gp - 7698));
    0x0006f4c4 sw s3, 0x10(sp)                       |         *(var_10h) = s3;
    0x0006f4c8 move a3, s4                           |         a3 = s4;
    0x0006f4cc move a1, a2                           |         a1 = a2;
    0x0006f4d0 move a0, s6                           |         a0 = s6;
    0x0006f4d4 bal 0x7469c                           |         fcn_0007469c ();
    0x0006f4d8 lw gp, 0x18(fp)                       |         gp = *(var_18h);
    0x0006f4dc beqz v0, 0x6f4b8                      |         
                                                     |     } while (v0 == 0);
    0x0006f4e0 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f4e4 sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f4e8 addiu a3, zero, 2                     |     a3 = 2;
    0x0006f4ec move a2, s1                           |     a2 = s1;
    0x0006f4f0 move a1, s2                           |     a1 = s2;
    0x0006f4f4 move a0, s6                           |     a0 = s6;
    0x0006f4f8 jalr t9                               |     t9 ();
    0x0006f4fc lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f500 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f504 addiu s7, zero, 3                     |     s7 = 3;
                                                     | label_9:
    0x0006f508 lw v0, 0x50(fp)                       |     v0 = *(var_50h);
    0x0006f50c slt v0, s7, v0                        |     v0 = (s7 < v0) ? 1 : 0;
    0x0006f510 lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
                                                     |     if (v0 == 0) {
    0x0006f514 beqz v0, 0x6f344                      |         goto label_8;
                                                     |     }
    0x0006f518 lw a1, 0x4c(fp)                       |     a1 = *(var_4ch);
    0x0006f51c sw s3, 0x10(sp)                       |     *(var_10h) = s3;
    0x0006f520 move a3, s4                           |     a3 = s4;
    0x0006f524 move a2, s6                           |     a2 = s6;
    0x0006f528 move a0, s6                           |     a0 = s6;
    0x0006f52c bal 0x7469c                           |     fcn_0007469c ();
    0x0006f530 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f534 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f538 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f53c sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f540 move a3, s7                           |     a3 = s7;
    0x0006f544 move a2, s1                           |     a2 = s1;
    0x0006f548 move a1, s2                           |     a1 = s2;
    0x0006f54c move a0, s6                           |     a0 = s6;
    0x0006f550 jalr t9                               |     t9 ();
    0x0006f554 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f558 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f55c addiu s7, s7, 1                       |     s7++;
    0x0006f560 b 0x6f508                             |     goto label_9;
                                                     | label_27:
    0x0006f564 lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
                                                     | label_10:
    0x0006f568 sw s3, 0x10(sp)                       |     *(var_10h) = s3;
    0x0006f56c move a3, s4                           |     a3 = s4;
    0x0006f570 move a2, s6                           |     a2 = s6;
    0x0006f574 move a1, s6                           |     a1 = s6;
    0x0006f578 move a0, s6                           |     a0 = s6;
    0x0006f57c bal 0x7469c                           |     fcn_0007469c ();
    0x0006f580 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f584 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f588 addiu s7, s7, 1                       |     s7++;
    0x0006f58c lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
                                                     |     if (s0 != s7) {
    0x0006f590 bne s0, s7, 0x6f568                   |         goto label_10;
                                                     |     }
    0x0006f594 lw v0, 0x48(fp)                       |     v0 = *(var_48h);
    0x0006f598 lw a0, 0x90(fp)                       |     a0 = *(arg_90h);
    0x0006f59c subu v0, v0, s0                       |     __asm ("subu v0, v0, s0");
    0x0006f5a0 lw t9, 0x58(fp)                       |     t9 = *(var_58h);
    0x0006f5a4 move a1, v0                           |     a1 = v0;
    0x0006f5a8 sw v0, 0x48(fp)                       |     *(var_48h) = v0;
    0x0006f5ac jalr t9                               |     t9 ();
    0x0006f5b0 lw v1, 0x50(fp)                       |     v1 = *(var_50h);
    0x0006f5b4 lw a0, 0x4c(fp)                       |     a0 = *(var_4ch);
    0x0006f5b8 lw t9, 0x5c(fp)                       |     t9 = *(var_5ch);
    0x0006f5bc sw s0, 0x10(sp)                       |     *(var_10h) = s0;
    0x0006f5c0 and a3, v1, v0                        |     a3 = v1 & v0;
    0x0006f5c4 move a2, s1                           |     a2 = s1;
    0x0006f5c8 move a1, s2                           |     a1 = s2;
    0x0006f5cc jalr t9                               |     t9 ();
    0x0006f5d0 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0006f5d4 beqz v0, 0x6f4b8                      |         goto label_7;
                                                     |     }
    0x0006f5d8 lw t9, -0x7848(gp)                    |     t9 = *((gp - 7698));
    0x0006f5dc lw a2, 0x4c(fp)                       |     a2 = *(var_4ch);
    0x0006f5e0 sw s3, 0x10(sp)                       |     *(var_10h) = s3;
    0x0006f5e4 move a3, s4                           |     a3 = s4;
    0x0006f5e8 move a1, s6                           |     a1 = s6;
    0x0006f5ec move a0, s6                           |     a0 = s6;
    0x0006f5f0 bal 0x7469c                           |     fcn_0007469c ();
    0x0006f5f4 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0006f5f8 bnez v0, 0x6f3cc                      |         goto label_11;
                                                     |     }
    0x0006f5fc move s0, zero                         |     s0 = 0;
    0x0006f600 b 0x6f3f8                             |     goto label_6;
                                                     | label_17:
    0x0006f604 move s1, zero                         |     s1 = 0;
    0x0006f608 sw zero, 0x54(fp)                     |     *(var_54h) = 0;
                                                     | label_30:
    0x0006f60c move s5, zero                         |     s5 = 0;
    0x0006f610 move s0, zero                         |     s0 = 0;
    0x0006f614 b 0x6f624                             |     goto label_32;
                                                     | label_18:
    0x0006f618 sw zero, 0x54(fp)                     |     *(var_54h) = 0;
    0x0006f61c move s1, zero                         |     s1 = 0;
    0x0006f620 move s5, zero                         |     s5 = 0;
                                                     | label_32:
    0x0006f624 lw t9, -0x77c8(gp)                    |     t9 = *((gp - 7666));
                                                     | label_29:
    0x0006f628 move a0, s4                           |     a0 = s4;
    0x0006f62c bal 0x74b0c                           |     sym_BN_MONT_CTX_free ();
    0x0006f630 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (s1 != 0) {
    0x0006f634 beqz s1, 0x6f668                      |         
                                                     | label_28:
    0x0006f638 lw t9, -0x7cec(gp)                    |         t9 = *((gp - 7995));
    0x0006f63c lw a1, 0x54(fp)                       |         a1 = *(var_54h);
    0x0006f640 move a0, s1                           |         a0 = s1;
    0x0006f644 jalr t9                               |         t9 ();
    0x0006f648 lw gp, 0x18(fp)                       |         gp = *(var_18h);
    0x0006f64c addiu a2, zero, 0x463                 |         a2 = 0x463;
    0x0006f650 move a0, s5                           |         a0 = s5;
    0x0006f654 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x0006f658 lw t9, -0x7f98(gp)                    |         t9 = *((gp - 8166));
    0x0006f65c addiu a1, a1, 0x7638                  |         a1 += 0x7638;
    0x0006f660 jalr t9                               |         t9 ();
    0x0006f664 lw gp, 0x18(fp)                       |         gp = *(var_18h);
                                                     |     }
                                                     | label_31:
    0x0006f668 lw t9, -0x780c(gp)                    |     t9 = *((gp - 7683));
    0x0006f66c move a0, s3                           |     a0 = s3;
    0x0006f670 bal 0x6db34                           |     sym_BN_CTX_end ();
    0x0006f674 b 0x6f044                             |     goto label_12;
    0x0006f678 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x6fc84 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.BN_mod_exp_mont_word ()      | void BN_mod_exp_mont_word () {
    0x0006fc84 lui gp, 0x15                  |     
    0x0006fc88 addiu gp, gp, 0x6f3c          |     
    0x0006fc8c addu gp, gp, t9               |     gp += t9;
    0x0006fc90 addiu sp, sp, -0x58           |     
    0x0006fc94 lw t9, -0x7874(gp)            |     t9 = *(gp);
    0x0006fc98 lw v0, 0x6c(sp)               |     v0 = *(arg_6ch);
    0x0006fc9c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0006fca0 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x0006fca4 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x0006fca8 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x0006fcac sw a0, 0x24(sp)               |     *(var_24h) = a0;
    0x0006fcb0 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0006fcb4 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x0006fcb8 sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x0006fcbc sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x0006fcc0 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x0006fcc4 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x0006fcc8 sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x0006fccc move s5, a1                   |     s5 = a1;
    0x0006fcd0 sw a2, 0x28(sp)               |     *(var_28h) = a2;
    0x0006fcd4 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0006fcd8 addiu a1, zero, 4             |     a1 = 4;
    0x0006fcdc move a0, a2                   |     a0 = a2;
    0x0006fce0 move s7, a3                   |     s7 = a3;
    0x0006fce4 lw s2, 0x68(sp)               |     s2 = *(arg_68h);
    0x0006fce8 bal 0x72dc8                   |     sym_BN_get_flags ();
    0x0006fcec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fcf0 beqz v0, 0x6fd50              |     
                                             |     while (v0 != 0) {
    0x0006fcf4 lw a3, -0x7fd4(gp)            |         a3 = *((gp - 8181));
    0x0006fcf8 addiu v0, zero, 0x486         |         v0 = 0x486;
    0x0006fcfc lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x0006fd00 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0006fd04 addiu a3, a3, 0x7638          |         a3 += 0x7638;
    0x0006fd08 addiu a2, zero, 0x42          |         a2 = 0x42;
    0x0006fd0c addiu a1, zero, 0x75          |         a1 = 0x75;
    0x0006fd10 addiu a0, zero, 3             |         a0 = 3;
    0x0006fd14 move s0, zero                 |         s0 = 0;
    0x0006fd18 jalr t9                       |         t9 ();
                                             | label_1:
    0x0006fd1c lw ra, 0x54(sp)               |         ra = *(var_54h);
                                             | label_0:
    0x0006fd20 move v0, s0                   |         v0 = s0;
    0x0006fd24 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0006fd28 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0006fd2c lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0006fd30 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0006fd34 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0006fd38 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0006fd3c lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0006fd40 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0006fd44 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0006fd48 addiu sp, sp, 0x58            |         
    0x0006fd4c jr ra                         |         return v0;
    0x0006fd50 lw t9, -0x7874(gp)            |         t9 = *(gp);
    0x0006fd54 addiu a1, zero, 4             |         a1 = 4;
    0x0006fd58 move a0, s7                   |         a0 = s7;
    0x0006fd5c bal 0x72dc8                   |         sym_BN_get_flags ();
    0x0006fd60 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006fd64 bnez v0, 0x6fcf4              |         
                                             |     }
    0x0006fd68 lw t9, -0x77fc(gp)            |     t9 = *((gp - 7679));
    0x0006fd6c move a0, s7                   |     a0 = s7;
    0x0006fd70 bal 0x72c5c                   |     sym_BN_is_odd ();
    0x0006fd74 move s0, v0                   |     s0 = v0;
    0x0006fd78 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006fd7c bnez v0, 0x6fdac              |         
    0x0006fd80 lw a3, -0x7fd4(gp)            |         a3 = *((gp - 8181));
    0x0006fd84 addiu v0, zero, 0x48e         |         v0 = 0x48e;
    0x0006fd88 lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x0006fd8c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0006fd90 addiu a3, a3, 0x7638          |         a3 += 0x7638;
    0x0006fd94 addiu a2, zero, 0x66          |         a2 = 0x66;
    0x0006fd98 addiu a1, zero, 0x75          |         a1 = 0x75;
    0x0006fd9c addiu a0, zero, 3             |         a0 = 3;
    0x0006fda0 jalr t9                       |         t9 ();
                                             | label_7:
    0x0006fda4 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0006fda8 b 0x6fd20                     |         goto label_0;
                                             |     }
    0x0006fdac lw v1, 4(s7)                  |     v1 = *((s7 + 1));
    0x0006fdb0 addiu v0, zero, 1             |     v0 = 1;
    0x0006fdb4 lw t9, -0x7f08(gp)            |     t9 = *((gp - 8130));
                                             |     if (v1 == v0) {
    0x0006fdb8 bne v1, v0, 0x6fdd0           |         
    0x0006fdbc lw v0, (s7)                   |         v0 = *(s7);
    0x0006fdc0 lw v0, (v0)                   |         v0 = *(v0);
    0x0006fdc4 divu zero, s5, v0             |         __asm ("divu zero, s5, v0");
    0x0006fdc8 teq v0, zero, 7               |         __asm ("teq v0, zero, 7");
    0x0006fdcc mfhi s5                       |         __asm ("mfhi s5");
                                             |     }
    0x0006fdd0 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x0006fdd4 bal 0x72a00                   |     sym_BN_num_bits ();
    0x0006fdd8 move s3, v0                   |     s3 = v0;
    0x0006fddc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0006fde0 bnez v0, 0x6fe50              |         goto label_9;
                                             |     }
    0x0006fde4 lw t9, -0x77ec(gp)            |     t9 = *((gp - 7675));
    0x0006fde8 addiu a1, zero, 1             |     a1 = 1;
    0x0006fdec move a0, s7                   |     a0 = s7;
    0x0006fdf0 bal 0x729bc                   |     sym_BN_abs_is_word ();
    0x0006fdf4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fdf8 beqz v0, 0x6fe14              |     
                                             |     while (s5 == 0) {
    0x0006fdfc lw t9, -0x7eac(gp)            |         t9 = *((gp - 8107));
    0x0006fe00 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0006fe04 move a1, zero                 |         a1 = 0;
    0x0006fe08 bal 0x73114                   |         sym_BN_set_word ();
    0x0006fe0c addiu s0, zero, 1             |         s0 = 1;
    0x0006fe10 b 0x6fd1c                     |         goto label_1;
    0x0006fe14 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0006fe18 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0006fe1c lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0006fe20 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0006fe24 lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0006fe28 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0006fe2c lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0006fe30 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0006fe34 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0006fe38 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0006fe3c lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0006fe40 lw t9, -0x7eac(gp)            |         t9 = *((gp - 8107));
    0x0006fe44 addiu a1, zero, 1             |         a1 = 1;
    0x0006fe48 addiu sp, sp, 0x58            |         
    0x0006fe4c b 0x73114                     |         void (*0x73114)() ();
                                             | label_9:
    0x0006fe50 lw t9, -0x7820(gp)            |         t9 = *((gp - 7688));
    0x0006fe54 beqz s5, 0x6fdfc              |         
                                             |     }
    0x0006fe58 move a0, s2                   |     a0 = s2;
    0x0006fe5c bal 0x6d9bc                   |     sym_BN_CTX_start ();
    0x0006fe60 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fe64 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0006fe68 move a0, s2                   |     a0 = s2;
    0x0006fe6c bal 0x6dbd0                   |     sym_BN_CTX_get ();
    0x0006fe70 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0006fe74 move a0, s2                   |     a0 = s2;
    0x0006fe78 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0006fe7c move s1, v0                   |     s1 = v0;
    0x0006fe80 bal 0x6dbd0                   |     sym_BN_CTX_get ();
    0x0006fe84 move s6, v0                   |     s6 = v0;
    0x0006fe88 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006fe8c beqz v0, 0x701cc              |         goto label_10;
                                             |     }
    0x0006fe90 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x0006fe94 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
                                             |     if (v0 == 0) {
    0x0006fe98 bnez v0, 0x6fed4              |         
    0x0006fe9c lw t9, -0x77d4(gp)            |         t9 = *((gp - 7669));
    0x0006fea0 bal 0x74a78                   |         sym_BN_MONT_CTX_new ();
    0x0006fea4 nop                           |         
    0x0006fea8 move s4, v0                   |         s4 = v0;
    0x0006feac lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006feb0 beqz v0, 0x701d8              |             goto label_11;
                                             |         }
    0x0006feb4 lw t9, -0x77d0(gp)            |         t9 = *((gp - 7668));
    0x0006feb8 move a2, s2                   |         a2 = s2;
    0x0006febc move a1, s7                   |         a1 = s7;
    0x0006fec0 move a0, v0                   |         a0 = v0;
    0x0006fec4 bal 0x74ba8                   |         sym_BN_MONT_CTX_set ();
    0x0006fec8 move s0, v0                   |         s0 = v0;
    0x0006fecc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006fed0 beqz v0, 0x701a8              |             goto label_8;
                                             |         }
                                             |     }
    0x0006fed4 addiu v0, s3, -2              |     v0 = s3 + -2;
    0x0006fed8 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0006fedc move a1, s5                   |     a1 = s5;
    0x0006fee0 addiu fp, zero, 1             |     fp = 1;
                                             | label_3:
    0x0006fee4 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0006fee8 mul s3, a1, a1                |     __asm ("mul s3, a1, a1");
                                             |     if (v0 < 0) {
    0x0006feec bgez v0, 0x6ff60              |         
    0x0006fef0 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (a1 == v0) {
    0x0006fef4 beq a1, v0, 0x7017c           |             goto label_12;
                                             |         }
    0x0006fef8 nop                           |         
    0x0006fefc move a0, s1                   |         a0 = s1;
                                             |         if (fp == 0) {
    0x0006ff00 beqz fp, 0x70134              |             goto label_13;
                                             |         }
    0x0006ff04 lw t9, -0x7eac(gp)            |         t9 = *((gp - 8107));
    0x0006ff08 bal 0x73114                   |         sym_BN_set_word ();
    0x0006ff0c nop                           |         
    0x0006ff10 move s0, v0                   |         s0 = v0;
    0x0006ff14 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006ff18 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x0006ff1c lw t9, -0x77bc(gp)            |         t9 = *((gp - 7663));
    0x0006ff20 move a3, s2                   |         a3 = s2;
    0x0006ff24 move a2, s4                   |         a2 = s4;
    0x0006ff28 move a1, s1                   |         a1 = s1;
    0x0006ff2c move a0, s1                   |         a0 = s1;
    0x0006ff30 bal 0x72c90                   |         sym_BN_to_montgomery ();
    0x0006ff34 move s0, v0                   |         s0 = v0;
    0x0006ff38 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006ff3c beqz v0, 0x7019c              |             goto label_14;
                                             |         }
                                             | label_5:
    0x0006ff40 lw t9, -0x77cc(gp)            |         t9 = *((gp - 7667));
                                             | label_6:
    0x0006ff44 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0006ff48 move a3, s2                   |         a3 = s2;
    0x0006ff4c move a2, s4                   |         a2 = s4;
    0x0006ff50 move a1, s1                   |         a1 = s1;
    0x0006ff54 bal 0x7497c                   |         sym_BN_from_montgomery ();
    0x0006ff58 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0006ff5c b 0x70198                     |         goto label_15;
                                             |     }
    0x0006ff60 divu zero, s3, a1             |     __asm ("divu zero, s3, a1");
    0x0006ff64 teq a1, zero, 7               |     __asm ("teq a1, zero, 7");
    0x0006ff68 mflo v0                       |     __asm ("mflo v0");
                                             |     if (a1 == v0) {
    0x0006ff6c beq a1, v0, 0x7003c           |         goto label_16;
                                             |     }
    0x0006ff70 nop                           |     
    0x0006ff74 move a0, s1                   |     a0 = s1;
                                             |     if (fp == 0) {
    0x0006ff78 beqz fp, 0x6ffec              |         goto label_17;
                                             |     }
    0x0006ff7c lw t9, -0x7eac(gp)            |     t9 = *((gp - 8107));
    0x0006ff80 bal 0x73114                   |     sym_BN_set_word ();
    0x0006ff84 nop                           |     
    0x0006ff88 move s0, v0                   |     s0 = v0;
    0x0006ff8c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006ff90 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x0006ff94 lw t9, -0x77bc(gp)            |     t9 = *((gp - 7663));
    0x0006ff98 move a3, s2                   |     a3 = s2;
    0x0006ff9c move a2, s4                   |     a2 = s4;
    0x0006ffa0 move a1, s1                   |     a1 = s1;
    0x0006ffa4 move a0, s1                   |     a0 = s1;
    0x0006ffa8 bal 0x72c90                   |     sym_BN_to_montgomery ();
    0x0006ffac move s0, v0                   |     s0 = v0;
    0x0006ffb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006ffb4 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
                                             |     do {
    0x0006ffb8 addiu s3, zero, 1             |         s3 = 1;
    0x0006ffbc lw t9, -0x788c(gp)            |         t9 = *((gp - 7715));
                                             | label_2:
    0x0006ffc0 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x0006ffc4 move a3, s4                   |         a3 = s4;
    0x0006ffc8 move a2, s1                   |         a2 = s1;
    0x0006ffcc move a1, s1                   |         a1 = s1;
    0x0006ffd0 move a0, s1                   |         a0 = s1;
    0x0006ffd4 bal 0x74848                   |         sym_BN_mod_mul_montgomery ();
    0x0006ffd8 move s0, v0                   |         s0 = v0;
    0x0006ffdc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0006ffe0 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x0006ffe4 move fp, zero                 |         fp = 0;
    0x0006ffe8 b 0x70044                     |         goto label_18;
                                             | label_17:
    0x0006ffec lw t9, -0x7eb0(gp)            |         t9 = *((gp - 8108));
    0x0006fff0 bal 0x7b308                   |         sym_BN_mul_word ();
    0x0006fff4 nop                           |         
    0x0006fff8 move s0, v0                   |         s0 = v0;
    0x0006fffc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00070000 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x00070004 lw t9, -0x77b8(gp)            |         t9 = *(gp);
    0x00070008 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x0007000c move a3, s7                   |         a3 = s7;
    0x00070010 move a2, s1                   |         a2 = s1;
    0x00070014 move a1, s6                   |         a1 = s6;
    0x00070018 move a0, zero                 |         a0 = 0;
    0x0007001c bal 0x6e460                   |         sym_BN_div ();
    0x00070020 move s0, v0                   |         s0 = v0;
    0x00070024 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00070028 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x0007002c move v0, s1                   |         v0 = s1;
    0x00070030 move s1, s6                   |         s1 = s6;
    0x00070034 move s6, v0                   |         s6 = v0;
    0x00070038 b 0x6ffb8                     |         
                                             |     } while (1);
                                             | label_16:
    0x0007003c lw t9, -0x788c(gp)            |     t9 = *((gp - 7715));
                                             |     if (fp == 0) {
    0x00070040 beqz fp, 0x6ffc0              |         goto label_2;
                                             |     }
                                             | label_18:
    0x00070044 lw t9, -0x77f8(gp)            |     t9 = *((gp - 7678));
    0x00070048 lw a1, 0x20(sp)               |     a1 = *(var_20h);
    0x0007004c lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00070050 bal 0x72814                   |     sym_BN_is_bit_set ();
    0x00070054 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070058 beqz v0, 0x700c4              |         goto label_4;
                                             |     }
    0x0007005c mul v0, s5, s3                |     __asm ("mul v0, s5, s3");
    0x00070060 divu zero, v0, s5             |     __asm ("divu zero, v0, s5");
    0x00070064 teq s5, zero, 7               |     __asm ("teq s5, zero, 7");
    0x00070068 mflo v1                       |     __asm ("mflo v1");
                                             |     if (v1 == s3) {
    0x0007006c beq v1, s3, 0x7012c           |         goto label_19;
                                             |     }
    0x00070070 nop                           |     
    0x00070074 move a1, s3                   |     a1 = s3;
    0x00070078 move a0, s1                   |     a0 = s1;
                                             |     if (fp == 0) {
    0x0007007c beqz fp, 0x700d8              |         goto label_20;
                                             |     }
    0x00070080 lw t9, -0x7eac(gp)            |     t9 = *((gp - 8107));
    0x00070084 bal 0x73114                   |     sym_BN_set_word ();
    0x00070088 nop                           |     
    0x0007008c move s0, v0                   |     s0 = v0;
    0x00070090 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070094 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x00070098 lw t9, -0x77bc(gp)            |     t9 = *((gp - 7663));
    0x0007009c move a3, s2                   |     a3 = s2;
    0x000700a0 move a2, s4                   |     a2 = s4;
    0x000700a4 move a1, s1                   |     a1 = s1;
    0x000700a8 move a0, s1                   |     a0 = s1;
    0x000700ac bal 0x72c90                   |     sym_BN_to_montgomery ();
    0x000700b0 move s0, v0                   |     s0 = v0;
    0x000700b4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000700b8 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x000700bc move s3, s5                   |     s3 = s5;
    0x000700c0 move fp, zero                 |     fp = 0;
                                             |     do {
                                             | label_4:
    0x000700c4 lw v0, 0x20(sp)               |         v0 = *(var_20h);
    0x000700c8 move a1, s3                   |         a1 = s3;
    0x000700cc addiu v0, v0, -1              |         v0 += -1;
    0x000700d0 sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x000700d4 b 0x6fee4                     |         goto label_3;
                                             | label_20:
    0x000700d8 lw t9, -0x7eb0(gp)            |         t9 = *((gp - 8108));
    0x000700dc bal 0x7b308                   |         sym_BN_mul_word ();
    0x000700e0 nop                           |         
    0x000700e4 move s0, v0                   |         s0 = v0;
    0x000700e8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000700ec beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x000700f0 lw t9, -0x77b8(gp)            |         t9 = *(gp);
    0x000700f4 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x000700f8 move a3, s7                   |         a3 = s7;
    0x000700fc move a2, s1                   |         a2 = s1;
    0x00070100 move a1, s6                   |         a1 = s6;
    0x00070104 move a0, zero                 |         a0 = 0;
    0x00070108 bal 0x6e460                   |         sym_BN_div ();
    0x0007010c move s0, v0                   |         s0 = v0;
    0x00070110 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00070114 beqz v0, 0x7019c              |             goto label_14;
                                             |         }
    0x00070118 move v0, s1                   |         v0 = s1;
    0x0007011c move s3, s5                   |         s3 = s5;
    0x00070120 move s1, s6                   |         s1 = s6;
    0x00070124 move s6, v0                   |         s6 = v0;
    0x00070128 b 0x700c4                     |         
                                             |     } while (1);
                                             | label_19:
    0x0007012c move s3, v0                   |     s3 = v0;
    0x00070130 b 0x700c4                     |     goto label_4;
                                             | label_13:
    0x00070134 lw t9, -0x7eb0(gp)            |     t9 = *((gp - 8108));
    0x00070138 bal 0x7b308                   |     sym_BN_mul_word ();
    0x0007013c nop                           |     
    0x00070140 move s0, v0                   |     s0 = v0;
    0x00070144 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070148 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x0007014c lw t9, -0x77b8(gp)            |     t9 = *(gp);
    0x00070150 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x00070154 move a3, s7                   |     a3 = s7;
    0x00070158 move a2, s1                   |     a2 = s1;
    0x0007015c move a1, s6                   |     a1 = s6;
    0x00070160 move a0, zero                 |     a0 = 0;
    0x00070164 bal 0x6e460                   |     sym_BN_div ();
    0x00070168 move s0, v0                   |     s0 = v0;
    0x0007016c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00070170 beqz v0, 0x7019c              |         goto label_14;
                                             |     }
    0x00070174 move s1, s6                   |     s1 = s6;
    0x00070178 b 0x6ff40                     |     goto label_5;
                                             | label_12:
    0x0007017c lw t9, -0x77cc(gp)            |     t9 = *((gp - 7667));
                                             |     if (fp == 0) {
    0x00070180 beqz fp, 0x6ff44              |         goto label_6;
                                             |     }
    0x00070184 lw t9, -0x7eac(gp)            |     t9 = *((gp - 8107));
    0x00070188 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x0007018c addiu a1, zero, 1             |     a1 = 1;
    0x00070190 bal 0x73114                   |     sym_BN_set_word ();
    0x00070194 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_15:
    0x00070198 sltu s0, zero, v0             |     s0 = (0 < v0) ? 1 : 0;
                                             |     do {
                                             | label_14:
    0x0007019c lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x000701a0 lw t9, -0x780c(gp)            |         t9 = *((gp - 7683));
                                             |         if (v0 == 0) {
    0x000701a4 bnez v0, 0x701bc              |             
                                             | label_8:
    0x000701a8 lw t9, -0x77c8(gp)            |             t9 = *((gp - 7666));
    0x000701ac move a0, s4                   |             a0 = s4;
    0x000701b0 bal 0x74b0c                   |             sym_BN_MONT_CTX_free ();
    0x000701b4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000701b8 lw t9, -0x780c(gp)            |             t9 = *((gp - 7683));
                                             |         }
    0x000701bc move a0, s2                   |         a0 = s2;
    0x000701c0 bal 0x6db34                   |         sym_BN_CTX_end ();
    0x000701c4 b 0x6fda4                     |         goto label_7;
    0x000701c8 nop                           |         
                                             | label_10:
    0x000701cc move s0, zero                 |         s0 = 0;
    0x000701d0 move s4, zero                 |         s4 = 0;
    0x000701d4 b 0x7019c                     |         
                                             |     } while (1);
                                             | label_11:
    0x000701d8 move s0, zero                 |     s0 = 0;
    0x000701dc b 0x701a8                     |     goto label_8;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0xa22e4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.DSA_set_method ()            | void DSA_set_method () {
    0x000a22e4 lw v0, 0x2c(a0)               |     v0 = *((a0 + 11));
    0x000a22e8 addiu sp, sp, -0x28           |     
    0x000a22ec lw t9, 0x1c(v0)               |     t9 = *((v0 + 7));
    0x000a22f0 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000a22f4 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000a22f8 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x000a22fc move s0, a0                   |     s0 = a0;
    0x000a2300 move s1, a1                   |     s1 = a1;
                                             |     if (t9 != 0) {
    0x000a2304 beqz t9, 0xa2310              |         
    0x000a2308 jalr t9                       |         t9 ();
    0x000a230c nop                           |         
                                             |     }
    0x000a2310 lw t9, 0x18(s1)               |     t9 = *((s1 + 6));
    0x000a2314 sw s1, 0x2c(s0)               |     *((s0 + 11)) = s1;
                                             |     if (t9 != 0) {
    0x000a2318 beqz t9, 0xa2324              |         
    0x000a231c move a0, s0                   |         a0 = s0;
    0x000a2320 jalr t9                       |         t9 ();
                                             |     }
    0x000a2324 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x000a2328 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000a232c lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000a2330 addiu v0, zero, 1             |     v0 = 1;
    0x000a2334 addiu sp, sp, 0x28            |     
    0x000a2338 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0xbafe8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.EC_GROUP_copy ()             | void EC_GROUP_copy () {
    0x000bafe8 lui gp, 0x11                  |     
    0x000bafec addiu gp, gp, -0x4428         |     
    0x000baff0 addu gp, gp, t9               |     gp += t9;
    0x000baff4 lw v0, (a0)                   |     v0 = *(a0);
    0x000baff8 addiu sp, sp, -0x30           |     
    0x000baffc lw v1, 0x14(v0)               |     v1 = *((v0 + 5));
    0x000bb000 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000bb004 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000bb008 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x000bb00c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x000bb010 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x000bb014 lw a3, -0x7e1c(gp)            |     a3 = *((gp - 8071));
                                             |     if (v1 != 0) {
    0x000bb018 bnez v1, 0xbb044              |         goto label_8;
                                             |     }
    0x000bb01c addiu v0, zero, 0x85          |     v0 = 0x85;
    0x000bb020 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000bb024 addiu a3, a3, 0x1420          |     a3 += 0x1420;
    0x000bb028 addiu a2, zero, 0x42          |     a2 = 0x42;
                                             |     do {
                                             | label_7:
    0x000bb02c lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x000bb030 addiu a1, zero, 0x6a          |         a1 = 0x6a;
    0x000bb034 addiu a0, zero, 0x10          |         a0 = 0x10;
    0x000bb038 bal 0xca548                   |         sym_ERR_put_error ();
    0x000bb03c move v0, zero                 |         v0 = 0;
    0x000bb040 b 0xbb0c4                     |         goto label_2;
                                             | label_8:
    0x000bb044 lw v1, (a1)                   |         v1 = *(a1);
    0x000bb048 move s1, a1                   |         s1 = a1;
                                             |         if (v0 == v1) {
    0x000bb04c beq v0, v1, 0xbb068           |             goto label_9;
                                             |         }
    0x000bb050 lw a3, -0x7e1c(gp)            |         a3 = *((gp - 8071));
    0x000bb054 addiu v0, zero, 0x89          |         v0 = 0x89;
    0x000bb058 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000bb05c addiu a3, a3, 0x1420          |         a3 += 0x1420;
    0x000bb060 addiu a2, zero, 0x65          |         a2 = 0x65;
    0x000bb064 b 0xbb02c                     |         
                                             |     } while (1);
                                             | label_9:
    0x000bb068 move s0, a0                   |     s0 = a0;
                                             |     if (a0 == a1) {
    0x000bb06c beq a0, a1, 0xbb2a0           |         goto label_10;
                                             |     }
    0x000bb070 lw v0, 0x10(a1)               |     v0 = *((a1 + 4));
    0x000bb074 sw v0, 0x10(a0)               |     *((a0 + 4)) = v0;
    0x000bb078 lw v0, 0x5c(a1)               |     v0 = *((a1 + 23));
    0x000bb07c sw v0, 0x5c(a0)               |     *((a0 + 23)) = v0;
    0x000bb080 lw v0, 0x5c(a1)               |     v0 = *((a1 + 23));
    0x000bb084 addiu v1, zero, 5             |     v1 = 5;
                                             |     if (v0 == 0) {
    0x000bb088 beqz v0, 0xbb0dc              |         goto label_11;
                                             |     }
    0x000bb08c lw t9, -0x6cf4(gp)            |     t9 = *(gp);
                                             |     if (v0 == v1) {
    0x000bb090 beq v0, v1, 0xbb0e4           |         goto label_12;
                                             |     }
                                             |     do {
                                             | label_0:
    0x000bb094 lw v0, 0x58(s1)               |         v0 = *((s1 + 22));
    0x000bb098 lw a0, 0x58(s0)               |         a0 = *((s0 + 22));
                                             |         if (v0 == 0) {
    0x000bb09c beqz v0, 0xbb114              |             goto label_13;
                                             |         }
    0x000bb0a0 lw t9, -0x77d4(gp)            |         t9 = *((gp - 7669));
                                             |         if (a0 == 0) {
    0x000bb0a4 beqz a0, 0xbb0f8              |             goto label_14;
                                             |         }
                                             | label_1:
    0x000bb0a8 lw t9, -0x6cf0(gp)            |         t9 = *((gp - 6972));
    0x000bb0ac lw a1, 0x58(s1)               |         a1 = *((s1 + 22));
    0x000bb0b0 lw a0, 0x58(s0)               |         a0 = *((s0 + 22));
    0x000bb0b4 jalr t9                       |         t9 ();
    0x000bb0b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000bb0bc bnez v0, 0xbb128              |             goto label_15;
                                             |         }
                                             | label_3:
    0x000bb0c0 move v0, zero                 |         v0 = 0;
                                             | label_2:
    0x000bb0c4 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000bb0c8 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x000bb0cc lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x000bb0d0 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x000bb0d4 addiu sp, sp, 0x30            |         
    0x000bb0d8 jr ra                         |         return v0;
                                             | label_11:
    0x000bb0dc sw zero, 0x60(a0)             |         *((a0 + 24)) = 0;
    0x000bb0e0 b 0xbb094                     |         
                                             |     } while (1);
                                             | label_12:
    0x000bb0e4 lw a0, 0x60(a1)               |     a0 = *((a1 + 24));
    0x000bb0e8 bal 0xbcacc                   |     fcn_000bcacc ();
    0x000bb0ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb0f0 sw v0, 0x60(s0)               |     *((s0 + 24)) = v0;
    0x000bb0f4 b 0xbb094                     |     goto label_0;
                                             | label_14:
    0x000bb0f8 jalr t9                       |     t9 ();
    0x000bb0fc nop                           |     
    0x000bb100 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb104 sw v0, 0x58(s0)               |     *((s0 + 22)) = v0;
                                             |     if (v0 != 0) {
    0x000bb108 bnez v0, 0xbb0a8              |         goto label_1;
                                             |     }
    0x000bb10c move v0, zero                 |     v0 = 0;
    0x000bb110 b 0xbb0c4                     |     goto label_2;
                                             | label_13:
    0x000bb114 lw t9, -0x77c8(gp)            |     t9 = *((gp - 7666));
    0x000bb118 jalr t9                       |     t9 ();
    0x000bb11c nop                           |     
    0x000bb120 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb124 sw zero, 0x58(s0)             |     *((s0 + 22)) = 0;
                                             | label_15:
    0x000bb128 lw v0, 4(s1)                  |     v0 = *((s1 + 1));
    0x000bb12c lw a0, 4(s0)                  |     a0 = *((s0 + 1));
                                             |     if (v0 == 0) {
    0x000bb130 beqz v0, 0xbb1c4              |         goto label_16;
                                             |     }
    0x000bb134 lw t9, -0x6d94(gp)            |     t9 = *(gp);
                                             |     if (a0 == 0) {
    0x000bb138 beqz a0, 0xbb1a8              |         goto label_17;
                                             |     }
                                             | label_4:
    0x000bb13c lw t9, -0x6d1c(gp)            |     t9 = *((gp - 6983));
    0x000bb140 lw a1, 4(s1)                  |     a1 = *((s1 + 1));
    0x000bb144 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x000bb148 bal 0xbaf38                   |     sym_EC_POINT_copy ();
    0x000bb14c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000bb150 beqz v0, 0xbb0c0              |         goto label_3;
                                             |     }
                                             | label_5:
    0x000bb154 lw v0, (s1)                   |     v0 = *(s1);
    0x000bb158 lw v0, (v0)                   |     v0 = *(v0);
    0x000bb15c andi v0, v0, 2                |     v0 &= 2;
                                             |     if (v0 == 0) {
    0x000bb160 beqz v0, 0xbb1dc              |         goto label_18;
                                             |     }
    0x000bb164 nop                           |     
                                             | label_6:
    0x000bb168 lw v0, 0x14(s1)               |     v0 = *((s1 + 5));
    0x000bb16c lw a0, 0x1c(s0)               |     a0 = *((s0 + 7));
    0x000bb170 sw v0, 0x14(s0)               |     *((s0 + 5)) = v0;
    0x000bb174 lw v0, 0x18(s1)               |     v0 = *((s1 + 6));
    0x000bb178 lw s2, -0x7e1c(gp)            |     s2 = *((gp - 8071));
    0x000bb17c sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x000bb180 lw v0, 0x1c(s1)               |     v0 = *((s1 + 7));
    0x000bb184 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
                                             |     if (v0 != 0) {
    0x000bb188 bnez v0, 0xbb214              |         goto label_19;
                                             |     }
    0x000bb18c addiu a2, zero, 0xe1          |     a2 = 0xe1;
    0x000bb190 addiu a1, s2, 0x1420          |     a1 = s2 + 0x1420;
    0x000bb194 jalr t9                       |     t9 ();
    0x000bb198 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb19c sw zero, 0x1c(s0)             |     *((s0 + 7)) = 0;
    0x000bb1a0 sw zero, 0x20(s0)             |     *((s0 + 8)) = 0;
    0x000bb1a4 b 0xbb278                     |     goto label_20;
                                             | label_17:
    0x000bb1a8 move a0, s0                   |     a0 = s0;
    0x000bb1ac bal 0xbab68                   |     sym_EC_POINT_new ();
    0x000bb1b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb1b4 sw v0, 4(s0)                  |     *((s0 + 1)) = v0;
                                             |     if (v0 != 0) {
    0x000bb1b8 bnez v0, 0xbb13c              |         goto label_4;
                                             |     }
    0x000bb1bc move v0, zero                 |     v0 = 0;
    0x000bb1c0 b 0xbb0c4                     |     goto label_2;
                                             | label_16:
    0x000bb1c4 lw t9, -0x6d64(gp)            |     t9 = *((gp - 7001));
    0x000bb1c8 bal 0xbadc4                   |     sym_EC_POINT_clear_free ();
    0x000bb1cc nop                           |     
    0x000bb1d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb1d4 sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x000bb1d8 b 0xbb154                     |     goto label_5;
                                             | label_18:
    0x000bb1dc lw t9, -0x7844(gp)            |     t9 = *((gp - 7697));
    0x000bb1e0 lw a1, 8(s1)                  |     a1 = *((s1 + 2));
    0x000bb1e4 lw a0, 8(s0)                  |     a0 = *((s0 + 2));
    0x000bb1e8 jalr t9                       |     t9 ();
    0x000bb1ec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000bb1f0 beqz v0, 0xbb0c0              |         goto label_3;
                                             |     }
    0x000bb1f4 lw t9, -0x7844(gp)            |     t9 = *((gp - 7697));
    0x000bb1f8 lw a1, 0xc(s1)                |     a1 = *((s1 + 3));
    0x000bb1fc lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x000bb200 jalr t9                       |     t9 ();
    0x000bb204 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000bb208 bnez v0, 0xbb168              |         goto label_6;
                                             |     }
    0x000bb20c move v0, zero                 |     v0 = 0;
    0x000bb210 b 0xbb0c4                     |     goto label_2;
                                             | label_19:
    0x000bb214 addiu a2, zero, 0xd8          |     a2 = 0xd8;
    0x000bb218 addiu a1, s2, 0x1420          |     a1 = s2 + 0x1420;
    0x000bb21c jalr t9                       |     t9 ();
    0x000bb220 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb224 lw a0, 0x20(s1)               |     a0 = *((s1 + 8));
    0x000bb228 addiu a2, zero, 0xd9          |     a2 = 0xd9;
    0x000bb22c lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x000bb230 addiu a1, s2, 0x1420          |     a1 = s2 + 0x1420;
    0x000bb234 jalr t9                       |     t9 ();
    0x000bb238 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb23c sw v0, 0x1c(s0)               |     *((s0 + 7)) = v0;
                                             |     if (v0 == 0) {
    0x000bb240 bnez v0, 0xbb258              |         
    0x000bb244 addiu v0, zero, 0xda          |         v0 = 0xda;
    0x000bb248 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000bb24c addiu a3, s2, 0x1420          |         a3 = s2 + 0x1420;
    0x000bb250 addiu a2, zero, 0x41          |         a2 = 0x41;
    0x000bb254 b 0xbb02c                     |         goto label_7;
                                             |     }
    0x000bb258 lw t9, -0x550c(gp)            |     t9 = *((gp - 5443));
    0x000bb25c lw a2, 0x20(s1)               |     a2 = *((s1 + 8));
    0x000bb260 lw a1, 0x1c(s1)               |     a1 = *((s1 + 7));
    0x000bb264 move a0, v0                   |     a0 = v0;
    0x000bb268 jalr t9                       |     t9 ();
    0x000bb26c lw v0, 0x20(s1)               |     v0 = *((s1 + 8));
    0x000bb270 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bb274 sw v0, 0x20(s0)               |     *((s0 + 8)) = v0;
                                             | label_20:
    0x000bb278 lw v0, (s0)                   |     v0 = *(s0);
    0x000bb27c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x000bb280 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x000bb284 lw t9, 0x14(v0)               |     t9 = *((v0 + 5));
    0x000bb288 move a1, s1                   |     a1 = s1;
    0x000bb28c move a0, s0                   |     a0 = s0;
    0x000bb290 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x000bb294 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x000bb298 addiu sp, sp, 0x30            |     
    0x000bb29c jr t9                         |     t9 ();
                                             | label_10:
    0x000bb2a0 addiu v0, zero, 1             |     v0 = 1;
    0x000bb2a4 b 0xbb0c4                     |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0xcfc04 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.EVP_DigestFinal_ex ()        | void EVP_DigestFinal_ex () {
    0x000cfc04 lui gp, 0xf                   |     
    0x000cfc08 addiu gp, gp, 0x6fbc          |     
    0x000cfc0c addu gp, gp, t9               |     gp += t9;
    0x000cfc10 lw v1, (a0)                   |     v1 = *(a0);
    0x000cfc14 addiu sp, sp, -0x28           |     
    0x000cfc18 lw v0, 8(v1)                  |     v0 = *((v1 + 2));
    0x000cfc1c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000cfc20 slti v0, v0, 0x41             |     v0 = (v0 < 0x41) ? 1 : 0;
    0x000cfc24 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x000cfc28 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x000cfc2c sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000cfc30 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000cfc34 move s0, a0                   |     s0 = a0;
                                             |     if (v0 == 0) {
    0x000cfc38 bnez v0, 0xcfc58              |         
    0x000cfc3c lw a1, -0x7e1c(gp)            |         a1 = *((gp - 8071));
    0x000cfc40 lw a0, -0x7e1c(gp)            |         a0 = *((gp - 8071));
    0x000cfc44 lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
    0x000cfc48 addiu a2, zero, 0xaa          |         a2 = 0xaa;
    0x000cfc4c addiu a1, a1, 0x2108          |         a1 += 0x2108;
    0x000cfc50 addiu a0, a0, 0x211c          |         a0 += 0x211c;
    0x000cfc54 jalr t9                       |         t9 ();
                                             |     }
    0x000cfc58 lw t9, 0x18(v1)               |     t9 = *((v1 + 6));
    0x000cfc5c move s1, a2                   |     s1 = a2;
    0x000cfc60 jalr t9                       |     t9 ();
    0x000cfc64 move s2, v0                   |     s2 = v0;
    0x000cfc68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000cfc6c lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (s1 != 0) {
    0x000cfc70 beqz s1, 0xcfc7c              |         
    0x000cfc74 lw v1, 8(v0)                  |         v1 = *((v0 + 2));
    0x000cfc78 sw v1, (s1)                   |         *(s1) = v1;
                                             |     }
    0x000cfc7c lw t9, 0x20(v0)               |     t9 = *((v0 + 8));
                                             |     if (t9 != 0) {
    0x000cfc80 beqz t9, 0xcfca8              |         
    0x000cfc84 nop                           |         
    0x000cfc88 move a0, s0                   |         a0 = s0;
    0x000cfc8c jalr t9                       |         t9 ();
    0x000cfc90 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000cfc94 addiu a1, zero, 2             |         a1 = 2;
    0x000cfc98 lw t9, -0x7680(gp)            |         t9 = *((gp - 7584));
    0x000cfc9c move a0, s0                   |         a0 = s0;
    0x000cfca0 bal 0xda49c                   |         sym_EVP_MD_CTX_set_flags ();
    0x000cfca4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
    0x000cfca8 lw v0, (s0)                   |     v0 = *(s0);
    0x000cfcac lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x000cfcb0 lw t9, -0x7cec(gp)            |     t9 = *((gp - 7995));
    0x000cfcb4 lw a1, 0x28(v0)               |     a1 = *((v0 + 10));
    0x000cfcb8 bal 0xea0e4                   |     sym_OPENSSL_cleanse ();
    0x000cfcbc lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x000cfcc0 move v0, s2                   |     v0 = s2;
    0x000cfcc4 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x000cfcc8 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x000cfccc lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x000cfcd0 addiu sp, sp, 0x28            |     
    0x000cfcd4 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0xe7de0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.OPENSSL_LH_delete ()         | void OPENSSL_LH_delete () {
    0x000e7de0 lui gp, 0xe                   |     
    0x000e7de4 addiu gp, gp, -0x1220         |     
    0x000e7de8 addu gp, gp, t9               |     gp += t9;
    0x000e7dec addiu sp, sp, -0x38           |     
    0x000e7df0 lw t9, -0x6848(gp)            |     t9 = *((gp - 6674));
    0x000e7df4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000e7df8 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x000e7dfc sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x000e7e00 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x000e7e04 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x000e7e08 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x000e7e0c addiu a2, sp, 0x18            |     a2 = sp + 0x18;
    0x000e7e10 sw zero, 0x5c(a0)             |     *((a0 + 23)) = 0;
    0x000e7e14 addiu t9, t9, 0x7850          |     t9 += aav.0x00007850;
    0x000e7e18 move s0, a0                   |     s0 = a0;
    0x000e7e1c bal 0xe7850                   |     fcn_000e7850 ();
    0x000e7e20 lw a0, (v0)                   |     a0 = *(v0);
    0x000e7e24 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (a0 != 0) {
    0x000e7e28 bnez a0, 0xe7e5c              |         goto label_2;
                                             |     }
    0x000e7e2c lw v0, 0x4c(s0)               |     v0 = *((s0 + 19));
    0x000e7e30 move s1, zero                 |     s1 = 0;
    0x000e7e34 addiu v0, v0, 1               |     v0++;
    0x000e7e38 sw v0, 0x4c(s0)               |     *((s0 + 19)) = v0;
                                             |     do {
                                             | label_1:
    0x000e7e3c lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             | label_0:
    0x000e7e40 move v0, s1                   |         v0 = s1;
    0x000e7e44 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x000e7e48 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x000e7e4c lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x000e7e50 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x000e7e54 addiu sp, sp, 0x38            |         
    0x000e7e58 jr ra                         |         return v1;
                                             | label_2:
    0x000e7e5c lw v1, 4(a0)                  |         v1 = *((a0 + 1));
    0x000e7e60 lw s2, -0x7e1c(gp)            |         s2 = *((gp - 8071));
    0x000e7e64 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
    0x000e7e68 sw v1, (v0)                   |         *(v0) = v1;
    0x000e7e6c addiu a2, zero, 0x90          |         a2 = 0x90;
    0x000e7e70 addiu a1, s2, 0x3c44          |         a1 = s2 + 0x3c44;
    0x000e7e74 lw s1, (a0)                   |         s1 = *(a0);
    0x000e7e78 bal 0xe9cf4                   |         sym_CRYPTO_free ();
    0x000e7e7c lw v0, 0x48(s0)               |         v0 = *((s0 + 18));
    0x000e7e80 lw v1, 0xc(s0)                |         v1 = *((s0 + 3));
    0x000e7e84 addiu v0, v0, 1               |         v0++;
    0x000e7e88 sw v0, 0x48(s0)               |         *((s0 + 18)) = v0;
    0x000e7e8c lw v0, 0x24(s0)               |         v0 = *((s0 + 9));
    0x000e7e90 sltiu a0, v1, 0x11            |         a0 = (v1 < 0x11) ? 1 : 0;
    0x000e7e94 addiu v0, v0, -1              |         v0 += -1;
    0x000e7e98 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000e7e9c sw v0, 0x24(s0)               |         *((s0 + 9)) = v0;
    0x000e7ea0 bnez a0, 0xe7e3c              |         
                                             |     } while (a0 != 0);
    0x000e7ea4 sll v0, v0, 8                 |     v0 <<= 8;
    0x000e7ea8 divu zero, v0, v1             |     __asm ("divu zero, v0, v1");
    0x000e7eac teq v1, zero, 7               |     __asm ("teq v1, zero, 7");
    0x000e7eb0 lw v1, 0x20(s0)               |     v1 = *((s0 + 8));
    0x000e7eb4 mflo v0                       |     __asm ("mflo v0");
    0x000e7eb8 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x000e7ebc lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     if (v0 != 0) {
    0x000e7ec0 bnez v0, 0xe7e40              |         goto label_0;
                                             |     }
    0x000e7ec4 lw v1, 0x14(s0)               |     v1 = *((s0 + 5));
    0x000e7ec8 lw a1, 0x18(s0)               |     a1 = *((s0 + 6));
    0x000e7ecc lw a0, (s0)                   |     a0 = *(s0);
    0x000e7ed0 addu v0, v1, a1               |     v0 = v1 + a1;
    0x000e7ed4 sll v0, v0, 2                 |     v0 <<= 2;
    0x000e7ed8 addiu v0, v0, -4              |     v0 += -4;
    0x000e7edc addu v0, a0, v0               |     v0 = a0 + v0;
    0x000e7ee0 lw s3, (v0)                   |     s3 = *(v0);
    0x000e7ee4 sw zero, (v0)                 |     *(v0) = 0;
                                             |     if (v1 != 0) {
    0x000e7ee8 bnez v1, 0xe7f84              |         goto label_3;
                                             |     }
    0x000e7eec lw t9, -0x7cf4(gp)            |     t9 = *(gp);
    0x000e7ef0 addiu a3, zero, 0x10c         |     a3 = aav.0x0000010c;
    0x000e7ef4 addiu a2, s2, 0x3c44          |     a2 = s2 + 0x3c44;
    0x000e7ef8 sll a1, a1, 2                 |     a1 <<= 2;
    0x000e7efc bal 0xe9d88                   |     sym_CRYPTO_realloc ();
                                             |     if (v0 == 0) {
    0x000e7f00 bnez v0, 0xe7f18              |         
    0x000e7f04 nop                           |         
    0x000e7f08 lw v0, 0x5c(s0)               |         v0 = *((s0 + 23));
    0x000e7f0c addiu v0, v0, 1               |         v0++;
    0x000e7f10 sw v0, 0x5c(s0)               |         *((s0 + 23)) = v0;
    0x000e7f14 b 0xe7e3c                     |         goto label_1;
                                             |     }
    0x000e7f18 lw v1, 0x34(s0)               |     v1 = *((s0 + 13));
    0x000e7f1c sw v0, (s0)                   |     *(s0) = v0;
    0x000e7f20 addiu v1, v1, 1               |     v1++;
    0x000e7f24 sw v1, 0x34(s0)               |     *((s0 + 13)) = v1;
    0x000e7f28 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
    0x000e7f2c srl v1, v1, 1                 |     v1 >>= 1;
    0x000e7f30 sw v1, 0x10(s0)               |     *((s0 + 4)) = v1;
    0x000e7f34 lw v1, 0x18(s0)               |     v1 = *((s0 + 6));
    0x000e7f38 srl v1, v1, 1                 |     v1 >>= 1;
    0x000e7f3c sw v1, 0x18(s0)               |     *((s0 + 6)) = v1;
    0x000e7f40 addiu v1, v1, -1              |     v1 += -1;
    0x000e7f44 sw v1, 0x14(s0)               |     *((s0 + 5)) = v1;
                                             |     do {
    0x000e7f48 lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x000e7f4c lw v1, 0x14(s0)               |         v1 = *((s0 + 5));
    0x000e7f50 addiu v0, v0, -1              |         v0 += -1;
    0x000e7f54 sw v0, 0xc(s0)                |         *((s0 + 3)) = v0;
    0x000e7f58 lw v0, 0x30(s0)               |         v0 = *((s0 + 12));
    0x000e7f5c addiu v0, v0, 1               |         v0++;
    0x000e7f60 sw v0, 0x30(s0)               |         *((s0 + 12)) = v0;
    0x000e7f64 sll v0, v1, 2                 |         v0 = v1 << 2;
    0x000e7f68 lw v1, (s0)                   |         v1 = *(s0);
    0x000e7f6c addu v1, v1, v0               |         v1 += v0;
    0x000e7f70 lw v0, (v1)                   |         v0 = *(v1);
                                             |         if (v0 != 0) {
    0x000e7f74 bnez v0, 0xe7f94              |             goto label_4;
                                             |         }
    0x000e7f78 nop                           |         
    0x000e7f7c sw s3, (v1)                   |         *(v1) = s3;
    0x000e7f80 b 0xe7e3c                     |         goto label_1;
                                             | label_3:
    0x000e7f84 addiu v1, v1, -1              |         v1 += -1;
    0x000e7f88 sw v1, 0x14(s0)               |         *((s0 + 5)) = v1;
    0x000e7f8c b 0xe7f48                     |         
                                             |     } while (1);
                                             |     do {
    0x000e7f90 move v0, v1                   |         v0 = v1;
                                             | label_4:
    0x000e7f94 lw v1, 4(v0)                  |         v1 = *((v0 + 1));
    0x000e7f98 bnez v1, 0xe7f90              |         
                                             |     } while (v1 != 0);
    0x000e7f9c nop                           |     
    0x000e7fa0 sw s3, 4(v0)                  |     *((v0 + 1)) = s3;
    0x000e7fa4 b 0xe7e3c                     |     goto label_1;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0xe7fa8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.OPENSSL_LH_retrieve ()           | void OPENSSL_LH_retrieve () {
    0x000e7fa8 lui gp, 0xe                       |     
    0x000e7fac addiu gp, gp, -0x13e8             |     
    0x000e7fb0 addu gp, gp, t9                   |     gp += t9;
    0x000e7fb4 addiu sp, sp, -0x28               |     
    0x000e7fb8 lw t9, -0x6848(gp)                |     t9 = *((gp - 6674));
    0x000e7fbc sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x000e7fc0 sw s0, 0x20(sp)                   |     *(var_20h) = s0;
    0x000e7fc4 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x000e7fc8 addiu a2, sp, 0x18                |     a2 = sp + 0x18;
    0x000e7fcc sw zero, 0x5c(a0)                 |     *((a0 + 23)) = 0;
    0x000e7fd0 addiu t9, t9, 0x7850              |     t9 += aav.0x00007850;
    0x000e7fd4 move s0, a0                       |     s0 = a0;
    0x000e7fd8 bal 0xe7850                       |     fcn_000e7850 ();
    0x000e7fdc lw v0, (v0)                       |     v0 = *(v0);
                                                 |     if (v0 != 0) {
    0x000e7fe0 bnez v0, 0xe8014                  |         goto label_1;
                                                 |     }
    0x000e7fe4 nop                               |     
    0x000e7fe8 sync                              |     __asm ("sync");
                                                 |     do {
    0x000e7fec ll at, 0x54(s0)                   |         __asm ("ll at, 0x54(s0)");
    0x000e7ff0 addiu at, at, 1                   |         at++;
    0x000e7ff4 sc at, 0x54(s0)                   |         __asm ("sc at, 0x54(s0)");
    0x000e7ff8 beqz at, 0xe7fec                  |         
                                                 |     } while (at == 0);
    0x000e7ffc nop                               |     
    0x000e8000 sync                              |     __asm ("sync");
    0x000e8004 lw ra, 0x24(sp)                   |     ra = *(var_24h);
                                                 | label_0:
    0x000e8008 lw s0, 0x20(sp)                   |     s0 = *(var_20h);
    0x000e800c addiu sp, sp, 0x28                |     
    0x000e8010 jr ra                             |     return v0;
                                                 | label_1:
    0x000e8014 lw v0, (v0)                       |     v0 = *(v0);
    0x000e8018 sync                              |     __asm ("sync");
                                                 |     do {
    0x000e801c ll at, 0x50(s0)                   |         __asm ("ll at, 0x50(s0)");
    0x000e8020 addiu at, at, 1                   |         at++;
    0x000e8024 sc at, 0x50(s0)                   |         __asm ("sc at, 0x50(s0)");
    0x000e8028 beqz at, 0xe801c                  |         
                                                 |     } while (at == 0);
    0x000e802c nop                               |     
    0x000e8030 sync                              |     __asm ("sync");
    0x000e8034 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x000e8038 b 0xe8008                         |     goto label_0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x101f44 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.PKCS12_PBE_keyivgen ()       | void PKCS12_PBE_keyivgen () {
    0x00101f44 lui gp, 0xc                   |     
    0x00101f48 addiu gp, gp, 0x4c7c          |     
    0x00101f4c addu gp, gp, t9               |     gp += t9;
    0x00101f50 addiu sp, sp, -0xb0           |     
    0x00101f54 sw s2, 0x90(sp)               |     *(var_90h) = s2;
    0x00101f58 lw s2, 0xc0(sp)               |     s2 = *(arg_c0h);
    0x00101f5c sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x00101f60 sw ra, 0xac(sp)               |     *(var_ach) = ra;
    0x00101f64 sw fp, 0xa8(sp)               |     *(var_a8h) = fp;
    0x00101f68 sw s7, 0xa4(sp)               |     *(var_a4h) = s7;
    0x00101f6c sw s6, 0xa0(sp)               |     *(var_a0h) = s6;
    0x00101f70 sw s5, 0x9c(sp)               |     *(var_9ch) = s5;
    0x00101f74 sw s4, 0x98(sp)               |     *(var_98h) = s4;
    0x00101f78 sw s3, 0x94(sp)               |     *(var_94h) = s3;
    0x00101f7c sw s1, 0x8c(sp)               |     *(var_8ch) = s1;
    0x00101f80 sw s0, 0x88(sp)               |     *(var_88h) = s0;
    0x00101f84 lw t9, -0x7bf4(gp)            |     t9 = *((gp - 7933));
                                             |     if (s2 != 0) {
    0x00101f88 beqz s2, 0x101fd4             |         
    0x00101f8c sw a0, 0x84(sp)               |         *(var_84h) = a0;
    0x00101f90 lw a0, -0x7bc0(gp)            |         a0 = *((gp - 7920));
    0x00101f94 move s3, a1                   |         s3 = a1;
    0x00101f98 move a1, a3                   |         a1 = a3;
    0x00101f9c move s4, a2                   |         s4 = a2;
    0x00101fa0 jalr t9                       |         t9 ();
    0x00101fa4 move s1, v0                   |         s1 = v0;
    0x00101fa8 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x00101fac bnez v0, 0x101fdc             |             goto label_2;
                                             |         }
    0x00101fb0 lw a3, -0x7e98(gp)            |         a3 = *((gp - 8102));
    0x00101fb4 addiu v0, zero, 0x2b          |         v0 = 0x2b;
    0x00101fb8 lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x00101fbc sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00101fc0 addiu a3, a3, 0x20c4          |         a3 += 0x20c4;
    0x00101fc4 addiu a2, zero, 0x65          |         a2 = 0x65;
    0x00101fc8 addiu a1, zero, 0x78          |         a1 = 0x78;
    0x00101fcc addiu a0, zero, 0x23          |         a0 = 0x23;
    0x00101fd0 jalr t9                       |         t9 ();
                                             |     }
    0x00101fd4 move s0, zero                 |     s0 = 0;
    0x00101fd8 b 0x10208c                    |     goto label_1;
                                             | label_2:
    0x00101fdc lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00101fe0 lw t9, -0x7a50(gp)            |     t9 = *((gp - 7828));
                                             |     if (a0 == 0) {
    0x00101fe4 beqz a0, 0x1020c0             |         goto label_3;
                                             |     }
    0x00101fe8 jalr t9                       |     t9 ();
    0x00101fec nop                           |     
    0x00101ff0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00101ff4 move s6, v0                   |     s6 = v0;
                                             |     do {
    0x00101ff8 lw v0, (s1)                   |         v0 = *(s1);
    0x00101ffc lw t9, -0x7b70(gp)            |         t9 = *((gp - 7900));
    0x00102000 move a0, s2                   |         a0 = s2;
    0x00102004 lw s7, 8(v0)                  |         s7 = *((v0 + 2));
    0x00102008 lw fp, (v0)                   |         fp = *(v0);
    0x0010200c jalr t9                       |         t9 ();
    0x00102010 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00102014 lw v1, 0xc4(sp)               |         v1 = *(arg_c4h);
    0x00102018 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0010201c lw t9, -0x62f8(gp)            |         t9 = *((gp - 6334));
    0x00102020 addiu v0, zero, 1             |         v0 = 1;
    0x00102024 addiu s5, sp, 0x30            |         s5 = sp + 0x30;
    0x00102028 sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x0010202c sw s5, 0x1c(sp)               |         *(var_1ch) = s5;
    0x00102030 sw s6, 0x14(sp)               |         *(var_14h) = s6;
    0x00102034 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00102038 move a3, fp                   |         a3 = fp;
    0x0010203c move a2, s7                   |         a2 = s7;
    0x00102040 move a1, s4                   |         a1 = s4;
    0x00102044 move a0, s3                   |         a0 = s3;
    0x00102048 bal 0x103690                  |         sym_PKCS12_key_gen_utf8 ();
    0x0010204c move s0, v0                   |         s0 = v0;
    0x00102050 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x00102054 bnez v0, 0x1020c8             |             goto label_4;
                                             |         }
    0x00102058 lw a3, -0x7e98(gp)            |         a3 = *((gp - 8102));
    0x0010205c addiu v0, zero, 0x37          |         v0 = 0x37;
    0x00102060 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00102064 addiu a3, a3, 0x20c4          |         a3 += 0x20c4;
    0x00102068 addiu a2, zero, 0x6b          |         a2 = 0x6b;
                                             | label_0:
    0x0010206c lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x00102070 addiu a0, zero, 0x23          |         a0 = 0x23;
    0x00102074 addiu a1, zero, 0x78          |         a1 = 0x78;
    0x00102078 jalr t9                       |         t9 ();
    0x0010207c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00102080 lw t9, -0x7bb8(gp)            |         t9 = *((gp - 7918));
    0x00102084 move a0, s1                   |         a0 = s1;
    0x00102088 jalr t9                       |         t9 ();
                                             | label_1:
    0x0010208c lw ra, 0xac(sp)               |         ra = *(var_ach);
    0x00102090 move v0, s0                   |         v0 = s0;
    0x00102094 lw fp, 0xa8(sp)               |         fp = *(var_a8h);
    0x00102098 lw s7, 0xa4(sp)               |         s7 = *(var_a4h);
    0x0010209c lw s6, 0xa0(sp)               |         s6 = *(var_a0h);
    0x001020a0 lw s5, 0x9c(sp)               |         s5 = *(var_9ch);
    0x001020a4 lw s4, 0x98(sp)               |         s4 = *(var_98h);
    0x001020a8 lw s3, 0x94(sp)               |         s3 = *(var_94h);
    0x001020ac lw s2, 0x90(sp)               |         s2 = *(var_90h);
    0x001020b0 lw s1, 0x8c(sp)               |         s1 = *(var_8ch);
    0x001020b4 lw s0, 0x88(sp)               |         s0 = *(var_88h);
    0x001020b8 addiu sp, sp, 0xb0            |         
    0x001020bc jr ra                         |         return v0;
                                             | label_3:
    0x001020c0 addiu s6, zero, 1             |         s6 = 1;
    0x001020c4 b 0x101ff8                    |         
                                             |     } while (1);
                                             | label_4:
    0x001020c8 lw t9, -0x7b88(gp)            |     t9 = *((gp - 7906));
    0x001020cc move a0, s2                   |     a0 = s2;
    0x001020d0 jalr t9                       |     t9 ();
    0x001020d4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x001020d8 lw v1, 0xc4(sp)               |     v1 = *(arg_c4h);
    0x001020dc sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x001020e0 lw t9, -0x62f8(gp)            |     t9 = *((gp - 6334));
    0x001020e4 sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x001020e8 addiu v0, zero, 2             |     v0 = 2;
    0x001020ec addiu v1, sp, 0x70            |     v1 = sp + 0x70;
    0x001020f0 sw v1, 0x80(sp)               |     *(var_80h) = v1;
    0x001020f4 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x001020f8 sw s6, 0x14(sp)               |     *(var_14h) = s6;
    0x001020fc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00102100 move a3, fp                   |     a3 = fp;
    0x00102104 move a2, s7                   |     a2 = s7;
    0x00102108 move a1, s4                   |     a1 = s4;
    0x0010210c move a0, s3                   |     a0 = s3;
    0x00102110 bal 0x103690                  |     sym_PKCS12_key_gen_utf8 ();
    0x00102114 move s0, v0                   |     s0 = v0;
    0x00102118 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0010211c bnez v0, 0x102138             |         
    0x00102120 lw a3, -0x7e98(gp)            |         a3 = *((gp - 8102));
    0x00102124 addiu v0, zero, 0x3d          |         v0 = 0x3d;
    0x00102128 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0010212c addiu a3, a3, 0x20c4          |         a3 += 0x20c4;
    0x00102130 addiu a2, zero, 0x6a          |         a2 = 0x6a;
    0x00102134 b 0x10206c                    |         goto label_0;
                                             |     }
    0x00102138 lw t9, -0x7bb8(gp)            |     t9 = *((gp - 7918));
    0x0010213c move a0, s1                   |     a0 = s1;
    0x00102140 jalr t9                       |     t9 ();
    0x00102144 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00102148 lw v0, 0xc8(sp)               |     v0 = *(arg_c8h);
    0x0010214c lw a0, 0x84(sp)               |     a0 = *(var_84h);
    0x00102150 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00102154 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x00102158 lw t9, -0x7b80(gp)            |     t9 = *((gp - 7904));
    0x0010215c move a3, s5                   |     a3 = s5;
    0x00102160 move a2, zero                 |     a2 = 0;
    0x00102164 move a1, s2                   |     a1 = s2;
    0x00102168 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0010216c jalr t9                       |     t9 ();
    0x00102170 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00102174 move a0, s5                   |     a0 = s5;
    0x00102178 addiu a1, zero, 0x40          |     a1 = 0x40;
    0x0010217c lw t9, -0x7cec(gp)            |     t9 = *((gp - 7995));
    0x00102180 move s0, v0                   |     s0 = v0;
    0x00102184 bal 0xea0e4                   |     sym_OPENSSL_cleanse ();
    0x00102188 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0010218c lw a0, 0x80(sp)               |     a0 = *(var_80h);
    0x00102190 lw t9, -0x7cec(gp)            |     t9 = *((gp - 7995));
    0x00102194 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00102198 bal 0xea0e4                   |     sym_OPENSSL_cleanse ();
    0x0010219c b 0x10208c                    |     goto label_1;
    0x001021a0 nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x535ec */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.PKCS5_v2_scrypt_keyivgen ()      | void PKCS5_v2_scrypt_keyivgen () {
    0x000535ec lui gp, 0x17                      |     
    0x000535f0 addiu gp, gp, 0x35d4              |     
    0x000535f4 addu gp, gp, t9                   |     gp += t9;
    0x000535f8 addiu sp, sp, -0xb8               |     
    0x000535fc lw t9, -0x7b4c(gp)                |     t9 = *((gp - 7891));
    0x00053600 sw gp, 0x38(sp)                   |     *(var_38h) = gp;
    0x00053604 sw s5, 0xb0(sp)                   |     *(var_b0h) = s5;
    0x00053608 sw s3, 0xa8(sp)                   |     *(var_a8h) = s3;
    0x0005360c sw s1, 0xa0(sp)                   |     *(var_a0h) = s1;
    0x00053610 sw s0, 0x9c(sp)                   |     *(var_9ch) = s0;
    0x00053614 sw ra, 0xb4(sp)                   |     *(var_b4h) = ra;
    0x00053618 sw s4, 0xac(sp)                   |     *(var_ach) = s4;
    0x0005361c sw s2, 0xa4(sp)                   |     *(var_a4h) = s2;
    0x00053620 move s3, a0                       |     s3 = a0;
    0x00053624 move s1, a1                       |     s1 = a1;
    0x00053628 move s5, a2                       |     s5 = a2;
    0x0005362c move s0, a3                       |     s0 = a3;
    0x00053630 jalr t9                           |     t9 ();
    0x00053634 lw gp, 0x38(sp)                   |     gp = *(var_38h);
                                                 |     if (v0 != 0) {
    0x00053638 bnez v0, 0x536a0                  |         goto label_4;
                                                 |     }
    0x0005363c lw a3, -0x7fd4(gp)                |     a3 = *((gp - 8181));
    0x00053640 lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x00053644 addiu v0, zero, 0xe0              |     v0 = 0xe0;
    0x00053648 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0005364c addiu a3, a3, 0x2d44              |     a3 += 0x2d44;
    0x00053650 addiu a2, zero, 0x83              |     a2 = 0x83;
    0x00053654 addiu a1, zero, 0xb4              |     a1 = 0xb4;
    0x00053658 addiu a0, zero, 6                 |     a0 = 6;
    0x0005365c jalr t9                           |     t9 ();
    0x00053660 lw gp, 0x38(sp)                   |     gp = *(var_38h);
    0x00053664 move s0, zero                     |     s0 = 0;
                                                 |     do {
    0x00053668 move s1, zero                     |         s1 = 0;
                                                 | label_0:
    0x0005366c lw t9, -0x7b50(gp)                |         t9 = *((gp - 7892));
    0x00053670 move a0, s0                       |         a0 = s0;
    0x00053674 bal 0x53070                       |         sym_SCRYPT_PARAMS_free ();
    0x00053678 lw ra, 0xb4(sp)                   |         ra = *(var_b4h);
    0x0005367c move v0, s1                       |         v0 = s1;
    0x00053680 lw s5, 0xb0(sp)                   |         s5 = *(var_b0h);
    0x00053684 lw s4, 0xac(sp)                   |         s4 = *(var_ach);
    0x00053688 lw s3, 0xa8(sp)                   |         s3 = *(var_a8h);
    0x0005368c lw s2, 0xa4(sp)                   |         s2 = *(var_a4h);
    0x00053690 lw s1, 0xa0(sp)                   |         s1 = *(var_a0h);
    0x00053694 lw s0, 0x9c(sp)                   |         s0 = *(var_9ch);
    0x00053698 addiu sp, sp, 0xb8                |         
    0x0005369c jr ra                             |         return v0;
                                                 | label_4:
    0x000536a0 lw t9, -0x7bf4(gp)                |         t9 = *((gp - 7933));
    0x000536a4 lw a0, -0x7b60(gp)                |         a0 = *((gp - 7896));
    0x000536a8 move a1, s0                       |         a1 = s0;
    0x000536ac bal 0x4964c                       |         sym_ASN1_TYPE_unpack_sequence ();
    0x000536b0 move s0, v0                       |         s0 = v0;
    0x000536b4 lw gp, 0x38(sp)                   |         gp = *(var_38h);
                                                 |         if (v0 != 0) {
    0x000536b8 bnez v0, 0x536e8                  |             goto label_5;
                                                 |         }
    0x000536bc lw a3, -0x7fd4(gp)                |         a3 = *((gp - 8181));
    0x000536c0 lw t9, -0x7f94(gp)                |         t9 = *((gp - 8165));
    0x000536c4 addiu v0, zero, 0xe9              |         v0 = 0xe9;
    0x000536c8 sw v0, 0x10(sp)                   |         *(var_10h) = v0;
    0x000536cc addiu a3, a3, 0x2d44              |         a3 += 0x2d44;
    0x000536d0 addiu a2, zero, 0x72              |         a2 = 0x72;
    0x000536d4 addiu a1, zero, 0xb4              |         a1 = 0xb4;
    0x000536d8 addiu a0, zero, 6                 |         a0 = 6;
    0x000536dc jalr t9                           |         t9 ();
    0x000536e0 lw gp, 0x38(sp)                   |         gp = *(var_38h);
    0x000536e4 b 0x53668                         |         
                                                 |     } while (1);
                                                 | label_5:
    0x000536e8 lw t9, -0x7b48(gp)                |     t9 = *((gp - 7890));
    0x000536ec move a0, s3                       |     a0 = s3;
    0x000536f0 jalr t9                           |     t9 ();
    0x000536f4 lw a1, 0x10(s0)                   |     a1 = *((s0 + 4));
    0x000536f8 lw gp, 0x38(sp)                   |     gp = *(var_38h);
    0x000536fc move s2, v0                       |     s2 = v0;
                                                 |     if (a1 == 0) {
    0x00053700 beqz a1, 0x53778                  |         goto label_6;
                                                 |     }
    0x00053704 lw t9, -0x7b44(gp)                |     t9 = *((gp - 7889));
    0x00053708 addiu a0, sp, 0x40                |     a0 = sp + 0x40;
    0x0005370c bal 0x4464c                       |     sym_ASN1_INTEGER_get_uint64 ();
    0x00053710 lw gp, 0x38(sp)                   |     gp = *(var_38h);
                                                 |     if (v0 != 0) {
    0x00053714 beqz v0, 0x53730                  |         
    0x00053718 lw v0, 0x40(sp)                   |         v0 = *(var_40h);
    0x0005371c lw a3, -0x7fd4(gp)                |         a3 = *((gp - 8181));
                                                 |         if (v0 != s2) {
    0x00053720 bne v0, s2, 0x53734               |             goto label_7;
                                                 |         }
    0x00053724 lw v0, 0x44(sp)                   |         v0 = *(var_44h);
    0x00053728 lw t9, -0x7b44(gp)                |         t9 = *((gp - 7889));
                                                 |         if (v0 == 0) {
    0x0005372c beqz v0, 0x5377c                  |             goto label_8;
                                                 |         }
                                                 |     }
    0x00053730 lw a3, -0x7fd4(gp)                |     a3 = *((gp - 8181));
                                                 | label_7:
    0x00053734 addiu v0, zero, 0xf6              |     v0 = 0xf6;
    0x00053738 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0005373c addiu a3, a3, 0x2d44              |     a3 += 0x2d44;
    0x00053740 addiu a2, zero, 0x7b              |     a2 = 0x7b;
                                                 | label_1:
    0x00053744 lw t9, -0x7f94(gp)                |     t9 = *((gp - 8165));
    0x00053748 addiu a1, zero, 0xb4              |     a1 = 0xb4;
    0x0005374c addiu a0, zero, 6                 |     a0 = 6;
    0x00053750 jalr t9                           |     t9 ();
    0x00053754 lw gp, 0x38(sp)                   |     gp = *(var_38h);
    0x00053758 move s1, zero                     |     s1 = 0;
                                                 | label_3:
    0x0005375c lw t9, -0x7cec(gp)                |     t9 = *((gp - 7995));
                                                 |     if (s2 == 0) {
    0x00053760 beqz s2, 0x5366c                  |         goto label_0;
                                                 |     }
    0x00053764 move a1, s2                       |     a1 = s2;
    0x00053768 addiu a0, sp, 0x40                |     a0 = sp + 0x40;
    0x0005376c jalr t9                           |     t9 ();
    0x00053770 lw gp, 0x38(sp)                   |     gp = *(var_38h);
    0x00053774 b 0x5366c                         |     goto label_0;
                                                 | label_6:
    0x00053778 lw t9, -0x7b44(gp)                |     t9 = *((gp - 7889));
                                                 | label_8:
    0x0005377c lw a1, 4(s0)                      |     a1 = *((s0 + 1));
    0x00053780 addiu a0, sp, 0x80                |     a0 = sp + 0x80;
    0x00053784 bal 0x4464c                       |     sym_ASN1_INTEGER_get_uint64 ();
    0x00053788 lw gp, 0x38(sp)                   |     gp = *(var_38h);
    0x0005378c bnez v0, 0x537a8                  |     
                                                 |     while (v0 == 0) {
                                                 | label_2:
    0x00053790 lw a3, -0x7fd4(gp)                |         a3 = *((gp - 8181));
    0x00053794 addiu v0, zero, 0x100             |         v0 = aav.0x00000100;
    0x00053798 sw v0, 0x10(sp)                   |         *(var_10h) = v0;
    0x0005379c addiu a3, a3, 0x2d44              |         a3 += 0x2d44;
    0x000537a0 addiu a2, zero, 0xab              |         a2 = 0xab;
    0x000537a4 b 0x53744                         |         goto label_1;
    0x000537a8 lw t9, -0x7b44(gp)                |         t9 = *((gp - 7889));
    0x000537ac lw a1, 8(s0)                      |         a1 = *((s0 + 2));
    0x000537b0 addiu a0, sp, 0x88                |         a0 = sp + 0x88;
    0x000537b4 bal 0x4464c                       |         sym_ASN1_INTEGER_get_uint64 ();
    0x000537b8 lw gp, 0x38(sp)                   |         gp = *(var_38h);
    0x000537bc beqz v0, 0x53790                  |         
                                                 |     }
    0x000537c0 lw t9, -0x7b44(gp)                |     t9 = *((gp - 7889));
    0x000537c4 lw a1, 0xc(s0)                    |     a1 = *((s0 + 3));
    0x000537c8 addiu a0, sp, 0x90                |     a0 = sp + 0x90;
    0x000537cc bal 0x4464c                       |     sym_ASN1_INTEGER_get_uint64 ();
    0x000537d0 lw gp, 0x38(sp)                   |     gp = *(var_38h);
                                                 |     if (v0 == 0) {
    0x000537d4 beqz v0, 0x53790                  |         goto label_2;
                                                 |     }
    0x000537d8 move v0, zero                     |     v0 = 0;
    0x000537dc move v1, zero                     |     v1 = 0;
    0x000537e0 sw v0, 0x28(sp)                   |     *(var_28h) = v0;
    0x000537e4 sw v1, 0x2c(sp)                   |     *(var_2ch) = v1;
    0x000537e8 lw v0, 0x90(sp)                   |     v0 = *(var_90h);
    0x000537ec lw v1, 0x94(sp)                   |     v1 = *(var_94h);
    0x000537f0 sw v0, 0x20(sp)                   |     *(var_20h) = v0;
    0x000537f4 sw v1, 0x24(sp)                   |     *(var_24h) = v1;
    0x000537f8 lw v0, 0x88(sp)                   |     v0 = *(var_88h);
    0x000537fc lw v1, 0x8c(sp)                   |     v1 = *(var_8ch);
    0x00053800 sw v0, 0x18(sp)                   |     *(var_18h) = v0;
    0x00053804 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x00053808 lw v0, 0x80(sp)                   |     v0 = *(var_80h);
    0x0005380c lw v1, 0x84(sp)                   |     v1 = *(var_84h);
    0x00053810 lw t9, -0x7b5c(gp)                |     t9 = *((gp - 7895));
    0x00053814 sw zero, 0x34(sp)                 |     *(var_34h) = 0;
    0x00053818 sw zero, 0x30(sp)                 |     *(var_30h) = 0;
    0x0005381c sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x00053820 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00053824 move a3, zero                     |     a3 = 0;
    0x00053828 move a2, zero                     |     a2 = 0;
    0x0005382c move a1, zero                     |     a1 = 0;
    0x00053830 move a0, zero                     |     a0 = 0;
    0x00053834 jalr t9                           |     t9 ();
    0x00053838 lw gp, 0x38(sp)                   |     gp = *(var_38h);
                                                 |     if (v0 == 0) {
    0x0005383c beqz v0, 0x53790                  |         goto label_2;
                                                 |     }
    0x00053840 lw v0, (s0)                       |     v0 = *(s0);
    0x00053844 move v1, zero                     |     v1 = 0;
    0x00053848 lw t9, -0x7b5c(gp)                |     t9 = *((gp - 7895));
    0x0005384c lw a3, (v0)                       |     a3 = *(v0);
    0x00053850 lw a2, 8(v0)                      |     a2 = *((v0 + 2));
    0x00053854 move v0, zero                     |     v0 = 0;
    0x00053858 sw v0, 0x28(sp)                   |     *(var_28h) = v0;
    0x0005385c sw v1, 0x2c(sp)                   |     *(var_2ch) = v1;
    0x00053860 lw v0, 0x90(sp)                   |     v0 = *(var_90h);
    0x00053864 lw v1, 0x94(sp)                   |     v1 = *(var_94h);
    0x00053868 sw v0, 0x20(sp)                   |     *(var_20h) = v0;
    0x0005386c sw v1, 0x24(sp)                   |     *(var_24h) = v1;
    0x00053870 lw v0, 0x88(sp)                   |     v0 = *(var_88h);
    0x00053874 lw v1, 0x8c(sp)                   |     v1 = *(var_8ch);
    0x00053878 sw v0, 0x18(sp)                   |     *(var_18h) = v0;
    0x0005387c sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x00053880 lw v0, 0x80(sp)                   |     v0 = *(var_80h);
    0x00053884 lw v1, 0x84(sp)                   |     v1 = *(var_84h);
    0x00053888 addiu s4, sp, 0x40                |     s4 = sp + 0x40;
    0x0005388c move a0, s1                       |     a0 = s1;
    0x00053890 sw s2, 0x34(sp)                   |     *(var_34h) = s2;
    0x00053894 sw s4, 0x30(sp)                   |     *(var_30h) = s4;
    0x00053898 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0005389c sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x000538a0 move a1, s5                       |     a1 = s5;
    0x000538a4 jalr t9                           |     t9 ();
    0x000538a8 move s1, v0                       |     s1 = v0;
    0x000538ac lw gp, 0x38(sp)                   |     gp = *(var_38h);
                                                 |     if (v0 == 0) {
    0x000538b0 beqz v0, 0x5375c                  |         goto label_3;
                                                 |     }
    0x000538b4 lw v0, 0xd0(sp)                   |     v0 = *(arg_d0h);
    0x000538b8 lw t9, -0x7b80(gp)                |     t9 = *((gp - 7904));
    0x000538bc sw v0, 0x14(sp)                   |     *(var_14h) = v0;
    0x000538c0 sw zero, 0x10(sp)                 |     *(var_10h) = 0;
    0x000538c4 move a3, s4                       |     a3 = s4;
    0x000538c8 move a2, zero                     |     a2 = 0;
    0x000538cc move a1, zero                     |     a1 = 0;
    0x000538d0 move a0, s3                       |     a0 = s3;
    0x000538d4 jalr t9                           |     t9 ();
    0x000538d8 move s1, v0                       |     s1 = v0;
    0x000538dc lw gp, 0x38(sp)                   |     gp = *(var_38h);
    0x000538e0 b 0x5375c                         |     goto label_3;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x14c2e0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.X509_PUBKEY_set ()           | void X509_PUBKEY_set () {
    0x0014c2e0 lui gp, 8                     |     
    0x0014c2e4 addiu gp, gp, -0x5720         |     
    0x0014c2e8 addu gp, gp, t9               |     gp += t9;
    0x0014c2ec lw t9, -0x5928(gp)            |     t9 = *((gp - 5706));
                                             |     if (a0 == 0) {
    0x0014c2f0 beqz a0, 0x14c3f0             |         goto label_1;
                                             |     }
    0x0014c2f4 addiu sp, sp, -0x30           |     
    0x0014c2f8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0014c2fc sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0014c300 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0014c304 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0014c308 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0014c30c move s0, a1                   |     s0 = a1;
    0x0014c310 move s2, a0                   |     s2 = a0;
    0x0014c314 bal 0x14c2b0                  |     sym_X509_PUBKEY_new ();
    0x0014c318 move s1, v0                   |     s1 = v0;
    0x0014c31c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0014c320 beqz v0, 0x14c374             |         goto label_2;
                                             |     }
    0x0014c324 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0014c328 lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
                                             |     if (v0 == 0) {
    0x0014c32c beqz v0, 0x14c39c             |         goto label_3;
                                             |     }
    0x0014c330 lw t9, 0x18(v0)               |     t9 = *((v0 + 6));
    0x0014c334 move a1, s0                   |     a1 = s0;
                                             |     if (t9 == 0) {
    0x0014c338 beqz t9, 0x14c388             |         goto label_4;
                                             |     }
    0x0014c33c move a0, s1                   |     a0 = s1;
    0x0014c340 jalr t9                       |     t9 ();
    0x0014c344 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0014c348 bnez v0, 0x14c3b0             |         goto label_5;
                                             |     }
    0x0014c34c lw a3, -0x7e24(gp)            |     a3 = *((gp - 8073));
    0x0014c350 addiu v0, zero, 0x4a          |     v0 = 0x4a;
    0x0014c354 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0014c358 addiu a3, a3, -0x7cfc         |     a3 += -0x7cfc;
    0x0014c35c addiu a2, zero, 0x7e          |     a2 = 0x7e;
                                             |     do {
                                             | label_0:
    0x0014c360 lw t9, -0x7f94(gp)            |         t9 = *((gp - 8165));
    0x0014c364 addiu a1, zero, 0x78          |         a1 = 0x78;
    0x0014c368 addiu a0, zero, 0xb           |         a0 = 0xb;
    0x0014c36c jalr t9                       |         t9 ();
    0x0014c370 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_2:
    0x0014c374 lw t9, -0x718c(gp)            |         t9 = *((gp - 7267));
    0x0014c378 move a0, s1                   |         a0 = s1;
    0x0014c37c bal 0x14c2c8                  |         sym_X509_PUBKEY_free ();
    0x0014c380 move v0, zero                 |         v0 = 0;
    0x0014c384 b 0x14c3d8                    |         goto label_6;
                                             | label_4:
    0x0014c388 addiu v0, zero, 0x4e          |         v0 = 0x4e;
    0x0014c38c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0014c390 addiu a3, a3, -0x7cfc         |         a3 += -0x7cfc;
    0x0014c394 addiu a2, zero, 0x7c          |         a2 = 0x7c;
    0x0014c398 b 0x14c360                    |         
                                             |     } while (1);
                                             | label_3:
    0x0014c39c addiu v0, zero, 0x52          |     v0 = 0x52;
    0x0014c3a0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0014c3a4 addiu a3, a3, -0x7cfc         |     a3 += -0x7cfc;
    0x0014c3a8 addiu a2, zero, 0x6f          |     a2 = 0x6f;
    0x0014c3ac b 0x14c360                    |     goto label_0;
                                             | label_5:
    0x0014c3b0 lw t9, -0x718c(gp)            |     t9 = *((gp - 7267));
    0x0014c3b4 lw a0, (s2)                   |     a0 = *(s2);
    0x0014c3b8 bal 0x14c2c8                  |     sym_X509_PUBKEY_free ();
    0x0014c3bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0014c3c0 sw s1, (s2)                   |     *(s2) = s1;
    0x0014c3c4 move a0, s0                   |     a0 = s0;
    0x0014c3c8 lw t9, -0x7564(gp)            |     t9 = *((gp - 7513));
    0x0014c3cc sw s0, 8(s1)                  |     *((s1 + 2)) = s0;
    0x0014c3d0 jalr t9                       |     t9 ();
    0x0014c3d4 addiu v0, zero, 1             |     v0 = 1;
                                             | label_6:
    0x0014c3d8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0014c3dc lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0014c3e0 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0014c3e4 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0014c3e8 addiu sp, sp, 0x30            |     
    0x0014c3ec jr ra                         |     return v0;
                                             | label_1:
    0x0014c3f0 move v0, zero                 |     v0 = 0;
    0x0014c3f4 jr ra                         |     return v0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x14caf4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.X509_PUBKEY_set0_param ()        | void X509_PUBKEY_set0_param () {
    0x0014caf4 lui gp, 8                         |     
    0x0014caf8 addiu gp, gp, -0x5f34             |     
    0x0014cafc addu gp, gp, t9                   |     gp += t9;
    0x0014cb00 addiu sp, sp, -0x28               |     
    0x0014cb04 lw t9, -0x7e34(gp)                |     t9 = *((gp - 8077));
    0x0014cb08 sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x0014cb0c move s0, a0                       |     s0 = a0;
    0x0014cb10 lw a0, (a0)                       |     a0 = *(a0);
    0x0014cb14 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0014cb18 sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x0014cb1c sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0014cb20 lw s1, 0x38(sp)                   |     s1 = *(arg_38h);
    0x0014cb24 jalr t9                           |     t9 ();
    0x0014cb28 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 != 0) {
    0x0014cb2c beqz v0, 0x14cb78                 |         
    0x0014cb30 lw t9, -0x7f98(gp)                |         t9 = *((gp - 8166));
                                                 |         if (s1 != 0) {
    0x0014cb34 beqz s1, 0x14cb74                 |             
    0x0014cb38 lw v0, 4(s0)                      |             v0 = *((s0 + 1));
    0x0014cb3c lw a1, -0x7e24(gp)                |             a1 = *((gp - 8073));
    0x0014cb40 lw a0, 8(v0)                      |             a0 = *((v0 + 2));
    0x0014cb44 addiu a2, zero, 0x159             |             a2 = 0x159;
    0x0014cb48 addiu a1, a1, -0x7cfc             |             a1 += -0x7cfc;
    0x0014cb4c jalr t9                           |             t9 ();
    0x0014cb50 lw v1, 4(s0)                      |             v1 = *((s0 + 1));
    0x0014cb54 lw v0, 0x3c(sp)                   |             v0 = *(arg_3ch);
    0x0014cb58 lw a0, 0xc(v1)                    |             a0 = *((v1 + 3));
    0x0014cb5c sw v0, (v1)                       |             *(v1) = v0;
    0x0014cb60 addiu v0, zero, -0x10             |             v0 = -0x10;
    0x0014cb64 and v0, v0, a0                    |             v0 &= a0;
    0x0014cb68 ori v0, v0, 8                     |             v0 |= 8;
    0x0014cb6c sw s1, 8(v1)                      |             *((v1 + 2)) = s1;
    0x0014cb70 sw v0, 0xc(v1)                    |             *((v1 + 3)) = v0;
                                                 |         }
    0x0014cb74 addiu v0, zero, 1                 |         v0 = 1;
                                                 |     }
    0x0014cb78 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0014cb7c lw s1, 0x20(sp)                   |     s1 = *(var_20h);
    0x0014cb80 lw s0, 0x1c(sp)                   |     s0 = *(var_1ch);
    0x0014cb84 addiu sp, sp, 0x28                |     
    0x0014cb88 jr ra                             |     return v0;
                                                 | }

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