[*] 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