[*] Binary protection state of openssl

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


[*] Function sprintf tear down of openssl

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/openssl @ 0x32968 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00032968 ()                  | void fcn_00032968 () {
    0x00032968 lui gp, 8                     |     
    0x0003296c addiu gp, gp, 0x1948          |     
    0x00032970 addu gp, gp, t9               |     gp += t9;
    0x00032974 addiu sp, sp, -0x120          |     
    0x00032978 sw s1, 0xfc(sp)               |     *(var_fch) = s1;
    0x0003297c lw s1, -0x7300(gp)            |     s1 = *(gp);
    0x00032980 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00032984 sw s5, 0x10c(sp)              |     *(var_10ch) = s5;
    0x00032988 lw v0, (s1)                   |     v0 = *(s1);
    0x0003298c sw s4, 0x108(sp)              |     *(var_108h) = s4;
    0x00032990 sw s3, 0x104(sp)              |     *(var_104h) = s3;
    0x00032994 sw s2, 0x100(sp)              |     *(var_100h) = s2;
    0x00032998 sw s0, 0xf8(sp)               |     *(var_f8h) = s0;
    0x0003299c sw ra, 0x11c(sp)              |     *(var_11ch) = ra;
    0x000329a0 sw fp, 0x118(sp)              |     *(var_118h) = fp;
    0x000329a4 sw s7, 0x114(sp)              |     *(var_114h) = s7;
    0x000329a8 sw s6, 0x110(sp)              |     *(var_110h) = s6;
    0x000329ac move s5, a1                   |     s5 = a1;
    0x000329b0 move s0, a3                   |     s0 = a3;
    0x000329b4 lw s3, 0x130(sp)              |     s3 = *(var_10h);
    0x000329b8 lw s2, 0x140(sp)              |     s2 = *(var_140h);
    0x000329bc lw s4, 0x144(sp)              |     s4 = *(var_144h);
    0x000329c0 sw v0, 0xf4(sp)               |     *(var_f4h) = v0;
    0x000329c4 lw t9, -0x716c(gp)            |     t9 = sym.imp.strlen;
                                             |     if (a0 != 0) {
    0x000329c8 bnez a0, 0x32a64              |         goto label_24;
                                             |     }
    0x000329cc addiu v0, zero, 1             |     v0 = 1;
    0x000329d0 addiu v0, s4, -2              |     v0 = s4 + -2;
                                             |     if (s4 == v0) {
    0x000329d4 beq s4, v0, 0x32f10           |         goto label_25;
                                             |     }
    0x000329d8 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x000329dc addiu s6, zero, 8             |     s6 = 8;
                                             |     if (v0 == 0) {
    0x000329e0 beqz v0, 0x32ff0              |         goto label_26;
                                             |     }
                                             | label_10:
    0x000329e4 addiu v0, s4, -4              |     v0 = s4 + -4;
    0x000329e8 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x000329ec move s7, s6                   |     s7 = s6;
                                             |     if (v0 != 0) {
    0x000329f0 beqz v0, 0x329fc              |         
    0x000329f4 addiu s7, zero, 0x10          |         s7 = 0x10;
    0x000329f8 addiu s6, zero, 0x10          |         s6 = 0x10;
                                             |     }
                                             | label_3:
    0x000329fc lw v0, (a2)                   |     v0 = *(a2);
    0x00032a00 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x00032a04 beqz v0, 0x33034              |         goto label_27;
                                             |     }
    0x00032a08 lw a0, (s5)                   |     a0 = *(s5);
                                             | label_8:
    0x00032a0c lw t9, -0x7830(gp)            |     t9 = *(gp);
    0x00032a10 move a1, s7                   |     a1 = s7;
    0x00032a14 jalr t9                       |     t9 ();
    0x00032a18 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x00032a1c blez v0, 0x32fe8              |         goto label_28;
                                             |     }
    0x00032a20 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
                                             |     if (s6 == 0) {
    0x00032a24 beqz s6, 0x32a54              |         goto label_29;
                                             |     }
    0x00032a28 move a0, zero                 |     a0 = 0;
                                             |     /* str.._0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.._openssl_1.1.1u_apps_passwd.c */
    0x00032a2c addiu a1, a1, 0x13f0          |     a1 += 0x13f0;
                                             |     do {
    0x00032a30 lw v1, (s5)                   |         v1 = *(s5);
    0x00032a34 addu v1, v1, a0               |         v1 += a0;
    0x00032a38 addiu a0, a0, 1               |         a0++;
    0x00032a3c lbu v0, (v1)                  |         v0 = *(v1);
    0x00032a40 andi v0, v0, 0x3f             |         v0 &= 0x3f;
    0x00032a44 addu v0, a1, v0               |         v0 = a1 + v0;
    0x00032a48 lbu v0, (v0)                  |         v0 = *(v0);
    0x00032a4c sb v0, (v1)                   |         *(v1) = v0;
    0x00032a50 bne s6, a0, 0x32a30           |         
                                             |     } while (s6 != a0);
                                             | label_29:
    0x00032a54 lw v0, (s5)                   |     v0 = *(s5);
    0x00032a58 addu s6, v0, s6               |     s6 = v0 + s6;
    0x00032a5c sb zero, (s6)                 |     *(s6) = 0;
    0x00032a60 lw t9, -0x716c(gp)            |     t9 = sym.imp.strlen;
                                             | label_24:
    0x00032a64 move a0, s0                   |     a0 = s0;
    0x00032a68 jalr t9                       |     t9 ();
    0x00032a6c sltu v0, s2, v0               |     v0 = (s2 < v0) ? 1 : 0;
    0x00032a70 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00032a74 bnez v0, 0x32b30              |         goto label_30;
                                             |     }
    0x00032a78 addiu v0, zero, 1             |     v0 = 1;
    0x00032a7c lw t9, -0x7684(gp)            |     t9 = sym.imp.DES_crypt;
                                             |     if (s4 == v0) {
    0x00032a80 beq s4, v0, 0x32b54           |         goto label_31;
                                             |     }
    0x00032a84 addiu v0, s4, -2              |     v0 = s4 + -2;
                                             |     do {
    0x00032a88 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x00032a8c addiu v0, zero, 2             |         v0 = 2;
                                             |         if (v0 == 0) {
    0x00032a90 beqz v0, 0x32b90              |             goto label_32;
                                             |         }
    0x00032a94 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
                                             |         if (s4 == v0) {
    0x00032a98 beq s4, v0, 0x33004           |             goto label_33;
                                             |         }
    0x00032a9c lw a1, -0x7fd4(gp)            |         a1 = *(gp);
                                             |         /* str.apr1 */
    0x00032aa0 addiu a1, a1, 0x1450          |         a1 += 0x1450;
                                             | label_6:
    0x00032aa4 lw a2, (s5)                   |         a2 = *(s5);
                                             | label_2:
    0x00032aa8 lw t9, -0x7fc0(gp)            |         t9 = *(gp);
                                             |         /* fcn.00032210 */
    0x00032aac addiu t9, t9, 0x2210          |         t9 += 0x2210;
    0x00032ab0 move a0, s0                   |         a0 = s0;
    0x00032ab4 bal 0x32210                   |         fcn_00032210 ();
    0x00032ab8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032abc move a2, v0                   |         a2 = v0;
                                             | label_5:
    0x00032ac0 lw v0, 0x138(sp)              |         v0 = *(var_138h);
    0x00032ac4 lw a1, -0x7fd4(gp)            |         a1 = *(gp);
                                             |         if (v0 == 0) {
    0x00032ac8 beqz v0, 0x32b74              |             goto label_34;
                                             |         }
                                             | label_0:
    0x00032acc lw v0, 0x13c(sp)              |         v0 = *(var_13ch);
    0x00032ad0 lw t9, -0x6834(gp)            |         t9 = sym.imp.BIO_printf;
                                             |         if (v0 == 0) {
    0x00032ad4 beqz v0, 0x32fc4              |             goto label_35;
                                             |         }
    0x00032ad8 lw a1, -0x7fd4(gp)            |         a1 = *(gp);
    0x00032adc move a3, s0                   |         a3 = s0;
                                             |         /* str._s_t_s_n */
    0x00032ae0 addiu a1, a1, 0x14a0          |         a1 += 0x14a0;
    0x00032ae4 move a0, s3                   |         a0 = s3;
    0x00032ae8 jalr t9                       |         t9 ();
    0x00032aec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032af0 lw v0, 0x13c(sp)              |         v0 = *(var_13ch);
                                             | label_1:
    0x00032af4 lw a0, 0xf4(sp)               |         a0 = *(var_f4h);
    0x00032af8 lw v1, (s1)                   |         v1 = *(s1);
    0x00032afc lw ra, 0x11c(sp)              |         ra = *(var_11ch);
                                             |         if (a0 != v1) {
    0x00032b00 bne a0, v1, 0x3323c           |             goto label_36;
                                             |         }
    0x00032b04 lw fp, 0x118(sp)              |         fp = *(var_118h);
    0x00032b08 lw s7, 0x114(sp)              |         s7 = *(var_114h);
    0x00032b0c lw s6, 0x110(sp)              |         s6 = *(var_110h);
    0x00032b10 lw s5, 0x10c(sp)              |         s5 = *(var_10ch);
    0x00032b14 lw s4, 0x108(sp)              |         s4 = *(var_108h);
    0x00032b18 lw s3, 0x104(sp)              |         s3 = *(var_104h);
    0x00032b1c lw s2, 0x100(sp)              |         s2 = *(var_100h);
    0x00032b20 lw s1, 0xfc(sp)               |         s1 = *(var_fch);
    0x00032b24 lw s0, 0xf8(sp)               |         s0 = *(var_f8h);
    0x00032b28 addiu sp, sp, 0x120           |         
    0x00032b2c jr ra                         |         return v1;
                                             | label_30:
    0x00032b30 lw v0, 0x134(sp)              |         v0 = *(var_134h);
    0x00032b34 lw v0, -0x7fcc(gp)            |         v0 = *(gp);
                                             |         if (v0 == 0) {
    0x00032b38 beqz v0, 0x32f1c              |             goto label_37;
                                             |         }
    0x00032b3c addu s2, s0, s2               |         s2 = s0 + s2;
    0x00032b40 sb zero, (s2)                 |         *(s2) = 0;
                                             | label_4:
    0x00032b44 addiu v0, zero, 1             |         v0 = 1;
    0x00032b48 addiu v0, s4, -2              |         v0 = s4 + -2;
    0x00032b4c bne s4, v0, 0x32a88           |         
                                             |     } while (s4 != v0);
    0x00032b50 lw t9, -0x7684(gp)            |     t9 = sym.imp.DES_crypt;
                                             | label_31:
    0x00032b54 lw a1, (s5)                   |     a1 = *(s5);
    0x00032b58 move a0, s0                   |     a0 = s0;
    0x00032b5c jalr t9                       |     t9 ();
    0x00032b60 move a2, v0                   |     a2 = v0;
    0x00032b64 lw v0, 0x138(sp)              |     v0 = *(var_138h);
    0x00032b68 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00032b6c bnez v0, 0x32acc              |         goto label_0;
                                             |     }
    0x00032b70 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
                                             | label_34:
    0x00032b74 lw t9, -0x6834(gp)            |     t9 = sym.imp.BIO_printf;
                                             |     /* esilref: '&s
' */
    0x00032b78 addiu a1, a1, -0x7400         |     a1 += -0x7400;
    0x00032b7c move a0, s3                   |     a0 = s3;
    0x00032b80 jalr t9                       |     t9 ();
    0x00032b84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032b88 addiu v0, zero, 1             |     v0 = 1;
    0x00032b8c b 0x32af4                     |     goto label_1;
                                             | label_32:
    0x00032b90 addiu v0, zero, 6             |     v0 = 6;
    0x00032b94 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
                                             |     if (s4 == v0) {
    0x00032b98 bne s4, v0, 0x32ba8           |         
    0x00032b9c lw a2, (s5)                   |         a2 = *(s5);
    0x00032ba0 addiu a1, a1, -0x1d54         |         a1 += -0x1d54;
    0x00032ba4 b 0x32aa8                     |         goto label_2;
                                             |     }
    0x00032ba8 addiu v0, s4, -4              |     v0 = s4 + -4;
    0x00032bac sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x00032bb0 lw t9, -0x716c(gp)            |     t9 = sym.imp.strlen;
                                             |     if (v0 == 0) {
    0x00032bb4 beqz v0, 0x33130              |         goto label_38;
                                             |     }
    0x00032bb8 move a0, s0                   |     a0 = s0;
    0x00032bbc jalr t9                       |     t9 ();
    0x00032bc0 addiu v1, zero, 4             |     v1 = 4;
    0x00032bc4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032bc8 lw s2, (s5)                   |     s2 = *(s5);
    0x00032bcc move s6, v0                   |     s6 = v0;
                                             |     if (s4 == v1) {
    0x00032bd0 beq s4, v1, 0x3300c           |         goto label_39;
                                             |     }
    0x00032bd4 lw t9, -0x7a10(gp)            |     t9 = sym.imp.EVP_sha512;
    0x00032bd8 addiu v0, zero, 0x40          |     v0 = 0x40;
    0x00032bdc sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00032be0 jalr t9                       |     t9 ();
    0x00032be4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032be8 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x00032bec lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00032bf0 addiu v0, v0, -0xfd0          |     v0 += -0xfd0;
    0x00032bf4 sw v0, 0x24(sp)               |     *(var_24h) = v0;
                                             | label_7:
    0x00032bf8 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00032bfc lw t9, -0x796c(gp)            |     t9 = *(gp);
    0x00032c00 addiu a2, zero, 7             |     a2 = 7;
                                             |     /* str.rounds */
    0x00032c04 addiu a1, a1, 0x13e4          |     a1 += 0x13e4;
    0x00032c08 move a0, s2                   |     a0 = s2;
    0x00032c0c jalr t9                       |     t9 ();
    0x00032c10 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00032c14 bnez v0, 0x33060              |         goto label_40;
                                             |     }
    0x00032c18 lw t9, -0x7168(gp)            |     t9 = sym.imp.strtoul;
    0x00032c1c addiu a0, s2, 7               |     a0 = s2 + 7;
    0x00032c20 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x00032c24 addiu a1, sp, 0x48            |     a1 = sp + 0x48;
    0x00032c28 jalr t9                       |     t9 ();
    0x00032c2c lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x00032c30 addiu v1, zero, 0x24          |     v1 = 0x24;
    0x00032c34 lb a0, (s2)                   |     a0 = *(s2);
    0x00032c38 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != v1) {
    0x00032c3c bne a0, v1, 0x33130           |         goto label_38;
                                             |     }
    0x00032c40 lui v1, 0x3b9a                |     v1 = 0x3b9ac9ff;
    0x00032c44 ori v1, v1, 0xc9ff            |     
    0x00032c48 sltiu a1, v0, 0x3e8           |     a1 = (v0 < aav.0x000003e8) ? 1 : 0;
    0x00032c4c addiu a0, zero, 0x3e8         |     a0 = aav.0x000003e8;
                                             |     if (a1 != 0) {
    0x00032c50 movz a0, v0, a1               |         a0 = v0;
                                             |     }
    0x00032c54 addiu v0, v1, 1               |     v0 = v1 + 1;
    0x00032c58 sltu v0, a0, v0               |     v0 = (a0 < v0) ? 1 : 0;
    0x00032c5c move fp, a0                   |     fp = a0;
                                             |     if (v0 != 0) {
    0x00032c60 movz fp, v1, v0               |         fp = v1;
                                             |     }
    0x00032c64 lw t9, -0x7aa8(gp)            |     t9 = sym.imp.OPENSSL_strlcpy;
    0x00032c68 addiu s5, sp, 0x4c            |     s5 = sp + 0x4c;
    0x00032c6c lw a1, 0x24(sp)               |     a1 = *(var_24h);
    0x00032c70 move a0, s5                   |     a0 = s5;
    0x00032c74 addiu a2, zero, 2             |     a2 = 2;
    0x00032c78 sw fp, 0x38(sp)               |     *(var_38h_2) = fp;
    0x00032c7c jalr t9                       |     t9 ();
    0x00032c80 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032c84 addiu s7, sp, 0x50            |     s7 = sp + 0x50;
    0x00032c88 addiu a1, s2, 1               |     a1 = s2 + 1;
    0x00032c8c lw t9, -0x7aa8(gp)            |     t9 = sym.imp.OPENSSL_strlcpy;
    0x00032c90 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x00032c94 move a0, s7                   |     a0 = s7;
    0x00032c98 jalr t9                       |     t9 ();
    0x00032c9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032ca0 lw t9, -0x716c(gp)            |     t9 = sym.imp.strlen;
    0x00032ca4 lw s2, -0x7f9c(gp)            |     s2 = *((gp - 8167));
    0x00032ca8 lw s4, -0x7fd4(gp)            |     s4 = *(gp);
    0x00032cac move a0, s7                   |     a0 = s7;
    0x00032cb0 jalr t9                       |     t9 ();
    0x00032cb4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032cb8 addiu a1, s4, 0x13ec          |     a1 = s4 + 0x13ec;
    0x00032cbc addiu a2, zero, 0x7c          |     a2 = 0x7c;
    0x00032cc0 lw t9, -0x6b50(gp)            |     t9 = sym.imp.OPENSSL_strlcat;
    0x00032cc4 addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x00032cc8 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00032ccc sb zero, -0x2420(s2)          |     *((s2 - 9248)) = 0;
    0x00032cd0 jalr t9                       |     t9 ();
    0x00032cd4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032cd8 move a1, s5                   |     a1 = s5;
    0x00032cdc addiu a2, zero, 0x7c          |     a2 = 0x7c;
    0x00032ce0 lw t9, -0x6b50(gp)            |     t9 = sym.imp.OPENSSL_strlcat;
    0x00032ce4 addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x00032ce8 jalr t9                       |     t9 ();
    0x00032cec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032cf0 addiu a1, s4, 0x13ec          |     a1 = s4 + 0x13ec;
    0x00032cf4 addiu a2, zero, 0x7c          |     a2 = 0x7c;
    0x00032cf8 lw t9, -0x6b50(gp)            |     t9 = sym.imp.OPENSSL_strlcat;
    0x00032cfc addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x00032d00 jalr t9                       |     t9 ();
    0x00032d04 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032d08 addiu s5, sp, 0xa4            |     s5 = sp + 0xa4;
    0x00032d0c addiu a2, zero, 0x50          |     a2 = 0x50;
    0x00032d10 lw a3, -0x7fd4(gp)            |     a3 = *(gp);
    0x00032d14 lw t9, -0x7950(gp)            |     t9 = sym.imp.__sprintf_chk
                                             |     /* str.rounds_u */
    0x00032d18 addiu a3, a3, 0x1494          |     a3 += 0x1494;
    0x00032d1c addiu a1, zero, 1             |     a1 = 1;
    0x00032d20 move a0, s5                   |     a0 = s5;
    0x00032d24 sw fp, 0x10(sp)               |     *(var_10h_2) = fp;
    0x00032d28 jalr t9                       |     t9 ();
    0x00032d2c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032d30 addiu a2, zero, 0x7c          |     a2 = 0x7c;
    0x00032d34 move a1, s5                   |     a1 = s5;
    0x00032d38 lw t9, -0x6b50(gp)            |     t9 = sym.imp.OPENSSL_strlcat;
    0x00032d3c addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x00032d40 jalr t9                       |     t9 ();
    0x00032d44 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032d48 addiu a1, s4, 0x13ec          |     a1 = s4 + 0x13ec;
    0x00032d4c addiu a2, zero, 0x7c          |     a2 = 0x7c;
    0x00032d50 lw t9, -0x6b50(gp)            |     t9 = sym.imp.OPENSSL_strlcat;
    0x00032d54 addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x00032d58 jalr t9                       |     t9 ();
    0x00032d5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032d60 addiu s4, zero, 0x11          |     s4 = 0x11;
                                             | label_9:
    0x00032d64 lw t9, -0x6b50(gp)            |     t9 = sym.imp.OPENSSL_strlcat;
    0x00032d68 addiu a2, zero, 0x7c          |     a2 = 0x7c;
    0x00032d6c move a1, s7                   |     a1 = s7;
    0x00032d70 addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x00032d74 jalr t9                       |     t9 ();
    0x00032d78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032d7c lw t9, -0x716c(gp)            |     t9 = sym.imp.strlen;
    0x00032d80 addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x00032d84 jalr t9                       |     t9 ();
    0x00032d88 lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x00032d8c addu s4, s5, s4               |     s4 = s5 + s4;
    0x00032d90 addiu s4, s4, 3               |     s4 += 3;
    0x00032d94 sltu v0, s4, v0               |     v0 = (s4 < v0) ? 1 : 0;
    0x00032d98 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00032d9c bnez v0, 0x33110              |         goto label_41;
                                             |     }
    0x00032da0 lw t9, -0x71f8(gp)            |     t9 = sym.imp.EVP_MD_CTX_new;
    0x00032da4 jalr t9                       |     t9 ();
    0x00032da8 nop                           |     
    0x00032dac move s4, v0                   |     s4 = v0;
    0x00032db0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032db4 beqz v0, 0x33110              |         goto label_41;
                                             |     }
    0x00032db8 lw t9, -0x681c(gp)            |     t9 = sym.imp.EVP_DigestInit_ex;
    0x00032dbc lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x00032dc0 move a2, zero                 |     a2 = 0;
    0x00032dc4 move a0, v0                   |     a0 = v0;
    0x00032dc8 jalr t9                       |     t9 ();
    0x00032dcc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032dd0 beqz v0, 0x32f44              |         goto label_42;
                                             |     }
    0x00032dd4 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x00032dd8 move a2, s6                   |     a2 = s6;
    0x00032ddc move a1, s0                   |     a1 = s0;
    0x00032de0 move a0, s4                   |     a0 = s4;
    0x00032de4 jalr t9                       |     t9 ();
    0x00032de8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032dec beqz v0, 0x32f44              |         goto label_42;
                                             |     }
    0x00032df0 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x00032df4 move a2, s5                   |     a2 = s5;
    0x00032df8 move a1, s7                   |     a1 = s7;
    0x00032dfc move a0, s4                   |     a0 = s4;
    0x00032e00 jalr t9                       |     t9 ();
    0x00032e04 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032e08 beqz v0, 0x32f44              |         goto label_42;
                                             |     }
    0x00032e0c lw t9, -0x71f8(gp)            |     t9 = sym.imp.EVP_MD_CTX_new;
    0x00032e10 jalr t9                       |     t9 ();
    0x00032e14 nop                           |     
    0x00032e18 move fp, v0                   |     fp = v0;
    0x00032e1c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032e20 beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00032e24 lw t9, -0x681c(gp)            |     t9 = sym.imp.EVP_DigestInit_ex;
    0x00032e28 lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x00032e2c move a2, zero                 |     a2 = 0;
    0x00032e30 move a0, v0                   |     a0 = v0;
    0x00032e34 jalr t9                       |     t9 ();
    0x00032e38 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032e3c beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00032e40 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x00032e44 move a2, s6                   |     a2 = s6;
    0x00032e48 move a1, s0                   |     a1 = s0;
    0x00032e4c move a0, fp                   |     a0 = fp;
    0x00032e50 jalr t9                       |     t9 ();
    0x00032e54 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032e58 beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00032e5c lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x00032e60 move a2, s5                   |     a2 = s5;
    0x00032e64 move a1, s7                   |     a1 = s7;
    0x00032e68 move a0, fp                   |     a0 = fp;
    0x00032e6c jalr t9                       |     t9 ();
    0x00032e70 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032e74 beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00032e78 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x00032e7c move a2, s6                   |     a2 = s6;
    0x00032e80 move a1, s0                   |     a1 = s0;
    0x00032e84 move a0, fp                   |     a0 = fp;
    0x00032e88 jalr t9                       |     t9 ();
    0x00032e8c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032e90 beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00032e94 lw t9, -0x6f0c(gp)            |     t9 = sym.imp.EVP_DigestFinal_ex;
    0x00032e98 addiu v0, sp, 0x64            |     v0 = sp + 0x64;
    0x00032e9c sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00032ea0 move a2, zero                 |     a2 = 0;
    0x00032ea4 move a1, v0                   |     a1 = v0;
    0x00032ea8 move a0, fp                   |     a0 = fp;
    0x00032eac jalr t9                       |     t9 ();
    0x00032eb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00032eb4 beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00032eb8 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00032ebc sltu v0, v0, s6               |     v0 = (v0 < s6) ? 1 : 0;
    0x00032ec0 sw v0, 0x40(sp)               |     *(var_40h) = v0;
                                             |     if (v0 == 0) {
    0x00032ec4 beqz v0, 0x331a4              |         goto label_43;
                                             |     }
    0x00032ec8 move s5, s6                   |     s5 = s6;
    0x00032ecc b 0x32ee4                     |     
                                             |     while (v0 != 0) {
    0x00032ed0 lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x00032ed4 subu s5, s5, v0               |         __asm ("subu s5, s5, v0");
    0x00032ed8 sltu v0, v0, s5               |         v0 = (v0 < s5) ? 1 : 0;
    0x00032edc lw t9, -0x6e38(gp)            |         t9 = sym.imp.EVP_DigestUpdate;
                                             |         if (v0 == 0) {
    0x00032ee0 beqz v0, 0x33138              |             goto label_44;
                                             |         }
    0x00032ee4 lw t9, -0x6e38(gp)            |         t9 = sym.imp.EVP_DigestUpdate;
    0x00032ee8 lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
    0x00032eec lw a1, 0x3c(sp)               |         a1 = *(var_3ch);
    0x00032ef0 move a0, s4                   |         a0 = s4;
    0x00032ef4 jalr t9                       |         t9 ();
    0x00032ef8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032efc bnez v0, 0x32ed0              |         
                                             |     }
                                             | label_11:
    0x00032f00 move s7, zero                 |     s7 = 0;
                                             | label_16:
    0x00032f04 sw zero, 0x30(sp)             |     *(var_30h_2) = 0;
    0x00032f08 lw s5, -0x7fd4(gp)            |     s5 = *(gp);
    0x00032f0c b 0x32f54                     |     goto label_14;
                                             | label_25:
    0x00032f10 addiu s6, zero, 2             |     s6 = 2;
    0x00032f14 move s7, s6                   |     s7 = s6;
    0x00032f18 b 0x329fc                     |     goto label_3;
                                             | label_37:
    0x00032f1c lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00032f20 lw t9, -0x6834(gp)            |     t9 = sym.imp.BIO_printf;
    0x00032f24 move a2, s2                   |     a2 = s2;
    0x00032f28 lw a0, (v0)                   |     a0 = *(v0);
    0x00032f2c addu s2, s0, s2               |     s2 = s0 + s2;
                                             |     /* str.Warning:_truncating_password_to__u_characters_n */
    0x00032f30 addiu a1, a1, 0x1464          |     a1 += 0x1464;
    0x00032f34 jalr t9                       |     t9 ();
    0x00032f38 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00032f3c sb zero, (s2)                 |     *(s2) = 0;
    0x00032f40 b 0x32b44                     |     goto label_4;
                                             | label_42:
    0x00032f44 lw s5, -0x7fd4(gp)            |     s5 = *(gp);
    0x00032f48 move s7, zero                 |     s7 = 0;
    0x00032f4c sw zero, 0x30(sp)             |     *(var_30h_2) = 0;
    0x00032f50 move fp, zero                 |     fp = 0;
                                             |     do {
                                             | label_14:
    0x00032f54 lw t9, -0x77f4(gp)            |         t9 = sym.imp.EVP_MD_CTX_free;
                                             | label_22:
    0x00032f58 move a0, fp                   |         a0 = fp;
    0x00032f5c jalr t9                       |         t9 ();
    0x00032f60 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032f64 lw t9, -0x77f4(gp)            |         t9 = sym.imp.EVP_MD_CTX_free;
    0x00032f68 move a0, s4                   |         a0 = s4;
    0x00032f6c jalr t9                       |         t9 ();
    0x00032f70 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032f74 lw a0, 0x30(sp)               |         a0 = *(var_30h_2);
    0x00032f78 addiu a2, zero, 0x300         |         a2 = aav.0x00000300;
    0x00032f7c lw t9, -0x6ebc(gp)            |         t9 = sym.imp.CRYPTO_free;
                                             |         /* esilref: '../openssl-1.1.1u/apps/passwd.c' */
    0x00032f80 addiu a1, s5, 0x1430          |         a1 = s5 + 0x1430;
    0x00032f84 jalr t9                       |         t9 ();
    0x00032f88 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032f8c addiu a2, zero, 0x301         |         a2 = 0x301;
                                             |         /* esilref: '../openssl-1.1.1u/apps/passwd.c' */
    0x00032f90 addiu a1, s5, 0x1430          |         a1 = s5 + 0x1430;
    0x00032f94 lw t9, -0x6ebc(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x00032f98 move a0, s7                   |         a0 = s7;
    0x00032f9c jalr t9                       |         t9 ();
    0x00032fa0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032fa4 addiu a2, zero, 0x302         |         a2 = 0x302;
                                             |         /* esilref: '../openssl-1.1.1u/apps/passwd.c' */
    0x00032fa8 addiu a1, s5, 0x1430          |         a1 = s5 + 0x1430;
    0x00032fac lw t9, -0x6ebc(gp)            |         t9 = sym.imp.CRYPTO_free;
    0x00032fb0 move a0, zero                 |         a0 = 0;
    0x00032fb4 jalr t9                       |         t9 ();
    0x00032fb8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032fbc move a2, zero                 |         a2 = 0;
    0x00032fc0 b 0x32ac0                     |         goto label_5;
                                             | label_35:
    0x00032fc4 lw a1, -0x7fd4(gp)            |         a1 = *(gp);
    0x00032fc8 move a3, a2                   |         a3 = a2;
                                             |         /* str._s_t_s_n */
    0x00032fcc addiu a1, a1, 0x14a0          |         a1 += 0x14a0;
    0x00032fd0 move a2, s0                   |         a2 = s0;
    0x00032fd4 move a0, s3                   |         a0 = s3;
    0x00032fd8 jalr t9                       |         t9 ();
    0x00032fdc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00032fe0 lw v0, 0x138(sp)              |         v0 = *(var_138h);
    0x00032fe4 b 0x32af4                     |         goto label_1;
                                             | label_28:
    0x00032fe8 move v0, zero                 |         v0 = 0;
    0x00032fec b 0x32af4                     |         goto label_1;
                                             | label_26:
    0x00032ff0 addiu v0, zero, 6             |         v0 = 6;
    0x00032ff4 addiu s7, zero, 8             |         s7 = 8;
                                             |         if (s4 != v0) {
    0x00032ff8 bne s4, v0, 0x33128           |             goto label_45;
                                             |         }
    0x00032ffc addiu s6, zero, 8             |         s6 = 8;
    0x00033000 b 0x329fc                     |         goto label_3;
                                             | label_33:
    0x00033004 addiu a1, a1, -0x7520         |         a1 += -0x7520;
    0x00033008 b 0x32aa4                     |         goto label_6;
                                             | label_39:
    0x0003300c lw t9, -0x7a48(gp)            |         t9 = sym.imp.EVP_sha256;
    0x00033010 addiu v0, zero, 0x20          |         v0 = 0x20;
    0x00033014 sw v0, 0x2c(sp)               |         *(var_2ch) = v0;
    0x00033018 jalr t9                       |         t9 ();
    0x0003301c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00033020 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x00033024 lw v0, -0x7fd0(gp)            |         v0 = *((gp - 8180));
    0x00033028 addiu v0, v0, -0x58b4         |         v0 += -0x58b4;
    0x0003302c sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x00033030 b 0x32bf8                     |         goto label_7;
                                             | label_27:
    0x00033034 lw t9, -0x7f7c(gp)            |         t9 = sym.app_malloc;
    0x00033038 sw a2, 0x24(sp)               |         *(var_24h) = a2;
    0x0003303c addiu a0, s6, 1               |         a0 = s6 + 1;
                                             |         /* str.salt_buffer */
    0x00033040 addiu a1, a1, 0x1458          |         a1 += 0x1458;
    0x00033044 jalr t9                       |         t9 ();
    0x00033048 lw a2, 0x24(sp)               |         a2 = *(var_24h);
    0x0003304c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00033050 move a0, v0                   |         a0 = v0;
    0x00033054 sw v0, (a2)                   |         *(a2) = v0;
    0x00033058 sw v0, (s5)                   |         *(s5) = v0;
    0x0003305c b 0x32a0c                     |         goto label_8;
                                             | label_40:
    0x00033060 lw t9, -0x7aa8(gp)            |         t9 = sym.imp.OPENSSL_strlcpy;
    0x00033064 lw a1, 0x24(sp)               |         a1 = *(var_24h);
    0x00033068 addiu s5, sp, 0x4c            |         s5 = sp + 0x4c;
    0x0003306c addiu a2, zero, 2             |         a2 = 2;
    0x00033070 move a0, s5                   |         a0 = s5;
    0x00033074 jalr t9                       |         t9 ();
    0x00033078 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003307c addiu s7, sp, 0x50            |         s7 = sp + 0x50;
    0x00033080 move a1, s2                   |         a1 = s2;
    0x00033084 lw t9, -0x7aa8(gp)            |         t9 = sym.imp.OPENSSL_strlcpy;
    0x00033088 addiu a2, zero, 0x11          |         a2 = 0x11;
    0x0003308c move a0, s7                   |         a0 = s7;
    0x00033090 jalr t9                       |         t9 ();
    0x00033094 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00033098 lw t9, -0x716c(gp)            |         t9 = sym.imp.strlen;
    0x0003309c lw s2, -0x7f9c(gp)            |         s2 = *((gp - 8167));
    0x000330a0 lw s4, -0x7fd4(gp)            |         s4 = *(gp);
    0x000330a4 move a0, s7                   |         a0 = s7;
    0x000330a8 jalr t9                       |         t9 ();
    0x000330ac lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000330b0 addiu a1, s4, 0x13ec          |         a1 = s4 + 0x13ec;
    0x000330b4 addiu a2, zero, 0x7c          |         a2 = 0x7c;
    0x000330b8 lw t9, -0x6b50(gp)            |         t9 = sym.imp.OPENSSL_strlcat;
    0x000330bc addiu a0, s2, -0x2420         |         a0 = s2 + -0x2420;
    0x000330c0 sw v0, 0x34(sp)               |         *(var_34h) = v0;
    0x000330c4 sb zero, -0x2420(s2)          |         *((s2 - 9248)) = 0;
    0x000330c8 jalr t9                       |         t9 ();
    0x000330cc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000330d0 addiu a2, zero, 0x7c          |         a2 = 0x7c;
    0x000330d4 move a1, s5                   |         a1 = s5;
    0x000330d8 lw t9, -0x6b50(gp)            |         t9 = sym.imp.OPENSSL_strlcat;
    0x000330dc addiu a0, s2, -0x2420         |         a0 = s2 + -0x2420;
    0x000330e0 jalr t9                       |         t9 ();
    0x000330e4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000330e8 addiu a1, s4, 0x13ec          |         a1 = s4 + 0x13ec;
    0x000330ec addiu a2, zero, 0x7c          |         a2 = 0x7c;
    0x000330f0 lw t9, -0x6b50(gp)            |         t9 = sym.imp.OPENSSL_strlcat;
    0x000330f4 addiu a0, s2, -0x2420         |         a0 = s2 + -0x2420;
    0x000330f8 jalr t9                       |         t9 ();
    0x000330fc addiu v0, zero, 0x1388        |         v0 = 0x1388;
    0x00033100 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00033104 move s4, zero                 |         s4 = 0;
    0x00033108 sw v0, 0x38(sp)               |         *(var_38h_2) = v0;
    0x0003310c b 0x32d64                     |         goto label_9;
                                             | label_41:
    0x00033110 move s7, zero                 |         s7 = 0;
    0x00033114 sw zero, 0x30(sp)             |         *(var_30h_2) = 0;
    0x00033118 move fp, zero                 |         fp = 0;
    0x0003311c move s4, zero                 |         s4 = 0;
    0x00033120 lw s5, -0x7fd4(gp)            |         s5 = *(gp);
    0x00033124 b 0x32f54                     |         
                                             |     } while (1);
                                             | label_45:
    0x00033128 move s6, zero                 |     s6 = 0;
    0x0003312c b 0x329e4                     |     goto label_10;
                                             | label_38:
    0x00033130 move a2, zero                 |     a2 = 0;
    0x00033134 b 0x32ac0                     |     goto label_5;
                                             | label_44:
    0x00033138 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x0003313c move a2, s5                   |     a2 = s5;
    0x00033140 move a0, s4                   |     a0 = s4;
    0x00033144 jalr t9                       |     t9 ();
    0x00033148 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0003314c beqz v0, 0x33194              |         goto label_46;
                                             |     }
                                             | label_15:
    0x00033150 move s5, s6                   |     s5 = s6;
    0x00033154 b 0x3317c                     |     goto label_47;
                                             | label_12:
    0x00033158 move a2, s6                   |     a2 = s6;
                                             | label_13:
    0x0003315c lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x00033160 move a0, s4                   |     a0 = s4;
    0x00033164 jalr t9                       |     t9 ();
    0x00033168 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0003316c beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00033170 srl s5, s5, 1                 |     s5 >>= 1;
    0x00033174 lw t9, -0x6f0c(gp)            |     t9 = sym.imp.EVP_DigestFinal_ex;
                                             |     if (s5 == 0) {
    0x00033178 beqz s5, 0x331c8              |         goto label_48;
                                             |     }
                                             | label_47:
    0x0003317c andi v0, s5, 1                |     v0 = s5 & 1;
                                             |     if (v0 == 0) {
    0x00033180 beql v0, zero, 0x33158        |         goto label_12;
                                             |     }
    0x00033184 move a1, s0                   |     a1 = s0;
    0x00033188 lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
    0x0003318c lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x00033190 b 0x3315c                     |     goto label_13;
                                             | label_46:
    0x00033194 lw s5, -0x7fd4(gp)            |     s5 = *(gp);
    0x00033198 move s7, zero                 |     s7 = 0;
    0x0003319c sw zero, 0x30(sp)             |     *(var_30h_2) = 0;
    0x000331a0 b 0x32f54                     |     goto label_14;
                                             | label_43:
    0x000331a4 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x000331a8 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000331ac move a2, s6                   |     a2 = s6;
    0x000331b0 move a0, s4                   |     a0 = s4;
    0x000331b4 jalr t9                       |     t9 ();
    0x000331b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000331bc beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x000331c0 lw t9, -0x6f0c(gp)            |     t9 = sym.imp.EVP_DigestFinal_ex;
                                             |     if (s6 != 0) {
    0x000331c4 bnez s6, 0x33150              |         goto label_15;
                                             |     }
                                             | label_48:
    0x000331c8 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000331cc move a2, zero                 |     a2 = 0;
    0x000331d0 move a0, s4                   |     a0 = s4;
    0x000331d4 jalr t9                       |     t9 ();
    0x000331d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000331dc beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x000331e0 lw t9, -0x681c(gp)            |     t9 = sym.imp.EVP_DigestInit_ex;
    0x000331e4 lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x000331e8 move a2, zero                 |     a2 = 0;
    0x000331ec move a0, fp                   |     a0 = fp;
    0x000331f0 jalr t9                       |     t9 ();
    0x000331f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000331f8 beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x000331fc move s5, s6                   |     s5 = s6;
                                             |     if (s6 != 0) {
    0x00033200 bnez s6, 0x33218              |         goto label_49;
                                             |     }
    0x00033204 lw t9, -0x6f0c(gp)            |     t9 = sym.imp.EVP_DigestFinal_ex;
    0x00033208 b 0x33248                     |     goto label_50;
                                             |     do {
    0x0003320c addiu s5, s5, -1              |         s5 += -1;
    0x00033210 lw t9, -0x6f0c(gp)            |         t9 = sym.imp.EVP_DigestFinal_ex;
                                             |         if (s5 == 0) {
    0x00033214 beqz s5, 0x33248              |             goto label_50;
                                             |         }
                                             | label_49:
    0x00033218 lw t9, -0x6e38(gp)            |         t9 = sym.imp.EVP_DigestUpdate;
    0x0003321c move a2, s6                   |         a2 = s6;
    0x00033220 move a1, s0                   |         a1 = s0;
    0x00033224 move a0, fp                   |         a0 = fp;
    0x00033228 jalr t9                       |         t9 ();
    0x0003322c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00033230 bnez v0, 0x3320c              |         
                                             |     } while (v0 != 0);
    0x00033234 move s7, zero                 |     s7 = 0;
    0x00033238 b 0x32f04                     |     goto label_16;
                                             | label_36:
    0x0003323c lw t9, -0x7590(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00033240 jalr t9                       |     t9 ();
    0x00033244 nop                           |     
                                             | label_50:
    0x00033248 addiu v0, sp, 0xa4            |     v0 = sp + 0xa4;
    0x0003324c sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00033250 move a2, zero                 |     a2 = 0;
    0x00033254 move a1, v0                   |     a1 = v0;
    0x00033258 move a0, fp                   |     a0 = fp;
    0x0003325c jalr t9                       |     t9 ();
    0x00033260 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00033264 beqz v0, 0x32f00              |         goto label_11;
                                             |     }
    0x00033268 lw s5, -0x7fd4(gp)            |     s5 = *(gp);
    0x0003326c lw t9, -0x74d8(gp)            |     t9 = sym.imp.CRYPTO_zalloc;
    0x00033270 addiu a2, zero, 0x289         |     a2 = 0x289;
                                             |     /* esilref: '../openssl-1.1.1u/apps/passwd.c' */
    0x00033274 addiu a1, s5, 0x1430          |     a1 = s5 + 0x1430;
    0x00033278 move a0, s6                   |     a0 = s6;
    0x0003327c jalr t9                       |     t9 ();
    0x00033280 move a3, v0                   |     a3 = v0;
    0x00033284 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00033288 sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
                                             |     if (v0 == 0) {
    0x0003328c beqz v0, 0x33488              |         goto label_51;
                                             |     }
    0x00033290 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x00033294 move t0, s6                   |     t0 = s6;
                                             |     if (v0 == 0) {
    0x00033298 beqz v0, 0x33480              |         goto label_52;
                                             |     }
    0x0003329c lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
                                             |     do {
    0x000332a0 lw t9, -0x7134(gp)            |         t9 = sym.imp.memcpy;
    0x000332a4 subu t0, t0, v1               |         __asm ("subu t0, t0, v1");
    0x000332a8 lw a1, 0x44(sp)               |         a1 = *(var_44h);
    0x000332ac move a0, a3                   |         a0 = a3;
    0x000332b0 move a2, v1                   |         a2 = v1;
    0x000332b4 sw t0, 0x40(sp)               |         *(var_40h) = t0;
    0x000332b8 jalr t9                       |         t9 ();
    0x000332bc lw v1, 0x2c(sp)               |         v1 = *(var_2ch);
    0x000332c0 lw t0, 0x40(sp)               |         t0 = *(var_40h);
    0x000332c4 move a3, v0                   |         a3 = v0;
    0x000332c8 sltu v0, v1, t0               |         v0 = (v1 < t0) ? 1 : 0;
    0x000332cc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000332d0 addu a3, a3, v1               |         a3 += v1;
    0x000332d4 bnez v0, 0x332a0              |         
                                             |     } while (v0 != 0);
                                             | label_19:
    0x000332d8 lw t9, -0x7134(gp)            |     t9 = sym.imp.memcpy;
    0x000332dc lw a1, 0x44(sp)               |     a1 = *(var_44h);
    0x000332e0 move a2, t0                   |     a2 = t0;
    0x000332e4 move a0, a3                   |     a0 = a3;
    0x000332e8 jalr t9                       |     t9 ();
    0x000332ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000332f0 lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x000332f4 move a2, zero                 |     a2 = 0;
    0x000332f8 lw t9, -0x681c(gp)            |     t9 = sym.imp.EVP_DigestInit_ex;
    0x000332fc move a0, fp                   |     a0 = fp;
    0x00033300 jalr t9                       |     t9 ();
    0x00033304 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00033308 beqz v0, 0x33488              |         goto label_51;
                                             |     }
    0x0003330c lbu v0, 0x64(sp)              |     v0 = *(var_64h_2);
    0x00033310 addiu v0, v0, 0x10            |     v0 += 0x10;
    0x00033314 sw v0, 0x40(sp)               |     *(var_40h) = v0;
                                             |     do {
    0x00033318 lw t9, -0x6e38(gp)            |         t9 = sym.imp.EVP_DigestUpdate;
    0x0003331c lw a2, 0x34(sp)               |         a2 = *(var_34h);
    0x00033320 move a1, s7                   |         a1 = s7;
    0x00033324 move a0, fp                   |         a0 = fp;
    0x00033328 jalr t9                       |         t9 ();
    0x0003332c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00033330 beqz v0, 0x33488              |             goto label_51;
                                             |         }
    0x00033334 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x00033338 addiu v0, v0, -1              |         v0 += -1;
    0x0003333c sw v0, 0x40(sp)               |         *(var_40h) = v0;
    0x00033340 bnez v0, 0x33318              |         
                                             |     } while (v0 != 0);
    0x00033344 lw t9, -0x6f0c(gp)            |     t9 = sym.imp.EVP_DigestFinal_ex;
    0x00033348 lw a1, 0x44(sp)               |     a1 = *(var_44h);
    0x0003334c move a2, zero                 |     a2 = 0;
    0x00033350 move a0, fp                   |     a0 = fp;
    0x00033354 jalr t9                       |     t9 ();
    0x00033358 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0003335c beqz v0, 0x33488              |         goto label_51;
                                             |     }
    0x00033360 lw t9, -0x74d8(gp)            |     t9 = sym.imp.CRYPTO_zalloc;
    0x00033364 lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x00033368 addiu a2, zero, 0x29a         |     a2 = 0x29a;
                                             |     /* esilref: '../openssl-1.1.1u/apps/passwd.c' */
    0x0003336c addiu a1, s5, 0x1430          |     a1 = s5 + 0x1430;
    0x00033370 jalr t9                       |     t9 ();
    0x00033374 move s7, v0                   |     s7 = v0;
    0x00033378 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0003337c beqz v0, 0x32f54              |         goto label_14;
                                             |     }
    0x00033380 lw t9, -0x7134(gp)            |     t9 = sym.imp.memcpy;
    0x00033384 lw a2, 0x34(sp)               |     a2 = *(var_34h);
    0x00033388 lw a1, 0x44(sp)               |     a1 = *(var_44h);
    0x0003338c move a0, v0                   |     a0 = v0;
    0x00033390 jalr t9                       |     t9 ();
    0x00033394 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00033398 b 0x33448                     |     goto label_53;
                                             | label_17:
    0x0003339c lw a1, 0x30(sp)               |     a1 = *(var_30h_2);
    0x000333a0 move a2, s6                   |     a2 = s6;
                                             | label_18:
    0x000333a4 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x000333a8 move a0, fp                   |     a0 = fp;
    0x000333ac jalr t9                       |     t9 ();
    0x000333b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000333b4 beqz v0, 0x32f54              |         goto label_14;
                                             |     }
    0x000333b8 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x000333bc addiu v1, zero, 3             |     v1 = 3;
    0x000333c0 divu zero, v0, v1             |     __asm ("divu zero, v0, v1");
    0x000333c4 teq v1, zero, 7               |     __asm ("teq v1, zero, 7");
    0x000333c8 mfhi v0                       |     __asm ("mfhi v0");
    0x000333cc lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
                                             |     if (v0 != 0) {
    0x000333d0 bnez v0, 0x33a6c              |         goto label_54;
                                             |     }
                                             | label_23:
    0x000333d4 lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x000333d8 addiu v0, zero, 7             |     v0 = 7;
    0x000333dc divu zero, v1, v0             |     __asm ("divu zero, v1, v0");
    0x000333e0 teq v0, zero, 7               |     __asm ("teq v0, zero, 7");
    0x000333e4 mfhi v0                       |     __asm ("mfhi v0");
    0x000333e8 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
                                             |     if (v0 != 0) {
    0x000333ec bnez v0, 0x33a4c              |         goto label_55;
                                             |     }
                                             | label_21:
    0x000333f0 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x000333f4 lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
                                             |     if (v0 != 0) {
    0x000333f8 bnez v0, 0x33490              |         goto label_56;
                                             |     }
    0x000333fc lw a1, 0x30(sp)               |     a1 = *(var_30h_2);
    0x00033400 move a2, s6                   |     a2 = s6;
                                             | label_20:
    0x00033404 lw t9, -0x6e38(gp)            |     t9 = sym.imp.EVP_DigestUpdate;
    0x00033408 move a0, fp                   |     a0 = fp;
    0x0003340c jalr t9                       |     t9 ();
    0x00033410 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00033414 beqz v0, 0x32f54              |         goto label_14;
                                             |     }
    0x00033418 lw t9, -0x6f0c(gp)            |     t9 = sym.imp.EVP_DigestFinal_ex;
    0x0003341c lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x00033420 move a2, zero                 |     a2 = 0;
    0x00033424 move a0, fp                   |     a0 = fp;
    0x00033428 jalr t9                       |     t9 ();
    0x0003342c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00033430 beqz v0, 0x32f54              |         goto label_14;
                                             |     }
    0x00033434 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x00033438 lw v1, 0x38(sp)               |     v1 = *(var_38h_2);
    0x0003343c addiu v0, v0, 1               |     v0++;
    0x00033440 sw v0, 0x40(sp)               |     *(var_40h) = v0;
                                             |     if (v0 == v1) {
    0x00033444 beq v0, v1, 0x33498           |         goto label_57;
                                             |     }
                                             | label_53:
    0x00033448 lw t9, -0x681c(gp)            |     t9 = sym.imp.EVP_DigestInit_ex;
    0x0003344c lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x00033450 move a2, zero                 |     a2 = 0;
    0x00033454 move a0, fp                   |     a0 = fp;
    0x00033458 jalr t9                       |     t9 ();
    0x0003345c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00033460 beqz v0, 0x32f54              |         goto label_14;
                                             |     }
    0x00033464 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x00033468 andi v0, v0, 1                |     v0 &= 1;
    0x0003346c sw v0, 0x44(sp)               |     *(var_44h) = v0;
                                             |     if (v0 != 0) {
    0x00033470 bnez v0, 0x3339c              |         goto label_17;
                                             |     }
    0x00033474 lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
    0x00033478 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x0003347c b 0x333a4                     |     goto label_18;
                                             | label_52:
    0x00033480 lw a3, 0x30(sp)               |     a3 = *(var_30h_2);
    0x00033484 b 0x332d8                     |     goto label_19;
                                             | label_51:
    0x00033488 move s7, zero                 |     s7 = 0;
    0x0003348c b 0x32f54                     |     goto label_14;
                                             | label_56:
    0x00033490 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x00033494 b 0x33404                     |     goto label_20;
                                             | label_57:
    0x00033498 lw t9, -0x77f4(gp)            |     t9 = sym.imp.EVP_MD_CTX_free;
    0x0003349c move a0, fp                   |     a0 = fp;
    0x000334a0 jalr t9                       |     t9 ();
    0x000334a4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000334a8 lw t9, -0x77f4(gp)            |     t9 = sym.imp.EVP_MD_CTX_free;
    0x000334ac move a0, s4                   |     a0 = s4;
    0x000334b0 jalr t9                       |     t9 ();
    0x000334b4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000334b8 lw a0, 0x30(sp)               |     a0 = *(var_30h_2);
    0x000334bc addiu a2, zero, 0x2ba         |     a2 = 0x2ba;
    0x000334c0 lw t9, -0x6ebc(gp)            |     t9 = sym.imp.CRYPTO_free;
                                             |     /* esilref: '../openssl-1.1.1u/apps/passwd.c' */
    0x000334c4 addiu a1, s5, 0x1430          |     a1 = s5 + 0x1430;
    0x000334c8 jalr t9                       |     t9 ();
    0x000334cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000334d0 addiu a2, zero, 0x2bb         |     a2 = 0x2bb;
                                             |     /* esilref: '../openssl-1.1.1u/apps/passwd.c' */
    0x000334d4 addiu a1, s5, 0x1430          |     a1 = s5 + 0x1430;
    0x000334d8 lw t9, -0x6ebc(gp)            |     t9 = sym.imp.CRYPTO_free;
    0x000334dc move a0, s7                   |     a0 = s7;
    0x000334e0 jalr t9                       |     t9 ();
    0x000334e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000334e8 lw t9, -0x716c(gp)            |     t9 = sym.imp.strlen;
    0x000334ec addiu a0, s2, -0x2420         |     a0 = s2 + -0x2420;
    0x000334f0 jalr t9                       |     t9 ();
    0x000334f4 lw v1, 0x24(sp)               |     v1 = *(var_24h);
    0x000334f8 addiu a2, s2, -0x2420         |     a2 = s2 + -0x2420;
    0x000334fc addu v0, a2, v0               |     v0 = a2 + v0;
    0x00033500 lb a0, (v1)                   |     a0 = *(v1);
    0x00033504 addiu a3, zero, 0x24          |     a3 = 0x24;
    0x00033508 addiu a1, zero, 0x35          |     a1 = 0x35;
    0x0003350c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00033510 addiu v1, v0, 1               |     v1 = v0 + 1;
    0x00033514 sb a3, (v0)                   |     *(v0) = a3;
                                             |     if (a0 == a1) {
    0x00033518 beq a0, a1, 0x33a9c           |         goto label_58;
                                             |     }
    0x0003351c addiu a1, zero, 0x36          |     a1 = 0x36;
    0x00033520 move s7, zero                 |     s7 = 0;
                                             |     if (a0 == a1) {
    0x00033524 bnel a0, a1, 0x33a8c          |         goto label_59;
                                             |     }
    0x00033528 lbu a0, 0x64(sp)              |     a0 = *(var_64h_2);
    0x0003352c lbu a3, 0x79(sp)              |     a3 = *(var_79h);
    0x00033530 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033534 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033538 lbu t0, 0x8e(sp)              |     t0 = *(var_8eh);
    0x0003353c lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00033540 or a0, a0, a3                 |     a0 |= a3;
    0x00033544 or a0, a0, t0                 |     a0 |= t0;
    0x00033548 addiu a3, v0, 5               |     a3 = v0 + 5;
                                             |     /* str.._0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.._openssl_1.1.1u_apps_passwd.c */
    0x0003354c addiu a1, a1, 0x13f0          |     a1 += 0x13f0;
                                             |     do {
    0x00033550 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033554 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033558 addiu v1, v1, 1               |         v1++;
    0x0003355c lbu t0, (t0)                  |         t0 = *(t0);
    0x00033560 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033564 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033568 bne v1, a3, 0x33550           |         
                                             |     } while (v1 != a3);
    0x0003356c lbu a0, 0x7a(sp)              |     a0 = *(var_7ah);
    0x00033570 lbu a3, 0x8f(sp)              |     a3 = *(var_8fh);
    0x00033574 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033578 sll a3, a3, 8                 |     a3 <<= 8;
    0x0003357c lbu t0, 0x65(sp)              |     t0 = *(var_65h);
    0x00033580 or a0, a0, a3                 |     a0 |= a3;
    0x00033584 or a0, a0, t0                 |     a0 |= t0;
    0x00033588 addiu a3, v0, 9               |     a3 = v0 + 9;
                                             |     do {
    0x0003358c andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033590 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033594 addiu v1, v1, 1               |         v1++;
    0x00033598 lbu t0, (t0)                  |         t0 = *(t0);
    0x0003359c srl a0, a0, 6                 |         a0 >>= 6;
    0x000335a0 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x000335a4 bne v1, a3, 0x3358c           |         
                                             |     } while (v1 != a3);
    0x000335a8 lbu a0, 0x90(sp)              |     a0 = *(var_90h);
    0x000335ac lbu a3, 0x66(sp)              |     a3 = *(var_66h);
    0x000335b0 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000335b4 sll a3, a3, 8                 |     a3 <<= 8;
    0x000335b8 lbu t0, 0x7b(sp)              |     t0 = *(var_7bh);
    0x000335bc or a0, a0, a3                 |     a0 |= a3;
    0x000335c0 or a0, a0, t0                 |     a0 |= t0;
    0x000335c4 addiu a3, v0, 0xd             |     a3 = v0 + 0xd;
                                             |     do {
    0x000335c8 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x000335cc addu t0, a1, t0               |         t0 = a1 + t0;
    0x000335d0 addiu v1, v1, 1               |         v1++;
    0x000335d4 lbu t0, (t0)                  |         t0 = *(t0);
    0x000335d8 srl a0, a0, 6                 |         a0 >>= 6;
    0x000335dc sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x000335e0 bne v1, a3, 0x335c8           |         
                                             |     } while (v1 != a3);
    0x000335e4 lbu a0, 0x67(sp)              |     a0 = *(var_67h);
    0x000335e8 lbu a3, 0x7c(sp)              |     a3 = *(var_7ch_2);
    0x000335ec sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000335f0 sll a3, a3, 8                 |     a3 <<= 8;
    0x000335f4 lbu t0, 0x91(sp)              |     t0 = *(var_91h);
    0x000335f8 or a0, a0, a3                 |     a0 |= a3;
    0x000335fc or a0, a0, t0                 |     a0 |= t0;
    0x00033600 addiu a3, v0, 0x11            |     a3 = v0 + 0x11;
                                             |     do {
    0x00033604 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033608 addu t0, a1, t0               |         t0 = a1 + t0;
    0x0003360c addiu v1, v1, 1               |         v1++;
    0x00033610 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033614 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033618 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x0003361c bne v1, a3, 0x33604           |         
                                             |     } while (v1 != a3);
    0x00033620 lbu a0, 0x7d(sp)              |     a0 = *(var_7dh);
    0x00033624 lbu a3, 0x92(sp)              |     a3 = *(var_92h);
    0x00033628 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x0003362c sll a3, a3, 8                 |     a3 <<= 8;
    0x00033630 lbu t0, 0x68(sp)              |     t0 = *(var_68h_2);
    0x00033634 or a0, a0, a3                 |     a0 |= a3;
    0x00033638 or a0, a0, t0                 |     a0 |= t0;
    0x0003363c addiu a3, v0, 0x15            |     a3 = v0 + 0x15;
                                             |     do {
    0x00033640 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033644 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033648 addiu v1, v1, 1               |         v1++;
    0x0003364c lbu t0, (t0)                  |         t0 = *(t0);
    0x00033650 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033654 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033658 bne v1, a3, 0x33640           |         
                                             |     } while (v1 != a3);
    0x0003365c lbu a0, 0x93(sp)              |     a0 = *(var_93h);
    0x00033660 lbu a3, 0x69(sp)              |     a3 = *(var_69h);
    0x00033664 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033668 sll a3, a3, 8                 |     a3 <<= 8;
    0x0003366c lbu t0, 0x7e(sp)              |     t0 = *(var_7eh);
    0x00033670 or a0, a0, a3                 |     a0 |= a3;
    0x00033674 or a0, a0, t0                 |     a0 |= t0;
    0x00033678 addiu a3, v0, 0x19            |     a3 = v0 + 0x19;
                                             |     do {
    0x0003367c andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033680 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033684 addiu v1, v1, 1               |         v1++;
    0x00033688 lbu t0, (t0)                  |         t0 = *(t0);
    0x0003368c srl a0, a0, 6                 |         a0 >>= 6;
    0x00033690 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033694 bne v1, a3, 0x3367c           |         
                                             |     } while (v1 != a3);
    0x00033698 lbu a0, 0x6a(sp)              |     a0 = *(var_6ah);
    0x0003369c lbu a3, 0x7f(sp)              |     a3 = *(var_7fh);
    0x000336a0 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000336a4 sll a3, a3, 8                 |     a3 <<= 8;
    0x000336a8 lbu t0, 0x94(sp)              |     t0 = *(var_94h);
    0x000336ac or a0, a0, a3                 |     a0 |= a3;
    0x000336b0 or a0, a0, t0                 |     a0 |= t0;
    0x000336b4 addiu a3, v0, 0x1d            |     a3 = v0 + 0x1d;
                                             |     do {
    0x000336b8 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x000336bc addu t0, a1, t0               |         t0 = a1 + t0;
    0x000336c0 addiu v1, v1, 1               |         v1++;
    0x000336c4 lbu t0, (t0)                  |         t0 = *(t0);
    0x000336c8 srl a0, a0, 6                 |         a0 >>= 6;
    0x000336cc sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x000336d0 bne v1, a3, 0x336b8           |         
                                             |     } while (v1 != a3);
    0x000336d4 lbu a0, 0x80(sp)              |     a0 = *(var_80h_2);
    0x000336d8 lbu a3, 0x95(sp)              |     a3 = *(var_95h);
    0x000336dc sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000336e0 sll a3, a3, 8                 |     a3 <<= 8;
    0x000336e4 lbu t0, 0x6b(sp)              |     t0 = *(var_6bh);
    0x000336e8 or a0, a0, a3                 |     a0 |= a3;
    0x000336ec or a0, a0, t0                 |     a0 |= t0;
    0x000336f0 addiu a3, v0, 0x21            |     a3 = v0 + 0x21;
                                             |     do {
    0x000336f4 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x000336f8 addu t0, a1, t0               |         t0 = a1 + t0;
    0x000336fc addiu v1, v1, 1               |         v1++;
    0x00033700 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033704 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033708 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x0003370c bne v1, a3, 0x336f4           |         
                                             |     } while (v1 != a3);
    0x00033710 lbu a0, 0x96(sp)              |     a0 = *(var_96h);
    0x00033714 lbu a3, 0x6c(sp)              |     a3 = *(var_6ch_2);
    0x00033718 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x0003371c sll a3, a3, 8                 |     a3 <<= 8;
    0x00033720 lbu t0, 0x81(sp)              |     t0 = *(var_81h);
    0x00033724 or a0, a0, a3                 |     a0 |= a3;
    0x00033728 or a0, a0, t0                 |     a0 |= t0;
    0x0003372c addiu a3, v0, 0x25            |     a3 = v0 + 0x25;
                                             |     do {
    0x00033730 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033734 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033738 addiu v1, v1, 1               |         v1++;
    0x0003373c lbu t0, (t0)                  |         t0 = *(t0);
    0x00033740 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033744 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033748 bne v1, a3, 0x33730           |         
                                             |     } while (v1 != a3);
    0x0003374c lbu a0, 0x6d(sp)              |     a0 = *(var_6dh);
    0x00033750 lbu a3, 0x82(sp)              |     a3 = *(var_82h);
    0x00033754 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033758 sll a3, a3, 8                 |     a3 <<= 8;
    0x0003375c lbu t0, 0x97(sp)              |     t0 = *(var_97h);
    0x00033760 or a0, a0, a3                 |     a0 |= a3;
    0x00033764 or a0, a0, t0                 |     a0 |= t0;
    0x00033768 addiu a3, v0, 0x29            |     a3 = v0 + 0x29;
                                             |     do {
    0x0003376c andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033770 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033774 addiu v1, v1, 1               |         v1++;
    0x00033778 lbu t0, (t0)                  |         t0 = *(t0);
    0x0003377c srl a0, a0, 6                 |         a0 >>= 6;
    0x00033780 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033784 bne v1, a3, 0x3376c           |         
                                             |     } while (v1 != a3);
    0x00033788 lbu a0, 0x83(sp)              |     a0 = *(var_83h);
    0x0003378c lbu a3, 0x98(sp)              |     a3 = *(var_98h);
    0x00033790 lbu t0, 0x6e(sp)              |     t0 = *(var_6eh);
    0x00033794 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033798 sll a3, a3, 8                 |     a3 <<= 8;
    0x0003379c or a0, a0, a3                 |     a0 |= a3;
    0x000337a0 or a0, a0, t0                 |     a0 |= t0;
    0x000337a4 addiu t0, v0, 0x2d            |     t0 = v0 + 0x2d;
                                             |     do {
    0x000337a8 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x000337ac addu a3, a1, a3               |         a3 = a1 + a3;
    0x000337b0 addiu v1, v1, 1               |         v1++;
    0x000337b4 lbu a3, (a3)                  |         a3 = *(a3);
    0x000337b8 srl a0, a0, 6                 |         a0 >>= 6;
    0x000337bc sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x000337c0 bne v1, t0, 0x337a8           |         
                                             |     } while (v1 != t0);
    0x000337c4 lbu a0, 0x99(sp)              |     a0 = *(var_99h);
    0x000337c8 lbu a3, 0x6f(sp)              |     a3 = *(var_6fh);
    0x000337cc lbu t0, 0x84(sp)              |     t0 = *(var_84h_2);
    0x000337d0 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000337d4 sll a3, a3, 8                 |     a3 <<= 8;
    0x000337d8 or a0, a0, a3                 |     a0 |= a3;
    0x000337dc or a0, a0, t0                 |     a0 |= t0;
    0x000337e0 addiu t0, v0, 0x31            |     t0 = v0 + 0x31;
                                             |     do {
    0x000337e4 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x000337e8 addu a3, a1, a3               |         a3 = a1 + a3;
    0x000337ec addiu v1, v1, 1               |         v1++;
    0x000337f0 lbu a3, (a3)                  |         a3 = *(a3);
    0x000337f4 srl a0, a0, 6                 |         a0 >>= 6;
    0x000337f8 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x000337fc bne v1, t0, 0x337e4           |         
                                             |     } while (v1 != t0);
    0x00033800 lbu a0, 0x70(sp)              |     a0 = *(var_70h_2);
    0x00033804 lbu a3, 0x85(sp)              |     a3 = *(var_85h);
    0x00033808 lbu t0, 0x9a(sp)              |     t0 = *(var_9ah);
    0x0003380c sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033810 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033814 or a0, a0, a3                 |     a0 |= a3;
    0x00033818 or a0, a0, t0                 |     a0 |= t0;
    0x0003381c addiu t0, v0, 0x35            |     t0 = v0 + 0x35;
                                             |     do {
    0x00033820 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x00033824 addu a3, a1, a3               |         a3 = a1 + a3;
    0x00033828 addiu v1, v1, 1               |         v1++;
    0x0003382c lbu a3, (a3)                  |         a3 = *(a3);
    0x00033830 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033834 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x00033838 bne v1, t0, 0x33820           |         
                                             |     } while (v1 != t0);
    0x0003383c lbu a0, 0x86(sp)              |     a0 = *(var_86h);
    0x00033840 lbu a3, 0x9b(sp)              |     a3 = *(var_9bh);
    0x00033844 lbu t0, 0x71(sp)              |     t0 = *(var_71h);
    0x00033848 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x0003384c sll a3, a3, 8                 |     a3 <<= 8;
    0x00033850 or a0, a0, a3                 |     a0 |= a3;
    0x00033854 or a0, a0, t0                 |     a0 |= t0;
    0x00033858 addiu t0, v0, 0x39            |     t0 = v0 + 0x39;
                                             |     do {
    0x0003385c andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x00033860 addu a3, a1, a3               |         a3 = a1 + a3;
    0x00033864 addiu v1, v1, 1               |         v1++;
    0x00033868 lbu a3, (a3)                  |         a3 = *(a3);
    0x0003386c srl a0, a0, 6                 |         a0 >>= 6;
    0x00033870 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x00033874 bne v1, t0, 0x3385c           |         
                                             |     } while (v1 != t0);
    0x00033878 lbu a0, 0x9c(sp)              |     a0 = *(var_9ch);
    0x0003387c lbu a3, 0x72(sp)              |     a3 = *(var_72h);
    0x00033880 lbu t0, 0x87(sp)              |     t0 = *(var_87h);
    0x00033884 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033888 sll a3, a3, 8                 |     a3 <<= 8;
    0x0003388c or a0, a0, a3                 |     a0 |= a3;
    0x00033890 or a0, a0, t0                 |     a0 |= t0;
    0x00033894 addiu t0, v0, 0x3d            |     t0 = v0 + 0x3d;
                                             |     do {
    0x00033898 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x0003389c addu a3, a1, a3               |         a3 = a1 + a3;
    0x000338a0 addiu v1, v1, 1               |         v1++;
    0x000338a4 lbu a3, (a3)                  |         a3 = *(a3);
    0x000338a8 srl a0, a0, 6                 |         a0 >>= 6;
    0x000338ac sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x000338b0 bne v1, t0, 0x33898           |         
                                             |     } while (v1 != t0);
    0x000338b4 lbu a0, 0x73(sp)              |     a0 = *(var_73h);
    0x000338b8 lbu a3, 0x88(sp)              |     a3 = *(var_88h_2);
    0x000338bc lbu t0, 0x9d(sp)              |     t0 = *(var_9dh);
    0x000338c0 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000338c4 sll a3, a3, 8                 |     a3 <<= 8;
    0x000338c8 or a0, a0, a3                 |     a0 |= a3;
    0x000338cc or a0, a0, t0                 |     a0 |= t0;
    0x000338d0 addiu t0, v0, 0x41            |     t0 = v0 + 0x41;
                                             |     do {
    0x000338d4 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x000338d8 addu a3, a1, a3               |         a3 = a1 + a3;
    0x000338dc addiu v1, v1, 1               |         v1++;
    0x000338e0 lbu a3, (a3)                  |         a3 = *(a3);
    0x000338e4 srl a0, a0, 6                 |         a0 >>= 6;
    0x000338e8 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x000338ec bne v1, t0, 0x338d4           |         
                                             |     } while (v1 != t0);
    0x000338f0 lbu a0, 0x89(sp)              |     a0 = *(var_89h);
    0x000338f4 lbu a3, 0x9e(sp)              |     a3 = *(var_9eh);
    0x000338f8 lbu t0, 0x74(sp)              |     t0 = *(var_74h_2);
    0x000338fc sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033900 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033904 or a0, a0, a3                 |     a0 |= a3;
    0x00033908 or a0, a0, t0                 |     a0 |= t0;
    0x0003390c addiu t0, v0, 0x45            |     t0 = v0 + 0x45;
                                             |     do {
    0x00033910 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x00033914 addu a3, a1, a3               |         a3 = a1 + a3;
    0x00033918 addiu v1, v1, 1               |         v1++;
    0x0003391c lbu a3, (a3)                  |         a3 = *(a3);
    0x00033920 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033924 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x00033928 bne v1, t0, 0x33910           |         
                                             |     } while (v1 != t0);
    0x0003392c lbu a0, 0x9f(sp)              |     a0 = *(var_9fh);
    0x00033930 lbu a3, 0x75(sp)              |     a3 = *(var_75h);
    0x00033934 lbu t0, 0x8a(sp)              |     t0 = *(var_8ah);
    0x00033938 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x0003393c sll a3, a3, 8                 |     a3 <<= 8;
    0x00033940 or a0, a0, a3                 |     a0 |= a3;
    0x00033944 or a0, a0, t0                 |     a0 |= t0;
    0x00033948 addiu t0, v0, 0x49            |     t0 = v0 + 0x49;
                                             |     do {
    0x0003394c andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x00033950 addu a3, a1, a3               |         a3 = a1 + a3;
    0x00033954 addiu v1, v1, 1               |         v1++;
    0x00033958 lbu a3, (a3)                  |         a3 = *(a3);
    0x0003395c srl a0, a0, 6                 |         a0 >>= 6;
    0x00033960 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x00033964 bne v1, t0, 0x3394c           |         
                                             |     } while (v1 != t0);
    0x00033968 lbu a0, 0x76(sp)              |     a0 = *(var_76h);
    0x0003396c lbu a3, 0x8b(sp)              |     a3 = *(var_8bh);
    0x00033970 lbu t0, 0xa0(sp)              |     t0 = *(var_a0h);
    0x00033974 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033978 sll a3, a3, 8                 |     a3 <<= 8;
    0x0003397c or a0, a0, a3                 |     a0 |= a3;
    0x00033980 or a0, a0, t0                 |     a0 |= t0;
    0x00033984 addiu t0, v0, 0x4d            |     t0 = v0 + 0x4d;
                                             |     do {
    0x00033988 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x0003398c addu a3, a1, a3               |         a3 = a1 + a3;
    0x00033990 addiu v1, v1, 1               |         v1++;
    0x00033994 lbu a3, (a3)                  |         a3 = *(a3);
    0x00033998 srl a0, a0, 6                 |         a0 >>= 6;
    0x0003399c sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x000339a0 bne v1, t0, 0x33988           |         
                                             |     } while (v1 != t0);
    0x000339a4 lbu a0, 0x8c(sp)              |     a0 = *(var_8ch_2);
    0x000339a8 lbu a3, 0xa1(sp)              |     a3 = *(var_a1h);
    0x000339ac lbu t0, 0x77(sp)              |     t0 = *(var_77h);
    0x000339b0 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000339b4 sll a3, a3, 8                 |     a3 <<= 8;
    0x000339b8 or a0, a0, a3                 |     a0 |= a3;
    0x000339bc or a0, a0, t0                 |     a0 |= t0;
    0x000339c0 addiu t0, v0, 0x51            |     t0 = v0 + 0x51;
                                             |     do {
    0x000339c4 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x000339c8 addu a3, a1, a3               |         a3 = a1 + a3;
    0x000339cc addiu v1, v1, 1               |         v1++;
    0x000339d0 lbu a3, (a3)                  |         a3 = *(a3);
    0x000339d4 srl a0, a0, 6                 |         a0 >>= 6;
    0x000339d8 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x000339dc bne v1, t0, 0x339c4           |         
                                             |     } while (v1 != t0);
    0x000339e0 lbu a0, 0xa2(sp)              |     a0 = *(var_a2h);
    0x000339e4 lbu a3, 0x78(sp)              |     a3 = *(var_78h_2);
    0x000339e8 lbu t0, 0x8d(sp)              |     t0 = *(var_8dh);
    0x000339ec sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x000339f0 sll a3, a3, 8                 |     a3 <<= 8;
    0x000339f4 or a0, a0, a3                 |     a0 |= a3;
    0x000339f8 or a0, a0, t0                 |     a0 |= t0;
    0x000339fc addiu t0, v0, 0x55            |     t0 = v0 + 0x55;
                                             |     do {
    0x00033a00 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x00033a04 addu a3, a1, a3               |         a3 = a1 + a3;
    0x00033a08 addiu v1, v1, 1               |         v1++;
    0x00033a0c lbu a3, (a3)                  |         a3 = *(a3);
    0x00033a10 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033a14 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x00033a18 bne v1, t0, 0x33a00           |         
                                             |     } while (v1 != t0);
    0x00033a1c lbu a0, 0xa3(sp)              |     a0 = *(var_a3h);
    0x00033a20 addiu v1, v0, 0x57            |     v1 = v0 + 0x57;
    0x00033a24 andi a3, a0, 0x3f             |     a3 = a0 & 0x3f;
    0x00033a28 srl a0, a0, 6                 |     a0 >>= 6;
    0x00033a2c addu a3, a1, a3               |     a3 = a1 + a3;
    0x00033a30 addu a1, a1, a0               |     a1 += a0;
    0x00033a34 lbu a3, (a3)                  |     a3 = *(a3);
    0x00033a38 lbu a0, (a1)                  |     a0 = *(a1);
    0x00033a3c sb a3, 0x55(v0)               |     *((v0 + 85)) = a3;
    0x00033a40 sb a0, 0x56(v0)               |     *((v0 + 86)) = a0;
    0x00033a44 sb zero, (v1)                 |     *(v1) = 0;
    0x00033a48 b 0x32ac0                     |     goto label_5;
                                             | label_55:
    0x00033a4c lw a1, 0x30(sp)               |     a1 = *(var_30h_2);
    0x00033a50 move a2, s6                   |     a2 = s6;
    0x00033a54 move a0, fp                   |     a0 = fp;
    0x00033a58 jalr t9                       |     t9 ();
    0x00033a5c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00033a60 bnez v0, 0x333f0              |         goto label_21;
                                             |     }
    0x00033a64 lw t9, -0x77f4(gp)            |     t9 = sym.imp.EVP_MD_CTX_free;
    0x00033a68 b 0x32f58                     |     goto label_22;
                                             | label_54:
    0x00033a6c lw a2, 0x34(sp)               |     a2 = *(var_34h);
    0x00033a70 move a1, s7                   |     a1 = s7;
    0x00033a74 move a0, fp                   |     a0 = fp;
    0x00033a78 jalr t9                       |     t9 ();
    0x00033a7c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00033a80 bnez v0, 0x333d4              |         goto label_23;
                                             |     }
    0x00033a84 lw t9, -0x77f4(gp)            |     t9 = sym.imp.EVP_MD_CTX_free;
    0x00033a88 b 0x32f58                     |     goto label_22;
                                             | label_59:
    0x00033a8c sw zero, 0x30(sp)             |     *(var_30h_2) = 0;
    0x00033a90 move fp, zero                 |     fp = 0;
    0x00033a94 move s4, zero                 |     s4 = 0;
    0x00033a98 b 0x32f54                     |     goto label_14;
                                             | label_58:
    0x00033a9c lbu a0, 0x64(sp)              |     a0 = *(var_64h_2);
    0x00033aa0 lbu a3, 0x6e(sp)              |     a3 = *(var_6eh);
    0x00033aa4 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033aa8 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033aac lbu t0, 0x78(sp)              |     t0 = *(var_78h_2);
    0x00033ab0 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00033ab4 or a0, a0, a3                 |     a0 |= a3;
    0x00033ab8 or a0, a0, t0                 |     a0 |= t0;
    0x00033abc addiu a3, v0, 5               |     a3 = v0 + 5;
                                             |     /* str.._0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.._openssl_1.1.1u_apps_passwd.c */
    0x00033ac0 addiu a1, a1, 0x13f0          |     a1 += 0x13f0;
                                             |     do {
    0x00033ac4 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033ac8 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033acc addiu v1, v1, 1               |         v1++;
    0x00033ad0 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033ad4 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033ad8 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033adc bne v1, a3, 0x33ac4           |         
                                             |     } while (v1 != a3);
    0x00033ae0 lbu a0, 0x79(sp)              |     a0 = *(var_79h);
    0x00033ae4 lbu a3, 0x65(sp)              |     a3 = *(var_65h);
    0x00033ae8 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033aec sll a3, a3, 8                 |     a3 <<= 8;
    0x00033af0 lbu t0, 0x6f(sp)              |     t0 = *(var_6fh);
    0x00033af4 or a0, a0, a3                 |     a0 |= a3;
    0x00033af8 or a0, a0, t0                 |     a0 |= t0;
    0x00033afc addiu a3, v0, 9               |     a3 = v0 + 9;
                                             |     do {
    0x00033b00 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033b04 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033b08 addiu v1, v1, 1               |         v1++;
    0x00033b0c lbu t0, (t0)                  |         t0 = *(t0);
    0x00033b10 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033b14 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033b18 bne v1, a3, 0x33b00           |         
                                             |     } while (v1 != a3);
    0x00033b1c lbu a0, 0x70(sp)              |     a0 = *(var_70h_2);
    0x00033b20 lbu a3, 0x7a(sp)              |     a3 = *(var_7ah);
    0x00033b24 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033b28 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033b2c lbu t0, 0x66(sp)              |     t0 = *(var_66h);
    0x00033b30 or a0, a0, a3                 |     a0 |= a3;
    0x00033b34 or a0, a0, t0                 |     a0 |= t0;
    0x00033b38 addiu a3, v0, 0xd             |     a3 = v0 + 0xd;
                                             |     do {
    0x00033b3c andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033b40 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033b44 addiu v1, v1, 1               |         v1++;
    0x00033b48 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033b4c srl a0, a0, 6                 |         a0 >>= 6;
    0x00033b50 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033b54 bne v1, a3, 0x33b3c           |         
                                             |     } while (v1 != a3);
    0x00033b58 lbu a0, 0x67(sp)              |     a0 = *(var_67h);
    0x00033b5c lbu a3, 0x71(sp)              |     a3 = *(var_71h);
    0x00033b60 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033b64 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033b68 lbu t0, 0x7b(sp)              |     t0 = *(var_7bh);
    0x00033b6c or a0, a0, a3                 |     a0 |= a3;
    0x00033b70 or a0, a0, t0                 |     a0 |= t0;
    0x00033b74 addiu a3, v0, 0x11            |     a3 = v0 + 0x11;
                                             |     do {
    0x00033b78 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033b7c addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033b80 addiu v1, v1, 1               |         v1++;
    0x00033b84 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033b88 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033b8c sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033b90 bne v1, a3, 0x33b78           |         
                                             |     } while (v1 != a3);
    0x00033b94 lbu a0, 0x7c(sp)              |     a0 = *(var_7ch_2);
    0x00033b98 lbu a3, 0x68(sp)              |     a3 = *(var_68h_2);
    0x00033b9c sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033ba0 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033ba4 lbu t0, 0x72(sp)              |     t0 = *(var_72h);
    0x00033ba8 or a0, a0, a3                 |     a0 |= a3;
    0x00033bac or a0, a0, t0                 |     a0 |= t0;
    0x00033bb0 addiu a3, v0, 0x15            |     a3 = v0 + 0x15;
                                             |     do {
    0x00033bb4 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033bb8 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033bbc addiu v1, v1, 1               |         v1++;
    0x00033bc0 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033bc4 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033bc8 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033bcc bne v1, a3, 0x33bb4           |         
                                             |     } while (v1 != a3);
    0x00033bd0 lbu a0, 0x73(sp)              |     a0 = *(var_73h);
    0x00033bd4 lbu a3, 0x7d(sp)              |     a3 = *(var_7dh);
    0x00033bd8 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033bdc sll a3, a3, 8                 |     a3 <<= 8;
    0x00033be0 lbu t0, 0x69(sp)              |     t0 = *(var_69h);
    0x00033be4 or a0, a0, a3                 |     a0 |= a3;
    0x00033be8 or a0, a0, t0                 |     a0 |= t0;
    0x00033bec addiu a3, v0, 0x19            |     a3 = v0 + 0x19;
                                             |     do {
    0x00033bf0 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033bf4 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033bf8 addiu v1, v1, 1               |         v1++;
    0x00033bfc lbu t0, (t0)                  |         t0 = *(t0);
    0x00033c00 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033c04 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033c08 bne v1, a3, 0x33bf0           |         
                                             |     } while (v1 != a3);
    0x00033c0c lbu a0, 0x6a(sp)              |     a0 = *(var_6ah);
    0x00033c10 lbu a3, 0x74(sp)              |     a3 = *(var_74h_2);
    0x00033c14 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033c18 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033c1c lbu t0, 0x7e(sp)              |     t0 = *(var_7eh);
    0x00033c20 or a0, a0, a3                 |     a0 |= a3;
    0x00033c24 or a0, a0, t0                 |     a0 |= t0;
    0x00033c28 addiu a3, v0, 0x1d            |     a3 = v0 + 0x1d;
                                             |     do {
    0x00033c2c andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033c30 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033c34 addiu v1, v1, 1               |         v1++;
    0x00033c38 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033c3c srl a0, a0, 6                 |         a0 >>= 6;
    0x00033c40 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033c44 bne v1, a3, 0x33c2c           |         
                                             |     } while (v1 != a3);
    0x00033c48 lbu a0, 0x7f(sp)              |     a0 = *(var_7fh);
    0x00033c4c lbu a3, 0x6b(sp)              |     a3 = *(var_6bh);
    0x00033c50 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033c54 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033c58 lbu t0, 0x75(sp)              |     t0 = *(var_75h);
    0x00033c5c or a0, a0, a3                 |     a0 |= a3;
    0x00033c60 or a0, a0, t0                 |     a0 |= t0;
    0x00033c64 addiu a3, v0, 0x21            |     a3 = v0 + 0x21;
                                             |     do {
    0x00033c68 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033c6c addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033c70 addiu v1, v1, 1               |         v1++;
    0x00033c74 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033c78 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033c7c sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033c80 bne v1, a3, 0x33c68           |         
                                             |     } while (v1 != a3);
    0x00033c84 lbu a0, 0x76(sp)              |     a0 = *(var_76h);
    0x00033c88 lbu a3, 0x80(sp)              |     a3 = *(var_80h_2);
    0x00033c8c sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033c90 sll a3, a3, 8                 |     a3 <<= 8;
    0x00033c94 lbu t0, 0x6c(sp)              |     t0 = *(var_6ch_2);
    0x00033c98 or a0, a0, a3                 |     a0 |= a3;
    0x00033c9c or a0, a0, t0                 |     a0 |= t0;
    0x00033ca0 addiu a3, v0, 0x25            |     a3 = v0 + 0x25;
                                             |     do {
    0x00033ca4 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033ca8 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033cac addiu v1, v1, 1               |         v1++;
    0x00033cb0 lbu t0, (t0)                  |         t0 = *(t0);
    0x00033cb4 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033cb8 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033cbc bne v1, a3, 0x33ca4           |         
                                             |     } while (v1 != a3);
    0x00033cc0 lbu a0, 0x6d(sp)              |     a0 = *(var_6dh);
    0x00033cc4 lbu a3, 0x77(sp)              |     a3 = *(var_77h);
    0x00033cc8 sll a0, a0, 0x10              |     a0 <<= 0x10;
    0x00033ccc sll a3, a3, 8                 |     a3 <<= 8;
    0x00033cd0 lbu t0, 0x81(sp)              |     t0 = *(var_81h);
    0x00033cd4 or a0, a0, a3                 |     a0 |= a3;
    0x00033cd8 or a0, a0, t0                 |     a0 |= t0;
    0x00033cdc addiu a3, v0, 0x29            |     a3 = v0 + 0x29;
                                             |     do {
    0x00033ce0 andi t0, a0, 0x3f             |         t0 = a0 & 0x3f;
    0x00033ce4 addu t0, a1, t0               |         t0 = a1 + t0;
    0x00033ce8 addiu v1, v1, 1               |         v1++;
    0x00033cec lbu t0, (t0)                  |         t0 = *(t0);
    0x00033cf0 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033cf4 sb t0, -1(v1)                 |         *((v1 - 1)) = t0;
    0x00033cf8 bne v1, a3, 0x33ce0           |         
                                             |     } while (v1 != a3);
    0x00033cfc lhu a0, 0x82(sp)              |     a0 = *(var_82h);
    0x00033d00 addiu v0, v0, 0x2c            |     v0 += 0x2c;
                                             |     do {
    0x00033d04 andi a3, a0, 0x3f             |         a3 = a0 & 0x3f;
    0x00033d08 addu a3, a1, a3               |         a3 = a1 + a3;
    0x00033d0c addiu v1, v1, 1               |         v1++;
    0x00033d10 lbu a3, (a3)                  |         a3 = *(a3);
    0x00033d14 srl a0, a0, 6                 |         a0 >>= 6;
    0x00033d18 sb a3, -1(v1)                 |         *((v1 - 1)) = a3;
    0x00033d1c bne v1, v0, 0x33d04           |         
                                             |     } while (v1 != v0);
    0x00033d20 sb zero, (v1)                 |     *(v1) = 0;
    0x00033d24 b 0x32ac0                     |     goto label_5;
                                             | }

[*] Function sprintf used 2 times openssl