[*] Binary protection state of openssl
No RELRO No Canary found NX disabled No PIE RPATH No RUNPATH No Symbols
[*] Function printf tear down of openssl
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x40fb24 */
| #include <stdint.h>
|
; (fcn) fcn.0040fb24 () | void fcn_0040fb24 () {
0x0040fb24 lui gp, 9 |
0x0040fb28 addiu gp, gp, -0x3684 |
0x0040fb2c addu gp, gp, t9 | gp += t9;
0x0040fb30 addiu sp, sp, -0x68 |
0x0040fb34 sw ra, 0x64(sp) | *(var_64h) = ra;
0x0040fb38 sw fp, 0x60(sp) | *(var_60h) = fp;
0x0040fb3c sw s7, 0x5c(sp) | *(var_5ch) = s7;
0x0040fb40 sw s6, 0x58(sp) | *(var_58h) = s6;
0x0040fb44 sw s5, 0x54(sp) | *(var_54h) = s5;
0x0040fb48 sw s4, 0x50(sp) | *(var_50h) = s4;
0x0040fb4c sw s3, 0x4c(sp) | *(var_4ch) = s3;
0x0040fb50 sw s2, 0x48(sp) | *(var_48h) = s2;
0x0040fb54 sw s1, 0x44(sp) | *(var_44h) = s1;
0x0040fb58 sw s0, 0x40(sp) | *(var_40h) = s0;
0x0040fb5c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0040fb60 move s0, a1 | s0 = a1;
| if (a1 <= 0) {
0x0040fb64 blez a1, 0x40fbdc | goto label_12;
| }
0x0040fb68 lw t8, (a2) | t8 = *(a2);
0x0040fb6c move s1, a2 | s1 = a2;
| if (t8 == 0) {
0x0040fb70 beqz t8, 0x40fbdc | goto label_12;
| }
0x0040fb74 lw t9, -0x7b84(gp) | t9 = sym.imp.lh_retrieve;
0x0040fb78 addiu s2, sp, 0x20 | s2 = sp + 0x20;
0x0040fb7c move a1, s2 | a1 = s2;
0x0040fb80 sw t8, 0x24(sp) | *(var_24h) = t8;
0x0040fb84 move s3, a0 | s3 = a0;
0x0040fb88 jalr t9 | t9 ();
0x0040fb8c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fb90 beqz v0, 0x40fc14 | goto label_13;
| }
0x0040fb94 lw t9, 8(v0) | t9 = *((v0 + 2));
| do {
| label_0:
0x0040fb98 move a0, s0 | a0 = s0;
0x0040fb9c move a1, s1 | a1 = s1;
0x0040fba0 jalr t9 | t9 ();
0x0040fba4 move s0, v0 | s0 = v0;
| label_4:
0x0040fba8 move v0, s0 | v0 = s0;
| label_2:
0x0040fbac lw ra, 0x64(sp) | ra = *(var_64h);
0x0040fbb0 lw fp, 0x60(sp) | fp = *(var_60h);
0x0040fbb4 lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x0040fbb8 lw s6, 0x58(sp) | s6 = *(var_58h);
0x0040fbbc lw s5, 0x54(sp) | s5 = *(var_54h);
0x0040fbc0 lw s4, 0x50(sp) | s4 = *(var_50h);
0x0040fbc4 lw s3, 0x4c(sp) | s3 = *(var_4ch);
0x0040fbc8 lw s2, 0x48(sp) | s2 = *(var_48h);
0x0040fbcc lw s1, 0x44(sp) | s1 = *(var_44h);
0x0040fbd0 lw s0, 0x40(sp) | s0 = *(var_40h);
0x0040fbd4 addiu sp, sp, 0x68 |
0x0040fbd8 jr ra | return v0;
| label_12:
0x0040fbdc move s0, zero | s0 = 0;
0x0040fbe0 move v0, s0 | v0 = s0;
0x0040fbe4 lw ra, 0x64(sp) | ra = *(var_64h);
0x0040fbe8 lw fp, 0x60(sp) | fp = *(var_60h);
0x0040fbec lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x0040fbf0 lw s6, 0x58(sp) | s6 = *(var_58h);
0x0040fbf4 lw s5, 0x54(sp) | s5 = *(var_54h);
0x0040fbf8 lw s4, 0x50(sp) | s4 = *(var_50h);
0x0040fbfc lw s3, 0x4c(sp) | s3 = *(var_4ch);
0x0040fc00 lw s2, 0x48(sp) | s2 = *(var_48h);
0x0040fc04 lw s1, 0x44(sp) | s1 = *(var_44h);
0x0040fc08 lw s0, 0x40(sp) | s0 = *(var_40h);
0x0040fc0c addiu sp, sp, 0x68 |
0x0040fc10 jr ra | return v0;
| label_13:
0x0040fc14 lw t9, -0x7974(gp) | t9 = sym.imp.EVP_get_digestbyname;
0x0040fc18 lw a0, (s1) | a0 = *(s1);
0x0040fc1c jalr t9 | t9 ();
0x0040fc20 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fc24 beqz v0, 0x40fc3c | goto label_14;
| }
0x0040fc28 lw t9, -0x7e68(gp) | t9 = sym.dgst_main;
0x0040fc2c addiu t8, zero, 2 | t8 = 2;
0x0040fc30 sw t8, 0x20(sp) | *(var_20h) = t8;
0x0040fc34 sw t9, 0x28(sp) | *(var_28h) = t9;
0x0040fc38 b 0x40fb98 |
| } while (1);
| label_14:
0x0040fc3c lw t9, -0x7054(gp) | t9 = sym.imp.EVP_get_cipherbyname;
0x0040fc40 lw a0, (s1) | a0 = *(s1);
0x0040fc44 jalr t9 | t9 ();
0x0040fc48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0040fc4c beqz v0, 0x40fc64 |
0x0040fc50 lw t9, -0x7e64(gp) | t9 = sym.enc_main;
0x0040fc54 addiu t8, zero, 3 | t8 = 3;
0x0040fc58 sw t8, 0x20(sp) | *(var_20h) = t8;
0x0040fc5c sw t9, 0x28(sp) | *(var_28h) = t9;
0x0040fc60 b 0x40fb98 | goto label_0;
| }
0x0040fc64 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fc68 addiu a2, zero, 3 | a2 = 3;
0x0040fc6c lw s0, (s1) | s0 = *(s1);
0x0040fc70 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
| /* esilref: 'no-' */
0x0040fc74 addiu a1, a1, -0x3800 | a1 += -0x3800;
0x0040fc78 move a0, s0 | a0 = s0;
0x0040fc7c jalr t9 | t9 ();
0x0040fc80 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fc84 beqz v0, 0x40fecc | goto label_15;
| }
0x0040fc88 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fc8c move a0, s0 | a0 = s0;
0x0040fc90 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.quit */
0x0040fc94 addiu a1, a1, -0x39dc | a1 += -0x39dc;
0x0040fc98 jalr t9 | t9 ();
0x0040fc9c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fca0 beqz v0, 0x40ff6c | goto label_16;
| }
0x0040fca4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fca8 move a0, s0 | a0 = s0;
0x0040fcac lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x0040fcb0 addiu a1, a1, -0x39d4 | a1 += -0x39d4;
0x0040fcb4 jalr t9 | t9 ();
0x0040fcb8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fcbc beqz v0, 0x40ff6c | goto label_16;
| }
0x0040fcc0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fcc4 move a0, s0 | a0 = s0;
0x0040fcc8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.exit */
0x0040fccc addiu a1, a1, -0x39d0 | a1 += -0x39d0;
0x0040fcd0 jalr t9 | t9 ();
0x0040fcd4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fcd8 beqz v0, 0x40ff6c | goto label_16;
| }
0x0040fcdc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fce0 move a0, s0 | a0 = s0;
0x0040fce4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'bye' */
0x0040fce8 addiu a1, a1, -0x39c8 | a1 += -0x39c8;
0x0040fcec jalr t9 | t9 ();
0x0040fcf0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fcf4 beqz v0, 0x40ff6c | goto label_16;
| }
0x0040fcf8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fcfc move a0, s0 | a0 = s0;
0x0040fd00 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_standard_commands */
0x0040fd04 addiu a1, a1, -0x39c4 | a1 += -0x39c4;
0x0040fd08 jalr t9 | t9 ();
0x0040fd0c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fd10 beqz v0, 0x40fe88 | goto label_17;
| }
0x0040fd14 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fd18 move a0, s0 | a0 = s0;
0x0040fd1c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_message_digest_commands */
0x0040fd20 addiu a1, a1, -0x39ac | a1 += -0x39ac;
0x0040fd24 jalr t9 | t9 ();
0x0040fd28 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fd2c beqz v0, 0x40ff40 | goto label_18;
| }
0x0040fd30 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fd34 move a0, s0 | a0 = s0;
0x0040fd38 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_message_digest_algorithms */
0x0040fd3c addiu a1, a1, -0x398c | a1 += -0x398c;
0x0040fd40 jalr t9 | t9 ();
0x0040fd44 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0040fd48 bnez v0, 0x40ff74 | goto label_19;
| }
0x0040fd4c lw t8, -0x77b0(gp) | t8 = *((gp - 7660));
0x0040fd50 move a1, zero | a1 = 0;
0x0040fd54 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x0040fd58 lw a0, (t8) | a0 = *(t8);
0x0040fd5c jalr t9 | t9 ();
0x0040fd60 move a1, zero | a1 = 0;
0x0040fd64 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040fd68 move s2, v0 | s2 = v0;
0x0040fd6c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0040fd70 lw t9, -0x7fc4(gp) | t9 = sym.load_config;
0x0040fd74 lw a0, (t8) | a0 = *(t8);
0x0040fd78 jalr t9 | t9 ();
0x0040fd7c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fd80 beqz v0, 0x40fec4 | goto label_7;
| }
0x0040fd84 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x0040fd88 move a1, s2 | a1 = s2;
0x0040fd8c lw t9, -0x7390(gp) | t9 = sym.imp.EVP_MD_do_all_sorted;
0x0040fd90 addiu s1, zero, 5 | s1 = 5;
0x0040fd94 addiu a0, a0, 0x330 | a0 += 0x330;
0x0040fd98 jalr t9 | t9 ();
0x0040fd9c lw gp, 0x18(sp) | gp = *(var_18h);
| label_3:
0x0040fda0 lw s0, -0x7e60(gp) | s0 = *(gp);
0x0040fda4 lw a2, 4(s0) | a2 = *((s0 + 1));
0x0040fda8 lw s3, -0x7fd8(gp) | s3 = *(gp);
| if (a2 == 0) {
0x0040fdac beqz a2, 0x40fe70 | goto label_20;
| }
| /* esilref: '&s
' */
0x0040fdb0 addiu s3, s3, 0x1fb4 | s3 += 0x1fb4;
0x0040fdb4 b 0x40fdc4 |
| while (t8 != s1) {
| label_1:
0x0040fdb8 lw a2, 4(s0) | a2 = *((s0 + 1));
0x0040fdbc lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
| if (a2 == 0) {
0x0040fdc0 beqz a2, 0x40fe74 | goto label_21;
| }
0x0040fdc4 lw t8, (s0) | t8 = *(s0);
0x0040fdc8 addiu s0, s0, 0xc | s0 += 0xc;
0x0040fdcc bne t8, s1, 0x40fdb8 |
| }
0x0040fdd0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0040fdd4 move a0, s2 | a0 = s2;
0x0040fdd8 move a1, s3 | a1 = s3;
0x0040fddc jalr t9 | t9 ();
0x0040fde0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040fde4 b 0x40fdb8 | goto label_1;
| label_6:
0x0040fde8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fdec move a0, s0 | a0 = s0;
0x0040fdf0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_public_key_algorithms */
0x0040fdf4 addiu a1, a1, -0x393c | a1 += -0x393c;
0x0040fdf8 jalr t9 | t9 ();
0x0040fdfc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fe00 beqz v0, 0x40ffc8 | goto label_22;
| }
0x0040fe04 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040fe08 move a0, s0 | a0 = s0;
0x0040fe0c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_cipher_algorithms */
0x0040fe10 addiu a1, a1, -0x3954 | a1 += -0x3954;
0x0040fe14 jalr t9 | t9 ();
0x0040fe18 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0040fe1c bnez v0, 0x410188 | goto label_23;
| }
0x0040fe20 lw t8, -0x77b0(gp) | t8 = *((gp - 7660));
0x0040fe24 move a1, zero | a1 = 0;
0x0040fe28 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x0040fe2c lw a0, (t8) | a0 = *(t8);
0x0040fe30 jalr t9 | t9 ();
0x0040fe34 move a1, zero | a1 = 0;
0x0040fe38 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040fe3c move s2, v0 | s2 = v0;
0x0040fe40 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0040fe44 lw t9, -0x7fc4(gp) | t9 = sym.load_config;
0x0040fe48 lw a0, (t8) | a0 = *(t8);
0x0040fe4c jalr t9 | t9 ();
0x0040fe50 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fe54 beqz v0, 0x40fec4 | goto label_7;
| }
0x0040fe58 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x0040fe5c move a1, s2 | a1 = s2;
0x0040fe60 lw t9, -0x7b7c(gp) | t9 = sym.imp.EVP_CIPHER_do_all_sorted;
0x0040fe64 addiu a0, a0, 0x3e8 | a0 += 0x3e8;
0x0040fe68 jalr t9 | t9 ();
0x0040fe6c lw gp, 0x18(sp) | gp = *(var_18h);
| label_20:
0x0040fe70 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
| label_21:
0x0040fe74 move a0, s2 | a0 = s2;
0x0040fe78 move s0, zero | s0 = 0;
0x0040fe7c jalr t9 | t9 ();
0x0040fe80 move v0, s0 | v0 = s0;
0x0040fe84 b 0x40fbac | goto label_2;
| label_17:
0x0040fe88 addiu s1, zero, 1 | s1 = 1;
| label_5:
0x0040fe8c lw t8, -0x77b0(gp) | t8 = *((gp - 7660));
0x0040fe90 move a1, zero | a1 = 0;
0x0040fe94 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x0040fe98 lw a0, (t8) | a0 = *(t8);
0x0040fe9c jalr t9 | t9 ();
0x0040fea0 move a1, zero | a1 = 0;
0x0040fea4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040fea8 move s2, v0 | s2 = v0;
0x0040feac lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0040feb0 lw t9, -0x7fc4(gp) | t9 = sym.load_config;
0x0040feb4 lw a0, (t8) | a0 = *(t8);
0x0040feb8 jalr t9 | t9 ();
0x0040febc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0040fec0 bnez v0, 0x40fda0 | goto label_3;
| }
| label_7:
0x0040fec4 addiu s0, zero, 1 | s0 = 1;
0x0040fec8 b 0x40fba8 | goto label_4;
| label_15:
0x0040fecc lw t8, -0x77b0(gp) | t8 = *((gp - 7660));
0x0040fed0 move a1, zero | a1 = 0;
0x0040fed4 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x0040fed8 lw a0, (t8) | a0 = *(t8);
0x0040fedc jalr t9 | t9 ();
0x0040fee0 move a1, s2 | a1 = s2;
0x0040fee4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040fee8 move a0, s3 | a0 = s3;
0x0040feec lw t8, (s1) | t8 = *(s1);
0x0040fef0 move s2, v0 | s2 = v0;
0x0040fef4 lw t9, -0x7b84(gp) | t9 = sym.imp.lh_retrieve;
0x0040fef8 addiu t8, t8, 3 | t8 += 3;
0x0040fefc sw t8, 0x24(sp) | *(var_24h) = t8;
0x0040ff00 jalr t9 | t9 ();
0x0040ff04 sltu s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x0040ff08 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s0 != 0) {
0x0040ff0c bnez s0, 0x40ff48 | goto label_24;
| }
0x0040ff10 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040ff14 move a0, s2 | a0 = s2;
0x0040ff18 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0040ff1c lw a2, (s1) | a2 = *(s1);
| /* esilref: '&s
' */
0x0040ff20 addiu a1, a1, 0x1fb4 | a1 += 0x1fb4;
0x0040ff24 jalr t9 | t9 ();
0x0040ff28 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x0040ff2c lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
0x0040ff30 move a0, s2 | a0 = s2;
0x0040ff34 jalr t9 | t9 ();
0x0040ff38 move v0, s0 | v0 = s0;
0x0040ff3c b 0x40fbac | goto label_2;
| label_18:
0x0040ff40 addiu s1, zero, 2 | s1 = 2;
0x0040ff44 b 0x40fe8c | goto label_5;
| label_24:
0x0040ff48 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040ff4c move a0, s2 | a0 = s2;
0x0040ff50 lw a2, (s1) | a2 = *(s1);
0x0040ff54 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* esilref: '&s
' */
0x0040ff58 addiu a1, a1, 0x1fb4 | a1 += 0x1fb4;
0x0040ff5c addiu a2, a2, 3 | a2 += 3;
0x0040ff60 jalr t9 | t9 ();
0x0040ff64 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040ff68 b 0x40ff2c |
| } while (1);
| label_16:
0x0040ff6c addiu s0, zero, -1 | s0 = -1;
0x0040ff70 b 0x40fba8 | goto label_4;
| label_19:
0x0040ff74 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040ff78 move a0, s0 | a0 = s0;
0x0040ff7c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_cipher_commands */
0x0040ff80 addiu a1, a1, -0x396c | a1 += -0x396c;
0x0040ff84 jalr t9 | t9 ();
0x0040ff88 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040ff8c beqz v0, 0x40fde8 | goto label_6;
| }
0x0040ff90 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040ff94 move a0, s0 | a0 = s0;
0x0040ff98 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_cipher_algorithms */
0x0040ff9c addiu a1, a1, -0x3954 | a1 += -0x3954;
0x0040ffa0 jalr t9 | t9 ();
0x0040ffa4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040ffa8 beqz v0, 0x40fde8 | goto label_6;
| }
0x0040ffac lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040ffb0 move a0, s0 | a0 = s0;
0x0040ffb4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.list_public_key_algorithms */
0x0040ffb8 addiu a1, a1, -0x393c | a1 += -0x393c;
0x0040ffbc jalr t9 | t9 ();
0x0040ffc0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0040ffc4 bnez v0, 0x410190 | goto label_25;
| }
| label_22:
0x0040ffc8 lw t8, -0x77b0(gp) | t8 = *((gp - 7660));
0x0040ffcc move a1, zero | a1 = 0;
0x0040ffd0 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x0040ffd4 lw a0, (t8) | a0 = *(t8);
0x0040ffd8 jalr t9 | t9 ();
0x0040ffdc move a1, zero | a1 = 0;
0x0040ffe0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040ffe4 move s2, v0 | s2 = v0;
0x0040ffe8 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0040ffec lw t9, -0x7fc4(gp) | t9 = sym.load_config;
0x0040fff0 lw a0, (t8) | a0 = *(t8);
0x0040fff4 jalr t9 | t9 ();
0x0040fff8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040fffc beqz v0, 0x40fec4 | goto label_7;
| }
0x00410000 lw s1, -0x7fd8(gp) | s1 = *(gp);
0x00410004 move s0, zero | s0 = 0;
0x00410008 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041000c lw s6, -0x7fd8(gp) | s6 = *(gp);
| /* str.Name:__s_n */
0x00410010 addiu s1, s1, -0x3920 | s1 += -0x3920;
0x00410014 lw s5, -0x7fd8(gp) | s5 = *(gp);
| /* str._tOID:__s_n */
0x00410018 addiu s4, s4, -0x38e8 | s4 += -0x38e8;
0x0041001c lw s3, -0x7fd8(gp) | s3 = *(gp);
| /* str._none_ */
0x00410020 addiu s6, s6, -0x39e4 | s6 += -0x39e4;
| do {
| label_8:
0x00410024 lw t9, -0x7220(gp) | t9 = sym.imp.EVP_PKEY_asn1_get_count;
0x00410028 jalr t9 | t9 ();
0x0041002c nop |
0x00410030 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00410034 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00410038 beqz v0, 0x410174 | goto label_26;
| }
0x0041003c lw t9, -0x6ef8(gp) | t9 = sym.imp.EVP_PKEY_asn1_get0;
0x00410040 move a0, s0 | a0 = s0;
0x00410044 jalr t9 | t9 ();
0x00410048 addiu t8, sp, 0x2c | t8 = sp + 0x2c;
0x0041004c lw gp, 0x18(sp) | gp = *(var_18h);
0x00410050 addiu a0, sp, 0x3c | a0 = sp + 0x3c;
0x00410054 sw t8, 0x10(sp) | *(var_10h) = t8;
0x00410058 addiu a1, sp, 0x38 | a1 = sp + 0x38;
0x0041005c lw t9, -0x7964(gp) | t9 = sym.imp.EVP_PKEY_asn1_get0_info;
0x00410060 addiu a2, sp, 0x34 | a2 = sp + 0x34;
0x00410064 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00410068 addiu a3, sp, 0x30 | a3 = sp + 0x30;
0x0041006c jalr t9 | t9 ();
0x00410070 lw t8, 0x34(sp) | t8 = *(var_34h);
0x00410074 andi t8, t8, 1 | t8 &= 1;
0x00410078 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 == 0) {
0x0041007c beqz t8, 0x4100dc | goto label_27;
| }
0x00410080 lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x00410084 addiu s0, s0, 1 | s0++;
0x00410088 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x0041008c jalr t9 | t9 ();
0x00410090 move a1, s1 | a1 = s1;
0x00410094 lw gp, 0x18(sp) | gp = *(var_18h);
0x00410098 move a2, v0 | a2 = v0;
0x0041009c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004100a0 move a0, s2 | a0 = s2;
0x004100a4 jalr t9 | t9 ();
0x004100a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x004100ac lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x004100b0 lw a0, 0x38(sp) | a0 = *(var_38h);
0x004100b4 jalr t9 | t9 ();
0x004100b8 move a0, s2 | a0 = s2;
0x004100bc lw gp, 0x18(sp) | gp = *(var_18h);
0x004100c0 move a2, v0 | a2 = v0;
0x004100c4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004100c8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._tType:_Alias_to__s_n */
0x004100cc addiu a1, a1, -0x3914 | a1 += -0x3914;
0x004100d0 jalr t9 | t9 ();
0x004100d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004100d8 b 0x410024 |
| } while (1);
| label_27:
0x004100dc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004100e0 move a0, s2 | a0 = s2;
0x004100e4 lw a2, 0x30(sp) | a2 = *(var_30h);
0x004100e8 move a1, s1 | a1 = s1;
0x004100ec jalr t9 | t9 ();
0x004100f0 lw t8, 0x34(sp) | t8 = *(var_34h);
0x004100f4 andi t8, t8, 2 | t8 &= 2;
0x004100f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 == 0) {
0x004100fc beqz t8, 0x410168 | goto label_28;
| }
0x00410100 lw a2, -0x7fd8(gp) | a2 = *(gp);
| /* str.External */
0x00410104 addiu a2, a2, -0x39f8 | a2 += -0x39f8;
| do {
0x00410108 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._tType:__s_Algorithm_n */
0x0041010c addiu a1, s5, -0x3900 | a1 = s5 + -0x3900;
0x00410110 move a0, s2 | a0 = s2;
0x00410114 jalr t9 | t9 ();
0x00410118 lw gp, 0x18(sp) | gp = *(var_18h);
0x0041011c lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x00410120 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x00410124 jalr t9 | t9 ();
0x00410128 move a0, s2 | a0 = s2;
0x0041012c lw gp, 0x18(sp) | gp = *(var_18h);
0x00410130 move a2, v0 | a2 = v0;
0x00410134 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00410138 move a1, s4 | a1 = s4;
0x0041013c jalr t9 | t9 ();
0x00410140 lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x00410144 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a2 == 0) {
0x00410148 beqz a2, 0x41017c | goto label_29;
| }
| label_9:
0x0041014c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00410150 move a0, s2 | a0 = s2;
| /* str._tPEM_string:__s_n */
0x00410154 addiu a1, s3, -0x38dc | a1 = s3 + -0x38dc;
0x00410158 addiu s0, s0, 1 | s0++;
0x0041015c jalr t9 | t9 ();
0x00410160 lw gp, 0x18(sp) | gp = *(var_18h);
0x00410164 b 0x410024 | goto label_8;
| label_28:
0x00410168 lw a2, -0x7fd8(gp) | a2 = *(gp);
| /* str.Builtin */
0x0041016c addiu a2, a2, -0x39ec | a2 += -0x39ec;
0x00410170 b 0x410108 |
| } while (1);
| label_26:
0x00410174 addiu s1, zero, 4 | s1 = 4;
0x00410178 b 0x40fda0 | goto label_3;
| label_29:
0x0041017c sw s6, 0x2c(sp) | *(var_2ch) = s6;
0x00410180 move a2, s6 | a2 = s6;
0x00410184 b 0x41014c | goto label_9;
| label_23:
0x00410188 addiu s1, zero, 3 | s1 = 3;
0x0041018c b 0x40fe8c | goto label_5;
| label_25:
0x00410190 lw s3, -0x7fd4(gp) | s3 = *(gp);
0x00410194 move a2, s0 | a2 = s0;
0x00410198 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041019c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004101a0 lw a0, (s3) | a0 = *(s3);
| /* str.openssl:Error:__s_is_an_invalid_command._n */
0x004101a4 addiu a1, a1, -0x38c8 | a1 += -0x38c8;
0x004101a8 jalr t9 | t9 ();
0x004101ac lw gp, 0x18(sp) | gp = *(var_18h);
0x004101b0 lw a0, (s3) | a0 = *(s3);
0x004101b4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004101b8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._nStandard_commands */
0x004101bc addiu a1, a1, -0x389c | a1 += -0x389c;
0x004101c0 jalr t9 | t9 ();
0x004101c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004101c8 lw s0, -0x7e60(gp) | s0 = *(gp);
0x004101cc lw t8, 4(s0) | t8 = *((s0 + 1));
0x004101d0 lw s5, -0x7fd8(gp) | s5 = *(gp);
| if (t8 == 0) {
0x004101d4 beqz t8, 0x4102a4 | goto label_30;
| }
0x004101d8 move s1, zero | s1 = 0;
0x004101dc lw s6, -0x7fd8(gp) | s6 = *(gp);
0x004101e0 move t8, zero | t8 = 0;
0x004101e4 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x004101e8 addiu s5, s5, 0x609c | s5 += 0x609c;
0x004101ec lw s7, -0x7fd8(gp) | s7 = *(gp);
| /* str._nCipher_commands__see_the__enc_command_for_more_details__n */
0x004101f0 addiu s6, s6, -0x3844 | s6 += -0x3844;
0x004101f4 b 0x410254 |
| while (t8 != v0) {
0x004101f8 lw fp, (s0) | fp = *(s0);
0x004101fc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (fp != s1) {
0x00410200 beq fp, s1, 0x41022c |
0x00410204 move a1, s5 | a1 = s5;
0x00410208 lw a0, (s3) | a0 = *(s3);
0x0041020c move s1, fp | s1 = fp;
0x00410210 jalr t9 | t9 ();
0x00410214 lw gp, 0x18(sp) | gp = *(var_18h);
| label_11:
0x00410218 addiu t8, zero, 2 | t8 = 2;
0x0041021c addiu t8, zero, 3 | t8 = 3;
| if (s1 == t8) {
0x00410220 beq s1, t8, 0x4102c4 | goto label_31;
| }
0x00410224 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (s1 == t8) {
0x00410228 beq s1, t8, 0x4102e0 | goto label_32;
| }
| }
| label_10:
0x0041022c lw a2, 4(s0) | a2 = *((s0 + 1));
| /* str.__15s */
0x00410230 addiu a1, s4, -0x3808 | a1 = s4 + -0x3808;
0x00410234 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00410238 addiu s0, s0, 0xc | s0 += 0xc;
0x0041023c lw a0, (s3) | a0 = *(s3);
0x00410240 jalr t9 | t9 ();
0x00410244 lw t8, 4(s0) | t8 = *((s0 + 1));
0x00410248 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 == 0) {
0x0041024c beqz t8, 0x4102a4 | goto label_30;
| }
0x00410250 move t8, s2 | t8 = s2;
0x00410254 lui v1, 0x6666 | v1 = 0x66660000;
0x00410258 sra v0, t8, 0x1f | v0 = t8 >> 0x1f;
0x0041025c addiu v1, v1, 0x6667 | v1 += 0x6667;
0x00410260 mult t8, v1 | __asm ("mult t8, v1");
0x00410264 mfhi v1 | __asm ("mfhi v1");
0x00410268 sra v1, v1, 1 | v1 >>= 1;
0x0041026c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00410270 sll v1, v0, 2 | v1 = v0 << 2;
0x00410274 addu v0, v1, v0 | v0 = v1 + v0;
0x00410278 addiu s2, t8, 1 | s2 = t8 + 1;
0x0041027c bne t8, v0, 0x4101f8 |
| }
0x00410280 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00410284 move a1, s5 | a1 = s5;
0x00410288 lw a0, (s3) | a0 = *(s3);
0x0041028c jalr t9 | t9 ();
0x00410290 lw t8, (s0) | t8 = *(s0);
0x00410294 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 == s1) {
0x00410298 beq t8, s1, 0x41022c | goto label_10;
| }
0x0041029c move s1, t8 | s1 = t8;
0x004102a0 b 0x410218 | goto label_11;
| label_30:
0x004102a4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004102a8 move s0, zero | s0 = 0;
0x004102ac lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004102b0 lw a0, (s3) | a0 = *(s3);
| /* esilref: '
' */
0x004102b4 addiu a1, a1, 0x3410 | a1 += 0x3410;
0x004102b8 jalr t9 | t9 ();
0x004102bc move v0, s0 | v0 = s0;
0x004102c0 b 0x40fbac | goto label_2;
| label_31:
0x004102c4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._nMessage_Digest_commands__see_the__dgst_command_for_more_details__n */
0x004102c8 addiu a1, s7, -0x3888 | a1 = s7 + -0x3888;
0x004102cc lw a0, (s3) | a0 = *(s3);
0x004102d0 addiu s2, zero, 1 | s2 = 1;
0x004102d4 jalr t9 | t9 ();
0x004102d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x004102dc b 0x41022c | goto label_10;
| label_32:
0x004102e0 move a1, s6 | a1 = s6;
0x004102e4 lw a0, (s3) | a0 = *(s3);
0x004102e8 addiu s2, zero, 1 | s2 = 1;
0x004102ec jalr t9 | t9 ();
0x004102f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x004102f4 b 0x41022c | goto label_10;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x446aa0 */
| #include <stdint.h>
|
; (fcn) fcn.00446aa0 () | void fcn_00446aa0 () {
0x00446aa0 lui gp, 5 |
0x00446aa4 addiu gp, gp, 0x5a00 |
0x00446aa8 addu gp, gp, t9 | gp += t9;
0x00446aac addiu sp, sp, -0x430 |
0x00446ab0 sw ra, 0x42c(sp) | *(var_42ch) = ra;
0x00446ab4 sw s4, 0x428(sp) | *(var_428h) = s4;
0x00446ab8 sw s3, 0x424(sp) | *(var_424h) = s3;
0x00446abc sw s2, 0x420(sp) | *(var_420h) = s2;
0x00446ac0 sw s1, 0x41c(sp) | *(var_41ch) = s1;
0x00446ac4 sw s0, 0x418(sp) | *(var_418h) = s0;
0x00446ac8 move s2, a2 | s2 = a2;
0x00446acc sw gp, 0x10(sp) | *(var_10h) = gp;
0x00446ad0 move s4, a0 | s4 = a0;
0x00446ad4 move s0, a1 | s0 = a1;
| if (a2 == 0) {
0x00446ad8 beqz a2, 0x446b70 | goto label_2;
| }
0x00446adc lw s1, -0x7fc8(gp) | s1 = *((gp - 8178));
0x00446ae0 lw t8, 0x6678(s1) | t8 = *((s1 + 6558));
0x00446ae4 move a0, t8 | a0 = t8;
0x00446ae8 beqz t8, 0x446b70 |
| while (1) {
| label_0:
0x00446aec lw t9, -0x7c78(gp) | t9 = sym.imp.BIO_gets;
0x00446af0 addiu s0, sp, 0x18 | s0 = sp + 0x18;
0x00446af4 addiu a2, zero, 0x400 | a2 = 0x400;
0x00446af8 move a1, s0 | a1 = s0;
0x00446afc jalr t9 | t9 ();
0x00446b00 addiu t8, zero, 1 | t8 = 1;
0x00446b04 lw gp, 0x10(sp) | gp = *(var_10h);
0x00446b08 move s3, v0 | s3 = v0;
| if (s2 != t8) {
0x00446b0c beq s2, t8, 0x446b24 |
0x00446b10 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
0x00446b14 lw a0, 0x6678(s1) | a0 = *((s1 + 6558));
0x00446b18 jalr t9 | t9 ();
0x00446b1c lw gp, 0x10(sp) | gp = *(var_10h);
0x00446b20 sw zero, 0x6678(s1) | *((s1 + 6558)) = 0;
| }
0x00446b24 lw t9, -0x72ec(gp) | t9 = sym.imp.strchr;
| if (s3 <= 0) {
0x00446b28 blez s3, 0x446d30 | goto label_3;
| }
0x00446b2c move a0, s0 | a0 = s0;
0x00446b30 addiu a1, zero, 0xa | a1 = 0xa;
0x00446b34 jalr t9 | t9 ();
0x00446b38 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00446b3c beqz v0, 0x446b44 |
0x00446b40 sb zero, (v0) | *(v0) = 0;
| }
0x00446b44 lw t9, -0x71d0(gp) | t9 = sym.imp.BUF_strdup;
0x00446b48 move a0, s0 | a0 = s0;
0x00446b4c jalr t9 | t9 ();
| label_1:
0x00446b50 lw ra, 0x42c(sp) | ra = *(var_42ch);
0x00446b54 lw s4, 0x428(sp) | s4 = *(var_428h);
0x00446b58 lw s3, 0x424(sp) | s3 = *(var_424h);
0x00446b5c lw s2, 0x420(sp) | s2 = *(var_420h);
0x00446b60 lw s1, 0x41c(sp) | s1 = *(var_41ch);
0x00446b64 lw s0, 0x418(sp) | s0 = *(var_418h);
0x00446b68 addiu sp, sp, 0x430 |
0x00446b6c jr ra | return v0;
| label_2:
0x00446b70 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446b74 move a0, s0 | a0 = s0;
0x00446b78 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00446b7c addiu a2, zero, 5 | a2 = 5;
| /* str.file: */
0x00446b80 addiu a1, a1, -0x52f4 | a1 += -0x52f4;
0x00446b84 jalr t9 | t9 ();
0x00446b88 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00446b8c beqz v0, 0x446c88 | goto label_4;
| }
0x00446b90 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446b94 move a0, s0 | a0 = s0;
0x00446b98 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00446b9c addiu a2, zero, 3 | a2 = 3;
| /* esilref: 'fd:' */
0x00446ba0 addiu a1, a1, -0x52d8 | a1 += -0x52d8;
0x00446ba4 jalr t9 | t9 ();
0x00446ba8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00446bac bnez v0, 0x446c28 | goto label_5;
| }
0x00446bb0 lw t9, -0x7b18(gp) | t9 = sym.imp.atoi;
0x00446bb4 addiu s0, s0, 3 | s0 += 3;
0x00446bb8 move a0, s0 | a0 = s0;
0x00446bbc jalr t9 | t9 ();
0x00446bc0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 < 0) {
0x00446bc4 bltz v0, 0x446cd4 | goto label_6;
| }
0x00446bc8 lw t9, -0x6d98(gp) | t9 = sym.imp.BIO_new_fd;
0x00446bcc move a0, v0 | a0 = v0;
0x00446bd0 move a1, zero | a1 = 0;
0x00446bd4 jalr t9 | t9 ();
0x00446bd8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00446bdc lw s1, -0x7fc8(gp) | s1 = *((gp - 8178));
0x00446be0 sw v0, 0x6678(s1) | *((s1 + 6558)) = v0;
| if (v0 == 0) {
0x00446be4 beqz v0, 0x446cd4 | goto label_6;
| }
0x00446be8 lw t9, -0x75a0(gp) | t9 = sym.imp.BIO_f_buffer;
0x00446bec jalr t9 | t9 ();
0x00446bf0 nop |
0x00446bf4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00446bf8 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00446bfc move a0, v0 | a0 = v0;
0x00446c00 jalr t9 | t9 ();
0x00446c04 lw gp, 0x10(sp) | gp = *(var_10h);
0x00446c08 move a0, v0 | a0 = v0;
0x00446c0c lw t9, -0x7c84(gp) | t9 = sym.imp.BIO_push;
0x00446c10 lw a1, 0x6678(s1) | a1 = *((s1 + 6558));
0x00446c14 jalr t9 | t9 ();
0x00446c18 lw gp, 0x10(sp) | gp = *(var_10h);
0x00446c1c move a0, v0 | a0 = v0;
0x00446c20 sw v0, 0x6678(s1) | *((s1 + 6558)) = v0;
0x00446c24 b 0x446aec |
| }
| label_5:
0x00446c28 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00446c2c move a0, s0 | a0 = s0;
0x00446c30 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str.stdin */
0x00446c34 addiu a1, a1, -0x34d8 | a1 += -0x34d8;
0x00446c38 jalr t9 | t9 ();
0x00446c3c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00446c40 bnez v0, 0x446d10 | goto label_7;
| }
0x00446c44 lw t8, -0x7bbc(gp) | t8 = *((gp - 7919));
0x00446c48 move a1, zero | a1 = 0;
0x00446c4c lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x00446c50 lw s1, -0x7fc8(gp) | s1 = *((gp - 8178));
0x00446c54 lw a0, (t8) | a0 = *(t8);
0x00446c58 jalr t9 | t9 ();
0x00446c5c lw gp, 0x10(sp) | gp = *(var_10h);
0x00446c60 move a0, v0 | a0 = v0;
0x00446c64 sw v0, 0x6678(s1) | *((s1 + 6558)) = v0;
| if (v0 != 0) {
0x00446c68 bnez v0, 0x446aec | goto label_0;
| }
0x00446c6c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446c70 move a0, s4 | a0 = s4;
0x00446c74 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Cant_open_BIO_for_stdin_n */
0x00446c78 addiu a1, a1, -0x52b0 | a1 += -0x52b0;
0x00446c7c jalr t9 | t9 ();
0x00446c80 move v0, zero | v0 = 0;
0x00446c84 b 0x446b50 | goto label_1;
| label_4:
0x00446c88 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00446c8c addiu s0, s0, 5 | s0 += 5;
0x00446c90 lw t9, -0x79cc(gp) | t9 = sym.imp.BIO_new_file;
0x00446c94 move a0, s0 | a0 = s0;
0x00446c98 addiu a1, a1, 0x13b8 | a1 += 0x13b8;
0x00446c9c jalr t9 | t9 ();
0x00446ca0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00446ca4 move a0, v0 | a0 = v0;
0x00446ca8 lw s1, -0x7fc8(gp) | s1 = *((gp - 8178));
0x00446cac sw v0, 0x6678(s1) | *((s1 + 6558)) = v0;
| if (v0 != 0) {
0x00446cb0 bnez v0, 0x446aec | goto label_0;
| }
0x00446cb4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446cb8 move a0, s4 | a0 = s4;
0x00446cbc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446cc0 move a2, s0 | a2 = s0;
| /* str.Cant_open_file__s_n */
0x00446cc4 addiu a1, a1, -0x52ec | a1 += -0x52ec;
0x00446cc8 jalr t9 | t9 ();
0x00446ccc move v0, zero | v0 = 0;
0x00446cd0 b 0x446b50 | goto label_1;
| label_6:
0x00446cd4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446cd8 move a0, s4 | a0 = s4;
0x00446cdc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446ce0 move a2, s0 | a2 = s0;
| /* str.Cant_access_file_descriptor__s_n */
0x00446ce4 addiu a1, a1, -0x52d4 | a1 += -0x52d4;
0x00446ce8 jalr t9 | t9 ();
0x00446cec move v0, zero | v0 = 0;
0x00446cf0 lw ra, 0x42c(sp) | ra = *(var_42ch);
0x00446cf4 lw s4, 0x428(sp) | s4 = *(var_428h);
0x00446cf8 lw s3, 0x424(sp) | s3 = *(var_424h);
0x00446cfc lw s2, 0x420(sp) | s2 = *(var_420h);
0x00446d00 lw s1, 0x41c(sp) | s1 = *(var_41ch);
0x00446d04 lw s0, 0x418(sp) | s0 = *(var_418h);
0x00446d08 addiu sp, sp, 0x430 |
0x00446d0c jr ra | return v0;
| label_7:
0x00446d10 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446d14 move a0, s4 | a0 = s4;
0x00446d18 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446d1c move a2, s0 | a2 = s0;
| /* str.Invalid_password_argument___s__n */
0x00446d20 addiu a1, a1, -0x5294 | a1 += -0x5294;
0x00446d24 jalr t9 | t9 ();
0x00446d28 move v0, zero | v0 = 0;
0x00446d2c b 0x446b50 | goto label_1;
| label_3:
0x00446d30 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446d34 move a0, s4 | a0 = s4;
0x00446d38 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_reading_password_from_BIO_n */
0x00446d3c addiu a1, a1, -0x5274 | a1 += -0x5274;
0x00446d40 jalr t9 | t9 ();
0x00446d44 move v0, zero | v0 = 0;
0x00446d48 b 0x446b50 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x446d4c */
| #include <stdint.h>
|
; (fcn) fcn.00446d4c () | void fcn_00446d4c () {
0x00446d4c lui gp, 5 |
0x00446d50 addiu gp, gp, 0x5754 |
0x00446d54 addu gp, gp, t9 | gp += t9;
0x00446d58 addiu sp, sp, -0x440 |
0x00446d5c sw ra, 0x43c(sp) | *(var_43ch) = ra;
0x00446d60 sw s4, 0x438(sp) | *(var_438h) = s4;
0x00446d64 sw s3, 0x434(sp) | *(var_434h) = s3;
0x00446d68 sw s2, 0x430(sp) | *(var_430h) = s2;
0x00446d6c sw s1, 0x42c(sp) | *(var_42ch) = s1;
0x00446d70 sw s0, 0x428(sp) | *(var_428h) = s0;
0x00446d74 move s4, a0 | s4 = a0;
0x00446d78 lw t9, -0x71bc(gp) | t9 = sym.imp.d2i_PKCS12_bio;
0x00446d7c move a0, a1 | a0 = a1;
0x00446d80 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00446d84 move a1, zero | a1 = 0;
0x00446d88 move s3, a2 | s3 = a2;
0x00446d8c move s2, a3 | s2 = a3;
0x00446d90 jalr t9 | t9 ();
0x00446d94 move s0, v0 | s0 = v0;
0x00446d98 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00446d9c beqz v0, 0x446e90 | goto label_2;
| }
0x00446da0 lw s1, -0x7fd8(gp) | s1 = *(gp);
0x00446da4 move a0, v0 | a0 = v0;
0x00446da8 lw t9, -0x6f1c(gp) | t9 = sym.imp.PKCS12_verify_mac;
0x00446dac move a2, zero | a2 = 0;
0x00446db0 addiu a1, s1, 0x3b3c | a1 = s1 + 0x3b3c;
0x00446db4 jalr t9 | t9 ();
0x00446db8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00446dbc beqz v0, 0x446e14 |
| while (v0 != 0) {
0x00446dc0 addiu a1, s1, 0x3b3c | a1 = s1 + 0x3b3c;
| label_0:
0x00446dc4 lw t9, -0x7c6c(gp) | t9 = sym.imp.PKCS12_parse;
0x00446dc8 move a0, s0 | a0 = s0;
0x00446dcc lw a2, 0x454(sp) | a2 = *(arg_454h);
0x00446dd0 lw a3, 0x458(sp) | a3 = *(arg_458h);
0x00446dd4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00446dd8 jalr t9 | t9 ();
0x00446ddc lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x00446de0 lw t9, -0x72f8(gp) | t9 = sym.imp.PKCS12_free;
0x00446de4 move a0, s0 | a0 = s0;
0x00446de8 sw v0, 0x420(sp) | *(var_420h) = v0;
0x00446dec jalr t9 | t9 ();
0x00446df0 lw v0, 0x420(sp) | v0 = *(var_420h);
0x00446df4 lw ra, 0x43c(sp) | ra = *(var_43ch);
0x00446df8 lw s4, 0x438(sp) | s4 = *(var_438h);
0x00446dfc lw s3, 0x434(sp) | s3 = *(var_434h);
0x00446e00 lw s2, 0x430(sp) | s2 = *(var_430h);
0x00446e04 lw s1, 0x42c(sp) | s1 = *(var_42ch);
0x00446e08 lw s0, 0x428(sp) | s0 = *(var_428h);
0x00446e0c addiu sp, sp, 0x440 |
0x00446e10 jr ra | return v0;
0x00446e14 lw t9, -0x6f1c(gp) | t9 = sym.imp.PKCS12_verify_mac;
0x00446e18 move a0, s0 | a0 = s0;
0x00446e1c move a1, zero | a1 = 0;
0x00446e20 move a2, zero | a2 = 0;
0x00446e24 jalr t9 | t9 ();
0x00446e28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00446e2c bnez v0, 0x446dc0 |
| }
0x00446e30 lw t8, -0x7e2c(gp) | t8 = sym.password_callback;
0x00446e34 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x00446e38 lw a3, 0x450(sp) | a3 = *(arg_450h);
0x00446e3c move a0, s1 | a0 = s1;
| if (s2 != 0) {
0x00446e40 movz s2, t8, s2 | s2 = t8;
| }
0x00446e44 addiu a1, zero, 0x400 | a1 = 0x400;
0x00446e48 move t9, s2 | t9 = s2;
0x00446e4c move a2, zero | a2 = 0;
0x00446e50 jalr t9 | t9 ();
0x00446e54 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00446e58 bltz v0, 0x446ef0 |
0x00446e5c slti t8, v0, 0x400 | t8 = (v0 < 0x400) ? 1 : 0;
0x00446e60 lw t9, -0x6f1c(gp) | t9 = sym.imp.PKCS12_verify_mac;
| if (t8 != 0) {
0x00446e64 beqz t8, 0x446e70 |
0x00446e68 addu t8, s1, v0 | t8 = s1 + v0;
0x00446e6c sb zero, (t8) | *(t8) = 0;
| }
0x00446e70 move a0, s0 | a0 = s0;
0x00446e74 move a1, s1 | a1 = s1;
0x00446e78 move a2, v0 | a2 = v0;
0x00446e7c jalr t9 | t9 ();
0x00446e80 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00446e84 beqz v0, 0x446ecc |
0x00446e88 move a1, s1 | a1 = s1;
0x00446e8c b 0x446dc4 | goto label_0;
| label_2:
0x00446e90 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446e94 move a0, s4 | a0 = s4;
0x00446e98 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446e9c move a2, s3 | a2 = s3;
| /* str.Error_loading_PKCS12_file_for__s_n */
0x00446ea0 addiu a1, a1, -0x5250 | a1 += -0x5250;
0x00446ea4 jalr t9 | t9 ();
0x00446ea8 move v0, zero | v0 = 0;
0x00446eac lw ra, 0x43c(sp) | ra = *(var_43ch);
0x00446eb0 lw s4, 0x438(sp) | s4 = *(var_438h);
0x00446eb4 lw s3, 0x434(sp) | s3 = *(var_434h);
0x00446eb8 lw s2, 0x430(sp) | s2 = *(var_430h);
0x00446ebc lw s1, 0x42c(sp) | s1 = *(var_42ch);
0x00446ec0 lw s0, 0x428(sp) | s0 = *(var_428h);
0x00446ec4 addiu sp, sp, 0x440 |
0x00446ec8 jr ra | return v0;
| }
0x00446ecc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446ed0 move a0, s4 | a0 = s4;
0x00446ed4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446ed8 move a2, s3 | a2 = s3;
| /* str.Mac_verify_error__wrong_password___in_PKCS12_file_for__s_n */
0x00446edc addiu a1, a1, -0x5208 | a1 += -0x5208;
0x00446ee0 jalr t9 | t9 ();
0x00446ee4 move v0, zero | v0 = 0;
0x00446ee8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00446eec b 0x446de0 | goto label_1;
| }
0x00446ef0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446ef4 move a0, s4 | a0 = s4;
0x00446ef8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446efc move a2, s3 | a2 = s3;
| /* str.Passpharse_callback_error_for__s_n */
0x00446f00 addiu a1, a1, -0x522c | a1 += -0x522c;
0x00446f04 jalr t9 | t9 ();
0x00446f08 move v0, zero | v0 = 0;
0x00446f0c lw gp, 0x18(sp) | gp = *(var_18h);
0x00446f10 b 0x446de0 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44cb98 */
| #include <stdint.h>
|
; (fcn) fcn.0044cb98 () | void fcn_0044cb98 () {
0x0044cb98 lui gp, 5 |
0x0044cb9c addiu gp, gp, -0x6f8 |
0x0044cba0 addu gp, gp, t9 | gp += t9;
0x0044cba4 addiu sp, sp, -0x68 |
0x0044cba8 sw ra, 0x64(sp) | *(var_64h) = ra;
0x0044cbac sw fp, 0x60(sp) | *(var_60h) = fp;
0x0044cbb0 sw s7, 0x5c(sp) | *(var_5ch) = s7;
0x0044cbb4 sw s6, 0x58(sp) | *(var_58h) = s6;
0x0044cbb8 sw s5, 0x54(sp) | *(var_54h) = s5;
0x0044cbbc sw s4, 0x50(sp) | *(var_50h) = s4;
0x0044cbc0 sw s3, 0x4c(sp) | *(var_4ch) = s3;
0x0044cbc4 sw s2, 0x48(sp) | *(var_48h) = s2;
0x0044cbc8 sw s1, 0x44(sp) | *(var_44h) = s1;
0x0044cbcc sw s0, 0x40(sp) | *(var_40h) = s0;
0x0044cbd0 move s1, a0 | s1 = a0;
0x0044cbd4 lw t9, -0x7940(gp) | t9 = sym.imp.SSL_is_server;
0x0044cbd8 move a0, a1 | a0 = a1;
0x0044cbdc sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044cbe0 move s3, a1 | s3 = a1;
0x0044cbe4 jalr t9 | t9 ();
0x0044cbe8 move a0, s3 | a0 = s3;
0x0044cbec lw gp, 0x20(sp) | gp = *(var_20h);
0x0044cbf0 addiu a1, zero, -1 | a1 = -1;
0x0044cbf4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044cbf8 move a2, zero | a2 = 0;
0x0044cbfc lw t9, -0x73dc(gp) | t9 = sym.imp.SSL_get_sigalgs;
0x0044cc00 move a3, zero | a3 = 0;
0x0044cc04 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0044cc08 move s0, v0 | s0 = v0;
0x0044cc0c sw zero, 0x18(sp) | *(var_18h) = 0;
0x0044cc10 jalr t9 | t9 ();
0x0044cc14 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044cc18 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0044cc1c beqz v0, 0x44cd80 | goto label_4;
| }
0x0044cc20 move a0, s1 | a0 = s1;
| if (s0 == 0) {
0x0044cc24 beqz s0, 0x44cdec | goto label_5;
| }
| label_3:
0x0044cc28 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044cc2c move a0, s1 | a0 = s1;
0x0044cc30 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Signature_Algorithms:_ */
0x0044cc34 addiu a1, a1, -0x461c | a1 += -0x461c;
0x0044cc38 jalr t9 | t9 ();
0x0044cc3c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 <= 0) {
0x0044cc40 blez s2, 0x44cd6c | goto label_6;
| }
0x0044cc44 lw t9, -0x73dc(gp) | t9 = sym.imp.SSL_get_sigalgs;
0x0044cc48 addiu t8, sp, 0x2c | t8 = sp + 0x2c;
0x0044cc4c addiu fp, sp, 0x30 | fp = sp + 0x30;
0x0044cc50 addiu s6, sp, 0x34 | s6 = sp + 0x34;
0x0044cc54 addiu s7, sp, 0x28 | s7 = sp + 0x28;
0x0044cc58 move a0, s3 | a0 = s3;
0x0044cc5c sw t8, 0x38(sp) | *(var_38h) = t8;
0x0044cc60 move a1, zero | a1 = 0;
0x0044cc64 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044cc68 move a2, s7 | a2 = s7;
0x0044cc6c sw fp, 0x14(sp) | *(var_14h) = fp;
0x0044cc70 move a3, t8 | a3 = t8;
0x0044cc74 sw s6, 0x18(sp) | *(var_18h) = s6;
0x0044cc78 move s0, zero | s0 = 0;
0x0044cc7c jalr t9 | t9 ();
0x0044cc80 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044cc84 lw s4, -0x7f9c(gp) | s4 = *(gp);
0x0044cc88 lw s5, -0x7fd8(gp) | s5 = *(gp);
| /* esilref: '&s+' */
0x0044cc8c addiu s4, s4, -0x45fc | s4 += -0x45fc;
| /* esilref: '0x&X' */
0x0044cc90 addiu s5, s5, 0x3404 | s5 += 0x3404;
0x0044cc94 b 0x44cd08 |
| while (a0 != 0) {
0x0044cc98 addiu s0, s0, 1 | s0++;
0x0044cc9c jalr t9 | t9 ();
0x0044cca0 move a0, s1 | a0 = s1;
0x0044cca4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044cca8 move a2, v0 | a2 = v0;
0x0044ccac lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044ccb0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* esilref: '&s' */
0x0044ccb4 addiu a1, a1, -0x4dcc | a1 += -0x4dcc;
0x0044ccb8 jalr t9 | t9 ();
0x0044ccbc lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == s2) {
0x0044ccc0 beq s0, s2, 0x44cd6c | goto label_6;
| }
| label_0:
0x0044ccc4 lw t9, -0x73dc(gp) | t9 = sym.imp.SSL_get_sigalgs;
0x0044ccc8 move a0, s3 | a0 = s3;
0x0044cccc sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044ccd0 move a1, s0 | a1 = s0;
0x0044ccd4 sw fp, 0x14(sp) | *(var_14h) = fp;
0x0044ccd8 move a2, s7 | a2 = s7;
0x0044ccdc sw s6, 0x18(sp) | *(var_18h) = s6;
0x0044cce0 addiu a3, sp, 0x2c | a3 = sp + 0x2c;
0x0044cce4 jalr t9 | t9 ();
0x0044cce8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != 0) {
0x0044ccec beqz s0, 0x44cd08 |
0x0044ccf0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044ccf4 move a0, s1 | a0 = s1;
0x0044ccf8 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044ccfc addiu a1, a1, -0x824 | a1 += -0x824;
0x0044cd00 jalr t9 | t9 ();
0x0044cd04 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0044cd08 lw t8, 0x28(sp) | t8 = *(var_28h);
0x0044cd0c addiu v0, zero, 6 | v0 = 6;
0x0044cd10 addiu v0, zero, 0x74 | v0 = 0x74;
| if (t8 == v0) {
0x0044cd14 beq t8, v0, 0x44cdb4 | goto label_7;
| }
0x0044cd18 addiu v0, zero, 0x198 | v0 = 0x198;
| if (t8 == v0) {
0x0044cd1c beq t8, v0, 0x44cdd4 | goto label_8;
| }
0x0044cd20 move a0, s1 | a0 = s1;
| if (t8 == v0) {
0x0044cd24 beq t8, v0, 0x44cde0 | goto label_9;
| }
0x0044cd28 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044cd2c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044cd30 lbu a2, 0x30(sp) | a2 = *(var_30h);
| /* str.0x_02X */
0x0044cd34 addiu a1, a1, -0x4604 | a1 += -0x4604;
0x0044cd38 jalr t9 | t9 ();
0x0044cd3c lw gp, 0x20(sp) | gp = *(var_20h);
| label_1:
0x0044cd40 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0044cd44 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0044cd48 bnez a0, 0x44cc98 |
| }
0x0044cd4c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044cd50 move a0, s1 | a0 = s1;
0x0044cd54 lbu a2, 0x34(sp) | a2 = *(var_34h);
0x0044cd58 move a1, s5 | a1 = s5;
0x0044cd5c addiu s0, s0, 1 | s0++;
0x0044cd60 jalr t9 | t9 ();
0x0044cd64 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != s2) {
0x0044cd68 bne s0, s2, 0x44ccc4 | goto label_0;
| }
| label_6:
0x0044cd6c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044cd70 move a0, s1 | a0 = s1;
0x0044cd74 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044cd78 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044cd7c jalr t9 | t9 ();
| label_4:
0x0044cd80 lw ra, 0x64(sp) | ra = *(var_64h);
0x0044cd84 addiu v0, zero, 1 | v0 = 1;
0x0044cd88 lw fp, 0x60(sp) | fp = *(var_60h);
0x0044cd8c lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x0044cd90 lw s6, 0x58(sp) | s6 = *(var_58h);
0x0044cd94 lw s5, 0x54(sp) | s5 = *(var_54h);
0x0044cd98 lw s4, 0x50(sp) | s4 = *(var_50h);
0x0044cd9c lw s3, 0x4c(sp) | s3 = *(var_4ch);
0x0044cda0 lw s2, 0x48(sp) | s2 = *(var_48h);
0x0044cda4 lw s1, 0x44(sp) | s1 = *(var_44h);
0x0044cda8 lw s0, 0x40(sp) | s0 = *(var_40h);
0x0044cdac addiu sp, sp, 0x68 |
0x0044cdb0 jr ra | return v0;
| label_7:
0x0044cdb4 lw t8, -0x7f9c(gp) | t8 = *(gp);
| /* esilref: 'RSA' */
0x0044cdb8 addiu a2, t8, -0x462c | a2 = t8 + -0x462c;
| do {
| label_2:
0x0044cdbc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044cdc0 move a0, s1 | a0 = s1;
0x0044cdc4 move a1, s4 | a1 = s4;
0x0044cdc8 jalr t9 | t9 ();
0x0044cdcc lw gp, 0x20(sp) | gp = *(var_20h);
0x0044cdd0 b 0x44cd40 | goto label_1;
| label_8:
0x0044cdd4 lw t8, -0x7f9c(gp) | t8 = *(gp);
| /* esilref: 'DSA' */
0x0044cdd8 addiu a2, t8, -0x4630 | a2 = t8 + -0x4630;
0x0044cddc b 0x44cdbc |
| } while (1);
| label_9:
0x0044cde0 lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* str.ECDSA */
0x0044cde4 addiu a2, a2, -0x4638 | a2 += -0x4638;
0x0044cde8 b 0x44cdbc | goto label_2;
| label_5:
0x0044cdec lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044cdf0 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Requested_ */
0x0044cdf4 addiu a1, a1, -0x4628 | a1 += -0x4628;
0x0044cdf8 jalr t9 | t9 ();
0x0044cdfc lw gp, 0x20(sp) | gp = *(var_20h);
0x0044ce00 b 0x44cc28 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x40f0c8 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
0x0040f0c8 lui gp, 9 |
0x0040f0cc addiu gp, gp, -0x2c28 |
0x0040f0d0 addu gp, gp, t9 | gp += t9;
0x0040f0d4 addiu sp, sp, -0x490 |
0x0040f0d8 sw ra, 0x48c(sp) | *(var_48ch) = ra;
0x0040f0dc sw fp, 0x488(sp) | *(var_488h) = fp;
0x0040f0e0 sw s7, 0x484(sp) | *(var_484h) = s7;
0x0040f0e4 sw s6, 0x480(sp) | *(var_480h) = s6;
0x0040f0e8 sw s5, 0x47c(sp) | *(var_47ch) = s5;
0x0040f0ec sw s4, 0x478(sp) | *(var_478h) = s4;
0x0040f0f0 sw s3, 0x474(sp) | *(var_474h) = s3;
0x0040f0f4 sw s2, 0x470(sp) | *(var_470h) = s2;
0x0040f0f8 sw s1, 0x46c(sp) | *(var_46ch) = s1;
0x0040f0fc sw s0, 0x468(sp) | *(var_468h) = s0;
0x0040f100 move s6, a0 | s6 = a0;
0x0040f104 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x0040f108 move s5, a1 | s5 = a1;
0x0040f10c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0040f110 lw t8, (s0) | t8 = *(s0);
0x0040f114 sw zero, 0x454(sp) | *(var_454h) = 0;
0x0040f118 sw zero, 0x458(sp) | *(var_458h) = 0;
| if (t8 == 0) {
0x0040f11c beqz t8, 0x40f5a0 | goto label_7;
| }
| label_0:
0x0040f120 lw s1, -0x7fd8(gp) | s1 = *(gp);
0x0040f124 lw t9, -0x7c68(gp) | t9 = sym.imp.getenv;
| /* str.OPENSSL_DEBUG_MEMORY */
0x0040f128 addiu a0, s1, -0x37d8 | a0 = s1 + -0x37d8;
0x0040f12c jalr t9 | t9 ();
0x0040f130 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040f134 beqz v0, 0x40f198 | goto label_8;
| }
0x0040f138 lw t9, -0x7c68(gp) | t9 = sym.imp.getenv;
| /* str.OPENSSL_DEBUG_MEMORY */
0x0040f13c addiu a0, s1, -0x37d8 | a0 = s1 + -0x37d8;
0x0040f140 jalr t9 | t9 ();
0x0040f144 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f148 move a0, v0 | a0 = v0;
0x0040f14c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040f150 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'off' */
0x0040f154 addiu a1, a1, -0x37c0 | a1 += -0x37c0;
0x0040f158 jalr t9 | t9 ();
0x0040f15c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040f160 beqz v0, 0x40f204 | goto label_9;
| }
0x0040f164 lw t8, -0x6ee0(gp) | t8 = *((gp - 7096));
0x0040f168 lw t9, -0x7d20(gp) | t9 = sym.imp.CRYPTO_set_mem_debug_functions;
0x0040f16c lw a0, -0x7170(gp) | a0 = *((gp - 7260));
0x0040f170 lw a1, -0x7864(gp) | a1 = *((gp - 7705));
0x0040f174 lw a2, -0x731c(gp) | a2 = *((gp - 7367));
0x0040f178 lw a3, -0x746c(gp) | a3 = *((gp - 7451));
0x0040f17c sw t8, 0x10(sp) | *(var_10h) = t8;
0x0040f180 jalr t9 | t9 ();
0x0040f184 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f188 lw t9, -0x7c74(gp) | t9 = sym.imp.CRYPTO_set_mem_debug_options;
0x0040f18c addiu a0, zero, 3 | a0 = 3;
0x0040f190 jalr t9 | t9 ();
0x0040f194 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_8:
0x0040f198 lw t9, -0x7058(gp) | t9 = sym.imp.CRYPTO_mem_ctrl;
0x0040f19c addiu a0, zero, 1 | a0 = 1;
0x0040f1a0 jalr t9 | t9 ();
0x0040f1a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f1a8 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x0040f1ac lw t9, -0x7244(gp) | t9 = sym.imp.CRYPTO_set_locking_callback;
0x0040f1b0 addiu a0, a0, -0x650 | a0 += -0x650;
0x0040f1b4 jalr t9 | t9 ();
0x0040f1b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f1bc lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0040f1c0 lw t9, -0x7c68(gp) | t9 = sym.imp.getenv;
| /* str.OPENSSL_FIPS */
0x0040f1c4 addiu a0, a0, -0x37bc | a0 += -0x37bc;
0x0040f1c8 jalr t9 | t9 ();
0x0040f1cc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040f1d0 beqz v0, 0x40f228 | goto label_10;
| }
0x0040f1d4 lw t8, -0x6c70(gp) | t8 = *((gp - 6940));
0x0040f1d8 addiu a1, zero, 1 | a1 = 1;
0x0040f1dc lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0040f1e0 addiu a2, zero, 0x19 | a2 = 0x19;
0x0040f1e4 lw t9, -0x7410(gp) | t9 = sym.imp.fwrite;
0x0040f1e8 lw a3, (t8) | a3 = *(t8);
| /* str.FIPS_mode_not_supported._n */
0x0040f1ec addiu a0, a0, -0x37ac | a0 += -0x37ac;
0x0040f1f0 jalr t9 | t9 ();
0x0040f1f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f1f8 lw t9, -0x7568(gp) | t9 = sym.imp.exit;
0x0040f1fc addiu a0, zero, 1 | a0 = 1;
0x0040f200 jalr t9 | t9 ();
| label_9:
0x0040f204 lw t9, -0x7d20(gp) | t9 = sym.imp.CRYPTO_set_mem_debug_functions;
0x0040f208 move a0, zero | a0 = 0;
0x0040f20c sw zero, 0x10(sp) | *(var_10h) = 0;
0x0040f210 move a1, zero | a1 = 0;
0x0040f214 move a2, zero | a2 = 0;
0x0040f218 move a3, zero | a3 = 0;
0x0040f21c jalr t9 | t9 ();
0x0040f220 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f224 b 0x40f198 |
| } while (1);
| label_10:
0x0040f228 lw t9, -0x6e5c(gp) | t9 = sym.imp.signal;
0x0040f22c addiu a0, zero, 0xd | a0 = 0xd;
0x0040f230 addiu a1, zero, 1 | a1 = 1;
0x0040f234 jalr t9 | t9 ();
0x0040f238 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f23c lw a0, -0x6f84(gp) | a0 = *((gp - 7137));
0x0040f240 lw a1, -0x6cec(gp) | a1 = *((gp - 6971));
0x0040f244 lw a2, -0x7ad8(gp) | a2 = *((gp - 7862));
0x0040f248 lw t9, -0x7430(gp) | t9 = sym.imp.CRYPTO_set_mem_functions;
0x0040f24c jalr t9 | t9 ();
0x0040f250 nop |
0x0040f254 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f258 lw t9, -0x770c(gp) | t9 = sym.imp.ERR_load_crypto_strings;
0x0040f25c jalr t9 | t9 ();
0x0040f260 nop |
0x0040f264 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f268 lw t9, -0x727c(gp) | t9 = sym.imp.OPENSSL_add_all_algorithms_noconf;
0x0040f26c jalr t9 | t9 ();
0x0040f270 nop |
0x0040f274 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f278 lw t9, -0x6c9c(gp) | t9 = sym.imp.ENGINE_load_builtin_engines;
0x0040f27c jalr t9 | t9 ();
0x0040f280 nop |
0x0040f284 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f288 lw t9, -0x7e5c(gp) | t9 = sym.setup_ui_method;
0x0040f28c jalr t9 | t9 ();
0x0040f290 nop |
0x0040f294 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f298 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0040f29c lw t9, -0x7c68(gp) | t9 = sym.imp.getenv;
| /* str.OPENSSL_CONF */
0x0040f2a0 addiu a0, a0, -0x3790 | a0 += -0x3790;
0x0040f2a4 jalr t9 | t9 ();
0x0040f2a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f2ac move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0040f2b0 beqz v0, 0x40f76c | goto label_11;
| }
0x0040f2b4 move s2, v0 | s2 = v0;
0x0040f2b8 move s1, zero | s1 = 0;
| label_5:
0x0040f2bc lw t8, -0x7fa4(gp) | t8 = *(gp);
0x0040f2c0 move a0, zero | a0 = 0;
0x0040f2c4 lw t9, -0x6f64(gp) | t9 = sym.imp.NCONF_new;
0x0040f2c8 lw s3, -0x7fc0(gp) | s3 = *(gp);
0x0040f2cc sw s2, (t8) | *(t8) = s2;
0x0040f2d0 jalr t9 | t9 ();
0x0040f2d4 move a1, s2 | a1 = s2;
0x0040f2d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f2dc move a0, v0 | a0 = v0;
0x0040f2e0 addiu a2, sp, 0x45c | a2 = sp + 0x45c;
0x0040f2e4 lw t9, -0x7c30(gp) | t9 = sym.imp.NCONF_load;
0x0040f2e8 sw v0, (s3) | *(s3) = v0;
0x0040f2ec jalr t9 | t9 ();
0x0040f2f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040f2f4 bnez v0, 0x40f380 |
0x0040f2f8 lw t9, -0x6c54(gp) | t9 = sym.imp.ERR_peek_last_error;
0x0040f2fc jalr t9 | t9 ();
0x0040f300 nop |
0x0040f304 addiu t8, zero, 0x72 | t8 = 0x72;
0x0040f308 andi v0, v0, 0xfff | v0 &= 0xfff;
0x0040f30c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != t8) {
0x0040f310 beq v0, t8, 0x40f340 |
0x0040f314 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0040f318 lw a0, (s0) | a0 = *(s0);
0x0040f31c jalr t9 | t9 ();
0x0040f320 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f324 lw t9, -0x7d74(gp) | t9 = sym.imp.NCONF_free;
0x0040f328 lw a0, (s3) | a0 = *(s3);
0x0040f32c jalr t9 | t9 ();
0x0040f330 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f334 lw t9, -0x7568(gp) | t9 = sym.imp.exit;
0x0040f338 addiu a0, zero, 1 | a0 = 1;
0x0040f33c jalr t9 | t9 ();
| }
0x0040f340 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040f344 move a2, s2 | a2 = s2;
0x0040f348 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0040f34c lw a0, (s0) | a0 = *(s0);
| /* str.WARNING:_cant_open_config_file:__s_n */
0x0040f350 addiu a1, a1, -0x3774 | a1 += -0x3774;
0x0040f354 jalr t9 | t9 ();
0x0040f358 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f35c lw t9, -0x7464(gp) | t9 = sym.imp.ERR_clear_error;
0x0040f360 jalr t9 | t9 ();
0x0040f364 nop |
0x0040f368 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f36c lw t9, -0x7d74(gp) | t9 = sym.imp.NCONF_free;
0x0040f370 lw a0, (s3) | a0 = *(s3);
0x0040f374 jalr t9 | t9 ();
0x0040f378 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f37c sw zero, (s3) | *(s3) = 0;
| }
0x0040f380 lw s4, -0x7e60(gp) | s4 = *(gp);
0x0040f384 lw t8, 4(s4) | t8 = *((s4 + 1));
0x0040f388 move a1, zero | a1 = 0;
| if (t8 == 0) {
0x0040f38c beqz t8, 0x40f3a4 | goto label_12;
| }
0x0040f390 move t8, s4 | t8 = s4;
| do {
0x0040f394 addiu t8, t8, 0xc | t8 += 0xc;
0x0040f398 lw v0, 4(t8) | v0 = *((t8 + 1));
0x0040f39c addiu a1, a1, 1 | a1++;
0x0040f3a0 bnez v0, 0x40f394 |
| } while (v0 != 0);
| label_12:
0x0040f3a4 lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
0x0040f3a8 addiu a2, zero, 0xc | a2 = 0xc;
0x0040f3ac lw t9, -0x6c6c(gp) | t9 = sym.imp.qsort;
0x0040f3b0 lw a0, -0x7e60(gp) | a0 = *(gp);
0x0040f3b4 addiu a3, a3, 0x2f8 | a3 += 0x2f8;
0x0040f3b8 jalr t9 | t9 ();
0x0040f3bc lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f3c0 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x0040f3c4 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0040f3c8 lw t9, -0x7060(gp) | t9 = sym.imp.lh_new;
0x0040f3cc addiu a0, a0, -0x4f8 | a0 += -0x4f8;
0x0040f3d0 addiu a1, a1, -0x51c | a1 += -0x51c;
0x0040f3d4 jalr t9 | t9 ();
0x0040f3d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f3dc move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0040f3e0 beqz v0, 0x40f7c4 | goto label_13;
| }
0x0040f3e4 lw t8, 4(s4) | t8 = *((s4 + 1));
0x0040f3e8 lw s4, -0x7e60(gp) | s4 = *(gp);
| if (t8 == 0) {
0x0040f3ec beqz t8, 0x40f410 | goto label_6;
| }
| do {
0x0040f3f0 lw t9, -0x7924(gp) | t9 = sym.imp.lh_insert;
0x0040f3f4 move a1, s4 | a1 = s4;
0x0040f3f8 move a0, s2 | a0 = s2;
0x0040f3fc addiu s4, s4, 0xc | s4 += 0xc;
0x0040f400 jalr t9 | t9 ();
0x0040f404 lw t8, 4(s4) | t8 = *((s4 + 1));
0x0040f408 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f40c bnez t8, 0x40f3f0 |
| } while (t8 != 0);
| label_6:
0x0040f410 lw t9, -0x7e58(gp) | t9 = sym.program_name;
0x0040f414 addiu s4, sp, 0x420 | s4 = sp + 0x420;
0x0040f418 lw a0, (s5) | a0 = *(s5);
0x0040f41c addiu a2, zero, 0x28 | a2 = 0x28;
0x0040f420 move a1, s4 | a1 = s4;
0x0040f424 jalr t9 | t9 ();
0x0040f428 move a0, s2 | a0 = s2;
0x0040f42c lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f430 addiu a1, sp, 0x448 | a1 = sp + 0x448;
0x0040f434 lw t9, -0x7b84(gp) | t9 = sym.imp.lh_retrieve;
0x0040f438 sw s4, 0x44c(sp) | *(var_44ch) = s4;
0x0040f43c jalr t9 | t9 ();
0x0040f440 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040f444 beqz v0, 0x40f5ec | goto label_14;
| }
0x0040f448 sw s4, (s5) | *(s5) = s4;
0x0040f44c move a0, s6 | a0 = s6;
0x0040f450 lw t9, 8(v0) | t9 = *((v0 + 2));
0x0040f454 move a1, s5 | a1 = s5;
0x0040f458 jalr t9 | t9 ();
0x0040f45c lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f460 move s4, v0 | s4 = v0;
| label_4:
0x0040f464 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (s1 != 0) {
0x0040f468 beqz s1, 0x40f478 |
0x0040f46c move a0, s1 | a0 = s1;
0x0040f470 jalr t9 | t9 ();
0x0040f474 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0040f478 lw a0, (s3) | a0 = *(s3);
0x0040f47c lw t9, -0x7d74(gp) | t9 = sym.imp.NCONF_free;
| if (a0 != 0) {
0x0040f480 beqz a0, 0x40f498 |
0x0040f484 jalr t9 | t9 ();
0x0040f488 nop |
0x0040f48c lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f490 lw t8, -0x7fc0(gp) | t8 = *(gp);
0x0040f494 sw zero, (t8) | *(t8) = 0;
| }
0x0040f498 lw t9, -0x70c8(gp) | t9 = sym.imp.lh_free;
| if (s2 != 0) {
0x0040f49c beqz s2, 0x40f4ac |
0x0040f4a0 move a0, s2 | a0 = s2;
0x0040f4a4 jalr t9 | t9 ();
0x0040f4a8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0040f4ac lw a0, 0x454(sp) | a0 = *(var_454h);
0x0040f4b0 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x0040f4b4 beqz a0, 0x40f4c4 |
0x0040f4b8 jalr t9 | t9 ();
0x0040f4bc nop |
0x0040f4c0 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0040f4c4 lw t9, -0x6e24(gp) | t9 = sym.imp.CONF_modules_unload;
0x0040f4c8 addiu a0, zero, 1 | a0 = 1;
0x0040f4cc jalr t9 | t9 ();
0x0040f4d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f4d4 lw t9, -0x7e54(gp) | t9 = sym.destroy_ui_method;
0x0040f4d8 jalr t9 | t9 ();
0x0040f4dc nop |
0x0040f4e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f4e4 lw t9, -0x74bc(gp) | t9 = sym.imp.OBJ_cleanup;
0x0040f4e8 jalr t9 | t9 ();
0x0040f4ec nop |
0x0040f4f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f4f4 lw t9, -0x76f0(gp) | t9 = sym.imp.EVP_cleanup;
0x0040f4f8 jalr t9 | t9 ();
0x0040f4fc nop |
0x0040f500 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f504 lw t9, -0x78a4(gp) | t9 = sym.imp.ENGINE_cleanup;
0x0040f508 jalr t9 | t9 ();
0x0040f50c nop |
0x0040f510 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f514 lw t9, -0x7554(gp) | t9 = sym.imp.CRYPTO_cleanup_all_ex_data;
0x0040f518 jalr t9 | t9 ();
0x0040f51c nop |
0x0040f520 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f524 lw t9, -0x7848(gp) | t9 = sym.imp.ERR_remove_thread_state;
0x0040f528 move a0, zero | a0 = 0;
0x0040f52c jalr t9 | t9 ();
0x0040f530 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f534 lw t9, -0x766c(gp) | t9 = sym.imp.RAND_cleanup;
0x0040f538 jalr t9 | t9 ();
0x0040f53c nop |
0x0040f540 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f544 lw t9, -0x7998(gp) | t9 = sym.imp.ERR_free_strings;
0x0040f548 jalr t9 | t9 ();
0x0040f54c nop |
0x0040f550 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f554 lw t9, -0x6f90(gp) | t9 = sym.imp.COMP_zlib_cleanup;
0x0040f558 jalr t9 | t9 ();
0x0040f55c nop |
0x0040f560 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f564 lw t9, -0x7a88(gp) | t9 = sym.imp.CRYPTO_mem_leaks;
0x0040f568 lw a0, (s0) | a0 = *(s0);
0x0040f56c jalr t9 | t9 ();
0x0040f570 lw a0, (s0) | a0 = *(s0);
0x0040f574 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != 0) {
0x0040f578 beqz a0, 0x40f594 |
0x0040f57c lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x0040f580 jalr t9 | t9 ();
0x0040f584 nop |
0x0040f588 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f58c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0040f590 sw zero, (t8) | *(t8) = 0;
| }
0x0040f594 lw t9, -0x7568(gp) | t9 = sym.imp.exit;
0x0040f598 move a0, s4 | a0 = s4;
0x0040f59c jalr t9 | t9 ();
| label_7:
0x0040f5a0 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x0040f5a4 jalr t9 | t9 ();
0x0040f5a8 nop |
0x0040f5ac lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f5b0 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0040f5b4 move a0, v0 | a0 = v0;
0x0040f5b8 jalr t9 | t9 ();
0x0040f5bc lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f5c0 sw v0, (s0) | *(s0) = v0;
| if (v0 == 0) {
0x0040f5c4 beqz v0, 0x40f120 | goto label_0;
| }
0x0040f5c8 lw t8, -0x6c70(gp) | t8 = *((gp - 6940));
0x0040f5cc move a0, v0 | a0 = v0;
0x0040f5d0 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0040f5d4 addiu a1, zero, 0x6a | a1 = 0x6a;
0x0040f5d8 lw a3, (t8) | a3 = *(t8);
0x0040f5dc addiu a2, zero, 0x10 | a2 = 0x10;
0x0040f5e0 jalr t9 | t9 ();
0x0040f5e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f5e8 b 0x40f120 | goto label_0;
| label_14:
0x0040f5ec addiu t8, zero, 1 | t8 = 1;
0x0040f5f0 lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
| if (s6 != t8) {
0x0040f5f4 bne s6, t8, 0x40f73c | goto label_15;
| }
0x0040f5f8 addiu s7, sp, 0x20 | s7 = sp + 0x20;
0x0040f5fc move v0, zero | v0 = 0;
0x0040f600 lw s5, -0x77b0(gp) | s5 = *((gp - 7660));
0x0040f604 move fp, s7 | fp = s7;
0x0040f608 lw s6, -0x7bbc(gp) | s6 = *((gp - 7919));
0x0040f60c addiu s4, zero, 0x400 | s4 = 0x400;
| do {
| label_2:
0x0040f610 sb zero, (fp) | *(fp) = 0;
| if (v0 == 0) {
0x0040f614 beqz v0, 0x40f704 | goto label_16;
| }
0x0040f618 lw t8, -0x7f9c(gp) | t8 = *(gp);
0x0040f61c addiu a0, t8, 0x12e0 | a0 = t8 + 0x12e0;
| label_1:
0x0040f620 lw t9, -0x79b4(gp) | t9 = sym.imp.fputs;
0x0040f624 lw a1, (s5) | a1 = *(s5);
0x0040f628 jalr t9 | t9 ();
0x0040f62c lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f630 lw t9, -0x6fec(gp) | t9 = sym.imp.fflush;
0x0040f634 lw a0, (s5) | a0 = *(s5);
0x0040f638 jalr t9 | t9 ();
0x0040f63c move a0, fp | a0 = fp;
0x0040f640 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f644 move a1, s4 | a1 = s4;
0x0040f648 lw t9, -0x7618(gp) | t9 = sym.imp.fgets;
0x0040f64c lw a2, (s6) | a2 = *(s6);
0x0040f650 jalr t9 | t9 ();
0x0040f654 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040f658 beqz v0, 0x40f764 | goto label_17;
| }
0x0040f65c lb v0, (fp) | v0 = *(fp);
0x0040f660 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
| if (v0 == 0) {
0x0040f664 beqz v0, 0x40f764 | goto label_17;
| }
0x0040f668 move a0, fp | a0 = fp;
0x0040f66c jalr t9 | t9 ();
0x0040f670 slti a0, v0, 2 | a0 = (v0 < 2) ? 1 : 0;
0x0040f674 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 == 0) {
0x0040f678 bnez a0, 0x40f690 |
0x0040f67c addu a0, fp, v0 | a0 = fp + v0;
0x0040f680 lb a1, -2(a0) | a1 = *((a0 - 2));
0x0040f684 addiu a0, zero, 0x5c | a0 = 0x5c;
0x0040f688 addiu v0, v0, -2 | v0 += -2;
| if (a1 == a0) {
0x0040f68c beq a1, a0, 0x40f710 | goto label_18;
| }
| }
0x0040f690 lw t9, -0x7e50(gp) | t9 = sym.chopup_args;
0x0040f694 addiu a0, sp, 0x454 | a0 = sp + 0x454;
0x0040f698 move a1, s7 | a1 = s7;
0x0040f69c addiu a2, sp, 0x464 | a2 = sp + 0x464;
0x0040f6a0 addiu a3, sp, 0x460 | a3 = sp + 0x460;
0x0040f6a4 jalr t9 | t9 ();
0x0040f6a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0040f6ac beqz v0, 0x40f7a4 | goto label_19;
| }
0x0040f6b0 lw t8, -0x7fa8(gp) | t8 = *((gp - 8170));
0x0040f6b4 move a0, s2 | a0 = s2;
0x0040f6b8 lw a1, 0x464(sp) | a1 = *(var_464h);
| /* fcn.0040fb24 */
0x0040f6bc addiu t9, t8, -0x4dc | t9 = t8 + -0x4dc;
0x0040f6c0 lw a2, 0x460(sp) | a2 = *(var_460h);
0x0040f6c4 jalr t9 | t9 ();
0x0040f6c8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0040f6cc bltz v0, 0x40f764 | goto label_17;
| }
0x0040f6d0 lw t8, 0x460(sp) | t8 = *(var_460h);
| if (v0 != 0) {
0x0040f6d4 bnez v0, 0x40f71c | goto label_20;
| }
| label_3:
0x0040f6d8 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0040f6dc addiu a1, zero, 0xb | a1 = 0xb;
0x0040f6e0 lw a0, (s0) | a0 = *(s0);
0x0040f6e4 move a2, zero | a2 = 0;
0x0040f6e8 move a3, zero | a3 = 0;
0x0040f6ec move fp, s7 | fp = s7;
0x0040f6f0 jalr t9 | t9 ();
0x0040f6f4 addiu s4, zero, 0x400 | s4 = 0x400;
0x0040f6f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f6fc move v0, zero | v0 = 0;
0x0040f700 b 0x40f610 |
| } while (1);
| label_16:
0x0040f704 lw t8, -0x7fd8(gp) | t8 = *(gp);
| /* str.OpenSSL__ */
0x0040f708 addiu a0, t8, -0x37e4 | a0 = t8 + -0x37e4;
0x0040f70c b 0x40f620 | goto label_1;
| label_18:
0x0040f710 addu fp, fp, v0 | fp += v0;
0x0040f714 subu s4, s4, v0 | __asm ("subu s4, s4, v0");
0x0040f718 b 0x40f610 | goto label_2;
| label_20:
0x0040f71c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040f720 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0040f724 lw a0, (s0) | a0 = *(s0);
| /* str.error_in__s_n */
0x0040f728 addiu a1, a1, -0x374c | a1 += -0x374c;
0x0040f72c lw a2, (t8) | a2 = *(t8);
0x0040f730 jalr t9 | t9 ();
0x0040f734 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f738 b 0x40f6d8 | goto label_3;
| label_15:
0x0040f73c move a0, s2 | a0 = s2;
0x0040f740 addiu a1, s6, -1 | a1 = s6 + -1;
0x0040f744 addiu t9, t9, -0x4dc | t9 += -0x4dc;
0x0040f748 addiu a2, s5, 4 | a2 = s5 + 4;
0x0040f74c jalr t9 | t9 ();
0x0040f750 slti s4, v0, 0 | s4 = (v0 < 0) ? 1 : 0;
0x0040f754 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s4 == 0) {
0x0040f758 movn v0, zero, s4 | v0 = 0;
| }
0x0040f75c move s4, v0 | s4 = v0;
0x0040f760 b 0x40f464 | goto label_4;
| label_17:
0x0040f764 move s4, zero | s4 = 0;
0x0040f768 b 0x40f464 | goto label_4;
| label_11:
0x0040f76c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0040f770 lw t9, -0x7c68(gp) | t9 = sym.imp.getenv;
| /* str.SSLEAY_CONF */
0x0040f774 addiu a0, a0, -0x3780 | a0 += -0x3780;
0x0040f778 jalr t9 | t9 ();
0x0040f77c lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f780 move s2, v0 | s2 = v0;
| if (v0 != 0) {
0x0040f784 bnez v0, 0x40f2bc | goto label_5;
| }
0x0040f788 lw t9, -0x7e4c(gp) | t9 = sym.make_config_name;
0x0040f78c jalr t9 | t9 ();
0x0040f790 nop |
0x0040f794 lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f798 move s1, v0 | s1 = v0;
0x0040f79c move s2, v0 | s2 = v0;
0x0040f7a0 b 0x40f2bc | goto label_5;
| label_19:
0x0040f7a4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0040f7a8 addiu s4, zero, 1 | s4 = 1;
0x0040f7ac lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0040f7b0 lw a0, (s0) | a0 = *(s0);
| /* str.bad_exit_n */
0x0040f7b4 addiu a1, a1, -0x373c | a1 += -0x373c;
0x0040f7b8 jalr t9 | t9 ();
0x0040f7bc lw gp, 0x18(sp) | gp = *(var_18h);
0x0040f7c0 b 0x40f464 | goto label_4;
| label_13:
0x0040f7c4 move s2, zero | s2 = 0;
0x0040f7c8 b 0x40f410 | goto label_6;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4478b4 */
| #include <stdint.h>
|
; (fcn) sym.add_oid_section () | void add_oid_section () {
0x004478b4 lui gp, 5 |
0x004478b8 addiu gp, gp, 0x4bec |
0x004478bc addu gp, gp, t9 | gp += t9;
0x004478c0 addiu sp, sp, -0x30 |
0x004478c4 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x004478c8 sw s4, 0x28(sp) | *(var_28h) = s4;
0x004478cc sw s3, 0x24(sp) | *(var_24h) = s3;
0x004478d0 sw s2, 0x20(sp) | *(var_20h) = s2;
0x004478d4 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x004478d8 sw s0, 0x18(sp) | *(var_18h) = s0;
0x004478dc move s1, a1 | s1 = a1;
0x004478e0 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x004478e4 move s4, a0 | s4 = a0;
0x004478e8 lw t9, -0x7a50(gp) | t9 = sym.imp.NCONF_get_string;
0x004478ec move a1, zero | a1 = 0;
0x004478f0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x004478f4 move a0, s1 | a0 = s1;
| /* str.oid_section */
0x004478f8 addiu a2, a2, -0x5158 | a2 += -0x5158;
0x004478fc jalr t9 | t9 ();
0x00447900 lw gp, 0x10(sp) | gp = *(var_10h);
0x00447904 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00447908 beqz v0, 0x4479f0 | goto label_0;
| }
0x0044790c lw t9, -0x7d88(gp) | t9 = sym.imp.NCONF_get_section;
0x00447910 move a0, s1 | a0 = s1;
0x00447914 move a1, v0 | a1 = v0;
0x00447918 jalr t9 | t9 ();
0x0044791c lw gp, 0x10(sp) | gp = *(var_10h);
0x00447920 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x00447924 beqz v0, 0x447a20 | goto label_1;
| }
0x00447928 move s0, zero | s0 = 0;
0x0044792c b 0x447960 |
| while (v0 != 0) {
0x00447930 jalr t9 | t9 ();
0x00447934 nop |
0x00447938 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044793c move s1, v0 | s1 = v0;
0x00447940 lw a1, 4(v0) | a1 = *((v0 + 1));
0x00447944 lw t9, -0x6e58(gp) | t9 = sym.imp.OBJ_create;
0x00447948 lw a0, 8(v0) | a0 = *((v0 + 2));
0x0044794c move a2, a1 | a2 = a1;
0x00447950 jalr t9 | t9 ();
0x00447954 lw gp, 0x10(sp) | gp = *(var_10h);
0x00447958 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x0044795c beqz v0, 0x4479b0 | goto label_2;
| }
0x00447960 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00447964 move a0, s2 | a0 = s2;
0x00447968 jalr t9 | t9 ();
0x0044796c move a1, s0 | a1 = s0;
0x00447970 lw gp, 0x10(sp) | gp = *(var_10h);
0x00447974 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00447978 move a0, s2 | a0 = s2;
0x0044797c addiu s0, s0, 1 | s0++;
0x00447980 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00447984 bnez v0, 0x447930 |
| }
0x00447988 addiu s3, zero, 1 | s3 = 1;
0x0044798c move v0, s3 | v0 = s3;
| do {
0x00447990 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00447994 lw s4, 0x28(sp) | s4 = *(var_28h);
0x00447998 lw s3, 0x24(sp) | s3 = *(var_24h);
0x0044799c lw s2, 0x20(sp) | s2 = *(var_20h);
0x004479a0 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x004479a4 lw s0, 0x18(sp) | s0 = *(var_18h);
0x004479a8 addiu sp, sp, 0x30 |
0x004479ac jr ra | return v0;
| label_2:
0x004479b0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004479b4 move a0, s4 | a0 = s4;
0x004479b8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004479bc lw a2, 4(s1) | a2 = *((s1 + 1));
| /* str.problem_creating_object__s_s_n */
0x004479c0 addiu a1, a1, -0x512c | a1 += -0x512c;
0x004479c4 lw a3, 8(s1) | a3 = *((s1 + 2));
0x004479c8 jalr t9 | t9 ();
0x004479cc move v0, s3 | v0 = s3;
0x004479d0 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x004479d4 lw s4, 0x28(sp) | s4 = *(var_28h);
0x004479d8 lw s3, 0x24(sp) | s3 = *(var_24h);
0x004479dc lw s2, 0x20(sp) | s2 = *(var_20h);
0x004479e0 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x004479e4 lw s0, 0x18(sp) | s0 = *(var_18h);
0x004479e8 addiu sp, sp, 0x30 |
0x004479ec jr ra | return v0;
| label_0:
0x004479f0 lw t9, -0x7464(gp) | t9 = sym.imp.ERR_clear_error;
0x004479f4 addiu s3, zero, 1 | s3 = 1;
0x004479f8 jalr t9 | t9 ();
0x004479fc move v0, s3 | v0 = s3;
0x00447a00 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00447a04 lw s4, 0x28(sp) | s4 = *(var_28h);
0x00447a08 lw s3, 0x24(sp) | s3 = *(var_24h);
0x00447a0c lw s2, 0x20(sp) | s2 = *(var_20h);
0x00447a10 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00447a14 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00447a18 addiu sp, sp, 0x30 |
0x00447a1c jr ra | return v0;
| label_1:
0x00447a20 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447a24 move a0, s4 | a0 = s4;
0x00447a28 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00447a2c move a2, s0 | a2 = s0;
| /* str.problem_loading_oid_section__s_n */
0x00447a30 addiu a1, a1, -0x514c | a1 += -0x514c;
0x00447a34 move s3, zero | s3 = 0;
0x00447a38 jalr t9 | t9 ();
0x00447a3c move v0, s3 | v0 = s3;
0x00447a40 b 0x447990 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x452be0 */
| #include <stdint.h>
|
; (fcn) sym.alg_print () | void alg_print () {
0x00452be0 lui gp, 5 |
0x00452be4 addiu gp, gp, -0x6740 |
0x00452be8 addu gp, gp, t9 | gp += t9;
0x00452bec addiu sp, sp, -0x48 |
0x00452bf0 sw ra, 0x44(sp) | *(var_44h) = ra;
0x00452bf4 sw s5, 0x40(sp) | *(var_40h) = s5;
0x00452bf8 sw s4, 0x3c(sp) | *(var_3ch) = s4;
0x00452bfc sw s3, 0x38(sp) | *(var_38h) = s3;
0x00452c00 sw s2, 0x34(sp) | *(var_34h) = s2;
0x00452c04 sw s1, 0x30(sp) | *(var_30h) = s1;
0x00452c08 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00452c0c addiu s2, sp, 0x1c | s2 = sp + 0x1c;
0x00452c10 lw t9, -0x7108(gp) | t9 = sym.imp.X509_ALGOR_get0;
0x00452c14 addiu s4, sp, 0x20 | s4 = sp + 0x20;
0x00452c18 addiu s3, sp, 0x18 | s3 = sp + 0x18;
0x00452c1c move a3, a1 | a3 = a1;
0x00452c20 move a2, s3 | a2 = s3;
0x00452c24 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00452c28 move a1, s4 | a1 = s4;
0x00452c2c move s0, a0 | s0 = a0;
0x00452c30 move a0, s2 | a0 = s2;
0x00452c34 jalr t9 | t9 ();
0x00452c38 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452c3c lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x00452c40 lw a0, 0x1c(sp) | a0 = *(var_1ch);
0x00452c44 jalr t9 | t9 ();
0x00452c48 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452c4c move a0, v0 | a0 = v0;
0x00452c50 lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x00452c54 move s1, v0 | s1 = v0;
0x00452c58 jalr t9 | t9 ();
0x00452c5c move a0, s0 | a0 = s0;
0x00452c60 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452c64 move a2, v0 | a2 = v0;
0x00452c68 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00452c6c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* esilref: '&s' */
0x00452c70 addiu a1, a1, -0x4dcc | a1 += -0x4dcc;
0x00452c74 jalr t9 | t9 ();
0x00452c78 addiu t8, zero, 0xa1 | t8 = 0xa1;
0x00452c7c lw gp, 0x10(sp) | gp = *(var_10h);
| if (s1 == t8) {
0x00452c80 beq s1, t8, 0x452ce8 | goto label_4;
| }
0x00452c84 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00452c88 addiu t8, zero, 0x10 | t8 = 0x10;
0x00452c8c lw t9, -0x7588(gp) | t9 = sym.imp.ASN1_item_unpack;
| if (v0 == t8) {
0x00452c90 beq v0, t8, 0x452e84 | goto label_5;
| }
| label_0:
0x00452c94 lw a1, -0x7f9c(gp) | a1 = *(gp);
| do {
| label_1:
0x00452c98 move a0, s0 | a0 = s0;
0x00452c9c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str._unsupported_parameters_ */
0x00452ca0 addiu a1, a1, -0x2dec | a1 += -0x2dec;
0x00452ca4 jalr t9 | t9 ();
0x00452ca8 lw gp, 0x10(sp) | gp = *(var_10h);
| label_2:
0x00452cac lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00452cb0 move a0, s0 | a0 = s0;
0x00452cb4 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00452cb8 addiu a1, a1, 0x609c | a1 += 0x609c;
0x00452cbc jalr t9 | t9 ();
0x00452cc0 addiu v0, zero, 1 | v0 = 1;
0x00452cc4 lw ra, 0x44(sp) | ra = *(var_44h);
0x00452cc8 lw s5, 0x40(sp) | s5 = *(var_40h);
0x00452ccc lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x00452cd0 lw s3, 0x38(sp) | s3 = *(var_38h);
0x00452cd4 lw s2, 0x34(sp) | s2 = *(var_34h);
0x00452cd8 lw s1, 0x30(sp) | s1 = *(var_30h);
0x00452cdc lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x00452ce0 addiu sp, sp, 0x48 |
0x00452ce4 jr ra | return v0;
| label_4:
0x00452ce8 lw s5, 0x20(sp) | s5 = *(var_20h);
0x00452cec addiu t8, zero, 0x10 | t8 = 0x10;
0x00452cf0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00452cf4 bne s5, t8, 0x452c98 |
| } while (s5 != t8);
0x00452cf8 lw t9, -0x7588(gp) | t9 = sym.imp.ASN1_item_unpack;
0x00452cfc lw a1, -0x7580(gp) | a1 = *((gp - 7520));
0x00452d00 lw a0, 0x18(sp) | a0 = *(var_18h);
0x00452d04 jalr t9 | t9 ();
0x00452d08 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452d0c move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00452d10 beqz v0, 0x452c94 | goto label_0;
| }
0x00452d14 lw t9, -0x7108(gp) | t9 = sym.imp.X509_ALGOR_get0;
0x00452d18 move a1, s4 | a1 = s4;
0x00452d1c lw a3, (v0) | a3 = *(v0);
0x00452d20 move a2, s3 | a2 = s3;
0x00452d24 move a0, s2 | a0 = s2;
0x00452d28 jalr t9 | t9 ();
0x00452d2c lw gp, 0x10(sp) | gp = *(var_10h);
0x00452d30 lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x00452d34 lw a0, 0x1c(sp) | a0 = *(var_1ch);
0x00452d38 jalr t9 | t9 ();
0x00452d3c move a1, zero | a1 = 0;
0x00452d40 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452d44 move a2, zero | a2 = 0;
0x00452d48 lw a3, 4(s1) | a3 = *((s1 + 1));
0x00452d4c move a0, s2 | a0 = s2;
0x00452d50 lw t9, -0x7108(gp) | t9 = sym.imp.X509_ALGOR_get0;
0x00452d54 move s3, v0 | s3 = v0;
0x00452d58 jalr t9 | t9 ();
0x00452d5c lw gp, 0x10(sp) | gp = *(var_10h);
0x00452d60 lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x00452d64 lw a0, 0x1c(sp) | a0 = *(var_1ch);
0x00452d68 jalr t9 | t9 ();
0x00452d6c move a0, s3 | a0 = s3;
0x00452d70 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452d74 lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x00452d78 move s4, v0 | s4 = v0;
0x00452d7c jalr t9 | t9 ();
0x00452d80 move a0, s4 | a0 = s4;
0x00452d84 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452d88 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x00452d8c move s4, v0 | s4 = v0;
0x00452d90 jalr t9 | t9 ();
0x00452d94 move a0, s0 | a0 = s0;
0x00452d98 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452d9c move a2, s4 | a2 = s4;
0x00452da0 move a3, v0 | a3 = v0;
0x00452da4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00452da8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.___s___s */
0x00452dac addiu a1, a1, -0x2dd0 | a1 += -0x2dd0;
0x00452db0 jalr t9 | t9 ();
0x00452db4 addiu t8, zero, 0x45 | t8 = 0x45;
0x00452db8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s3 != t8) {
0x00452dbc bne s3, t8, 0x452e70 | goto label_6;
| }
0x00452dc0 lw t8, 0x20(sp) | t8 = *(var_20h);
0x00452dc4 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (t8 != s5) {
0x00452dc8 bne t8, s5, 0x452c98 | goto label_1;
| }
0x00452dcc lw t9, -0x7588(gp) | t9 = sym.imp.ASN1_item_unpack;
0x00452dd0 lw a1, -0x6d24(gp) | a1 = *((gp - 6985));
0x00452dd4 lw a0, 0x18(sp) | a0 = *(var_18h);
0x00452dd8 jalr t9 | t9 ();
0x00452ddc lw gp, 0x10(sp) | gp = *(var_10h);
0x00452de0 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00452de4 beqz v0, 0x452c94 | goto label_0;
| }
0x00452de8 lw a3, 0xc(v0) | a3 = *((v0 + 3));
0x00452dec lw t9, -0x7108(gp) | t9 = sym.imp.X509_ALGOR_get0;
| if (a3 == 0) {
0x00452df0 beqz a3, 0x452edc | goto label_7;
| }
0x00452df4 move a0, s2 | a0 = s2;
0x00452df8 move a1, zero | a1 = 0;
0x00452dfc move a2, zero | a2 = 0;
0x00452e00 jalr t9 | t9 ();
0x00452e04 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452e08 lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x00452e0c lw a0, 0x1c(sp) | a0 = *(var_1ch);
0x00452e10 jalr t9 | t9 ();
0x00452e14 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452e18 move s2, v0 | s2 = v0;
| label_3:
0x00452e1c lw t9, -0x7828(gp) | t9 = sym.imp.ASN1_INTEGER_get;
0x00452e20 lw a0, 4(s3) | a0 = *((s3 + 1));
0x00452e24 jalr t9 | t9 ();
0x00452e28 move a0, s2 | a0 = s2;
0x00452e2c lw gp, 0x10(sp) | gp = *(var_10h);
0x00452e30 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x00452e34 move s2, v0 | s2 = v0;
0x00452e38 jalr t9 | t9 ();
0x00452e3c move a0, s0 | a0 = s0;
0x00452e40 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452e44 move a2, s2 | a2 = s2;
0x00452e48 move a3, v0 | a3 = v0;
0x00452e4c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00452e50 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__Iteration__ld__PRF__s */
0x00452e54 addiu a1, a1, -0x2dc4 | a1 += -0x2dc4;
0x00452e58 jalr t9 | t9 ();
0x00452e5c lw gp, 0x10(sp) | gp = *(var_10h);
0x00452e60 lw t9, -0x6d7c(gp) | t9 = sym.imp.PBKDF2PARAM_free;
0x00452e64 move a0, s3 | a0 = s3;
0x00452e68 jalr t9 | t9 ();
0x00452e6c lw gp, 0x10(sp) | gp = *(var_10h);
| label_6:
0x00452e70 lw t9, -0x6d18(gp) | t9 = sym.imp.PBE2PARAM_free;
0x00452e74 move a0, s1 | a0 = s1;
0x00452e78 jalr t9 | t9 ();
0x00452e7c lw gp, 0x10(sp) | gp = *(var_10h);
0x00452e80 b 0x452cac | goto label_2;
| label_5:
0x00452e84 lw a1, -0x7328(gp) | a1 = *((gp - 7370));
0x00452e88 lw a0, 0x18(sp) | a0 = *(var_18h);
0x00452e8c jalr t9 | t9 ();
0x00452e90 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452e94 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00452e98 beqz v0, 0x452c94 | goto label_0;
| }
0x00452e9c lw t9, -0x7828(gp) | t9 = sym.imp.ASN1_INTEGER_get;
0x00452ea0 lw a0, 4(v0) | a0 = *((v0 + 1));
0x00452ea4 jalr t9 | t9 ();
0x00452ea8 move a0, s0 | a0 = s0;
0x00452eac lw gp, 0x10(sp) | gp = *(var_10h);
0x00452eb0 move a2, v0 | a2 = v0;
0x00452eb4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00452eb8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__Iteration__ld */
0x00452ebc addiu a1, a1, -0x2dac | a1 += -0x2dac;
0x00452ec0 jalr t9 | t9 ();
0x00452ec4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452ec8 lw t9, -0x7570(gp) | t9 = sym.imp.PBEPARAM_free;
0x00452ecc move a0, s1 | a0 = s1;
0x00452ed0 jalr t9 | t9 ();
0x00452ed4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00452ed8 b 0x452cac | goto label_2;
| label_7:
0x00452edc addiu s2, zero, 0xa3 | s2 = 0xa3;
0x00452ee0 b 0x452e1c | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x451190 */
| #include <stdint.h>
|
; (fcn) sym.app_RAND_load_file () | void app_RAND_load_file () {
0x00451190 lui gp, 5 |
0x00451194 addiu gp, gp, -0x4cf0 |
0x00451198 addu gp, gp, t9 | gp += t9;
0x0045119c addiu sp, sp, -0xf8 |
0x004511a0 sw ra, 0xf4(sp) | *(var_f4h) = ra;
0x004511a4 sw s3, 0xf0(sp) | *(var_f0h) = s3;
0x004511a8 sw s2, 0xec(sp) | *(var_ech) = s2;
0x004511ac sw s1, 0xe8(sp) | *(var_e8h) = s1;
0x004511b0 sw s0, 0xe4(sp) | *(var_e4h) = s0;
0x004511b4 move s1, a0 | s1 = a0;
0x004511b8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x004511bc move s2, a1 | s2 = a1;
0x004511c0 move s3, a2 | s3 = a2;
| if (a0 == 0) {
0x004511c4 beqz a0, 0x4512f4 | goto label_4;
| }
0x004511c8 lw t9, -0x6fac(gp) | t9 = sym.imp.RAND_egd;
0x004511cc jalr t9 | t9 ();
0x004511d0 nop |
0x004511d4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x004511d8 blez v0, 0x45120c | goto label_5;
| }
0x004511dc lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x004511e0 addiu v0, zero, 1 | v0 = 1;
0x004511e4 addiu s0, zero, 1 | s0 = 1;
0x004511e8 sw v0, 0x6910(t8) | *((t8 + 26896)) = v0;
| label_0:
0x004511ec move v0, s0 | v0 = s0;
| do {
| label_1:
0x004511f0 lw ra, 0xf4(sp) | ra = *(var_f4h);
0x004511f4 lw s3, 0xf0(sp) | s3 = *(var_f0h);
0x004511f8 lw s2, 0xec(sp) | s2 = *(var_ech);
0x004511fc lw s1, 0xe8(sp) | s1 = *(var_e8h);
0x00451200 lw s0, 0xe4(sp) | s0 = *(var_e4h);
0x00451204 addiu sp, sp, 0xf8 |
0x00451208 jr ra | return v0;
| label_5:
0x0045120c move a0, s1 | a0 = s1;
| label_2:
0x00451210 lw t9, -0x76dc(gp) | t9 = sym.imp.RAND_load_file;
0x00451214 addiu a1, zero, -1 | a1 = -1;
0x00451218 jalr t9 | t9 ();
0x0045121c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00451220 bnez v0, 0x4512c4 | goto label_6;
| }
0x00451224 lw t9, -0x7c4c(gp) | t9 = sym.imp.RAND_status;
| label_3:
0x00451228 jalr t9 | t9 ();
0x0045122c nop |
0x00451230 lw gp, 0x10(sp) | gp = *(var_10h);
0x00451234 move s0, v0 | s0 = v0;
| if (v0 != 0) {
0x00451238 bnez v0, 0x4512c4 | goto label_6;
| }
0x0045123c move v0, s0 | v0 = s0;
0x00451240 bnez s3, 0x4511f0 |
| } while (s3 != 0);
0x00451244 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00451248 move a0, s2 | a0 = s2;
0x0045124c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_load_random_state_n */
0x00451250 addiu a1, a1, -0x3314 | a1 += -0x3314;
0x00451254 jalr t9 | t9 ();
0x00451258 move a0, s2 | a0 = s2;
0x0045125c lw gp, 0x10(sp) | gp = *(var_10h);
0x00451260 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00451264 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.This_means_that_the_random_number_generator_has_not_been_seeded_n */
0x00451268 addiu a1, a1, -0x32f4 | a1 += -0x32f4;
0x0045126c jalr t9 | t9 ();
0x00451270 move a0, s2 | a0 = s2;
0x00451274 lw gp, 0x10(sp) | gp = *(var_10h);
0x00451278 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0045127c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.with_much_random_data._n */
0x00451280 addiu a1, a1, -0x32b0 | a1 += -0x32b0;
0x00451284 jalr t9 | t9 ();
0x00451288 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s1 != 0) {
0x0045128c bnez s1, 0x4511ec | goto label_0;
| }
0x00451290 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00451294 move a0, s2 | a0 = s2;
0x00451298 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Consider_setting_the_RANDFILE_environment_variable_to_point_at_a_file_that_n */
0x0045129c addiu a1, a1, -0x3298 | a1 += -0x3298;
0x004512a0 jalr t9 | t9 ();
0x004512a4 move a0, s2 | a0 = s2;
0x004512a8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004512ac lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004512b0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.random_data_can_be_kept_in__the_file_will_be_overwritten_._n */
0x004512b4 addiu a1, a1, -0x324c | a1 += -0x324c;
0x004512b8 jalr t9 | t9 ();
0x004512bc move v0, s0 | v0 = s0;
0x004512c0 b 0x4511f0 | goto label_1;
| label_6:
0x004512c4 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x004512c8 addiu s0, zero, 1 | s0 = 1;
0x004512cc addiu v0, zero, 1 | v0 = 1;
0x004512d0 sw v0, 0x6914(t8) | *((t8 + 26900)) = v0;
0x004512d4 move v0, s0 | v0 = s0;
0x004512d8 lw ra, 0xf4(sp) | ra = *(var_f4h);
0x004512dc lw s3, 0xf0(sp) | s3 = *(var_f0h);
0x004512e0 lw s2, 0xec(sp) | s2 = *(var_ech);
0x004512e4 lw s1, 0xe8(sp) | s1 = *(var_e8h);
0x004512e8 lw s0, 0xe4(sp) | s0 = *(var_e4h);
0x004512ec addiu sp, sp, 0xf8 |
0x004512f0 jr ra | return v0;
| label_4:
0x004512f4 lw t9, -0x729c(gp) | t9 = sym.imp.RAND_file_name;
0x004512f8 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x004512fc addiu a1, zero, 0xc8 | a1 = 0xc8;
0x00451300 jalr t9 | t9 ();
0x00451304 lw gp, 0x10(sp) | gp = *(var_10h);
0x00451308 move a0, v0 | a0 = v0;
| if (v0 != 0) {
0x0045130c bnez v0, 0x451210 | goto label_2;
| }
0x00451310 lw t9, -0x7c4c(gp) | t9 = sym.imp.RAND_status;
0x00451314 b 0x451228 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4513fc */
| #include <stdint.h>
|
; (fcn) sym.app_RAND_load_files () | void app_RAND_load_files () {
0x004513fc lui gp, 5 |
0x00451400 addiu gp, gp, -0x4f5c |
0x00451404 addu gp, gp, t9 | gp += t9;
0x00451408 addiu sp, sp, -0x30 |
0x0045140c sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00451410 sw s4, 0x28(sp) | *(var_28h) = s4;
0x00451414 sw s3, 0x24(sp) | *(var_24h) = s3;
0x00451418 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0045141c sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00451420 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00451424 move s1, a0 | s1 = a0;
0x00451428 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0045142c move s2, zero | s2 = 0;
0x00451430 lb t8, (s1) | t8 = *(s1);
0x00451434 addiu s0, zero, 0x3a | s0 = 0x3a;
| if (t8 == 0) {
0x00451438 beqz t8, 0x4514a4 | goto label_4;
| }
| label_0:
0x0045143c move t8, s1 | t8 = s1;
| if (t8 == s0) {
0x00451440 beq t8, s0, 0x4514ac | goto label_5;
| }
0x00451444 addiu t8, t8, 1 | t8++;
0x00451448 b 0x451458 |
| if (v1 == s0) {
| while (v1 != 0) {
0x0045144c beq v1, s0, 0x4514ac | goto label_5;
| }
0x00451450 nop |
0x00451454 addiu t8, t8, 1 | t8++;
0x00451458 lb v1, (t8) | v1 = *(t8);
0x0045145c bnez v1, 0x45144c |
| }
0x00451460 nop |
| label_1:
0x00451464 sb zero, (t8) | *(t8) = 0;
0x00451468 addiu s3, zero, 1 | s3 = 1;
0x0045146c lb v0, (s1) | v0 = *(s1);
0x00451470 addiu s4, t8, 1 | s4 = t8 + 1;
| if (v0 == 0) {
0x00451474 beqz v0, 0x4514c0 | goto label_6;
| }
| label_2:
0x00451478 lw t9, -0x6fac(gp) | t9 = sym.imp.RAND_egd;
0x0045147c move a0, s1 | a0 = s1;
0x00451480 jalr t9 | t9 ();
0x00451484 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x00451488 blez v0, 0x4514fc | goto label_7;
| }
| label_3:
0x0045148c addu s2, s2, v0 | s2 += v0;
| if (s3 != 0) {
0x00451490 bnez s3, 0x4514c0 | goto label_6;
| }
0x00451494 move s1, s4 | s1 = s4;
0x00451498 lb t8, (s1) | t8 = *(s1);
| if (t8 != 0) {
0x0045149c bnez t8, 0x45143c | goto label_0;
| }
0x004514a0 nop |
| label_4:
0x004514a4 move t8, s1 | t8 = s1;
0x004514a8 b 0x451464 | goto label_1;
| label_5:
0x004514ac sb zero, (t8) | *(t8) = 0;
0x004514b0 move s3, zero | s3 = 0;
0x004514b4 lb v0, (s1) | v0 = *(s1);
0x004514b8 addiu s4, t8, 1 | s4 = t8 + 1;
| if (v0 != 0) {
0x004514bc bnez v0, 0x451478 | goto label_2;
| }
| label_6:
0x004514c0 slti t8, s2, 0x201 | t8 = (s2 < 0x201) ? 1 : 0;
0x004514c4 move v0, s2 | v0 = s2;
| if (t8 == 0) {
0x004514c8 bnez t8, 0x4514dc |
0x004514cc lw t9, -0x7de0(gp) | t9 = sym.app_RAND_allow_write_file;
0x004514d0 jalr t9 | t9 ();
0x004514d4 nop |
0x004514d8 move v0, s2 | v0 = s2;
| }
0x004514dc lw ra, 0x2c(sp) | ra = *(var_2ch);
0x004514e0 lw s4, 0x28(sp) | s4 = *(var_28h);
0x004514e4 lw s3, 0x24(sp) | s3 = *(var_24h);
0x004514e8 lw s2, 0x20(sp) | s2 = *(var_20h);
0x004514ec lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x004514f0 lw s0, 0x18(sp) | s0 = *(var_18h);
0x004514f4 addiu sp, sp, 0x30 |
0x004514f8 jr ra | return v0;
| label_7:
0x004514fc lw t9, -0x76dc(gp) | t9 = sym.imp.RAND_load_file;
0x00451500 move a0, s1 | a0 = s1;
0x00451504 addiu a1, zero, -1 | a1 = -1;
0x00451508 jalr t9 | t9 ();
0x0045150c lw gp, 0x10(sp) | gp = *(var_10h);
0x00451510 b 0x45148c | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x451318 */
| #include <stdint.h>
|
; (fcn) sym.app_RAND_write_file () | void app_RAND_write_file () {
0x00451318 lui gp, 5 |
0x0045131c addiu gp, gp, -0x4e78 |
0x00451320 addu gp, gp, t9 | gp += t9;
0x00451324 addiu sp, sp, -0xe8 |
0x00451328 sw ra, 0xe4(sp) | *(var_e4h) = ra;
0x0045132c sw s0, 0xe0(sp) | *(var_e0h) = s0;
0x00451330 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x00451334 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00451338 lw t8, 0x6910(t8) | t8 = *((t8 + 6724));
0x0045133c lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
| if (t8 != 0) {
0x00451340 bnez t8, 0x451394 | goto label_1;
| }
0x00451344 lw t8, 0x6914(t8) | t8 = *((t8 + 6725));
0x00451348 lw ra, 0xe4(sp) | ra = *(var_e4h);
| if (t8 == 0) {
0x0045134c beqz t8, 0x451398 | goto label_2;
| }
0x00451350 move s0, a1 | s0 = a1;
| if (a0 == 0) {
0x00451354 beqz a0, 0x4513bc | goto label_3;
| }
0x00451358 lw t9, -0x7174(gp) | t9 = sym.imp.RAND_write_file;
| label_0:
0x0045135c jalr t9 | t9 ();
0x00451360 nop |
0x00451364 lw gp, 0x10(sp) | gp = *(var_10h);
0x00451368 bnez v0, 0x4513a8 |
| while (v0 == 0) {
0x0045136c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00451370 move a0, s0 | a0 = s0;
0x00451374 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_write_random_state_n */
0x00451378 addiu a1, a1, -0x320c | a1 += -0x320c;
0x0045137c jalr t9 | t9 ();
0x00451380 move v0, zero | v0 = 0;
0x00451384 lw ra, 0xe4(sp) | ra = *(var_e4h);
0x00451388 lw s0, 0xe0(sp) | s0 = *(var_e0h);
0x0045138c addiu sp, sp, 0xe8 |
0x00451390 jr ra | return v0;
| label_1:
0x00451394 lw ra, 0xe4(sp) | ra = *(var_e4h);
| label_2:
0x00451398 move v0, zero | v0 = 0;
0x0045139c lw s0, 0xe0(sp) | s0 = *(var_e0h);
0x004513a0 addiu sp, sp, 0xe8 |
0x004513a4 jr ra | return v0;
0x004513a8 lw ra, 0xe4(sp) | ra = *(var_e4h);
0x004513ac addiu v0, zero, 1 | v0 = 1;
0x004513b0 lw s0, 0xe0(sp) | s0 = *(var_e0h);
0x004513b4 addiu sp, sp, 0xe8 |
0x004513b8 jr ra | return v0;
| label_3:
0x004513bc lw t9, -0x729c(gp) | t9 = sym.imp.RAND_file_name;
0x004513c0 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x004513c4 addiu a1, zero, 0xc8 | a1 = 0xc8;
0x004513c8 jalr t9 | t9 ();
0x004513cc lw gp, 0x10(sp) | gp = *(var_10h);
0x004513d0 move a0, v0 | a0 = v0;
0x004513d4 beqz v0, 0x45136c |
| }
0x004513d8 lw t9, -0x7174(gp) | t9 = sym.imp.RAND_write_file;
0x004513dc b 0x45135c | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4475fc */
| #include <stdint.h>
|
; (fcn) sym.app_passwd () | void app_passwd () {
0x004475fc lui gp, 5 |
0x00447600 addiu gp, gp, 0x4ea4 |
0x00447604 addu gp, gp, t9 | gp += t9;
0x00447608 addiu sp, sp, -0x40 |
0x0044760c sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00447610 sw s7, 0x38(sp) | *(var_38h) = s7;
0x00447614 sw s6, 0x34(sp) | *(var_34h) = s6;
0x00447618 sw s5, 0x30(sp) | *(var_30h) = s5;
0x0044761c sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x00447620 sw s3, 0x28(sp) | *(var_28h) = s3;
0x00447624 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00447628 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044762c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00447630 move s0, a2 | s0 = a2;
0x00447634 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00447638 move s7, a0 | s7 = a0;
0x0044763c lw s5, 0x50(sp) | s5 = *(arg_50h);
0x00447640 move s2, a1 | s2 = a1;
0x00447644 move s3, a3 | s3 = a3;
| if (a2 == 0) {
0x00447648 beqz a2, 0x4477a0 | goto label_5;
| }
0x0044764c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| if (a1 == 0) {
0x00447650 beqz a1, 0x4477a8 | goto label_6;
| }
0x00447654 move a0, a1 | a0 = a1;
0x00447658 move a1, a2 | a1 = a2;
0x0044765c jalr t9 | t9 ();
0x00447660 lw gp, 0x10(sp) | gp = *(var_10h);
0x00447664 sltiu s6, v0, 1 | s6 = (v0 < 1) ? 1 : 0;
| label_1:
0x00447668 lw s4, -0x7f9c(gp) | s4 = *(gp);
0x0044766c move a0, s2 | a0 = s2;
0x00447670 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00447674 addiu a2, zero, 5 | a2 = 5;
| /* str.pass: */
0x00447678 addiu a1, s4, -0x518c | a1 = s4 + -0x518c;
0x0044767c jalr t9 | t9 ();
0x00447680 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00447684 beqz v0, 0x44781c | goto label_7;
| }
0x00447688 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044768c move a0, s2 | a0 = s2;
0x00447690 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00447694 addiu a2, zero, 4 | a2 = 4;
| /* str.env: */
0x00447698 addiu a1, a1, -0x5184 | a1 += -0x5184;
0x0044769c jalr t9 | t9 ();
0x004476a0 lw gp, 0x10(sp) | gp = *(var_10h);
0x004476a4 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x004476a8 beqz v0, 0x4477c4 | goto label_8;
| }
0x004476ac lw t9, -0x7e1c(gp) | t9 = *((gp - 8071));
0x004476b0 move a0, s7 | a0 = s7;
0x004476b4 move a1, s2 | a1 = s2;
| /* fcn.00446aa0 */
0x004476b8 addiu t9, t9, 0x6aa0 | t9 += 0x6aa0;
0x004476bc move a2, s6 | a2 = s6;
0x004476c0 jalr t9 | t9 ();
0x004476c4 lw gp, 0x10(sp) | gp = *(var_10h);
| label_3:
0x004476c8 sw v0, (s3) | *(s3) = v0;
| if (v0 == 0) {
0x004476cc beqz v0, 0x44786c | goto label_9;
| }
| if (s0 == 0) {
0x004476d0 beqz s0, 0x447830 | goto label_10;
| }
0x004476d4 nop |
0x004476d8 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
| if (s6 != 0) {
0x004476dc bnez s6, 0x447770 | goto label_11;
| }
| label_2:
0x004476e0 move a0, s0 | a0 = s0;
| /* str.pass: */
0x004476e4 addiu a1, s4, -0x518c | a1 = s4 + -0x518c;
0x004476e8 addiu a2, zero, 5 | a2 = 5;
0x004476ec jalr t9 | t9 ();
0x004476f0 move s2, zero | s2 = 0;
0x004476f4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x004476f8 beqz v0, 0x44778c | goto label_12;
| }
| do {
0x004476fc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447700 move a0, s0 | a0 = s0;
0x00447704 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00447708 addiu a2, zero, 4 | a2 = 4;
| /* str.env: */
0x0044770c addiu a1, a1, -0x5184 | a1 += -0x5184;
0x00447710 jalr t9 | t9 ();
0x00447714 lw gp, 0x10(sp) | gp = *(var_10h);
0x00447718 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0044771c beqz v0, 0x4477f0 | goto label_13;
| }
0x00447720 lw t9, -0x7e1c(gp) | t9 = *((gp - 8071));
0x00447724 move a0, s7 | a0 = s7;
0x00447728 move a1, s0 | a1 = s0;
0x0044772c addiu t9, t9, 0x6aa0 | t9 += 0x6aa0;
0x00447730 move a2, s2 | a2 = s2;
0x00447734 jalr t9 | t9 ();
0x00447738 sw v0, (s5) | *(s5) = v0;
| label_0:
0x0044773c sltu s1, zero, v0 | s1 = (0 < v0) ? 1 : 0;
| label_4:
0x00447740 move v0, s1 | v0 = s1;
0x00447744 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00447748 lw s7, 0x38(sp) | s7 = *(var_38h);
0x0044774c lw s6, 0x34(sp) | s6 = *(var_34h);
0x00447750 lw s5, 0x30(sp) | s5 = *(var_30h);
0x00447754 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00447758 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044775c lw s2, 0x24(sp) | s2 = *(var_24h);
0x00447760 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00447764 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00447768 addiu sp, sp, 0x40 |
0x0044776c jr ra | return v0;
| label_11:
0x00447770 move a0, s0 | a0 = s0;
| /* str.pass: */
0x00447774 addiu a1, s4, -0x518c | a1 = s4 + -0x518c;
0x00447778 addiu a2, zero, 5 | a2 = 5;
0x0044777c jalr t9 | t9 ();
0x00447780 addiu s2, zero, 2 | s2 = 2;
0x00447784 lw gp, 0x10(sp) | gp = *(var_10h);
0x00447788 bnez v0, 0x4476fc |
| } while (v0 != 0);
| label_12:
0x0044778c lw t9, -0x71d0(gp) | t9 = sym.imp.BUF_strdup;
0x00447790 addiu a0, s0, 5 | a0 = s0 + 5;
0x00447794 jalr t9 | t9 ();
0x00447798 sw v0, (s5) | *(s5) = v0;
0x0044779c b 0x44773c | goto label_0;
| label_5:
0x004477a0 move s6, zero | s6 = 0;
| if (a1 != 0) {
0x004477a4 bnez a1, 0x447668 | goto label_1;
| }
| if (s3 != 0) {
| label_6:
0x004477a8 beqz s3, 0x4477b4 |
0x004477ac nop |
0x004477b0 sw zero, (s3) | *(s3) = 0;
| }
0x004477b4 lw s4, -0x7f9c(gp) | s4 = *(gp);
| if (s0 != 0) {
0x004477b8 beqz s0, 0x447830 |
0x004477bc lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x004477c0 b 0x4476e0 | goto label_2;
| label_8:
0x004477c4 lw t9, -0x7c68(gp) | t9 = sym.imp.getenv;
0x004477c8 addiu s2, s2, 4 | s2 += 4;
0x004477cc move a0, s2 | a0 = s2;
0x004477d0 jalr t9 | t9 ();
0x004477d4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x004477d8 beqz v0, 0x447894 | goto label_14;
| }
0x004477dc lw t9, -0x71d0(gp) | t9 = sym.imp.BUF_strdup;
0x004477e0 move a0, v0 | a0 = v0;
0x004477e4 jalr t9 | t9 ();
0x004477e8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004477ec b 0x4476c8 | goto label_3;
| label_13:
0x004477f0 lw t9, -0x7c68(gp) | t9 = sym.imp.getenv;
0x004477f4 addiu s0, s0, 4 | s0 += 4;
0x004477f8 move a0, s0 | a0 = s0;
0x004477fc jalr t9 | t9 ();
0x00447800 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00447804 beqz v0, 0x447874 | goto label_15;
| }
0x00447808 lw t9, -0x71d0(gp) | t9 = sym.imp.BUF_strdup;
0x0044780c move a0, v0 | a0 = v0;
0x00447810 jalr t9 | t9 ();
0x00447814 sw v0, (s5) | *(s5) = v0;
0x00447818 b 0x44773c | goto label_0;
| label_7:
0x0044781c lw t9, -0x71d0(gp) | t9 = sym.imp.BUF_strdup;
0x00447820 addiu a0, s2, 5 | a0 = s2 + 5;
0x00447824 jalr t9 | t9 ();
0x00447828 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044782c b 0x4476c8 | goto label_3;
| }
| label_10:
0x00447830 addiu s1, zero, 1 | s1 = 1;
| if (s5 == 0) {
0x00447834 beqz s5, 0x447740 | goto label_4;
| }
0x00447838 move v0, s1 | v0 = s1;
0x0044783c sw zero, (s5) | *(s5) = 0;
0x00447840 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00447844 lw s7, 0x38(sp) | s7 = *(var_38h);
0x00447848 lw s6, 0x34(sp) | s6 = *(var_34h);
0x0044784c lw s5, 0x30(sp) | s5 = *(var_30h);
0x00447850 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00447854 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00447858 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044785c lw s1, 0x20(sp) | s1 = *(var_20h);
0x00447860 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00447864 addiu sp, sp, 0x40 |
0x00447868 jr ra | return v0;
| label_9:
0x0044786c move s1, zero | s1 = 0;
0x00447870 b 0x447740 | goto label_4;
| label_15:
0x00447874 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447878 move a0, s7 | a0 = s7;
0x0044787c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00447880 move a2, s0 | a2 = s0;
| /* str.Cant_read_environment_variable__s_n */
0x00447884 addiu a1, a1, -0x517c | a1 += -0x517c;
0x00447888 jalr t9 | t9 ();
0x0044788c sw zero, (s5) | *(s5) = 0;
0x00447890 b 0x447740 | goto label_4;
| label_14:
0x00447894 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447898 move a0, s7 | a0 = s7;
0x0044789c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004478a0 move a2, s2 | a2 = s2;
| /* str.Cant_read_environment_variable__s_n */
0x004478a4 addiu a1, a1, -0x517c | a1 += -0x517c;
0x004478a8 jalr t9 | t9 ();
0x004478ac sw zero, (s3) | *(s3) = 0;
0x004478b0 b 0x447740 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44e0f0 */
| #include <stdint.h>
|
; (fcn) sym.apps_ssl_info_callback () | void apps_ssl_info_callback () {
0x0044e0f0 lui gp, 5 |
0x0044e0f4 addiu gp, gp, -0x1c50 |
0x0044e0f8 addu gp, gp, t9 | gp += t9;
0x0044e0fc addiu sp, sp, -0x38 |
0x0044e100 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0044e104 sw s2, 0x30(sp) | *(var_30h) = s2;
0x0044e108 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0044e10c sw s0, 0x28(sp) | *(var_28h) = s0;
0x0044e110 andi t8, a1, 0x1000 | t8 = a1 & 0x1000;
0x0044e114 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0044e118 andi t8, a1, 0x2000 | t8 = a1 & 0x2000;
| if (t8 != 0) {
0x0044e11c bnez t8, 0x44e178 | goto label_4;
| }
0x0044e120 andi t8, a1, 1 | t8 = a1 & 1;
| if (t8 == 0) {
0x0044e124 beqz t8, 0x44e264 | goto label_5;
| }
0x0044e128 lw s1, -0x7f9c(gp) | s1 = *(gp);
| /* str.SSL_accept */
0x0044e12c addiu s1, s1, -0x4248 | s1 += -0x4248;
| if (t8 == 0) {
0x0044e130 beqz t8, 0x44e18c | goto label_6;
| }
0x0044e134 lw t9, -0x7cd0(gp) | t9 = sym.imp.SSL_state_string_long;
| do {
0x0044e138 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044e13c lw s0, (t8) | s0 = *(t8);
0x0044e140 jalr t9 | t9 ();
0x0044e144 move a2, s1 | a2 = s1;
0x0044e148 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044e14c move a0, s0 | a0 = s0;
0x0044e150 move a3, v0 | a3 = v0;
0x0044e154 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e158 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._s:_s_n */
0x0044e15c addiu a1, a1, -0x4220 | a1 += -0x4220;
| label_1:
0x0044e160 lw ra, 0x34(sp) | ra = *(var_34h);
0x0044e164 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0044e168 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0044e16c lw s0, 0x28(sp) | s0 = *(var_28h);
0x0044e170 addiu sp, sp, 0x38 |
0x0044e174 jr t9 | t9 ();
| label_4:
0x0044e178 lw s1, -0x7f9c(gp) | s1 = *(gp);
| /* str.SSL_connect */
0x0044e17c addiu s1, s1, -0x4254 | s1 += -0x4254;
| label_2:
0x0044e180 andi t8, a1, 1 | t8 = a1 & 1;
0x0044e184 lw t9, -0x7cd0(gp) | t9 = sym.imp.SSL_state_string_long;
0x0044e188 bnez t8, 0x44e138 |
| } while (t8 != 0);
| label_6:
0x0044e18c andi t8, a1, 0x4000 | t8 = a1 & 0x4000;
| if (t8 == 0) {
0x0044e190 beqz t8, 0x44e218 | goto label_7;
| }
0x0044e194 nop |
0x0044e198 andi a1, a1, 4 | a1 &= 4;
0x0044e19c lw s2, -0x7f9c(gp) | s2 = *(gp);
| if (a1 != 0) {
0x0044e1a0 bnez a1, 0x44e29c | goto label_8;
| }
0x0044e1a4 lw s2, -0x7f9c(gp) | s2 = *(gp);
| /* str.write */
0x0044e1a8 addiu s2, s2, -0x4228 | s2 += -0x4228;
| label_3:
0x0044e1ac lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044e1b0 move a0, a2 | a0 = a2;
0x0044e1b4 lw t9, -0x73e4(gp) | t9 = sym.imp.SSL_alert_type_string_long;
0x0044e1b8 lw s1, (t8) | s1 = *(t8);
0x0044e1bc sw a2, 0x20(sp) | *(var_20h) = a2;
0x0044e1c0 jalr t9 | t9 ();
0x0044e1c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044e1c8 move s0, v0 | s0 = v0;
0x0044e1cc lw a2, 0x20(sp) | a2 = *(var_20h);
0x0044e1d0 lw t9, -0x75cc(gp) | t9 = sym.imp.SSL_alert_desc_string_long;
0x0044e1d4 move a0, a2 | a0 = a2;
0x0044e1d8 jalr t9 | t9 ();
0x0044e1dc move a0, s1 | a0 = s1;
0x0044e1e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044e1e4 move a2, s2 | a2 = s2;
0x0044e1e8 move a3, s0 | a3 = s0;
0x0044e1ec sw v0, 0x10(sp) | *(var_10h) = v0;
0x0044e1f0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e1f4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.SSL3_alert__s:_s:_s_n */
0x0044e1f8 addiu a1, a1, -0x4218 | a1 += -0x4218;
0x0044e1fc jalr t9 | t9 ();
0x0044e200 lw ra, 0x34(sp) | ra = *(var_34h);
| do {
0x0044e204 lw s2, 0x30(sp) | s2 = *(var_30h);
| label_0:
0x0044e208 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0044e20c lw s0, 0x28(sp) | s0 = *(var_28h);
0x0044e210 addiu sp, sp, 0x38 |
0x0044e214 jr ra | return v0;
| label_7:
0x0044e218 andi a1, a1, 2 | a1 &= 2;
0x0044e21c lw ra, 0x34(sp) | ra = *(var_34h);
0x0044e220 beqz a1, 0x44e204 |
| } while (a1 == 0);
0x0044e224 lw t9, -0x7cd0(gp) | t9 = sym.imp.SSL_state_string_long;
| if (a2 == 0) {
0x0044e228 beqz a2, 0x44e270 | goto label_9;
| }
0x0044e22c lw s2, 0x30(sp) | s2 = *(var_30h);
| if (a2 >= 0) {
0x0044e230 bgez a2, 0x44e208 | goto label_0;
| }
0x0044e234 lw t9, -0x7cd0(gp) | t9 = sym.imp.SSL_state_string_long;
0x0044e238 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044e23c lw s0, (t8) | s0 = *(t8);
0x0044e240 jalr t9 | t9 ();
0x0044e244 move a2, s1 | a2 = s1;
0x0044e248 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044e24c move a0, s0 | a0 = s0;
0x0044e250 move a3, v0 | a3 = v0;
0x0044e254 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e258 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._s:error_in__s_n */
0x0044e25c addiu a1, a1, -0x41ec | a1 += -0x41ec;
0x0044e260 b 0x44e160 | goto label_1;
| label_5:
0x0044e264 lw s1, -0x7f9c(gp) | s1 = *(gp);
| /* str.undefined */
0x0044e268 addiu s1, s1, -0x423c | s1 += -0x423c;
0x0044e26c b 0x44e180 | goto label_2;
| label_9:
0x0044e270 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044e274 lw s0, (t8) | s0 = *(t8);
0x0044e278 jalr t9 | t9 ();
0x0044e27c move a2, s1 | a2 = s1;
0x0044e280 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044e284 move a0, s0 | a0 = s0;
0x0044e288 move a3, v0 | a3 = v0;
0x0044e28c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e290 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._s:failed_in__s_n */
0x0044e294 addiu a1, a1, -0x4200 | a1 += -0x4200;
0x0044e298 b 0x44e160 | goto label_1;
| /* str.read */
| label_8:
0x0044e29c addiu s2, s2, -0x4230 | s2 += -0x4230;
0x0044e2a0 b 0x44e1ac | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44f490 */
| #include <stdint.h>
|
; (fcn) sym.args_excert () | void args_excert () {
0x0044f490 lui gp, 5 |
0x0044f494 addiu gp, gp, -0x2ff0 |
0x0044f498 addu gp, gp, t9 | gp += t9;
0x0044f49c addiu sp, sp, -0x40 |
0x0044f4a0 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0044f4a4 sw s7, 0x38(sp) | *(var_38h) = s7;
0x0044f4a8 sw s6, 0x34(sp) | *(var_34h) = s6;
0x0044f4ac sw s5, 0x30(sp) | *(var_30h) = s5;
0x0044f4b0 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0044f4b4 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0044f4b8 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0044f4bc sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044f4c0 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044f4c4 move s1, a0 | s1 = a0;
0x0044f4c8 lw s3, 0x50(sp) | s3 = *(arg_50h);
0x0044f4cc move s4, a1 | s4 = a1;
0x0044f4d0 lw t8, (a0) | t8 = *(a0);
0x0044f4d4 move s5, a2 | s5 = a2;
0x0044f4d8 lw s0, (s3) | s0 = *(s3);
0x0044f4dc move s6, a3 | s6 = a3;
0x0044f4e0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044f4e4 lw s2, (t8) | s2 = *(t8);
0x0044f4e8 lw s7, 4(t8) | s7 = *((t8 + 1));
| if (s0 == 0) {
0x0044f4ec beqz s0, 0x44f6ec | goto label_4;
| }
| label_3:
0x0044f4f0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f4f4 move a0, s2 | a0 = s2;
0x0044f4f8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._xcert */
0x0044f4fc addiu a1, a1, -0x3a88 | a1 += -0x3a88;
0x0044f500 jalr t9 | t9 ();
0x0044f504 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044f508 bnez v0, 0x44f5d4 |
0x0044f50c addiu t8, zero, 1 | t8 = 1;
| if (s7 == 0) {
0x0044f510 beqz s7, 0x44f6e0 | goto label_5;
| }
0x0044f514 lw t8, 4(s0) | t8 = *((s0 + 1));
0x0044f518 addiu a0, zero, 0x2c | a0 = 0x2c;
| if (t8 == 0) {
0x0044f51c beqz t8, 0x44f6d8 | goto label_6;
| }
0x0044f520 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f524 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044f528 addiu a2, zero, 0x4ff | a2 = 0x4ff;
| /* str.s_cb.c */
0x0044f52c addiu a1, a1, -0x436c | a1 += -0x436c;
0x0044f530 jalr t9 | t9 ();
0x0044f534 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f538 move t8, v0 | t8 = v0;
| if (v0 == 0) {
0x0044f53c beqz v0, 0x44f7c8 | goto label_7;
| }
0x0044f540 lw v1, (s0) | v1 = *(s0);
0x0044f544 lw v0, 8(s0) | v0 = *((s0 + 2));
0x0044f548 sw zero, 4(t8) | *((t8 + 4)) = 0;
0x0044f54c sw zero, 0xc(t8) | *((t8 + 12)) = 0;
0x0044f550 sw zero, 0x10(t8) | *((t8 + 16)) = 0;
0x0044f554 sw zero, 0x14(t8) | *((t8 + 20)) = 0;
0x0044f558 sw zero, 0x18(t8) | *((t8 + 24)) = 0;
0x0044f55c sw zero, 0x1c(t8) | *((t8 + 28)) = 0;
0x0044f560 sw zero, 0x28(t8) | *((t8 + 40)) = 0;
0x0044f564 sw zero, 0x20(t8) | *((t8 + 32)) = 0;
0x0044f568 sw s0, 0x24(t8) | *((t8 + 36)) = s0;
0x0044f56c sw v1, (t8) | *(t8) = v1;
0x0044f570 sw v0, 8(t8) | *((t8 + 8)) = v0;
0x0044f574 sw t8, 0x28(s0) | *((s0 + 10)) = t8;
| label_1:
0x0044f578 sw s7, 4(t8) | *((t8 + 4)) = s7;
0x0044f57c addiu v1, zero, 8 | v1 = 8;
0x0044f580 addiu a0, zero, 2 | a0 = 2;
| label_0:
0x0044f584 lw v0, (s1) | v0 = *(s1);
0x0044f588 addu v0, v0, v1 | v0 += v1;
0x0044f58c sw v0, (s1) | *(s1) = v0;
| if (s4 != 0) {
0x0044f590 beqz s4, 0x44f5a0 |
0x0044f594 lw v0, (s4) | v0 = *(s4);
0x0044f598 subu a0, v0, a0 | __asm ("subu a0, v0, a0");
0x0044f59c sw a0, (s4) | *(s4) = a0;
| }
0x0044f5a0 sw t8, (s3) | *(s3) = t8;
0x0044f5a4 addiu v0, zero, 1 | v0 = 1;
| label_2:
0x0044f5a8 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0044f5ac lw s7, 0x38(sp) | s7 = *(var_38h);
0x0044f5b0 lw s6, 0x34(sp) | s6 = *(var_34h);
0x0044f5b4 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044f5b8 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044f5bc lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044f5c0 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044f5c4 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044f5c8 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044f5cc addiu sp, sp, 0x40 |
0x0044f5d0 jr ra | return v0;
| }
0x0044f5d4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f5d8 move a0, s2 | a0 = s2;
0x0044f5dc lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._xkey */
0x0044f5e0 addiu a1, a1, -0x3a80 | a1 += -0x3a80;
0x0044f5e4 jalr t9 | t9 ();
0x0044f5e8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044f5ec bnez v0, 0x44f650 | goto label_8;
| }
0x0044f5f0 addiu t8, zero, 1 | t8 = 1;
| if (s7 == 0) {
0x0044f5f4 beqz s7, 0x44f6e0 | goto label_5;
| }
0x0044f5f8 lw t8, 0xc(s0) | t8 = *((s0 + 3));
0x0044f5fc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (t8 == 0) {
0x0044f600 beqz t8, 0x44f6c4 | goto label_9;
| }
0x0044f604 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f608 move a0, s6 | a0 = s6;
| /* str.Key_already_specified_n */
0x0044f60c addiu a1, a1, -0x3a78 | a1 += -0x3a78;
| do {
0x0044f610 jalr t9 | t9 ();
0x0044f614 nop |
0x0044f618 addiu t8, zero, 1 | t8 = 1;
0x0044f61c sw t8, (s5) | *(s5) = t8;
0x0044f620 addiu v0, zero, 1 | v0 = 1;
0x0044f624 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0044f628 lw s7, 0x38(sp) | s7 = *(var_38h);
0x0044f62c lw s6, 0x34(sp) | s6 = *(var_34h);
0x0044f630 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044f634 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044f638 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044f63c lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044f640 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044f644 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044f648 addiu sp, sp, 0x40 |
0x0044f64c jr ra | return v0;
| label_8:
0x0044f650 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f654 move a0, s2 | a0 = s2;
0x0044f658 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._xchain */
0x0044f65c addiu a1, a1, -0x3a60 | a1 += -0x3a60;
0x0044f660 jalr t9 | t9 ();
0x0044f664 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044f668 bnez v0, 0x44f690 | goto label_10;
| }
0x0044f66c addiu t8, zero, 1 | t8 = 1;
| if (s7 == 0) {
0x0044f670 beqz s7, 0x44f6e0 | goto label_5;
| }
0x0044f674 lw t8, 0x10(s0) | t8 = *((s0 + 4));
0x0044f678 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (t8 == 0) {
0x0044f67c beqz t8, 0x44f810 | goto label_11;
| }
0x0044f680 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f684 move a0, s6 | a0 = s6;
| /* str.Chain_already_specified_n */
0x0044f688 addiu a1, a1, -0x3a58 | a1 += -0x3a58;
0x0044f68c b 0x44f610 |
| } while (1);
| label_10:
0x0044f690 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f694 move a0, s2 | a0 = s2;
0x0044f698 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._xchain_build */
0x0044f69c addiu a1, a1, -0x3a3c | a1 += -0x3a3c;
0x0044f6a0 jalr t9 | t9 ();
0x0044f6a4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044f6a8 bnez v0, 0x44f748 |
0x0044f6ac addiu v0, zero, 1 | v0 = 1;
0x0044f6b0 move t8, s0 | t8 = s0;
0x0044f6b4 sw v0, 0x20(s0) | *((s0 + 8)) = v0;
0x0044f6b8 addiu v1, zero, 4 | v1 = 4;
0x0044f6bc addiu a0, zero, 1 | a0 = 1;
0x0044f6c0 b 0x44f584 | goto label_0;
| label_9:
0x0044f6c4 sw s7, 0xc(s0) | *((s0 + 3)) = s7;
0x0044f6c8 move t8, s0 | t8 = s0;
0x0044f6cc addiu v1, zero, 8 | v1 = 8;
0x0044f6d0 addiu a0, zero, 2 | a0 = 2;
0x0044f6d4 b 0x44f584 | goto label_0;
| label_6:
0x0044f6d8 move t8, s0 | t8 = s0;
0x0044f6dc b 0x44f578 | goto label_1;
| label_5:
0x0044f6e0 addiu v0, zero, 1 | v0 = 1;
0x0044f6e4 sw t8, (s5) | *(s5) = t8;
0x0044f6e8 b 0x44f5a8 | goto label_2;
| label_4:
0x0044f6ec lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f6f0 addiu a0, zero, 0x2c | a0 = 0x2c;
0x0044f6f4 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044f6f8 addiu a2, zero, 0x4ff | a2 = 0x4ff;
| /* str.s_cb.c */
0x0044f6fc addiu a1, a1, -0x436c | a1 += -0x436c;
0x0044f700 jalr t9 | t9 ();
0x0044f704 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f708 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044f70c beqz v0, 0x44f82c | goto label_12;
| }
0x0044f710 addiu t8, zero, 3 | t8 = 3;
0x0044f714 sw zero, 4(v0) | *((v0 + 1)) = 0;
0x0044f718 sw zero, 0xc(v0) | *((v0 + 3)) = 0;
0x0044f71c sw zero, 0x10(v0) | *((v0 + 4)) = 0;
0x0044f720 sw zero, 0x14(v0) | *((v0 + 5)) = 0;
0x0044f724 sw zero, 0x18(v0) | *((v0 + 6)) = 0;
0x0044f728 sw zero, 0x1c(v0) | *((v0 + 7)) = 0;
0x0044f72c sw zero, 0x28(v0) | *((v0 + 10)) = 0;
0x0044f730 sw zero, 0x20(v0) | *((v0 + 8)) = 0;
0x0044f734 sw zero, 0x24(v0) | *((v0 + 9)) = 0;
0x0044f738 sw t8, (v0) | *(v0) = t8;
0x0044f73c sw t8, 8(v0) | *((v0 + 2)) = t8;
0x0044f740 sw v0, (s3) | *(s3) = v0;
0x0044f744 b 0x44f4f0 | goto label_3;
| }
0x0044f748 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f74c move a0, s2 | a0 = s2;
0x0044f750 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._xcertform */
0x0044f754 addiu a1, a1, -0x3a2c | a1 += -0x3a2c;
0x0044f758 jalr t9 | t9 ();
0x0044f75c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044f760 beqz v0, 0x44f7a4 |
0x0044f764 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f768 move a0, s2 | a0 = s2;
0x0044f76c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._xkeyform */
0x0044f770 addiu a1, a1, -0x3a20 | a1 += -0x3a20;
0x0044f774 jalr t9 | t9 ();
0x0044f778 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044f77c bnez v0, 0x44f824 | goto label_13;
| }
0x0044f780 lw t9, -0x7fd0(gp) | t9 = sym.str2fmt;
| if (s7 == 0) {
0x0044f784 beqz s7, 0x44f7e0 | goto label_14;
| }
0x0044f788 move a0, s7 | a0 = s7;
0x0044f78c jalr t9 | t9 ();
0x0044f790 move t8, s0 | t8 = s0;
0x0044f794 sw v0, 8(s0) | *((s0 + 2)) = v0;
0x0044f798 addiu v1, zero, 8 | v1 = 8;
0x0044f79c addiu a0, zero, 2 | a0 = 2;
0x0044f7a0 b 0x44f584 | goto label_0;
| }
0x0044f7a4 lw t9, -0x7fd0(gp) | t9 = sym.str2fmt;
| if (s7 == 0) {
0x0044f7a8 beqz s7, 0x44f7e0 | goto label_14;
| }
0x0044f7ac move a0, s7 | a0 = s7;
0x0044f7b0 jalr t9 | t9 ();
0x0044f7b4 move t8, s0 | t8 = s0;
0x0044f7b8 sw v0, (s0) | *(s0) = v0;
0x0044f7bc addiu v1, zero, 8 | v1 = 8;
0x0044f7c0 addiu a0, zero, 2 | a0 = 2;
0x0044f7c4 b 0x44f584 | goto label_0;
| label_7:
0x0044f7c8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f7cc move a0, s6 | a0 = s6;
0x0044f7d0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_adding_xcert_n */
0x0044f7d4 addiu a1, a1, -0x39f8 | a1 += -0x39f8;
0x0044f7d8 jalr t9 | t9 ();
0x0044f7dc lw gp, 0x10(sp) | gp = *(var_10h);
| do {
| label_14:
0x0044f7e0 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044f7e4 addiu t8, zero, 1 | t8 = 1;
0x0044f7e8 sw t8, (s5) | *(s5) = t8;
0x0044f7ec move a0, s6 | a0 = s6;
0x0044f7f0 jalr t9 | t9 ();
0x0044f7f4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f7f8 lw t9, -0x7ef0(gp) | t9 = sym.ssl_excert_free;
0x0044f7fc move a0, s0 | a0 = s0;
0x0044f800 jalr t9 | t9 ();
0x0044f804 addiu v0, zero, 1 | v0 = 1;
0x0044f808 sw zero, (s3) | *(s3) = 0;
0x0044f80c b 0x44f5a8 | goto label_2;
| label_11:
0x0044f810 sw s7, 0x10(s0) | *((s0 + 4)) = s7;
0x0044f814 move t8, s0 | t8 = s0;
0x0044f818 addiu v1, zero, 8 | v1 = 8;
0x0044f81c addiu a0, zero, 2 | a0 = 2;
0x0044f820 b 0x44f584 | goto label_0;
| label_13:
0x0044f824 move v0, zero | v0 = 0;
0x0044f828 b 0x44f5a8 | goto label_2;
| label_12:
0x0044f82c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f830 move a0, s6 | a0 = s6;
0x0044f834 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_initialising_xcert_n */
0x0044f838 addiu a1, a1, -0x3a14 | a1 += -0x3a14;
0x0044f83c jalr t9 | t9 ();
0x0044f840 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f844 b 0x44f7e0 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44fc80 */
| #include <stdint.h>
|
; (fcn) sym.args_ssl () | void args_ssl () {
0x0044fc80 lui gp, 5 |
0x0044fc84 addiu gp, gp, -0x37e0 |
0x0044fc88 addu gp, gp, t9 | gp += t9;
0x0044fc8c addiu sp, sp, -0x38 |
0x0044fc90 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0044fc94 sw s5, 0x30(sp) | *(var_30h) = s5;
0x0044fc98 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0044fc9c sw s3, 0x28(sp) | *(var_28h) = s3;
0x0044fca0 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0044fca4 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044fca8 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044fcac move s3, a1 | s3 = a1;
0x0044fcb0 lw t8, (a0) | t8 = *(a0);
0x0044fcb4 move s1, a0 | s1 = a0;
0x0044fcb8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fcbc move s4, a2 | s4 = a2;
0x0044fcc0 lw s0, (t8) | s0 = *(t8);
0x0044fcc4 move s5, a3 | s5 = a3;
0x0044fcc8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._no_ssl2 */
0x0044fccc addiu a1, a1, -0x3958 | a1 += -0x3958;
0x0044fcd0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044fcd4 move a0, s0 | a0 = s0;
0x0044fcd8 lw s2, 4(t8) | s2 = *((t8 + 1));
0x0044fcdc jalr t9 | t9 ();
0x0044fce0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044fce4 beqz v0, 0x44fd04 | goto label_0;
| }
0x0044fce8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fcec move a0, s0 | a0 = s0;
0x0044fcf0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._no_ssl3 */
0x0044fcf4 addiu a1, a1, -0x394c | a1 += -0x394c;
0x0044fcf8 jalr t9 | t9 ();
0x0044fcfc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fd00 bnez v0, 0x44fdac |
| while (v0 == 0) {
| label_0:
0x0044fd04 lw t8, 0x50(sp) | t8 = *(arg_50h);
| label_2:
0x0044fd08 addiu v0, zero, 1 | v0 = 1;
0x0044fd0c sw v0, (t8) | *(t8) = v0;
| label_1:
0x0044fd10 lw t9, -0x6ec0(gp) | t9 = sym.imp.SSL_CONF_cmd_argv;
0x0044fd14 move a0, s4 | a0 = s4;
0x0044fd18 move a1, s3 | a1 = s3;
0x0044fd1c move a2, s1 | a2 = s1;
0x0044fd20 jalr t9 | t9 ();
0x0044fd24 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044fd28 beqz v0, 0x44fe08 | goto label_8;
| }
0x0044fd2c addiu t8, zero, -3 | t8 = -3;
0x0044fd30 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (v0 == t8) {
0x0044fd34 beq v0, t8, 0x44feb8 | goto label_9;
| }
0x0044fd38 lw t8, 0x4c(sp) | t8 = *(arg_4ch);
| if (v0 < 0) {
0x0044fd3c bltz v0, 0x44fe30 | goto label_10;
| }
0x0044fd40 xori v0, v0, 1 | v0 ^= 1;
0x0044fd44 lw a0, (t8) | a0 = *(t8);
| if (v0 != 0) {
0x0044fd48 movz s2, zero, v0 | s2 = 0;
| }
| if (a0 == 0) {
0x0044fd4c beqz a0, 0x44fedc | goto label_11;
| }
| label_6:
0x0044fd50 lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x0044fd54 move a1, s0 | a1 = s0;
0x0044fd58 jalr t9 | t9 ();
0x0044fd5c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044fd60 bnez v0, 0x44fe94 | goto label_12;
| }
| label_3:
0x0044fd64 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044fd68 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044fd6c lw a0, 0x48(sp) | a0 = *(arg_48h);
| /* str.Memory_allocation_failure_n */
0x0044fd70 addiu a1, a1, -0x3290 | a1 += -0x3290;
0x0044fd74 jalr t9 | t9 ();
0x0044fd78 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fd7c lw t8, (s5) | t8 = *(s5);
| label_4:
0x0044fd80 addiu v0, zero, 1 | v0 = 1;
| if (t8 != 0) {
0x0044fd84 bnez t8, 0x44fe60 | goto label_5;
| }
0x0044fd88 lw ra, 0x34(sp) | ra = *(var_34h);
0x0044fd8c lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044fd90 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044fd94 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044fd98 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044fd9c lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044fda0 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044fda4 addiu sp, sp, 0x38 |
0x0044fda8 jr ra | return v0;
0x0044fdac lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fdb0 move a0, s0 | a0 = s0;
0x0044fdb4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._no_tls1 */
0x0044fdb8 addiu a1, a1, -0x3940 | a1 += -0x3940;
0x0044fdbc jalr t9 | t9 ();
0x0044fdc0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fdc4 beqz v0, 0x44fd04 |
| }
0x0044fdc8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fdcc move a0, s0 | a0 = s0;
0x0044fdd0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._no_tls1_1 */
0x0044fdd4 addiu a1, a1, -0x3934 | a1 += -0x3934;
0x0044fdd8 jalr t9 | t9 ();
0x0044fddc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044fde0 beqz v0, 0x44fd04 | goto label_0;
| }
0x0044fde4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fde8 move a0, s0 | a0 = s0;
0x0044fdec lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._no_tls1_2 */
0x0044fdf0 addiu a1, a1, -0x3928 | a1 += -0x3928;
0x0044fdf4 jalr t9 | t9 ();
0x0044fdf8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044fdfc bnez v0, 0x44fd10 | goto label_1;
| }
0x0044fe00 lw t8, 0x50(sp) | t8 = *(arg_50h);
0x0044fe04 b 0x44fd08 | goto label_2;
| label_8:
0x0044fe08 lw ra, 0x34(sp) | ra = *(var_34h);
0x0044fe0c move v0, zero | v0 = 0;
0x0044fe10 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044fe14 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044fe18 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044fe1c lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044fe20 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044fe24 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044fe28 addiu sp, sp, 0x38 |
0x0044fe2c jr ra | return v0;
| label_10:
0x0044fe30 lw a3, -0x7fd8(gp) | a3 = *(gp);
| if (s2 == 0) {
0x0044fe34 beqz s2, 0x44ff00 | goto label_13;
| }
0x0044fe38 move a3, s2 | a3 = s2;
| label_7:
0x0044fe3c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fe40 move a2, s0 | a2 = s0;
0x0044fe44 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044fe48 lw a0, 0x48(sp) | a0 = *(arg_48h);
| /* str.Error_with_command:___s__s__n */
0x0044fe4c addiu a1, a1, -0x3904 | a1 += -0x3904;
0x0044fe50 jalr t9 | t9 ();
0x0044fe54 addiu t8, zero, 1 | t8 = 1;
0x0044fe58 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fe5c sw t8, (s5) | *(s5) = t8;
| label_5:
0x0044fe60 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044fe64 lw a0, 0x48(sp) | a0 = *(arg_48h);
0x0044fe68 jalr t9 | t9 ();
0x0044fe6c addiu v0, zero, 1 | v0 = 1;
0x0044fe70 lw ra, 0x34(sp) | ra = *(var_34h);
0x0044fe74 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044fe78 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044fe7c lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044fe80 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044fe84 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044fe88 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044fe8c addiu sp, sp, 0x38 |
0x0044fe90 jr ra | return v0;
| label_12:
0x0044fe94 lw v0, 0x4c(sp) | v0 = *(arg_4ch);
0x0044fe98 move a1, s2 | a1 = s2;
0x0044fe9c lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x0044fea0 lw a0, (v0) | a0 = *(v0);
0x0044fea4 jalr t9 | t9 ();
0x0044fea8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044feac beqz v0, 0x44fd64 | goto label_3;
| }
0x0044feb0 lw t8, (s5) | t8 = *(s5);
0x0044feb4 b 0x44fd80 | goto label_4;
| label_9:
0x0044feb8 move a2, s0 | a2 = s0;
0x0044febc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044fec0 lw a0, 0x48(sp) | a0 = *(arg_48h);
| /* str._s_needs_an_argument_n */
0x0044fec4 addiu a1, a1, -0x391c | a1 += -0x391c;
0x0044fec8 jalr t9 | t9 ();
0x0044fecc addiu t8, zero, 1 | t8 = 1;
0x0044fed0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fed4 sw t8, (s5) | *(s5) = t8;
0x0044fed8 b 0x44fe60 | goto label_5;
| label_11:
0x0044fedc lw t9, -0x7830(gp) | t9 = sym.imp.sk_new_null;
0x0044fee0 jalr t9 | t9 ();
0x0044fee4 nop |
0x0044fee8 lw t8, 0x4c(sp) | t8 = *(arg_4ch);
0x0044feec lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fef0 sw v0, (t8) | *(t8) = v0;
| if (v0 == 0) {
0x0044fef4 beqz v0, 0x44fd64 | goto label_3;
| }
0x0044fef8 move a0, v0 | a0 = v0;
0x0044fefc b 0x44fd50 | goto label_6;
| label_13:
0x0044ff00 addiu a3, a3, 0x3b3c | a3 += 0x3b3c;
0x0044ff04 b 0x44fe3c | goto label_7;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ff08 */
| #include <stdint.h>
|
; (fcn) sym.args_ssl_call () | void args_ssl_call () {
0x0044ff08 lui gp, 5 |
0x0044ff0c addiu gp, gp, -0x3a68 |
0x0044ff10 addu gp, gp, t9 | gp += t9;
0x0044ff14 addiu sp, sp, -0x40 |
0x0044ff18 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0044ff1c sw s7, 0x38(sp) | *(var_38h) = s7;
0x0044ff20 sw s6, 0x34(sp) | *(var_34h) = s6;
0x0044ff24 sw s5, 0x30(sp) | *(var_30h) = s5;
0x0044ff28 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0044ff2c sw s3, 0x28(sp) | *(var_28h) = s3;
0x0044ff30 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0044ff34 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044ff38 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044ff3c move t8, a0 | t8 = a0;
0x0044ff40 lw t9, -0x6c24(gp) | t9 = sym.imp.SSL_CONF_CTX_set_ssl_ctx;
0x0044ff44 move s6, a1 | s6 = a1;
0x0044ff48 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044ff4c move a0, a2 | a0 = a2;
0x0044ff50 move a1, t8 | a1 = t8;
0x0044ff54 lw s3, 0x50(sp) | s3 = *(arg_50h);
0x0044ff58 move s4, a2 | s4 = a2;
0x0044ff5c move s0, zero | s0 = 0;
0x0044ff60 move s1, a3 | s1 = a3;
0x0044ff64 jalr t9 | t9 ();
0x0044ff68 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ff6c lw s5, -0x7f9c(gp) | s5 = *(gp);
| /* str._named_curve */
0x0044ff70 addiu s5, s5, -0x38e4 | s5 += -0x38e4;
0x0044ff74 b 0x44ffe0 |
| while (v0 != 0) {
0x0044ff78 jalr t9 | t9 ();
0x0044ff7c nop |
0x0044ff80 addiu a1, s0, 1 | a1 = s0 + 1;
0x0044ff84 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ff88 move a0, s1 | a0 = s1;
0x0044ff8c move s2, v0 | s2 = v0;
0x0044ff90 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x0044ff94 addiu s0, s0, 2 | s0 += 2;
0x0044ff98 jalr t9 | t9 ();
0x0044ff9c move a0, s2 | a0 = s2;
0x0044ffa0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ffa4 move a1, s5 | a1 = s5;
0x0044ffa8 move s7, v0 | s7 = v0;
0x0044ffac lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| if (s3 == 0) {
0x0044ffb0 bnez s3, 0x44ffc4 |
0x0044ffb4 jalr t9 | t9 ();
0x0044ffb8 nop |
0x0044ffbc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ffc0 sltiu s3, v0, 1 | s3 = (v0 < 1) ? 1 : 0;
| }
0x0044ffc4 lw t9, -0x6e80(gp) | t9 = sym.imp.SSL_CONF_cmd;
0x0044ffc8 move a0, s4 | a0 = s4;
0x0044ffcc move a1, s2 | a1 = s2;
0x0044ffd0 move a2, s7 | a2 = s7;
0x0044ffd4 jalr t9 | t9 ();
0x0044ffd8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044ffdc blez v0, 0x450094 | goto label_0;
| }
0x0044ffe0 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0044ffe4 move a0, s1 | a0 = s1;
0x0044ffe8 jalr t9 | t9 ();
0x0044ffec move a1, s0 | a1 = s0;
0x0044fff0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fff4 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x0044fff8 move a0, s1 | a0 = s1;
0x0044fffc lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00450000 bnez v0, 0x44ff78 |
| }
0x00450004 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00450008 beqz s3, 0x450058 |
| while (v0 > 0) {
0x0045000c lw t9, -0x7260(gp) | t9 = sym.imp.SSL_CONF_CTX_finish;
0x00450010 move a0, s4 | a0 = s4;
0x00450014 jalr t9 | t9 ();
0x00450018 lw gp, 0x10(sp) | gp = *(var_10h);
0x0045001c move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00450020 beqz v0, 0x4500f8 | goto label_1;
| }
0x00450024 addiu s0, zero, 1 | s0 = 1;
0x00450028 move v0, s0 | v0 = s0;
0x0045002c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00450030 lw s7, 0x38(sp) | s7 = *(var_38h);
0x00450034 lw s6, 0x34(sp) | s6 = *(var_34h);
0x00450038 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0045003c lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00450040 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00450044 lw s2, 0x24(sp) | s2 = *(var_24h);
0x00450048 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0045004c lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00450050 addiu sp, sp, 0x40 |
0x00450054 jr ra | return v0;
0x00450058 move a0, s4 | a0 = s4;
0x0045005c lw a2, -0x7f9c(gp) | a2 = *(gp);
0x00450060 lw t9, -0x6e80(gp) | t9 = sym.imp.SSL_CONF_cmd;
| /* str._named_curve */
0x00450064 addiu a1, a1, -0x38e4 | a1 += -0x38e4;
| /* str.P_256 */
0x00450068 addiu a2, a2, -0x38d4 | a2 += -0x38d4;
0x0045006c jalr t9 | t9 ();
0x00450070 lw gp, 0x10(sp) | gp = *(var_10h);
0x00450074 bgtz v0, 0x45000c |
| }
0x00450078 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0045007c move a0, s6 | a0 = s6;
0x00450080 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Error_setting_EC_curve_n */
0x00450084 addiu a1, a1, -0x38cc | a1 += -0x38cc;
0x00450088 jalr t9 | t9 ();
0x0045008c lw gp, 0x10(sp) | gp = *(var_10h);
0x00450090 b 0x4500b8 | goto label_2;
| label_0:
0x00450094 move a3, s7 | a3 = s7;
0x00450098 beqz s7, 0x45014c |
| while (1) {
0x0045009c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004500a0 move a0, s6 | a0 = s6;
0x004500a4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004500a8 move a2, s2 | a2 = s2;
| /* str.Error_with_command:___s__s__n */
0x004500ac addiu a1, a1, -0x3904 | a1 += -0x3904;
0x004500b0 jalr t9 | t9 ();
0x004500b4 lw gp, 0x10(sp) | gp = *(var_10h);
| label_2:
0x004500b8 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004500bc move a0, s6 | a0 = s6;
0x004500c0 move s0, zero | s0 = 0;
0x004500c4 jalr t9 | t9 ();
0x004500c8 move v0, s0 | v0 = s0;
0x004500cc lw ra, 0x3c(sp) | ra = *(var_3ch);
0x004500d0 lw s7, 0x38(sp) | s7 = *(var_38h);
0x004500d4 lw s6, 0x34(sp) | s6 = *(var_34h);
0x004500d8 lw s5, 0x30(sp) | s5 = *(var_30h);
0x004500dc lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x004500e0 lw s3, 0x28(sp) | s3 = *(var_28h);
0x004500e4 lw s2, 0x24(sp) | s2 = *(var_24h);
0x004500e8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x004500ec lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x004500f0 addiu sp, sp, 0x40 |
0x004500f4 jr ra | return v0;
| label_1:
0x004500f8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004500fc move a0, s6 | a0 = s6;
0x00450100 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Error_finishing_context_n */
0x00450104 addiu a1, a1, -0x38b4 | a1 += -0x38b4;
0x00450108 jalr t9 | t9 ();
0x0045010c lw gp, 0x10(sp) | gp = *(var_10h);
0x00450110 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00450114 move a0, s6 | a0 = s6;
0x00450118 jalr t9 | t9 ();
0x0045011c move v0, s0 | v0 = s0;
0x00450120 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00450124 lw s7, 0x38(sp) | s7 = *(var_38h);
0x00450128 lw s6, 0x34(sp) | s6 = *(var_34h);
0x0045012c lw s5, 0x30(sp) | s5 = *(var_30h);
0x00450130 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00450134 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00450138 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0045013c lw s1, 0x20(sp) | s1 = *(var_20h);
0x00450140 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00450144 addiu sp, sp, 0x40 |
0x00450148 jr ra | return v0;
0x0045014c lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00450150 addiu a3, a3, 0x3b3c | a3 += 0x3b3c;
0x00450154 b 0x45009c |
| }
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ff08 */
| #include <stdint.h>
|
; (fcn) sym.args_ssl_call () | void args_ssl_call () {
0x0044ff08 lui gp, 5 |
0x0044ff0c addiu gp, gp, -0x3a68 |
0x0044ff10 addu gp, gp, t9 | gp += t9;
0x0044ff14 addiu sp, sp, -0x40 |
0x0044ff18 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0044ff1c sw s7, 0x38(sp) | *(var_38h) = s7;
0x0044ff20 sw s6, 0x34(sp) | *(var_34h) = s6;
0x0044ff24 sw s5, 0x30(sp) | *(var_30h) = s5;
0x0044ff28 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0044ff2c sw s3, 0x28(sp) | *(var_28h) = s3;
0x0044ff30 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0044ff34 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044ff38 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044ff3c move t8, a0 | t8 = a0;
0x0044ff40 lw t9, -0x6c24(gp) | t9 = sym.imp.SSL_CONF_CTX_set_ssl_ctx;
0x0044ff44 move s6, a1 | s6 = a1;
0x0044ff48 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044ff4c move a0, a2 | a0 = a2;
0x0044ff50 move a1, t8 | a1 = t8;
0x0044ff54 lw s3, 0x50(sp) | s3 = *(arg_50h);
0x0044ff58 move s4, a2 | s4 = a2;
0x0044ff5c move s0, zero | s0 = 0;
0x0044ff60 move s1, a3 | s1 = a3;
0x0044ff64 jalr t9 | t9 ();
0x0044ff68 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ff6c lw s5, -0x7f9c(gp) | s5 = *(gp);
| /* str._named_curve */
0x0044ff70 addiu s5, s5, -0x38e4 | s5 += -0x38e4;
0x0044ff74 b 0x44ffe0 |
| while (v0 != 0) {
0x0044ff78 jalr t9 | t9 ();
0x0044ff7c nop |
0x0044ff80 addiu a1, s0, 1 | a1 = s0 + 1;
0x0044ff84 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ff88 move a0, s1 | a0 = s1;
0x0044ff8c move s2, v0 | s2 = v0;
0x0044ff90 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x0044ff94 addiu s0, s0, 2 | s0 += 2;
0x0044ff98 jalr t9 | t9 ();
0x0044ff9c move a0, s2 | a0 = s2;
0x0044ffa0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ffa4 move a1, s5 | a1 = s5;
0x0044ffa8 move s7, v0 | s7 = v0;
0x0044ffac lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| if (s3 == 0) {
0x0044ffb0 bnez s3, 0x44ffc4 |
0x0044ffb4 jalr t9 | t9 ();
0x0044ffb8 nop |
0x0044ffbc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ffc0 sltiu s3, v0, 1 | s3 = (v0 < 1) ? 1 : 0;
| }
0x0044ffc4 lw t9, -0x6e80(gp) | t9 = sym.imp.SSL_CONF_cmd;
0x0044ffc8 move a0, s4 | a0 = s4;
0x0044ffcc move a1, s2 | a1 = s2;
0x0044ffd0 move a2, s7 | a2 = s7;
0x0044ffd4 jalr t9 | t9 ();
0x0044ffd8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044ffdc blez v0, 0x450094 | goto label_0;
| }
0x0044ffe0 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0044ffe4 move a0, s1 | a0 = s1;
0x0044ffe8 jalr t9 | t9 ();
0x0044ffec move a1, s0 | a1 = s0;
0x0044fff0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fff4 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x0044fff8 move a0, s1 | a0 = s1;
0x0044fffc lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00450000 bnez v0, 0x44ff78 |
| }
0x00450004 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00450008 beqz s3, 0x450058 |
| while (v0 > 0) {
0x0045000c lw t9, -0x7260(gp) | t9 = sym.imp.SSL_CONF_CTX_finish;
0x00450010 move a0, s4 | a0 = s4;
0x00450014 jalr t9 | t9 ();
0x00450018 lw gp, 0x10(sp) | gp = *(var_10h);
0x0045001c move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00450020 beqz v0, 0x4500f8 | goto label_1;
| }
0x00450024 addiu s0, zero, 1 | s0 = 1;
0x00450028 move v0, s0 | v0 = s0;
0x0045002c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00450030 lw s7, 0x38(sp) | s7 = *(var_38h);
0x00450034 lw s6, 0x34(sp) | s6 = *(var_34h);
0x00450038 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0045003c lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00450040 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00450044 lw s2, 0x24(sp) | s2 = *(var_24h);
0x00450048 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0045004c lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00450050 addiu sp, sp, 0x40 |
0x00450054 jr ra | return v0;
0x00450058 move a0, s4 | a0 = s4;
0x0045005c lw a2, -0x7f9c(gp) | a2 = *(gp);
0x00450060 lw t9, -0x6e80(gp) | t9 = sym.imp.SSL_CONF_cmd;
| /* str._named_curve */
0x00450064 addiu a1, a1, -0x38e4 | a1 += -0x38e4;
| /* str.P_256 */
0x00450068 addiu a2, a2, -0x38d4 | a2 += -0x38d4;
0x0045006c jalr t9 | t9 ();
0x00450070 lw gp, 0x10(sp) | gp = *(var_10h);
0x00450074 bgtz v0, 0x45000c |
| }
0x00450078 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0045007c move a0, s6 | a0 = s6;
0x00450080 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Error_setting_EC_curve_n */
0x00450084 addiu a1, a1, -0x38cc | a1 += -0x38cc;
0x00450088 jalr t9 | t9 ();
0x0045008c lw gp, 0x10(sp) | gp = *(var_10h);
0x00450090 b 0x4500b8 | goto label_2;
| label_0:
0x00450094 move a3, s7 | a3 = s7;
0x00450098 beqz s7, 0x45014c |
| while (1) {
0x0045009c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004500a0 move a0, s6 | a0 = s6;
0x004500a4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004500a8 move a2, s2 | a2 = s2;
| /* str.Error_with_command:___s__s__n */
0x004500ac addiu a1, a1, -0x3904 | a1 += -0x3904;
0x004500b0 jalr t9 | t9 ();
0x004500b4 lw gp, 0x10(sp) | gp = *(var_10h);
| label_2:
0x004500b8 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004500bc move a0, s6 | a0 = s6;
0x004500c0 move s0, zero | s0 = 0;
0x004500c4 jalr t9 | t9 ();
0x004500c8 move v0, s0 | v0 = s0;
0x004500cc lw ra, 0x3c(sp) | ra = *(var_3ch);
0x004500d0 lw s7, 0x38(sp) | s7 = *(var_38h);
0x004500d4 lw s6, 0x34(sp) | s6 = *(var_34h);
0x004500d8 lw s5, 0x30(sp) | s5 = *(var_30h);
0x004500dc lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x004500e0 lw s3, 0x28(sp) | s3 = *(var_28h);
0x004500e4 lw s2, 0x24(sp) | s2 = *(var_24h);
0x004500e8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x004500ec lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x004500f0 addiu sp, sp, 0x40 |
0x004500f4 jr ra | return v0;
| label_1:
0x004500f8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004500fc move a0, s6 | a0 = s6;
0x00450100 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Error_finishing_context_n */
0x00450104 addiu a1, a1, -0x38b4 | a1 += -0x38b4;
0x00450108 jalr t9 | t9 ();
0x0045010c lw gp, 0x10(sp) | gp = *(var_10h);
0x00450110 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00450114 move a0, s6 | a0 = s6;
0x00450118 jalr t9 | t9 ();
0x0045011c move v0, s0 | v0 = s0;
0x00450120 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00450124 lw s7, 0x38(sp) | s7 = *(var_38h);
0x00450128 lw s6, 0x34(sp) | s6 = *(var_34h);
0x0045012c lw s5, 0x30(sp) | s5 = *(var_30h);
0x00450130 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00450134 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00450138 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0045013c lw s1, 0x20(sp) | s1 = *(var_20h);
0x00450140 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00450144 addiu sp, sp, 0x40 |
0x00450148 jr ra | return v0;
0x0045014c lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00450150 addiu a3, a3, 0x3b3c | a3 += 0x3b3c;
0x00450154 b 0x45009c |
| }
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44b34c */
| #include <stdint.h>
|
; (fcn) sym.args_verify () | void args_verify () {
0x0044b34c lui gp, 5 |
0x0044b350 addiu gp, gp, 0x1154 |
0x0044b354 addu gp, gp, t9 | gp += t9;
0x0044b358 addiu sp, sp, -0x58 |
0x0044b35c sw ra, 0x54(sp) | *(var_54h) = ra;
0x0044b360 sw fp, 0x50(sp) | *(var_50h) = fp;
0x0044b364 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x0044b368 sw s6, 0x48(sp) | *(var_48h) = s6;
0x0044b36c sw s5, 0x44(sp) | *(var_44h) = s5;
0x0044b370 sw s4, 0x40(sp) | *(var_40h) = s4;
0x0044b374 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x0044b378 sw s2, 0x38(sp) | *(var_38h) = s2;
0x0044b37c sw s1, 0x34(sp) | *(var_34h) = s1;
0x0044b380 sw s0, 0x30(sp) | *(var_30h) = s0;
0x0044b384 move s4, a1 | s4 = a1;
0x0044b388 lw s2, (a0) | s2 = *(a0);
0x0044b38c move s0, a0 | s0 = a0;
0x0044b390 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044b394 move s6, a2 | s6 = a2;
0x0044b398 lw s5, (s2) | s5 = *(s2);
0x0044b39c move s7, a3 | s7 = a3;
0x0044b3a0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._policy */
0x0044b3a4 addiu a1, a1, 0x96c | a1 += 0x96c;
0x0044b3a8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044b3ac move a0, s5 | a0 = s5;
0x0044b3b0 lw s3, 0x68(sp) | s3 = *(arg_68h);
0x0044b3b4 lw s1, 4(s2) | s1 = *((s2 + 1));
0x0044b3b8 jalr t9 | t9 ();
0x0044b3bc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044b3c0 bnez v0, 0x44b484 | goto label_19;
| }
0x0044b3c4 lw t9, -0x7ca4(gp) | t9 = sym.imp.OBJ_txt2obj;
| if (s1 == 0) {
0x0044b3c8 beqz s1, 0x44b698 | goto label_20;
| }
0x0044b3cc move a0, s1 | a0 = s1;
0x0044b3d0 move a1, zero | a1 = 0;
0x0044b3d4 jalr t9 | t9 ();
0x0044b3d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b3dc move t8, v0 | t8 = v0;
| if (v0 == 0) {
0x0044b3e0 beqz v0, 0x44b8b4 | goto label_21;
| }
0x0044b3e4 lw v0, (s0) | v0 = *(s0);
0x0044b3e8 lw v1, (s6) | v1 = *(s6);
| label_5:
0x0044b3ec addiu v0, v0, 4 | v0 += 4;
0x0044b3f0 move s5, zero | s5 = 0;
0x0044b3f4 sw v0, (s0) | *(s0) = v0;
0x0044b3f8 move s7, zero | s7 = 0;
0x0044b3fc move s1, zero | s1 = 0;
0x0044b400 move fp, zero | fp = 0;
0x0044b404 addiu a2, zero, -1 | a2 = -1;
0x0044b408 move t0, zero | t0 = 0;
0x0044b40c move a3, zero | a3 = 0;
| label_2:
0x0044b410 lw a0, (s3) | a0 = *(s3);
| if (v1 == 0) {
0x0044b414 beqz v1, 0x44b510 | goto label_22;
| }
| do {
0x0044b418 lw t9, -0x7718(gp) | t9 = sym.imp.X509_VERIFY_PARAM_free;
| if (a0 != 0) {
0x0044b41c beqz a0, 0x44b428 |
0x0044b420 jalr t9 | t9 ();
0x0044b424 nop |
| }
0x0044b428 sw zero, (s3) | *(s3) = 0;
| label_0:
0x0044b42c lw t8, (s0) | t8 = *(s0);
0x0044b430 addiu t8, t8, 4 | t8 += 4;
0x0044b434 sw t8, (s0) | *(s0) = t8;
| if (s4 == 0) {
0x0044b438 beqz s4, 0x44b5e4 | goto label_23;
| }
| label_1:
0x0044b43c lw v1, (s4) | v1 = *(s4);
0x0044b440 subu t8, t8, s2 | __asm ("subu t8, t8, s2");
0x0044b444 sra t8, t8, 2 | t8 >>= 2;
0x0044b448 addiu v0, zero, 1 | v0 = 1;
0x0044b44c subu t8, v1, t8 | __asm ("subu t8, v1, t8");
0x0044b450 sw t8, (s4) | *(s4) = t8;
| label_18:
0x0044b454 lw ra, 0x54(sp) | ra = *(var_54h);
0x0044b458 lw fp, 0x50(sp) | fp = *(var_50h);
0x0044b45c lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0044b460 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0044b464 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0044b468 lw s4, 0x40(sp) | s4 = *(var_40h);
0x0044b46c lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x0044b470 lw s2, 0x38(sp) | s2 = *(var_38h);
0x0044b474 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0044b478 lw s0, 0x30(sp) | s0 = *(var_30h);
0x0044b47c addiu sp, sp, 0x58 |
0x0044b480 jr ra | return v0;
| label_19:
0x0044b484 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044b488 move a0, s5 | a0 = s5;
0x0044b48c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._purpose */
0x0044b490 addiu a1, a1, 0x4160 | a1 += 0x4160;
0x0044b494 jalr t9 | t9 ();
0x0044b498 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044b49c bnez v0, 0x44b618 | goto label_24;
| }
0x0044b4a0 lw t9, -0x736c(gp) | t9 = sym.imp.X509_PURPOSE_get_by_sname;
| if (s1 == 0) {
0x0044b4a4 beqz s1, 0x44b784 | goto label_25;
| }
0x0044b4a8 move a0, s1 | a0 = s1;
0x0044b4ac jalr t9 | t9 ();
0x0044b4b0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 < 0) {
0x0044b4b4 bltz v0, 0x44b884 | goto label_26;
| }
0x0044b4b8 lw t9, -0x78a0(gp) | t9 = sym.imp.X509_PURPOSE_get0;
0x0044b4bc move a0, v0 | a0 = v0;
0x0044b4c0 jalr t9 | t9 ();
0x0044b4c4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b4c8 lw t9, -0x732c(gp) | t9 = sym.imp.X509_PURPOSE_get_id;
0x0044b4cc move a0, v0 | a0 = v0;
0x0044b4d0 jalr t9 | t9 ();
0x0044b4d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b4d8 move t0, v0 | t0 = v0;
0x0044b4dc lw t8, (s0) | t8 = *(s0);
0x0044b4e0 lw v1, (s6) | v1 = *(s6);
| label_9:
0x0044b4e4 addiu t8, t8, 4 | t8 += 4;
0x0044b4e8 move s5, zero | s5 = 0;
0x0044b4ec sw t8, (s0) | *(s0) = t8;
0x0044b4f0 move s7, zero | s7 = 0;
0x0044b4f4 move s1, zero | s1 = 0;
0x0044b4f8 move fp, zero | fp = 0;
0x0044b4fc addiu a2, zero, -1 | a2 = -1;
0x0044b500 move a3, zero | a3 = 0;
0x0044b504 move t8, zero | t8 = 0;
0x0044b508 lw a0, (s3) | a0 = *(s3);
0x0044b50c bnez v1, 0x44b418 |
| } while (v1 != 0);
| label_22:
0x0044b510 lw t9, -0x7160(gp) | t9 = sym.imp.X509_VERIFY_PARAM_new;
| if (a0 == 0) {
0x0044b514 beqz a0, 0x44b7ec | goto label_27;
| }
| label_10:
0x0044b518 lw t9, -0x6db8(gp) | t9 = sym.imp.X509_VERIFY_PARAM_add0_policy;
| if (t8 != 0) {
0x0044b51c beqz t8, 0x44b544 |
0x0044b520 move a1, t8 | a1 = t8;
0x0044b524 sw a2, 0x2c(sp) | *(var_2ch) = a2;
0x0044b528 sw a3, 0x24(sp) | *(var_24h) = a3;
0x0044b52c sw t0, 0x28(sp) | *(var_28h) = t0;
0x0044b530 jalr t9 | t9 ();
0x0044b534 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b538 lw t0, 0x28(sp) | t0 = *(var_28h);
0x0044b53c lw a3, 0x24(sp) | a3 = *(var_24h);
0x0044b540 lw a2, 0x2c(sp) | a2 = *(var_2ch);
| }
0x0044b544 lw t9, -0x7820(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set_flags;
| if (a3 != 0) {
0x0044b548 bnez a3, 0x44b6e0 | goto label_28;
| }
0x0044b54c lw t9, -0x70c4(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set_purpose;
| if (t0 != 0) {
0x0044b550 bnez t0, 0x44b6c4 | goto label_8;
| }
| label_7:
0x0044b554 lw t9, -0x71c4(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set_depth;
| if (a2 >= 0) {
0x0044b558 bltz a2, 0x44b56c |
0x0044b55c move a1, a2 | a1 = a2;
0x0044b560 lw a0, (s3) | a0 = *(s3);
0x0044b564 jalr t9 | t9 ();
0x0044b568 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0044b56c lw t9, -0x7dcc(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set_time;
| if (fp != 0) {
0x0044b570 bnez fp, 0x44b6b0 | goto label_29;
| }
| label_6:
0x0044b574 lw t9, -0x6e18(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set1_host;
| if (s1 != 0) {
0x0044b578 beqz s1, 0x44b594 |
0x0044b57c move a1, s1 | a1 = s1;
0x0044b580 lw a0, (s3) | a0 = *(s3);
0x0044b584 move a2, zero | a2 = 0;
0x0044b588 jalr t9 | t9 ();
0x0044b58c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044b590 beqz v0, 0x44b68c | goto label_30;
| }
| }
| label_4:
0x0044b594 lw t9, -0x7590(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set1_email;
| if (s7 != 0) {
0x0044b598 beqz s7, 0x44b5b4 |
0x0044b59c move a1, s7 | a1 = s7;
0x0044b5a0 lw a0, (s3) | a0 = *(s3);
0x0044b5a4 move a2, zero | a2 = 0;
0x0044b5a8 jalr t9 | t9 ();
0x0044b5ac lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044b5b0 beqz v0, 0x44b680 | goto label_31;
| }
| }
| label_3:
0x0044b5b4 lw t9, -0x7d80(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set1_ip_asc;
| if (s5 == 0) {
0x0044b5b8 beqz s5, 0x44b42c | goto label_0;
| }
0x0044b5bc move a1, s5 | a1 = s5;
0x0044b5c0 lw a0, (s3) | a0 = *(s3);
0x0044b5c4 jalr t9 | t9 ();
0x0044b5c8 addiu t8, zero, 1 | t8 = 1;
| if (v0 != 0) {
0x0044b5cc bnez v0, 0x44b42c | goto label_0;
| }
0x0044b5d0 sw t8, (s6) | *(s6) = t8;
| label_11:
0x0044b5d4 lw t8, (s0) | t8 = *(s0);
0x0044b5d8 addiu t8, t8, 4 | t8 += 4;
0x0044b5dc sw t8, (s0) | *(s0) = t8;
| if (s4 != 0) {
0x0044b5e0 bnez s4, 0x44b43c | goto label_1;
| }
| label_23:
0x0044b5e4 lw ra, 0x54(sp) | ra = *(var_54h);
0x0044b5e8 addiu v0, zero, 1 | v0 = 1;
0x0044b5ec lw fp, 0x50(sp) | fp = *(var_50h);
0x0044b5f0 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0044b5f4 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0044b5f8 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0044b5fc lw s4, 0x40(sp) | s4 = *(var_40h);
0x0044b600 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x0044b604 lw s2, 0x38(sp) | s2 = *(var_38h);
0x0044b608 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0044b60c lw s0, 0x30(sp) | s0 = *(var_30h);
0x0044b610 addiu sp, sp, 0x58 |
0x0044b614 jr ra | return v0;
| label_24:
0x0044b618 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b61c move a0, s5 | a0 = s5;
0x0044b620 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._verify_depth */
0x0044b624 addiu a1, a1, -0x4c38 | a1 += -0x4c38;
0x0044b628 jalr t9 | t9 ();
0x0044b62c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044b630 bnez v0, 0x44b70c | goto label_32;
| }
0x0044b634 lw t9, -0x7b18(gp) | t9 = sym.imp.atoi;
| if (s1 == 0) {
0x0044b638 beqz s1, 0x44b918 | goto label_33;
| }
0x0044b63c move a0, s1 | a0 = s1;
0x0044b640 jalr t9 | t9 ();
0x0044b644 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b648 move a2, v0 | a2 = v0;
| if (v0 < 0) {
0x0044b64c bltz v0, 0x44b970 | goto label_34;
| }
0x0044b650 lw v1, (s6) | v1 = *(s6);
0x0044b654 move t8, s2 | t8 = s2;
| label_15:
0x0044b658 addiu t8, t8, 4 | t8 += 4;
0x0044b65c move s5, zero | s5 = 0;
0x0044b660 sw t8, (s0) | *(s0) = t8;
0x0044b664 move s7, zero | s7 = 0;
0x0044b668 move s1, zero | s1 = 0;
0x0044b66c move fp, zero | fp = 0;
0x0044b670 move t0, zero | t0 = 0;
0x0044b674 move a3, zero | a3 = 0;
0x0044b678 move t8, zero | t8 = 0;
0x0044b67c b 0x44b410 | goto label_2;
| label_31:
0x0044b680 addiu t8, zero, 1 | t8 = 1;
0x0044b684 sw t8, (s6) | *(s6) = t8;
0x0044b688 b 0x44b5b4 | goto label_3;
| label_30:
0x0044b68c addiu t8, zero, 1 | t8 = 1;
0x0044b690 sw t8, (s6) | *(s6) = t8;
0x0044b694 b 0x44b594 | goto label_4;
| label_20:
0x0044b698 addiu t8, zero, 1 | t8 = 1;
0x0044b69c move v0, s2 | v0 = s2;
0x0044b6a0 sw t8, (s6) | *(s6) = t8;
0x0044b6a4 addiu v1, zero, 1 | v1 = 1;
0x0044b6a8 move t8, zero | t8 = 0;
0x0044b6ac b 0x44b3ec | goto label_5;
| label_29:
0x0044b6b0 move a1, fp | a1 = fp;
0x0044b6b4 lw a0, (s3) | a0 = *(s3);
0x0044b6b8 jalr t9 | t9 ();
0x0044b6bc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b6c0 b 0x44b574 | goto label_6;
| label_8:
0x0044b6c4 move a1, t0 | a1 = t0;
0x0044b6c8 lw a0, (s3) | a0 = *(s3);
0x0044b6cc sw a2, 0x2c(sp) | *(var_2ch) = a2;
0x0044b6d0 jalr t9 | t9 ();
0x0044b6d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b6d8 lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0044b6dc b 0x44b554 | goto label_7;
| label_28:
0x0044b6e0 move a1, a3 | a1 = a3;
0x0044b6e4 lw a0, (s3) | a0 = *(s3);
0x0044b6e8 sw a2, 0x2c(sp) | *(var_2ch) = a2;
0x0044b6ec sw t0, 0x28(sp) | *(var_28h) = t0;
0x0044b6f0 jalr t9 | t9 ();
0x0044b6f4 lw t0, 0x28(sp) | t0 = *(var_28h);
0x0044b6f8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b6fc lw a2, 0x2c(sp) | a2 = *(var_2ch);
| if (t0 == 0) {
0x0044b700 beqz t0, 0x44b554 | goto label_7;
| }
0x0044b704 lw t9, -0x70c4(gp) | t9 = sym.imp.X509_VERIFY_PARAM_set_purpose;
0x0044b708 b 0x44b6c4 | goto label_8;
| label_32:
0x0044b70c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b710 move a0, s5 | a0 = s5;
0x0044b714 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._attime */
0x0044b718 addiu a1, a1, -0x4c18 | a1 += -0x4c18;
0x0044b71c jalr t9 | t9 ();
0x0044b720 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044b724 bnez v0, 0x44b79c |
0x0044b728 lw t9, -0x6d80(gp) | t9 = sym.imp.sscanf;
| if (s1 == 0) {
0x0044b72c beqz s1, 0x44b86c | goto label_35;
| }
0x0044b730 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b734 move a0, s1 | a0 = s1;
0x0044b738 addiu a2, sp, 0x18 | a2 = sp + 0x18;
| /* esilref: '&li' */
0x0044b73c addiu a1, a1, -0x4c10 | a1 += -0x4c10;
0x0044b740 addiu s5, zero, 1 | s5 = 1;
0x0044b744 jalr t9 | t9 ();
0x0044b748 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != s5) {
0x0044b74c bne v0, s5, 0x44b8ec | goto label_36;
| }
0x0044b750 lw v1, (s6) | v1 = *(s6);
| label_14:
0x0044b754 lw fp, 0x18(sp) | fp = *(var_18h);
0x0044b758 lw t8, (s0) | t8 = *(s0);
| label_13:
0x0044b75c addiu t8, t8, 4 | t8 += 4;
0x0044b760 move s5, zero | s5 = 0;
0x0044b764 sw t8, (s0) | *(s0) = t8;
0x0044b768 move s7, zero | s7 = 0;
0x0044b76c move s1, zero | s1 = 0;
0x0044b770 addiu a2, zero, -1 | a2 = -1;
0x0044b774 move t0, zero | t0 = 0;
0x0044b778 move a3, zero | a3 = 0;
0x0044b77c move t8, zero | t8 = 0;
0x0044b780 b 0x44b410 | goto label_2;
| label_25:
0x0044b784 addiu v0, zero, 1 | v0 = 1;
0x0044b788 move t8, s2 | t8 = s2;
0x0044b78c sw v0, (s6) | *(s6) = v0;
0x0044b790 addiu v1, zero, 1 | v1 = 1;
0x0044b794 move t0, zero | t0 = 0;
0x0044b798 b 0x44b4e4 | goto label_9;
| }
0x0044b79c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b7a0 move a0, s5 | a0 = s5;
0x0044b7a4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._verify_hostname */
0x0044b7a8 addiu a1, a1, -0x4bf0 | a1 += -0x4bf0;
0x0044b7ac jalr t9 | t9 ();
0x0044b7b0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044b7b4 bnez v0, 0x44b82c | goto label_37;
| }
| if (s1 == 0) {
0x0044b7b8 beqz s1, 0x44b9e8 | goto label_38;
| }
0x0044b7bc nop |
0x0044b7c0 lw v1, (s6) | v1 = *(s6);
| label_16:
0x0044b7c4 addiu t8, s2, 4 | t8 = s2 + 4;
0x0044b7c8 move s5, zero | s5 = 0;
0x0044b7cc sw t8, (s0) | *(s0) = t8;
0x0044b7d0 move s7, zero | s7 = 0;
| label_12:
0x0044b7d4 move fp, zero | fp = 0;
0x0044b7d8 addiu a2, zero, -1 | a2 = -1;
0x0044b7dc move t0, zero | t0 = 0;
0x0044b7e0 move a3, zero | a3 = 0;
0x0044b7e4 move t8, zero | t8 = 0;
0x0044b7e8 b 0x44b410 | goto label_2;
| label_27:
0x0044b7ec sw a2, 0x2c(sp) | *(var_2ch) = a2;
0x0044b7f0 sw a3, 0x24(sp) | *(var_24h) = a3;
0x0044b7f4 sw t0, 0x28(sp) | *(var_28h) = t0;
0x0044b7f8 sw t8, 0x20(sp) | *(var_20h) = t8;
0x0044b7fc jalr t9 | t9 ();
0x0044b800 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b804 move a0, v0 | a0 = v0;
0x0044b808 sw v0, (s3) | *(s3) = v0;
0x0044b80c lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0044b810 lw a3, 0x24(sp) | a3 = *(var_24h);
0x0044b814 lw t0, 0x28(sp) | t0 = *(var_28h);
0x0044b818 lw t8, 0x20(sp) | t8 = *(var_20h);
| if (v0 != 0) {
0x0044b81c bnez v0, 0x44b518 | goto label_10;
| }
0x0044b820 addiu t8, zero, 1 | t8 = 1;
0x0044b824 sw t8, (s6) | *(s6) = t8;
0x0044b828 b 0x44b5d4 | goto label_11;
| label_37:
0x0044b82c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b830 move a0, s5 | a0 = s5;
0x0044b834 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._verify_email */
0x0044b838 addiu a1, a1, -0x4bdc | a1 += -0x4bdc;
0x0044b83c jalr t9 | t9 ();
0x0044b840 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044b844 bnez v0, 0x44b930 | goto label_39;
| }
| if (s1 == 0) {
0x0044b848 beqz s1, 0x44ba3c | goto label_40;
| }
0x0044b84c nop |
0x0044b850 lw v1, (s6) | v1 = *(s6);
| do {
0x0044b854 addiu t8, s2, 4 | t8 = s2 + 4;
0x0044b858 move s7, s1 | s7 = s1;
0x0044b85c sw t8, (s0) | *(s0) = t8;
0x0044b860 move s5, zero | s5 = 0;
0x0044b864 move s1, zero | s1 = 0;
0x0044b868 b 0x44b7d4 | goto label_12;
| label_35:
0x0044b86c addiu v0, zero, 1 | v0 = 1;
0x0044b870 move t8, s2 | t8 = s2;
0x0044b874 sw v0, (s6) | *(s6) = v0;
0x0044b878 addiu v1, zero, 1 | v1 = 1;
0x0044b87c move fp, zero | fp = 0;
0x0044b880 b 0x44b75c | goto label_13;
| label_26:
0x0044b884 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b888 move a0, s7 | a0 = s7;
0x0044b88c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unrecognized_purpose_n */
0x0044b890 addiu a1, a1, -0x4c50 | a1 += -0x4c50;
0x0044b894 jalr t9 | t9 ();
0x0044b898 addiu t8, zero, 1 | t8 = 1;
0x0044b89c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b8a0 addiu v1, zero, 1 | v1 = 1;
0x0044b8a4 sw t8, (s6) | *(s6) = t8;
0x0044b8a8 move t0, zero | t0 = 0;
0x0044b8ac lw t8, (s0) | t8 = *(s0);
0x0044b8b0 b 0x44b4e4 | goto label_9;
| label_21:
0x0044b8b4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b8b8 move a0, s7 | a0 = s7;
0x0044b8bc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044b8c0 move a2, s1 | a2 = s1;
| /* str.Invalid_Policy___s__n */
0x0044b8c4 addiu a1, a1, -0x4c68 | a1 += -0x4c68;
0x0044b8c8 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0044b8cc jalr t9 | t9 ();
0x0044b8d0 addiu a0, zero, 1 | a0 = 1;
0x0044b8d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b8d8 addiu v1, zero, 1 | v1 = 1;
0x0044b8dc lw v0, (s0) | v0 = *(s0);
0x0044b8e0 sw a0, (s6) | *(s6) = a0;
0x0044b8e4 lw t8, 0x20(sp) | t8 = *(var_20h);
0x0044b8e8 b 0x44b3ec | goto label_5;
| label_36:
0x0044b8ec lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044b8f0 move a2, s1 | a2 = s1;
0x0044b8f4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b8f8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044b8fc lw a0, (t8) | a0 = *(t8);
| /* str.Error_parsing_timestamp__s_n */
0x0044b900 addiu a1, a1, -0x4c0c | a1 += -0x4c0c;
0x0044b904 jalr t9 | t9 ();
0x0044b908 addiu v1, zero, 1 | v1 = 1;
0x0044b90c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b910 sw s5, (s6) | *(s6) = s5;
0x0044b914 b 0x44b754 | goto label_14;
| label_33:
0x0044b918 addiu v0, zero, 1 | v0 = 1;
0x0044b91c move t8, s2 | t8 = s2;
0x0044b920 sw v0, (s6) | *(s6) = v0;
0x0044b924 addiu v1, zero, 1 | v1 = 1;
0x0044b928 addiu a2, zero, -1 | a2 = -1;
0x0044b92c b 0x44b658 | goto label_15;
| label_39:
0x0044b930 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b934 move a0, s5 | a0 = s5;
0x0044b938 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._verify_ip */
0x0044b93c addiu a1, a1, -0x4bcc | a1 += -0x4bcc;
0x0044b940 jalr t9 | t9 ();
0x0044b944 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044b948 bnez v0, 0x44b9a4 |
| if (s1 == 0) {
0x0044b94c beqz s1, 0x44ba90 | goto label_41;
| }
0x0044b950 nop |
0x0044b954 lw v1, (s6) | v1 = *(s6);
| label_17:
0x0044b958 addiu t8, s2, 4 | t8 = s2 + 4;
0x0044b95c move s5, s1 | s5 = s1;
0x0044b960 sw t8, (s0) | *(s0) = t8;
0x0044b964 move s7, zero | s7 = 0;
0x0044b968 move s1, zero | s1 = 0;
0x0044b96c b 0x44b7d4 | goto label_12;
| label_34:
0x0044b970 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b974 move a0, s7 | a0 = s7;
0x0044b978 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.invalid_depth_n */
0x0044b97c addiu a1, a1, -0x4c28 | a1 += -0x4c28;
0x0044b980 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0044b984 jalr t9 | t9 ();
0x0044b988 addiu v0, zero, 1 | v0 = 1;
0x0044b98c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044b990 addiu v1, zero, 1 | v1 = 1;
0x0044b994 lw t8, (s0) | t8 = *(s0);
0x0044b998 sw v0, (s6) | *(s6) = v0;
0x0044b99c lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0044b9a0 b 0x44b658 | goto label_15;
| }
0x0044b9a4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b9a8 move a0, s5 | a0 = s5;
0x0044b9ac lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._ignore_critical */
0x0044b9b0 addiu a1, a1, -0x4bc0 | a1 += -0x4bc0;
0x0044b9b4 jalr t9 | t9 ();
0x0044b9b8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044b9bc bnez v0, 0x44b9f8 |
0x0044b9c0 lw v1, (s6) | v1 = *(s6);
0x0044b9c4 move s5, zero | s5 = 0;
0x0044b9c8 move s7, zero | s7 = 0;
0x0044b9cc move s1, zero | s1 = 0;
0x0044b9d0 move fp, zero | fp = 0;
0x0044b9d4 addiu a2, zero, -1 | a2 = -1;
0x0044b9d8 move t0, zero | t0 = 0;
0x0044b9dc addiu a3, zero, 0x10 | a3 = 0x10;
0x0044b9e0 move t8, zero | t8 = 0;
0x0044b9e4 b 0x44b410 | goto label_2;
| label_38:
0x0044b9e8 addiu t8, zero, 1 | t8 = 1;
0x0044b9ec addiu v1, zero, 1 | v1 = 1;
0x0044b9f0 sw t8, (s6) | *(s6) = t8;
0x0044b9f4 b 0x44b7c4 | goto label_16;
| }
0x0044b9f8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b9fc move a0, s5 | a0 = s5;
0x0044ba00 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._issuer_checks */
0x0044ba04 addiu a1, a1, -0x4bac | a1 += -0x4bac;
0x0044ba08 jalr t9 | t9 ();
0x0044ba0c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044ba10 bnez v0, 0x44ba4c | goto label_42;
| }
0x0044ba14 lw v1, (s6) | v1 = *(s6);
0x0044ba18 move s5, zero | s5 = 0;
0x0044ba1c move s7, zero | s7 = 0;
0x0044ba20 move s1, zero | s1 = 0;
0x0044ba24 move fp, zero | fp = 0;
0x0044ba28 addiu a2, zero, -1 | a2 = -1;
0x0044ba2c move t0, zero | t0 = 0;
0x0044ba30 addiu a3, zero, 1 | a3 = 1;
0x0044ba34 move t8, zero | t8 = 0;
0x0044ba38 b 0x44b410 | goto label_2;
| label_40:
0x0044ba3c addiu t8, zero, 1 | t8 = 1;
0x0044ba40 addiu v1, zero, 1 | v1 = 1;
0x0044ba44 sw t8, (s6) | *(s6) = t8;
0x0044ba48 b 0x44b854 |
| } while (1);
| label_42:
0x0044ba4c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044ba50 move a0, s5 | a0 = s5;
0x0044ba54 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._crl_check */
0x0044ba58 addiu a1, a1, -0x4b9c | a1 += -0x4b9c;
0x0044ba5c jalr t9 | t9 ();
0x0044ba60 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044ba64 bnez v0, 0x44baa0 |
0x0044ba68 lw v1, (s6) | v1 = *(s6);
0x0044ba6c move s5, zero | s5 = 0;
0x0044ba70 move s7, zero | s7 = 0;
0x0044ba74 move s1, zero | s1 = 0;
0x0044ba78 move fp, zero | fp = 0;
0x0044ba7c addiu a2, zero, -1 | a2 = -1;
0x0044ba80 move t0, zero | t0 = 0;
0x0044ba84 addiu a3, zero, 4 | a3 = 4;
0x0044ba88 move t8, zero | t8 = 0;
0x0044ba8c b 0x44b410 | goto label_2;
| label_41:
0x0044ba90 addiu t8, zero, 1 | t8 = 1;
0x0044ba94 addiu v1, zero, 1 | v1 = 1;
0x0044ba98 sw t8, (s6) | *(s6) = t8;
0x0044ba9c b 0x44b958 | goto label_17;
| }
0x0044baa0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044baa4 move a0, s5 | a0 = s5;
0x0044baa8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._crl_check_all */
0x0044baac addiu a1, a1, -0x4b90 | a1 += -0x4b90;
0x0044bab0 jalr t9 | t9 ();
0x0044bab4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bab8 bnez v0, 0x44bae4 |
0x0044babc lw v1, (s6) | v1 = *(s6);
0x0044bac0 move s5, zero | s5 = 0;
0x0044bac4 move s7, zero | s7 = 0;
0x0044bac8 move s1, zero | s1 = 0;
0x0044bacc move fp, zero | fp = 0;
0x0044bad0 addiu a2, zero, -1 | a2 = -1;
0x0044bad4 move t0, zero | t0 = 0;
0x0044bad8 addiu a3, zero, 0xc | a3 = 0xc;
0x0044badc move t8, zero | t8 = 0;
0x0044bae0 b 0x44b410 | goto label_2;
| }
0x0044bae4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bae8 move a0, s5 | a0 = s5;
0x0044baec lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._policy_check */
0x0044baf0 addiu a1, a1, -0x4b80 | a1 += -0x4b80;
0x0044baf4 jalr t9 | t9 ();
0x0044baf8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044bafc beqz v0, 0x44bb44 |
0x0044bb00 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bb04 move a0, s5 | a0 = s5;
0x0044bb08 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._explicit_policy */
0x0044bb0c addiu a1, a1, -0x4b70 | a1 += -0x4b70;
0x0044bb10 jalr t9 | t9 ();
0x0044bb14 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044bb18 bnez v0, 0x44bb6c | goto label_43;
| }
0x0044bb1c lw v1, (s6) | v1 = *(s6);
0x0044bb20 move s5, zero | s5 = 0;
0x0044bb24 move s7, zero | s7 = 0;
0x0044bb28 move s1, zero | s1 = 0;
0x0044bb2c move fp, zero | fp = 0;
0x0044bb30 addiu a2, zero, -1 | a2 = -1;
0x0044bb34 move t0, zero | t0 = 0;
0x0044bb38 addiu a3, zero, 0x100 | a3 = 0x100;
0x0044bb3c move t8, zero | t8 = 0;
0x0044bb40 b 0x44b410 | goto label_2;
| }
0x0044bb44 lw v1, (s6) | v1 = *(s6);
0x0044bb48 move s5, zero | s5 = 0;
0x0044bb4c move s7, zero | s7 = 0;
0x0044bb50 move s1, zero | s1 = 0;
0x0044bb54 move fp, zero | fp = 0;
0x0044bb58 addiu a2, zero, -1 | a2 = -1;
0x0044bb5c move t0, zero | t0 = 0;
0x0044bb60 addiu a3, zero, 0x80 | a3 = 0x80;
0x0044bb64 move t8, zero | t8 = 0;
0x0044bb68 b 0x44b410 | goto label_2;
| label_43:
0x0044bb6c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bb70 move a0, s5 | a0 = s5;
0x0044bb74 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._inhibit_any */
0x0044bb78 addiu a1, a1, -0x4b5c | a1 += -0x4b5c;
0x0044bb7c jalr t9 | t9 ();
0x0044bb80 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bb84 bnez v0, 0x44bbb0 |
0x0044bb88 lw v1, (s6) | v1 = *(s6);
0x0044bb8c move s5, zero | s5 = 0;
0x0044bb90 move s7, zero | s7 = 0;
0x0044bb94 move s1, zero | s1 = 0;
0x0044bb98 move fp, zero | fp = 0;
0x0044bb9c addiu a2, zero, -1 | a2 = -1;
0x0044bba0 move t0, zero | t0 = 0;
0x0044bba4 addiu a3, zero, 0x200 | a3 = 0x200;
0x0044bba8 move t8, zero | t8 = 0;
0x0044bbac b 0x44b410 | goto label_2;
| }
0x0044bbb0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bbb4 move a0, s5 | a0 = s5;
0x0044bbb8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._inhibit_map */
0x0044bbbc addiu a1, a1, -0x4b4c | a1 += -0x4b4c;
0x0044bbc0 jalr t9 | t9 ();
0x0044bbc4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044bbc8 beqz v0, 0x44bc10 |
0x0044bbcc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bbd0 move a0, s5 | a0 = s5;
0x0044bbd4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._x509_strict */
0x0044bbd8 addiu a1, a1, -0x4b3c | a1 += -0x4b3c;
0x0044bbdc jalr t9 | t9 ();
0x0044bbe0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044bbe4 bnez v0, 0x44bc38 | goto label_44;
| }
0x0044bbe8 lw v1, (s6) | v1 = *(s6);
0x0044bbec move s5, zero | s5 = 0;
0x0044bbf0 move s7, zero | s7 = 0;
0x0044bbf4 move s1, zero | s1 = 0;
0x0044bbf8 move fp, zero | fp = 0;
0x0044bbfc addiu a2, zero, -1 | a2 = -1;
0x0044bc00 move t0, zero | t0 = 0;
0x0044bc04 addiu a3, zero, 0x20 | a3 = 0x20;
0x0044bc08 move t8, zero | t8 = 0;
0x0044bc0c b 0x44b410 | goto label_2;
| }
0x0044bc10 lw v1, (s6) | v1 = *(s6);
0x0044bc14 move s5, zero | s5 = 0;
0x0044bc18 move s7, zero | s7 = 0;
0x0044bc1c move s1, zero | s1 = 0;
0x0044bc20 move fp, zero | fp = 0;
0x0044bc24 addiu a2, zero, -1 | a2 = -1;
0x0044bc28 move t0, zero | t0 = 0;
0x0044bc2c addiu a3, zero, 0x400 | a3 = 0x400;
0x0044bc30 move t8, zero | t8 = 0;
0x0044bc34 b 0x44b410 | goto label_2;
| label_44:
0x0044bc38 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bc3c move a0, s5 | a0 = s5;
0x0044bc40 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._extended_crl */
0x0044bc44 addiu a1, a1, -0x4b2c | a1 += -0x4b2c;
0x0044bc48 jalr t9 | t9 ();
0x0044bc4c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bc50 bnez v0, 0x44bc7c |
0x0044bc54 lw v1, (s6) | v1 = *(s6);
0x0044bc58 move s5, zero | s5 = 0;
0x0044bc5c move s7, zero | s7 = 0;
0x0044bc60 move s1, zero | s1 = 0;
0x0044bc64 move fp, zero | fp = 0;
0x0044bc68 addiu a2, zero, -1 | a2 = -1;
0x0044bc6c move t0, zero | t0 = 0;
0x0044bc70 addiu a3, zero, 0x1000 | a3 = 0x1000;
0x0044bc74 move t8, zero | t8 = 0;
0x0044bc78 b 0x44b410 | goto label_2;
| }
0x0044bc7c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bc80 move a0, s5 | a0 = s5;
0x0044bc84 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._use_deltas */
0x0044bc88 addiu a1, a1, -0x4b1c | a1 += -0x4b1c;
0x0044bc8c jalr t9 | t9 ();
0x0044bc90 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bc94 bnez v0, 0x44bcc0 |
0x0044bc98 lw v1, (s6) | v1 = *(s6);
0x0044bc9c move s5, zero | s5 = 0;
0x0044bca0 move s7, zero | s7 = 0;
0x0044bca4 move s1, zero | s1 = 0;
0x0044bca8 move fp, zero | fp = 0;
0x0044bcac addiu a2, zero, -1 | a2 = -1;
0x0044bcb0 move t0, zero | t0 = 0;
0x0044bcb4 addiu a3, zero, 0x2000 | a3 = 0x2000;
0x0044bcb8 move t8, zero | t8 = 0;
0x0044bcbc b 0x44b410 | goto label_2;
| }
0x0044bcc0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bcc4 move a0, s5 | a0 = s5;
0x0044bcc8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._policy_print */
0x0044bccc addiu a1, a1, -0x4b10 | a1 += -0x4b10;
0x0044bcd0 jalr t9 | t9 ();
0x0044bcd4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bcd8 bnez v0, 0x44bd04 |
0x0044bcdc lw v1, (s6) | v1 = *(s6);
0x0044bce0 move s5, zero | s5 = 0;
0x0044bce4 move s7, zero | s7 = 0;
0x0044bce8 move s1, zero | s1 = 0;
0x0044bcec move fp, zero | fp = 0;
0x0044bcf0 addiu a2, zero, -1 | a2 = -1;
0x0044bcf4 move t0, zero | t0 = 0;
0x0044bcf8 addiu a3, zero, 0x800 | a3 = 0x800;
0x0044bcfc move t8, zero | t8 = 0;
0x0044bd00 b 0x44b410 | goto label_2;
| }
0x0044bd04 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bd08 move a0, s5 | a0 = s5;
0x0044bd0c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._check_ss_sig */
0x0044bd10 addiu a1, a1, -0x4b00 | a1 += -0x4b00;
0x0044bd14 jalr t9 | t9 ();
0x0044bd18 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bd1c bnez v0, 0x44bd48 |
0x0044bd20 lw v1, (s6) | v1 = *(s6);
0x0044bd24 move s5, zero | s5 = 0;
0x0044bd28 move s7, zero | s7 = 0;
0x0044bd2c move s1, zero | s1 = 0;
0x0044bd30 move fp, zero | fp = 0;
0x0044bd34 addiu a2, zero, -1 | a2 = -1;
0x0044bd38 move t0, zero | t0 = 0;
0x0044bd3c addiu a3, zero, 0x4000 | a3 = 0x4000;
0x0044bd40 move t8, zero | t8 = 0;
0x0044bd44 b 0x44b410 | goto label_2;
| }
0x0044bd48 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bd4c move a0, s5 | a0 = s5;
0x0044bd50 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._trusted_first */
0x0044bd54 addiu a1, a1, -0x4af0 | a1 += -0x4af0;
0x0044bd58 jalr t9 | t9 ();
0x0044bd5c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bd60 bnez v0, 0x44bd8c |
0x0044bd64 lw v1, (s6) | v1 = *(s6);
0x0044bd68 move s5, zero | s5 = 0;
0x0044bd6c move s7, zero | s7 = 0;
0x0044bd70 move s1, zero | s1 = 0;
0x0044bd74 move fp, zero | fp = 0;
0x0044bd78 addiu a2, zero, -1 | a2 = -1;
0x0044bd7c move t0, zero | t0 = 0;
0x0044bd80 ori a3, zero, 0x8000 | a3 = 0x8000;
0x0044bd84 move t8, zero | t8 = 0;
0x0044bd88 b 0x44b410 | goto label_2;
| }
0x0044bd8c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bd90 move a0, s5 | a0 = s5;
0x0044bd94 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._suiteB_128_only */
0x0044bd98 addiu a1, a1, -0x4ae0 | a1 += -0x4ae0;
0x0044bd9c jalr t9 | t9 ();
0x0044bda0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bda4 bnez v0, 0x44bdd0 |
0x0044bda8 lw v1, (s6) | v1 = *(s6);
0x0044bdac move s5, zero | s5 = 0;
0x0044bdb0 move s7, zero | s7 = 0;
0x0044bdb4 move s1, zero | s1 = 0;
0x0044bdb8 move fp, zero | fp = 0;
0x0044bdbc addiu a2, zero, -1 | a2 = -1;
0x0044bdc0 move t0, zero | t0 = 0;
0x0044bdc4 lui a3, 1 | a3 = 0x10000;
0x0044bdc8 move t8, zero | t8 = 0;
0x0044bdcc b 0x44b410 | goto label_2;
| }
0x0044bdd0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bdd4 move a0, s5 | a0 = s5;
0x0044bdd8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._suiteB_128 */
0x0044bddc addiu a1, a1, -0x4acc | a1 += -0x4acc;
0x0044bde0 jalr t9 | t9 ();
0x0044bde4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bde8 bnez v0, 0x44be14 |
0x0044bdec lw v1, (s6) | v1 = *(s6);
0x0044bdf0 move s5, zero | s5 = 0;
0x0044bdf4 move s7, zero | s7 = 0;
0x0044bdf8 move s1, zero | s1 = 0;
0x0044bdfc move fp, zero | fp = 0;
0x0044be00 addiu a2, zero, -1 | a2 = -1;
0x0044be04 move t0, zero | t0 = 0;
0x0044be08 lui a3, 3 | a3 = 0x30000;
0x0044be0c move t8, zero | t8 = 0;
0x0044be10 b 0x44b410 | goto label_2;
| }
0x0044be14 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044be18 move a0, s5 | a0 = s5;
0x0044be1c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._suiteB_192 */
0x0044be20 addiu a1, a1, -0x4ac0 | a1 += -0x4ac0;
0x0044be24 jalr t9 | t9 ();
0x0044be28 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044be2c bnez v0, 0x44be58 |
0x0044be30 lw v1, (s6) | v1 = *(s6);
0x0044be34 move s5, zero | s5 = 0;
0x0044be38 move s7, zero | s7 = 0;
0x0044be3c move s1, zero | s1 = 0;
0x0044be40 move fp, zero | fp = 0;
0x0044be44 addiu a2, zero, -1 | a2 = -1;
0x0044be48 move t0, zero | t0 = 0;
0x0044be4c lui a3, 2 | a3 = 0x20000;
0x0044be50 move t8, zero | t8 = 0;
0x0044be54 b 0x44b410 | goto label_2;
| }
0x0044be58 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044be5c move a0, s5 | a0 = s5;
0x0044be60 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._partial_chain */
0x0044be64 addiu a1, a1, -0x4ab4 | a1 += -0x4ab4;
0x0044be68 jalr t9 | t9 ();
0x0044be6c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044be70 bnez v0, 0x44be9c |
0x0044be74 lw v1, (s6) | v1 = *(s6);
0x0044be78 move s5, zero | s5 = 0;
0x0044be7c move s7, zero | s7 = 0;
0x0044be80 move s1, zero | s1 = 0;
0x0044be84 move fp, zero | fp = 0;
0x0044be88 addiu a2, zero, -1 | a2 = -1;
0x0044be8c move t0, zero | t0 = 0;
0x0044be90 lui a3, 8 | a3 = 0x80000;
0x0044be94 move t8, zero | t8 = 0;
0x0044be98 b 0x44b410 | goto label_2;
| }
0x0044be9c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bea0 move a0, s5 | a0 = s5;
0x0044bea4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._no_alt_chains */
0x0044bea8 addiu a1, a1, -0x4aa4 | a1 += -0x4aa4;
0x0044beac jalr t9 | t9 ();
0x0044beb0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044beb4 bnez v0, 0x44bee0 |
0x0044beb8 lw v1, (s6) | v1 = *(s6);
0x0044bebc move s5, zero | s5 = 0;
0x0044bec0 move s7, zero | s7 = 0;
0x0044bec4 move s1, zero | s1 = 0;
0x0044bec8 move fp, zero | fp = 0;
0x0044becc addiu a2, zero, -1 | a2 = -1;
0x0044bed0 move t0, zero | t0 = 0;
0x0044bed4 lui a3, 0x10 | a3 = 0x100000;
0x0044bed8 move t8, zero | t8 = 0;
0x0044bedc b 0x44b410 | goto label_2;
| }
0x0044bee0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044bee4 move a0, s5 | a0 = s5;
0x0044bee8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._allow_proxy_certs */
0x0044beec addiu a1, a1, -0x4a94 | a1 += -0x4a94;
0x0044bef0 jalr t9 | t9 ();
0x0044bef4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044bef8 bnez v0, 0x44bf24 |
0x0044befc lw v1, (s6) | v1 = *(s6);
0x0044bf00 move s5, zero | s5 = 0;
0x0044bf04 move s7, zero | s7 = 0;
0x0044bf08 move s1, zero | s1 = 0;
0x0044bf0c move fp, zero | fp = 0;
0x0044bf10 addiu a2, zero, -1 | a2 = -1;
0x0044bf14 move t0, zero | t0 = 0;
0x0044bf18 addiu a3, zero, 0x40 | a3 = 0x40;
0x0044bf1c move t8, zero | t8 = 0;
0x0044bf20 b 0x44b410 | goto label_2;
| }
0x0044bf24 move v0, zero | v0 = 0;
0x0044bf28 b 0x44b454 | goto label_18;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44dfdc */
| #include <stdint.h>
|
; (fcn) sym.bio_dump_callback () | void bio_dump_callback () {
0x0044dfdc lui gp, 5 |
0x0044dfe0 addiu gp, gp, -0x1b3c |
0x0044dfe4 addu gp, gp, t9 | gp += t9;
0x0044dfe8 addiu sp, sp, -0x48 |
0x0044dfec sw ra, 0x44(sp) | *(var_44h) = ra;
0x0044dff0 sw s5, 0x40(sp) | *(var_40h) = s5;
0x0044dff4 sw s4, 0x3c(sp) | *(var_3ch) = s4;
0x0044dff8 sw s3, 0x38(sp) | *(var_38h) = s3;
0x0044dffc sw s2, 0x34(sp) | *(var_34h) = s2;
0x0044e000 sw s1, 0x30(sp) | *(var_30h) = s1;
0x0044e004 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x0044e008 move s4, a0 | s4 = a0;
0x0044e00c lw t9, -0x6d64(gp) | t9 = sym.imp.BIO_get_callback_arg;
0x0044e010 move s1, a1 | s1 = a1;
0x0044e014 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044e018 move s3, a2 | s3 = a2;
0x0044e01c lw s0, 0x5c(sp) | s0 = *(arg_5ch);
0x0044e020 move s5, a3 | s5 = a3;
0x0044e024 jalr t9 | t9 ();
0x0044e028 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044e02c move s2, v0 | s2 = v0;
| if (v0 != 0) {
0x0044e030 beqz v0, 0x44e048 |
0x0044e034 addiu t8, zero, 0x82 | t8 = 0x82;
0x0044e038 addiu t8, zero, 0x83 | t8 = 0x83;
| if (s1 == t8) {
0x0044e03c beq s1, t8, 0x44e0d4 | goto label_0;
| }
0x0044e040 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (s1 == t8) {
0x0044e044 beq s1, t8, 0x44e070 | goto label_1;
| }
| }
0x0044e048 move v0, s0 | v0 = s0;
0x0044e04c lw ra, 0x44(sp) | ra = *(var_44h);
0x0044e050 lw s5, 0x40(sp) | s5 = *(var_40h);
0x0044e054 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0044e058 lw s3, 0x38(sp) | s3 = *(var_38h);
0x0044e05c lw s2, 0x34(sp) | s2 = *(var_34h);
0x0044e060 lw s1, 0x30(sp) | s1 = *(var_30h);
0x0044e064 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0044e068 addiu sp, sp, 0x48 |
0x0044e06c jr ra | return v0;
| label_1:
0x0044e070 move a0, v0 | a0 = v0;
0x0044e074 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044e078 move a2, s4 | a2 = s4;
0x0044e07c sw s5, 0x10(sp) | *(var_10h) = s5;
| /* str.write_to__p___p____lu_bytes____ld__0x_lX___n */
0x0044e080 addiu a1, a1, -0x4284 | a1 += -0x4284;
| do {
0x0044e084 move a3, s3 | a3 = s3;
0x0044e088 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0044e08c sw s0, 0x18(sp) | *(var_18h) = s0;
0x0044e090 jalr t9 | t9 ();
0x0044e094 move a0, s2 | a0 = s2;
0x0044e098 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044e09c move a1, s3 | a1 = s3;
0x0044e0a0 lw t9, -0x6dec(gp) | t9 = sym.imp.BIO_dump;
0x0044e0a4 move a2, s0 | a2 = s0;
0x0044e0a8 jalr t9 | t9 ();
0x0044e0ac move v0, s0 | v0 = s0;
0x0044e0b0 lw ra, 0x44(sp) | ra = *(var_44h);
0x0044e0b4 lw s5, 0x40(sp) | s5 = *(var_40h);
0x0044e0b8 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0044e0bc lw s3, 0x38(sp) | s3 = *(var_38h);
0x0044e0c0 lw s2, 0x34(sp) | s2 = *(var_34h);
0x0044e0c4 lw s1, 0x30(sp) | s1 = *(var_30h);
0x0044e0c8 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0044e0cc addiu sp, sp, 0x48 |
0x0044e0d0 jr ra | return v0;
| label_0:
0x0044e0d4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e0d8 move a0, v0 | a0 = v0;
0x0044e0dc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044e0e0 move a2, s4 | a2 = s4;
0x0044e0e4 sw s5, 0x10(sp) | *(var_10h) = s5;
| /* str.read_from__p___p____lu_bytes____ld__0x_lX___n */
0x0044e0e8 addiu a1, a1, -0x42b4 | a1 += -0x42b4;
0x0044e0ec b 0x44e084 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x416048 */
| #include <stdint.h>
|
; (fcn) sym.dgst_main () | void dgst_main () {
0x00416048 lui gp, 8 |
0x0041604c addiu gp, gp, 0x6458 |
0x00416050 addu gp, gp, t9 | gp += t9;
0x00416054 addiu sp, sp, -0xf0 |
0x00416058 sw ra, 0xec(sp) | *(var_ech) = ra;
0x0041605c sw fp, 0xe8(sp) | *(var_e8h) = fp;
0x00416060 sw s7, 0xe4(sp) | *(var_e4h) = s7;
0x00416064 sw s6, 0xe0(sp) | *(var_e0h) = s6;
0x00416068 sw s5, 0xdc(sp) | *(var_dch) = s5;
0x0041606c sw s4, 0xd8(sp) | *(var_d8h) = s4;
0x00416070 sw s3, 0xd4(sp) | *(var_d4h) = s3;
0x00416074 sw s2, 0xd0(sp) | *(var_d0h) = s2;
0x00416078 sw s1, 0xcc(sp) | *(var_cch) = s1;
0x0041607c sw s0, 0xc8(sp) | *(var_c8h) = s0;
0x00416080 move s0, a0 | s0 = a0;
0x00416084 lw t9, -0x6e5c(gp) | t9 = sym.imp.signal;
0x00416088 addiu a0, zero, 0xd | a0 = 0xd;
0x0041608c sw gp, 0x30(sp) | *(var_30h) = gp;
0x00416090 move s2, a1 | s2 = a1;
0x00416094 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00416098 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0041609c addiu a1, zero, 1 | a1 = 1;
0x004160a0 jalr t9 | t9 ();
0x004160a4 addiu a0, zero, 0x2000 | a0 = 0x2000;
0x004160a8 lw gp, 0x30(sp) | gp = *(var_30h);
0x004160ac addiu a2, zero, 0x88 | a2 = 0x88;
0x004160b0 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x004160b4 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
| /* str.dgst.c */
0x004160b8 addiu a1, v0, -0x1a38 | a1 = v0 + -0x1a38;
0x004160bc jalr t9 | t9 ();
0x004160c0 lw gp, 0x30(sp) | gp = *(var_30h);
0x004160c4 move fp, v0 | fp = v0;
| if (v0 == 0) {
0x004160c8 beqz v0, 0x416644 | goto label_32;
| }
0x004160cc lw s6, -0x7fd4(gp) | s6 = *(gp);
0x004160d0 lw s1, (s6) | s1 = *(s6);
0x004160d4 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
| if (s1 == 0) {
0x004160d8 beqz s1, 0x416680 | goto label_33;
| }
| label_4:
0x004160dc lw t9, -0x7fc4(gp) | t9 = sym.load_config;
0x004160e0 move a0, s1 | a0 = s1;
0x004160e4 move a1, zero | a1 = 0;
0x004160e8 jalr t9 | t9 ();
0x004160ec lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x004160f0 bnez v0, 0x416200 |
0x004160f4 move s7, zero | s7 = 0;
0x004160f8 sw zero, 0x70(sp) | *(var_70h) = 0;
0x004160fc sw zero, 0x74(sp) | *(var_74h) = 0;
| label_1:
0x00416100 lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
0x00416104 move a0, fp | a0 = fp;
0x00416108 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x0041610c addiu s1, zero, 1 | s1 = 1;
0x00416110 jalr t9 | t9 ();
0x00416114 move a0, fp | a0 = fp;
0x00416118 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041611c move s2, zero | s2 = 0;
0x00416120 move s3, zero | s3 = 0;
0x00416124 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x00416128 move s4, zero | s4 = 0;
0x0041612c jalr t9 | t9 ();
0x00416130 lw gp, 0x30(sp) | gp = *(var_30h);
| label_3:
0x00416134 lw a0, 0x68(sp) | a0 = *(var_68h);
| label_11:
0x00416138 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x0041613c beqz a0, 0x41614c |
0x00416140 jalr t9 | t9 ();
0x00416144 nop |
0x00416148 lw gp, 0x30(sp) | gp = *(var_30h);
| }
0x0041614c lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
0x00416150 move a0, s4 | a0 = s4;
0x00416154 jalr t9 | t9 ();
0x00416158 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041615c lw t9, -0x737c(gp) | t9 = sym.imp.EVP_PKEY_free;
0x00416160 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x00416164 jalr t9 | t9 ();
0x00416168 lw t8, 0x70(sp) | t8 = *(var_70h);
0x0041616c lw gp, 0x30(sp) | gp = *(var_30h);
| if (t8 != 0) {
0x00416170 beqz t8, 0x416184 |
0x00416174 lw t9, -0x7c44(gp) | t9 = sym.imp.sk_free;
0x00416178 move a0, t8 | a0 = t8;
0x0041617c jalr t9 | t9 ();
0x00416180 lw gp, 0x30(sp) | gp = *(var_30h);
| }
0x00416184 lw t9, -0x7c44(gp) | t9 = sym.imp.sk_free;
| if (s7 != 0) {
0x00416188 beqz s7, 0x416198 |
0x0041618c move a0, s7 | a0 = s7;
0x00416190 jalr t9 | t9 ();
0x00416194 lw gp, 0x30(sp) | gp = *(var_30h);
| }
0x00416198 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (s3 != 0) {
0x0041619c beqz s3, 0x4161ac |
0x004161a0 move a0, s3 | a0 = s3;
0x004161a4 jalr t9 | t9 ();
0x004161a8 lw gp, 0x30(sp) | gp = *(var_30h);
| }
0x004161ac lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
| if (s2 != 0) {
0x004161b0 beqz s2, 0x4161c0 |
0x004161b4 move a0, s2 | a0 = s2;
0x004161b8 jalr t9 | t9 ();
0x004161bc lw gp, 0x30(sp) | gp = *(var_30h);
| }
0x004161c0 lw t9, -0x7fbc(gp) | t9 = sym.release_engine;
0x004161c4 lw a0, 0x74(sp) | a0 = *(var_74h);
0x004161c8 jalr t9 | t9 ();
0x004161cc move v0, s1 | v0 = s1;
0x004161d0 lw ra, 0xec(sp) | ra = *(var_ech);
0x004161d4 lw fp, 0xe8(sp) | fp = *(var_e8h);
0x004161d8 lw s7, 0xe4(sp) | s7 = *(var_e4h);
0x004161dc lw s6, 0xe0(sp) | s6 = *(var_e0h);
0x004161e0 lw s5, 0xdc(sp) | s5 = *(var_dch);
0x004161e4 lw s4, 0xd8(sp) | s4 = *(var_d8h);
0x004161e8 lw s3, 0xd4(sp) | s3 = *(var_d4h);
0x004161ec lw s2, 0xd0(sp) | s2 = *(var_d0h);
0x004161f0 lw s1, 0xcc(sp) | s1 = *(var_cch);
0x004161f4 lw s0, 0xc8(sp) | s0 = *(var_c8h);
0x004161f8 addiu sp, sp, 0xf0 |
0x004161fc jr ra | return v0;
| }
0x00416200 addiu t8, sp, 0x38 | t8 = sp + 0x38;
0x00416204 addiu a2, zero, 0x28 | a2 = 0x28;
0x00416208 lw t9, -0x7e58(gp) | t9 = sym.program_name;
0x0041620c move a1, t8 | a1 = t8;
0x00416210 lw a0, (s2) | a0 = *(s2);
0x00416214 addiu s0, s0, -1 | s0 += -1;
0x00416218 sw t8, 0x84(sp) | *(var_84h) = t8;
0x0041621c addiu s1, s2, 4 | s1 = s2 + 4;
0x00416220 jalr t9 | t9 ();
0x00416224 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416228 lw t9, -0x7974(gp) | t9 = sym.imp.EVP_get_digestbyname;
0x0041622c addiu a0, sp, 0x38 | a0 = sp + 0x38;
0x00416230 jalr t9 | t9 ();
0x00416234 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416238 sw v0, 0xac(sp) | *(var_ach) = v0;
| if (s0 <= 0) {
0x0041623c blez s0, 0x416f60 | goto label_34;
| }
0x00416240 lw s4, 4(s2) | s4 = *((s2 + 1));
0x00416244 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00416248 lb v1, (s4) | v1 = *(s4);
0x0041624c addiu t8, zero, -1 | t8 = -1;
| if (v1 != v0) {
0x00416250 bne v1, v0, 0x416f60 | goto label_34;
| }
0x00416254 move s7, zero | s7 = 0;
0x00416258 lw s3, -0x7fd8(gp) | s3 = *(gp);
0x0041625c move s5, zero | s5 = 0;
0x00416260 sw t8, 0x8c(sp) | *(var_8ch) = t8;
0x00416264 addiu t8, zero, 3 | t8 = 3;
0x00416268 sw zero, 0x70(sp) | *(var_70h) = 0;
| /* esilref: '-r' */
0x0041626c addiu s3, s3, -0x1a1c | s3 += -0x1a1c;
0x00416270 sw zero, 0xb4(sp) | *(var_b4h) = 0;
0x00416274 sw zero, 0xa0(sp) | *(var_a0h) = 0;
0x00416278 sw zero, 0xa4(sp) | *(var_a4h) = 0;
0x0041627c sw zero, 0x78(sp) | *(var_78h) = 0;
0x00416280 sw zero, 0x94(sp) | *(var_94h) = 0;
0x00416284 sw zero, 0x90(sp) | *(var_90h) = 0;
0x00416288 sw zero, 0xa8(sp) | *(var_a8h) = 0;
0x0041628c sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x00416290 sw zero, 0x9c(sp) | *(var_9ch) = 0;
0x00416294 sw zero, 0x80(sp) | *(var_80h) = 0;
0x00416298 sw zero, 0x88(sp) | *(var_88h) = 0;
0x0041629c sw t8, 0xb0(sp) | *(var_b0h) = t8;
0x004162a0 sw zero, 0x98(sp) | *(var_98h) = 0;
0x004162a4 sw zero, 0x74(sp) | *(var_74h) = 0;
0x004162a8 lw s2, -0x7fd8(gp) | s2 = *(gp);
0x004162ac b 0x416320 |
| while (v0 != 0) {
0x004162b0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x004162b4 move a0, s4 | a0 = s4;
0x004162b8 move a1, s3 | a1 = s3;
0x004162bc jalr t9 | t9 ();
0x004162c0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x004162c4 beqz v0, 0x416374 | goto label_35;
| }
0x004162c8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004162cc move a0, s4 | a0 = s4;
0x004162d0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._rand */
0x004162d4 addiu a1, a1, -0x2bec | a1 += -0x2bec;
0x004162d8 jalr t9 | t9 ();
0x004162dc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x004162e0 bnez v0, 0x41637c | goto label_36;
| }
0x004162e4 addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x004162e8 beqz s0, 0x416c84 | goto label_12;
| }
0x004162ec nop |
0x004162f0 lw t8, 4(s1) | t8 = *((s1 + 1));
0x004162f4 addiu s1, s1, 4 | s1 += 4;
0x004162f8 sw t8, 0x7c(sp) | *(var_7ch) = t8;
| label_2:
0x004162fc addiu s0, s0, -1 | s0 += -1;
0x00416300 addiu v1, s1, 4 | v1 = s1 + 4;
| if (s0 == 0) {
0x00416304 beqz s0, 0x416348 | goto label_9;
| }
| label_0:
0x00416308 lw s4, 4(s1) | s4 = *((s1 + 1));
0x0041630c addiu t8, zero, 0x2d | t8 = 0x2d;
0x00416310 lb v0, (s4) | v0 = *(s4);
0x00416314 lw t8, 0x80(sp) | t8 = *(var_80h);
| if (v0 != t8) {
0x00416318 bne v0, t8, 0x41634c | goto label_37;
| }
0x0041631c move s1, v1 | s1 = v1;
0x00416320 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x00416324 move a0, s4 | a0 = s4;
| /* esilref: '-c' */
0x00416328 addiu a1, s2, -0x1a20 | a1 = s2 + -0x1a20;
0x0041632c jalr t9 | t9 ();
0x00416330 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416334 bnez v0, 0x4162b0 |
| }
0x00416338 addiu s0, s0, -1 | s0 += -1;
0x0041633c addiu s5, zero, 1 | s5 = 1;
0x00416340 addiu v1, s1, 4 | v1 = s1 + 4;
| if (s0 != 0) {
0x00416344 bnez s0, 0x416308 | goto label_0;
| }
| label_9:
0x00416348 lw t8, 0x80(sp) | t8 = *(var_80h);
| label_37:
0x0041634c slti t8, s0, 2 | t8 = (s0 < 2) ? 1 : 0;
| if (t8 != 0) {
0x00416350 beqz t8, 0x416424 |
0x00416354 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (t8 != 0) {
0x00416358 bnez t8, 0x416424 | goto label_38;
| }
0x0041635c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00416360 lw a0, (s6) | a0 = *(s6);
| /* str.Can_only_sign_or_verify_one_file_n */
0x00416364 addiu a1, a1, -0x1998 | a1 += -0x1998;
0x00416368 jalr t9 | t9 ();
0x0041636c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416370 b 0x416100 | goto label_1;
| label_35:
0x00416374 addiu s5, zero, 2 | s5 = 2;
0x00416378 b 0x4162fc | goto label_2;
| label_36:
0x0041637c lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00416380 move a0, s4 | a0 = s4;
0x00416384 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._out */
0x00416388 addiu a1, v0, -0x3268 | a1 = v0 + -0x3268;
0x0041638c jalr t9 | t9 ();
0x00416390 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00416394 bnez v0, 0x4163b4 |
0x00416398 addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x0041639c beqz s0, 0x416c84 | goto label_12;
| }
0x004163a0 nop |
0x004163a4 lw t8, 4(s1) | t8 = *((s1 + 1));
0x004163a8 addiu s1, s1, 4 | s1 += 4;
0x004163ac sw t8, 0x88(sp) | *(var_88h) = t8;
0x004163b0 b 0x4162fc | goto label_2;
| }
0x004163b4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004163b8 move a0, s4 | a0 = s4;
0x004163bc lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._sign */
0x004163c0 addiu a1, a1, -0x1a18 | a1 += -0x1a18;
0x004163c4 jalr t9 | t9 ();
0x004163c8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x004163cc beqz v0, 0x416408 |
0x004163d0 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x004163d4 move a0, s4 | a0 = s4;
0x004163d8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._passin */
0x004163dc addiu a1, v0, -0x2c00 | a1 = v0 + -0x2c00;
0x004163e0 jalr t9 | t9 ();
0x004163e4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x004163e8 bnez v0, 0x4165e8 | goto label_39;
| }
0x004163ec addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x004163f0 beqz s0, 0x416c84 | goto label_12;
| }
0x004163f4 nop |
0x004163f8 lw t8, 4(s1) | t8 = *((s1 + 1));
0x004163fc addiu s1, s1, 4 | s1 += 4;
0x00416400 sw t8, 0x94(sp) | *(var_94h) = t8;
0x00416404 b 0x4162fc | goto label_2;
| }
0x00416408 addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x0041640c beqz s0, 0x416c84 | goto label_12;
| }
0x00416410 nop |
0x00416414 lw t8, 4(s1) | t8 = *((s1 + 1));
0x00416418 addiu s1, s1, 4 | s1 += 4;
0x0041641c sw t8, 0x80(sp) | *(var_80h) = t8;
0x00416420 b 0x4162fc | goto label_2;
| }
| label_38:
0x00416424 lw t8, 0x90(sp) | t8 = *(var_90h);
0x00416428 lw t8, 0x9c(sp) | t8 = *(var_9ch);
| if (t8 != 0) {
0x0041642c beqz t8, 0x416438 |
0x00416430 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (t8 == 0) {
0x00416434 beqz t8, 0x416700 | goto label_40;
| }
| }
| label_14:
0x00416438 addiu t8, zero, 0x2d | t8 = 0x2d;
| if (s0 > 0) {
0x0041643c blez s0, 0x416450 |
0x00416440 lw a2, (v1) | a2 = *(v1);
0x00416444 lb v0, (a2) | v0 = *(a2);
0x00416448 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v0 == t8) {
0x0041644c beq v0, t8, 0x416d14 | goto label_41;
| }
| }
0x00416450 lw t8, 0x74(sp) | t8 = *(var_74h);
0x00416454 lw v0, 0x78(sp) | v0 = *(var_78h);
0x00416458 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
| if (v0 != 0) {
0x0041645c movz t8, zero, v0 | t8 = 0;
| }
0x00416460 sw t8, 0xb8(sp) | *(var_b8h) = t8;
0x00416464 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416468 jalr t9 | t9 ();
0x0041646c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416470 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00416474 move a0, v0 | a0 = v0;
0x00416478 jalr t9 | t9 ();
0x0041647c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416480 lw t9, -0x768c(gp) | t9 = sym.imp.BIO_f_md;
0x00416484 sw v0, 0x78(sp) | *(var_78h) = v0;
0x00416488 jalr t9 | t9 ();
0x0041648c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416490 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00416494 move a0, v0 | a0 = v0;
0x00416498 jalr t9 | t9 ();
0x0041649c lw t8, 0x78(sp) | t8 = *(var_78h);
0x004164a0 move s2, v0 | s2 = v0;
0x004164a4 lw gp, 0x30(sp) | gp = *(var_30h);
0x004164a8 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (t8 == 0) {
0x004164ac beqz t8, 0x416c8c | goto label_42;
| }
0x004164b0 lw t8, 0x98(sp) | t8 = *(var_98h);
| if (v0 == 0) {
0x004164b4 beqz v0, 0x416c8c | goto label_42;
| }
0x004164b8 lw t9, -0x7198(gp) | t9 = sym.imp.BIO_set_callback;
| if (t8 != 0) {
0x004164bc bnez t8, 0x416744 | goto label_43;
| }
| label_7:
0x004164c0 lw a0, (s6) | a0 = *(s6);
0x004164c4 move a2, zero | a2 = 0;
0x004164c8 lw t9, -0x7fcc(gp) | t9 = sym.app_passwd;
0x004164cc addiu a3, sp, 0x68 | a3 = sp + 0x68;
0x004164d0 lw a1, 0x94(sp) | a1 = *(var_94h);
0x004164d4 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x004164d8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x004164dc jalr t9 | t9 ();
0x004164e0 lw gp, 0x30(sp) | gp = *(var_30h);
0x004164e4 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x004164e8 beqz v0, 0x416718 | goto label_44;
| }
0x004164ec lw a0, 0x8c(sp) | a0 = *(var_8ch);
0x004164f0 lw v0, 0x80(sp) | v0 = *(var_80h);
0x004164f4 sltu t8, zero, v0 | t8 = (0 < v0) ? 1 : 0;
0x004164f8 nor v0, zero, a0 | __asm ("nor v0, zero, a0");
| if (v0 != 0) {
0x004164fc movz a0, t8, v0 | a0 = t8;
| }
0x00416500 lw t8, 0x7c(sp) | t8 = *(var_7ch);
0x00416504 sw a0, 0x8c(sp) | *(var_8ch) = a0;
| if (t8 != 0) {
0x00416508 beqz t8, 0x41652c |
0x0041650c lw t9, -0x7fac(gp) | t9 = sym.app_RAND_load_file;
0x00416510 move a0, t8 | a0 = t8;
0x00416514 lw a1, (s6) | a1 = *(s6);
0x00416518 move a2, zero | a2 = 0;
0x0041651c sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416520 jalr t9 | t9 ();
0x00416524 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416528 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| }
0x0041652c lw t8, 0x88(sp) | t8 = *(var_88h);
0x00416530 lw t8, 0x8c(sp) | t8 = *(var_8ch);
| if (t8 == 0) {
0x00416534 beqz t8, 0x41708c | goto label_45;
| }
0x00416538 lw a0, 0x88(sp) | a0 = *(var_88h);
0x0041653c lw t9, -0x79cc(gp) | t9 = sym.imp.BIO_new_file;
| if (t8 == 0) {
0x00416540 beqz t8, 0x4166f4 | goto label_46;
| }
0x00416544 lw a1, -0x7fd8(gp) | a1 = *(gp);
| /* esilref: 'wb' */
0x00416548 addiu a1, a1, -0x2ef8 | a1 += -0x2ef8;
| label_5:
0x0041654c sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416550 jalr t9 | t9 ();
0x00416554 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416558 move s4, v0 | s4 = v0;
0x0041655c lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x00416560 beqz v0, 0x416c28 | goto label_47;
| }
0x00416564 lw t8, 0xa0(sp) | t8 = *(var_a0h);
0x00416568 lw v0, 0x80(sp) | v0 = *(var_80h);
0x0041656c lw a0, 0xa4(sp) | a0 = *(var_a4h);
0x00416570 sltu s1, zero, t8 | s1 = (0 < t8) ? 1 : 0;
0x00416574 sltu t8, zero, v0 | t8 = (0 < v0) ? 1 : 0;
0x00416578 sltu a0, zero, a0 | a0 = (0 < a0) ? 1 : 0;
0x0041657c addu v0, s1, t8 | v0 = s1 + t8;
0x00416580 addu v0, v0, a0 | v0 += a0;
0x00416584 slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x00416588 sw a0, 0x7c(sp) | *(var_7ch) = a0;
| if (v0 != 0) {
0x0041658c bnez v0, 0x416774 | goto label_48;
| }
0x00416590 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416594 move s3, zero | s3 = 0;
0x00416598 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041659c addiu s1, zero, 1 | s1 = 1;
0x004165a0 lw a0, (s6) | a0 = *(s6);
| /* str.MAC_and_Signing_key_cannot_both_be_specified_n */
0x004165a4 addiu a1, a1, -0x154c | a1 += -0x154c;
0x004165a8 jalr t9 | t9 ();
0x004165ac lw gp, 0x30(sp) | gp = *(var_30h);
| label_6:
0x004165b0 lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
0x004165b4 move a0, fp | a0 = fp;
0x004165b8 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x004165bc jalr t9 | t9 ();
0x004165c0 lw gp, 0x30(sp) | gp = *(var_30h);
0x004165c4 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x004165c8 move a0, fp | a0 = fp;
0x004165cc jalr t9 | t9 ();
0x004165d0 lw gp, 0x30(sp) | gp = *(var_30h);
| label_10:
0x004165d4 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x004165d8 lw a0, 0x78(sp) | a0 = *(var_78h);
0x004165dc jalr t9 | t9 ();
0x004165e0 lw gp, 0x30(sp) | gp = *(var_30h);
0x004165e4 b 0x416134 | goto label_3;
| label_39:
0x004165e8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004165ec move a0, s4 | a0 = s4;
0x004165f0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._verify */
0x004165f4 addiu a1, a1, -0x2bac | a1 += -0x2bac;
0x004165f8 jalr t9 | t9 ();
0x004165fc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00416600 beqz v0, 0x4166cc | goto label_49;
| }
0x00416604 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416608 move a0, s4 | a0 = s4;
0x0041660c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._prverify */
0x00416610 addiu a1, a1, -0x1a10 | a1 += -0x1a10;
0x00416614 jalr t9 | t9 ();
0x00416618 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0041661c bnez v0, 0x416cdc | goto label_50;
| }
0x00416620 addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x00416624 beqz s0, 0x416c84 | goto label_12;
| }
0x00416628 nop |
0x0041662c lw t8, 4(s1) | t8 = *((s1 + 1));
0x00416630 addiu s1, s1, 4 | s1 += 4;
0x00416634 sw t8, 0x80(sp) | *(var_80h) = t8;
0x00416638 addiu t8, zero, 1 | t8 = 1;
0x0041663c sw t8, 0x90(sp) | *(var_90h) = t8;
0x00416640 b 0x4162fc | goto label_2;
| label_32:
0x00416644 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00416648 addiu s1, zero, 1 | s1 = 1;
0x0041664c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416650 move s2, zero | s2 = 0;
0x00416654 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00416658 move s3, zero | s3 = 0;
0x0041665c lw a0, (t8) | a0 = *(t8);
| /* str.out_of_memory_n */
0x00416660 addiu a1, a1, -0x1a30 | a1 += -0x1a30;
0x00416664 move s4, zero | s4 = 0;
0x00416668 move s7, zero | s7 = 0;
0x0041666c jalr t9 | t9 ();
0x00416670 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416674 sw zero, 0x70(sp) | *(var_70h) = 0;
0x00416678 sw zero, 0x74(sp) | *(var_74h) = 0;
0x0041667c b 0x416134 | goto label_3;
| label_33:
0x00416680 jalr t9 | t9 ();
0x00416684 nop |
0x00416688 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041668c lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00416690 move a0, v0 | a0 = v0;
0x00416694 jalr t9 | t9 ();
0x00416698 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041669c sw v0, (s6) | *(s6) = v0;
| if (v0 == 0) {
0x004166a0 beqz v0, 0x4160dc | goto label_4;
| }
0x004166a4 lw t8, -0x6c70(gp) | t8 = *((gp - 6940));
0x004166a8 move a0, v0 | a0 = v0;
0x004166ac lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x004166b0 addiu a1, zero, 0x6a | a1 = 0x6a;
0x004166b4 lw a3, (t8) | a3 = *(t8);
0x004166b8 addiu a2, zero, 0x10 | a2 = 0x10;
0x004166bc jalr t9 | t9 ();
0x004166c0 lw gp, 0x30(sp) | gp = *(var_30h);
0x004166c4 lw s1, (s6) | s1 = *(s6);
0x004166c8 b 0x4160dc | goto label_4;
| label_49:
0x004166cc addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x004166d0 beqz s0, 0x416c84 | goto label_12;
| }
0x004166d4 nop |
0x004166d8 lw t8, 4(s1) | t8 = *((s1 + 1));
0x004166dc addiu s1, s1, 4 | s1 += 4;
0x004166e0 sw t8, 0x80(sp) | *(var_80h) = t8;
0x004166e4 addiu t8, zero, 1 | t8 = 1;
0x004166e8 sw t8, 0x90(sp) | *(var_90h) = t8;
0x004166ec sw t8, 0xa8(sp) | *(var_a8h) = t8;
0x004166f0 b 0x4162fc | goto label_2;
| label_46:
0x004166f4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004166f8 addiu a1, a1, -0x1570 | a1 += -0x1570;
0x004166fc b 0x41654c | goto label_5;
| label_40:
0x00416700 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00416704 lw a0, (s6) | a0 = *(s6);
| /* str.No_signature_to_verify:_use_the__signature_option_n */
0x00416708 addiu a1, a1, -0x1974 | a1 += -0x1974;
0x0041670c jalr t9 | t9 ();
0x00416710 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416714 b 0x416100 | goto label_1;
| label_44:
0x00416718 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041671c move s3, zero | s3 = 0;
0x00416720 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416724 move s4, zero | s4 = 0;
0x00416728 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041672c addiu s1, zero, 1 | s1 = 1;
0x00416730 lw a0, (t8) | a0 = *(t8);
| /* str.Error_getting_password_n */
0x00416734 addiu a1, a1, -0x1588 | a1 += -0x1588;
0x00416738 jalr t9 | t9 ();
0x0041673c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416740 b 0x4165b0 | goto label_6;
| label_43:
0x00416744 lw a1, -0x7338(gp) | a1 = *((gp - 7374));
0x00416748 lw a0, 0x78(sp) | a0 = *(var_78h);
0x0041674c sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416750 jalr t9 | t9 ();
0x00416754 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416758 lw a0, 0x78(sp) | a0 = *(var_78h);
0x0041675c lw t9, -0x75dc(gp) | t9 = sym.imp.BIO_set_callback_arg;
0x00416760 lw a1, (s6) | a1 = *(s6);
0x00416764 jalr t9 | t9 ();
0x00416768 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041676c lw v1, 0xc0(sp) | v1 = *(var_c0h);
0x00416770 b 0x4164c0 | goto label_7;
| label_48:
0x00416774 lw t8, 0xa8(sp) | t8 = *(var_a8h);
| if (t8 != 0) {
0x00416778 beqz t8, 0x4167c4 |
0x0041677c lw a1, 0x80(sp) | a1 = *(var_80h);
0x00416780 lw a0, (s6) | a0 = *(s6);
0x00416784 lw a2, 0xb0(sp) | a2 = *(var_b0h);
| if (t8 == 0) {
0x00416788 beqz t8, 0x416f0c | goto label_51;
| }
0x0041678c lw t9, -0x7e40(gp) | t9 = sym.load_pubkey;
0x00416790 move a3, zero | a3 = 0;
0x00416794 sw zero, 0x10(sp) | *(var_10h) = 0;
| label_13:
0x00416798 lw t8, 0x74(sp) | t8 = *(var_74h);
0x0041679c sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x004167a0 sw t8, 0x14(sp) | *(var_14h) = t8;
0x004167a4 lw t8, -0x7f9c(gp) | t8 = *(gp);
| /* esilref: 'key file' */
0x004167a8 addiu t8, t8, -0xe68 | t8 += -0xe68;
0x004167ac sw t8, 0x18(sp) | *(var_18h) = t8;
0x004167b0 jalr t9 | t9 ();
0x004167b4 lw gp, 0x30(sp) | gp = *(var_30h);
0x004167b8 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x004167bc lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x004167c0 beqz v0, 0x416c60 | goto label_52;
| }
| }
0x004167c4 addiu a1, sp, 0x60 | a1 = sp + 0x60;
| if (s1 == 0) {
0x004167c8 beqz s1, 0x4168ac | goto label_53;
| }
0x004167cc lw a0, (s6) | a0 = *(s6);
0x004167d0 lw t9, -0x7e3c(gp) | t9 = sym.init_gen_str;
0x004167d4 lw a2, 0xa0(sp) | a2 = *(var_a0h);
0x004167d8 lw a3, 0xb8(sp) | a3 = *(var_b8h);
0x004167dc sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x004167e0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x004167e4 sw zero, 0x60(sp) | *(var_60h) = 0;
0x004167e8 jalr t9 | t9 ();
0x004167ec lw gp, 0x30(sp) | gp = *(var_30h);
0x004167f0 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x004167f4 beqz v0, 0x416fb8 | goto label_54;
| }
0x004167f8 move s3, zero | s3 = 0;
| if (s7 == 0) {
0x004167fc beqz s7, 0x416864 | goto label_55;
| }
0x00416800 sw s0, 0x80(sp) | *(var_80h) = s0;
0x00416804 move s1, v1 | s1 = v1;
0x00416808 b 0x416834 |
| while (v0 != 0) {
0x0041680c jalr t9 | t9 ();
0x00416810 nop |
0x00416814 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416818 move a1, v0 | a1 = v0;
0x0041681c lw a0, 0x60(sp) | a0 = *(var_60h);
0x00416820 lw t9, -0x7fdc(gp) | t9 = sym.pkey_ctrl_string;
0x00416824 move s0, v0 | s0 = v0;
0x00416828 jalr t9 | t9 ();
0x0041682c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 <= 0) {
0x00416830 blez v0, 0x417104 | goto label_56;
| }
0x00416834 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00416838 move a0, s7 | a0 = s7;
0x0041683c jalr t9 | t9 ();
0x00416840 move a1, s3 | a1 = s3;
0x00416844 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416848 slt v0, s3, v0 | v0 = (s3 < v0) ? 1 : 0;
0x0041684c move a0, s7 | a0 = s7;
0x00416850 addiu s3, s3, 1 | s3++;
0x00416854 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00416858 bnez v0, 0x41680c |
| }
0x0041685c lw s0, 0x80(sp) | s0 = *(var_80h);
0x00416860 move v1, s1 | v1 = s1;
| label_55:
0x00416864 lw t9, -0x7788(gp) | t9 = sym.imp.EVP_PKEY_keygen;
0x00416868 addiu a1, sp, 0x6c | a1 = sp + 0x6c;
0x0041686c lw a0, 0x60(sp) | a0 = *(var_60h);
0x00416870 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416874 jalr t9 | t9 ();
0x00416878 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041687c lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 <= 0) {
0x00416880 blez v0, 0x417320 | goto label_57;
| }
0x00416884 addiu s1, zero, 1 | s1 = 1;
| label_15:
0x00416888 lw a0, 0x60(sp) | a0 = *(var_60h);
0x0041688c lw t9, -0x7288(gp) | t9 = sym.imp.EVP_PKEY_CTX_free;
| if (a0 != 0) {
0x00416890 beqz a0, 0x4168a4 |
0x00416894 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416898 jalr t9 | t9 ();
0x0041689c lw gp, 0x30(sp) | gp = *(var_30h);
0x004168a0 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| }
| if (s1 == 0) {
0x004168a4 beqz s1, 0x416c60 | goto label_52;
| }
0x004168a8 nop |
| label_53:
0x004168ac lw t8, 0xb4(sp) | t8 = *(var_b4h);
0x004168b0 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (t8 != 0) {
0x004168b4 bnez t8, 0x4170a0 | goto label_58;
| }
| label_19:
0x004168b8 lw t8, 0x7c(sp) | t8 = *(var_7ch);
0x004168bc lw t9, -0x7298(gp) | t9 = sym.imp.EVP_PKEY_new_mac_key;
| if (t8 == 0) {
0x004168c0 beqz t8, 0x417008 | goto label_59;
| }
0x004168c4 addiu a0, zero, 0x357 | a0 = 0x357;
0x004168c8 lw a1, 0xb8(sp) | a1 = *(var_b8h);
0x004168cc addiu a3, zero, -1 | a3 = -1;
0x004168d0 lw a2, 0xa4(sp) | a2 = *(var_a4h);
0x004168d4 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x004168d8 jalr t9 | t9 ();
0x004168dc lw gp, 0x30(sp) | gp = *(var_30h);
0x004168e0 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x004168e4 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x004168e8 beqz v0, 0x416c60 | goto label_52;
| }
0x004168ec lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| label_16:
0x004168f0 move a0, s2 | a0 = s2;
0x004168f4 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x004168f8 addiu a1, zero, 0x78 | a1 = 0x78;
0x004168fc move a2, zero | a2 = 0;
0x00416900 addiu a3, sp, 0x64 | a3 = sp + 0x64;
0x00416904 sw zero, 0x64(sp) | *(var_64h) = 0;
0x00416908 sw zero, 0x60(sp) | *(var_60h) = 0;
0x0041690c jalr t9 | t9 ();
0x00416910 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416914 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x00416918 beqz v0, 0x4170e8 | goto label_60;
| }
0x0041691c lw t8, 0x90(sp) | t8 = *(var_90h);
0x00416920 addiu t8, sp, 0x60 | t8 = sp + 0x60;
| if (t8 == 0) {
0x00416924 beqz t8, 0x4170d8 | goto label_61;
| }
0x00416928 lw t9, -0x7104(gp) | t9 = sym.imp.EVP_DigestVerifyInit;
0x0041692c move a1, t8 | a1 = t8;
0x00416930 sw t8, 0x80(sp) | *(var_80h) = t8;
| label_20:
0x00416934 lw t8, 0x6c(sp) | t8 = *(var_6ch);
0x00416938 lw a0, 0x64(sp) | a0 = *(var_64h);
0x0041693c lw a2, 0xac(sp) | a2 = *(var_ach);
0x00416940 lw a3, 0xb8(sp) | a3 = *(var_b8h);
0x00416944 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416948 sw t8, 0x10(sp) | *(var_10h) = t8;
0x0041694c jalr t9 | t9 ();
0x00416950 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416954 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x00416958 beqz v0, 0x417254 | goto label_62;
| }
0x0041695c lw t8, 0x70(sp) | t8 = *(var_70h);
0x00416960 move s3, zero | s3 = 0;
| if (t8 == 0) {
0x00416964 beqz t8, 0x4169dc | goto label_17;
| }
0x00416968 sw s0, 0x7c(sp) | *(var_7ch) = s0;
0x0041696c move s1, s3 | s1 = s3;
0x00416970 sw v1, 0x84(sp) | *(var_84h) = v1;
0x00416974 move s0, t8 | s0 = t8;
0x00416978 move s3, s2 | s3 = s2;
0x0041697c b 0x4169a8 |
| while (v0 != 0) {
0x00416980 jalr t9 | t9 ();
0x00416984 nop |
0x00416988 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041698c move a1, v0 | a1 = v0;
0x00416990 lw a0, 0x60(sp) | a0 = *(var_60h);
0x00416994 lw t9, -0x7fdc(gp) | t9 = sym.pkey_ctrl_string;
0x00416998 move s2, v0 | s2 = v0;
0x0041699c jalr t9 | t9 ();
0x004169a0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 <= 0) {
0x004169a4 blez v0, 0x41722c | goto label_63;
| }
0x004169a8 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x004169ac move a0, s0 | a0 = s0;
0x004169b0 jalr t9 | t9 ();
0x004169b4 move a1, s1 | a1 = s1;
0x004169b8 lw gp, 0x30(sp) | gp = *(var_30h);
0x004169bc slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x004169c0 move a0, s0 | a0 = s0;
0x004169c4 addiu s1, s1, 1 | s1++;
0x004169c8 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x004169cc bnez v0, 0x416980 |
| }
0x004169d0 lw s0, 0x7c(sp) | s0 = *(var_7ch);
0x004169d4 move s2, s3 | s2 = s3;
0x004169d8 lw v1, 0x84(sp) | v1 = *(var_84h);
| label_17:
0x004169dc lw t8, 0x9c(sp) | t8 = *(var_9ch);
0x004169e0 lw t8, 0x6c(sp) | t8 = *(var_6ch);
| if (t8 == 0) {
0x004169e4 beqz t8, 0x417290 | goto label_64;
| }
0x004169e8 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (t8 == 0) {
0x004169ec beqz t8, 0x417290 | goto label_64;
| }
0x004169f0 lw t9, -0x79cc(gp) | t9 = sym.imp.BIO_new_file;
0x004169f4 lw a0, 0x9c(sp) | a0 = *(var_9ch);
| /* esilref: 'rb' */
0x004169f8 addiu a1, a1, -0x149c | a1 += -0x149c;
0x004169fc sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416a00 jalr t9 | t9 ();
0x00416a04 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416a08 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x00416a0c lw t9, -0x7870(gp) | t9 = sym.imp.EVP_PKEY_size;
0x00416a10 sw v0, 0xbc(sp) | *(var_bch) = v0;
0x00416a14 jalr t9 | t9 ();
0x00416a18 addiu a2, zero, 0x1ce | a2 = 0x1ce;
0x00416a1c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416a20 move s1, v0 | s1 = v0;
0x00416a24 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00416a28 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
| /* str.dgst.c */
0x00416a2c addiu a1, a0, -0x1a38 | a1 = a0 + -0x1a38;
0x00416a30 move a0, v0 | a0 = v0;
0x00416a34 jalr t9 | t9 ();
0x00416a38 lw t8, 0xbc(sp) | t8 = *(var_bch);
0x00416a3c move s3, v0 | s3 = v0;
0x00416a40 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416a44 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (t8 == 0) {
0x00416a48 beqz t8, 0x4173f4 | goto label_65;
| }
0x00416a4c lw t9, -0x72f0(gp) | t9 = sym.imp.BIO_read;
| if (v0 == 0) {
0x00416a50 beqz v0, 0x417378 | goto label_66;
| }
0x00416a54 move a0, t8 | a0 = t8;
0x00416a58 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416a5c move a1, v0 | a1 = v0;
0x00416a60 move a2, s1 | a2 = s1;
0x00416a64 sw t8, 0xbc(sp) | *(var_bch) = t8;
0x00416a68 jalr t9 | t9 ();
0x00416a6c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416a70 lw t8, 0xbc(sp) | t8 = *(var_bch);
0x00416a74 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x00416a78 move a0, t8 | a0 = t8;
0x00416a7c sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x00416a80 jalr t9 | t9 ();
0x00416a84 lw t8, 0x7c(sp) | t8 = *(var_7ch);
0x00416a88 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416a8c lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (t8 <= 0) {
0x00416a90 blez t8, 0x417340 | goto label_67;
| }
| label_24:
0x00416a94 lw t9, -0x7c84(gp) | t9 = sym.imp.BIO_push;
0x00416a98 move a0, s2 | a0 = s2;
0x00416a9c lw a1, 0x78(sp) | a1 = *(var_78h);
0x00416aa0 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416aa4 jalr t9 | t9 ();
0x00416aa8 lw t8, 0xac(sp) | t8 = *(var_ach);
0x00416aac lw gp, 0x30(sp) | gp = *(var_30h);
0x00416ab0 sw v0, 0x84(sp) | *(var_84h) = v0;
0x00416ab4 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (t8 == 0) {
0x00416ab8 beqz t8, 0x4173bc | goto label_68;
| }
| label_26:
0x00416abc lw t8, 0x8c(sp) | t8 = *(var_8ch);
| if (s0 == 0) {
0x00416ac0 beqz s0, 0x4172a8 | goto label_69;
| }
0x00416ac4 sw zero, 0x60(sp) | *(var_60h) = 0;
| if (t8 != 0) {
0x00416ac8 bnez t8, 0x41727c | goto label_70;
| }
0x00416acc lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x00416ad0 lw t9, -0x713c(gp) | t9 = sym.imp.EVP_PKEY_get0_asn1;
| if (a0 != 0) {
0x00416ad4 beqz a0, 0x416b18 |
0x00416ad8 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416adc jalr t9 | t9 ();
0x00416ae0 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416ae4 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x00416ae8 beqz v0, 0x416b18 | goto label_71;
| }
0x00416aec lw t8, 0x80(sp) | t8 = *(var_80h);
0x00416af0 move a0, zero | a0 = 0;
0x00416af4 lw t9, -0x7964(gp) | t9 = sym.imp.EVP_PKEY_asn1_get0_info;
0x00416af8 move a1, zero | a1 = 0;
0x00416afc sw t8, 0x10(sp) | *(var_10h) = t8;
0x00416b00 move a2, zero | a2 = 0;
0x00416b04 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00416b08 move a3, zero | a3 = 0;
0x00416b0c jalr t9 | t9 ();
0x00416b10 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416b14 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| }
| label_71:
0x00416b18 lw t8, 0xac(sp) | t8 = *(var_ach);
0x00416b1c lw t9, -0x7a08(gp) | t9 = sym.imp.EVP_MD_type;
| if (t8 == 0) {
0x00416b20 beqz t8, 0x41727c | goto label_70;
| }
0x00416b24 move a0, t8 | a0 = t8;
0x00416b28 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00416b2c jalr t9 | t9 ();
0x00416b30 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416b34 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x00416b38 move a0, v0 | a0 = v0;
0x00416b3c jalr t9 | t9 ();
0x00416b40 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416b44 lw v1, 0xc0(sp) | v1 = *(var_c0h);
0x00416b48 sw v0, 0x80(sp) | *(var_80h) = v0;
| label_22:
0x00416b4c move t8, zero | t8 = 0;
| if (s0 <= 0) {
0x00416b50 blez s0, 0x4173b4 | goto label_72;
| }
0x00416b54 move s6, s3 | s6 = s3;
0x00416b58 sw s7, 0x88(sp) | *(var_88h) = s7;
0x00416b5c move s3, s0 | s3 = s0;
0x00416b60 move s1, zero | s1 = 0;
0x00416b64 move s7, v1 | s7 = v1;
0x00416b68 move s0, t8 | s0 = t8;
0x00416b6c b 0x416be0 |
| while (v0 > 0) {
0x00416b70 lw t8, 0x8c(sp) | t8 = *(var_8ch);
0x00416b74 move a3, s5 | a3 = s5;
0x00416b78 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00416b7c sw t8, 0x10(sp) | *(var_10h) = t8;
0x00416b80 lw t8, 0x7c(sp) | t8 = *(var_7ch);
0x00416b84 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00416b88 sw t8, 0x1c(sp) | *(var_1ch) = t8;
0x00416b8c lw v0, 0x60(sp) | v0 = *(var_60h);
0x00416b90 lw t8, 0x80(sp) | t8 = *(var_80h);
0x00416b94 sw s6, 0x18(sp) | *(var_18h) = s6;
0x00416b98 sw t8, 0x24(sp) | *(var_24h) = t8;
0x00416b9c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00416ba0 lw v0, (s7) | v0 = *(s7);
0x00416ba4 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00416ba8 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00416bac jalr t9 | t9 ();
0x00416bb0 move a0, s2 | a0 = s2;
0x00416bb4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416bb8 addiu a1, zero, 1 | a1 = 1;
0x00416bbc move a2, zero | a2 = 0;
0x00416bc0 move a3, zero | a3 = 0;
0x00416bc4 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (v0 == 0) {
0x00416bc8 movn s1, v0, v0 | s1 = v0;
| }
0x00416bcc jalr t9 | t9 ();
0x00416bd0 lw gp, 0x30(sp) | gp = *(var_30h);
| label_8:
0x00416bd4 addiu s0, s0, 1 | s0++;
0x00416bd8 addiu s7, s7, 4 | s7 += 4;
| if (s0 == s3) {
0x00416bdc beq s0, s3, 0x417270 | goto label_73;
| }
0x00416be0 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00416be4 addiu a1, zero, 0x6c | a1 = 0x6c;
0x00416be8 lw a0, 0x78(sp) | a0 = *(var_78h);
0x00416bec addiu a2, zero, 3 | a2 = 3;
0x00416bf0 lw a3, (s7) | a3 = *(s7);
0x00416bf4 jalr t9 | t9 ();
0x00416bf8 move a0, s4 | a0 = s4;
0x00416bfc lw gp, 0x30(sp) | gp = *(var_30h);
0x00416c00 move a1, fp | a1 = fp;
0x00416c04 lw a2, 0x84(sp) | a2 = *(var_84h);
0x00416c08 lw t9, -0x7e38(gp) | t9 = sym.do_fp;
0x00416c0c bgtz v0, 0x416b70 |
| }
0x00416c10 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x00416c14 addiu s1, s1, 1 | s1++;
0x00416c18 lw a0, (s7) | a0 = *(s7);
0x00416c1c jalr t9 | t9 ();
0x00416c20 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416c24 b 0x416bd4 | goto label_8;
| label_47:
0x00416c28 lw t8, 0x88(sp) | t8 = *(var_88h);
0x00416c2c lw a0, (s6) | a0 = *(s6);
| if (t8 == 0) {
0x00416c30 beqz t8, 0x417284 | goto label_74;
| }
0x00416c34 move a2, t8 | a2 = t8;
| label_23:
0x00416c38 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416c3c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_opening_output_file__s_n */
0x00416c40 addiu a1, a1, -0x156c | a1 += -0x156c;
| label_18:
0x00416c44 jalr t9 | t9 ();
0x00416c48 nop |
0x00416c4c lw gp, 0x30(sp) | gp = *(var_30h);
| label_21:
0x00416c50 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00416c54 lw a0, (s6) | a0 = *(s6);
0x00416c58 jalr t9 | t9 ();
0x00416c5c lw gp, 0x30(sp) | gp = *(var_30h);
| label_52:
0x00416c60 move s3, zero | s3 = 0;
0x00416c64 addiu s1, zero, 1 | s1 = 1;
0x00416c68 b 0x4165b0 | goto label_6;
| label_29:
0x00416c6c lw t9, -0x7830(gp) | t9 = sym.imp.sk_new_null;
0x00416c70 jalr t9 | t9 ();
0x00416c74 nop |
0x00416c78 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416c7c move s7, v0 | s7 = v0;
| if (v0 != 0) {
0x00416c80 bnez v0, 0x417504 | goto label_75;
| }
| label_12:
0x00416c84 move v1, s1 | v1 = s1;
0x00416c88 b 0x416348 | goto label_9;
| label_42:
0x00416c8c lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00416c90 addiu s1, zero, 1 | s1 = 1;
0x00416c94 lw a0, (s6) | a0 = *(s6);
0x00416c98 move s3, zero | s3 = 0;
0x00416c9c move s4, zero | s4 = 0;
0x00416ca0 jalr t9 | t9 ();
0x00416ca4 move a0, fp | a0 = fp;
0x00416ca8 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416cac lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
0x00416cb0 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x00416cb4 jalr t9 | t9 ();
0x00416cb8 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416cbc lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x00416cc0 move a0, fp | a0 = fp;
0x00416cc4 jalr t9 | t9 ();
0x00416cc8 lw t8, 0x78(sp) | t8 = *(var_78h);
0x00416ccc lw gp, 0x30(sp) | gp = *(var_30h);
| if (t8 != 0) {
0x00416cd0 bnez t8, 0x4165d4 | goto label_10;
| }
0x00416cd4 lw a0, 0x68(sp) | a0 = *(var_68h);
0x00416cd8 b 0x416138 | goto label_11;
| label_50:
0x00416cdc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416ce0 move a0, s4 | a0 = s4;
0x00416ce4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._signature */
0x00416ce8 addiu a1, a1, -0x1a04 | a1 += -0x1a04;
0x00416cec jalr t9 | t9 ();
0x00416cf0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00416cf4 bnez v0, 0x416f20 | goto label_76;
| }
0x00416cf8 addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x00416cfc beqz s0, 0x416c84 | goto label_12;
| }
0x00416d00 nop |
0x00416d04 lw t8, 4(s1) | t8 = *((s1 + 1));
0x00416d08 addiu s1, s1, 4 | s1 += 4;
0x00416d0c sw t8, 0x9c(sp) | *(var_9ch) = t8;
0x00416d10 b 0x4162fc | goto label_2;
| label_41:
0x00416d14 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00416d18 lw a0, (s6) | a0 = *(s6);
| /* str.unknown_option__s_n */
0x00416d1c addiu a1, a1, -0x1940 | a1 += -0x1940;
0x00416d20 jalr t9 | t9 ();
0x00416d24 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416d28 lw a0, (s6) | a0 = *(s6);
0x00416d2c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416d30 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.options_are_n */
0x00416d34 addiu a1, a1, -0x1928 | a1 += -0x1928;
0x00416d38 jalr t9 | t9 ();
0x00416d3c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416d40 lw a0, (s6) | a0 = *(s6);
0x00416d44 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416d48 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._c______________to_output_the_digest_with_separating_colons_n */
0x00416d4c addiu a1, a1, -0x1918 | a1 += -0x1918;
0x00416d50 jalr t9 | t9 ();
0x00416d54 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416d58 lw a0, (s6) | a0 = *(s6);
0x00416d5c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416d60 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._r______________to_output_the_digest_in_coreutils_format_n */
0x00416d64 addiu a1, a1, -0x18d8 | a1 += -0x18d8;
0x00416d68 jalr t9 | t9 ();
0x00416d6c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416d70 lw a0, (s6) | a0 = *(s6);
0x00416d74 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416d78 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._d______________to_output_debug_info_n */
0x00416d7c addiu a1, a1, -0x189c | a1 += -0x189c;
0x00416d80 jalr t9 | t9 ();
0x00416d84 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416d88 lw a0, (s6) | a0 = *(s6);
0x00416d8c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416d90 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._hex____________output_as_hex_dump_n */
0x00416d94 addiu a1, a1, -0x1874 | a1 += -0x1874;
0x00416d98 jalr t9 | t9 ();
0x00416d9c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416da0 lw a0, (s6) | a0 = *(s6);
0x00416da4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416da8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._binary_________output_in_binary_form_n */
0x00416dac addiu a1, a1, -0x1850 | a1 += -0x1850;
0x00416db0 jalr t9 | t9 ();
0x00416db4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416db8 lw a0, (s6) | a0 = *(s6);
0x00416dbc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416dc0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._hmac_arg_______set_the_HMAC_key_to_arg_n */
0x00416dc4 addiu a1, a1, -0x1828 | a1 += -0x1828;
0x00416dc8 jalr t9 | t9 ();
0x00416dcc lw gp, 0x30(sp) | gp = *(var_30h);
0x00416dd0 lw a0, (s6) | a0 = *(s6);
0x00416dd4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416dd8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._non_fips_allow_allow_use_of_non_FIPS_digest_n */
0x00416ddc addiu a1, a1, -0x17fc | a1 += -0x17fc;
0x00416de0 jalr t9 | t9 ();
0x00416de4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416de8 lw a0, (s6) | a0 = *(s6);
0x00416dec lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416df0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._sign___file____sign_digest_using_private_key_in_file_n */
0x00416df4 addiu a1, a1, -0x17cc | a1 += -0x17cc;
0x00416df8 jalr t9 | t9 ();
0x00416dfc lw gp, 0x30(sp) | gp = *(var_30h);
0x00416e00 lw a0, (s6) | a0 = *(s6);
0x00416e04 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416e08 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._verify_file____verify_a_signature_using_public_key_in_file_n */
0x00416e0c addiu a1, a1, -0x1794 | a1 += -0x1794;
0x00416e10 jalr t9 | t9 ();
0x00416e14 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416e18 lw a0, (s6) | a0 = *(s6);
0x00416e1c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416e20 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._prverify_file__verify_a_signature_using_private_key_in_file_n */
0x00416e24 addiu a1, a1, -0x1754 | a1 += -0x1754;
0x00416e28 jalr t9 | t9 ();
0x00416e2c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416e30 lw a0, (s6) | a0 = *(s6);
0x00416e34 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416e38 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._keyform_arg____key_file_format__PEM_or_ENGINE__n */
0x00416e3c addiu a1, a1, -0x1714 | a1 += -0x1714;
0x00416e40 jalr t9 | t9 ();
0x00416e44 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416e48 lw a0, (s6) | a0 = *(s6);
0x00416e4c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416e50 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._out_filename___output_to_filename_rather_than_stdout_n */
0x00416e54 addiu a1, a1, -0x16e0 | a1 += -0x16e0;
0x00416e58 jalr t9 | t9 ();
0x00416e5c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416e60 lw a0, (s6) | a0 = *(s6);
0x00416e64 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416e68 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._signature_file_signature_to_verify_n */
0x00416e6c addiu a1, a1, -0x16a8 | a1 += -0x16a8;
0x00416e70 jalr t9 | t9 ();
0x00416e74 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416e78 lw a0, (s6) | a0 = *(s6);
0x00416e7c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416e80 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._sigopt_nm:v____signature_parameter_n */
0x00416e84 addiu a1, a1, -0x1680 | a1 += -0x1680;
0x00416e88 jalr t9 | t9 ();
0x00416e8c lw gp, 0x30(sp) | gp = *(var_30h);
0x00416e90 lw a0, (s6) | a0 = *(s6);
0x00416e94 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416e98 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._hmac_key_______create_hashed_MAC_with_key_n */
0x00416e9c addiu a1, a1, -0x1658 | a1 += -0x1658;
0x00416ea0 jalr t9 | t9 ();
0x00416ea4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416ea8 lw a0, (s6) | a0 = *(s6);
0x00416eac lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416eb0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._mac_algorithm__create_MAC__not_neccessarily_HMAC__n */
0x00416eb4 addiu a1, a1, -0x162c | a1 += -0x162c;
0x00416eb8 jalr t9 | t9 ();
0x00416ebc lw gp, 0x30(sp) | gp = *(var_30h);
0x00416ec0 lw a0, (s6) | a0 = *(s6);
0x00416ec4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416ec8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._macopt_nm:v____MAC_algorithm_parameters_or_key_n */
0x00416ecc addiu a1, a1, -0x15f8 | a1 += -0x15f8;
0x00416ed0 jalr t9 | t9 ();
0x00416ed4 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416ed8 lw a0, (s6) | a0 = *(s6);
0x00416edc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416ee0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._engine_e_______use_engine_e__possibly_a_hardware_device._n */
0x00416ee4 addiu a1, a1, -0x15c4 | a1 += -0x15c4;
0x00416ee8 jalr t9 | t9 ();
0x00416eec lw gp, 0x30(sp) | gp = *(var_30h);
0x00416ef0 lw a1, (s6) | a1 = *(s6);
0x00416ef4 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x00416ef8 lw t9, -0x7390(gp) | t9 = sym.imp.EVP_MD_do_all_sorted;
0x00416efc addiu a0, a0, 0x5b70 | a0 += 0x5b70;
0x00416f00 jalr t9 | t9 ();
0x00416f04 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416f08 b 0x416100 | goto label_1;
| label_51:
0x00416f0c lw t8, 0x68(sp) | t8 = *(var_68h);
0x00416f10 move a3, zero | a3 = 0;
0x00416f14 lw t9, -0x7fb0(gp) | t9 = sym.load_key;
0x00416f18 sw t8, 0x10(sp) | *(var_10h) = t8;
0x00416f1c b 0x416798 | goto label_13;
| label_76:
0x00416f20 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416f24 move a0, s4 | a0 = s4;
0x00416f28 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._keyform */
0x00416f2c addiu a1, a1, -0x2c14 | a1 += -0x2c14;
0x00416f30 jalr t9 | t9 ();
0x00416f34 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00416f38 bnez v0, 0x416fc0 | goto label_77;
| }
0x00416f3c addiu s0, s0, -1 | s0 += -1;
0x00416f40 lw t9, -0x7fd0(gp) | t9 = sym.str2fmt;
| if (s0 == 0) {
0x00416f44 beqz s0, 0x416c84 | goto label_12;
| }
0x00416f48 addiu s1, s1, 4 | s1 += 4;
0x00416f4c lw a0, (s1) | a0 = *(s1);
0x00416f50 jalr t9 | t9 ();
0x00416f54 lw gp, 0x30(sp) | gp = *(var_30h);
0x00416f58 sw v0, 0xb0(sp) | *(var_b0h) = v0;
0x00416f5c b 0x4162fc | goto label_2;
| label_34:
0x00416f60 addiu t8, zero, -1 | t8 = -1;
0x00416f64 move v1, s1 | v1 = s1;
0x00416f68 sw t8, 0x8c(sp) | *(var_8ch) = t8;
0x00416f6c addiu t8, zero, 3 | t8 = 3;
0x00416f70 sw zero, 0xb4(sp) | *(var_b4h) = 0;
0x00416f74 move s5, zero | s5 = 0;
0x00416f78 sw zero, 0xa0(sp) | *(var_a0h) = 0;
0x00416f7c move s7, zero | s7 = 0;
0x00416f80 sw zero, 0xa4(sp) | *(var_a4h) = 0;
0x00416f84 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00416f88 sw zero, 0x94(sp) | *(var_94h) = 0;
0x00416f8c sw zero, 0x90(sp) | *(var_90h) = 0;
0x00416f90 sw zero, 0xa8(sp) | *(var_a8h) = 0;
0x00416f94 sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x00416f98 sw zero, 0x9c(sp) | *(var_9ch) = 0;
0x00416f9c sw zero, 0x80(sp) | *(var_80h) = 0;
0x00416fa0 sw zero, 0x88(sp) | *(var_88h) = 0;
0x00416fa4 sw t8, 0xb0(sp) | *(var_b0h) = t8;
0x00416fa8 sw zero, 0x98(sp) | *(var_98h) = 0;
0x00416fac sw zero, 0x74(sp) | *(var_74h) = 0;
0x00416fb0 sw zero, 0x70(sp) | *(var_70h) = 0;
0x00416fb4 b 0x416438 | goto label_14;
| label_54:
0x00416fb8 move s1, zero | s1 = 0;
0x00416fbc b 0x416888 | goto label_15;
| label_77:
0x00416fc0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00416fc4 move a0, s4 | a0 = s4;
0x00416fc8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._engine */
0x00416fcc addiu a1, a1, -0x3470 | a1 += -0x3470;
0x00416fd0 jalr t9 | t9 ();
0x00416fd4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00416fd8 bnez v0, 0x41714c | goto label_78;
| }
0x00416fdc addiu s0, s0, -1 | s0 += -1;
0x00416fe0 lw t9, -0x7fb4(gp) | t9 = sym.setup_engine;
| if (s0 == 0) {
0x00416fe4 beqz s0, 0x416c84 | goto label_12;
| }
0x00416fe8 move a2, zero | a2 = 0;
0x00416fec lw a1, 4(s1) | a1 = *((s1 + 1));
0x00416ff0 addiu s1, s1, 4 | s1 += 4;
0x00416ff4 lw a0, (s6) | a0 = *(s6);
0x00416ff8 jalr t9 | t9 ();
0x00416ffc lw gp, 0x30(sp) | gp = *(var_30h);
0x00417000 sw v0, 0x74(sp) | *(var_74h) = v0;
0x00417004 b 0x4162fc | goto label_2;
| label_59:
0x00417008 lw t8, 0x6c(sp) | t8 = *(var_6ch);
0x0041700c lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (t8 != 0) {
0x00417010 bnez t8, 0x4168f0 | goto label_16;
| }
0x00417014 addiu t8, sp, 0x60 | t8 = sp + 0x60;
0x00417018 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x0041701c move a0, s2 | a0 = s2;
0x00417020 sw t8, 0x80(sp) | *(var_80h) = t8;
0x00417024 addiu a1, zero, 0x78 | a1 = 0x78;
0x00417028 move a2, zero | a2 = 0;
0x0041702c move a3, t8 | a3 = t8;
0x00417030 sw zero, 0x60(sp) | *(var_60h) = 0;
0x00417034 jalr t9 | t9 ();
0x00417038 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041703c lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x00417040 beqz v0, 0x4170e8 | goto label_60;
| }
0x00417044 lw t8, 0xac(sp) | t8 = *(var_ach);
0x00417048 lw t9, -0x7488(gp) | t9 = sym.imp.EVP_md5;
| if (t8 == 0) {
0x0041704c beqz t8, 0x41740c | goto label_79;
| }
| label_28:
0x00417050 lw t9, -0x7024(gp) | t9 = sym.imp.EVP_DigestInit_ex;
0x00417054 lw a1, 0xac(sp) | a1 = *(var_ach);
0x00417058 lw a0, 0x60(sp) | a0 = *(var_60h);
0x0041705c lw a2, 0xb8(sp) | a2 = *(var_b8h);
0x00417060 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00417064 jalr t9 | t9 ();
0x00417068 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041706c lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 != 0) {
0x00417070 bnez v0, 0x4169dc | goto label_17;
| }
0x00417074 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417078 addiu a2, sp, 0x38 | a2 = sp + 0x38;
0x0041707c lw a0, (s6) | a0 = *(s6);
0x00417080 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_setting_digest__s_n */
0x00417084 addiu a1, a1, -0x14b8 | a1 += -0x14b8;
0x00417088 b 0x416c44 | goto label_18;
| label_45:
0x0041708c lw t8, -0x77b0(gp) | t8 = *((gp - 7660));
0x00417090 move a1, zero | a1 = 0;
0x00417094 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x00417098 lw a0, (t8) | a0 = *(t8);
0x0041709c b 0x41654c | goto label_5;
| label_58:
0x004170a0 move a0, s2 | a0 = s2;
0x004170a4 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x004170a8 addiu a1, zero, 0x78 | a1 = 0x78;
0x004170ac move a2, zero | a2 = 0;
0x004170b0 addiu a3, sp, 0x60 | a3 = sp + 0x60;
0x004170b4 jalr t9 | t9 ();
0x004170b8 addiu a1, zero, 8 | a1 = 8;
0x004170bc lw gp, 0x30(sp) | gp = *(var_30h);
0x004170c0 lw t9, -0x6f8c(gp) | t9 = sym.imp.EVP_MD_CTX_set_flags;
0x004170c4 lw a0, 0x60(sp) | a0 = *(var_60h);
0x004170c8 jalr t9 | t9 ();
0x004170cc lw gp, 0x30(sp) | gp = *(var_30h);
0x004170d0 lw v1, 0xc0(sp) | v1 = *(var_c0h);
0x004170d4 b 0x4168b8 | goto label_19;
| label_61:
0x004170d8 sw t8, 0x80(sp) | *(var_80h) = t8;
0x004170dc move a1, t8 | a1 = t8;
0x004170e0 lw t9, -0x6c50(gp) | t9 = sym.imp.EVP_DigestSignInit;
0x004170e4 b 0x416934 | goto label_20;
| label_60:
0x004170e8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004170ec lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004170f0 lw a0, (s6) | a0 = *(s6);
| /* str.Error_getting_context_n */
0x004170f4 addiu a1, a1, -0x14e8 | a1 += -0x14e8;
0x004170f8 jalr t9 | t9 ();
0x004170fc lw gp, 0x30(sp) | gp = *(var_30h);
0x00417100 b 0x416c50 | goto label_21;
| label_56:
0x00417104 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417108 move v1, s1 | v1 = s1;
0x0041710c lw a0, (s6) | a0 = *(s6);
0x00417110 move s1, s0 | s1 = s0;
0x00417114 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00417118 move a2, s1 | a2 = s1;
| /* str.MAC_parameter_error___s__n */
0x0041711c addiu a1, a1, -0x151c | a1 += -0x151c;
0x00417120 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00417124 lw s0, 0x80(sp) | s0 = *(var_80h);
0x00417128 jalr t9 | t9 ();
0x0041712c lw gp, 0x30(sp) | gp = *(var_30h);
| label_25:
0x00417130 lw a0, (s6) | a0 = *(s6);
0x00417134 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00417138 move s1, zero | s1 = 0;
0x0041713c jalr t9 | t9 ();
0x00417140 lw gp, 0x30(sp) | gp = *(var_30h);
0x00417144 lw v1, 0xc0(sp) | v1 = *(var_c0h);
0x00417148 b 0x416888 | goto label_15;
| label_78:
0x0041714c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417150 move a0, s4 | a0 = s4;
0x00417154 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._engine_impl */
0x00417158 addiu a1, a1, -0x19f8 | a1 += -0x19f8;
0x0041715c jalr t9 | t9 ();
0x00417160 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00417164 beqz v0, 0x41729c | goto label_80;
| }
0x00417168 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041716c move a0, s4 | a0 = s4;
0x00417170 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._hex */
0x00417174 addiu a1, a1, -0x19e8 | a1 += -0x19e8;
0x00417178 jalr t9 | t9 ();
0x0041717c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x00417180 beqz v0, 0x417394 | goto label_81;
| }
0x00417184 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417188 move a0, s4 | a0 = s4;
0x0041718c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._binary */
0x00417190 addiu a1, a1, -0x19e0 | a1 += -0x19e0;
0x00417194 jalr t9 | t9 ();
0x00417198 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0041719c beqz v0, 0x4173a8 | goto label_82;
| }
0x004171a0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004171a4 move a0, s4 | a0 = s4;
0x004171a8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-d' */
0x004171ac addiu a1, a1, -0x19d8 | a1 += -0x19d8;
0x004171b0 jalr t9 | t9 ();
0x004171b4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x004171b8 beqz v0, 0x41739c | goto label_83;
| }
0x004171bc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004171c0 move a0, s4 | a0 = s4;
0x004171c4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._fips_fingerprint */
0x004171c8 addiu a1, a1, -0x19d4 | a1 += -0x19d4;
0x004171cc jalr t9 | t9 ();
0x004171d0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x004171d4 beqz v0, 0x417468 | goto label_84;
| }
0x004171d8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004171dc move a0, s4 | a0 = s4;
0x004171e0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._non_fips_allow */
0x004171e4 addiu a1, a1, -0x19c0 | a1 += -0x19c0;
0x004171e8 jalr t9 | t9 ();
0x004171ec lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x004171f0 beqz v0, 0x41745c | goto label_85;
| }
0x004171f4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004171f8 move a0, s4 | a0 = s4;
0x004171fc lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._hmac */
0x00417200 addiu a1, a1, -0x19b0 | a1 += -0x19b0;
0x00417204 jalr t9 | t9 ();
0x00417208 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0041720c bnez v0, 0x417424 | goto label_86;
| }
0x00417210 addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x00417214 beqz s0, 0x416c84 | goto label_12;
| }
0x00417218 nop |
0x0041721c lw t8, 4(s1) | t8 = *((s1 + 1));
0x00417220 addiu s1, s1, 4 | s1 += 4;
0x00417224 sw t8, 0xa4(sp) | *(var_a4h) = t8;
0x00417228 b 0x4162fc | goto label_2;
| label_63:
0x0041722c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417230 move s1, s2 | s1 = s2;
0x00417234 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00417238 move a2, s1 | a2 = s1;
0x0041723c lw a0, (s6) | a0 = *(s6);
| /* esilref: 'parameter error "&s"
' */
0x00417240 addiu a1, a1, -0x1518 | a1 += -0x1518;
0x00417244 move s2, s3 | s2 = s3;
0x00417248 jalr t9 | t9 ();
0x0041724c lw gp, 0x30(sp) | gp = *(var_30h);
0x00417250 b 0x416c50 | goto label_21;
| label_62:
0x00417254 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417258 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041725c lw a0, (s6) | a0 = *(s6);
| /* str.Error_setting_context_n */
0x00417260 addiu a1, a1, -0x14d0 | a1 += -0x14d0;
0x00417264 jalr t9 | t9 ();
0x00417268 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041726c b 0x416c50 | goto label_21;
| label_73:
0x00417270 move s3, s6 | s3 = s6;
0x00417274 lw s7, 0x88(sp) | s7 = *(var_88h);
0x00417278 b 0x4165b0 | goto label_6;
| label_70:
0x0041727c sw zero, 0x80(sp) | *(var_80h) = 0;
0x00417280 b 0x416b4c | goto label_22;
| label_74:
0x00417284 lw a2, -0x7fd8(gp) | a2 = *(gp);
| /* esilref: '(stdout)' */
0x00417288 addiu a2, a2, -0x1a44 | a2 += -0x1a44;
0x0041728c b 0x416c38 | goto label_23;
| label_64:
0x00417290 sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x00417294 move s3, zero | s3 = 0;
0x00417298 b 0x416a94 | goto label_24;
| label_80:
0x0041729c addiu t8, zero, 1 | t8 = 1;
0x004172a0 sw t8, 0x78(sp) | *(var_78h) = t8;
0x004172a4 b 0x4162fc | goto label_2;
| label_69:
0x004172a8 lw t8, -0x7bbc(gp) | t8 = *((gp - 7919));
0x004172ac addiu a1, zero, 0x6a | a1 = 0x6a;
0x004172b0 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x004172b4 move a2, zero | a2 = 0;
0x004172b8 lw a3, (t8) | a3 = *(t8);
0x004172bc lw a0, 0x78(sp) | a0 = *(var_78h);
0x004172c0 jalr t9 | t9 ();
0x004172c4 move a0, s4 | a0 = s4;
0x004172c8 lw t8, 0x8c(sp) | t8 = *(var_8ch);
0x004172cc move a1, fp | a1 = fp;
0x004172d0 lw gp, 0x30(sp) | gp = *(var_30h);
0x004172d4 move a3, s5 | a3 = s5;
0x004172d8 sw t8, 0x10(sp) | *(var_10h) = t8;
0x004172dc lw t8, 0x6c(sp) | t8 = *(var_6ch);
0x004172e0 lw t9, -0x7e38(gp) | t9 = sym.do_fp;
0x004172e4 sw t8, 0x14(sp) | *(var_14h) = t8;
0x004172e8 lw t8, 0x7c(sp) | t8 = *(var_7ch);
0x004172ec lw a2, 0x84(sp) | a2 = *(var_84h);
0x004172f0 sw t8, 0x1c(sp) | *(var_1ch) = t8;
0x004172f4 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x004172f8 sw s3, 0x18(sp) | *(var_18h) = s3;
| /* str.stdin */
0x004172fc addiu t8, t8, -0x34d8 | t8 += -0x34d8;
0x00417300 sw zero, 0x20(sp) | *(var_20h) = 0;
0x00417304 sw zero, 0x24(sp) | *(var_24h) = 0;
0x00417308 sw t8, 0x28(sp) | *(var_28h) = t8;
0x0041730c sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00417310 jalr t9 | t9 ();
0x00417314 lw gp, 0x30(sp) | gp = *(var_30h);
0x00417318 move s1, v0 | s1 = v0;
0x0041731c b 0x4165b0 | goto label_6;
| label_57:
0x00417320 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417324 lw a0, (s6) | a0 = *(s6);
0x00417328 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Error_generating_key_n */
0x0041732c addiu a1, a1, -0x1500 | a1 += -0x1500;
0x00417330 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00417334 jalr t9 | t9 ();
0x00417338 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041733c b 0x417130 | goto label_25;
| label_67:
0x00417340 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417344 lw a2, 0x9c(sp) | a2 = *(var_9ch);
0x00417348 lw a0, (s6) | a0 = *(s6);
| /* str.Error_reading_signature_file__s_n */
0x0041734c addiu a1, a1, -0x1464 | a1 += -0x1464;
0x00417350 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| label_27:
0x00417354 jalr t9 | t9 ();
0x00417358 nop |
0x0041735c lw gp, 0x30(sp) | gp = *(var_30h);
| do {
0x00417360 lw a0, (s6) | a0 = *(s6);
0x00417364 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00417368 addiu s1, zero, 1 | s1 = 1;
0x0041736c jalr t9 | t9 ();
0x00417370 lw gp, 0x30(sp) | gp = *(var_30h);
0x00417374 b 0x4165b0 | goto label_6;
| label_66:
0x00417378 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041737c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00417380 lw a0, (s6) | a0 = *(s6);
| /* str.Out_of_memory_n */
0x00417384 addiu a1, a1, -0x1474 | a1 += -0x1474;
0x00417388 jalr t9 | t9 ();
0x0041738c lw gp, 0x30(sp) | gp = *(var_30h);
0x00417390 b 0x417360 |
| } while (1);
| label_81:
0x00417394 sw zero, 0x8c(sp) | *(var_8ch) = 0;
0x00417398 b 0x4162fc | goto label_2;
| label_83:
0x0041739c addiu t8, zero, 1 | t8 = 1;
0x004173a0 sw t8, 0x98(sp) | *(var_98h) = t8;
0x004173a4 b 0x4162fc | goto label_2;
| label_82:
0x004173a8 addiu t8, zero, 1 | t8 = 1;
0x004173ac sw t8, 0x8c(sp) | *(var_8ch) = t8;
0x004173b0 b 0x4162fc | goto label_2;
| label_72:
0x004173b4 move s1, zero | s1 = 0;
0x004173b8 b 0x4165b0 | goto label_6;
| label_68:
0x004173bc lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x004173c0 move a0, s2 | a0 = s2;
0x004173c4 lw a3, 0x80(sp) | a3 = *(var_80h);
0x004173c8 addiu a1, zero, 0x78 | a1 = 0x78;
0x004173cc move a2, zero | a2 = 0;
0x004173d0 jalr t9 | t9 ();
0x004173d4 lw gp, 0x30(sp) | gp = *(var_30h);
0x004173d8 lw t9, -0x6c74(gp) | t9 = sym.imp.EVP_MD_CTX_md;
0x004173dc lw a0, 0x60(sp) | a0 = *(var_60h);
0x004173e0 jalr t9 | t9 ();
0x004173e4 lw gp, 0x30(sp) | gp = *(var_30h);
0x004173e8 sw v0, 0xac(sp) | *(var_ach) = v0;
0x004173ec lw v1, 0xc0(sp) | v1 = *(var_c0h);
0x004173f0 b 0x416abc | goto label_26;
| label_65:
0x004173f4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004173f8 lw a2, 0x9c(sp) | a2 = *(var_9ch);
0x004173fc lw a0, (s6) | a0 = *(s6);
| /* str.Error_opening_signature_file__s_n */
0x00417400 addiu a1, a1, -0x1498 | a1 += -0x1498;
0x00417404 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00417408 b 0x417354 | goto label_27;
| label_79:
0x0041740c sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x00417410 jalr t9 | t9 ();
0x00417414 lw gp, 0x30(sp) | gp = *(var_30h);
0x00417418 sw v0, 0xac(sp) | *(var_ach) = v0;
0x0041741c lw v1, 0xc0(sp) | v1 = *(var_c0h);
0x00417420 b 0x417050 | goto label_28;
| label_86:
0x00417424 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00417428 move a0, s4 | a0 = s4;
0x0041742c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._mac */
0x00417430 addiu a1, a1, -0x19a8 | a1 += -0x19a8;
0x00417434 jalr t9 | t9 ();
0x00417438 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0041743c bnez v0, 0x417478 | goto label_87;
| }
0x00417440 addiu s0, s0, -1 | s0 += -1;
| if (s0 == 0) {
0x00417444 beqz s0, 0x416c84 | goto label_12;
| }
0x00417448 nop |
0x0041744c lw t8, 4(s1) | t8 = *((s1 + 1));
0x00417450 addiu s1, s1, 4 | s1 += 4;
0x00417454 sw t8, 0xa0(sp) | *(var_a0h) = t8;
0x00417458 b 0x4162fc | goto label_2;
| label_85:
0x0041745c addiu t8, zero, 1 | t8 = 1;
0x00417460 sw t8, 0xb4(sp) | *(var_b4h) = t8;
0x00417464 b 0x4162fc | goto label_2;
| label_84:
0x00417468 lw t8, -0x7fd8(gp) | t8 = *(gp);
| /* str.etaonrishdlcupfm */
0x0041746c addiu t8, t8, -0x1a58 | t8 += -0x1a58;
0x00417470 sw t8, 0xa4(sp) | *(var_a4h) = t8;
0x00417474 b 0x4162fc | goto label_2;
| label_87:
0x00417478 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041747c move a0, s4 | a0 = s4;
0x00417480 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._sigopt */
0x00417484 addiu a1, a1, -0x2bd0 | a1 += -0x2bd0;
0x00417488 jalr t9 | t9 ();
0x0041748c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x00417490 bnez v0, 0x4174d4 | goto label_88;
| }
0x00417494 addiu s0, s0, -1 | s0 += -1;
0x00417498 lw t8, 0x70(sp) | t8 = *(var_70h);
| if (s0 == 0) {
0x0041749c beqz s0, 0x416c84 | goto label_12;
| }
0x004174a0 lw t9, -0x7830(gp) | t9 = sym.imp.sk_new_null;
| if (t8 == 0) {
0x004174a4 beqz t8, 0x417510 | goto label_89;
| }
| label_31:
0x004174a8 lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x004174ac lw a0, 0x70(sp) | a0 = *(var_70h);
| label_30:
0x004174b0 addiu v1, s1, 4 | v1 = s1 + 4;
0x004174b4 lw a1, 4(s1) | a1 = *((s1 + 1));
0x004174b8 sw v1, 0xc0(sp) | *(var_c0h) = v1;
0x004174bc jalr t9 | t9 ();
0x004174c0 lw gp, 0x30(sp) | gp = *(var_30h);
0x004174c4 lw v1, 0xc0(sp) | v1 = *(var_c0h);
| if (v0 == 0) {
0x004174c8 beqz v0, 0x416348 | goto label_9;
| }
0x004174cc move s1, v1 | s1 = v1;
0x004174d0 b 0x4162fc | goto label_2;
| label_88:
0x004174d4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004174d8 move a0, s4 | a0 = s4;
0x004174dc lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._macopt */
0x004174e0 addiu a1, a1, -0x19a0 | a1 += -0x19a0;
0x004174e4 jalr t9 | t9 ();
0x004174e8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x004174ec bnez v0, 0x41752c | goto label_90;
| }
0x004174f0 addiu s0, s0, -1 | s0 += -1;
0x004174f4 move v1, s1 | v1 = s1;
| if (s0 == 0) {
0x004174f8 beqz s0, 0x416348 | goto label_9;
| }
| if (s7 == 0) {
0x004174fc beqz s7, 0x416c6c | goto label_29;
| }
0x00417500 nop |
| label_75:
0x00417504 lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x00417508 move a0, s7 | a0 = s7;
0x0041750c b 0x4174b0 | goto label_30;
| label_89:
0x00417510 jalr t9 | t9 ();
0x00417514 nop |
0x00417518 lw gp, 0x30(sp) | gp = *(var_30h);
0x0041751c sw v0, 0x70(sp) | *(var_70h) = v0;
| if (v0 != 0) {
0x00417520 bnez v0, 0x4174a8 | goto label_31;
| }
0x00417524 move v1, s1 | v1 = s1;
0x00417528 b 0x416348 | goto label_9;
| label_90:
0x0041752c lw t9, -0x7974(gp) | t9 = sym.imp.EVP_get_digestbyname;
0x00417530 addiu a0, s4, 1 | a0 = s4 + 1;
0x00417534 jalr t9 | t9 ();
0x00417538 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0041753c beqz v0, 0x416c84 | goto label_12;
| }
0x00417540 sw v0, 0xac(sp) | *(var_ach) = v0;
0x00417544 b 0x4162fc | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x415a04 */
| #include <stdint.h>
|
; (fcn) sym.do_X509_CRL_sign () | void do_X509_CRL_sign () {
0x00415a04 lui gp, 8 |
0x00415a08 addiu gp, gp, 0x6a9c |
0x00415a0c addu gp, gp, t9 | gp += t9;
0x00415a10 addiu sp, sp, -0x60 |
0x00415a14 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00415a18 sw s5, 0x58(sp) | *(var_58h) = s5;
0x00415a1c sw s4, 0x54(sp) | *(var_54h) = s4;
0x00415a20 sw s3, 0x50(sp) | *(var_50h) = s3;
0x00415a24 sw s2, 0x4c(sp) | *(var_4ch) = s2;
0x00415a28 sw s1, 0x48(sp) | *(var_48h) = s1;
0x00415a2c sw s0, 0x44(sp) | *(var_44h) = s0;
0x00415a30 addiu s3, sp, 0x20 | s3 = sp + 0x20;
0x00415a34 lw t9, -0x7994(gp) | t9 = sym.imp.EVP_MD_CTX_init;
0x00415a38 move s5, a0 | s5 = a0;
0x00415a3c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00415a40 move a0, s3 | a0 = s3;
0x00415a44 move s0, a2 | s0 = a2;
0x00415a48 lw s1, 0x70(sp) | s1 = *(arg_70h);
0x00415a4c move s2, a3 | s2 = a3;
0x00415a50 move s4, a1 | s4 = a1;
0x00415a54 jalr t9 | t9 ();
0x00415a58 lw gp, 0x18(sp) | gp = *(var_18h);
0x00415a5c move a0, s3 | a0 = s3;
0x00415a60 lw t9, -0x7994(gp) | t9 = sym.imp.EVP_MD_CTX_init;
0x00415a64 sw zero, 0x38(sp) | *(var_38h) = 0;
0x00415a68 jalr t9 | t9 ();
0x00415a6c move a0, s3 | a0 = s3;
0x00415a70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00415a74 addiu a1, sp, 0x38 | a1 = sp + 0x38;
0x00415a78 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00415a7c move a2, s2 | a2 = s2;
0x00415a80 lw t9, -0x6c50(gp) | t9 = sym.imp.EVP_DigestSignInit;
0x00415a84 move a3, zero | a3 = 0;
0x00415a88 jalr t9 | t9 ();
0x00415a8c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00415a90 beqz v0, 0x415b38 | goto label_0;
| }
0x00415a94 move s0, zero | s0 = 0;
0x00415a98 b 0x415ac4 |
| while (v0 != 0) {
0x00415a9c jalr t9 | t9 ();
0x00415aa0 nop |
0x00415aa4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00415aa8 move a1, v0 | a1 = v0;
0x00415aac lw a0, 0x38(sp) | a0 = *(var_38h);
0x00415ab0 lw t9, -0x7fdc(gp) | t9 = sym.pkey_ctrl_string;
0x00415ab4 move s2, v0 | s2 = v0;
0x00415ab8 jalr t9 | t9 ();
0x00415abc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00415ac0 blez v0, 0x415b08 | goto label_1;
| }
0x00415ac4 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00415ac8 move a0, s1 | a0 = s1;
0x00415acc jalr t9 | t9 ();
0x00415ad0 move a1, s0 | a1 = s0;
0x00415ad4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00415ad8 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00415adc move a0, s1 | a0 = s1;
0x00415ae0 addiu s0, s0, 1 | s0++;
0x00415ae4 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00415ae8 bnez v0, 0x415a9c |
| }
0x00415aec lw t9, -0x792c(gp) | t9 = sym.imp.X509_CRL_sign_ctx;
0x00415af0 move a0, s4 | a0 = s4;
0x00415af4 move a1, s3 | a1 = s3;
0x00415af8 jalr t9 | t9 ();
0x00415afc lw gp, 0x18(sp) | gp = *(var_18h);
0x00415b00 slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x00415b04 b 0x415b3c | goto label_2;
| label_1:
0x00415b08 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415b0c move a0, s5 | a0 = s5;
0x00415b10 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415b14 move a2, s2 | a2 = s2;
| /* esilref: 'parameter error "&s"
' */
0x00415b18 addiu a1, a1, -0x1518 | a1 += -0x1518;
0x00415b1c jalr t9 | t9 ();
0x00415b20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00415b24 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00415b28 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00415b2c lw a0, (t8) | a0 = *(t8);
0x00415b30 jalr t9 | t9 ();
0x00415b34 lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x00415b38 move s0, zero | s0 = 0;
| label_2:
0x00415b3c lw t9, -0x7414(gp) | t9 = sym.imp.EVP_MD_CTX_cleanup;
0x00415b40 move a0, s3 | a0 = s3;
0x00415b44 jalr t9 | t9 ();
0x00415b48 move v0, s0 | v0 = s0;
0x00415b4c lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00415b50 lw s5, 0x58(sp) | s5 = *(var_58h);
0x00415b54 lw s4, 0x54(sp) | s4 = *(var_54h);
0x00415b58 lw s3, 0x50(sp) | s3 = *(var_50h);
0x00415b5c lw s2, 0x4c(sp) | s2 = *(var_4ch);
0x00415b60 lw s1, 0x48(sp) | s1 = *(var_48h);
0x00415b64 lw s0, 0x44(sp) | s0 = *(var_44h);
0x00415b68 addiu sp, sp, 0x60 |
0x00415b6c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4122b8 */
| #include <stdint.h>
|
; (fcn) sym.do_X509_REQ_sign () | void do_X509_REQ_sign () {
0x004122b8 lui gp, 9 |
0x004122bc addiu gp, gp, -0x5e18 |
0x004122c0 addu gp, gp, t9 | gp += t9;
0x004122c4 addiu sp, sp, -0x60 |
0x004122c8 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x004122cc sw s5, 0x58(sp) | *(var_58h) = s5;
0x004122d0 sw s4, 0x54(sp) | *(var_54h) = s4;
0x004122d4 sw s3, 0x50(sp) | *(var_50h) = s3;
0x004122d8 sw s2, 0x4c(sp) | *(var_4ch) = s2;
0x004122dc sw s1, 0x48(sp) | *(var_48h) = s1;
0x004122e0 sw s0, 0x44(sp) | *(var_44h) = s0;
0x004122e4 addiu s3, sp, 0x20 | s3 = sp + 0x20;
0x004122e8 lw t9, -0x7994(gp) | t9 = sym.imp.EVP_MD_CTX_init;
0x004122ec move s5, a0 | s5 = a0;
0x004122f0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004122f4 move a0, s3 | a0 = s3;
0x004122f8 move s0, a2 | s0 = a2;
0x004122fc lw s1, 0x70(sp) | s1 = *(arg_70h);
0x00412300 move s2, a3 | s2 = a3;
0x00412304 move s4, a1 | s4 = a1;
0x00412308 jalr t9 | t9 ();
0x0041230c lw gp, 0x18(sp) | gp = *(var_18h);
0x00412310 move a0, s3 | a0 = s3;
0x00412314 lw t9, -0x7994(gp) | t9 = sym.imp.EVP_MD_CTX_init;
0x00412318 sw zero, 0x38(sp) | *(var_38h) = 0;
0x0041231c jalr t9 | t9 ();
0x00412320 move a0, s3 | a0 = s3;
0x00412324 lw gp, 0x18(sp) | gp = *(var_18h);
0x00412328 addiu a1, sp, 0x38 | a1 = sp + 0x38;
0x0041232c sw s0, 0x10(sp) | *(var_10h) = s0;
0x00412330 move a2, s2 | a2 = s2;
0x00412334 lw t9, -0x6c50(gp) | t9 = sym.imp.EVP_DigestSignInit;
0x00412338 move a3, zero | a3 = 0;
0x0041233c jalr t9 | t9 ();
0x00412340 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00412344 beqz v0, 0x4123ec | goto label_0;
| }
0x00412348 move s0, zero | s0 = 0;
0x0041234c b 0x412378 |
| while (v0 != 0) {
0x00412350 jalr t9 | t9 ();
0x00412354 nop |
0x00412358 lw gp, 0x18(sp) | gp = *(var_18h);
0x0041235c move a1, v0 | a1 = v0;
0x00412360 lw a0, 0x38(sp) | a0 = *(var_38h);
0x00412364 lw t9, -0x7fdc(gp) | t9 = sym.pkey_ctrl_string;
0x00412368 move s2, v0 | s2 = v0;
0x0041236c jalr t9 | t9 ();
0x00412370 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00412374 blez v0, 0x4123bc | goto label_1;
| }
0x00412378 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0041237c move a0, s1 | a0 = s1;
0x00412380 jalr t9 | t9 ();
0x00412384 move a1, s0 | a1 = s0;
0x00412388 lw gp, 0x18(sp) | gp = *(var_18h);
0x0041238c slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00412390 move a0, s1 | a0 = s1;
0x00412394 addiu s0, s0, 1 | s0++;
0x00412398 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x0041239c bnez v0, 0x412350 |
| }
0x004123a0 lw t9, -0x7780(gp) | t9 = sym.imp.X509_REQ_sign_ctx;
0x004123a4 move a0, s4 | a0 = s4;
0x004123a8 move a1, s3 | a1 = s3;
0x004123ac jalr t9 | t9 ();
0x004123b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x004123b4 slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x004123b8 b 0x4123f0 | goto label_2;
| label_1:
0x004123bc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004123c0 move a0, s5 | a0 = s5;
0x004123c4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004123c8 move a2, s2 | a2 = s2;
| /* esilref: 'parameter error "&s"
' */
0x004123cc addiu a1, a1, -0x1518 | a1 += -0x1518;
0x004123d0 jalr t9 | t9 ();
0x004123d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004123d8 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x004123dc lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004123e0 lw a0, (t8) | a0 = *(t8);
0x004123e4 jalr t9 | t9 ();
0x004123e8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x004123ec move s0, zero | s0 = 0;
| label_2:
0x004123f0 lw t9, -0x7414(gp) | t9 = sym.imp.EVP_MD_CTX_cleanup;
0x004123f4 move a0, s3 | a0 = s3;
0x004123f8 jalr t9 | t9 ();
0x004123fc move v0, s0 | v0 = s0;
0x00412400 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00412404 lw s5, 0x58(sp) | s5 = *(var_58h);
0x00412408 lw s4, 0x54(sp) | s4 = *(var_54h);
0x0041240c lw s3, 0x50(sp) | s3 = *(var_50h);
0x00412410 lw s2, 0x4c(sp) | s2 = *(var_4ch);
0x00412414 lw s1, 0x48(sp) | s1 = *(var_48h);
0x00412418 lw s0, 0x44(sp) | s0 = *(var_44h);
0x0041241c addiu sp, sp, 0x60 |
0x00412420 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41214c */
| #include <stdint.h>
|
; (fcn) sym.do_X509_sign () | void do_X509_sign () {
0x0041214c lui gp, 9 |
0x00412150 addiu gp, gp, -0x5cac |
0x00412154 addu gp, gp, t9 | gp += t9;
0x00412158 addiu sp, sp, -0x60 |
0x0041215c sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00412160 sw s5, 0x58(sp) | *(var_58h) = s5;
0x00412164 sw s4, 0x54(sp) | *(var_54h) = s4;
0x00412168 sw s3, 0x50(sp) | *(var_50h) = s3;
0x0041216c sw s2, 0x4c(sp) | *(var_4ch) = s2;
0x00412170 sw s1, 0x48(sp) | *(var_48h) = s1;
0x00412174 sw s0, 0x44(sp) | *(var_44h) = s0;
0x00412178 addiu s3, sp, 0x20 | s3 = sp + 0x20;
0x0041217c lw t9, -0x7994(gp) | t9 = sym.imp.EVP_MD_CTX_init;
0x00412180 move s5, a0 | s5 = a0;
0x00412184 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00412188 move a0, s3 | a0 = s3;
0x0041218c move s0, a2 | s0 = a2;
0x00412190 lw s1, 0x70(sp) | s1 = *(arg_70h);
0x00412194 move s2, a3 | s2 = a3;
0x00412198 move s4, a1 | s4 = a1;
0x0041219c jalr t9 | t9 ();
0x004121a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x004121a4 move a0, s3 | a0 = s3;
0x004121a8 lw t9, -0x7994(gp) | t9 = sym.imp.EVP_MD_CTX_init;
0x004121ac sw zero, 0x38(sp) | *(var_38h) = 0;
0x004121b0 jalr t9 | t9 ();
0x004121b4 move a0, s3 | a0 = s3;
0x004121b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x004121bc addiu a1, sp, 0x38 | a1 = sp + 0x38;
0x004121c0 sw s0, 0x10(sp) | *(var_10h) = s0;
0x004121c4 move a2, s2 | a2 = s2;
0x004121c8 lw t9, -0x6c50(gp) | t9 = sym.imp.EVP_DigestSignInit;
0x004121cc move a3, zero | a3 = 0;
0x004121d0 jalr t9 | t9 ();
0x004121d4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x004121d8 beqz v0, 0x412280 | goto label_0;
| }
0x004121dc move s0, zero | s0 = 0;
0x004121e0 b 0x41220c |
| while (v0 != 0) {
0x004121e4 jalr t9 | t9 ();
0x004121e8 nop |
0x004121ec lw gp, 0x18(sp) | gp = *(var_18h);
0x004121f0 move a1, v0 | a1 = v0;
0x004121f4 lw a0, 0x38(sp) | a0 = *(var_38h);
0x004121f8 lw t9, -0x7fdc(gp) | t9 = sym.pkey_ctrl_string;
0x004121fc move s2, v0 | s2 = v0;
0x00412200 jalr t9 | t9 ();
0x00412204 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00412208 blez v0, 0x412250 | goto label_1;
| }
0x0041220c lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00412210 move a0, s1 | a0 = s1;
0x00412214 jalr t9 | t9 ();
0x00412218 move a1, s0 | a1 = s0;
0x0041221c lw gp, 0x18(sp) | gp = *(var_18h);
0x00412220 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00412224 move a0, s1 | a0 = s1;
0x00412228 addiu s0, s0, 1 | s0++;
0x0041222c lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00412230 bnez v0, 0x4121e4 |
| }
0x00412234 lw t9, -0x7b4c(gp) | t9 = sym.imp.X509_sign_ctx;
0x00412238 move a0, s4 | a0 = s4;
0x0041223c move a1, s3 | a1 = s3;
0x00412240 jalr t9 | t9 ();
0x00412244 lw gp, 0x18(sp) | gp = *(var_18h);
0x00412248 slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x0041224c b 0x412284 | goto label_2;
| label_1:
0x00412250 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00412254 move a0, s5 | a0 = s5;
0x00412258 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041225c move a2, s2 | a2 = s2;
| /* esilref: 'parameter error "&s"
' */
0x00412260 addiu a1, a1, -0x1518 | a1 += -0x1518;
0x00412264 jalr t9 | t9 ();
0x00412268 lw gp, 0x18(sp) | gp = *(var_18h);
0x0041226c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00412270 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00412274 lw a0, (t8) | a0 = *(t8);
0x00412278 jalr t9 | t9 ();
0x0041227c lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x00412280 move s0, zero | s0 = 0;
| label_2:
0x00412284 lw t9, -0x7414(gp) | t9 = sym.imp.EVP_MD_CTX_cleanup;
0x00412288 move a0, s3 | a0 = s3;
0x0041228c jalr t9 | t9 ();
0x00412290 move v0, s0 | v0 = s0;
0x00412294 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00412298 lw s5, 0x58(sp) | s5 = *(var_58h);
0x0041229c lw s4, 0x54(sp) | s4 = *(var_54h);
0x004122a0 lw s3, 0x50(sp) | s3 = *(var_50h);
0x004122a4 lw s2, 0x4c(sp) | s2 = *(var_4ch);
0x004122a8 lw s1, 0x48(sp) | s1 = *(var_48h);
0x004122ac lw s0, 0x44(sp) | s0 = *(var_44h);
0x004122b0 addiu sp, sp, 0x60 |
0x004122b4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x415c78 */
| #include <stdint.h>
|
; (fcn) sym.do_fp () | void do_fp () {
0x00415c78 lui gp, 8 |
0x00415c7c addiu gp, gp, 0x6828 |
0x00415c80 addu gp, gp, t9 | gp += t9;
0x00415c84 addiu sp, sp, -0x38 |
0x00415c88 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00415c8c sw s4, 0x30(sp) | *(var_30h) = s4;
0x00415c90 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00415c94 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00415c98 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00415c9c sw s0, 0x20(sp) | *(var_20h) = s0;
0x00415ca0 move s2, a0 | s2 = a0;
0x00415ca4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00415ca8 move s0, a1 | s0 = a1;
0x00415cac move s1, a2 | s1 = a2;
0x00415cb0 move s3, a3 | s3 = a3;
0x00415cb4 b 0x415cc0 |
| while (v0 >= 0) {
0x00415cb8 lw t8, 0x50(sp) | t8 = *(arg_50h);
| if (v0 == 0) {
0x00415cbc beqz v0, 0x415d2c | goto label_9;
| }
0x00415cc0 lw t9, -0x72f0(gp) | t9 = sym.imp.BIO_read;
0x00415cc4 move a0, s1 | a0 = s1;
0x00415cc8 move a1, s0 | a1 = s0;
0x00415ccc addiu a2, zero, 0x2000 | a2 = 0x2000;
0x00415cd0 jalr t9 | t9 ();
0x00415cd4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00415cd8 bgez v0, 0x415cb8 |
| }
0x00415cdc lw s0, -0x7fd4(gp) | s0 = *(gp);
0x00415ce0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415ce4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415ce8 lw a2, 0x60(sp) | a2 = *(arg_60h);
| /* str.Read_Error_in__s_n */
0x00415cec addiu a1, a1, -0x1ae8 | a1 += -0x1ae8;
0x00415cf0 lw a0, (s0) | a0 = *(s0);
0x00415cf4 jalr t9 | t9 ();
0x00415cf8 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00415cfc lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00415d00 lw a0, (s0) | a0 = *(s0);
0x00415d04 jalr t9 | t9 ();
0x00415d08 addiu v0, zero, 1 | v0 = 1;
| do {
| label_0:
0x00415d0c lw ra, 0x34(sp) | ra = *(var_34h);
0x00415d10 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00415d14 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00415d18 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00415d1c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00415d20 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00415d24 addiu sp, sp, 0x38 |
0x00415d28 jr ra | return v0;
| label_9:
0x00415d2c lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (t8 == 0) {
0x00415d30 beqz t8, 0x415dc4 | goto label_10;
| }
0x00415d34 move a0, s1 | a0 = s1;
0x00415d38 addiu a1, zero, 0x78 | a1 = 0x78;
0x00415d3c move a2, zero | a2 = 0;
0x00415d40 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00415d44 jalr t9 | t9 ();
0x00415d48 lw gp, 0x10(sp) | gp = *(var_10h);
0x00415d4c lw a1, 0x50(sp) | a1 = *(arg_50h);
0x00415d50 lw t9, -0x745c(gp) | t9 = sym.imp.EVP_DigestVerifyFinal;
0x00415d54 lw a2, 0x54(sp) | a2 = *(arg_54h);
0x00415d58 lw a0, 0x18(sp) | a0 = *(var_18h);
0x00415d5c jalr t9 | t9 ();
0x00415d60 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 > 0) {
0x00415d64 blez v0, 0x415da0 |
0x00415d68 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415d6c move a0, s2 | a0 = s2;
0x00415d70 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Verified_OK_n */
0x00415d74 addiu a1, a1, -0x1ad4 | a1 += -0x1ad4;
0x00415d78 jalr t9 | t9 ();
0x00415d7c move v0, zero | v0 = 0;
0x00415d80 lw ra, 0x34(sp) | ra = *(var_34h);
0x00415d84 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00415d88 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00415d8c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00415d90 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00415d94 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00415d98 addiu sp, sp, 0x38 |
0x00415d9c jr ra | return v0;
| }
0x00415da0 lw s0, -0x7fd4(gp) | s0 = *(gp);
| if (v0 != 0) {
0x00415da4 bnez v0, 0x415ed8 | goto label_11;
| }
0x00415da8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415dac move a0, s2 | a0 = s2;
0x00415db0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Verification_Failure_n */
0x00415db4 addiu a1, a1, -0x1ac4 | a1 += -0x1ac4;
0x00415db8 jalr t9 | t9 ();
0x00415dbc addiu v0, zero, 1 | v0 = 1;
0x00415dc0 b 0x415d0c |
| } while (1);
| label_10:
0x00415dc4 lw t8, 0x4c(sp) | t8 = *(arg_4ch);
0x00415dc8 move a0, s1 | a0 = s1;
| if (t8 == 0) {
0x00415dcc beqz t8, 0x416014 | goto label_12;
| }
0x00415dd0 addiu a1, zero, 0x78 | a1 = 0x78;
0x00415dd4 move a2, zero | a2 = 0;
0x00415dd8 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00415ddc jalr t9 | t9 ();
0x00415de0 addiu t8, zero, 0x2000 | t8 = 0x2000;
0x00415de4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00415de8 move a1, s0 | a1 = s0;
0x00415dec lw a0, 0x18(sp) | a0 = *(var_18h);
0x00415df0 addiu a2, sp, 0x1c | a2 = sp + 0x1c;
0x00415df4 lw t9, -0x7af4(gp) | t9 = sym.imp.EVP_DigestSignFinal;
0x00415df8 sw t8, 0x1c(sp) | *(var_1ch) = t8;
0x00415dfc jalr t9 | t9 ();
0x00415e00 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00415e04 beqz v0, 0x415fe0 | goto label_13;
| }
| label_8:
0x00415e08 lw t8, 0x48(sp) | t8 = *(arg_48h);
0x00415e0c addiu t8, zero, 2 | t8 = 2;
| if (t8 != 0) {
0x00415e10 bnez t8, 0x415ff8 | goto label_14;
| }
0x00415e14 lw t8, 0x58(sp) | t8 = *(arg_58h);
| if (s3 == t8) {
0x00415e18 beq s3, t8, 0x415f80 | goto label_15;
| }
0x00415e1c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (t8 == 0) {
0x00415e20 beqz t8, 0x415ef8 | goto label_16;
| }
0x00415e24 move a1, t8 | a1 = t8;
0x00415e28 move a0, s2 | a0 = s2;
0x00415e2c jalr t9 | t9 ();
0x00415e30 lw t8, 0x5c(sp) | t8 = *(arg_5ch);
0x00415e34 lw gp, 0x10(sp) | gp = *(var_10h);
| if (t8 != 0) {
0x00415e38 beqz t8, 0x415e58 |
0x00415e3c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415e40 move a0, s2 | a0 = s2;
0x00415e44 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415e48 move a2, t8 | a2 = t8;
| /* esilref: '-&s' */
0x00415e4c addiu a1, a1, -0x1a70 | a1 += -0x1a70;
0x00415e50 jalr t9 | t9 ();
0x00415e54 lw gp, 0x10(sp) | gp = *(var_10h);
| }
| label_2:
0x00415e58 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415e5c move a0, s2 | a0 = s2;
0x00415e60 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415e64 lw a2, 0x60(sp) | a2 = *(arg_60h);
| /* str.__s__ */
0x00415e68 addiu a1, a1, -0x1a6c | a1 += -0x1a6c;
0x00415e6c jalr t9 | t9 ();
0x00415e70 lw gp, 0x10(sp) | gp = *(var_10h);
| label_3:
0x00415e74 lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x00415e78 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (t8 <= 0) {
0x00415e7c blez t8, 0x415ec0 | goto label_17;
| }
0x00415e80 lw s3, -0x7fd8(gp) | s3 = *(gp);
| if (s3 != 0) {
0x00415e84 bnez s3, 0x415f24 | goto label_18;
| }
0x00415e88 move s1, zero | s1 = 0;
| /* str._02x */
0x00415e8c addiu s3, s3, -0x1a78 | s3 += -0x1a78;
| do {
0x00415e90 addu t8, s0, s1 | t8 = s0 + s1;
0x00415e94 move a0, s2 | a0 = s2;
0x00415e98 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415e9c move a1, s3 | a1 = s3;
0x00415ea0 lbu a2, (t8) | a2 = *(t8);
0x00415ea4 addiu s1, s1, 1 | s1++;
0x00415ea8 jalr t9 | t9 ();
0x00415eac lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x00415eb0 slt t8, s1, t8 | t8 = (s1 < t8) ? 1 : 0;
0x00415eb4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00415eb8 bnez t8, 0x415e90 |
| } while (t8 != 0);
| label_4:
0x00415ebc lw a1, -0x7fd8(gp) | a1 = *(gp);
| label_17:
0x00415ec0 move a0, s2 | a0 = s2;
0x00415ec4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415ec8 addiu a1, a1, 0x609c | a1 += 0x609c;
0x00415ecc jalr t9 | t9 ();
0x00415ed0 move v0, zero | v0 = 0;
0x00415ed4 b 0x415d0c | goto label_0;
| label_11:
0x00415ed8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415edc lw a0, (s0) | a0 = *(s0);
0x00415ee0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_Verifying_Data_n */
0x00415ee4 addiu a1, a1, -0x1aac | a1 += -0x1aac;
| label_7:
0x00415ee8 jalr t9 | t9 ();
0x00415eec nop |
0x00415ef0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00415ef4 b 0x415cfc | goto label_1;
| label_16:
0x00415ef8 lw t8, 0x5c(sp) | t8 = *(arg_5ch);
0x00415efc move a0, s2 | a0 = s2;
| if (t8 == 0) {
0x00415f00 beqz t8, 0x415e58 | goto label_2;
| }
0x00415f04 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415f08 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415f0c move a2, t8 | a2 = t8;
0x00415f10 lw a3, 0x60(sp) | a3 = *(arg_60h);
| /* str._s__s__ */
0x00415f14 addiu a1, a1, -0x1a64 | a1 += -0x1a64;
0x00415f18 jalr t9 | t9 ();
0x00415f1c lw gp, 0x10(sp) | gp = *(var_10h);
0x00415f20 b 0x415e74 | goto label_3;
| label_18:
0x00415f24 move s1, zero | s1 = 0;
0x00415f28 lw s4, -0x7fd8(gp) | s4 = *(gp);
| /* str._02x */
0x00415f2c addiu s3, s3, -0x1a78 | s3 += -0x1a78;
0x00415f30 addiu s4, s4, -0x824 | s4 += -0x824;
| label_6:
0x00415f34 addu t8, s0, s1 | t8 = s0 + s1;
| label_5:
0x00415f38 move a0, s2 | a0 = s2;
0x00415f3c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415f40 move a1, s3 | a1 = s3;
0x00415f44 lbu a2, (t8) | a2 = *(t8);
0x00415f48 addiu s1, s1, 1 | s1++;
0x00415f4c jalr t9 | t9 ();
0x00415f50 lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x00415f54 slt t8, s1, t8 | t8 = (s1 < t8) ? 1 : 0;
0x00415f58 lw gp, 0x10(sp) | gp = *(var_10h);
| if (t8 == 0) {
0x00415f5c beqz t8, 0x415ebc | goto label_4;
| }
0x00415f60 addu t8, s0, s1 | t8 = s0 + s1;
| if (s1 == 0) {
0x00415f64 beqz s1, 0x415f38 | goto label_5;
| }
0x00415f68 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415f6c move a0, s2 | a0 = s2;
0x00415f70 move a1, s4 | a1 = s4;
0x00415f74 jalr t9 | t9 ();
0x00415f78 lw gp, 0x10(sp) | gp = *(var_10h);
0x00415f7c b 0x415f34 | goto label_6;
| label_15:
0x00415f80 lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x00415f84 lw s3, -0x7fd8(gp) | s3 = *(gp);
| if (t8 <= 0) {
0x00415f88 blez t8, 0x415fc0 | goto label_19;
| }
0x00415f8c move s1, zero | s1 = 0;
| /* str._02x */
0x00415f90 addiu s3, s3, -0x1a78 | s3 += -0x1a78;
| do {
0x00415f94 addu t8, s0, s1 | t8 = s0 + s1;
0x00415f98 move a0, s2 | a0 = s2;
0x00415f9c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415fa0 move a1, s3 | a1 = s3;
0x00415fa4 lbu a2, (t8) | a2 = *(t8);
0x00415fa8 addiu s1, s1, 1 | s1++;
0x00415fac jalr t9 | t9 ();
0x00415fb0 lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x00415fb4 slt t8, s1, t8 | t8 = (s1 < t8) ? 1 : 0;
0x00415fb8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00415fbc bnez t8, 0x415f94 |
| } while (t8 != 0);
| label_19:
0x00415fc0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415fc4 move a0, s2 | a0 = s2;
0x00415fc8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00415fcc lw a2, 0x60(sp) | a2 = *(arg_60h);
| /* str.__s_n */
0x00415fd0 addiu a1, a1, -0x1a80 | a1 += -0x1a80;
0x00415fd4 jalr t9 | t9 ();
0x00415fd8 move v0, zero | v0 = 0;
0x00415fdc b 0x415d0c | goto label_0;
| label_13:
0x00415fe0 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x00415fe4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00415fe8 lw a0, (s0) | a0 = *(s0);
0x00415fec lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_Signing_Data_n */
0x00415ff0 addiu a1, a1, -0x1a94 | a1 += -0x1a94;
0x00415ff4 b 0x415ee8 | goto label_7;
| label_14:
0x00415ff8 lw t9, -0x74c8(gp) | t9 = sym.imp.BIO_write;
0x00415ffc move a0, s2 | a0 = s2;
0x00416000 lw a2, 0x1c(sp) | a2 = *(var_1ch);
0x00416004 move a1, s0 | a1 = s0;
0x00416008 jalr t9 | t9 ();
0x0041600c move v0, zero | v0 = 0;
0x00416010 b 0x415d0c | goto label_0;
| label_12:
0x00416014 lw t9, -0x7c78(gp) | t9 = sym.imp.BIO_gets;
0x00416018 move a1, s0 | a1 = s0;
0x0041601c addiu a2, zero, 0x2000 | a2 = 0x2000;
0x00416020 jalr t9 | t9 ();
0x00416024 lw gp, 0x10(sp) | gp = *(var_10h);
0x00416028 sw v0, 0x1c(sp) | *(var_1ch) = v0;
| if (v0 >= 0) {
0x0041602c bgez v0, 0x415e08 | goto label_8;
| }
0x00416030 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00416034 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00416038 lw a0, (t8) | a0 = *(t8);
0x0041603c jalr t9 | t9 ();
0x00416040 addiu v0, zero, 1 | v0 = 1;
0x00416044 b 0x415d0c | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4538a0 */
| #include <stdint.h>
|
; (fcn) sym.dump_certs_keys_p12 () | void dump_certs_keys_p12 () {
0x004538a0 lui gp, 5 |
0x004538a4 addiu gp, gp, -0x7400 |
0x004538a8 addu gp, gp, t9 | gp += t9;
0x004538ac addiu sp, sp, -0x48 |
0x004538b0 sw ra, 0x44(sp) | *(var_44h) = ra;
0x004538b4 sw fp, 0x40(sp) | *(var_40h) = fp;
0x004538b8 sw s7, 0x3c(sp) | *(var_3ch) = s7;
0x004538bc sw s6, 0x38(sp) | *(var_38h) = s6;
0x004538c0 sw s5, 0x34(sp) | *(var_34h) = s5;
0x004538c4 sw s4, 0x30(sp) | *(var_30h) = s4;
0x004538c8 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x004538cc sw s2, 0x28(sp) | *(var_28h) = s2;
0x004538d0 sw s1, 0x24(sp) | *(var_24h) = s1;
0x004538d4 sw s0, 0x20(sp) | *(var_20h) = s0;
0x004538d8 move s6, a0 | s6 = a0;
0x004538dc lw t9, -0x6d78(gp) | t9 = sym.imp.PKCS12_unpack_authsafes;
0x004538e0 move a0, a1 | a0 = a1;
0x004538e4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004538e8 move s2, a2 | s2 = a2;
0x004538ec lw s4, 0x58(sp) | s4 = *(arg_58h);
0x004538f0 move s3, a3 | s3 = a3;
0x004538f4 lw s7, 0x5c(sp) | s7 = *(arg_5ch);
0x004538f8 jalr t9 | t9 ();
0x004538fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00453900 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00453904 beqz v0, 0x453ac8 | goto label_4;
| }
0x00453908 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0045390c move a0, s1 | a0 = s1;
0x00453910 move s0, zero | s0 = 0;
0x00453914 andi s5, s4, 4 | s5 = s4 & 4;
0x00453918 jalr t9 | t9 ();
0x0045391c slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00453920 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00453924 beqz v0, 0x453984 | goto label_5;
| }
| do {
0x00453928 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x0045392c move a0, s1 | a0 = s1;
0x00453930 move a1, s0 | a1 = s0;
0x00453934 jalr t9 | t9 ();
0x00453938 lw gp, 0x18(sp) | gp = *(var_18h);
0x0045393c move fp, v0 | fp = v0;
0x00453940 lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x00453944 lw a0, 0x10(v0) | a0 = *((v0 + 4));
0x00453948 jalr t9 | t9 ();
0x0045394c move t8, v0 | t8 = v0;
0x00453950 addiu v0, zero, 0x15 | v0 = 0x15;
0x00453954 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 == v0) {
0x00453958 beq t8, v0, 0x453a3c | goto label_6;
| }
0x0045395c addiu v0, zero, 0x1a | v0 = 0x1a;
| if (t8 == v0) {
0x00453960 beq t8, v0, 0x4539cc | goto label_7;
| }
0x00453964 nop |
0x00453968 addiu s0, s0, 1 | s0++;
| label_0:
0x0045396c lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00453970 move a0, s1 | a0 = s1;
0x00453974 jalr t9 | t9 ();
0x00453978 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x0045397c lw gp, 0x18(sp) | gp = *(var_18h);
0x00453980 bnez v0, 0x453928 |
| } while (v0 != 0);
| label_5:
0x00453984 addiu s0, zero, 1 | s0 = 1;
| label_2:
0x00453988 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
0x0045398c lw a1, -0x78f8(gp) | a1 = *((gp - 7742));
0x00453990 move a0, s1 | a0 = s1;
0x00453994 jalr t9 | t9 ();
0x00453998 move v0, s0 | v0 = s0;
0x0045399c lw ra, 0x44(sp) | ra = *(var_44h);
0x004539a0 lw fp, 0x40(sp) | fp = *(var_40h);
0x004539a4 lw s7, 0x3c(sp) | s7 = *(var_3ch);
0x004539a8 lw s6, 0x38(sp) | s6 = *(var_38h);
0x004539ac lw s5, 0x34(sp) | s5 = *(var_34h);
0x004539b0 lw s4, 0x30(sp) | s4 = *(var_30h);
0x004539b4 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x004539b8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x004539bc lw s1, 0x24(sp) | s1 = *(var_24h);
0x004539c0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x004539c4 addiu sp, sp, 0x48 |
0x004539c8 jr ra | return v0;
| label_7:
0x004539cc lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (s5 != 0) {
0x004539d0 bnez s5, 0x453a7c | goto label_8;
| }
| label_3:
0x004539d4 lw t9, -0x7150(gp) | t9 = sym.imp.PKCS12_unpack_p7encdata;
0x004539d8 move a0, fp | a0 = fp;
0x004539dc move a1, s2 | a1 = s2;
0x004539e0 move a2, s3 | a2 = s3;
0x004539e4 jalr t9 | t9 ();
0x004539e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x004539ec move fp, v0 | fp = v0;
| do {
| if (fp == 0) {
0x004539f0 beqz fp, 0x453a74 | goto label_9;
| }
0x004539f4 nop |
| label_1:
0x004539f8 lw t9, -0x7e90(gp) | t9 = sym.dump_certs_pkeys_bags;
0x004539fc move a0, s6 | a0 = s6;
0x00453a00 move a1, fp | a1 = fp;
0x00453a04 sw s4, 0x10(sp) | *(var_10h) = s4;
0x00453a08 sw s7, 0x14(sp) | *(var_14h) = s7;
0x00453a0c move a2, s2 | a2 = s2;
0x00453a10 move a3, s3 | a3 = s3;
0x00453a14 jalr t9 | t9 ();
0x00453a18 move a0, fp | a0 = fp;
0x00453a1c lw gp, 0x18(sp) | gp = *(var_18h);
0x00453a20 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
0x00453a24 lw a1, -0x7560(gp) | a1 = *((gp - 7512));
| if (v0 == 0) {
0x00453a28 beqz v0, 0x453ab8 | goto label_10;
| }
0x00453a2c addiu s0, s0, 1 | s0++;
0x00453a30 jalr t9 | t9 ();
0x00453a34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00453a38 b 0x45396c | goto label_0;
| label_6:
0x00453a3c lw t9, -0x74d0(gp) | t9 = sym.imp.PKCS12_unpack_p7data;
0x00453a40 move a0, fp | a0 = fp;
0x00453a44 jalr t9 | t9 ();
0x00453a48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00453a4c move fp, v0 | fp = v0;
0x00453a50 beqz s5, 0x4539f0 |
| } while (s5 == 0);
0x00453a54 lw v0, -0x7fd4(gp) | v0 = *(gp);
0x00453a58 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00453a5c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453a60 lw a0, (v0) | a0 = *(v0);
| /* str.PKCS7_Data_n */
0x00453a64 addiu a1, a1, -0x2cb4 | a1 += -0x2cb4;
0x00453a68 jalr t9 | t9 ();
0x00453a6c lw gp, 0x18(sp) | gp = *(var_18h);
| if (fp != 0) {
0x00453a70 bnez fp, 0x4539f8 | goto label_1;
| }
| label_9:
0x00453a74 move s0, zero | s0 = 0;
0x00453a78 b 0x453988 | goto label_2;
| label_8:
0x00453a7c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00453a80 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453a84 lw a0, (t8) | a0 = *(t8);
| /* str.PKCS7_Encrypted_data:_ */
0x00453a88 addiu a1, a1, -0x2ca8 | a1 += -0x2ca8;
0x00453a8c jalr t9 | t9 ();
0x00453a90 lw gp, 0x18(sp) | gp = *(var_18h);
0x00453a94 lw t8, 0x14(fp) | t8 = *(arg_5ch);
0x00453a98 lw v0, -0x7fd4(gp) | v0 = *(gp);
0x00453a9c lw t8, 4(t8) | t8 = *((t8 + 1));
0x00453aa0 lw t9, -0x7e84(gp) | t9 = sym.alg_print;
0x00453aa4 lw a0, (v0) | a0 = *(v0);
0x00453aa8 lw a1, 4(t8) | a1 = *((t8 + 1));
0x00453aac jalr t9 | t9 ();
0x00453ab0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00453ab4 b 0x4539d4 | goto label_3;
| label_10:
0x00453ab8 move s0, zero | s0 = 0;
0x00453abc jalr t9 | t9 ();
0x00453ac0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00453ac4 b 0x453988 | goto label_2;
| label_4:
0x00453ac8 lw ra, 0x44(sp) | ra = *(var_44h);
0x00453acc move v0, zero | v0 = 0;
0x00453ad0 lw fp, 0x40(sp) | fp = *(var_40h);
0x00453ad4 lw s7, 0x3c(sp) | s7 = *(var_3ch);
0x00453ad8 lw s6, 0x38(sp) | s6 = *(var_38h);
0x00453adc lw s5, 0x34(sp) | s5 = *(var_34h);
0x00453ae0 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00453ae4 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00453ae8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00453aec lw s1, 0x24(sp) | s1 = *(var_24h);
0x00453af0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00453af4 addiu sp, sp, 0x48 |
0x00453af8 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x453328 */
| #include <stdint.h>
|
; (fcn) sym.dump_certs_pkeys_bag () | void dump_certs_pkeys_bag () {
0x00453328 lui gp, 5 |
0x0045332c addiu gp, gp, -0x6e88 |
0x00453330 addu gp, gp, t9 | gp += t9;
0x00453334 addiu sp, sp, -0x48 |
0x00453338 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0045333c sw s6, 0x40(sp) | *(var_40h) = s6;
0x00453340 sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x00453344 sw s4, 0x38(sp) | *(var_38h) = s4;
0x00453348 sw s3, 0x34(sp) | *(var_34h) = s3;
0x0045334c sw s2, 0x30(sp) | *(var_30h) = s2;
0x00453350 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x00453354 sw s0, 0x28(sp) | *(var_28h) = s0;
0x00453358 move s2, a0 | s2 = a0;
0x0045335c lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x00453360 move s0, a1 | s0 = a1;
0x00453364 lw a0, (a1) | a0 = *(a1);
0x00453368 move s5, a2 | s5 = a2;
0x0045336c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00453370 move s4, a3 | s4 = a3;
0x00453374 lw s1, 0x58(sp) | s1 = *(arg_58h);
0x00453378 lw s3, 0x5c(sp) | s3 = *(arg_5ch);
0x0045337c jalr t9 | t9 ();
0x00453380 addiu t8, zero, 0x97 | t8 = 0x97;
0x00453384 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == t8) {
0x00453388 beq v0, t8, 0x453584 | goto label_8;
| }
0x0045338c slti t8, v0, 0x98 | t8 = (v0 < 0x98) ? 1 : 0;
0x00453390 addiu t8, zero, 0x98 | t8 = 0x98;
| if (t8 != 0) {
0x00453394 bnez t8, 0x453458 | goto label_9;
| }
0x00453398 addiu t8, zero, 0x9b | t8 = 0x9b;
| if (v0 != t8) {
0x0045339c beq v0, t8, 0x453410 |
0x004533a0 andi t8, s1, 4 | t8 = s1 & 4;
| if (v0 != t8) {
0x004533a4 bne v0, t8, 0x453510 | goto label_10;
| }
0x004533a8 lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (t8 != 0) {
0x004533ac bnez t8, 0x45370c | goto label_11;
| }
| label_3:
0x004533b0 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x004533b4 move a0, s2 | a0 = s2;
0x004533b8 lw t9, -0x7e94(gp) | t9 = sym.print_attribs;
0x004533bc lw a1, 8(s0) | a1 = *((s0 + 2));
| /* str.Bag_Attributes */
0x004533c0 addiu a2, a2, -0x2d30 | a2 += -0x2d30;
0x004533c4 jalr t9 | t9 ();
0x004533c8 move a0, s2 | a0 = s2;
0x004533cc lw gp, 0x20(sp) | gp = *(var_20h);
0x004533d0 move a2, s5 | a2 = s5;
0x004533d4 lw a1, 4(s0) | a1 = *((s0 + 1));
0x004533d8 move a3, s4 | a3 = s4;
0x004533dc sw s1, 0x58(sp) | *(arg_58h) = s1;
0x004533e0 sw s3, 0x5c(sp) | *(arg_5ch) = s3;
0x004533e4 lw t9, -0x7e90(gp) | t9 = sym.dump_certs_pkeys_bags;
0x004533e8 lw ra, 0x44(sp) | ra = *(var_44h);
0x004533ec lw s6, 0x40(sp) | s6 = *(var_40h);
0x004533f0 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x004533f4 lw s4, 0x38(sp) | s4 = *(var_38h);
0x004533f8 lw s3, 0x34(sp) | s3 = *(var_34h);
0x004533fc lw s2, 0x30(sp) | s2 = *(var_30h);
0x00453400 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00453404 lw s0, 0x28(sp) | s0 = *(var_28h);
0x00453408 addiu sp, sp, 0x48 |
0x0045340c jr t9 | t9 ();
| }
0x00453410 andi t8, s1, 4 | t8 = s1 & 4;
0x00453414 lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (t8 != 0) {
0x00453418 bnez t8, 0x453728 | goto label_12;
| }
| label_4:
0x0045341c andi t8, s1, 2 | t8 = s1 & 2;
0x00453420 lw t9, -0x7508(gp) | t9 = sym.imp.PKCS12_get_attr_gen;
| if (t8 == 0) {
0x00453424 beqz t8, 0x45365c | goto label_13;
| }
| label_1:
0x00453428 addiu s1, zero, 1 | s1 = 1;
| do {
| label_2:
0x0045342c move v0, s1 | v0 = s1;
| label_0:
0x00453430 lw ra, 0x44(sp) | ra = *(var_44h);
0x00453434 lw s6, 0x40(sp) | s6 = *(var_40h);
0x00453438 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x0045343c lw s4, 0x38(sp) | s4 = *(var_38h);
0x00453440 lw s3, 0x34(sp) | s3 = *(var_34h);
0x00453444 lw s2, 0x30(sp) | s2 = *(var_30h);
0x00453448 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0045344c lw s0, 0x28(sp) | s0 = *(var_28h);
0x00453450 addiu sp, sp, 0x48 |
0x00453454 jr ra | return v0;
| label_9:
0x00453458 addiu t8, zero, 0x96 | t8 = 0x96;
0x0045345c andi t8, s1, 4 | t8 = s1 & 4;
| if (v0 != t8) {
0x00453460 bne v0, t8, 0x453510 | goto label_10;
| }
0x00453464 lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (t8 != 0) {
0x00453468 bnez t8, 0x453778 | goto label_14;
| }
| label_6:
0x0045346c andi s1, s1, 1 | s1 &= 1;
0x00453470 addiu s1, zero, 1 | s1 = 1;
0x00453474 bnez s1, 0x45342c |
| } while (s1 != 0);
0x00453478 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0045347c move a0, s2 | a0 = s2;
0x00453480 lw t9, -0x7e94(gp) | t9 = sym.print_attribs;
0x00453484 lw a1, 8(s0) | a1 = *((s0 + 2));
| /* str.Bag_Attributes */
0x00453488 addiu a2, a2, -0x2d30 | a2 += -0x2d30;
0x0045348c jalr t9 | t9 ();
0x00453490 lw gp, 0x20(sp) | gp = *(var_20h);
0x00453494 lw s1, 4(s0) | s1 = *((s0 + 1));
0x00453498 lw t9, -0x70ac(gp) | t9 = sym.imp.EVP_PKCS82PKEY;
0x0045349c move a0, s1 | a0 = s1;
0x004534a0 jalr t9 | t9 ();
0x004534a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004534a8 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x004534ac beqz v0, 0x453794 | goto label_15;
| }
0x004534b0 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x004534b4 move a0, s2 | a0 = s2;
0x004534b8 lw t9, -0x7e94(gp) | t9 = sym.print_attribs;
0x004534bc lw a1, 0x10(s1) | a1 = *((s1 + 4));
| /* str.Key_Attributes */
0x004534c0 addiu a2, a2, -0x2d20 | a2 += -0x2d20;
0x004534c4 jalr t9 | t9 ();
0x004534c8 move a0, s2 | a0 = s2;
0x004534cc lw gp, 0x20(sp) | gp = *(var_20h);
0x004534d0 move a1, s0 | a1 = s0;
0x004534d4 move a3, zero | a3 = 0;
0x004534d8 lw t8, -0x7e8c(gp) | t8 = *(gp);
0x004534dc lw t9, -0x77ec(gp) | t9 = sym.imp.PEM_write_bio_PrivateKey;
0x004534e0 lw a2, (t8) | a2 = *(t8);
0x004534e4 sw s3, 0x18(sp) | *(var_18h) = s3;
0x004534e8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x004534ec sw zero, 0x14(sp) | *(var_14h) = 0;
0x004534f0 jalr t9 | t9 ();
0x004534f4 move a0, s0 | a0 = s0;
0x004534f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x004534fc lw t9, -0x737c(gp) | t9 = sym.imp.EVP_PKEY_free;
0x00453500 move s1, v0 | s1 = v0;
0x00453504 jalr t9 | t9 ();
0x00453508 move v0, s1 | v0 = s1;
0x0045350c b 0x453430 | goto label_0;
| label_10:
0x00453510 lw s1, -0x7fd4(gp) | s1 = *(gp);
0x00453514 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00453518 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0045351c lw a0, (s1) | a0 = *(s1);
| /* str.Warning_unsupported_bag_type:_ */
0x00453520 addiu a1, a1, -0x2cd4 | a1 += -0x2cd4;
0x00453524 jalr t9 | t9 ();
0x00453528 lw gp, 0x20(sp) | gp = *(var_20h);
0x0045352c lw a0, (s1) | a0 = *(s1);
0x00453530 lw t9, -0x6f80(gp) | t9 = sym.imp.i2a_ASN1_OBJECT;
0x00453534 lw a1, (s0) | a1 = *(s0);
0x00453538 jalr t9 | t9 ();
0x0045353c lw gp, 0x20(sp) | gp = *(var_20h);
0x00453540 lw a0, (s1) | a0 = *(s1);
0x00453544 addiu s1, zero, 1 | s1 = 1;
0x00453548 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0045354c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453550 addiu a1, a1, 0x609c | a1 += 0x609c;
0x00453554 jalr t9 | t9 ();
0x00453558 move v0, s1 | v0 = s1;
0x0045355c lw ra, 0x44(sp) | ra = *(var_44h);
0x00453560 lw s6, 0x40(sp) | s6 = *(var_40h);
0x00453564 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x00453568 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0045356c lw s3, 0x34(sp) | s3 = *(var_34h);
0x00453570 lw s2, 0x30(sp) | s2 = *(var_30h);
0x00453574 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00453578 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0045357c addiu sp, sp, 0x48 |
0x00453580 jr ra | return v0;
| label_8:
0x00453584 andi t8, s1, 4 | t8 = s1 & 4;
0x00453588 lw s6, -0x7fd4(gp) | s6 = *(gp);
| if (t8 != 0) {
0x0045358c bnez t8, 0x453744 | goto label_16;
| }
| label_5:
0x00453590 andi s1, s1, 1 | s1 &= 1;
0x00453594 lw a2, -0x7f9c(gp) | a2 = *(gp);
| if (s1 != 0) {
0x00453598 bnez s1, 0x453428 | goto label_1;
| }
0x0045359c move a0, s2 | a0 = s2;
0x004535a0 lw t9, -0x7e94(gp) | t9 = sym.print_attribs;
0x004535a4 lw a1, 8(s0) | a1 = *((s0 + 2));
| /* str.Bag_Attributes */
0x004535a8 addiu a2, a2, -0x2d30 | a2 += -0x2d30;
0x004535ac jalr t9 | t9 ();
0x004535b0 move a0, s0 | a0 = s0;
0x004535b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004535b8 move a1, s5 | a1 = s5;
0x004535bc lw t9, -0x7154(gp) | t9 = sym.imp.PKCS12_decrypt_skey;
0x004535c0 move a2, s4 | a2 = s4;
0x004535c4 jalr t9 | t9 ();
0x004535c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x004535cc move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x004535d0 beqz v0, 0x453794 | goto label_15;
| }
0x004535d4 lw t9, -0x70ac(gp) | t9 = sym.imp.EVP_PKCS82PKEY;
0x004535d8 move a0, v0 | a0 = v0;
0x004535dc jalr t9 | t9 ();
0x004535e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004535e4 move s4, v0 | s4 = v0;
| if (v0 == 0) {
0x004535e8 beqz v0, 0x4537b0 | goto label_17;
| }
0x004535ec lw a2, -0x7f9c(gp) | a2 = *(gp);
0x004535f0 move a0, s2 | a0 = s2;
0x004535f4 lw t9, -0x7e94(gp) | t9 = sym.print_attribs;
0x004535f8 lw a1, 0x10(s0) | a1 = *((s0 + 4));
| /* str.Key_Attributes */
0x004535fc addiu a2, a2, -0x2d20 | a2 += -0x2d20;
0x00453600 jalr t9 | t9 ();
0x00453604 lw gp, 0x20(sp) | gp = *(var_20h);
0x00453608 lw t9, -0x7d58(gp) | t9 = sym.imp.PKCS8_PRIV_KEY_INFO_free;
0x0045360c move a0, s0 | a0 = s0;
0x00453610 jalr t9 | t9 ();
0x00453614 move a0, s2 | a0 = s2;
0x00453618 lw gp, 0x20(sp) | gp = *(var_20h);
0x0045361c move a1, s4 | a1 = s4;
0x00453620 move a3, zero | a3 = 0;
0x00453624 lw t8, -0x7e8c(gp) | t8 = *(gp);
0x00453628 lw t9, -0x77ec(gp) | t9 = sym.imp.PEM_write_bio_PrivateKey;
0x0045362c lw a2, (t8) | a2 = *(t8);
0x00453630 sw s3, 0x18(sp) | *(var_18h) = s3;
0x00453634 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00453638 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0045363c jalr t9 | t9 ();
0x00453640 move a0, s4 | a0 = s4;
0x00453644 lw gp, 0x20(sp) | gp = *(var_20h);
0x00453648 lw t9, -0x737c(gp) | t9 = sym.imp.EVP_PKEY_free;
0x0045364c move s1, v0 | s1 = v0;
0x00453650 jalr t9 | t9 ();
0x00453654 move v0, s1 | v0 = s1;
0x00453658 b 0x453430 | goto label_0;
| label_13:
0x0045365c addiu a1, zero, 0x9d | a1 = 0x9d;
0x00453660 lw a0, 8(s0) | a0 = *((s0 + 2));
0x00453664 jalr t9 | t9 ();
0x00453668 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0045366c beqz v0, 0x45379c | goto label_18;
| }
0x00453670 andi s1, s1, 0x10 | s1 &= 0x10;
0x00453674 addiu s1, zero, 1 | s1 = 1;
| if (s1 != 0) {
0x00453678 bnez s1, 0x45342c | goto label_2;
| }
0x0045367c lw a2, -0x7f9c(gp) | a2 = *(gp);
| label_7:
0x00453680 move a0, s2 | a0 = s2;
0x00453684 lw t9, -0x7e94(gp) | t9 = sym.print_attribs;
0x00453688 lw a1, 8(s0) | a1 = *((s0 + 2));
| /* str.Bag_Attributes */
0x0045368c addiu a2, a2, -0x2d30 | a2 += -0x2d30;
0x00453690 jalr t9 | t9 ();
0x00453694 lw gp, 0x20(sp) | gp = *(var_20h);
0x00453698 lw t8, 4(s0) | t8 = *((s0 + 1));
0x0045369c lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x004536a0 lw a0, (t8) | a0 = *(t8);
0x004536a4 jalr t9 | t9 ();
0x004536a8 addiu t8, zero, 0x9e | t8 = 0x9e;
0x004536ac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != t8) {
0x004536b0 bne v0, t8, 0x453428 | goto label_1;
| }
0x004536b4 lw t9, -0x7b38(gp) | t9 = sym.imp.PKCS12_certbag2x509;
0x004536b8 move a0, s0 | a0 = s0;
0x004536bc jalr t9 | t9 ();
0x004536c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004536c4 move s0, v0 | s0 = v0;
| if (v0 != 0) {
0x004536c8 beqz v0, 0x453794 |
0x004536cc lw t9, -0x7e88(gp) | t9 = sym.dump_cert_text;
0x004536d0 move a0, s2 | a0 = s2;
0x004536d4 move a1, v0 | a1 = v0;
0x004536d8 jalr t9 | t9 ();
0x004536dc move a0, s2 | a0 = s2;
0x004536e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004536e4 lw t9, -0x7778(gp) | t9 = sym.imp.PEM_write_bio_X509;
0x004536e8 move a1, s0 | a1 = s0;
0x004536ec jalr t9 | t9 ();
0x004536f0 move a0, s0 | a0 = s0;
0x004536f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004536f8 lw t9, -0x6c30(gp) | t9 = *((gp - 6924));
0x004536fc move s1, v0 | s1 = v0;
0x00453700 jalr t9 | t9 ();
0x00453704 move v0, s1 | v0 = s1;
0x00453708 b 0x453430 | goto label_0;
| label_11:
0x0045370c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00453710 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453714 lw a0, (t8) | a0 = *(t8);
| /* str.Safe_Contents_bag_n */
0x00453718 addiu a1, a1, -0x2ce8 | a1 += -0x2ce8;
0x0045371c jalr t9 | t9 ();
0x00453720 lw gp, 0x20(sp) | gp = *(var_20h);
0x00453724 b 0x4533b0 | goto label_3;
| label_12:
0x00453728 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0045372c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453730 lw a0, (t8) | a0 = *(t8);
| /* str.Certificate_bag_n */
0x00453734 addiu a1, a1, -0x2cfc | a1 += -0x2cfc;
0x00453738 jalr t9 | t9 ();
0x0045373c lw gp, 0x20(sp) | gp = *(var_20h);
0x00453740 b 0x45341c | goto label_4;
| label_16:
0x00453744 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00453748 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0045374c lw a0, (s6) | a0 = *(s6);
| /* str.Shrouded_Keybag:_ */
0x00453750 addiu a1, a1, -0x2d10 | a1 += -0x2d10;
0x00453754 jalr t9 | t9 ();
0x00453758 lw gp, 0x20(sp) | gp = *(var_20h);
0x0045375c lw t8, 4(s0) | t8 = *((s0 + 1));
0x00453760 lw t9, -0x7e84(gp) | t9 = sym.alg_print;
0x00453764 lw a0, (s6) | a0 = *(s6);
0x00453768 lw a1, (t8) | a1 = *(t8);
0x0045376c jalr t9 | t9 ();
0x00453770 lw gp, 0x20(sp) | gp = *(var_20h);
0x00453774 b 0x453590 | goto label_5;
| label_14:
0x00453778 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0045377c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453780 lw a0, (t8) | a0 = *(t8);
| /* str.Key_bag_n */
0x00453784 addiu a1, a1, -0x2d3c | a1 += -0x2d3c;
0x00453788 jalr t9 | t9 ();
0x0045378c lw gp, 0x20(sp) | gp = *(var_20h);
0x00453790 b 0x45346c | goto label_6;
| }
| label_15:
0x00453794 move s1, zero | s1 = 0;
0x00453798 b 0x45342c | goto label_2;
| label_18:
0x0045379c andi s1, s1, 8 | s1 &= 8;
0x004537a0 lw a2, -0x7f9c(gp) | a2 = *(gp);
| if (s1 == 0) {
0x004537a4 beqz s1, 0x453680 | goto label_7;
| }
0x004537a8 addiu s1, zero, 1 | s1 = 1;
0x004537ac b 0x45342c | goto label_2;
| label_17:
0x004537b0 lw t9, -0x7d58(gp) | t9 = sym.imp.PKCS8_PRIV_KEY_INFO_free;
0x004537b4 move a0, s0 | a0 = s0;
0x004537b8 jalr t9 | t9 ();
0x004537bc move v0, s1 | v0 = s1;
0x004537c0 b 0x453430 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4537c4 */
| #include <stdint.h>
|
; (fcn) sym.dump_certs_pkeys_bags () | void dump_certs_pkeys_bags () {
0x004537c4 lui gp, 5 |
0x004537c8 addiu gp, gp, -0x7324 |
0x004537cc addu gp, gp, t9 | gp += t9;
0x004537d0 addiu sp, sp, -0x40 |
0x004537d4 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x004537d8 sw s6, 0x38(sp) | *(var_38h) = s6;
0x004537dc sw s5, 0x34(sp) | *(var_34h) = s5;
0x004537e0 sw s4, 0x30(sp) | *(var_30h) = s4;
0x004537e4 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x004537e8 sw s2, 0x28(sp) | *(var_28h) = s2;
0x004537ec sw s1, 0x24(sp) | *(var_24h) = s1;
0x004537f0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x004537f4 move s0, zero | s0 = 0;
0x004537f8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004537fc move s6, a0 | s6 = a0;
0x00453800 lw s5, 0x50(sp) | s5 = *(arg_50h);
0x00453804 move s1, a1 | s1 = a1;
0x00453808 lw s4, 0x54(sp) | s4 = *(arg_54h);
0x0045380c move s3, a2 | s3 = a2;
0x00453810 move s2, a3 | s2 = a3;
0x00453814 b 0x45384c |
| while (v0 != 0) {
0x00453818 jalr t9 | t9 ();
0x0045381c nop |
0x00453820 move a0, s6 | a0 = s6;
0x00453824 lw gp, 0x18(sp) | gp = *(var_18h);
0x00453828 move a1, v0 | a1 = v0;
0x0045382c sw s5, 0x10(sp) | *(var_10h) = s5;
0x00453830 move a2, s3 | a2 = s3;
0x00453834 lw t9, -0x7e80(gp) | t9 = sym.dump_certs_pkeys_bag;
0x00453838 move a3, s2 | a3 = s2;
0x0045383c sw s4, 0x14(sp) | *(var_14h) = s4;
0x00453840 jalr t9 | t9 ();
0x00453844 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00453848 beqz v0, 0x453878 | goto label_0;
| }
0x0045384c lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00453850 move a0, s1 | a0 = s1;
0x00453854 jalr t9 | t9 ();
0x00453858 move a1, s0 | a1 = s0;
0x0045385c lw gp, 0x18(sp) | gp = *(var_18h);
0x00453860 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00453864 move a0, s1 | a0 = s1;
0x00453868 addiu s0, s0, 1 | s0++;
0x0045386c lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00453870 bnez v0, 0x453818 |
| }
0x00453874 addiu v0, zero, 1 | v0 = 1;
| label_0:
0x00453878 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0045387c lw s6, 0x38(sp) | s6 = *(var_38h);
0x00453880 lw s5, 0x34(sp) | s5 = *(var_34h);
0x00453884 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00453888 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0045388c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00453890 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00453894 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00453898 addiu sp, sp, 0x40 |
0x0045389c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x419524 */
| #include <stdint.h>
|
; (fcn) sym.enc_main () | void enc_main () {
0x00419524 lui gp, 8 |
0x00419528 addiu gp, gp, 0x2f7c |
0x0041952c addu gp, gp, t9 | gp += t9;
0x00419530 addiu sp, sp, -0x1d8 |
0x00419534 sw ra, 0x1d4(sp) | *(var_1d4h) = ra;
0x00419538 sw fp, 0x1d0(sp) | *(var_1d0h) = fp;
0x0041953c sw s7, 0x1cc(sp) | *(var_1cch) = s7;
0x00419540 sw s6, 0x1c8(sp) | *(var_1c8h) = s6;
0x00419544 sw s5, 0x1c4(sp) | *(var_1c4h) = s5;
0x00419548 sw s4, 0x1c0(sp) | *(var_1c0h) = s4;
0x0041954c sw s3, 0x1bc(sp) | *(var_1bch) = s3;
0x00419550 sw s2, 0x1b8(sp) | *(var_1b8h) = s2;
0x00419554 sw s1, 0x1b4(sp) | *(var_1b4h) = s1;
0x00419558 sw s0, 0x1b0(sp) | *(var_1b0h) = s0;
0x0041955c move s2, a0 | s2 = a0;
0x00419560 lw t9, -0x6e5c(gp) | t9 = sym.imp.signal;
0x00419564 move s0, a1 | s0 = a1;
0x00419568 lw s7, -0x7fd4(gp) | s7 = *(gp);
0x0041956c addiu a0, zero, 0xd | a0 = 0xd;
0x00419570 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00419574 addiu a1, zero, 1 | a1 = 1;
0x00419578 sw zero, 0x144(sp) | *(var_144h) = 0;
0x0041957c sw zero, 0x140(sp) | *(var_140h) = 0;
0x00419580 jalr t9 | t9 ();
0x00419584 lw s1, (s7) | s1 = *(s7);
0x00419588 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s1 == 0) {
0x0041958c beqz s1, 0x419d44 | goto label_46;
| }
| label_6:
0x00419590 lw t9, -0x7fc4(gp) | t9 = sym.load_config;
0x00419594 move a0, s1 | a0 = s1;
0x00419598 move a1, zero | a1 = 0;
0x0041959c jalr t9 | t9 ();
0x004195a0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x004195a4 bnez v0, 0x419618 |
0x004195a8 move s0, zero | s0 = 0;
| label_2:
0x004195ac lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004195b0 lw a0, (s7) | a0 = *(s7);
0x004195b4 jalr t9 | t9 ();
0x004195b8 lw gp, 0x20(sp) | gp = *(var_20h);
| label_17:
0x004195bc addiu s5, zero, 1 | s5 = 1;
| label_5:
0x004195c0 lw t9, -0x7fbc(gp) | t9 = sym.release_engine;
0x004195c4 move a0, s0 | a0 = s0;
0x004195c8 jalr t9 | t9 ();
0x004195cc lw a0, 0x144(sp) | a0 = *(var_144h);
0x004195d0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 != 0) {
0x004195d4 beqz a0, 0x4195e4 |
0x004195d8 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x004195dc jalr t9 | t9 ();
0x004195e0 nop |
| }
0x004195e4 move v0, s5 | v0 = s5;
0x004195e8 lw ra, 0x1d4(sp) | ra = *(var_1d4h);
0x004195ec lw fp, 0x1d0(sp) | fp = *(var_1d0h);
0x004195f0 lw s7, 0x1cc(sp) | s7 = *(var_1cch);
0x004195f4 lw s6, 0x1c8(sp) | s6 = *(var_1c8h);
0x004195f8 lw s5, 0x1c4(sp) | s5 = *(var_1c4h);
0x004195fc lw s4, 0x1c0(sp) | s4 = *(var_1c0h);
0x00419600 lw s3, 0x1bc(sp) | s3 = *(var_1bch);
0x00419604 lw s2, 0x1b8(sp) | s2 = *(var_1b8h);
0x00419608 lw s1, 0x1b4(sp) | s1 = *(var_1b4h);
0x0041960c lw s0, 0x1b0(sp) | s0 = *(var_1b0h);
0x00419610 addiu sp, sp, 0x1d8 |
0x00419614 jr ra | return v1;
| }
0x00419618 lw t9, -0x7e58(gp) | t9 = sym.program_name;
0x0041961c addiu s1, sp, 0xf0 | s1 = sp + 0xf0;
0x00419620 lw a0, (s0) | a0 = *(s0);
0x00419624 addiu a2, zero, 0x28 | a2 = 0x28;
0x00419628 move a1, s1 | a1 = s1;
0x0041962c jalr t9 | t9 ();
0x00419630 move a0, s1 | a0 = s1;
0x00419634 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419638 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041963c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'base64' */
0x00419640 addiu a1, a1, -0xb30 | a1 += -0xb30;
0x00419644 jalr t9 | t9 ();
0x00419648 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041964c bnez v0, 0x41985c | goto label_47;
| }
0x00419650 lw t9, -0x7054(gp) | t9 = sym.imp.EVP_get_cipherbyname;
0x00419654 move a0, s1 | a0 = s1;
0x00419658 jalr t9 | t9 ();
0x0041965c addiu v1, zero, 1 | v1 = 1;
0x00419660 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419664 sw v1, 0x16c(sp) | *(var_16ch) = v1;
0x00419668 sw v0, 0x154(sp) | *(var_154h) = v0;
| label_3:
0x0041966c addiu s5, s2, -1 | s5 = s2 + -1;
0x00419670 addiu s2, s0, 4 | s2 = s0 + 4;
0x00419674 sw zero, 0x190(sp) | *(var_190h) = 0;
0x00419678 sw zero, 0x148(sp) | *(var_148h) = 0;
| if (s5 <= 0) {
0x0041967c blez s5, 0x41a8c4 | goto label_48;
| }
0x00419680 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x00419684 move s1, zero | s1 = 0;
0x00419688 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x0041968c addiu fp, zero, 1 | fp = 1;
0x00419690 sw s1, 0x15c(sp) | *(var_15ch) = s1;
| /* esilref: '-in' */
0x00419694 addiu s4, s4, -0x326c | s4 += -0x326c;
0x00419698 move s1, s5 | s1 = s5;
0x0041969c lw s3, -0x7fd8(gp) | s3 = *(gp);
0x004196a0 move s5, s2 | s5 = s2;
0x004196a4 sw zero, 0x14c(sp) | *(var_14ch) = 0;
0x004196a8 sw zero, 0x150(sp) | *(var_150h) = 0;
| /* str._out */
0x004196ac addiu s6, s6, -0x3268 | s6 += -0x3268;
0x004196b0 sw zero, 0x178(sp) | *(var_178h) = 0;
0x004196b4 move s2, zero | s2 = 0;
0x004196b8 sw zero, 0x18c(sp) | *(var_18ch) = 0;
0x004196bc sw zero, 0x174(sp) | *(var_174h) = 0;
0x004196c0 sw zero, 0x170(sp) | *(var_170h) = 0;
0x004196c4 sw zero, 0x160(sp) | *(var_160h) = 0;
0x004196c8 sw zero, 0x184(sp) | *(var_184h) = 0;
0x004196cc sw zero, 0x180(sp) | *(var_180h) = 0;
0x004196d0 sw zero, 0x17c(sp) | *(var_17ch) = 0;
0x004196d4 sw zero, 0x158(sp) | *(var_158h) = 0;
0x004196d8 sw zero, 0x164(sp) | *(var_164h) = 0;
0x004196dc sw zero, 0x188(sp) | *(var_188h) = 0;
0x004196e0 sw zero, 0x168(sp) | *(var_168h) = 0;
0x004196e4 b 0x419720 |
| while (v0 != 0) {
0x004196e8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x004196ec move a0, s0 | a0 = s0;
0x004196f0 move a1, s4 | a1 = s4;
0x004196f4 jalr t9 | t9 ();
0x004196f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x004196fc bnez v0, 0x41987c | goto label_49;
| }
0x00419700 addiu s1, s1, -1 | s1 += -1;
0x00419704 lw t8, -0x7fd8(gp) | t8 = *(gp);
| if (s1 == 0) {
0x00419708 beqz s1, 0x41a148 | goto label_50;
| }
0x0041970c lw s2, 4(s5) | s2 = *((s5 + 1));
0x00419710 addiu s5, s5, 4 | s5 += 4;
| label_4:
0x00419714 addiu s1, s1, -1 | s1 += -1;
0x00419718 addiu s5, s5, 4 | s5 += 4;
| if (s1 <= 0) {
0x0041971c blez s1, 0x41974c | goto label_51;
| }
| label_0:
0x00419720 lw s0, (s5) | s0 = *(s5);
| /* esilref: '-e' */
0x00419724 addiu a1, s3, -0xca0 | a1 = s3 + -0xca0;
0x00419728 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x0041972c move a0, s0 | a0 = s0;
0x00419730 jalr t9 | t9 ();
0x00419734 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419738 bnez v0, 0x4196e8 |
| }
0x0041973c addiu s1, s1, -1 | s1 += -1;
0x00419740 addiu fp, zero, 1 | fp = 1;
0x00419744 addiu s5, s5, 4 | s5 += 4;
| if (s1 > 0) {
0x00419748 bgtz s1, 0x419720 | goto label_0;
| }
| label_51:
0x0041974c lw s1, 0x15c(sp) | s1 = *(var_15ch);
0x00419750 sw s2, 0x150(sp) | *(var_150h) = s2;
| label_24:
0x00419754 lw t9, -0x7fb4(gp) | t9 = sym.setup_engine;
0x00419758 move a2, zero | a2 = 0;
0x0041975c lw a1, 0x148(sp) | a1 = *(var_148h);
0x00419760 lw s3, -0x7fd4(gp) | s3 = *(gp);
0x00419764 lw a0, (s7) | a0 = *(s7);
0x00419768 jalr t9 | t9 ();
0x0041976c lw t8, 0x154(sp) | t8 = *(var_154h);
0x00419770 move s0, v0 | s0 = v0;
0x00419774 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 != 0) {
0x00419778 beqz t8, 0x4197c0 |
0x0041977c lw t9, -0x79fc(gp) | t9 = sym.imp.EVP_CIPHER_flags;
0x00419780 move a0, t8 | a0 = t8;
0x00419784 jalr t9 | t9 ();
0x00419788 lui t8, 0x20 | t8 = 0x200000;
0x0041978c and v0, v0, t8 | v0 &= t8;
0x00419790 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00419794 bnez v0, 0x41a18c | goto label_52;
| }
0x00419798 lw t9, -0x79fc(gp) | t9 = sym.imp.EVP_CIPHER_flags;
0x0041979c lw a0, 0x154(sp) | a0 = *(var_154h);
0x004197a0 jalr t9 | t9 ();
0x004197a4 lui t8, 0xf | t8 = 0xf0007;
0x004197a8 addiu t8, t8, 7 |
0x004197ac lui v1, 1 | v1 = 0x10000;
0x004197b0 and v0, v0, t8 | v0 &= t8;
0x004197b4 addiu v1, v1, 1 | v1++;
0x004197b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x004197bc beq v0, v1, 0x41a214 | goto label_53;
| }
| }
0x004197c0 lw v1, 0x160(sp) | v1 = *(var_160h);
0x004197c4 lw t9, -0x7974(gp) | t9 = sym.imp.EVP_get_digestbyname;
| if (v1 == 0) {
0x004197c8 beqz v1, 0x41a174 | goto label_54;
| }
0x004197cc move a0, v1 | a0 = v1;
0x004197d0 jalr t9 | t9 ();
0x004197d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004197d8 sw v0, 0x15c(sp) | *(var_15ch) = v0;
| if (v0 == 0) {
0x004197dc beqz v0, 0x41a128 | goto label_55;
| }
| label_12:
0x004197e0 addiu v1, zero, 0x2000 | v1 = 0x2000;
| if (s1 == 0) {
0x004197e4 beqz s1, 0x41a6d4 | goto label_56;
| }
0x004197e8 lbu t8, (s1) | t8 = *(s1);
0x004197ec move v0, zero | v0 = 0;
| if (t8 == 0) {
0x004197f0 beqz t8, 0x419aa4 | goto label_57;
| }
0x004197f4 addiu a2, zero, 0x6b | a2 = 0x6b;
0x004197f8 b 0x419810 |
| while (v1 != 0) {
0x004197fc addiu v0, a0, -0x30 | v0 = a0 + -0x30;
0x00419800 addiu s1, s1, 1 | s1++;
| label_1:
0x00419804 lbu t8, (s1) | t8 = *(s1);
| if (t8 == 0) {
0x00419808 beqz t8, 0x419aa4 | goto label_57;
| }
0x0041980c nop |
0x00419810 sll a0, v0, 1 | a0 = v0 << 1;
0x00419814 addiu v1, t8, -0x30 | v1 = t8 + -0x30;
0x00419818 sll a1, v0, 3 | a1 = v0 << 3;
0x0041981c addu a0, a0, a1 | a0 += a1;
0x00419820 sltiu v1, v1, 0xa | v1 = (v1 < 0xa) ? 1 : 0;
0x00419824 addu a0, t8, a0 | a0 = t8 + a0;
0x00419828 bnez v1, 0x4197fc |
| }
0x0041982c addiu s1, s1, 1 | s1++;
| if (t8 != a2) {
0x00419830 bne t8, a2, 0x419804 | goto label_1;
| }
0x00419834 addiu s1, s1, -1 | s1 += -1;
0x00419838 lbu t8, 1(s1) | t8 = *((s1 + 1));
0x0041983c lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (t8 != 0) {
0x00419840 beqz t8, 0x419a9c |
0x00419844 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419848 lw a0, (s7) | a0 = *(s7);
| /* str.invalid_bufsize_specified._n */
0x0041984c addiu a1, a1, -0x888 | a1 += -0x888;
0x00419850 jalr t9 | t9 ();
0x00419854 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419858 b 0x4195ac | goto label_2;
| label_47:
0x0041985c lw t9, -0x7054(gp) | t9 = sym.imp.EVP_get_cipherbyname;
0x00419860 move a0, s1 | a0 = s1;
0x00419864 jalr t9 | t9 ();
0x00419868 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041986c sw v0, 0x154(sp) | *(var_154h) = v0;
| if (v0 == 0) {
0x00419870 beqz v0, 0x419db4 | goto label_58;
| }
| label_9:
0x00419874 sw zero, 0x16c(sp) | *(var_16ch) = 0;
0x00419878 b 0x41966c | goto label_3;
| label_49:
0x0041987c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x00419880 move a0, s0 | a0 = s0;
0x00419884 move a1, s6 | a1 = s6;
0x00419888 jalr t9 | t9 ();
0x0041988c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419890 bnez v0, 0x4198b0 |
0x00419894 addiu s1, s1, -1 | s1 += -1;
0x00419898 lw v1, -0x7fd8(gp) | v1 = *(gp);
| if (s1 == 0) {
0x0041989c beqz s1, 0x419df4 | goto label_59;
| }
0x004198a0 lw t8, 4(s5) | t8 = *((s5 + 1));
0x004198a4 addiu s5, s5, 4 | s5 += 4;
0x004198a8 sw t8, 0x14c(sp) | *(var_14ch) = t8;
0x004198ac b 0x419714 | goto label_4;
| }
0x004198b0 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x004198b4 move a0, s0 | a0 = s0;
0x004198b8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._pass */
0x004198bc addiu a1, v0, -0xc9c | a1 = v0 + -0xc9c;
0x004198c0 jalr t9 | t9 ();
0x004198c4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x004198c8 bnez v0, 0x4198e8 |
0x004198cc addiu s1, s1, -1 | s1 += -1;
0x004198d0 lw v1, -0x7fd8(gp) | v1 = *(gp);
| if (s1 == 0) {
0x004198d4 beqz s1, 0x419df4 | goto label_59;
| }
0x004198d8 lw t8, 4(s5) | t8 = *((s5 + 1));
0x004198dc addiu s5, s5, 4 | s5 += 4;
0x004198e0 sw t8, 0x158(sp) | *(var_158h) = t8;
0x004198e4 b 0x419714 | goto label_4;
| }
0x004198e8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004198ec move a0, s0 | a0 = s0;
0x004198f0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._engine */
0x004198f4 addiu a1, a1, -0x3470 | a1 += -0x3470;
0x004198f8 jalr t9 | t9 ();
0x004198fc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419900 bnez v0, 0x419920 |
0x00419904 addiu s1, s1, -1 | s1 += -1;
0x00419908 lw v1, -0x7fd8(gp) | v1 = *(gp);
| if (s1 == 0) {
0x0041990c beqz s1, 0x419df4 | goto label_59;
| }
0x00419910 lw t8, 4(s5) | t8 = *((s5 + 1));
0x00419914 addiu s5, s5, 4 | s5 += 4;
0x00419918 sw t8, 0x148(sp) | *(var_148h) = t8;
0x0041991c b 0x419714 | goto label_4;
| }
0x00419920 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x00419924 move a0, s0 | a0 = s0;
0x00419928 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x0041992c sw v1, 0x150(sp) | *(var_150h) = v1;
| /* esilref: '-d' */
0x00419930 addiu a1, v1, -0x19d8 | a1 = v1 + -0x19d8;
0x00419934 jalr t9 | t9 ();
0x00419938 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041993c beqz v0, 0x419a94 |
0x00419940 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419944 move a0, s0 | a0 = s0;
0x00419948 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-p' */
0x0041994c addiu a1, a1, -0xc94 | a1 += -0xc94;
0x00419950 jalr t9 | t9 ();
0x00419954 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419958 beqz v0, 0x419d38 | goto label_60;
| }
0x0041995c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419960 move a0, s0 | a0 = s0;
0x00419964 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-v' */
0x00419968 addiu a1, a1, -0xc90 | a1 += -0xc90;
0x0041996c jalr t9 | t9 ();
0x00419970 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419974 beqz v0, 0x419da8 | goto label_61;
| }
0x00419978 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x0041997c move a0, s0 | a0 = s0;
0x00419980 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x00419984 sw t8, 0x198(sp) | *(var_198h) = t8;
| /* str._nopad */
0x00419988 addiu a1, t8, -0xc8c | a1 = t8 + -0xc8c;
0x0041998c jalr t9 | t9 ();
0x00419990 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419994 beqz v0, 0x41a208 | goto label_62;
| }
0x00419998 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041999c move a0, s0 | a0 = s0;
0x004199a0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._salt */
0x004199a4 addiu a1, a1, -0xc84 | a1 += -0xc84;
0x004199a8 jalr t9 | t9 ();
0x004199ac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x004199b0 beqz v0, 0x41a6cc | goto label_63;
| }
0x004199b4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004199b8 move a0, s0 | a0 = s0;
0x004199bc lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._nosalt */
0x004199c0 addiu a1, a1, -0xc7c | a1 += -0xc7c;
0x004199c4 jalr t9 | t9 ();
0x004199c8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x004199cc beqz v0, 0x41a9e0 | goto label_64;
| }
0x004199d0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004199d4 move a0, s0 | a0 = s0;
0x004199d8 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._debug */
0x004199dc addiu a1, a1, -0xc74 | a1 += -0xc74;
0x004199e0 jalr t9 | t9 ();
0x004199e4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x004199e8 beqz v0, 0x41aa4c | goto label_65;
| }
0x004199ec lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004199f0 move a0, s0 | a0 = s0;
0x004199f4 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-P' */
0x004199f8 addiu a1, a1, -0xc6c | a1 += -0xc6c;
0x004199fc jalr t9 | t9 ();
0x00419a00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419a04 beqz v0, 0x41ace0 | goto label_66;
| }
0x00419a08 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419a0c move a0, s0 | a0 = s0;
0x00419a10 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-A' */
0x00419a14 addiu a1, a1, -0xc68 | a1 += -0xc68;
0x00419a18 jalr t9 | t9 ();
0x00419a1c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419a20 beqz v0, 0x41acd4 | goto label_67;
| }
0x00419a24 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419a28 move a0, s0 | a0 = s0;
0x00419a2c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-a' */
0x00419a30 addiu a1, a1, -0xc64 | a1 += -0xc64;
0x00419a34 jalr t9 | t9 ();
0x00419a38 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419a3c beqz v0, 0x41acc8 | goto label_68;
| }
0x00419a40 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419a44 move a0, s0 | a0 = s0;
0x00419a48 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._base64 */
0x00419a4c addiu a1, a1, -0xc60 | a1 += -0xc60;
0x00419a50 jalr t9 | t9 ();
0x00419a54 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419a58 beqz v0, 0x41acec | goto label_69;
| }
0x00419a5c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419a60 move a0, s0 | a0 = s0;
0x00419a64 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._bufsize */
0x00419a68 addiu a1, a1, -0xc58 | a1 += -0xc58;
0x00419a6c jalr t9 | t9 ();
0x00419a70 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00419a74 bnez v0, 0x41ad58 | goto label_70;
| }
0x00419a78 addiu s1, s1, -1 | s1 += -1;
0x00419a7c lw v1, -0x7fd8(gp) | v1 = *(gp);
| if (s1 == 0) {
0x00419a80 beqz s1, 0x41ad50 | goto label_71;
| }
0x00419a84 lw t8, 4(s5) | t8 = *((s5 + 1));
0x00419a88 addiu s5, s5, 4 | s5 += 4;
0x00419a8c sw t8, 0x15c(sp) | *(var_15ch) = t8;
0x00419a90 b 0x419714 | goto label_4;
| }
0x00419a94 move fp, zero | fp = 0;
0x00419a98 b 0x419714 | goto label_4;
| }
0x00419a9c sll v0, v0, 0xa | v0 <<= 0xa;
0x00419aa0 addiu s1, s1, 1 | s1++;
| label_57:
0x00419aa4 lw t8, 0x16c(sp) | t8 = *(var_16ch);
0x00419aa8 sltiu t8, v0, 0x50 | t8 = (v0 < 0x50) ? 1 : 0;
| if (t8 != 0) {
0x00419aac bnez t8, 0x419d94 | goto label_72;
| }
| label_7:
0x00419ab0 lui s4, 0x2aaa | s4 = 0x2aaa0000;
0x00419ab4 lui a0, 0x5555 | a0 = 0x55550000;
0x00419ab8 ori s4, s4, 0xaaab | s4 |= 0xaaab;
0x00419abc addiu t8, v0, 2 | t8 = v0 + 2;
0x00419ac0 mult v0, s4 | __asm ("mult v0, s4");
0x00419ac4 addiu a0, a0, 0x5556 | a0 += 0x5556;
0x00419ac8 sra v1, t8, 0x1f | v1 = t8 >> 0x1f;
0x00419acc sw v0, 0x160(sp) | *(var_160h) = v0;
0x00419ad0 mfhi s4 | __asm ("mfhi s4");
0x00419ad4 mult t8, a0 | __asm ("mult t8, a0");
0x00419ad8 sra s4, s4, 3 | s4 >>= 3;
0x00419adc sra a0, v0, 0x1f | a0 = v0 >> 0x1f;
0x00419ae0 subu s4, s4, a0 | __asm ("subu s4, s4, a0");
0x00419ae4 mfhi t8 | __asm ("mfhi t8");
0x00419ae8 subu t8, t8, v1 | __asm ("subu t8, t8, v1");
0x00419aec sll t8, t8, 1 | t8 <<= 1;
0x00419af0 addu s4, s4, t8 | s4 += t8;
0x00419af4 addiu s4, s4, 0x29 | s4 += 0x29;
0x00419af8 sll s4, s4, 1 | s4 <<= 1;
| label_8:
0x00419afc lw t8, 0x168(sp) | t8 = *(var_168h);
0x00419b00 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (t8 != 0) {
0x00419b04 bnez t8, 0x41a1ec | goto label_73;
| }
| label_14:
0x00419b08 lw s3, -0x7fd8(gp) | s3 = *(gp);
0x00419b0c addiu a0, zero, 0x200 | a0 = 0x200;
0x00419b10 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x00419b14 addiu a2, zero, 0x185 | a2 = 0x185;
| /* str.enc.c */
0x00419b18 addiu a1, s3, -0x85c | a1 = s3 + -0x85c;
0x00419b1c jalr t9 | t9 ();
| /* str.enc.c */
0x00419b20 addiu a1, s3, -0x85c | a1 = s3 + -0x85c;
0x00419b24 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419b28 move a0, s4 | a0 = s4;
0x00419b2c addiu a2, zero, 0x186 | a2 = 0x186;
0x00419b30 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x00419b34 sw v0, 0x148(sp) | *(var_148h) = v0;
0x00419b38 jalr t9 | t9 ();
0x00419b3c lw gp, 0x20(sp) | gp = *(var_20h);
0x00419b40 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00419b44 beqz v0, 0x41a6e0 | goto label_74;
| }
0x00419b48 lw t8, 0x148(sp) | t8 = *(var_148h);
0x00419b4c lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
| if (t8 == 0) {
0x00419b50 beqz t8, 0x41a1a8 | goto label_75;
| }
0x00419b54 jalr t9 | t9 ();
0x00419b58 nop |
0x00419b5c lw gp, 0x20(sp) | gp = *(var_20h);
0x00419b60 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00419b64 move a0, v0 | a0 = v0;
0x00419b68 jalr t9 | t9 ();
0x00419b6c lw gp, 0x20(sp) | gp = *(var_20h);
0x00419b70 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x00419b74 move s4, v0 | s4 = v0;
0x00419b78 jalr t9 | t9 ();
0x00419b7c lw gp, 0x20(sp) | gp = *(var_20h);
0x00419b80 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00419b84 move a0, v0 | a0 = v0;
0x00419b88 jalr t9 | t9 ();
0x00419b8c lw gp, 0x20(sp) | gp = *(var_20h);
0x00419b90 move s6, v0 | s6 = v0;
| if (s4 == 0) {
0x00419b94 beqz s4, 0x41a230 | goto label_76;
| }
0x00419b98 lw t8, 0x174(sp) | t8 = *(var_174h);
| if (v0 == 0) {
0x00419b9c beqz v0, 0x41a230 | goto label_76;
| }
0x00419ba0 lw t9, -0x7198(gp) | t9 = sym.imp.BIO_set_callback;
| if (t8 != 0) {
0x00419ba4 bnez t8, 0x41a0d8 | goto label_77;
| }
| label_11:
0x00419ba8 lw v1, 0x150(sp) | v1 = *(var_150h);
0x00419bac lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (v1 == 0) {
0x00419bb0 beqz v1, 0x41a094 | goto label_78;
| }
0x00419bb4 move a3, v1 | a3 = v1;
0x00419bb8 move a0, s4 | a0 = s4;
0x00419bbc addiu a1, zero, 0x6c | a1 = 0x6c;
0x00419bc0 addiu a2, zero, 3 | a2 = 3;
0x00419bc4 jalr t9 | t9 ();
0x00419bc8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x00419bcc blez v0, 0x41a9ac | goto label_79;
| }
| label_10:
0x00419bd0 lw t8, 0x164(sp) | t8 = *(var_164h);
0x00419bd4 lw v1, 0x158(sp) | v1 = *(var_158h);
| if (t8 == 0) {
0x00419bd8 beqz t8, 0x41a76c | goto label_80;
| }
| label_20:
0x00419bdc lw t8, 0x14c(sp) | t8 = *(var_14ch);
| label_21:
0x00419be0 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (t8 == 0) {
0x00419be4 beqz t8, 0x41a72c | goto label_81;
| }
0x00419be8 move a3, t8 | a3 = t8;
0x00419bec move a0, s6 | a0 = s6;
0x00419bf0 addiu a1, zero, 0x6c | a1 = 0x6c;
0x00419bf4 addiu a2, zero, 5 | a2 = 5;
0x00419bf8 jalr t9 | t9 ();
0x00419bfc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x00419c00 blez v0, 0x41a9a0 | goto label_82;
| }
| label_19:
0x00419c04 lw v1, 0x16c(sp) | v1 = *(var_16ch);
0x00419c08 move s5, s6 | s5 = s6;
| if (v1 != 0) {
0x00419c0c bnez v1, 0x41a668 | goto label_83;
| }
0x00419c10 move s2, zero | s2 = 0;
0x00419c14 sw s4, 0x14c(sp) | *(var_14ch) = s4;
| label_16:
0x00419c18 lw t8, 0x154(sp) | t8 = *(var_154h);
0x00419c1c lw v1, 0x164(sp) | v1 = *(var_164h);
| if (t8 == 0) {
0x00419c20 beqz t8, 0x41a8ac | goto label_84;
| }
0x00419c24 lw t8, 0x178(sp) | t8 = *(var_178h);
| if (v1 == 0) {
0x00419c28 beqz v1, 0x41acf8 | goto label_85;
| }
| if (t8 != 0) {
0x00419c2c bnez t8, 0x41a254 | goto label_86;
| }
0x00419c30 nop |
0x00419c34 lw v1, 0x184(sp) | v1 = *(var_184h);
| if (fp == 0) {
0x00419c38 beqz fp, 0x41a85c | goto label_87;
| }
0x00419c3c lw t9, -0x7e34(gp) | t9 = sym.set_hex;
| if (v1 == 0) {
0x00419c40 beqz v1, 0x41aa94 | goto label_88;
| }
0x00419c44 addiu s1, sp, 0x130 | s1 = sp + 0x130;
0x00419c48 move a0, v1 | a0 = v1;
0x00419c4c addiu a2, zero, 8 | a2 = 8;
0x00419c50 move a1, s1 | a1 = s1;
0x00419c54 jalr t9 | t9 ();
0x00419c58 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419c5c beqz v0, 0x41aa28 | goto label_89;
| }
| label_29:
0x00419c60 lw v1, 0x170(sp) | v1 = *(var_170h);
0x00419c64 addiu t8, zero, 2 | t8 = 2;
0x00419c68 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v1 == t8) {
0x00419c6c beq v1, t8, 0x41a258 | goto label_32;
| }
0x00419c70 move a0, s5 | a0 = s5;
0x00419c74 lw t9, -0x74c8(gp) | t9 = sym.imp.BIO_write;
0x00419c78 addiu a2, zero, 8 | a2 = 8;
| /* str.Salted__ */
0x00419c7c addiu a1, a1, -0x6b0 | a1 += -0x6b0;
0x00419c80 jalr t9 | t9 ();
0x00419c84 addiu t8, zero, 8 | t8 = 8;
0x00419c88 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == t8) {
0x00419c8c beq v0, t8, 0x41ac74 | goto label_90;
| }
| label_36:
0x00419c90 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419c94 move s1, zero | s1 = 0;
0x00419c98 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419c9c addiu s5, zero, 1 | s5 = 1;
0x00419ca0 lw a0, (s7) | a0 = *(s7);
| /* str.error_writing_output_file_n */
0x00419ca4 addiu a1, a1, -0x7dc | a1 += -0x7dc;
0x00419ca8 jalr t9 | t9 ();
0x00419cac lw gp, 0x20(sp) | gp = *(var_20h);
| label_15:
0x00419cb0 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00419cb4 lw a0, (s7) | a0 = *(s7);
0x00419cb8 jalr t9 | t9 ();
0x00419cbc lw gp, 0x20(sp) | gp = *(var_20h);
| label_18:
0x00419cc0 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x00419cc4 lw a0, 0x148(sp) | a0 = *(var_148h);
0x00419cc8 jalr t9 | t9 ();
0x00419ccc lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 != 0) {
0x00419cd0 beqz s3, 0x419ce4 |
| label_13:
0x00419cd4 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x00419cd8 move a0, s3 | a0 = s3;
0x00419cdc jalr t9 | t9 ();
0x00419ce0 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00419ce4 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
| if (s4 != 0) {
0x00419ce8 beqz s4, 0x419cf8 |
0x00419cec move a0, s4 | a0 = s4;
0x00419cf0 jalr t9 | t9 ();
0x00419cf4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00419cf8 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
| if (s6 != 0) {
0x00419cfc beqz s6, 0x419d0c |
0x00419d00 move a0, s6 | a0 = s6;
0x00419d04 jalr t9 | t9 ();
0x00419d08 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00419d0c lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
| if (s1 != 0) {
0x00419d10 beqz s1, 0x419d20 |
0x00419d14 move a0, s1 | a0 = s1;
0x00419d18 jalr t9 | t9 ();
0x00419d1c lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00419d20 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
| if (s2 == 0) {
0x00419d24 beqz s2, 0x4195c0 | goto label_5;
| }
0x00419d28 move a0, s2 | a0 = s2;
0x00419d2c jalr t9 | t9 ();
0x00419d30 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419d34 b 0x4195c0 | goto label_5;
| label_60:
0x00419d38 addiu t8, zero, 1 | t8 = 1;
0x00419d3c sw t8, 0x170(sp) | *(var_170h) = t8;
0x00419d40 b 0x419714 | goto label_4;
| label_46:
0x00419d44 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x00419d48 jalr t9 | t9 ();
0x00419d4c nop |
0x00419d50 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419d54 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00419d58 move a0, v0 | a0 = v0;
0x00419d5c jalr t9 | t9 ();
0x00419d60 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419d64 sw v0, (s7) | *(s7) = v0;
| if (v0 == 0) {
0x00419d68 beqz v0, 0x419590 | goto label_6;
| }
0x00419d6c lw t8, -0x6c70(gp) | t8 = *((gp - 6940));
0x00419d70 move a0, v0 | a0 = v0;
0x00419d74 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00419d78 addiu a1, zero, 0x6a | a1 = 0x6a;
0x00419d7c lw a3, (t8) | a3 = *(t8);
0x00419d80 addiu a2, zero, 0x10 | a2 = 0x10;
0x00419d84 jalr t9 | t9 ();
0x00419d88 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419d8c lw s1, (s7) | s1 = *(s7);
0x00419d90 b 0x419590 | goto label_6;
| label_72:
0x00419d94 addiu v1, zero, 0x50 | v1 = 0x50;
| if (t8 == 0) {
0x00419d98 beqz t8, 0x419ab0 | goto label_7;
| }
0x00419d9c addiu s4, zero, 0xc0 | s4 = 0xc0;
0x00419da0 sw v1, 0x160(sp) | *(var_160h) = v1;
0x00419da4 b 0x419afc | goto label_8;
| label_61:
0x00419da8 addiu v1, zero, 1 | v1 = 1;
0x00419dac sw v1, 0x168(sp) | *(var_168h) = v1;
0x00419db0 b 0x419714 | goto label_4;
| label_58:
0x00419db4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419db8 move a0, s1 | a0 = s1;
0x00419dbc lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'enc' */
0x00419dc0 addiu a1, a1, -0x370c | a1 += -0x370c;
0x00419dc4 jalr t9 | t9 ();
0x00419dc8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00419dcc beqz v0, 0x419874 | goto label_9;
| }
0x00419dd0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419dd4 move a2, s1 | a2 = s1;
0x00419dd8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419ddc lw a0, (s7) | a0 = *(s7);
0x00419de0 lw s3, -0x7fd8(gp) | s3 = *(gp);
| /* str._s_is_an_unknown_cipher_n */
0x00419de4 addiu a1, a1, -0xcbc | a1 += -0xcbc;
0x00419de8 jalr t9 | t9 ();
0x00419dec lw gp, 0x20(sp) | gp = *(var_20h);
0x00419df0 lw v1, -0x7fd8(gp) | v1 = *(gp);
| label_59:
0x00419df4 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00419df8 sw v1, 0x150(sp) | *(var_150h) = v1;
0x00419dfc lw v1, -0x7fd8(gp) | v1 = *(gp);
0x00419e00 sw t8, 0x198(sp) | *(var_198h) = t8;
0x00419e04 sw v1, 0x1a0(sp) | *(var_1a0h) = v1;
| label_41:
0x00419e08 lw t8, -0x7fd8(gp) | t8 = *(gp);
| label_42:
0x00419e0c lw v1, -0x7fd8(gp) | v1 = *(gp);
0x00419e10 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00419e14 sw t8, 0x19c(sp) | *(var_19ch) = t8;
0x00419e18 sw v1, 0x194(sp) | *(var_194h) = v1;
| do {
| label_43:
0x00419e1c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419e20 move s0, zero | s0 = 0;
0x00419e24 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419e28 lw a0, (s7) | a0 = *(s7);
| /* str.options_are_n */
0x00419e2c addiu a1, a1, -0x1928 | a1 += -0x1928;
0x00419e30 sw a3, 0x1a8(sp) | *(var_1a8h) = a3;
0x00419e34 jalr t9 | t9 ();
0x00419e38 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419e3c lw a0, (s7) | a0 = *(s7);
0x00419e40 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419e44 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419e48 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_input_file_n */
0x00419e4c addiu a1, a1, -0xbf8 | a1 += -0xbf8;
| /* str._in__file_ */
0x00419e50 addiu a2, a2, -0xbe4 | a2 += -0xbe4;
0x00419e54 jalr t9 | t9 ();
0x00419e58 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419e5c lw a0, (s7) | a0 = *(s7);
0x00419e60 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419e64 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419e68 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_output_file_n */
0x00419e6c addiu a1, a1, -0xbd8 | a1 += -0xbd8;
| /* str._out__file_ */
0x00419e70 addiu a2, a2, -0xbc4 | a2 += -0xbc4;
0x00419e74 jalr t9 | t9 ();
0x00419e78 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419e7c lw a0, (s7) | a0 = *(s7);
0x00419e80 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419e84 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419e88 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_pass_phrase_source_n */
0x00419e8c addiu a1, a1, -0xbb8 | a1 += -0xbb8;
| /* str._pass__arg_ */
0x00419e90 addiu a2, a2, -0xb9c | a2 += -0xb9c;
0x00419e94 jalr t9 | t9 ();
| /* esilref: '-e' */
0x00419e98 addiu a2, s3, -0xca0 | a2 = s3 + -0xca0;
0x00419e9c lw gp, 0x20(sp) | gp = *(var_20h);
0x00419ea0 lw a0, (s7) | a0 = *(s7);
0x00419ea4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419ea8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_encrypt_n */
0x00419eac addiu a1, a1, -0xb90 | a1 += -0xb90;
0x00419eb0 jalr t9 | t9 ();
0x00419eb4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419eb8 lw v1, 0x150(sp) | v1 = *(var_150h);
0x00419ebc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419ec0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419ec4 addiu a2, v1, -0x19d8 | a2 = v1 + -0x19d8;
0x00419ec8 lw a0, (s7) | a0 = *(s7);
| /* str.__14s_decrypt_n */
0x00419ecc addiu a1, a1, -0xb80 | a1 += -0xb80;
0x00419ed0 jalr t9 | t9 ();
0x00419ed4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419ed8 lw a0, (s7) | a0 = *(s7);
0x00419edc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419ee0 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419ee4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_base64_encode_decode__depending_on_encryption_flag_n */
0x00419ee8 addiu a1, a1, -0xb70 | a1 += -0xb70;
| /* str._a__base64 */
0x00419eec addiu a2, a2, -0xb34 | a2 += -0xb34;
0x00419ef0 jalr t9 | t9 ();
0x00419ef4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419ef8 lw t8, 0x1a0(sp) | t8 = *(var_1a0h);
0x00419efc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419f00 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419f04 addiu a2, t8, -0xc4c | a2 = t8 + -0xc4c;
0x00419f08 lw a0, (s7) | a0 = *(s7);
| /* str.__14s_passphrase_is_the_next_argument_n */
0x00419f0c addiu a1, a1, -0xb28 | a1 += -0xb28;
0x00419f10 jalr t9 | t9 ();
0x00419f14 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419f18 lw v1, 0x19c(sp) | v1 = *(var_19ch);
0x00419f1c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419f20 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419f24 addiu a2, v1, -0xc48 | a2 = v1 + -0xc48;
0x00419f28 lw a0, (s7) | a0 = *(s7);
| /* str.__14s_passphrase_is_the_first_line_of_the_file_argument_n */
0x00419f2c addiu a1, a1, -0xb00 | a1 += -0xb00;
0x00419f30 jalr t9 | t9 ();
0x00419f34 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419f38 lw a3, 0x1a8(sp) | a3 = *(var_1a8h);
0x00419f3c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419f40 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419f44 addiu a2, a3, -0xbfc | a2 = a3 + -0xbfc;
0x00419f48 lw a0, (s7) | a0 = *(s7);
| /* str.__14s_the_next_argument_is_the_md_to_use_to_create_a_key_n */
0x00419f4c addiu a1, a1, -0xac4 | a1 += -0xac4;
0x00419f50 jalr t9 | t9 ();
0x00419f54 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419f58 lw a0, (s7) | a0 = *(s7);
0x00419f5c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419f60 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419f64 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s___from_a_passphrase.__One_of_md2__md5__sha_or_sha1_n */
0x00419f68 addiu a1, a1, -0xa88 | a1 += -0xa88;
0x00419f6c addiu a2, a2, 0x3b3c | a2 += 0x3b3c;
0x00419f70 jalr t9 | t9 ();
0x00419f74 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419f78 lw t8, 0x194(sp) | t8 = *(var_194h);
0x00419f7c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419f80 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419f84 addiu a2, t8, -0xc04 | a2 = t8 + -0xc04;
0x00419f88 lw a0, (s7) | a0 = *(s7);
| /* str.__14s_salt_in_hex_is_the_next_argument_n */
0x00419f8c addiu a1, a1, -0xa4c | a1 += -0xa4c;
0x00419f90 jalr t9 | t9 ();
0x00419f94 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419f98 lw a0, (s7) | a0 = *(s7);
0x00419f9c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419fa0 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419fa4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_key_iv_in_hex_is_the_next_argument_n */
0x00419fa8 addiu a1, a1, -0xa24 | a1 += -0xa24;
| /* str._K__iv */
0x00419fac addiu a2, a2, -0x9f8 | a2 += -0x9f8;
0x00419fb0 jalr t9 | t9 ();
0x00419fb4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419fb8 lw a0, (s7) | a0 = *(s7);
0x00419fbc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419fc0 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419fc4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_print_the_iv_key__then_exit_if__P__n */
0x00419fc8 addiu a1, a1, -0x9f0 | a1 += -0x9f0;
| /* str.__pP_ */
0x00419fcc addiu a2, a2, -0x9c4 | a2 += -0x9c4;
0x00419fd0 jalr t9 | t9 ();
0x00419fd4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419fd8 lw a0, (s7) | a0 = *(s7);
0x00419fdc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00419fe0 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00419fe4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_buffer_size_n */
0x00419fe8 addiu a1, a1, -0x9bc | a1 += -0x9bc;
| /* str._bufsize__n_ */
0x00419fec addiu a2, a2, -0x9a8 | a2 += -0x9a8;
0x00419ff0 jalr t9 | t9 ();
0x00419ff4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00419ff8 lw v1, 0x198(sp) | v1 = *(var_198h);
0x00419ffc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a000 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a004 addiu a2, v1, -0xc8c | a2 = v1 + -0xc8c;
0x0041a008 lw a0, (s7) | a0 = *(s7);
| /* str.__14s_disable_standard_block_padding_n */
0x0041a00c addiu a1, a1, -0x998 | a1 += -0x998;
0x0041a010 jalr t9 | t9 ();
0x0041a014 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a018 lw a0, (s7) | a0 = *(s7);
0x0041a01c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a020 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0041a024 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__14s_use_engine_e__possibly_a_hardware_device._n */
0x0041a028 addiu a1, a1, -0x970 | a1 += -0x970;
| /* str._engine_e */
0x0041a02c addiu a2, a2, -0x93c | a2 += -0x93c;
0x0041a030 jalr t9 | t9 ();
0x0041a034 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a038 lw a0, (s7) | a0 = *(s7);
0x0041a03c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a040 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Cipher_Types_n */
0x0041a044 addiu a1, a1, -0x930 | a1 += -0x930;
0x0041a048 jalr t9 | t9 ();
0x0041a04c addiu a0, zero, 2 | a0 = 2;
0x0041a050 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a054 addiu a2, sp, 0x128 | a2 = sp + 0x128;
0x0041a058 lw t8, (s7) | t8 = *(s7);
0x0041a05c lw a1, -0x7f70(gp) | a1 = *((gp - 8156));
0x0041a060 lw t9, -0x7ac4(gp) | t9 = sym.imp.OBJ_NAME_do_all_sorted;
0x0041a064 addiu a1, a1, -0x6d90 | a1 += -0x6d90;
0x0041a068 sw t8, 0x128(sp) | *(var_128h) = t8;
0x0041a06c sw zero, 0x12c(sp) | *(var_12ch) = 0;
0x0041a070 jalr t9 | t9 ();
0x0041a074 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a078 lw a0, (s7) | a0 = *(s7);
0x0041a07c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a080 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a084 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0041a088 jalr t9 | t9 ();
0x0041a08c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a090 b 0x4195ac | goto label_2;
| label_78:
0x0041a094 lw s2, -0x7bbc(gp) | s2 = *((gp - 7919));
| if (s1 != 0) {
0x0041a098 beqz s1, 0x41a0b8 |
0x0041a09c lw t9, -0x6c20(gp) | t9 = sym.imp.setvbuf;
0x0041a0a0 move a1, zero | a1 = 0;
0x0041a0a4 lw a0, (s2) | a0 = *(s2);
0x0041a0a8 addiu a2, zero, 2 | a2 = 2;
0x0041a0ac move a3, zero | a3 = 0;
0x0041a0b0 jalr t9 | t9 ();
0x0041a0b4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0041a0b8 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0041a0bc move a0, s4 | a0 = s4;
0x0041a0c0 lw a3, (s2) | a3 = *(s2);
0x0041a0c4 addiu a1, zero, 0x6a | a1 = 0x6a;
0x0041a0c8 move a2, zero | a2 = 0;
0x0041a0cc jalr t9 | t9 ();
0x0041a0d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a0d4 b 0x419bd0 | goto label_10;
| label_77:
0x0041a0d8 lw a1, -0x7338(gp) | a1 = *((gp - 7374));
0x0041a0dc move a0, s4 | a0 = s4;
0x0041a0e0 jalr t9 | t9 ();
0x0041a0e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a0e8 lw t9, -0x7198(gp) | t9 = sym.imp.BIO_set_callback;
0x0041a0ec lw a1, -0x7338(gp) | a1 = *((gp - 7374));
0x0041a0f0 move a0, s6 | a0 = s6;
0x0041a0f4 jalr t9 | t9 ();
0x0041a0f8 move a0, s4 | a0 = s4;
0x0041a0fc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a100 lw t9, -0x75dc(gp) | t9 = sym.imp.BIO_set_callback_arg;
0x0041a104 lw a1, (s7) | a1 = *(s7);
0x0041a108 jalr t9 | t9 ();
0x0041a10c move a0, s6 | a0 = s6;
0x0041a110 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a114 lw t9, -0x75dc(gp) | t9 = sym.imp.BIO_set_callback_arg;
0x0041a118 lw a1, (s7) | a1 = *(s7);
0x0041a11c jalr t9 | t9 ();
0x0041a120 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a124 b 0x419ba8 | goto label_11;
| label_55:
0x0041a128 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a12c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a130 lw a2, 0x160(sp) | a2 = *(var_160h);
| /* str._s_is_an_unsupported_message_digest_type_n */
0x0041a134 addiu a1, a1, -0x8b4 | a1 += -0x8b4;
0x0041a138 lw a0, (s7) | a0 = *(s7);
0x0041a13c jalr t9 | t9 ();
0x0041a140 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a144 b 0x4195ac | goto label_2;
| label_50:
0x0041a148 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x0041a14c sw t8, 0x150(sp) | *(var_150h) = t8;
0x0041a150 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x0041a154 sw v1, 0x198(sp) | *(var_198h) = v1;
0x0041a158 sw t8, 0x1a0(sp) | *(var_1a0h) = t8;
0x0041a15c lw v1, -0x7fd8(gp) | v1 = *(gp);
0x0041a160 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x0041a164 sw v1, 0x19c(sp) | *(var_19ch) = v1;
0x0041a168 sw t8, 0x194(sp) | *(var_194h) = t8;
0x0041a16c lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0041a170 b 0x419e1c |
| } while (1);
| label_54:
0x0041a174 lw t9, -0x7488(gp) | t9 = sym.imp.EVP_md5;
0x0041a178 jalr t9 | t9 ();
0x0041a17c nop |
0x0041a180 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a184 sw v0, 0x15c(sp) | *(var_15ch) = v0;
0x0041a188 b 0x4197e0 | goto label_12;
| label_52:
0x0041a18c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a190 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a194 lw a0, (s3) | a0 = *(s3);
| /* str.AEAD_ciphers_not_supported_by_the_enc_utility_n */
0x0041a198 addiu a1, a1, -0x920 | a1 += -0x920;
0x0041a19c jalr t9 | t9 ();
0x0041a1a0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a1a4 b 0x4195ac | goto label_2;
| label_75:
0x0041a1a8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a1ac move a2, s4 | a2 = s4;
0x0041a1b0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a1b4 move s1, zero | s1 = 0;
0x0041a1b8 lw a0, (s7) | a0 = *(s7);
| /* str.OPENSSL_malloc_failure__ld_n */
0x0041a1bc addiu a1, a1, -0x854 | a1 += -0x854;
0x0041a1c0 move s2, zero | s2 = 0;
0x0041a1c4 addiu s5, zero, 1 | s5 = 1;
0x0041a1c8 jalr t9 | t9 ();
0x0041a1cc move s6, zero | s6 = 0;
0x0041a1d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a1d4 move s4, zero | s4 = 0;
0x0041a1d8 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0041a1dc lw a0, (s7) | a0 = *(s7);
0x0041a1e0 jalr t9 | t9 ();
0x0041a1e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a1e8 b 0x419cd4 | goto label_13;
| label_73:
0x0041a1ec lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a1f0 lw a2, 0x160(sp) | a2 = *(var_160h);
| /* str.bufsize_d_n */
0x0041a1f4 addiu a1, a1, -0x868 | a1 += -0x868;
0x0041a1f8 lw a0, (s7) | a0 = *(s7);
0x0041a1fc jalr t9 | t9 ();
0x0041a200 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a204 b 0x419b08 | goto label_14;
| label_62:
0x0041a208 addiu t8, zero, 1 | t8 = 1;
0x0041a20c sw t8, 0x188(sp) | *(var_188h) = t8;
0x0041a210 b 0x419714 | goto label_4;
| label_53:
0x0041a214 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a218 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a21c lw a0, (s3) | a0 = *(s3);
| /* str.Ciphers_in_XTS_mode_are_not_supported_by_the_enc_utility_n */
0x0041a220 addiu a1, a1, -0x8f0 | a1 += -0x8f0;
0x0041a224 jalr t9 | t9 ();
0x0041a228 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a22c b 0x4195ac | goto label_2;
| label_76:
0x0041a230 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0041a234 lw a0, (s7) | a0 = *(s7);
| label_26:
0x0041a238 jalr t9 | t9 ();
0x0041a23c nop |
0x0041a240 lw gp, 0x20(sp) | gp = *(var_20h);
| label_22:
0x0041a244 move s1, zero | s1 = 0;
0x0041a248 move s2, zero | s2 = 0;
| do {
| label_38:
0x0041a24c addiu s5, zero, 1 | s5 = 1;
0x0041a250 b 0x419cb0 | goto label_15;
| label_86:
0x0041a254 move s1, zero | s1 = 0;
| label_32:
0x0041a258 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
| label_37:
0x0041a25c lw a0, 0x164(sp) | a0 = *(var_164h);
0x0041a260 jalr t9 | t9 ();
0x0041a264 addiu t8, zero, 1 | t8 = 1;
0x0041a268 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a26c move a2, s1 | a2 = s1;
0x0041a270 sw t8, 0x14(sp) | *(var_14h) = t8;
0x0041a274 addiu t8, sp, 0x28 | t8 = sp + 0x28;
0x0041a278 lw t9, -0x7c00(gp) | t9 = sym.imp.EVP_BytesToKey;
0x0041a27c sw t8, 0x18(sp) | *(var_18h) = t8;
0x0041a280 addiu t8, sp, 0x118 | t8 = sp + 0x118;
0x0041a284 lw a0, 0x154(sp) | a0 = *(var_154h);
0x0041a288 lw a1, 0x15c(sp) | a1 = *(var_15ch);
0x0041a28c lw a3, 0x164(sp) | a3 = *(var_164h);
0x0041a290 sw t8, 0x1c(sp) | *(var_1ch) = t8;
0x0041a294 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0041a298 jalr t9 | t9 ();
0x0041a29c lw v1, 0x164(sp) | v1 = *(var_164h);
0x0041a2a0 lw t8, 0x148(sp) | t8 = *(var_148h);
0x0041a2a4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == t8) {
0x0041a2a8 beq v1, t8, 0x41aabc | goto label_91;
| }
0x0041a2ac lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0041a2b0 move a0, v1 | a0 = v1;
0x0041a2b4 jalr t9 | t9 ();
0x0041a2b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a2bc move a1, v0 | a1 = v0;
0x0041a2c0 lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
0x0041a2c4 lw a0, 0x164(sp) | a0 = *(var_164h);
0x0041a2c8 jalr t9 | t9 ();
0x0041a2cc lw gp, 0x20(sp) | gp = *(var_20h);
| label_30:
0x0041a2d0 lw v1, 0x180(sp) | v1 = *(var_180h);
0x0041a2d4 lw v1, 0x17c(sp) | v1 = *(var_17ch);
| if (v1 != 0) {
0x0041a2d8 beqz v1, 0x41a30c |
0x0041a2dc lw t9, -0x6cc8(gp) | t9 = sym.imp.EVP_CIPHER_iv_length;
| label_39:
0x0041a2e0 lw a0, 0x154(sp) | a0 = *(var_154h);
0x0041a2e4 jalr t9 | t9 ();
0x0041a2e8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041a2ec bnez v0, 0x41a908 | goto label_92;
| }
0x0041a2f0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a2f4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a2f8 lw a0, (s7) | a0 = *(s7);
| /* str.warning:_iv_not_use_by_this_cipher_n */
0x0041a2fc addiu a1, a1, -0x790 | a1 += -0x790;
0x0041a300 jalr t9 | t9 ();
0x0041a304 lw gp, 0x20(sp) | gp = *(var_20h);
| label_25:
0x0041a308 lw v1, 0x17c(sp) | v1 = *(var_17ch);
| }
0x0041a30c lw t9, -0x776c(gp) | t9 = sym.imp.EVP_CIPHER_key_length;
| if (v1 != 0) {
0x0041a310 beqz v1, 0x41a33c |
0x0041a314 lw a0, 0x154(sp) | a0 = *(var_154h);
0x0041a318 jalr t9 | t9 ();
0x0041a31c addiu a1, sp, 0x28 | a1 = sp + 0x28;
0x0041a320 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a324 move a2, v0 | a2 = v0;
0x0041a328 lw t9, -0x7e34(gp) | t9 = sym.set_hex;
0x0041a32c lw a0, 0x17c(sp) | a0 = *(var_17ch);
0x0041a330 jalr t9 | t9 ();
0x0041a334 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041a338 beqz v0, 0x41aa04 | goto label_93;
| }
| }
0x0041a33c lw t9, -0x6f70(gp) | t9 = sym.imp.BIO_f_cipher;
0x0041a340 jalr t9 | t9 ();
0x0041a344 nop |
0x0041a348 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a34c lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0041a350 move a0, v0 | a0 = v0;
0x0041a354 jalr t9 | t9 ();
0x0041a358 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a35c move s1, v0 | s1 = v0;
0x0041a360 beqz v0, 0x41a24c |
| } while (v0 == 0);
0x0041a364 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0041a368 move a0, v0 | a0 = v0;
0x0041a36c addiu a1, zero, 0x81 | a1 = 0x81;
0x0041a370 move a2, zero | a2 = 0;
0x0041a374 addiu a3, sp, 0x140 | a3 = sp + 0x140;
0x0041a378 jalr t9 | t9 ();
0x0041a37c lw t8, 0x190(sp) | t8 = *(var_190h);
0x0041a380 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 != 0) {
0x0041a384 beqz t8, 0x41a39c |
0x0041a388 lw t9, -0x7d50(gp) | t9 = sym.imp.EVP_CIPHER_CTX_set_flags;
0x0041a38c ori a1, zero, 0x8000 | a1 = 0x8000;
0x0041a390 lw a0, 0x140(sp) | a0 = *(var_140h);
0x0041a394 jalr t9 | t9 ();
0x0041a398 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0041a39c lw t9, -0x789c(gp) | t9 = sym.imp.EVP_CipherInit_ex;
0x0041a3a0 move a2, zero | a2 = 0;
0x0041a3a4 lw a1, 0x154(sp) | a1 = *(var_154h);
0x0041a3a8 move a3, zero | a3 = 0;
0x0041a3ac lw a0, 0x140(sp) | a0 = *(var_140h);
0x0041a3b0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0041a3b4 sw fp, 0x14(sp) | *(var_14h) = fp;
0x0041a3b8 jalr t9 | t9 ();
0x0041a3bc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041a3c0 beqz v0, 0x41a948 | goto label_94;
| }
0x0041a3c4 lw v1, 0x188(sp) | v1 = *(var_188h);
0x0041a3c8 addiu t8, sp, 0x118 | t8 = sp + 0x118;
| if (v1 != 0) {
0x0041a3cc beqz v1, 0x41a3e8 |
0x0041a3d0 lw t9, -0x6f34(gp) | t9 = sym.imp.EVP_CIPHER_CTX_set_padding;
0x0041a3d4 move a1, zero | a1 = 0;
0x0041a3d8 lw a0, 0x140(sp) | a0 = *(var_140h);
0x0041a3dc jalr t9 | t9 ();
0x0041a3e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a3e4 addiu t8, sp, 0x118 | t8 = sp + 0x118;
| }
0x0041a3e8 addiu v1, sp, 0x28 | v1 = sp + 0x28;
0x0041a3ec lw t9, -0x789c(gp) | t9 = sym.imp.EVP_CipherInit_ex;
0x0041a3f0 move a1, zero | a1 = 0;
0x0041a3f4 lw a0, 0x140(sp) | a0 = *(var_140h);
0x0041a3f8 move a2, zero | a2 = 0;
0x0041a3fc sw t8, 0x150(sp) | *(var_150h) = t8;
0x0041a400 move a3, v1 | a3 = v1;
0x0041a404 sw v1, 0x158(sp) | *(var_158h) = v1;
0x0041a408 sw t8, 0x10(sp) | *(var_10h) = t8;
0x0041a40c sw fp, 0x14(sp) | *(var_14h) = fp;
0x0041a410 jalr t9 | t9 ();
0x0041a414 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041a418 beqz v0, 0x41a948 | goto label_94;
| }
0x0041a41c lw t8, 0x174(sp) | t8 = *(var_174h);
0x0041a420 lw t9, -0x7198(gp) | t9 = sym.imp.BIO_set_callback;
| if (t8 != 0) {
0x0041a424 bnez t8, 0x41abec | goto label_95;
| }
| label_34:
0x0041a428 lw v1, 0x170(sp) | v1 = *(var_170h);
0x0041a42c lw t9, -0x7c84(gp) | t9 = sym.imp.BIO_push;
| if (v1 == 0) {
0x0041a430 beqz v1, 0x41a560 | goto label_96;
| }
0x0041a434 lw t8, 0x178(sp) | t8 = *(var_178h);
0x0041a438 lw a0, -0x7fd8(gp) | a0 = *(gp);
| if (t8 == 0) {
0x0041a43c beqz t8, 0x41ac14 | goto label_97;
| }
| label_35:
0x0041a440 lw v1, 0x154(sp) | v1 = *(var_154h);
0x0041a444 lw t8, 8(v1) | t8 = *((v1 + 2));
0x0041a448 lw t9, -0x73d0(gp) | t9 = sym.imp.printf
| if (t8 <= 0) {
0x0041a44c blez t8, 0x41a4d4 | goto label_98;
| }
0x0041a450 lw a0, -0x7fd8(gp) | a0 = *(gp);
| /* str.key */
0x0041a454 addiu a0, a0, -0x700 | a0 += -0x700;
0x0041a458 jalr t9 | t9 ();
0x0041a45c lw v1, 0x154(sp) | v1 = *(var_154h);
0x0041a460 lw t8, 8(v1) | t8 = *((v1 + 2));
0x0041a464 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 <= 0) {
0x0041a468 blez t8, 0x41a4c0 | goto label_99;
| }
0x0041a46c move fp, zero | fp = 0;
0x0041a470 sw s1, 0x15c(sp) | *(var_15ch) = s1;
0x0041a474 move s1, fp | s1 = fp;
0x0041a478 sw s2, 0x164(sp) | *(var_164h) = s2;
0x0041a47c move fp, s0 | fp = s0;
0x0041a480 lw s2, 0x158(sp) | s2 = *(var_158h);
0x0041a484 lw s0, 0x154(sp) | s0 = *(var_154h);
| do {
0x0041a488 addu v0, s2, s1 | v0 = s2 + s1;
0x0041a48c addiu s1, s1, 1 | s1++;
0x0041a490 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0041a494 lw t9, -0x73d0(gp) | t9 = sym.imp.printf
0x0041a498 lbu a1, (v0) | a1 = *(v0);
| /* str._02X */
0x0041a49c addiu a0, a0, -0x708 | a0 += -0x708;
0x0041a4a0 jalr t9 | t9 ();
0x0041a4a4 lw v0, 8(s0) | v0 = *((s0 + 2));
0x0041a4a8 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x0041a4ac lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a4b0 bnez v0, 0x41a488 |
| } while (v0 != 0);
0x0041a4b4 lw s1, 0x15c(sp) | s1 = *(var_15ch);
0x0041a4b8 move s0, fp | s0 = fp;
0x0041a4bc lw s2, 0x164(sp) | s2 = *(var_164h);
| label_99:
0x0041a4c0 lw t9, -0x74fc(gp) | t9 = sym.imp.putchar;
0x0041a4c4 addiu a0, zero, 0xa | a0 = 0xa;
0x0041a4c8 jalr t9 | t9 ();
0x0041a4cc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a4d0 lw v1, 0x154(sp) | v1 = *(var_154h);
| label_98:
0x0041a4d4 lw t8, 0xc(v1) | t8 = *((v1 + 3));
0x0041a4d8 lw a0, -0x7fd8(gp) | a0 = *(gp);
| if (t8 <= 0) {
0x0041a4dc blez t8, 0x41a550 | goto label_100;
| }
0x0041a4e0 lw t9, -0x73d0(gp) | t9 = sym.imp.printf
| /* str.iv_ */
0x0041a4e4 addiu a0, a0, -0x6f8 | a0 += -0x6f8;
0x0041a4e8 jalr t9 | t9 ();
0x0041a4ec lw v1, 0x154(sp) | v1 = *(var_154h);
0x0041a4f0 lw t8, 0xc(v1) | t8 = *((v1 + 3));
0x0041a4f4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 <= 0) {
0x0041a4f8 blez t8, 0x41a540 | goto label_101;
| }
0x0041a4fc lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0041a500 move t8, zero | t8 = 0;
| /* str._02X */
0x0041a504 addiu fp, v0, -0x708 | fp = v0 + -0x708;
| do {
0x0041a508 addiu v1, sp, 0x118 | v1 = sp + 0x118;
0x0041a50c move a0, fp | a0 = fp;
0x0041a510 addu v0, v1, t8 | v0 = v1 + t8;
0x0041a514 addiu t8, t8, 1 | t8++;
0x0041a518 lw t9, -0x73d0(gp) | t9 = sym.imp.printf
0x0041a51c lbu a1, (v0) | a1 = *(v0);
0x0041a520 sw t8, 0x1a8(sp) | *(var_1a8h) = t8;
0x0041a524 jalr t9 | t9 ();
0x0041a528 lw v1, 0x154(sp) | v1 = *(var_154h);
0x0041a52c lw t8, 0x1a8(sp) | t8 = *(var_1a8h);
0x0041a530 lw v0, 0xc(v1) | v0 = *((v1 + 3));
0x0041a534 slt v0, t8, v0 | v0 = (t8 < v0) ? 1 : 0;
0x0041a538 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a53c bnez v0, 0x41a508 |
| } while (v0 != 0);
| label_101:
0x0041a540 lw t9, -0x74fc(gp) | t9 = sym.imp.putchar;
0x0041a544 addiu a0, zero, 0xa | a0 = 0xa;
0x0041a548 jalr t9 | t9 ();
0x0041a54c lw gp, 0x20(sp) | gp = *(var_20h);
| label_100:
0x0041a550 lw v1, 0x170(sp) | v1 = *(var_170h);
0x0041a554 addiu t8, zero, 2 | t8 = 2;
0x0041a558 lw t9, -0x7c84(gp) | t9 = sym.imp.BIO_push;
| if (v1 == t8) {
0x0041a55c beq v1, t8, 0x41a5fc | goto label_102;
| }
| label_96:
0x0041a560 move a1, s5 | a1 = s5;
0x0041a564 move a0, s1 | a0 = s1;
0x0041a568 jalr t9 | t9 ();
0x0041a56c sw s1, 0x154(sp) | *(var_154h) = s1;
0x0041a570 move s5, v0 | s5 = v0;
0x0041a574 lw fp, 0x14c(sp) | fp = *(var_14ch);
0x0041a578 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a57c lw s1, 0x160(sp) | s1 = *(var_160h);
0x0041a580 sw s0, 0x14c(sp) | *(var_14ch) = s0;
0x0041a584 b 0x41a598 |
| while (v0 > 0) {
0x0041a588 jalr t9 | t9 ();
0x0041a58c nop |
0x0041a590 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != s0) {
0x0041a594 bne v0, s0, 0x41a9b8 | goto label_103;
| }
| label_23:
0x0041a598 lw t9, -0x72f0(gp) | t9 = sym.imp.BIO_read;
0x0041a59c move a0, fp | a0 = fp;
0x0041a5a0 move a1, s3 | a1 = s3;
0x0041a5a4 move a2, s1 | a2 = s1;
0x0041a5a8 jalr t9 | t9 ();
0x0041a5ac move a0, s5 | a0 = s5;
0x0041a5b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a5b4 move a1, s3 | a1 = s3;
0x0041a5b8 move s0, v0 | s0 = v0;
0x0041a5bc lw t9, -0x74c8(gp) | t9 = sym.imp.BIO_write;
0x0041a5c0 move a2, v0 | a2 = v0;
0x0041a5c4 bgtz v0, 0x41a588 |
| }
0x0041a5c8 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0041a5cc move a0, s5 | a0 = s5;
0x0041a5d0 addiu a1, zero, 0xb | a1 = 0xb;
0x0041a5d4 move a2, zero | a2 = 0;
0x0041a5d8 move a3, zero | a3 = 0;
0x0041a5dc lw s1, 0x154(sp) | s1 = *(var_154h);
0x0041a5e0 lw s0, 0x14c(sp) | s0 = *(var_14ch);
0x0041a5e4 jalr t9 | t9 ();
0x0041a5e8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041a5ec beqz v0, 0x41ab40 | goto label_104;
| }
0x0041a5f0 lw t8, 0x168(sp) | t8 = *(var_168h);
0x0041a5f4 lw t9, -0x7130(gp) | t9 = sym.imp.BIO_number_read;
| if (t8 == 0) {
0x0041a5f8 bnez t8, 0x41a604 |
| label_102:
0x0041a5fc move s5, zero | s5 = 0;
0x0041a600 b 0x419cb0 | goto label_15;
| }
0x0041a604 move a0, s4 | a0 = s4;
0x0041a608 lw s5, (s7) | s5 = *(s7);
0x0041a60c jalr t9 | t9 ();
0x0041a610 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a614 move a0, s5 | a0 = s5;
0x0041a618 move a2, v0 | a2 = v0;
0x0041a61c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a620 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.bytes_read___:_8ld_n */
0x0041a624 addiu a1, a1, -0x6e0 | a1 += -0x6e0;
0x0041a628 jalr t9 | t9 ();
0x0041a62c move a0, s6 | a0 = s6;
0x0041a630 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a634 lw t9, -0x7088(gp) | t9 = sym.imp.BIO_number_written;
0x0041a638 lw s5, (s7) | s5 = *(s7);
0x0041a63c jalr t9 | t9 ();
0x0041a640 move a0, s5 | a0 = s5;
0x0041a644 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a648 move a2, v0 | a2 = v0;
0x0041a64c move s5, zero | s5 = 0;
0x0041a650 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a654 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.bytes_written:_8ld_n */
0x0041a658 addiu a1, a1, -0x6cc | a1 += -0x6cc;
0x0041a65c jalr t9 | t9 ();
0x0041a660 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a664 b 0x419cb0 | goto label_15;
| label_83:
0x0041a668 lw t9, -0x71ec(gp) | t9 = sym.imp.BIO_f_base64;
0x0041a66c jalr t9 | t9 ();
0x0041a670 nop |
0x0041a674 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a678 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0041a67c move a0, v0 | a0 = v0;
0x0041a680 jalr t9 | t9 ();
0x0041a684 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a688 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0041a68c beqz v0, 0x41aab0 | goto label_105;
| }
0x0041a690 lw t8, 0x174(sp) | t8 = *(var_174h);
0x0041a694 lw t9, -0x7198(gp) | t9 = sym.imp.BIO_set_callback;
| if (t8 != 0) {
0x0041a698 bnez t8, 0x41aa6c | goto label_106;
| }
| label_28:
0x0041a69c lw v1, 0x18c(sp) | v1 = *(var_18ch);
0x0041a6a0 lw t9, -0x71b0(gp) | t9 = sym.imp.BIO_set_flags;
| if (v1 != 0) {
0x0041a6a4 bnez v1, 0x41aa58 | goto label_107;
| }
| label_27:
0x0041a6a8 lw t9, -0x7c84(gp) | t9 = sym.imp.BIO_push;
0x0041a6ac move a0, s2 | a0 = s2;
| if (fp == 0) {
0x0041a6b0 beqz fp, 0x41a9ec | goto label_108;
| }
0x0041a6b4 move a1, s6 | a1 = s6;
0x0041a6b8 jalr t9 | t9 ();
0x0041a6bc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a6c0 move s5, v0 | s5 = v0;
0x0041a6c4 sw s4, 0x14c(sp) | *(var_14ch) = s4;
0x0041a6c8 b 0x419c18 | goto label_16;
| label_63:
0x0041a6cc sw zero, 0x178(sp) | *(var_178h) = 0;
0x0041a6d0 b 0x419714 | goto label_4;
| label_56:
0x0041a6d4 addiu s4, zero, 0x2c52 | s4 = 0x2c52;
0x0041a6d8 sw v1, 0x160(sp) | *(var_160h) = v1;
0x0041a6dc b 0x419b08 | goto label_14;
| label_74:
0x0041a6e0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a6e4 move a2, s4 | a2 = s4;
0x0041a6e8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a6ec lw a0, (s7) | a0 = *(s7);
| /* str.OPENSSL_malloc_failure__ld_n */
0x0041a6f0 addiu a1, a1, -0x854 | a1 += -0x854;
0x0041a6f4 jalr t9 | t9 ();
0x0041a6f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a6fc lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0041a700 lw a0, (s7) | a0 = *(s7);
0x0041a704 jalr t9 | t9 ();
0x0041a708 lw v1, 0x148(sp) | v1 = *(var_148h);
0x0041a70c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == 0) {
0x0041a710 beqz v1, 0x4195bc | goto label_17;
| }
0x0041a714 move s1, zero | s1 = 0;
0x0041a718 move s2, zero | s2 = 0;
0x0041a71c move s6, zero | s6 = 0;
0x0041a720 move s4, zero | s4 = 0;
0x0041a724 addiu s5, zero, 1 | s5 = 1;
0x0041a728 b 0x419cc0 | goto label_18;
| label_81:
0x0041a72c lw s2, -0x77b0(gp) | s2 = *((gp - 7660));
0x0041a730 move a0, s6 | a0 = s6;
0x0041a734 addiu a1, zero, 0x6a | a1 = 0x6a;
0x0041a738 lw a3, (s2) | a3 = *(s2);
0x0041a73c move a2, zero | a2 = 0;
0x0041a740 jalr t9 | t9 ();
0x0041a744 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s1 == 0) {
0x0041a748 beqz s1, 0x419c04 | goto label_19;
| }
0x0041a74c lw t9, -0x6c20(gp) | t9 = sym.imp.setvbuf;
0x0041a750 move a1, zero | a1 = 0;
0x0041a754 lw a0, (s2) | a0 = *(s2);
0x0041a758 addiu a2, zero, 2 | a2 = 2;
0x0041a75c move a3, zero | a3 = 0;
0x0041a760 jalr t9 | t9 ();
0x0041a764 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a768 b 0x419c04 | goto label_19;
| label_80:
0x0041a76c lw t9, -0x7fcc(gp) | t9 = sym.app_passwd;
| if (v1 != 0) {
0x0041a770 beqz v1, 0x41a7a0 |
0x0041a774 move a1, v1 | a1 = v1;
0x0041a778 lw a0, (s7) | a0 = *(s7);
0x0041a77c move a2, zero | a2 = 0;
0x0041a780 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0041a784 addiu a3, sp, 0x144 | a3 = sp + 0x144;
0x0041a788 jalr t9 | t9 ();
0x0041a78c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041a790 beqz v0, 0x41aca0 | goto label_109;
| }
0x0041a794 lw t8, 0x144(sp) | t8 = *(var_144h);
| if (t8 != 0) {
0x0041a798 bnez t8, 0x41ad38 | goto label_110;
| }
0x0041a79c nop |
| }
0x0041a7a0 lw t8, 0x154(sp) | t8 = *(var_154h);
0x0041a7a4 lw v1, 0x17c(sp) | v1 = *(var_17ch);
| if (t8 == 0) {
0x0041a7a8 beqz t8, 0x419bdc | goto label_20;
| }
0x0041a7ac lw t8, 0x14c(sp) | t8 = *(var_14ch);
| if (v1 != 0) {
0x0041a7b0 bnez v1, 0x419be0 | goto label_21;
| }
0x0041a7b4 lw t8, -0x7fd8(gp) | t8 = *(gp);
| if (fp != 0) {
0x0041a7b8 bnez fp, 0x41ab60 | goto label_111;
| }
0x0041a7bc addiu t8, sp, 0x28 | t8 = sp + 0x28;
0x0041a7c0 sw t8, 0x158(sp) | *(var_158h) = t8;
0x0041a7c4 lw s2, -0x7fd8(gp) | s2 = *(gp);
0x0041a7c8 lw t8, -0x7fd8(gp) | t8 = *(gp);
| /* str.decryption */
0x0041a7cc addiu s2, s2, -0x820 | s2 += -0x820;
| /* str.enter__s__s_password: */
0x0041a7d0 addiu s5, t8, -0x838 | s5 = t8 + -0x838;
0x0041a7d4 b 0x41a7e0 |
| while (v0 != 0) {
0x0041a7d8 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v0 < 0) {
0x0041a7dc bltz v0, 0x41ad40 | goto label_112;
| }
0x0041a7e0 lw t9, -0x7384(gp) | t9 = sym.imp.EVP_CIPHER_nid;
0x0041a7e4 lw a0, 0x154(sp) | a0 = *(var_154h);
0x0041a7e8 jalr t9 | t9 ();
0x0041a7ec lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a7f0 lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x0041a7f4 move a0, v0 | a0 = v0;
0x0041a7f8 jalr t9 | t9 ();
0x0041a7fc move a2, s5 | a2 = s5;
0x0041a800 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a804 addiu a1, zero, 0xc8 | a1 = 0xc8;
0x0041a808 lw a0, 0x158(sp) | a0 = *(var_158h);
0x0041a80c move a3, v0 | a3 = v0;
0x0041a810 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0041a814 sw s2, 0x10(sp) | *(var_10h) = s2;
0x0041a818 jalr t9 | t9 ();
0x0041a81c addiu a1, zero, 0x200 | a1 = 0x200;
0x0041a820 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a824 move a3, zero | a3 = 0;
0x0041a828 lw a0, 0x148(sp) | a0 = *(var_148h);
0x0041a82c lw t9, -0x6e90(gp) | t9 = sym.imp.EVP_read_pw_string;
0x0041a830 lw a2, 0x158(sp) | a2 = *(var_158h);
0x0041a834 sb zero, (a0) | *(a0) = 0;
0x0041a838 jalr t9 | t9 ();
0x0041a83c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a840 bnez v0, 0x41a7d8 |
| }
0x0041a844 lw v1, 0x148(sp) | v1 = *(var_148h);
| label_33:
0x0041a848 lb t8, (v1) | t8 = *(v1);
| if (t8 == 0) {
0x0041a84c beqz t8, 0x41a244 | goto label_22;
| }
0x0041a850 nop |
0x0041a854 sw v1, 0x164(sp) | *(var_164h) = v1;
0x0041a858 b 0x419bdc | goto label_20;
| label_87:
0x0041a85c addiu t8, sp, 0x138 | t8 = sp + 0x138;
0x0041a860 addiu a2, zero, 8 | a2 = 8;
0x0041a864 lw t9, -0x72f0(gp) | t9 = sym.imp.BIO_read;
0x0041a868 move a1, t8 | a1 = t8;
0x0041a86c lw a0, 0x14c(sp) | a0 = *(var_14ch);
0x0041a870 sw t8, 0x158(sp) | *(var_158h) = t8;
0x0041a874 jalr t9 | t9 ();
0x0041a878 move t8, v0 | t8 = v0;
0x0041a87c addiu v0, zero, 8 | v0 = 8;
0x0041a880 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 == v0) {
0x0041a884 beq t8, v0, 0x41aad4 | goto label_113;
| }
| label_31:
0x0041a888 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a88c move s1, zero | s1 = 0;
0x0041a890 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a894 addiu s5, zero, 1 | s5 = 1;
0x0041a898 lw a0, (s7) | a0 = *(s7);
| /* str.error_reading_input_file_n */
0x0041a89c addiu a1, a1, -0x7c0 | a1 += -0x7c0;
0x0041a8a0 jalr t9 | t9 ();
0x0041a8a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a8a8 b 0x419cb0 | goto label_15;
| label_84:
0x0041a8ac move s1, zero | s1 = 0;
0x0041a8b0 sw s1, 0x154(sp) | *(var_154h) = s1;
0x0041a8b4 lw fp, 0x14c(sp) | fp = *(var_14ch);
0x0041a8b8 lw s1, 0x160(sp) | s1 = *(var_160h);
0x0041a8bc sw s0, 0x14c(sp) | *(var_14ch) = s0;
0x0041a8c0 b 0x41a598 | goto label_23;
| label_48:
0x0041a8c4 sw zero, 0x14c(sp) | *(var_14ch) = 0;
0x0041a8c8 addiu fp, zero, 1 | fp = 1;
0x0041a8cc sw zero, 0x150(sp) | *(var_150h) = 0;
0x0041a8d0 move s1, zero | s1 = 0;
0x0041a8d4 sw zero, 0x178(sp) | *(var_178h) = 0;
0x0041a8d8 sw zero, 0x18c(sp) | *(var_18ch) = 0;
0x0041a8dc sw zero, 0x174(sp) | *(var_174h) = 0;
0x0041a8e0 sw zero, 0x170(sp) | *(var_170h) = 0;
0x0041a8e4 sw zero, 0x160(sp) | *(var_160h) = 0;
0x0041a8e8 sw zero, 0x184(sp) | *(var_184h) = 0;
0x0041a8ec sw zero, 0x180(sp) | *(var_180h) = 0;
0x0041a8f0 sw zero, 0x17c(sp) | *(var_17ch) = 0;
0x0041a8f4 sw zero, 0x158(sp) | *(var_158h) = 0;
0x0041a8f8 sw zero, 0x164(sp) | *(var_164h) = 0;
0x0041a8fc sw zero, 0x188(sp) | *(var_188h) = 0;
0x0041a900 sw zero, 0x168(sp) | *(var_168h) = 0;
0x0041a904 b 0x419754 | goto label_24;
| label_92:
0x0041a908 lw t9, -0x7e34(gp) | t9 = sym.set_hex;
0x0041a90c addiu a1, sp, 0x118 | a1 = sp + 0x118;
0x0041a910 lw a0, 0x180(sp) | a0 = *(var_180h);
0x0041a914 addiu a2, zero, 0x10 | a2 = 0x10;
0x0041a918 jalr t9 | t9 ();
0x0041a91c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041a920 bnez v0, 0x41a308 | goto label_25;
| }
0x0041a924 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a928 move s1, zero | s1 = 0;
0x0041a92c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a930 addiu s5, zero, 1 | s5 = 1;
0x0041a934 lw a0, (s7) | a0 = *(s7);
| /* str.invalid_hex_iv_value_n */
0x0041a938 addiu a1, a1, -0x76c | a1 += -0x76c;
0x0041a93c jalr t9 | t9 ();
0x0041a940 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a944 b 0x419cb0 | goto label_15;
| label_94:
0x0041a948 lw t9, -0x7384(gp) | t9 = sym.imp.EVP_CIPHER_nid;
0x0041a94c lw a0, 0x154(sp) | a0 = *(var_154h);
0x0041a950 lw s5, (s7) | s5 = *(s7);
0x0041a954 jalr t9 | t9 ();
0x0041a958 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a95c lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0041a960 move a0, v0 | a0 = v0;
0x0041a964 jalr t9 | t9 ();
0x0041a968 move a0, s5 | a0 = s5;
0x0041a96c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a970 move a2, v0 | a2 = v0;
0x0041a974 addiu s5, zero, 1 | s5 = 1;
0x0041a978 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a97c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_setting_cipher__s_n */
0x0041a980 addiu a1, a1, -0x72c | a1 += -0x72c;
0x0041a984 jalr t9 | t9 ();
0x0041a988 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a98c lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0041a990 lw a0, (s7) | a0 = *(s7);
0x0041a994 jalr t9 | t9 ();
0x0041a998 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a99c b 0x419cb0 | goto label_15;
| label_82:
0x0041a9a0 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x0041a9a4 lw a0, 0x14c(sp) | a0 = *(var_14ch);
0x0041a9a8 b 0x41a238 | goto label_26;
| label_79:
0x0041a9ac lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x0041a9b0 lw a0, 0x150(sp) | a0 = *(var_150h);
0x0041a9b4 b 0x41a238 | goto label_26;
| label_103:
0x0041a9b8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041a9bc addiu s5, zero, 1 | s5 = 1;
0x0041a9c0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041a9c4 lw a0, (s7) | a0 = *(s7);
| /* str.error_writing_output_file_n */
0x0041a9c8 addiu a1, a1, -0x7dc | a1 += -0x7dc;
0x0041a9cc lw s1, 0x154(sp) | s1 = *(var_154h);
0x0041a9d0 lw s0, 0x14c(sp) | s0 = *(var_14ch);
0x0041a9d4 jalr t9 | t9 ();
0x0041a9d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a9dc b 0x419cb0 | goto label_15;
| label_64:
0x0041a9e0 addiu v1, zero, 1 | v1 = 1;
0x0041a9e4 sw v1, 0x178(sp) | *(var_178h) = v1;
0x0041a9e8 b 0x419714 | goto label_4;
| label_108:
0x0041a9ec move a1, s4 | a1 = s4;
0x0041a9f0 jalr t9 | t9 ();
0x0041a9f4 move s5, s6 | s5 = s6;
0x0041a9f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041a9fc sw v0, 0x14c(sp) | *(var_14ch) = v0;
0x0041aa00 b 0x419c18 | goto label_16;
| label_93:
0x0041aa04 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041aa08 move s1, zero | s1 = 0;
0x0041aa0c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041aa10 addiu s5, zero, 1 | s5 = 1;
0x0041aa14 lw a0, (s7) | a0 = *(s7);
| /* str.invalid_hex_key_value_n */
0x0041aa18 addiu a1, a1, -0x744 | a1 += -0x744;
0x0041aa1c jalr t9 | t9 ();
0x0041aa20 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041aa24 b 0x419cb0 | goto label_15;
| label_89:
0x0041aa28 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041aa2c move s1, zero | s1 = 0;
0x0041aa30 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041aa34 addiu s5, zero, 1 | s5 = 1;
0x0041aa38 lw a0, (s7) | a0 = *(s7);
| /* str.invalid_hex_salt_value_n */
0x0041aa3c addiu a1, a1, -0x7f4 | a1 += -0x7f4;
0x0041aa40 jalr t9 | t9 ();
0x0041aa44 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041aa48 b 0x419cb0 | goto label_15;
| label_65:
0x0041aa4c addiu t8, zero, 1 | t8 = 1;
0x0041aa50 sw t8, 0x174(sp) | *(var_174h) = t8;
0x0041aa54 b 0x419714 | goto label_4;
| label_107:
0x0041aa58 move a0, s2 | a0 = s2;
0x0041aa5c addiu a1, zero, 0x100 | a1 = 0x100;
0x0041aa60 jalr t9 | t9 ();
0x0041aa64 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041aa68 b 0x41a6a8 | goto label_27;
| label_106:
0x0041aa6c lw a1, -0x7338(gp) | a1 = *((gp - 7374));
0x0041aa70 move a0, v0 | a0 = v0;
0x0041aa74 jalr t9 | t9 ();
0x0041aa78 move a0, s2 | a0 = s2;
0x0041aa7c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041aa80 lw t9, -0x75dc(gp) | t9 = sym.imp.BIO_set_callback_arg;
0x0041aa84 lw a1, (s7) | a1 = *(s7);
0x0041aa88 jalr t9 | t9 ();
0x0041aa8c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041aa90 b 0x41a69c | goto label_28;
| label_88:
0x0041aa94 lw t9, -0x6e04(gp) | t9 = sym.imp.RAND_bytes;
0x0041aa98 addiu s1, sp, 0x130 | s1 = sp + 0x130;
0x0041aa9c move a0, s1 | a0 = s1;
0x0041aaa0 addiu a1, zero, 8 | a1 = 8;
0x0041aaa4 jalr t9 | t9 ();
0x0041aaa8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x0041aaac bgtz v0, 0x419c60 | goto label_29;
| }
| label_105:
0x0041aab0 move s1, zero | s1 = 0;
0x0041aab4 addiu s5, zero, 1 | s5 = 1;
0x0041aab8 b 0x419cb0 | goto label_15;
| label_91:
0x0041aabc lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
0x0041aac0 move a0, t8 | a0 = t8;
0x0041aac4 addiu a1, zero, 0x200 | a1 = 0x200;
0x0041aac8 jalr t9 | t9 ();
0x0041aacc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041aad0 b 0x41a2d0 | goto label_30;
| label_113:
0x0041aad4 lw t9, -0x72f0(gp) | t9 = sym.imp.BIO_read;
0x0041aad8 addiu s1, sp, 0x130 | s1 = sp + 0x130;
0x0041aadc lw a0, 0x14c(sp) | a0 = *(var_14ch);
0x0041aae0 addiu a2, zero, 8 | a2 = 8;
0x0041aae4 sw t8, 0x1a8(sp) | *(var_1a8h) = t8;
0x0041aae8 move a1, s1 | a1 = s1;
0x0041aaec jalr t9 | t9 ();
0x0041aaf0 lw t8, 0x1a8(sp) | t8 = *(var_1a8h);
0x0041aaf4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != t8) {
0x0041aaf8 bne v0, t8, 0x41a888 | goto label_31;
| }
0x0041aafc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041ab00 addiu a0, sp, 0x138 | a0 = sp + 0x138;
0x0041ab04 lw t9, -0x6c68(gp) | t9 = sym.imp.memcmp;
0x0041ab08 addiu a2, zero, 8 | a2 = 8;
| /* str.Salted__ */
0x0041ab0c addiu a1, a1, -0x6b0 | a1 += -0x6b0;
0x0041ab10 jalr t9 | t9 ();
0x0041ab14 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041ab18 beqz v0, 0x41a258 | goto label_32;
| }
0x0041ab1c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041ab20 move s1, zero | s1 = 0;
0x0041ab24 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041ab28 addiu s5, zero, 1 | s5 = 1;
0x0041ab2c lw a0, (s7) | a0 = *(s7);
| /* str.bad_magic_number_n */
0x0041ab30 addiu a1, a1, -0x7a4 | a1 += -0x7a4;
0x0041ab34 jalr t9 | t9 ();
0x0041ab38 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ab3c b 0x419cb0 | goto label_15;
| label_104:
0x0041ab40 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041ab44 addiu s5, zero, 1 | s5 = 1;
0x0041ab48 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041ab4c lw a0, (s7) | a0 = *(s7);
| /* str.bad_decrypt_n */
0x0041ab50 addiu a1, a1, -0x6f0 | a1 += -0x6f0;
0x0041ab54 jalr t9 | t9 ();
0x0041ab58 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ab5c b 0x419cb0 | goto label_15;
| label_111:
0x0041ab60 addiu v1, sp, 0x28 | v1 = sp + 0x28;
0x0041ab64 sw v1, 0x158(sp) | *(var_158h) = v1;
| /* str.enter__s__s_password: */
0x0041ab68 addiu s2, t8, -0x838 | s2 = t8 + -0x838;
0x0041ab6c lw t8, -0x7fd8(gp) | t8 = *(gp);
| /* str.encryption */
0x0041ab70 addiu s5, t8, -0x814 | s5 = t8 + -0x814;
0x0041ab74 b 0x41ab80 |
| while (v0 != 0) {
0x0041ab78 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v0 < 0) {
0x0041ab7c bltz v0, 0x41ad40 | goto label_112;
| }
0x0041ab80 lw t9, -0x7384(gp) | t9 = sym.imp.EVP_CIPHER_nid;
0x0041ab84 lw a0, 0x154(sp) | a0 = *(var_154h);
0x0041ab88 jalr t9 | t9 ();
0x0041ab8c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ab90 lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x0041ab94 move a0, v0 | a0 = v0;
0x0041ab98 jalr t9 | t9 ();
0x0041ab9c move a2, s2 | a2 = s2;
0x0041aba0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041aba4 addiu a1, zero, 0xc8 | a1 = 0xc8;
0x0041aba8 lw a0, 0x158(sp) | a0 = *(var_158h);
0x0041abac move a3, v0 | a3 = v0;
0x0041abb0 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0041abb4 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0041abb8 jalr t9 | t9 ();
0x0041abbc addiu a1, zero, 0x200 | a1 = 0x200;
0x0041abc0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041abc4 move a3, fp | a3 = fp;
0x0041abc8 lw a0, 0x148(sp) | a0 = *(var_148h);
0x0041abcc lw t9, -0x6e90(gp) | t9 = sym.imp.EVP_read_pw_string;
0x0041abd0 lw a2, 0x158(sp) | a2 = *(var_158h);
0x0041abd4 sb zero, (a0) | *(a0) = 0;
0x0041abd8 jalr t9 | t9 ();
0x0041abdc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041abe0 bnez v0, 0x41ab78 |
| }
0x0041abe4 lw v1, 0x148(sp) | v1 = *(var_148h);
0x0041abe8 b 0x41a848 | goto label_33;
| label_95:
0x0041abec lw a1, -0x7338(gp) | a1 = *((gp - 7374));
0x0041abf0 move a0, s1 | a0 = s1;
0x0041abf4 jalr t9 | t9 ();
0x0041abf8 move a0, s1 | a0 = s1;
0x0041abfc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ac00 lw t9, -0x75dc(gp) | t9 = sym.imp.BIO_set_callback_arg;
0x0041ac04 lw a1, (s7) | a1 = *(s7);
0x0041ac08 jalr t9 | t9 ();
0x0041ac0c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ac10 b 0x41a428 | goto label_34;
| label_97:
0x0041ac14 addiu v1, sp, 0x138 | v1 = sp + 0x138;
0x0041ac18 lw t9, -0x73d0(gp) | t9 = sym.imp.printf
0x0041ac1c addiu fp, sp, 0x130 | fp = sp + 0x130;
0x0041ac20 sw v1, 0x15c(sp) | *(var_15ch) = v1;
| /* str.salt */
0x0041ac24 addiu a0, a0, -0x710 | a0 += -0x710;
0x0041ac28 jalr t9 | t9 ();
0x0041ac2c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ac30 lw v0, -0x7fd8(gp) | v0 = *(gp);
| /* str._02X */
0x0041ac34 addiu t8, v0, -0x708 | t8 = v0 + -0x708;
| do {
0x0041ac38 lbu a1, (fp) | a1 = *(fp);
0x0041ac3c move a0, t8 | a0 = t8;
0x0041ac40 lw t9, -0x73d0(gp) | t9 = sym.imp.printf
0x0041ac44 addiu fp, fp, 1 | fp++;
0x0041ac48 sw t8, 0x1a8(sp) | *(var_1a8h) = t8;
0x0041ac4c jalr t9 | t9 ();
0x0041ac50 lw v1, 0x15c(sp) | v1 = *(var_15ch);
0x0041ac54 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ac58 lw t8, 0x1a8(sp) | t8 = *(var_1a8h);
0x0041ac5c bne fp, v1, 0x41ac38 |
| } while (fp != v1);
0x0041ac60 lw t9, -0x74fc(gp) | t9 = sym.imp.putchar;
0x0041ac64 addiu a0, zero, 0xa | a0 = 0xa;
0x0041ac68 jalr t9 | t9 ();
0x0041ac6c lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ac70 b 0x41a440 | goto label_35;
| label_90:
0x0041ac74 lw t9, -0x74c8(gp) | t9 = sym.imp.BIO_write;
0x0041ac78 move a0, s5 | a0 = s5;
0x0041ac7c move a1, s1 | a1 = s1;
0x0041ac80 addiu a2, zero, 8 | a2 = 8;
0x0041ac84 sw v0, 0x1a8(sp) | *(var_1a8h) = v0;
0x0041ac88 jalr t9 | t9 ();
0x0041ac8c lw v1, 0x1a8(sp) | v1 = *(var_1a8h);
0x0041ac90 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != v1) {
0x0041ac94 bne v0, v1, 0x419c90 | goto label_36;
| }
0x0041ac98 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0041ac9c b 0x41a25c | goto label_37;
| label_109:
0x0041aca0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041aca4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041aca8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041acac lw a0, (t8) | a0 = *(t8);
| /* str.Error_getting_password_n */
0x0041acb0 addiu a1, a1, -0x1588 | a1 += -0x1588;
| label_40:
0x0041acb4 move s1, zero | s1 = 0;
0x0041acb8 jalr t9 | t9 ();
0x0041acbc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041acc0 move s2, zero | s2 = 0;
0x0041acc4 b 0x41a24c | goto label_38;
| label_68:
0x0041acc8 addiu v1, zero, 1 | v1 = 1;
0x0041accc sw v1, 0x16c(sp) | *(var_16ch) = v1;
0x0041acd0 b 0x419714 | goto label_4;
| label_67:
0x0041acd4 addiu t8, zero, 1 | t8 = 1;
0x0041acd8 sw t8, 0x18c(sp) | *(var_18ch) = t8;
0x0041acdc b 0x419714 | goto label_4;
| label_66:
0x0041ace0 addiu v1, zero, 2 | v1 = 2;
0x0041ace4 sw v1, 0x170(sp) | *(var_170h) = v1;
0x0041ace8 b 0x419714 | goto label_4;
| label_69:
0x0041acec addiu t8, zero, 1 | t8 = 1;
0x0041acf0 sw t8, 0x16c(sp) | *(var_16ch) = t8;
0x0041acf4 b 0x419714 | goto label_4;
| label_85:
0x0041acf8 lw t8, 0x180(sp) | t8 = *(var_180h);
0x0041acfc lw t9, -0x6cc8(gp) | t9 = sym.imp.EVP_CIPHER_iv_length;
| if (t8 != 0) {
0x0041ad00 bnez t8, 0x41a2e0 | goto label_39;
| }
0x0041ad04 lw a0, 0x154(sp) | a0 = *(var_154h);
0x0041ad08 jalr t9 | t9 ();
0x0041ad0c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041ad10 beqz v0, 0x41a308 | goto label_25;
| }
0x0041ad14 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041ad18 move s1, zero | s1 = 0;
0x0041ad1c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041ad20 addiu s5, zero, 1 | s5 = 1;
0x0041ad24 lw a0, (s7) | a0 = *(s7);
| /* str.iv_undefined_n */
0x0041ad28 addiu a1, a1, -0x754 | a1 += -0x754;
0x0041ad2c jalr t9 | t9 ();
0x0041ad30 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ad34 b 0x419cb0 | goto label_15;
| label_110:
0x0041ad38 sw t8, 0x164(sp) | *(var_164h) = t8;
0x0041ad3c b 0x419bdc | goto label_20;
| label_112:
0x0041ad40 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041ad44 lw a0, (s7) | a0 = *(s7);
| /* str.bad_password_read_n */
0x0041ad48 addiu a1, a1, -0x808 | a1 += -0x808;
0x0041ad4c b 0x41acb4 | goto label_40;
| label_71:
0x0041ad50 sw v1, 0x1a0(sp) | *(var_1a0h) = v1;
0x0041ad54 b 0x419e08 | goto label_41;
| label_70:
0x0041ad58 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x0041ad5c move a0, s0 | a0 = s0;
0x0041ad60 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x0041ad64 sw v1, 0x1a0(sp) | *(var_1a0h) = v1;
| /* esilref: '-k' */
0x0041ad68 addiu a1, v1, -0xc4c | a1 = v1 + -0xc4c;
0x0041ad6c jalr t9 | t9 ();
0x0041ad70 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041ad74 bnez v0, 0x41ad94 | goto label_114;
| }
0x0041ad78 addiu s1, s1, -1 | s1 += -1;
0x0041ad7c lw t8, -0x7fd8(gp) | t8 = *(gp);
| if (s1 == 0) {
0x0041ad80 beqz s1, 0x419e0c | goto label_42;
| }
0x0041ad84 lw t8, 4(s5) | t8 = *((s5 + 1));
0x0041ad88 addiu s5, s5, 4 | s5 += 4;
0x0041ad8c sw t8, 0x164(sp) | *(var_164h) = t8;
0x0041ad90 b 0x419714 | goto label_4;
| label_114:
0x0041ad94 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x0041ad98 move a0, s0 | a0 = s0;
0x0041ad9c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x0041ada0 sw v1, 0x19c(sp) | *(var_19ch) = v1;
| /* str._kfile */
0x0041ada4 addiu a1, v1, -0xc48 | a1 = v1 + -0xc48;
0x0041ada8 jalr t9 | t9 ();
0x0041adac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041adb0 bnez v0, 0x41ae7c |
0x0041adb4 addiu s1, s1, -1 | s1 += -1;
0x0041adb8 lw t9, -0x7bdc(gp) | t9 = sym.imp.fopen;
| if (s1 == 0) {
0x0041adbc beqz s1, 0x41af90 | goto label_115;
| }
0x0041adc0 lw a3, 4(s5) | a3 = *((s5 + 1));
0x0041adc4 addiu s0, s5, 4 | s0 = s5 + 4;
0x0041adc8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041adcc move a0, a3 | a0 = a3;
0x0041add0 sw a3, 0x1a8(sp) | *(var_1a8h) = a3;
0x0041add4 addiu a1, a1, 0x13b8 | a1 += 0x13b8;
0x0041add8 jalr t9 | t9 ();
0x0041addc lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ade0 move s5, v0 | s5 = v0;
0x0041ade4 lw a3, 0x1a8(sp) | a3 = *(var_1a8h);
| if (v0 == 0) {
0x0041ade8 beqz v0, 0x41af00 | goto label_116;
| }
0x0041adec lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x0041adf0 addiu a1, zero, 0x80 | a1 = 0x80;
0x0041adf4 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x0041adf8 move a2, v0 | a2 = v0;
0x0041adfc lw t9, -0x7618(gp) | t9 = sym.imp.fgets;
0x0041ae00 addiu a0, a0, 0x5d80 | a0 += 0x5d80;
0x0041ae04 sw a3, 0x1a8(sp) | *(var_1a8h) = a3;
0x0041ae08 sb zero, 0x5d80(t8) | *((t8 + 23936)) = 0;
0x0041ae0c jalr t9 | t9 ();
0x0041ae10 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ae14 lw a3, 0x1a8(sp) | a3 = *(var_1a8h);
| if (v0 == 0) {
0x0041ae18 beqz v0, 0x41af00 | goto label_116;
| }
0x0041ae1c lw t9, -0x7114(gp) | t9 = sym.imp.fclose;
0x0041ae20 move a0, s5 | a0 = s5;
0x0041ae24 jalr t9 | t9 ();
0x0041ae28 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041ae2c lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x0041ae30 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0041ae34 addiu a0, a0, 0x5d80 | a0 += 0x5d80;
0x0041ae38 jalr t9 | t9 ();
0x0041ae3c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0041ae40 blez v0, 0x41af2c | goto label_44;
| }
0x0041ae44 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x0041ae48 addiu v1, v0, -1 | v1 = v0 + -1;
0x0041ae4c addiu a1, zero, 0xa | a1 = 0xa;
0x0041ae50 addiu t8, t8, 0x5d80 | t8 += 0x5d80;
0x0041ae54 addu a0, t8, v1 | a0 = t8 + v1;
0x0041ae58 lb a0, (a0) | a0 = *(a0);
0x0041ae5c addiu a1, zero, 0xd | a1 = 0xd;
| if (a0 == a1) {
0x0041ae60 beq a0, a1, 0x41aeb4 | goto label_117;
| }
0x0041ae64 move s5, s0 | s5 = s0;
| if (a0 == a1) {
0x0041ae68 beq a0, a1, 0x41aeb4 | goto label_117;
| }
0x0041ae6c lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x0041ae70 addiu v0, v0, 0x5d80 | v0 += 0x5d80;
0x0041ae74 sw v0, 0x164(sp) | *(var_164h) = v0;
0x0041ae78 b 0x419714 | goto label_4;
| }
0x0041ae7c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041ae80 move a0, s0 | a0 = s0;
0x0041ae84 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-K' */
0x0041ae88 addiu a1, a1, -0xc08 | a1 += -0xc08;
0x0041ae8c jalr t9 | t9 ();
0x0041ae90 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041ae94 bnez v0, 0x41af54 |
0x0041ae98 addiu s1, s1, -1 | s1 += -1;
0x0041ae9c lw t8, -0x7fd8(gp) | t8 = *(gp);
| if (s1 == 0) {
0x0041aea0 beqz s1, 0x41af94 | goto label_118;
| }
0x0041aea4 lw v1, 4(s5) | v1 = *((s5 + 1));
0x0041aea8 addiu s5, s5, 4 | s5 += 4;
0x0041aeac sw v1, 0x17c(sp) | *(var_17ch) = v1;
0x0041aeb0 b 0x419714 | goto label_4;
| label_117:
0x0041aeb4 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x0041aeb8 addiu t8, t8, 0x5d80 | t8 += 0x5d80;
0x0041aebc addu a0, t8, v1 | a0 = t8 + v1;
0x0041aec0 sb zero, (a0) | *(a0) = 0;
| if (v1 != 0) {
0x0041aec4 beqz v1, 0x41af2c |
0x0041aec8 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x0041aecc addiu v0, v0, -2 | v0 += -2;
0x0041aed0 addiu a0, zero, 0xa | a0 = 0xa;
0x0041aed4 addiu t8, t8, 0x5d80 | t8 += 0x5d80;
0x0041aed8 addu v1, v0, t8 | v1 = v0 + t8;
0x0041aedc lb v1, (v1) | v1 = *(v1);
0x0041aee0 addiu a0, zero, 0xd | a0 = 0xd;
| if (v1 == a0) {
0x0041aee4 beq v1, a0, 0x41afa0 | goto label_119;
| }
0x0041aee8 lw v1, -0x7fc8(gp) | v1 = *((gp - 8178));
| if (v1 == a0) {
0x0041aeec beq v1, a0, 0x41afa0 | goto label_119;
| }
0x0041aef0 move s5, s0 | s5 = s0;
0x0041aef4 addiu v1, v1, 0x5d80 | v1 += 0x5d80;
0x0041aef8 sw v1, 0x164(sp) | *(var_164h) = v1;
0x0041aefc b 0x419714 | goto label_4;
| label_116:
0x0041af00 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041af04 move a2, a3 | a2 = a3;
0x0041af08 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x0041af0c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_read_key_from__s_n */
0x0041af10 addiu a1, a1, -0xc40 | a1 += -0xc40;
0x0041af14 lw a0, (s7) | a0 = *(s7);
0x0041af18 sw v1, 0x194(sp) | *(var_194h) = v1;
0x0041af1c jalr t9 | t9 ();
0x0041af20 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041af24 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0041af28 b 0x419e1c | goto label_43;
| }
| label_44:
0x0041af2c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041af30 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x0041af34 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.zero_length_password_n */
0x0041af38 addiu a1, a1, -0xc20 | a1 += -0xc20;
0x0041af3c lw a0, (s7) | a0 = *(s7);
0x0041af40 sw v1, 0x194(sp) | *(var_194h) = v1;
0x0041af44 jalr t9 | t9 ();
0x0041af48 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041af4c lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0041af50 b 0x419e1c | goto label_43;
| }
0x0041af54 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x0041af58 move a0, s0 | a0 = s0;
0x0041af5c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x0041af60 sw t8, 0x194(sp) | *(var_194h) = t8;
| /* esilref: '-S' */
0x0041af64 addiu a1, t8, -0xc04 | a1 = t8 + -0xc04;
0x0041af68 jalr t9 | t9 ();
0x0041af6c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041af70 bnez v0, 0x41afc8 | goto label_120;
| }
0x0041af74 addiu s1, s1, -1 | s1 += -1;
0x0041af78 lw a3, -0x7fd8(gp) | a3 = *(gp);
| if (s1 == 0) {
0x0041af7c beqz s1, 0x419e1c | goto label_43;
| }
0x0041af80 lw v1, 4(s5) | v1 = *((s5 + 1));
0x0041af84 addiu s5, s5, 4 | s5 += 4;
0x0041af88 sw v1, 0x184(sp) | *(var_184h) = v1;
0x0041af8c b 0x419714 | goto label_4;
| label_115:
0x0041af90 lw t8, -0x7fd8(gp) | t8 = *(gp);
| label_118:
0x0041af94 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0041af98 sw t8, 0x194(sp) | *(var_194h) = t8;
0x0041af9c b 0x419e1c | goto label_43;
| label_119:
0x0041afa0 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x0041afa4 addiu t8, t8, 0x5d80 | t8 += 0x5d80;
0x0041afa8 addu v1, t8, v0 | v1 = t8 + v0;
0x0041afac sb zero, (v1) | *(v1) = 0;
| if (v0 <= 0) {
0x0041afb0 blez v0, 0x41af2c | goto label_44;
| }
0x0041afb4 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x0041afb8 move s5, s0 | s5 = s0;
0x0041afbc addiu t8, t8, 0x5d80 | t8 += 0x5d80;
0x0041afc0 sw t8, 0x164(sp) | *(var_164h) = t8;
0x0041afc4 b 0x419714 | goto label_4;
| label_120:
0x0041afc8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041afcc move a0, s0 | a0 = s0;
0x0041afd0 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-iv' */
0x0041afd4 addiu a1, a1, -0xc00 | a1 += -0xc00;
0x0041afd8 jalr t9 | t9 ();
0x0041afdc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041afe0 bnez v0, 0x41b000 | goto label_121;
| }
0x0041afe4 addiu s1, s1, -1 | s1 += -1;
0x0041afe8 lw a3, -0x7fd8(gp) | a3 = *(gp);
| if (s1 == 0) {
0x0041afec beqz s1, 0x419e1c | goto label_43;
| }
0x0041aff0 lw t8, 4(s5) | t8 = *((s5 + 1));
0x0041aff4 addiu s5, s5, 4 | s5 += 4;
0x0041aff8 sw t8, 0x180(sp) | *(var_180h) = t8;
0x0041affc b 0x419714 | goto label_4;
| label_121:
0x0041b000 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x0041b004 move a0, s0 | a0 = s0;
0x0041b008 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x0041b00c sw v1, 0x1a4(sp) | *(var_1a4h) = v1;
| /* esilref: '-md' */
0x0041b010 addiu a1, v1, -0xbfc | a1 = v1 + -0xbfc;
0x0041b014 jalr t9 | t9 ();
0x0041b018 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0041b01c bnez v0, 0x41b03c | goto label_122;
| }
0x0041b020 addiu s1, s1, -1 | s1 += -1;
0x0041b024 lw a3, 0x1a4(sp) | a3 = *(var_1a4h);
| if (s1 == 0) {
0x0041b028 beqz s1, 0x419e1c | goto label_43;
| }
0x0041b02c lw t8, 4(s5) | t8 = *((s5 + 1));
0x0041b030 addiu s5, s5, 4 | s5 += 4;
0x0041b034 sw t8, 0x160(sp) | *(var_160h) = t8;
0x0041b038 b 0x419714 | goto label_4;
| label_122:
0x0041b03c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041b040 move a0, s0 | a0 = s0;
0x0041b044 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* str._non_fips_allow */
0x0041b048 addiu a1, a1, -0x19c0 | a1 += -0x19c0;
0x0041b04c jalr t9 | t9 ();
0x0041b050 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041b054 beqz v0, 0x41b0d4 | goto label_123;
| }
0x0041b058 lb a0, (s0) | a0 = *(s0);
0x0041b05c addiu v0, zero, 0x2d | v0 = 0x2d;
0x0041b060 lw t9, -0x7054(gp) | t9 = sym.imp.EVP_get_cipherbyname;
| if (a0 != v0) {
0x0041b064 beq a0, v0, 0x41b0b8 |
| label_45:
0x0041b068 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041b06c move a0, s0 | a0 = s0;
0x0041b070 lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-none' */
0x0041b074 addiu a1, a1, 0x280c | a1 += 0x280c;
0x0041b078 jalr t9 | t9 ();
0x0041b07c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0041b080 bnez v0, 0x41b08c |
0x0041b084 sw zero, 0x154(sp) | *(var_154h) = 0;
0x0041b088 b 0x419714 | goto label_4;
| }
0x0041b08c lw a3, 0x1a4(sp) | a3 = *(var_1a4h);
0x0041b090 move a2, s0 | a2 = s0;
0x0041b094 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041b098 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041b09c lw a0, (s7) | a0 = *(s7);
| /* str.unknown_option__s_n */
0x0041b0a0 addiu a1, a1, -0x1940 | a1 += -0x1940;
0x0041b0a4 sw a3, 0x1a8(sp) | *(var_1a8h) = a3;
0x0041b0a8 jalr t9 | t9 ();
0x0041b0ac lw gp, 0x20(sp) | gp = *(var_20h);
0x0041b0b0 lw a3, 0x1a8(sp) | a3 = *(var_1a8h);
0x0041b0b4 b 0x419e1c | goto label_43;
| }
0x0041b0b8 addiu a0, s0, 1 | a0 = s0 + 1;
0x0041b0bc jalr t9 | t9 ();
0x0041b0c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0041b0c4 sw v0, 0x154(sp) | *(var_154h) = v0;
| if (v0 != 0) {
0x0041b0c8 bnez v0, 0x419714 | goto label_4;
| }
0x0041b0cc lw s0, (s5) | s0 = *(s5);
0x0041b0d0 b 0x41b068 | goto label_45;
| label_123:
0x0041b0d4 addiu v1, zero, 1 | v1 = 1;
0x0041b0d8 sw v1, 0x190(sp) | *(var_190h) = v1;
0x0041b0dc b 0x419714 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x450d48 */
| #include <stdint.h>
|
; (fcn) sym.extract_host_port () | void extract_host_port () {
0x00450d48 lui gp, 5 |
0x00450d4c addiu gp, gp, -0x48a8 |
0x00450d50 addu gp, gp, t9 | gp += t9;
0x00450d54 addiu sp, sp, -0x58 |
0x00450d58 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00450d5c sw fp, 0x50(sp) | *(var_50h) = fp;
0x00450d60 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x00450d64 sw s6, 0x48(sp) | *(var_48h) = s6;
0x00450d68 sw s5, 0x44(sp) | *(var_44h) = s5;
0x00450d6c sw s4, 0x40(sp) | *(var_40h) = s4;
0x00450d70 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x00450d74 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00450d78 sw s1, 0x34(sp) | *(var_34h) = s1;
0x00450d7c sw s0, 0x30(sp) | *(var_30h) = s0;
0x00450d80 move s4, a1 | s4 = a1;
0x00450d84 lw t9, -0x72ec(gp) | t9 = sym.imp.strchr;
0x00450d88 addiu a1, zero, 0x3a | a1 = 0x3a;
0x00450d8c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00450d90 move s2, a0 | s2 = a0;
0x00450d94 move s0, a2 | s0 = a2;
0x00450d98 move s6, a3 | s6 = a3;
0x00450d9c jalr t9 | t9 ();
0x00450da0 move s1, v0 | s1 = v0;
0x00450da4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00450da8 beqz v0, 0x4510ec | goto label_6;
| }
0x00450dac sb zero, (v0) | *(v0) = 0;
| if (s0 == 0) {
0x00450db0 beqz s0, 0x450f50 | goto label_7;
| }
0x00450db4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00450db8 addiu t8, sp, 0x28 | t8 = sp + 0x28;
0x00450dbc lw t9, -0x6d80(gp) | t9 = sym.imp.sscanf;
0x00450dc0 move a0, s2 | a0 = s2;
0x00450dc4 sw t8, 0x10(sp) | *(var_10h) = t8;
0x00450dc8 addiu t8, sp, 0x2c | t8 = sp + 0x2c;
0x00450dcc sw t8, 0x14(sp) | *(var_14h) = t8;
| /* str._u._u._u._u */
0x00450dd0 addiu a1, a1, -0x33d0 | a1 += -0x33d0;
0x00450dd4 addiu a2, sp, 0x20 | a2 = sp + 0x20;
0x00450dd8 addiu a3, sp, 0x24 | a3 = sp + 0x24;
0x00450ddc jalr t9 | t9 ();
0x00450de0 addiu t8, zero, 4 | t8 = 4;
0x00450de4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == t8) {
0x00450de8 beq v0, t8, 0x450f9c | goto label_8;
| }
0x00450dec lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x00450df0 addiu t8, zero, -1 | t8 = -1;
0x00450df4 addiu s5, a1, 0x66a8 | s5 = a1 + 0x66a8;
0x00450df8 lw s3, 0x94(s5) | s3 = *((s5 + 37));
0x00450dfc lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
| if (s3 != t8) {
0x00450e00 bne s3, t8, 0x450fe8 | goto label_9;
| }
0x00450e04 move a0, s2 | a0 = s2;
| label_1:
0x00450e08 addiu a1, a1, 0x66a8 | a1 += 0x66a8;
0x00450e0c addiu a2, zero, 0x80 | a2 = 0x80;
0x00450e10 jalr t9 | t9 ();
0x00450e14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00450e18 beqz v0, 0x45110c | goto label_10;
| }
| label_0:
0x00450e1c lw t8, 0x12c(s5) | t8 = *((s5 + 75));
0x00450e20 sltu v0, t8, s3 | v0 = (t8 < s3) ? 1 : 0;
0x00450e24 sltu s7, zero, v0 | s7 = (0 < v0) ? 1 : 0;
| if (v0 == 0) {
0x00450e28 movn s3, t8, v0 | s3 = t8;
| }
| if (t8 != 0) {
0x00450e2c beqz t8, 0x450e50 |
0x00450e30 lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x00450e34 move a0, s2 | a0 = s2;
0x00450e38 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00450e3c addiu a2, zero, 0x80 | a2 = 0x80;
0x00450e40 addiu a1, a1, 0x6740 | a1 += 0x6740;
0x00450e44 jalr t9 | t9 ();
0x00450e48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00450e4c beqz v0, 0x45114c | goto label_11;
| }
| }
0x00450e50 lw t8, 0x1c4(s5) | t8 = *((s5 + 113));
0x00450e54 addiu v1, zero, 2 | v1 = 2;
0x00450e58 sltu v0, t8, s3 | v0 = (t8 < s3) ? 1 : 0;
| if (v0 == 0) {
0x00450e5c movn s3, t8, v0 | s3 = t8;
| }
| if (v0 == 0) {
0x00450e60 movn s7, v1, v0 | s7 = v1;
| }
| if (t8 != 0) {
0x00450e64 beqz t8, 0x450e88 |
0x00450e68 lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x00450e6c move a0, s2 | a0 = s2;
0x00450e70 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00450e74 addiu a2, zero, 0x80 | a2 = 0x80;
0x00450e78 addiu a1, a1, 0x67d8 | a1 += 0x67d8;
0x00450e7c jalr t9 | t9 ();
0x00450e80 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00450e84 beqz v0, 0x451154 | goto label_12;
| }
| }
0x00450e88 lw t8, 0x25c(s5) | t8 = *((s5 + 151));
0x00450e8c addiu v0, zero, 3 | v0 = 3;
0x00450e90 sltu s3, t8, s3 | s3 = (t8 < s3) ? 1 : 0;
| if (s3 == 0) {
0x00450e94 movn s7, v0, s3 | s7 = v0;
| }
| if (t8 != 0) {
0x00450e98 beqz t8, 0x450ebc |
0x00450e9c lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x00450ea0 move a0, s2 | a0 = s2;
0x00450ea4 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00450ea8 addiu a2, zero, 0x80 | a2 = 0x80;
0x00450eac addiu a1, a1, 0x6870 | a1 += 0x6870;
0x00450eb0 jalr t9 | t9 ();
0x00450eb4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00450eb8 beqz v0, 0x45115c | goto label_13;
| }
| }
0x00450ebc lw fp, -0x7fc8(gp) | fp = *((gp - 8178));
0x00450ec0 move a0, s2 | a0 = s2;
0x00450ec4 lw t9, -0x6fdc(gp) | t9 = sym.imp.gethostbyname;
0x00450ec8 lw t8, 0x66a0(fp) | t8 = *(arg_66a0h);
0x00450ecc addiu t8, t8, 1 | t8++;
0x00450ed0 sw t8, 0x66a0(fp) | *(arg_66a0h) = t8;
0x00450ed4 jalr t9 | t9 ();
0x00450ed8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00450edc move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00450ee0 beqz v0, 0x451164 | goto label_14;
| }
0x00450ee4 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x00450ee8 move a0, s2 | a0 = s2;
0x00450eec jalr t9 | t9 ();
0x00450ef0 sltiu t8, v0, 0x80 | t8 = (v0 < 0x80) ? 1 : 0;
0x00450ef4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 != 0) {
0x00450ef8 bnez t8, 0x450ff8 | goto label_15;
| }
0x00450efc move s5, s3 | s5 = s3;
| label_2:
0x00450f00 lh v0, 8(s5) | v0 = *((s5 + 4));
0x00450f04 addiu t8, zero, 2 | t8 = 2;
0x00450f08 lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (v0 != t8) {
0x00450f0c bne v0, t8, 0x451084 | goto label_16;
| }
0x00450f10 lw t8, 0x10(s5) | t8 = *((s5 + 4));
0x00450f14 lw t8, (t8) | t8 = *(t8);
0x00450f18 lbu t8, (t8) | t8 = *(t8);
0x00450f1c sb t8, (s0) | *(s0) = t8;
0x00450f20 lw t8, 0x10(s5) | t8 = *((s5 + 4));
0x00450f24 lw t8, (t8) | t8 = *(t8);
0x00450f28 lbu t8, 1(t8) | t8 = *((t8 + 1));
0x00450f2c sb t8, 1(s0) | *((s0 + 1)) = t8;
0x00450f30 lw t8, 0x10(s5) | t8 = *((s5 + 4));
0x00450f34 lw t8, (t8) | t8 = *(t8);
0x00450f38 lbu t8, 2(t8) | t8 = *((t8 + 2));
0x00450f3c sb t8, 2(s0) | *((s0 + 2)) = t8;
0x00450f40 lw t8, 0x10(s5) | t8 = *((s5 + 4));
0x00450f44 lw t8, (t8) | t8 = *(t8);
0x00450f48 lbu t8, 3(t8) | t8 = *((t8 + 3));
0x00450f4c sb t8, 3(s0) | *((s0 + 3)) = t8;
| do {
| label_7:
0x00450f50 lw t9, -0x7ee8(gp) | t9 = sym.extract_port;
| if (s4 != 0) {
0x00450f54 beqz s4, 0x450f5c |
0x00450f58 sw s2, (s4) | *(s4) = s2;
| }
0x00450f5c addiu a0, s1, 1 | a0 = s1 + 1;
0x00450f60 move a1, s6 | a1 = s6;
0x00450f64 jalr t9 | t9 ();
0x00450f68 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
| label_3:
0x00450f6c lw ra, 0x54(sp) | ra = *(var_54h);
0x00450f70 lw fp, 0x50(sp) | fp = *(var_50h);
0x00450f74 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x00450f78 lw s6, 0x48(sp) | s6 = *(var_48h);
0x00450f7c lw s5, 0x44(sp) | s5 = *(var_44h);
0x00450f80 lw s4, 0x40(sp) | s4 = *(var_40h);
0x00450f84 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00450f88 lw s2, 0x38(sp) | s2 = *(var_38h);
0x00450f8c lw s1, 0x34(sp) | s1 = *(var_34h);
0x00450f90 lw s0, 0x30(sp) | s0 = *(var_30h);
0x00450f94 addiu sp, sp, 0x58 |
0x00450f98 jr ra | return v0;
| label_8:
0x00450f9c lw t8, 0x20(sp) | t8 = *(var_20h);
0x00450fa0 sltiu v0, t8, 0x100 | v0 = (t8 < 0x100) ? 1 : 0;
| if (v0 == 0) {
0x00450fa4 beqz v0, 0x4510cc | goto label_17;
| }
0x00450fa8 nop |
0x00450fac lw v0, 0x24(sp) | v0 = *(var_24h);
0x00450fb0 sltiu v1, v0, 0x100 | v1 = (v0 < 0x100) ? 1 : 0;
0x00450fb4 lw v1, 0x28(sp) | v1 = *(var_28h);
| if (v1 == 0) {
0x00450fb8 beqz v1, 0x4510cc | goto label_17;
| }
0x00450fbc sltiu a0, v1, 0x100 | a0 = (v1 < 0x100) ? 1 : 0;
0x00450fc0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
| if (a0 == 0) {
0x00450fc4 beqz a0, 0x4510cc | goto label_17;
| }
0x00450fc8 sltiu a1, a0, 0x100 | a1 = (a0 < 0x100) ? 1 : 0;
| if (a1 == 0) {
0x00450fcc beqz a1, 0x4510cc | goto label_17;
| }
0x00450fd0 nop |
0x00450fd4 sb t8, (s0) | *(s0) = t8;
0x00450fd8 sb v0, 1(s0) | *((s0 + 1)) = v0;
0x00450fdc sb v1, 2(s0) | *((s0 + 2)) = v1;
0x00450fe0 sb a0, 3(s0) | *((s0 + 3)) = a0;
0x00450fe4 b 0x450f50 |
| } while (1);
| label_9:
0x00450fe8 move a0, s2 | a0 = s2;
| if (s3 == 0) {
0x00450fec beqz s3, 0x450e1c | goto label_0;
| }
0x00450ff0 b 0x450e08 | goto label_1;
0x00450ff4 nop |
| label_15:
0x00450ff8 addiu t8, zero, 0x98 | t8 = 0x98;
0x00450ffc move a1, s2 | a1 = s2;
0x00451000 mult s7, t8 | __asm ("mult s7, t8");
0x00451004 lw t9, -0x7ca0(gp) | t9 = sym.imp.memcpy;
0x00451008 addiu a2, v0, 1 | a2 = v0 + 1;
0x0045100c mflo s7 | __asm ("mflo s7");
0x00451010 addu t0, s5, s7 | t0 = s5 + s7;
0x00451014 move a0, t0 | a0 = t0;
0x00451018 jalr t9 | t9 ();
0x0045101c addiu t8, s7, 0x80 | t8 = s7 + 0x80;
0x00451020 lw gp, 0x18(sp) | gp = *(var_18h);
0x00451024 move t0, v0 | t0 = v0;
0x00451028 lwl a3, 3(s3) | __asm ("lwl a3, 3(s3)");
0x0045102c addu t8, s5, t8 | t8 = s5 + t8;
0x00451030 lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x00451034 move s5, s3 | s5 = s3;
0x00451038 lwl a2, 7(s3) | __asm ("lwl a2, 7(s3)");
0x0045103c lwl a1, 0xb(s3) | __asm ("lwl a1, 0xb(s3)");
0x00451040 lwl v1, 0xf(s3) | __asm ("lwl v1, 0xf(s3)");
0x00451044 lwl v0, 0x13(s3) | __asm ("lwl v0, 0x13(s3)");
0x00451048 lw t1, 0x66a4(a0) | t1 = *((a0 + 6569));
0x0045104c lw a0, 0x66a0(fp) | a0 = *(arg_66a0h);
0x00451050 lwr a3, (s3) | __asm ("lwr a3, (s3)");
0x00451054 lwr a2, 4(s3) | __asm ("lwr a2, 4(s3)");
0x00451058 addu a0, t1, a0 | a0 = t1 + a0;
0x0045105c lwr a1, 8(s3) | __asm ("lwr a1, 8(s3)");
0x00451060 lwr v1, 0xc(s3) | __asm ("lwr v1, 0xc(s3)");
0x00451064 lwr v0, 0x10(s3) | __asm ("lwr v0, 0x10(s3)");
0x00451068 sw a3, (t8) | *(t8) = a3;
0x0045106c sw a2, 4(t8) | *((t8 + 4)) = a2;
0x00451070 sw a1, 8(t8) | *((t8 + 8)) = a1;
0x00451074 sw v1, 0xc(t8) | *((t8 + 12)) = v1;
0x00451078 sw v0, 0x10(t8) | *((t8 + 16)) = v0;
0x0045107c sw a0, 0x94(t0) | *((t0 + 37)) = a0;
0x00451080 b 0x450f00 | goto label_2;
| label_16:
0x00451084 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00451088 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0045108c lw a0, (t8) | a0 = *(t8);
| /* str.gethostbyname_addr_is_not_AF_INET_n */
0x00451090 addiu a1, a1, -0x33b0 | a1 += -0x33b0;
0x00451094 jalr t9 | t9 ();
0x00451098 move v0, zero | v0 = 0;
| label_5:
0x0045109c lw ra, 0x54(sp) | ra = *(var_54h);
0x004510a0 lw fp, 0x50(sp) | fp = *(var_50h);
0x004510a4 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x004510a8 lw s6, 0x48(sp) | s6 = *(var_48h);
0x004510ac lw s5, 0x44(sp) | s5 = *(var_44h);
0x004510b0 lw s4, 0x40(sp) | s4 = *(var_40h);
0x004510b4 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x004510b8 lw s2, 0x38(sp) | s2 = *(var_38h);
0x004510bc lw s1, 0x34(sp) | s1 = *(var_34h);
0x004510c0 lw s0, 0x30(sp) | s0 = *(var_30h);
0x004510c4 addiu sp, sp, 0x58 |
0x004510c8 jr ra | return v0;
| label_17:
0x004510cc lw t8, -0x7fd4(gp) | t8 = *(gp);
0x004510d0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004510d4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004510d8 lw a0, (t8) | a0 = *(t8);
| /* str.invalid_IP_address_n */
0x004510dc addiu a1, a1, -0x33c4 | a1 += -0x33c4;
0x004510e0 jalr t9 | t9 ();
0x004510e4 move v0, zero | v0 = 0;
0x004510e8 b 0x450f6c | goto label_3;
| label_6:
0x004510ec lw t8, -0x7fd4(gp) | t8 = *(gp);
0x004510f0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004510f4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004510f8 lw a0, (t8) | a0 = *(t8);
| /* str.no_port_defined_n */
0x004510fc addiu a1, a1, -0x3328 | a1 += -0x3328;
0x00451100 jalr t9 | t9 ();
0x00451104 move v0, zero | v0 = 0;
0x00451108 b 0x450f6c | goto label_3;
| label_10:
0x0045110c move v1, zero | v1 = 0;
| do {
| label_4:
0x00451110 addiu v0, zero, 0x98 | v0 = 0x98;
0x00451114 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x00451118 mult v1, v0 | __asm ("mult v1, v0");
0x0045111c lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x00451120 lw v0, 0x66a4(t8) | v0 = *((t8 + 6569));
0x00451124 lw a1, 0x66a0(a0) | a1 = *((a0 + 6568));
0x00451128 mflo v1 | __asm ("mflo v1");
0x0045112c addiu v0, v0, 1 | v0++;
0x00451130 addu a0, s5, v1 | a0 = s5 + v1;
0x00451134 addu a1, v0, a1 | a1 = v0 + a1;
0x00451138 addiu v1, v1, 0x80 | v1 += 0x80;
0x0045113c sw v0, 0x66a4(t8) | *((t8 + 26276)) = v0;
0x00451140 addu s5, s5, v1 | s5 += v1;
0x00451144 sw a1, 0x94(a0) | *((a0 + 37)) = a1;
0x00451148 b 0x450f00 | goto label_2;
| label_11:
0x0045114c addiu v1, zero, 1 | v1 = 1;
0x00451150 b 0x451110 |
| } while (1);
| label_12:
0x00451154 addiu v1, zero, 2 | v1 = 2;
0x00451158 b 0x451110 | goto label_4;
| label_13:
0x0045115c addiu v1, zero, 3 | v1 = 3;
0x00451160 b 0x451110 | goto label_4;
| label_14:
0x00451164 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00451168 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0045116c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00451170 lw a0, (t8) | a0 = *(t8);
| /* str.gethostbyname_failure_n */
0x00451174 addiu a1, a1, -0x3378 | a1 += -0x3378;
0x00451178 jalr t9 | t9 ();
0x0045117c move v0, zero | v0 = 0;
0x00451180 b 0x45109c | goto label_5;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x450c84 */
| #include <stdint.h>
|
; (fcn) sym.extract_port () | void extract_port () {
0x00450c84 lui gp, 5 |
0x00450c88 addiu gp, gp, -0x47e4 |
0x00450c8c addu gp, gp, t9 | gp += t9;
0x00450c90 addiu sp, sp, -0x28 |
0x00450c94 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00450c98 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00450c9c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00450ca0 move s1, a0 | s1 = a0;
0x00450ca4 lw t9, -0x7b18(gp) | t9 = sym.imp.atoi;
0x00450ca8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00450cac move s0, a1 | s0 = a1;
0x00450cb0 jalr t9 | t9 ();
0x00450cb4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00450cb8 beqz v0, 0x450cd8 | goto label_0;
| }
0x00450cbc sh v0, (s0) | *(s0) = v0;
0x00450cc0 addiu v0, zero, 1 | v0 = 1;
| do {
0x00450cc4 lw ra, 0x24(sp) | ra = *(var_24h);
0x00450cc8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00450ccc lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00450cd0 addiu sp, sp, 0x28 |
0x00450cd4 jr ra | return v0;
| label_0:
0x00450cd8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00450cdc move a0, s1 | a0 = s1;
0x00450ce0 lw t9, -0x7650(gp) | t9 = sym.imp.getservbyname;
| /* esilref: 'tcp' */
0x00450ce4 addiu a1, a1, -0x334c | a1 += -0x334c;
0x00450ce8 jalr t9 | t9 ();
0x00450cec lw gp, 0x10(sp) | gp = *(var_10h);
0x00450cf0 move t8, v0 | t8 = v0;
| if (v0 != 0) {
0x00450cf4 beqz v0, 0x450d24 |
0x00450cf8 lw a0, 8(v0) | a0 = *((v0 + 2));
0x00450cfc addiu v0, zero, 1 | v0 = 1;
0x00450d00 lbu v1, 9(t8) | v1 = *((t8 + 9));
0x00450d04 sll t8, a0, 8 | t8 = a0 << 8;
0x00450d08 lw ra, 0x24(sp) | ra = *(var_24h);
0x00450d0c or t8, v1, t8 | t8 = v1 | t8;
0x00450d10 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00450d14 sh t8, (s0) | *(s0) = t8;
0x00450d18 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00450d1c addiu sp, sp, 0x28 |
0x00450d20 jr ra | return v0;
| }
0x00450d24 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00450d28 move a2, s1 | a2 = s1;
0x00450d2c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00450d30 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00450d34 lw a0, (t8) | a0 = *(t8);
| /* str.getservbyname_failure_for__s_n */
0x00450d38 addiu a1, a1, -0x3348 | a1 += -0x3348;
0x00450d3c jalr t9 | t9 ();
0x00450d40 move v0, zero | v0 = 0;
0x00450d44 b 0x450cc4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ed28 */
| #include <stdint.h>
|
; (fcn) sym.generate_cookie_callback () | void generate_cookie_callback () {
0x0044ed28 lui gp, 5 |
0x0044ed2c addiu gp, gp, -0x2888 |
0x0044ed30 addu gp, gp, t9 | gp += t9;
0x0044ed34 addiu sp, sp, -0xa0 |
0x0044ed38 sw ra, 0x9c(sp) | *(var_9ch) = ra;
0x0044ed3c sw s4, 0x98(sp) | *(var_98h) = s4;
0x0044ed40 sw s3, 0x94(sp) | *(var_94h) = s3;
0x0044ed44 sw s2, 0x90(sp) | *(var_90h) = s2;
0x0044ed48 sw s1, 0x8c(sp) | *(var_8ch) = s1;
0x0044ed4c sw s0, 0x88(sp) | *(var_88h) = s0;
0x0044ed50 move s1, a0 | s1 = a0;
0x0044ed54 lw s0, -0x7dec(gp) | s0 = *(gp);
0x0044ed58 move s3, a1 | s3 = a1;
0x0044ed5c sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044ed60 lw t8, (s0) | t8 = *(s0);
0x0044ed64 move s2, a2 | s2 = a2;
| if (t8 == 0) {
0x0044ed68 bnez t8, 0x44ed8c |
0x0044ed6c lw t9, -0x6e04(gp) | t9 = sym.imp.RAND_bytes;
0x0044ed70 lw a0, -0x7de8(gp) | a0 = *(gp);
0x0044ed74 addiu a1, zero, 0x10 | a1 = 0x10;
0x0044ed78 jalr t9 | t9 ();
0x0044ed7c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0044ed80 blez v0, 0x44ef54 | goto label_3;
| }
0x0044ed84 addiu t8, zero, 1 | t8 = 1;
0x0044ed88 sw t8, (s0) | *(s0) = t8;
| }
0x0044ed8c lw t9, -0x79d8(gp) | t9 = sym.imp.SSL_get_rbio;
0x0044ed90 move a0, s1 | a0 = s1;
0x0044ed94 jalr t9 | t9 ();
0x0044ed98 addiu a1, zero, 0x2e | a1 = 0x2e;
0x0044ed9c lw gp, 0x20(sp) | gp = *(var_20h);
0x0044eda0 move a0, v0 | a0 = v0;
0x0044eda4 move a2, zero | a2 = 0;
0x0044eda8 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044edac addiu a3, sp, 0x68 | a3 = sp + 0x68;
0x0044edb0 jalr t9 | t9 ();
0x0044edb4 addiu v0, zero, 2 | v0 = 2;
0x0044edb8 lhu t8, 0x68(sp) | t8 = *(var_68h);
0x0044edbc lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 == v0) {
0x0044edc0 beq t8, v0, 0x44ef04 | goto label_4;
| }
0x0044edc4 addiu v0, zero, 0xa | v0 = 0xa;
0x0044edc8 lw s1, -0x7f9c(gp) | s1 = *(gp);
| if (t8 == v0) {
0x0044edcc beq t8, v0, 0x44eef8 | goto label_5;
| }
0x0044edd0 addiu a1, zero, 0x415 | a1 = 0x415;
0x0044edd4 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0044edd8 move s4, zero | s4 = 0;
0x0044eddc lw t9, -0x73cc(gp) | t9 = sym.imp.OpenSSLDie;
| /* str.s_cb.c */
0x0044ede0 addiu a0, s1, -0x436c | a0 = s1 + -0x436c;
0x0044ede4 addiu a2, a2, -0x274 | a2 += -0x274;
0x0044ede8 jalr t9 | t9 ();
0x0044edec move a0, zero | a0 = 0;
0x0044edf0 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
| label_0:
0x0044edf4 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
| /* str.s_cb.c */
0x0044edf8 addiu a1, s1, -0x436c | a1 = s1 + -0x436c;
0x0044edfc addiu a2, zero, 0x418 | a2 = 0x418;
0x0044ee00 jalr t9 | t9 ();
0x0044ee04 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044ee08 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044ee0c beqz v0, 0x44ef74 | goto label_6;
| }
0x0044ee10 lhu t8, 0x68(sp) | t8 = *(var_68h);
0x0044ee14 addiu v0, zero, 2 | v0 = 2;
0x0044ee18 addiu v0, zero, 0xa | v0 = 0xa;
| if (t8 == v0) {
0x0044ee1c beq t8, v0, 0x44ef30 | goto label_7;
| }
0x0044ee20 lw t9, -0x73cc(gp) | t9 = sym.imp.OpenSSLDie;
| if (t8 != v0) {
0x0044ee24 bne t8, v0, 0x44ef14 | goto label_8;
| }
0x0044ee28 lbu v0, 0x6a(sp) | v0 = *(var_6ah);
0x0044ee2c addiu t8, s0, 2 | t8 = s0 + 2;
0x0044ee30 sb v0, (s0) | *(s0) = v0;
0x0044ee34 lbu v0, 0x6b(sp) | v0 = *(var_6bh);
0x0044ee38 sb v0, 1(s0) | *((s0 + 1)) = v0;
0x0044ee3c lw a1, 0x70(sp) | a1 = *(var_70h);
0x0044ee40 lw a0, 0x74(sp) | a0 = *(var_74h);
0x0044ee44 lw v1, 0x78(sp) | v1 = *(var_78h);
0x0044ee48 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x0044ee4c swl a1, 3(t8) | __asm ("swl a1, 3(t8)");
0x0044ee50 swr a1, (t8) | __asm ("swr a1, (t8)");
0x0044ee54 swl a0, 7(t8) | __asm ("swl a0, 7(t8)");
0x0044ee58 swr a0, 4(t8) | __asm ("swr a0, 4(t8)");
0x0044ee5c swl v1, 0xb(t8) | __asm ("swl v1, 0xb(t8)");
0x0044ee60 swr v1, 8(t8) | __asm ("swr v1, 8(t8)");
0x0044ee64 swl v0, 0xf(t8) | __asm ("swl v0, 0xf(t8)");
0x0044ee68 swr v0, 0xc(t8) | __asm ("swr v0, 0xc(t8)");
| label_1:
0x0044ee6c lw t9, -0x7294(gp) | t9 = sym.imp.EVP_sha1;
0x0044ee70 addiu s1, sp, 0x28 | s1 = sp + 0x28;
0x0044ee74 jalr t9 | t9 ();
0x0044ee78 addiu t8, sp, 0x84 | t8 = sp + 0x84;
0x0044ee7c lw gp, 0x20(sp) | gp = *(var_20h);
0x0044ee80 move a3, s0 | a3 = s0;
0x0044ee84 addiu a2, zero, 0x10 | a2 = 0x10;
0x0044ee88 move a0, v0 | a0 = v0;
0x0044ee8c lw a1, -0x7de8(gp) | a1 = *(gp);
0x0044ee90 lw t9, -0x7a54(gp) | t9 = sym.imp.HMAC;
0x0044ee94 sw t8, 0x18(sp) | *(var_18h) = t8;
0x0044ee98 sw s4, 0x10(sp) | *(var_10h) = s4;
0x0044ee9c sw s1, 0x14(sp) | *(var_14h) = s1;
0x0044eea0 jalr t9 | t9 ();
0x0044eea4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044eea8 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044eeac move a0, s0 | a0 = s0;
0x0044eeb0 jalr t9 | t9 ();
0x0044eeb4 move a0, s3 | a0 = s3;
0x0044eeb8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044eebc move a1, s1 | a1 = s1;
0x0044eec0 lw s0, 0x84(sp) | s0 = *(var_84h);
0x0044eec4 lw t9, -0x7ca0(gp) | t9 = sym.imp.memcpy;
0x0044eec8 move a2, s0 | a2 = s0;
0x0044eecc jalr t9 | t9 ();
0x0044eed0 addiu v0, zero, 1 | v0 = 1;
0x0044eed4 sw s0, (s2) | *(s2) = s0;
| label_2:
0x0044eed8 lw ra, 0x9c(sp) | ra = *(var_9ch);
0x0044eedc lw s4, 0x98(sp) | s4 = *(var_98h);
0x0044eee0 lw s3, 0x94(sp) | s3 = *(var_94h);
0x0044eee4 lw s2, 0x90(sp) | s2 = *(var_90h);
0x0044eee8 lw s1, 0x8c(sp) | s1 = *(var_8ch);
0x0044eeec lw s0, 0x88(sp) | s0 = *(var_88h);
0x0044eef0 addiu sp, sp, 0xa0 |
0x0044eef4 jr ra | return v0;
| label_5:
0x0044eef8 addiu a0, zero, 0x12 | a0 = 0x12;
0x0044eefc addiu s4, zero, 0x12 | s4 = 0x12;
0x0044ef00 b 0x44edf4 |
| } while (1);
| label_4:
0x0044ef04 addiu a0, zero, 6 | a0 = 6;
0x0044ef08 addiu s4, zero, 6 | s4 = 6;
0x0044ef0c lw s1, -0x7f9c(gp) | s1 = *(gp);
0x0044ef10 b 0x44edf4 | goto label_0;
| label_8:
0x0044ef14 lw a2, -0x7fd8(gp) | a2 = *(gp);
| /* str.s_cb.c */
0x0044ef18 addiu a0, s1, -0x436c | a0 = s1 + -0x436c;
0x0044ef1c addiu a1, zero, 0x42d | a1 = 0x42d;
0x0044ef20 addiu a2, a2, -0x274 | a2 += -0x274;
0x0044ef24 jalr t9 | t9 ();
0x0044ef28 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044ef2c b 0x44ee6c | goto label_1;
| label_7:
0x0044ef30 lbu v0, 0x6a(sp) | v0 = *(var_6ah);
0x0044ef34 addiu t8, s0, 2 | t8 = s0 + 2;
0x0044ef38 sb v0, (s0) | *(s0) = v0;
0x0044ef3c lbu v0, 0x6b(sp) | v0 = *(var_6bh);
0x0044ef40 sb v0, 1(s0) | *((s0 + 1)) = v0;
0x0044ef44 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0044ef48 swl v0, 5(s0) | __asm ("swl v0, 5(s0)");
0x0044ef4c swr v0, (t8) | __asm ("swr v0, (t8)");
0x0044ef50 b 0x44ee6c | goto label_1;
| label_3:
0x0044ef54 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044ef58 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044ef5c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044ef60 lw a0, (t8) | a0 = *(t8);
| /* str.error_setting_random_cookie_secret_n */
0x0044ef64 addiu a1, a1, -0x3af0 | a1 += -0x3af0;
0x0044ef68 jalr t9 | t9 ();
0x0044ef6c move v0, zero | v0 = 0;
0x0044ef70 b 0x44eed8 | goto label_2;
| label_6:
0x0044ef74 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044ef78 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044ef7c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044ef80 lw a0, (t8) | a0 = *(t8);
| /* str.out_of_memory_n */
0x0044ef84 addiu a1, a1, -0x1a30 | a1 += -0x1a30;
0x0044ef88 jalr t9 | t9 ();
0x0044ef8c move v0, zero | v0 = 0;
0x0044ef90 b 0x44eed8 | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x452f80 */
| #include <stdint.h>
|
; (fcn) sym.hex_prin () | void hex_prin () {
0x00452f80 lui gp, 5 |
0x00452f84 addiu gp, gp, -0x6ae0 |
0x00452f88 addu gp, gp, t9 | gp += t9;
| if (a2 <= 0) {
0x00452f8c blez a2, 0x452ffc | goto label_0;
| }
0x00452f90 nop |
0x00452f94 addiu sp, sp, -0x30 |
0x00452f98 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00452f9c sw s3, 0x28(sp) | *(var_28h) = s3;
0x00452fa0 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00452fa4 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00452fa8 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00452fac move s1, a0 | s1 = a0;
0x00452fb0 lw s2, -0x7f9c(gp) | s2 = *(gp);
0x00452fb4 move s0, a1 | s0 = a1;
0x00452fb8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00452fbc addu s3, a1, a2 | s3 = a1 + a2;
| /* str._02X_ */
0x00452fc0 addiu s2, s2, -0x2d9c | s2 += -0x2d9c;
| do {
0x00452fc4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00452fc8 move a0, s1 | a0 = s1;
0x00452fcc lbu a2, (s0) | a2 = *(s0);
0x00452fd0 move a1, s2 | a1 = s2;
0x00452fd4 addiu s0, s0, 1 | s0++;
0x00452fd8 jalr t9 | t9 ();
0x00452fdc lw gp, 0x10(sp) | gp = *(var_10h);
0x00452fe0 bne s0, s3, 0x452fc4 |
| } while (s0 != s3);
0x00452fe4 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00452fe8 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00452fec lw s2, 0x24(sp) | s2 = *(var_24h);
0x00452ff0 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00452ff4 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00452ff8 addiu sp, sp, 0x30 |
| label_0:
0x00452ffc jr ra | return;
0x00453000 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44a1f4 */
| #include <stdint.h>
|
; (fcn) sym.index_index () | void index_index () {
0x0044a1f4 lui gp, 5 |
0x0044a1f8 addiu gp, gp, 0x22ac |
0x0044a1fc addu gp, gp, t9 | gp += t9;
0x0044a200 addiu sp, sp, -0x30 |
0x0044a204 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0044a208 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0044a20c sw s0, 0x24(sp) | *(var_24h) = s0;
0x0044a210 move s1, a0 | s1 = a0;
0x0044a214 lw t8, -0x7e1c(gp) | t8 = *((gp - 8071));
0x0044a218 addiu a1, zero, 3 | a1 = 3;
0x0044a21c lw a3, -0x7e1c(gp) | a3 = *((gp - 8071));
0x0044a220 move a2, zero | a2 = 0;
0x0044a224 lw t9, -0x7300(gp) | t9 = sym.imp.TXT_DB_create_index;
0x0044a228 addiu t8, t8, 0x6254 | t8 += 0x6254;
0x0044a22c lw a0, 4(a0) | a0 = *((a0 + 1));
0x0044a230 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0044a234 sw t8, 0x10(sp) | *(var_10h) = t8;
0x0044a238 addiu a3, a3, 0x6a60 | a3 += 0x6a60;
0x0044a23c jalr t9 | t9 ();
0x0044a240 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a244 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044a248 beqz v0, 0x44a2ec | goto label_0;
| }
0x0044a24c lw t8, (s1) | t8 = *(s1);
0x0044a250 lw t8, -0x7df4(gp) | t8 = *((gp - 8061));
0x0044a254 bnez t8, 0x44a274 |
| while (v0 != 0) {
0x0044a258 addiu s0, zero, 1 | s0 = 1;
0x0044a25c move v0, s0 | v0 = s0;
0x0044a260 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044a264 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0044a268 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0044a26c addiu sp, sp, 0x30 |
0x0044a270 jr ra | return v0;
0x0044a274 addiu a1, zero, 5 | a1 = 5;
0x0044a278 lw a2, -0x7e1c(gp) | a2 = *((gp - 8071));
0x0044a27c lw a3, -0x7e1c(gp) | a3 = *((gp - 8071));
0x0044a280 addiu t8, t8, -0x65a8 | t8 += -0x65a8;
0x0044a284 lw t9, -0x7300(gp) | t9 = sym.imp.TXT_DB_create_index;
0x0044a288 addiu a2, a2, 0x6240 | a2 += 0x6240;
0x0044a28c lw a0, 4(s1) | a0 = *((s1 + 1));
0x0044a290 addiu a3, a3, 0x6a44 | a3 += 0x6a44;
0x0044a294 sw t8, 0x10(sp) | *(var_10h) = t8;
0x0044a298 jalr t9 | t9 ();
0x0044a29c lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a2a0 move s0, v0 | s0 = v0;
0x0044a2a4 bnez v0, 0x44a258 |
| }
0x0044a2a8 lw t8, 4(s1) | t8 = *((s1 + 1));
0x0044a2ac lw v0, -0x7fd4(gp) | v0 = *(gp);
0x0044a2b0 lw a2, 0x10(t8) | a2 = *((t8 + 4));
0x0044a2b4 lw a3, 0x14(t8) | a3 = *((t8 + 5));
0x0044a2b8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a2bc lw t8, 0x18(t8) | t8 = *((t8 + 6));
0x0044a2c0 lw a0, (v0) | a0 = *(v0);
| /* str.error_creating_name_index:__ld__ld__ld__n */
0x0044a2c4 addiu a1, a1, -0x4e08 | a1 += -0x4e08;
0x0044a2c8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a2cc sw t8, 0x10(sp) | *(var_10h) = t8;
0x0044a2d0 jalr t9 | t9 ();
0x0044a2d4 move v0, s0 | v0 = s0;
0x0044a2d8 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044a2dc lw s1, 0x28(sp) | s1 = *(var_28h);
0x0044a2e0 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0044a2e4 addiu sp, sp, 0x30 |
0x0044a2e8 jr ra | return v0;
| label_0:
0x0044a2ec lw t8, 4(s1) | t8 = *((s1 + 1));
0x0044a2f0 lw v0, -0x7fd4(gp) | v0 = *(gp);
0x0044a2f4 lw a2, 0x10(t8) | a2 = *((t8 + 4));
0x0044a2f8 lw a3, 0x14(t8) | a3 = *((t8 + 5));
0x0044a2fc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a300 lw t8, 0x18(t8) | t8 = *((t8 + 6));
0x0044a304 lw a0, (v0) | a0 = *(v0);
| /* str.error_creating_serial_number_index:__ld__ld__ld__n */
0x0044a308 addiu a1, a1, -0x4e3c | a1 += -0x4e3c;
0x0044a30c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a310 sw t8, 0x10(sp) | *(var_10h) = t8;
0x0044a314 jalr t9 | t9 ();
0x0044a318 move v0, s0 | v0 = s0;
0x0044a31c lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044a320 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0044a324 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0044a328 addiu sp, sp, 0x30 |
0x0044a32c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4503f0 */
| #include <stdint.h>
|
; (fcn) sym.init_client () | void init_client () {
0x004503f0 lui gp, 5 |
0x004503f4 addiu gp, gp, -0x3f50 |
0x004503f8 addu gp, gp, t9 | gp += t9;
0x004503fc addiu sp, sp, -0x60 |
0x00450400 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00450404 sw fp, 0x58(sp) | *(var_58h) = fp;
0x00450408 sw s7, 0x54(sp) | *(var_54h) = s7;
0x0045040c sw s6, 0x50(sp) | *(var_50h) = s6;
0x00450410 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x00450414 sw s4, 0x48(sp) | *(var_48h) = s4;
0x00450418 sw s3, 0x44(sp) | *(var_44h) = s3;
0x0045041c sw s2, 0x40(sp) | *(var_40h) = s2;
0x00450420 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x00450424 sw s0, 0x38(sp) | *(var_38h) = s0;
0x00450428 addiu t8, sp, 0x28 | t8 = sp + 0x28;
0x0045042c move s0, a1 | s0 = a1;
0x00450430 lw t9, -0x6d80(gp) | t9 = sym.imp.sscanf;
0x00450434 move s7, a0 | s7 = a0;
0x00450438 sw t8, 0x10(sp) | *(var_10h) = t8;
0x0045043c move a0, a1 | a0 = a1;
0x00450440 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00450444 addiu t8, sp, 0x2c | t8 = sp + 0x2c;
0x00450448 addiu s4, sp, 0x20 | s4 = sp + 0x20;
0x0045044c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00450450 move s5, a2 | s5 = a2;
0x00450454 sw t8, 0x14(sp) | *(var_14h) = t8;
0x00450458 move s6, a3 | s6 = a3;
0x0045045c sw zero, 0x34(sp) | *(var_34h) = 0;
| /* str._u._u._u._u */
0x00450460 addiu a1, a1, -0x33d0 | a1 += -0x33d0;
0x00450464 move a2, s4 | a2 = s4;
0x00450468 addiu a3, sp, 0x24 | a3 = sp + 0x24;
0x0045046c jalr t9 | t9 ();
0x00450470 addiu t8, zero, 4 | t8 = 4;
0x00450474 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == t8) {
0x00450478 beq v0, t8, 0x4505e8 | goto label_5;
| }
0x0045047c lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x00450480 addiu t8, zero, -1 | t8 = -1;
0x00450484 addiu s2, a1, 0x66a8 | s2 = a1 + 0x66a8;
0x00450488 lw s3, 0x94(s2) | s3 = *((s2 + 37));
| if (s3 != t8) {
0x0045048c bne s3, t8, 0x4505d4 | goto label_6;
| }
0x00450490 nop |
| do {
0x00450494 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00450498 move a0, s0 | a0 = s0;
0x0045049c addiu a1, a1, 0x66a8 | a1 += 0x66a8;
0x004504a0 addiu a2, zero, 0x80 | a2 = 0x80;
0x004504a4 jalr t9 | t9 ();
0x004504a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x004504ac beqz v0, 0x4508b8 | goto label_7;
| }
0x004504b0 lw s1, 0x12c(s2) | s1 = *((s2 + 75));
0x004504b4 sltu t8, s1, s3 | t8 = (s1 < s3) ? 1 : 0;
0x004504b8 move t8, s1 | t8 = s1;
| if (t8 == 0) {
0x004504bc beqz t8, 0x450930 | goto label_8;
| }
0x004504c0 addiu s3, zero, 1 | s3 = 1;
| label_0:
0x004504c4 move a0, s0 | a0 = s0;
| if (t8 != 0) {
0x004504c8 beqz t8, 0x4504e8 |
0x004504cc lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x004504d0 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x004504d4 addiu a2, zero, 0x80 | a2 = 0x80;
0x004504d8 addiu a1, a1, 0x6740 | a1 += 0x6740;
0x004504dc jalr t9 | t9 ();
0x004504e0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x004504e4 beqz v0, 0x4508f8 | goto label_9;
| }
| }
0x004504e8 lw t8, 0x1c4(s2) | t8 = *((s2 + 113));
0x004504ec addiu v1, zero, 2 | v1 = 2;
0x004504f0 sltu v0, t8, s1 | v0 = (t8 < s1) ? 1 : 0;
| if (v0 == 0) {
0x004504f4 movn s1, t8, v0 | s1 = t8;
| }
| if (v0 == 0) {
0x004504f8 movn s3, v1, v0 | s3 = v1;
| }
| if (t8 != 0) {
0x004504fc beqz t8, 0x450520 |
0x00450500 lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x00450504 move a0, s0 | a0 = s0;
0x00450508 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x0045050c addiu a2, zero, 0x80 | a2 = 0x80;
0x00450510 addiu a1, a1, 0x67d8 | a1 += 0x67d8;
0x00450514 jalr t9 | t9 ();
0x00450518 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0045051c beqz v0, 0x450900 | goto label_10;
| }
| }
0x00450520 lw t8, 0x25c(s2) | t8 = *((s2 + 151));
0x00450524 addiu v0, zero, 3 | v0 = 3;
0x00450528 sltu s1, t8, s1 | s1 = (t8 < s1) ? 1 : 0;
| if (s1 == 0) {
0x0045052c movn s3, v0, s1 | s3 = v0;
| }
| if (t8 != 0) {
0x00450530 beqz t8, 0x450554 |
0x00450534 lw a1, -0x7fc8(gp) | a1 = *((gp - 8178));
0x00450538 move a0, s0 | a0 = s0;
0x0045053c lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00450540 addiu a2, zero, 0x80 | a2 = 0x80;
0x00450544 addiu a1, a1, 0x6870 | a1 += 0x6870;
0x00450548 jalr t9 | t9 ();
0x0045054c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00450550 beqz v0, 0x450908 | goto label_11;
| }
| }
0x00450554 lw fp, -0x7fc8(gp) | fp = *((gp - 8178));
0x00450558 move a0, s0 | a0 = s0;
0x0045055c lw t9, -0x6fdc(gp) | t9 = sym.imp.gethostbyname;
0x00450560 lw t8, 0x66a0(fp) | t8 = *(arg_66a0h);
0x00450564 addiu t8, t8, 1 | t8++;
0x00450568 sw t8, 0x66a0(fp) | *(arg_66a0h) = t8;
0x0045056c jalr t9 | t9 ();
0x00450570 lw gp, 0x18(sp) | gp = *(var_18h);
0x00450574 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00450578 beqz v0, 0x450910 | goto label_12;
| }
0x0045057c lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x00450580 move a0, s0 | a0 = s0;
0x00450584 jalr t9 | t9 ();
0x00450588 sltiu t8, v0, 0x80 | t8 = (v0 < 0x80) ? 1 : 0;
0x0045058c lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 != 0) {
0x00450590 bnez t8, 0x4507a4 | goto label_13;
| }
0x00450594 move s2, s1 | s2 = s1;
| label_2:
0x00450598 lh v0, 8(s2) | v0 = *((s2 + 4));
0x0045059c addiu t8, zero, 2 | t8 = 2;
0x004505a0 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (v0 != t8) {
0x004505a4 bne v0, t8, 0x450830 | goto label_14;
| }
0x004505a8 lw t8, 0x10(s2) | t8 = *((s2 + 4));
0x004505ac lw v0, (t8) | v0 = *(t8);
0x004505b0 lbu a0, (v0) | a0 = *(v0);
0x004505b4 lbu v1, 1(v0) | v1 = *((v0 + 1));
0x004505b8 lbu t8, 2(v0) | t8 = *((v0 + 2));
0x004505bc lbu v0, 3(v0) | v0 = *((v0 + 3));
0x004505c0 sb a0, 0x34(sp) | *(var_34h) = a0;
0x004505c4 sb v1, 0x35(sp) | *(var_35h) = v1;
0x004505c8 sb t8, 0x36(sp) | *(var_36h) = t8;
0x004505cc sb v0, 0x37(sp) | *(var_37h) = v0;
0x004505d0 b 0x45063c | goto label_15;
| label_6:
0x004505d4 move s1, s3 | s1 = s3;
0x004505d8 bnez s3, 0x450494 |
| } while (s3 != 0);
0x004505dc lw t8, 0x12c(s2) | t8 = *((s2 + 75));
0x004505e0 move s3, zero | s3 = 0;
0x004505e4 b 0x4504c4 | goto label_0;
| label_5:
0x004505e8 lw a0, 0x20(sp) | a0 = *(var_20h);
0x004505ec sltiu t8, a0, 0x100 | t8 = (a0 < 0x100) ? 1 : 0;
0x004505f0 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (t8 == 0) {
0x004505f4 beqz t8, 0x450784 | goto label_16;
| }
0x004505f8 sltiu t8, v1, 0x100 | t8 = (v1 < 0x100) ? 1 : 0;
0x004505fc lw t8, 0x28(sp) | t8 = *(var_28h);
| if (t8 == 0) {
0x00450600 beqz t8, 0x450784 | goto label_16;
| }
0x00450604 sltiu v0, t8, 0x100 | v0 = (t8 < 0x100) ? 1 : 0;
| if (v0 == 0) {
0x00450608 beqz v0, 0x450784 | goto label_16;
| }
0x0045060c nop |
0x00450610 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00450614 sltiu a1, v0, 0x100 | a1 = (v0 < 0x100) ? 1 : 0;
0x00450618 andi a0, a0, 0xff | a0 &= 0xff;
| if (a1 == 0) {
0x0045061c beqz a1, 0x450784 | goto label_16;
| }
0x00450620 andi v1, v1, 0xff | v1 &= 0xff;
0x00450624 sb a0, 0x34(sp) | *(var_34h) = a0;
0x00450628 andi t8, t8, 0xff | t8 &= 0xff;
0x0045062c sb v1, 0x35(sp) | *(var_35h) = v1;
0x00450630 andi v0, v0, 0xff | v0 &= 0xff;
0x00450634 sb t8, 0x36(sp) | *(var_36h) = t8;
0x00450638 sb v0, 0x37(sp) | *(var_37h) = v0;
| label_15:
0x0045063c sll a0, a0, 0x18 | a0 <<= 0x18;
0x00450640 lw t9, -0x7de4(gp) | t9 = sym.__bswapsi2;
0x00450644 andi a1, s5, 0xffff | a1 = s5 & 0xffff;
0x00450648 sw zero, 0x24(sp) | *(var_24h) = 0;
0x0045064c sll v1, v1, 0x10 | v1 <<= 0x10;
0x00450650 sw zero, 0x28(sp) | *(var_28h) = 0;
0x00450654 or v1, a0, v1 | v1 = a0 | v1;
0x00450658 addiu a0, zero, 2 | a0 = 2;
0x0045065c srl a1, a1, 8 | a1 >>= 8;
0x00450660 sh a0, 0x20(sp) | *(var_20h) = a0;
0x00450664 sll s5, s5, 8 | s5 <<= 8;
0x00450668 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0045066c sll a0, t8, 8 | a0 = t8 << 8;
0x00450670 or s5, a1, s5 | s5 = a1 | s5;
0x00450674 or v0, v1, v0 | v0 = v1 | v0;
0x00450678 sh s5, 0x22(sp) | *(var_22h) = s5;
0x0045067c or a0, v0, a0 | a0 = v0 | a0;
0x00450680 jalr t9 | t9 ();
0x00450684 addiu t8, zero, 2 | t8 = 2;
0x00450688 lw gp, 0x18(sp) | gp = *(var_18h);
0x0045068c addiu a0, zero, 2 | a0 = 2;
0x00450690 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00450694 lw t9, -0x7698(gp) | t9 = sym.imp.socket;
| if (s6 == t8) {
0x00450698 beq s6, t8, 0x450710 | goto label_17;
| }
0x0045069c addiu a1, zero, 1 | a1 = 1;
0x004506a0 addiu a2, zero, 0x11 | a2 = 0x11;
0x004506a4 jalr t9 | t9 ();
0x004506a8 addiu t8, zero, -1 | t8 = -1;
0x004506ac lw gp, 0x18(sp) | gp = *(var_18h);
0x004506b0 move s0, v0 | s0 = v0;
| if (v0 == t8) {
0x004506b4 beq v0, t8, 0x450878 | goto label_18;
| }
| do {
0x004506b8 lw t9, -0x6cf0(gp) | t9 = sym.imp.connect;
0x004506bc move a0, s0 | a0 = s0;
0x004506c0 move a1, s4 | a1 = s4;
0x004506c4 addiu a2, zero, 0x10 | a2 = 0x10;
0x004506c8 jalr t9 | t9 ();
0x004506cc addiu t8, zero, -1 | t8 = -1;
0x004506d0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == t8) {
0x004506d4 beq v0, t8, 0x450890 | goto label_19;
| }
0x004506d8 sw s0, (s7) | *(s7) = s0;
0x004506dc addiu v0, zero, 1 | v0 = 1;
| label_1:
0x004506e0 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x004506e4 lw fp, 0x58(sp) | fp = *(var_58h);
0x004506e8 lw s7, 0x54(sp) | s7 = *(var_54h);
0x004506ec lw s6, 0x50(sp) | s6 = *(var_50h);
0x004506f0 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x004506f4 lw s4, 0x48(sp) | s4 = *(var_48h);
0x004506f8 lw s3, 0x44(sp) | s3 = *(var_44h);
0x004506fc lw s2, 0x40(sp) | s2 = *(var_40h);
0x00450700 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x00450704 lw s0, 0x38(sp) | s0 = *(var_38h);
0x00450708 addiu sp, sp, 0x60 |
0x0045070c jr ra | return v0;
| label_17:
0x00450710 addiu a1, zero, 2 | a1 = 2;
0x00450714 addiu a2, zero, 6 | a2 = 6;
0x00450718 jalr t9 | t9 ();
0x0045071c addiu t8, zero, -1 | t8 = -1;
0x00450720 lw gp, 0x18(sp) | gp = *(var_18h);
0x00450724 move s0, v0 | s0 = v0;
| if (v0 == t8) {
0x00450728 beq v0, t8, 0x450878 | goto label_18;
| }
0x0045072c lw t9, -0x7950(gp) | t9 = sym.imp.setsockopt;
0x00450730 addiu t8, zero, 4 | t8 = 4;
0x00450734 move a0, v0 | a0 = v0;
0x00450738 ori a1, zero, 0xffff | a1 = 0xffff;
0x0045073c sw t8, 0x10(sp) | *(var_10h) = t8;
0x00450740 addiu a2, zero, 8 | a2 = 8;
0x00450744 addiu a3, sp, 0x30 | a3 = sp + 0x30;
0x00450748 sw zero, 0x30(sp) | *(var_30h) = 0;
0x0045074c jalr t9 | t9 ();
0x00450750 lw gp, 0x18(sp) | gp = *(var_18h);
0x00450754 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00450758 bgez v0, 0x4506b8 |
| } while (v0 >= 0);
0x0045075c lw t9, -0x76ac(gp) | t9 = sym.imp.close;
0x00450760 move a0, s0 | a0 = s0;
0x00450764 jalr t9 | t9 ();
0x00450768 lw gp, 0x18(sp) | gp = *(var_18h);
0x0045076c lw a0, -0x7f9c(gp) | a0 = *(gp);
0x00450770 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.keepalive */
0x00450774 addiu a0, a0, -0x3384 | a0 += -0x3384;
0x00450778 jalr t9 | t9 ();
0x0045077c move v0, zero | v0 = 0;
0x00450780 b 0x4506e0 | goto label_1;
| label_16:
0x00450784 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00450788 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0045078c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00450790 lw a0, (t8) | a0 = *(t8);
| /* str.invalid_IP_address_n */
0x00450794 addiu a1, a1, -0x33c4 | a1 += -0x33c4;
0x00450798 jalr t9 | t9 ();
0x0045079c move v0, zero | v0 = 0;
0x004507a0 b 0x4506e0 | goto label_1;
| label_13:
0x004507a4 addiu t8, zero, 0x98 | t8 = 0x98;
0x004507a8 move a1, s0 | a1 = s0;
0x004507ac mult s3, t8 | __asm ("mult s3, t8");
0x004507b0 lw t9, -0x7ca0(gp) | t9 = sym.imp.memcpy;
0x004507b4 addiu a2, v0, 1 | a2 = v0 + 1;
0x004507b8 mflo s3 | __asm ("mflo s3");
0x004507bc addu t0, s2, s3 | t0 = s2 + s3;
0x004507c0 move a0, t0 | a0 = t0;
0x004507c4 jalr t9 | t9 ();
0x004507c8 addiu t8, s3, 0x80 | t8 = s3 + 0x80;
0x004507cc lw gp, 0x18(sp) | gp = *(var_18h);
0x004507d0 move t0, v0 | t0 = v0;
0x004507d4 lwl a3, 3(s1) | __asm ("lwl a3, 3(s1)");
0x004507d8 addu t8, s2, t8 | t8 = s2 + t8;
0x004507dc lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x004507e0 move s2, s1 | s2 = s1;
0x004507e4 lwl a2, 7(s1) | __asm ("lwl a2, 7(s1)");
0x004507e8 lwl a1, 0xb(s1) | __asm ("lwl a1, 0xb(s1)");
0x004507ec lwl v1, 0xf(s1) | __asm ("lwl v1, 0xf(s1)");
0x004507f0 lwl v0, 0x13(s1) | __asm ("lwl v0, 0x13(s1)");
0x004507f4 lw t1, 0x66a4(a0) | t1 = *((a0 + 6569));
0x004507f8 lw a0, 0x66a0(fp) | a0 = *(arg_66a0h);
0x004507fc lwr a3, (s1) | __asm ("lwr a3, (s1)");
0x00450800 lwr a2, 4(s1) | __asm ("lwr a2, 4(s1)");
0x00450804 addu a0, t1, a0 | a0 = t1 + a0;
0x00450808 lwr a1, 8(s1) | __asm ("lwr a1, 8(s1)");
0x0045080c lwr v1, 0xc(s1) | __asm ("lwr v1, 0xc(s1)");
0x00450810 lwr v0, 0x10(s1) | __asm ("lwr v0, 0x10(s1)");
0x00450814 sw a3, (t8) | *(t8) = a3;
0x00450818 sw a2, 4(t8) | *((t8 + 4)) = a2;
0x0045081c sw a1, 8(t8) | *((t8 + 8)) = a1;
0x00450820 sw v1, 0xc(t8) | *((t8 + 12)) = v1;
0x00450824 sw v0, 0x10(t8) | *((t8 + 16)) = v0;
0x00450828 sw a0, 0x94(t0) | *((t0 + 37)) = a0;
0x0045082c b 0x450598 | goto label_2;
| label_14:
0x00450830 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00450834 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00450838 lw a0, (t8) | a0 = *(t8);
| /* str.gethostbyname_addr_is_not_AF_INET_n */
0x0045083c addiu a1, a1, -0x33b0 | a1 += -0x33b0;
0x00450840 jalr t9 | t9 ();
0x00450844 move v0, zero | v0 = 0;
| label_4:
0x00450848 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0045084c lw fp, 0x58(sp) | fp = *(var_58h);
0x00450850 lw s7, 0x54(sp) | s7 = *(var_54h);
0x00450854 lw s6, 0x50(sp) | s6 = *(var_50h);
0x00450858 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0045085c lw s4, 0x48(sp) | s4 = *(var_48h);
0x00450860 lw s3, 0x44(sp) | s3 = *(var_44h);
0x00450864 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00450868 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0045086c lw s0, 0x38(sp) | s0 = *(var_38h);
0x00450870 addiu sp, sp, 0x60 |
0x00450874 jr ra | return v0;
| label_18:
0x00450878 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x0045087c lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.socket */
0x00450880 addiu a0, a0, -0x338c | a0 += -0x338c;
0x00450884 jalr t9 | t9 ();
0x00450888 move v0, zero | v0 = 0;
0x0045088c b 0x4506e0 | goto label_1;
| label_19:
0x00450890 lw t9, -0x76ac(gp) | t9 = sym.imp.close;
0x00450894 move a0, s0 | a0 = s0;
0x00450898 jalr t9 | t9 ();
0x0045089c lw gp, 0x18(sp) | gp = *(var_18h);
0x004508a0 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x004508a4 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* esilref: 'connect' */
0x004508a8 addiu a0, a0, -0x4250 | a0 += -0x4250;
0x004508ac jalr t9 | t9 ();
0x004508b0 move v0, zero | v0 = 0;
0x004508b4 b 0x4506e0 | goto label_1;
| label_7:
0x004508b8 move v1, zero | v1 = 0;
| do {
| label_3:
0x004508bc addiu v0, zero, 0x98 | v0 = 0x98;
0x004508c0 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x004508c4 mult v1, v0 | __asm ("mult v1, v0");
0x004508c8 lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x004508cc lw v0, 0x66a4(t8) | v0 = *((t8 + 6569));
0x004508d0 lw a1, 0x66a0(a0) | a1 = *((a0 + 6568));
0x004508d4 mflo v1 | __asm ("mflo v1");
0x004508d8 addiu v0, v0, 1 | v0++;
0x004508dc addu a0, s2, v1 | a0 = s2 + v1;
0x004508e0 addu a1, v0, a1 | a1 = v0 + a1;
0x004508e4 addiu v1, v1, 0x80 | v1 += 0x80;
0x004508e8 sw v0, 0x66a4(t8) | *((t8 + 26276)) = v0;
0x004508ec addu s2, s2, v1 | s2 += v1;
0x004508f0 sw a1, 0x94(a0) | *((a0 + 37)) = a1;
0x004508f4 b 0x450598 | goto label_2;
| label_9:
0x004508f8 addiu v1, zero, 1 | v1 = 1;
0x004508fc b 0x4508bc |
| } while (1);
| label_10:
0x00450900 addiu v1, zero, 2 | v1 = 2;
0x00450904 b 0x4508bc | goto label_3;
| label_11:
0x00450908 addiu v1, zero, 3 | v1 = 3;
0x0045090c b 0x4508bc | goto label_3;
| label_12:
0x00450910 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00450914 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00450918 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0045091c lw a0, (t8) | a0 = *(t8);
| /* str.gethostbyname_failure_n */
0x00450920 addiu a1, a1, -0x3378 | a1 += -0x3378;
0x00450924 jalr t9 | t9 ();
0x00450928 move v0, zero | v0 = 0;
0x0045092c b 0x450848 | goto label_4;
| label_8:
0x00450930 move s1, s3 | s1 = s3;
0x00450934 move s3, zero | s3 = 0;
0x00450938 b 0x4504c4 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x42f11c */
| #include <stdint.h>
|
; (fcn) sym.init_gen_str () | void init_gen_str () {
0x0042f11c lui gp, 7 |
0x0042f120 addiu gp, gp, -0x2c7c |
0x0042f124 addu gp, gp, t9 | gp += t9;
0x0042f128 addiu sp, sp, -0x40 |
0x0042f12c sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0042f130 sw s4, 0x38(sp) | *(var_38h) = s4;
0x0042f134 sw s3, 0x34(sp) | *(var_34h) = s3;
0x0042f138 sw s2, 0x30(sp) | *(var_30h) = s2;
0x0042f13c sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0042f140 sw s0, 0x28(sp) | *(var_28h) = s0;
0x0042f144 move s0, a1 | s0 = a1;
0x0042f148 lw t8, (a1) | t8 = *(a1);
0x0042f14c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0042f150 sw zero, 0x24(sp) | *(var_24h) = 0;
| if (t8 != 0) {
0x0042f154 beqz t8, 0x42f18c |
0x0042f158 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0042f15c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Algorithm_already_set__n */
0x0042f160 addiu a1, a1, 0x54f4 | a1 += 0x54f4;
0x0042f164 jalr t9 | t9 ();
0x0042f168 move v0, zero | v0 = 0;
| label_0:
0x0042f16c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0042f170 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0042f174 lw s3, 0x34(sp) | s3 = *(var_34h);
0x0042f178 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0042f17c lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0042f180 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0042f184 addiu sp, sp, 0x40 |
0x0042f188 jr ra | return v0;
| }
0x0042f18c lw t9, -0x7b8c(gp) | t9 = sym.imp.EVP_PKEY_asn1_find_str;
0x0042f190 move a1, a2 | a1 = a2;
0x0042f194 move s3, a0 | s3 = a0;
0x0042f198 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x0042f19c move s1, a2 | s1 = a2;
0x0042f1a0 addiu a2, zero, -1 | a2 = -1;
0x0042f1a4 move s2, a3 | s2 = a3;
0x0042f1a8 jalr t9 | t9 ();
0x0042f1ac move s4, v0 | s4 = v0;
0x0042f1b0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0042f1b4 beqz v0, 0x42f2b8 | goto label_2;
| }
| label_1:
0x0042f1b8 lw t9, -0x7464(gp) | t9 = sym.imp.ERR_clear_error;
0x0042f1bc jalr t9 | t9 ();
0x0042f1c0 nop |
0x0042f1c4 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0042f1c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0042f1cc move a1, zero | a1 = 0;
0x0042f1d0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0042f1d4 move a2, zero | a2 = 0;
0x0042f1d8 lw t9, -0x7964(gp) | t9 = sym.imp.EVP_PKEY_asn1_get0_info;
0x0042f1dc move a3, zero | a3 = 0;
0x0042f1e0 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0042f1e4 jalr t9 | t9 ();
0x0042f1e8 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0042f1ec lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != 0) {
0x0042f1f0 beqz a0, 0x42f204 |
0x0042f1f4 lw t9, -0x7028(gp) | t9 = sym.imp.ENGINE_finish;
0x0042f1f8 jalr t9 | t9 ();
0x0042f1fc nop |
0x0042f200 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0042f204 lw t9, -0x7324(gp) | t9 = sym.imp.EVP_PKEY_CTX_new_id;
0x0042f208 move a1, s2 | a1 = s2;
0x0042f20c lw a0, 0x20(sp) | a0 = *(var_20h);
0x0042f210 jalr t9 | t9 ();
0x0042f214 lw gp, 0x18(sp) | gp = *(var_18h);
0x0042f218 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0042f21c beqz v0, 0x42f300 | goto label_3;
| }
0x0042f220 lw t8, 0x50(sp) | t8 = *(arg_50h);
0x0042f224 lw t9, -0x7c48(gp) | t9 = sym.imp.EVP_PKEY_keygen_init;
| if (t8 == 0) {
0x0042f228 beqz t8, 0x42f268 | goto label_4;
| }
0x0042f22c lw t9, -0x7614(gp) | t9 = sym.imp.EVP_PKEY_paramgen_init;
0x0042f230 move a0, v0 | a0 = v0;
0x0042f234 jalr t9 | t9 ();
0x0042f238 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x0042f23c blez v0, 0x42f278 | goto label_5;
| }
| do {
0x0042f240 sw s2, (s0) | *(s0) = s2;
0x0042f244 addiu v0, zero, 1 | v0 = 1;
0x0042f248 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0042f24c lw s4, 0x38(sp) | s4 = *(var_38h);
0x0042f250 lw s3, 0x34(sp) | s3 = *(var_34h);
0x0042f254 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0042f258 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0042f25c lw s0, 0x28(sp) | s0 = *(var_28h);
0x0042f260 addiu sp, sp, 0x40 |
0x0042f264 jr ra | return v0;
| label_4:
0x0042f268 move a0, v0 | a0 = v0;
0x0042f26c jalr t9 | t9 ();
0x0042f270 lw gp, 0x18(sp) | gp = *(var_18h);
0x0042f274 bgtz v0, 0x42f240 |
| } while (v0 > 0);
| label_5:
0x0042f278 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0042f27c move a2, s1 | a2 = s1;
0x0042f280 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0042f284 move a0, s3 | a0 = s3;
| /* str.Error_initializing__s_context_n */
0x0042f288 addiu a1, a1, 0x5524 | a1 += 0x5524;
0x0042f28c jalr t9 | t9 ();
0x0042f290 lw gp, 0x18(sp) | gp = *(var_18h);
0x0042f294 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0042f298 move a0, s3 | a0 = s3;
0x0042f29c jalr t9 | t9 ();
0x0042f2a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0042f2a4 lw t9, -0x7288(gp) | t9 = sym.imp.EVP_PKEY_CTX_free;
0x0042f2a8 move a0, s2 | a0 = s2;
0x0042f2ac jalr t9 | t9 ();
0x0042f2b0 move v0, zero | v0 = 0;
0x0042f2b4 b 0x42f16c | goto label_0;
| label_2:
0x0042f2b8 lw t9, -0x74b8(gp) | t9 = sym.imp.ENGINE_get_pkey_asn1_meth_str;
| if (s2 == 0) {
0x0042f2bc beqz s2, 0x42f2dc | goto label_6;
| }
0x0042f2c0 move a0, s2 | a0 = s2;
0x0042f2c4 move a1, s1 | a1 = s1;
0x0042f2c8 addiu a2, zero, -1 | a2 = -1;
0x0042f2cc jalr t9 | t9 ();
0x0042f2d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0042f2d4 move s4, v0 | s4 = v0;
| if (v0 != 0) {
0x0042f2d8 bnez v0, 0x42f1b8 | goto label_1;
| }
| label_6:
0x0042f2dc lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0042f2e0 move a2, s1 | a2 = s1;
0x0042f2e4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0042f2e8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0042f2ec lw a0, (t8) | a0 = *(t8);
| /* str.Algorithm__s_not_found_n */
0x0042f2f0 addiu a1, a1, 0x550c | a1 += 0x550c;
0x0042f2f4 jalr t9 | t9 ();
0x0042f2f8 move v0, zero | v0 = 0;
0x0042f2fc b 0x42f16c | goto label_0;
| label_3:
0x0042f300 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0042f304 move a0, s3 | a0 = s3;
0x0042f308 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0042f30c move a2, s1 | a2 = s1;
| /* str.Error_initializing__s_context_n */
0x0042f310 addiu a1, a1, 0x5524 | a1 += 0x5524;
0x0042f314 jalr t9 | t9 ();
0x0042f318 lw gp, 0x18(sp) | gp = *(var_18h);
0x0042f31c lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0042f320 move a0, s3 | a0 = s3;
0x0042f324 jalr t9 | t9 ();
0x0042f328 move v0, zero | v0 = 0;
0x0042f32c b 0x42f16c | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x447a44 */
| #include <stdint.h>
|
; (fcn) sym.load_cert_crl_http () | void load_cert_crl_http () {
0x00447a44 lui gp, 5 |
0x00447a48 addiu gp, gp, 0x4a5c |
0x00447a4c addu gp, gp, t9 | gp += t9;
0x00447a50 addiu sp, sp, -0x58 |
0x00447a54 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00447a58 sw s7, 0x50(sp) | *(var_50h) = s7;
0x00447a5c sw s6, 0x4c(sp) | *(var_4ch) = s6;
0x00447a60 sw s5, 0x48(sp) | *(var_48h) = s5;
0x00447a64 sw s4, 0x44(sp) | *(var_44h) = s4;
0x00447a68 sw s3, 0x40(sp) | *(var_40h) = s3;
0x00447a6c sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x00447a70 sw s1, 0x38(sp) | *(var_38h) = s1;
0x00447a74 sw s0, 0x34(sp) | *(var_34h) = s0;
0x00447a78 addiu t8, sp, 0x20 | t8 = sp + 0x20;
0x00447a7c lw t9, -0x7c90(gp) | t9 = sym.imp.OCSP_parse_url;
0x00447a80 move s3, a1 | s3 = a1;
0x00447a84 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00447a88 move s4, a2 | s4 = a2;
0x00447a8c sw t8, 0x10(sp) | *(var_10h) = t8;
0x00447a90 addiu a1, sp, 0x2c | a1 = sp + 0x2c;
0x00447a94 move s6, a3 | s6 = a3;
0x00447a98 addiu a2, sp, 0x28 | a2 = sp + 0x28;
0x00447a9c addiu a3, sp, 0x24 | a3 = sp + 0x24;
0x00447aa0 move s5, a0 | s5 = a0;
0x00447aa4 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00447aa8 sw zero, 0x28(sp) | *(var_28h) = 0;
0x00447aac sw zero, 0x24(sp) | *(var_24h) = 0;
0x00447ab0 jalr t9 | t9 ();
0x00447ab4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00447ab8 beqz v0, 0x447ae4 | goto label_4;
| }
0x00447abc lw t8, 0x20(sp) | t8 = *(var_20h);
0x00447ac0 lw t9, -0x7574(gp) | t9 = sym.imp.BIO_new_connect;
| if (t8 == 0) {
0x00447ac4 beqz t8, 0x447be0 | goto label_5;
| }
0x00447ac8 move a0, s3 | a0 = s3;
| if (s3 == 0) {
0x00447acc beqz s3, 0x447ae4 | goto label_4;
| }
0x00447ad0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447ad4 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.https_not_supported_n */
0x00447ad8 addiu a1, a1, -0x5108 | a1 += -0x5108;
0x00447adc jalr t9 | t9 ();
0x00447ae0 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_4:
0x00447ae4 move s1, zero | s1 = 0;
0x00447ae8 move s2, zero | s2 = 0;
0x00447aec move s0, zero | s0 = 0;
| label_0:
0x00447af0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
| label_3:
0x00447af4 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x00447af8 beqz a0, 0x447b08 |
0x00447afc jalr t9 | t9 ();
0x00447b00 nop |
0x00447b04 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b08 lw a0, 0x24(sp) | a0 = *(var_24h);
0x00447b0c lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x00447b10 beqz a0, 0x447b20 |
0x00447b14 jalr t9 | t9 ();
0x00447b18 nop |
0x00447b1c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b20 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00447b24 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x00447b28 beqz a0, 0x447b38 |
0x00447b2c jalr t9 | t9 ();
0x00447b30 nop |
0x00447b34 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b38 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
| if (s0 != 0) {
0x00447b3c beqz s0, 0x447b4c |
0x00447b40 move a0, s0 | a0 = s0;
0x00447b44 jalr t9 | t9 ();
0x00447b48 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b4c lw t9, -0x7ac0(gp) | t9 = sym.imp.OCSP_REQ_CTX_free;
| if (s2 != 0) {
0x00447b50 beqz s2, 0x447b60 |
0x00447b54 move a0, s2 | a0 = s2;
0x00447b58 jalr t9 | t9 ();
0x00447b5c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b60 addiu t8, zero, 1 | t8 = 1;
0x00447b64 move v0, s1 | v0 = s1;
| if (s1 != t8) {
0x00447b68 beq s1, t8, 0x447bb4 |
0x00447b6c lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
| if (s0 == 0) {
0x00447b70 beqz s0, 0x447c2c | goto label_6;
| }
0x00447b74 lw s0, -0x7fd4(gp) | s0 = *(gp);
| if (s3 != 0) {
0x00447b78 beqz s3, 0x447ba8 |
0x00447b7c lw a0, (s0) | a0 = *(s0);
| if (s4 == 0) {
0x00447b80 beqz s4, 0x447c20 | goto label_7;
| }
0x00447b84 lw a2, -0x7fd8(gp) | a2 = *(gp);
| /* str.certificate */
0x00447b88 addiu a2, a2, 0xbf4 | a2 += 0xbf4;
| label_1:
0x00447b8c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447b90 move a3, s5 | a3 = s5;
0x00447b94 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_loading__s_from__s_n */
0x00447b98 addiu a1, a1, -0x50e4 | a1 += -0x50e4;
0x00447b9c jalr t9 | t9 ();
0x00447ba0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447ba4 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
| }
0x00447ba8 lw a0, (s0) | a0 = *(s0);
0x00447bac jalr t9 | t9 ();
0x00447bb0 move v0, s1 | v0 = s1;
| }
| label_2:
0x00447bb4 lw ra, 0x54(sp) | ra = *(var_54h);
0x00447bb8 lw s7, 0x50(sp) | s7 = *(var_50h);
0x00447bbc lw s6, 0x4c(sp) | s6 = *(var_4ch);
0x00447bc0 lw s5, 0x48(sp) | s5 = *(var_48h);
0x00447bc4 lw s4, 0x44(sp) | s4 = *(var_44h);
0x00447bc8 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00447bcc lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00447bd0 lw s1, 0x38(sp) | s1 = *(var_38h);
0x00447bd4 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00447bd8 addiu sp, sp, 0x58 |
0x00447bdc jr ra | return v0;
| label_5:
0x00447be0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00447be4 jalr t9 | t9 ();
0x00447be8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447bec move s0, v0 | s0 = v0;
0x00447bf0 beqz v0, 0x447ae4 |
| } while (v0 == 0);
0x00447bf4 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00447bf8 move a0, v0 | a0 = v0;
0x00447bfc lw a3, 0x28(sp) | a3 = *(var_28h);
0x00447c00 addiu a1, zero, 0x64 | a1 = 0x64;
0x00447c04 addiu a2, zero, 1 | a2 = 1;
0x00447c08 jalr t9 | t9 ();
0x00447c0c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00447c10 bnez v0, 0x447c40 |
0x00447c14 move s1, zero | s1 = 0;
0x00447c18 move s2, zero | s2 = 0;
0x00447c1c b 0x447af0 | goto label_0;
| label_7:
0x00447c20 lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* esilref: 'CRL' */
0x00447c24 addiu a2, a2, -0x510c | a2 += -0x510c;
0x00447c28 b 0x447b8c | goto label_1;
| label_6:
0x00447c2c lw s0, -0x7fd4(gp) | s0 = *(gp);
0x00447c30 lw a0, (s0) | a0 = *(s0);
0x00447c34 jalr t9 | t9 ();
0x00447c38 move v0, s1 | v0 = s1;
0x00447c3c b 0x447bb4 | goto label_2;
| }
0x00447c40 lw t9, -0x7c64(gp) | t9 = sym.imp.OCSP_REQ_CTX_new;
0x00447c44 move a0, s0 | a0 = s0;
0x00447c48 addiu a1, zero, 0x400 | a1 = 0x400;
0x00447c4c jalr t9 | t9 ();
0x00447c50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447c54 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x00447c58 beqz v0, 0x447c7c | goto label_8;
| }
0x00447c5c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447c60 move a0, v0 | a0 = v0;
0x00447c64 lw t9, -0x6d34(gp) | t9 = sym.imp.OCSP_REQ_CTX_http;
0x00447c68 lw a2, 0x24(sp) | a2 = *(var_24h);
| /* esilref: 'GET' */
0x00447c6c addiu a1, a1, -0x50f0 | a1 += -0x50f0;
0x00447c70 jalr t9 | t9 ();
0x00447c74 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447c78 bnez v0, 0x447c84 |
| while (v0 == 0) {
| label_8:
0x00447c7c move s1, zero | s1 = 0;
0x00447c80 b 0x447af0 | goto label_0;
0x00447c84 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447c88 move a0, s2 | a0 = s2;
0x00447c8c lw t9, -0x6d08(gp) | t9 = sym.imp.OCSP_REQ_CTX_add1_header;
0x00447c90 lw a2, 0x2c(sp) | a2 = *(var_2ch);
| /* str.Host */
0x00447c94 addiu a1, a1, -0x50ec | a1 += -0x50ec;
0x00447c98 jalr t9 | t9 ();
0x00447c9c lw gp, 0x18(sp) | gp = *(var_18h);
0x00447ca0 beqz v0, 0x447c7c |
| }
0x00447ca4 addiu s7, zero, -1 | s7 = -1;
| if (s4 == 0) {
0x00447ca8 beqz s4, 0x447cd4 | goto label_9;
| }
0x00447cac addiu s6, zero, -1 | s6 = -1;
| do {
0x00447cb0 lw t9, -0x79b8(gp) | t9 = sym.imp.X509_http_nbio;
0x00447cb4 move a0, s2 | a0 = s2;
0x00447cb8 move a1, s4 | a1 = s4;
0x00447cbc jalr t9 | t9 ();
0x00447cc0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447cc4 move s1, v0 | s1 = v0;
0x00447cc8 beq v0, s6, 0x447cb0 |
| } while (v0 == s6);
0x00447ccc lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00447cd0 b 0x447af4 | goto label_3;
| do {
| label_9:
0x00447cd4 lw t9, -0x7960(gp) | t9 = sym.imp.X509_CRL_http_nbio;
0x00447cd8 move a0, s2 | a0 = s2;
0x00447cdc move a1, s6 | a1 = s6;
0x00447ce0 jalr t9 | t9 ();
0x00447ce4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447ce8 move s1, v0 | s1 = v0;
0x00447cec beq v0, s7, 0x447cd4 |
| } while (v0 == s7);
0x00447cf0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00447cf4 b 0x447af4 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x447cf8 */
| #include <stdint.h>
|
; (fcn) sym.load_cert () | void load_cert () {
0x00447cf8 lui gp, 5 |
0x00447cfc addiu gp, gp, 0x47a8 |
0x00447d00 addu gp, gp, t9 | gp += t9;
0x00447d04 addiu sp, sp, -0x48 |
0x00447d08 sw ra, 0x44(sp) | *(var_44h) = ra;
0x00447d0c sw s3, 0x40(sp) | *(var_40h) = s3;
0x00447d10 sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x00447d14 sw s1, 0x38(sp) | *(var_38h) = s1;
0x00447d18 sw s0, 0x34(sp) | *(var_34h) = s0;
0x00447d1c addiu t8, zero, 0xd | t8 = 0xd;
0x00447d20 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00447d24 move s0, a2 | s0 = a2;
0x00447d28 move s3, a0 | s3 = a0;
0x00447d2c sw zero, 0x28(sp) | *(var_28h) = 0;
0x00447d30 move s2, a1 | s2 = a1;
| if (a2 == t8) {
0x00447d34 beq a2, t8, 0x447e9c | goto label_3;
| }
0x00447d38 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x00447d3c jalr t9 | t9 ();
0x00447d40 nop |
0x00447d44 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447d48 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00447d4c move a0, v0 | a0 = v0;
0x00447d50 jalr t9 | t9 ();
0x00447d54 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447d58 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00447d5c beqz v0, 0x447fe4 | goto label_4;
| }
0x00447d60 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (s2 == 0) {
0x00447d64 beqz s2, 0x447f14 | goto label_5;
| }
0x00447d68 move a0, v0 | a0 = v0;
0x00447d6c addiu a1, zero, 0x6c | a1 = 0x6c;
0x00447d70 addiu a2, zero, 3 | a2 = 3;
0x00447d74 move a3, s2 | a3 = s2;
0x00447d78 jalr t9 | t9 ();
0x00447d7c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x00447d80 blez v0, 0x447f78 | goto label_6;
| }
| label_2:
0x00447d84 addiu t8, zero, 1 | t8 = 1;
0x00447d88 addiu t8, zero, 4 | t8 = 4;
| if (s0 == t8) {
0x00447d8c beq s0, t8, 0x447f54 | goto label_7;
| }
0x00447d90 addiu t8, zero, 3 | t8 = 3;
| if (s0 == t8) {
0x00447d94 beq s0, t8, 0x447dfc | goto label_8;
| }
0x00447d98 addiu t8, zero, 5 | t8 = 5;
| if (s0 == t8) {
0x00447d9c beq s0, t8, 0x447fb8 | goto label_9;
| }
0x00447da0 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (s0 == t8) {
0x00447da4 beq s0, t8, 0x447ed4 | goto label_10;
| }
0x00447da8 move a0, s3 | a0 = s3;
0x00447dac lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00447db0 lw a2, 0x5c(sp) | a2 = *(arg_5ch);
| /* str.bad_input_format_specified_for__s_n */
0x00447db4 addiu a1, a1, -0x5088 | a1 += -0x5088;
0x00447db8 jalr t9 | t9 ();
0x00447dbc lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x00447dc0 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 == 0) {
0x00447dc4 beqz v0, 0x447e70 | goto label_11;
| }
0x00447dc8 nop |
| label_0:
0x00447dcc lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
| if (s1 != 0) {
0x00447dd0 beqz s1, 0x447ddc |
0x00447dd4 move a0, s1 | a0 = s1;
0x00447dd8 jalr t9 | t9 ();
| }
0x00447ddc lw v0, 0x28(sp) | v0 = *(var_28h);
0x00447de0 lw ra, 0x44(sp) | ra = *(var_44h);
0x00447de4 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00447de8 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00447dec lw s1, 0x38(sp) | s1 = *(var_38h);
0x00447df0 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00447df4 addiu sp, sp, 0x48 |
0x00447df8 jr ra | return v0;
| label_8:
0x00447dfc lw t9, -0x7538(gp) | t9 = sym.imp.ASN1_item_d2i_bio;
0x00447e00 move a1, s1 | a1 = s1;
0x00447e04 lw a0, -0x7764(gp) | a0 = *((gp - 7641));
0x00447e08 move a2, zero | a2 = 0;
0x00447e0c jalr t9 | t9 ();
0x00447e10 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447e14 move s0, v0 | s0 = v0;
0x00447e18 beqz v0, 0x447dc0 |
| } while (v0 == 0);
0x00447e1c lw t8, (v0) | t8 = *(v0);
0x00447e20 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00447e24 lw t9, -0x7000(gp) | t9 = sym.imp.strncmp;
0x00447e28 lw a1, 8(t8) | a1 = *((t8 + 2));
| /* str.certificate */
0x00447e2c addiu a0, a0, 0xbf4 | a0 += 0xbf4;
0x00447e30 lw a2, (t8) | a2 = *(t8);
0x00447e34 jalr t9 | t9 ();
0x00447e38 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00447e3c beqz v0, 0x448004 | goto label_12;
| }
0x00447e40 lw t9, -0x6cdc(gp) | t9 = sym.imp.NETSCAPE_X509_free;
0x00447e44 move a0, s0 | a0 = s0;
0x00447e48 jalr t9 | t9 ();
0x00447e4c move a0, s3 | a0 = s3;
0x00447e50 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447e54 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447e58 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_reading_header_on_certificate_n */
0x00447e5c addiu a1, a1, -0x50b0 | a1 += -0x50b0;
0x00447e60 jalr t9 | t9 ();
0x00447e64 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00447e68 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00447e6c bnez v0, 0x447dcc | goto label_0;
| }
| label_11:
0x00447e70 lw a1, -0x7f9c(gp) | a1 = *(gp);
| label_1:
0x00447e74 move a0, s3 | a0 = s3;
0x00447e78 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_load_certificate_n */
0x00447e7c addiu a1, a1, -0x5064 | a1 += -0x5064;
0x00447e80 jalr t9 | t9 ();
0x00447e84 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447e88 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00447e8c move a0, s3 | a0 = s3;
0x00447e90 jalr t9 | t9 ();
0x00447e94 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447e98 b 0x447dcc | goto label_0;
| label_3:
0x00447e9c lw t9, -0x7df8(gp) | t9 = sym.load_cert_crl_http;
0x00447ea0 move a0, a1 | a0 = a1;
0x00447ea4 addiu a2, sp, 0x28 | a2 = sp + 0x28;
0x00447ea8 move a1, s3 | a1 = s3;
0x00447eac move a3, zero | a3 = 0;
0x00447eb0 jalr t9 | t9 ();
0x00447eb4 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00447eb8 lw ra, 0x44(sp) | ra = *(var_44h);
0x00447ebc lw s3, 0x40(sp) | s3 = *(var_40h);
0x00447ec0 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00447ec4 lw s1, 0x38(sp) | s1 = *(var_38h);
0x00447ec8 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00447ecc addiu sp, sp, 0x48 |
0x00447ed0 jr ra | return v0;
| label_10:
0x00447ed4 lw t9, -0x7e1c(gp) | t9 = *((gp - 8071));
0x00447ed8 addiu t8, sp, 0x28 | t8 = sp + 0x28;
0x00447edc lw a2, 0x5c(sp) | a2 = *(arg_5ch);
0x00447ee0 move a0, s3 | a0 = s3;
0x00447ee4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00447ee8 move a1, s1 | a1 = s1;
0x00447eec sw zero, 0x14(sp) | *(var_14h) = 0;
0x00447ef0 move a3, zero | a3 = 0;
| /* fcn.00446d4c */
0x00447ef4 addiu t9, t9, 0x6d4c | t9 += 0x6d4c;
0x00447ef8 sw t8, 0x18(sp) | *(var_18h) = t8;
0x00447efc jalr t9 | t9 ();
0x00447f00 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00447f04 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00447f08 bnez v0, 0x447dcc | goto label_0;
| }
0x00447f0c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447f10 b 0x447e74 | goto label_1;
| label_5:
0x00447f14 lw s2, -0x7bbc(gp) | s2 = *((gp - 7919));
0x00447f18 move a1, zero | a1 = 0;
0x00447f1c lw t9, -0x6c20(gp) | t9 = sym.imp.setvbuf;
0x00447f20 addiu a2, zero, 2 | a2 = 2;
0x00447f24 lw a0, (s2) | a0 = *(s2);
0x00447f28 move a3, zero | a3 = 0;
0x00447f2c jalr t9 | t9 ();
0x00447f30 move a0, s1 | a0 = s1;
0x00447f34 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447f38 addiu a1, zero, 0x6a | a1 = 0x6a;
0x00447f3c lw a3, (s2) | a3 = *(s2);
0x00447f40 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00447f44 move a2, zero | a2 = 0;
0x00447f48 jalr t9 | t9 ();
0x00447f4c lw gp, 0x20(sp) | gp = *(var_20h);
0x00447f50 b 0x447d84 | goto label_2;
| label_7:
0x00447f54 lw t9, -0x7cd4(gp) | t9 = sym.imp.d2i_X509_bio;
0x00447f58 move a0, s1 | a0 = s1;
0x00447f5c move a1, zero | a1 = 0;
0x00447f60 jalr t9 | t9 ();
0x00447f64 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447f68 sw v0, 0x28(sp) | *(var_28h) = v0;
| if (v0 != 0) {
0x00447f6c bnez v0, 0x447dcc | goto label_0;
| }
0x00447f70 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447f74 b 0x447e74 | goto label_1;
| label_6:
0x00447f78 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447f7c move a0, s3 | a0 = s3;
0x00447f80 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00447f84 move a3, s2 | a3 = s2;
0x00447f88 lw a2, 0x5c(sp) | a2 = *(arg_5ch);
| /* str.Error_opening__s__s_n */
0x00447f8c addiu a1, a1, -0x50c8 | a1 += -0x50c8;
0x00447f90 jalr t9 | t9 ();
0x00447f94 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447f98 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00447f9c move a0, s3 | a0 = s3;
0x00447fa0 jalr t9 | t9 ();
0x00447fa4 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00447fa8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00447fac bnez v0, 0x447dcc | goto label_0;
| }
0x00447fb0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447fb4 b 0x447e74 | goto label_1;
| label_9:
0x00447fb8 lw t9, -0x7b68(gp) | t9 = sym.imp.PEM_read_bio_X509_AUX;
0x00447fbc move a0, s1 | a0 = s1;
0x00447fc0 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x00447fc4 move a1, zero | a1 = 0;
0x00447fc8 move a3, zero | a3 = 0;
0x00447fcc jalr t9 | t9 ();
0x00447fd0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00447fd4 sw v0, 0x28(sp) | *(var_28h) = v0;
| if (v0 != 0) {
0x00447fd8 bnez v0, 0x447dcc | goto label_0;
| }
0x00447fdc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447fe0 b 0x447e74 | goto label_1;
| label_4:
0x00447fe4 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00447fe8 move a0, s3 | a0 = s3;
0x00447fec jalr t9 | t9 ();
0x00447ff0 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00447ff4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00447ff8 bnez v0, 0x447dcc | goto label_0;
| }
0x00447ffc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448000 b 0x447e74 | goto label_1;
| label_12:
0x00448004 lw t8, 4(s0) | t8 = *((s0 + 1));
0x00448008 move a0, s0 | a0 = s0;
0x0044800c lw t9, -0x6cdc(gp) | t9 = sym.imp.NETSCAPE_X509_free;
0x00448010 sw zero, 4(s0) | *((s0 + 1)) = 0;
0x00448014 sw t8, 0x28(sp) | *(var_28h) = t8;
0x00448018 jalr t9 | t9 ();
0x0044801c lw v0, 0x28(sp) | v0 = *(var_28h);
0x00448020 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00448024 bnez v0, 0x447dcc | goto label_0;
| }
0x00448028 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044802c b 0x447e74 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448b5c */
| #include <stdint.h>
|
; (fcn) sym.load_certs () | void load_certs () {
0x00448b5c lui gp, 5 |
0x00448b60 addiu gp, gp, 0x3944 |
0x00448b64 addu gp, gp, t9 | gp += t9;
0x00448b68 addiu sp, sp, -0x38 |
0x00448b6c sw ra, 0x34(sp) | *(var_34h) = ra;
0x00448b70 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00448b74 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00448b78 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00448b7c sw s1, 0x24(sp) | *(var_24h) = s1;
0x00448b80 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00448b84 addiu t8, zero, 3 | t8 = 3;
0x00448b88 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00448b8c move s0, a1 | s0 = a1;
0x00448b90 sw a3, 0x18(sp) | *(var_18h) = a3;
0x00448b94 sw a1, 0x1c(sp) | *(var_1ch) = a1;
| if (a2 != t8) {
0x00448b98 bne a2, t8, 0x448c74 | goto label_5;
| }
0x00448b9c move s4, a0 | s4 = a0;
| if (a1 == 0) {
0x00448ba0 beqz a1, 0x448d74 | goto label_6;
| }
0x00448ba4 move a0, a1 | a0 = a1;
0x00448ba8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00448bac lw t9, -0x79cc(gp) | t9 = sym.imp.BIO_new_file;
0x00448bb0 addiu a1, a1, 0x13b8 | a1 += 0x13b8;
0x00448bb4 jalr t9 | t9 ();
0x00448bb8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448bbc move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00448bc0 beqz v0, 0x448d38 | goto label_7;
| }
| label_3:
0x00448bc4 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x00448bc8 move a1, zero | a1 = 0;
0x00448bcc lw t9, -0x75fc(gp) | t9 = sym.imp.PEM_X509_INFO_read_bio;
0x00448bd0 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00448bd4 move a0, s1 | a0 = s1;
0x00448bd8 jalr t9 | t9 ();
0x00448bdc move a0, s1 | a0 = s1;
0x00448be0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448be4 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x00448be8 move s2, v0 | s2 = v0;
0x00448bec jalr t9 | t9 ();
0x00448bf0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448bf4 lw t9, -0x7830(gp) | t9 = sym.imp.sk_new_null;
0x00448bf8 jalr t9 | t9 ();
0x00448bfc nop |
0x00448c00 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448c04 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00448c08 beqz v0, 0x448cac | goto label_8;
| }
0x00448c0c move s0, zero | s0 = 0;
| do {
| label_0:
0x00448c10 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448c14 move a0, s2 | a0 = s2;
0x00448c18 jalr t9 | t9 ();
0x00448c1c move a1, s0 | a1 = s0;
0x00448c20 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448c24 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00448c28 move a0, s2 | a0 = s2;
0x00448c2c addiu s0, s0, 1 | s0++;
0x00448c30 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
| if (v0 == 0) {
0x00448c34 beqz v0, 0x448d5c | goto label_9;
| }
0x00448c38 jalr t9 | t9 ();
0x00448c3c nop |
0x00448c40 move a0, s3 | a0 = s3;
0x00448c44 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448c48 move s1, v0 | s1 = v0;
0x00448c4c lw t8, (v0) | t8 = *(v0);
0x00448c50 lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x00448c54 move a1, t8 | a1 = t8;
0x00448c58 beqz t8, 0x448c10 |
| } while (t8 == 0);
0x00448c5c jalr t9 | t9 ();
0x00448c60 nop |
0x00448c64 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00448c68 beqz v0, 0x448cac | goto label_8;
| }
0x00448c6c sw zero, (s1) | *(s1) = 0;
0x00448c70 b 0x448c10 | goto label_0;
| label_5:
0x00448c74 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448c78 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448c7c lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.bad_input_format_specified_for__s_n */
0x00448c80 addiu a1, a1, -0x5088 | a1 += -0x5088;
0x00448c84 jalr t9 | t9 ();
0x00448c88 lw ra, 0x34(sp) | ra = *(var_34h);
| do {
0x00448c8c move v0, zero | v0 = 0;
0x00448c90 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448c94 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448c98 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448c9c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448ca0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448ca4 addiu sp, sp, 0x38 |
0x00448ca8 jr ra | return v0;
| label_8:
0x00448cac move s0, zero | s0 = 0;
| label_2:
0x00448cb0 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
| if (s2 != 0) {
0x00448cb4 beqz s2, 0x448cc8 |
0x00448cb8 lw a1, -0x6f54(gp) | a1 = *((gp - 7125));
0x00448cbc move a0, s2 | a0 = s2;
0x00448cc0 jalr t9 | t9 ();
0x00448cc4 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00448cc8 move v0, s3 | v0 = s3;
| if (s0 != 0) {
0x00448ccc bnez s0, 0x448d18 | goto label_10;
| }
0x00448cd0 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
0x00448cd4 lw a1, -0x6c30(gp) | a1 = *((gp - 6924));
0x00448cd8 move a0, s3 | a0 = s3;
0x00448cdc jalr t9 | t9 ();
0x00448ce0 move a0, s4 | a0 = s4;
0x00448ce4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448ce8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448cec lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00448cf0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_load__s_n */
0x00448cf4 addiu a1, a1, -0x4fc8 | a1 += -0x4fc8;
| /* esilref: 'certificates' */
0x00448cf8 addiu a2, a2, -0x3400 | a2 += -0x3400;
0x00448cfc jalr t9 | t9 ();
0x00448d00 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00448d04 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448d08 move a0, s4 | a0 = s4;
0x00448d0c jalr t9 | t9 ();
0x00448d10 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448d14 b 0x448c8c |
| } while (1);
| label_10:
0x00448d18 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448d1c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448d20 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448d24 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448d28 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448d2c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448d30 addiu sp, sp, 0x38 |
0x00448d34 jr ra | return v0;
| label_7:
0x00448d38 move a3, s0 | a3 = s0;
| label_4:
0x00448d3c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448d40 move a0, s4 | a0 = s4;
0x00448d44 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448d48 lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.Error_opening__s__s_n */
0x00448d4c addiu a1, a1, -0x50c8 | a1 += -0x50c8;
0x00448d50 jalr t9 | t9 ();
0x00448d54 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448d58 b 0x448d04 | goto label_1;
| label_9:
0x00448d5c lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448d60 move a0, s3 | a0 = s3;
0x00448d64 jalr t9 | t9 ();
0x00448d68 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448d6c slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x00448d70 b 0x448cb0 | goto label_2;
| label_6:
0x00448d74 lw t8, -0x7bbc(gp) | t8 = *((gp - 7919));
0x00448d78 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x00448d7c lw a0, (t8) | a0 = *(t8);
0x00448d80 jalr t9 | t9 ();
0x00448d84 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448d88 move s1, v0 | s1 = v0;
| if (v0 != 0) {
0x00448d8c bnez v0, 0x448bc4 | goto label_3;
| }
0x00448d90 lw a3, -0x7fd8(gp) | a3 = *(gp);
| /* str.stdin */
0x00448d94 addiu a3, a3, -0x34d8 | a3 += -0x34d8;
0x00448d98 b 0x448d3c | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x447a44 */
| #include <stdint.h>
|
; (fcn) sym.load_cert_crl_http () | void load_cert_crl_http () {
0x00447a44 lui gp, 5 |
0x00447a48 addiu gp, gp, 0x4a5c |
0x00447a4c addu gp, gp, t9 | gp += t9;
0x00447a50 addiu sp, sp, -0x58 |
0x00447a54 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00447a58 sw s7, 0x50(sp) | *(var_50h) = s7;
0x00447a5c sw s6, 0x4c(sp) | *(var_4ch) = s6;
0x00447a60 sw s5, 0x48(sp) | *(var_48h) = s5;
0x00447a64 sw s4, 0x44(sp) | *(var_44h) = s4;
0x00447a68 sw s3, 0x40(sp) | *(var_40h) = s3;
0x00447a6c sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x00447a70 sw s1, 0x38(sp) | *(var_38h) = s1;
0x00447a74 sw s0, 0x34(sp) | *(var_34h) = s0;
0x00447a78 addiu t8, sp, 0x20 | t8 = sp + 0x20;
0x00447a7c lw t9, -0x7c90(gp) | t9 = sym.imp.OCSP_parse_url;
0x00447a80 move s3, a1 | s3 = a1;
0x00447a84 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00447a88 move s4, a2 | s4 = a2;
0x00447a8c sw t8, 0x10(sp) | *(var_10h) = t8;
0x00447a90 addiu a1, sp, 0x2c | a1 = sp + 0x2c;
0x00447a94 move s6, a3 | s6 = a3;
0x00447a98 addiu a2, sp, 0x28 | a2 = sp + 0x28;
0x00447a9c addiu a3, sp, 0x24 | a3 = sp + 0x24;
0x00447aa0 move s5, a0 | s5 = a0;
0x00447aa4 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00447aa8 sw zero, 0x28(sp) | *(var_28h) = 0;
0x00447aac sw zero, 0x24(sp) | *(var_24h) = 0;
0x00447ab0 jalr t9 | t9 ();
0x00447ab4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00447ab8 beqz v0, 0x447ae4 | goto label_4;
| }
0x00447abc lw t8, 0x20(sp) | t8 = *(var_20h);
0x00447ac0 lw t9, -0x7574(gp) | t9 = sym.imp.BIO_new_connect;
| if (t8 == 0) {
0x00447ac4 beqz t8, 0x447be0 | goto label_5;
| }
0x00447ac8 move a0, s3 | a0 = s3;
| if (s3 == 0) {
0x00447acc beqz s3, 0x447ae4 | goto label_4;
| }
0x00447ad0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447ad4 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.https_not_supported_n */
0x00447ad8 addiu a1, a1, -0x5108 | a1 += -0x5108;
0x00447adc jalr t9 | t9 ();
0x00447ae0 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_4:
0x00447ae4 move s1, zero | s1 = 0;
0x00447ae8 move s2, zero | s2 = 0;
0x00447aec move s0, zero | s0 = 0;
| label_0:
0x00447af0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
| label_3:
0x00447af4 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x00447af8 beqz a0, 0x447b08 |
0x00447afc jalr t9 | t9 ();
0x00447b00 nop |
0x00447b04 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b08 lw a0, 0x24(sp) | a0 = *(var_24h);
0x00447b0c lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x00447b10 beqz a0, 0x447b20 |
0x00447b14 jalr t9 | t9 ();
0x00447b18 nop |
0x00447b1c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b20 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00447b24 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (a0 != 0) {
0x00447b28 beqz a0, 0x447b38 |
0x00447b2c jalr t9 | t9 ();
0x00447b30 nop |
0x00447b34 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b38 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
| if (s0 != 0) {
0x00447b3c beqz s0, 0x447b4c |
0x00447b40 move a0, s0 | a0 = s0;
0x00447b44 jalr t9 | t9 ();
0x00447b48 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b4c lw t9, -0x7ac0(gp) | t9 = sym.imp.OCSP_REQ_CTX_free;
| if (s2 != 0) {
0x00447b50 beqz s2, 0x447b60 |
0x00447b54 move a0, s2 | a0 = s2;
0x00447b58 jalr t9 | t9 ();
0x00447b5c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00447b60 addiu t8, zero, 1 | t8 = 1;
0x00447b64 move v0, s1 | v0 = s1;
| if (s1 != t8) {
0x00447b68 beq s1, t8, 0x447bb4 |
0x00447b6c lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
| if (s0 == 0) {
0x00447b70 beqz s0, 0x447c2c | goto label_6;
| }
0x00447b74 lw s0, -0x7fd4(gp) | s0 = *(gp);
| if (s3 != 0) {
0x00447b78 beqz s3, 0x447ba8 |
0x00447b7c lw a0, (s0) | a0 = *(s0);
| if (s4 == 0) {
0x00447b80 beqz s4, 0x447c20 | goto label_7;
| }
0x00447b84 lw a2, -0x7fd8(gp) | a2 = *(gp);
| /* str.certificate */
0x00447b88 addiu a2, a2, 0xbf4 | a2 += 0xbf4;
| label_1:
0x00447b8c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447b90 move a3, s5 | a3 = s5;
0x00447b94 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_loading__s_from__s_n */
0x00447b98 addiu a1, a1, -0x50e4 | a1 += -0x50e4;
0x00447b9c jalr t9 | t9 ();
0x00447ba0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447ba4 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
| }
0x00447ba8 lw a0, (s0) | a0 = *(s0);
0x00447bac jalr t9 | t9 ();
0x00447bb0 move v0, s1 | v0 = s1;
| }
| label_2:
0x00447bb4 lw ra, 0x54(sp) | ra = *(var_54h);
0x00447bb8 lw s7, 0x50(sp) | s7 = *(var_50h);
0x00447bbc lw s6, 0x4c(sp) | s6 = *(var_4ch);
0x00447bc0 lw s5, 0x48(sp) | s5 = *(var_48h);
0x00447bc4 lw s4, 0x44(sp) | s4 = *(var_44h);
0x00447bc8 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00447bcc lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00447bd0 lw s1, 0x38(sp) | s1 = *(var_38h);
0x00447bd4 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00447bd8 addiu sp, sp, 0x58 |
0x00447bdc jr ra | return v0;
| label_5:
0x00447be0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00447be4 jalr t9 | t9 ();
0x00447be8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447bec move s0, v0 | s0 = v0;
0x00447bf0 beqz v0, 0x447ae4 |
| } while (v0 == 0);
0x00447bf4 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00447bf8 move a0, v0 | a0 = v0;
0x00447bfc lw a3, 0x28(sp) | a3 = *(var_28h);
0x00447c00 addiu a1, zero, 0x64 | a1 = 0x64;
0x00447c04 addiu a2, zero, 1 | a2 = 1;
0x00447c08 jalr t9 | t9 ();
0x00447c0c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00447c10 bnez v0, 0x447c40 |
0x00447c14 move s1, zero | s1 = 0;
0x00447c18 move s2, zero | s2 = 0;
0x00447c1c b 0x447af0 | goto label_0;
| label_7:
0x00447c20 lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* esilref: 'CRL' */
0x00447c24 addiu a2, a2, -0x510c | a2 += -0x510c;
0x00447c28 b 0x447b8c | goto label_1;
| label_6:
0x00447c2c lw s0, -0x7fd4(gp) | s0 = *(gp);
0x00447c30 lw a0, (s0) | a0 = *(s0);
0x00447c34 jalr t9 | t9 ();
0x00447c38 move v0, s1 | v0 = s1;
0x00447c3c b 0x447bb4 | goto label_2;
| }
0x00447c40 lw t9, -0x7c64(gp) | t9 = sym.imp.OCSP_REQ_CTX_new;
0x00447c44 move a0, s0 | a0 = s0;
0x00447c48 addiu a1, zero, 0x400 | a1 = 0x400;
0x00447c4c jalr t9 | t9 ();
0x00447c50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447c54 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x00447c58 beqz v0, 0x447c7c | goto label_8;
| }
0x00447c5c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447c60 move a0, v0 | a0 = v0;
0x00447c64 lw t9, -0x6d34(gp) | t9 = sym.imp.OCSP_REQ_CTX_http;
0x00447c68 lw a2, 0x24(sp) | a2 = *(var_24h);
| /* esilref: 'GET' */
0x00447c6c addiu a1, a1, -0x50f0 | a1 += -0x50f0;
0x00447c70 jalr t9 | t9 ();
0x00447c74 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447c78 bnez v0, 0x447c84 |
| while (v0 == 0) {
| label_8:
0x00447c7c move s1, zero | s1 = 0;
0x00447c80 b 0x447af0 | goto label_0;
0x00447c84 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00447c88 move a0, s2 | a0 = s2;
0x00447c8c lw t9, -0x6d08(gp) | t9 = sym.imp.OCSP_REQ_CTX_add1_header;
0x00447c90 lw a2, 0x2c(sp) | a2 = *(var_2ch);
| /* str.Host */
0x00447c94 addiu a1, a1, -0x50ec | a1 += -0x50ec;
0x00447c98 jalr t9 | t9 ();
0x00447c9c lw gp, 0x18(sp) | gp = *(var_18h);
0x00447ca0 beqz v0, 0x447c7c |
| }
0x00447ca4 addiu s7, zero, -1 | s7 = -1;
| if (s4 == 0) {
0x00447ca8 beqz s4, 0x447cd4 | goto label_9;
| }
0x00447cac addiu s6, zero, -1 | s6 = -1;
| do {
0x00447cb0 lw t9, -0x79b8(gp) | t9 = sym.imp.X509_http_nbio;
0x00447cb4 move a0, s2 | a0 = s2;
0x00447cb8 move a1, s4 | a1 = s4;
0x00447cbc jalr t9 | t9 ();
0x00447cc0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447cc4 move s1, v0 | s1 = v0;
0x00447cc8 beq v0, s6, 0x447cb0 |
| } while (v0 == s6);
0x00447ccc lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00447cd0 b 0x447af4 | goto label_3;
| do {
| label_9:
0x00447cd4 lw t9, -0x7960(gp) | t9 = sym.imp.X509_CRL_http_nbio;
0x00447cd8 move a0, s2 | a0 = s2;
0x00447cdc move a1, s6 | a1 = s6;
0x00447ce0 jalr t9 | t9 ();
0x00447ce4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00447ce8 move s1, v0 | s1 = v0;
0x00447cec beq v0, s7, 0x447cd4 |
| } while (v0 == s7);
0x00447cf0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00447cf4 b 0x447af4 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448b5c */
| #include <stdint.h>
|
; (fcn) sym.load_certs () | void load_certs () {
0x00448b5c lui gp, 5 |
0x00448b60 addiu gp, gp, 0x3944 |
0x00448b64 addu gp, gp, t9 | gp += t9;
0x00448b68 addiu sp, sp, -0x38 |
0x00448b6c sw ra, 0x34(sp) | *(var_34h) = ra;
0x00448b70 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00448b74 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00448b78 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00448b7c sw s1, 0x24(sp) | *(var_24h) = s1;
0x00448b80 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00448b84 addiu t8, zero, 3 | t8 = 3;
0x00448b88 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00448b8c move s0, a1 | s0 = a1;
0x00448b90 sw a3, 0x18(sp) | *(var_18h) = a3;
0x00448b94 sw a1, 0x1c(sp) | *(var_1ch) = a1;
| if (a2 != t8) {
0x00448b98 bne a2, t8, 0x448c74 | goto label_5;
| }
0x00448b9c move s4, a0 | s4 = a0;
| if (a1 == 0) {
0x00448ba0 beqz a1, 0x448d74 | goto label_6;
| }
0x00448ba4 move a0, a1 | a0 = a1;
0x00448ba8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00448bac lw t9, -0x79cc(gp) | t9 = sym.imp.BIO_new_file;
0x00448bb0 addiu a1, a1, 0x13b8 | a1 += 0x13b8;
0x00448bb4 jalr t9 | t9 ();
0x00448bb8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448bbc move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00448bc0 beqz v0, 0x448d38 | goto label_7;
| }
| label_3:
0x00448bc4 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x00448bc8 move a1, zero | a1 = 0;
0x00448bcc lw t9, -0x75fc(gp) | t9 = sym.imp.PEM_X509_INFO_read_bio;
0x00448bd0 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00448bd4 move a0, s1 | a0 = s1;
0x00448bd8 jalr t9 | t9 ();
0x00448bdc move a0, s1 | a0 = s1;
0x00448be0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448be4 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x00448be8 move s2, v0 | s2 = v0;
0x00448bec jalr t9 | t9 ();
0x00448bf0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448bf4 lw t9, -0x7830(gp) | t9 = sym.imp.sk_new_null;
0x00448bf8 jalr t9 | t9 ();
0x00448bfc nop |
0x00448c00 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448c04 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00448c08 beqz v0, 0x448cac | goto label_8;
| }
0x00448c0c move s0, zero | s0 = 0;
| do {
| label_0:
0x00448c10 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448c14 move a0, s2 | a0 = s2;
0x00448c18 jalr t9 | t9 ();
0x00448c1c move a1, s0 | a1 = s0;
0x00448c20 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448c24 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00448c28 move a0, s2 | a0 = s2;
0x00448c2c addiu s0, s0, 1 | s0++;
0x00448c30 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
| if (v0 == 0) {
0x00448c34 beqz v0, 0x448d5c | goto label_9;
| }
0x00448c38 jalr t9 | t9 ();
0x00448c3c nop |
0x00448c40 move a0, s3 | a0 = s3;
0x00448c44 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448c48 move s1, v0 | s1 = v0;
0x00448c4c lw t8, (v0) | t8 = *(v0);
0x00448c50 lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x00448c54 move a1, t8 | a1 = t8;
0x00448c58 beqz t8, 0x448c10 |
| } while (t8 == 0);
0x00448c5c jalr t9 | t9 ();
0x00448c60 nop |
0x00448c64 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00448c68 beqz v0, 0x448cac | goto label_8;
| }
0x00448c6c sw zero, (s1) | *(s1) = 0;
0x00448c70 b 0x448c10 | goto label_0;
| label_5:
0x00448c74 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448c78 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448c7c lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.bad_input_format_specified_for__s_n */
0x00448c80 addiu a1, a1, -0x5088 | a1 += -0x5088;
0x00448c84 jalr t9 | t9 ();
0x00448c88 lw ra, 0x34(sp) | ra = *(var_34h);
| do {
0x00448c8c move v0, zero | v0 = 0;
0x00448c90 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448c94 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448c98 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448c9c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448ca0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448ca4 addiu sp, sp, 0x38 |
0x00448ca8 jr ra | return v0;
| label_8:
0x00448cac move s0, zero | s0 = 0;
| label_2:
0x00448cb0 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
| if (s2 != 0) {
0x00448cb4 beqz s2, 0x448cc8 |
0x00448cb8 lw a1, -0x6f54(gp) | a1 = *((gp - 7125));
0x00448cbc move a0, s2 | a0 = s2;
0x00448cc0 jalr t9 | t9 ();
0x00448cc4 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00448cc8 move v0, s3 | v0 = s3;
| if (s0 != 0) {
0x00448ccc bnez s0, 0x448d18 | goto label_10;
| }
0x00448cd0 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
0x00448cd4 lw a1, -0x6c30(gp) | a1 = *((gp - 6924));
0x00448cd8 move a0, s3 | a0 = s3;
0x00448cdc jalr t9 | t9 ();
0x00448ce0 move a0, s4 | a0 = s4;
0x00448ce4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448ce8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448cec lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00448cf0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_load__s_n */
0x00448cf4 addiu a1, a1, -0x4fc8 | a1 += -0x4fc8;
| /* esilref: 'certificates' */
0x00448cf8 addiu a2, a2, -0x3400 | a2 += -0x3400;
0x00448cfc jalr t9 | t9 ();
0x00448d00 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00448d04 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448d08 move a0, s4 | a0 = s4;
0x00448d0c jalr t9 | t9 ();
0x00448d10 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448d14 b 0x448c8c |
| } while (1);
| label_10:
0x00448d18 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448d1c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448d20 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448d24 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448d28 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448d2c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448d30 addiu sp, sp, 0x38 |
0x00448d34 jr ra | return v0;
| label_7:
0x00448d38 move a3, s0 | a3 = s0;
| label_4:
0x00448d3c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448d40 move a0, s4 | a0 = s4;
0x00448d44 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448d48 lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.Error_opening__s__s_n */
0x00448d4c addiu a1, a1, -0x50c8 | a1 += -0x50c8;
0x00448d50 jalr t9 | t9 ();
0x00448d54 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448d58 b 0x448d04 | goto label_1;
| label_9:
0x00448d5c lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448d60 move a0, s3 | a0 = s3;
0x00448d64 jalr t9 | t9 ();
0x00448d68 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448d6c slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x00448d70 b 0x448cb0 | goto label_2;
| label_6:
0x00448d74 lw t8, -0x7bbc(gp) | t8 = *((gp - 7919));
0x00448d78 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x00448d7c lw a0, (t8) | a0 = *(t8);
0x00448d80 jalr t9 | t9 ();
0x00448d84 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448d88 move s1, v0 | s1 = v0;
| if (v0 != 0) {
0x00448d8c bnez v0, 0x448bc4 | goto label_3;
| }
0x00448d90 lw a3, -0x7fd8(gp) | a3 = *(gp);
| /* str.stdin */
0x00448d94 addiu a3, a3, -0x34d8 | a3 += -0x34d8;
0x00448d98 b 0x448d3c | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4498a0 */
| #include <stdint.h>
|
; (fcn) sym.load_config () | void load_config () {
0x004498a0 lui gp, 5 |
0x004498a4 addiu gp, gp, 0x2c00 |
0x004498a8 addu gp, gp, t9 | gp += t9;
0x004498ac addiu sp, sp, -0x28 |
0x004498b0 sw ra, 0x24(sp) | *(var_24h) = ra;
0x004498b4 sw s0, 0x20(sp) | *(var_20h) = s0;
0x004498b8 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x004498bc sw gp, 0x10(sp) | *(var_10h) = gp;
0x004498c0 lw v0, 0x6674(t8) | v0 = *((t8 + 6557));
0x004498c4 addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x004498c8 bnez v0, 0x449908 |
0x004498cc move s0, a0 | s0 = a0;
0x004498d0 sw v0, 0x6674(t8) | *((t8 + 26228)) = v0;
| if (a1 == 0) {
0x004498d4 beqz a1, 0x449948 | goto label_2;
| }
0x004498d8 lw t9, -0x6c7c(gp) | t9 = sym.imp.OPENSSL_load_builtin_modules;
| label_1:
0x004498dc sw a1, 0x18(sp) | *(var_18h) = a1;
0x004498e0 jalr t9 | t9 ();
0x004498e4 move a2, zero | a2 = 0;
0x004498e8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004498ec lw a1, 0x18(sp) | a1 = *(var_18h);
0x004498f0 lw t9, -0x730c(gp) | t9 = sym.imp.CONF_modules_load;
0x004498f4 move a0, a1 | a0 = a1;
0x004498f8 move a1, zero | a1 = 0;
0x004498fc jalr t9 | t9 ();
0x00449900 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x00449904 blez v0, 0x44991c | goto label_3;
| }
| }
0x00449908 addiu v0, zero, 1 | v0 = 1;
| do {
| label_0:
0x0044990c lw ra, 0x24(sp) | ra = *(var_24h);
0x00449910 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00449914 addiu sp, sp, 0x28 |
0x00449918 jr ra | return v0;
| label_3:
0x0044991c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449920 move a0, s0 | a0 = s0;
0x00449924 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Error_configuring_OpenSSL_n */
0x00449928 addiu a1, a1, -0x4efc | a1 += -0x4efc;
0x0044992c jalr t9 | t9 ();
0x00449930 lw gp, 0x10(sp) | gp = *(var_10h);
0x00449934 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00449938 move a0, s0 | a0 = s0;
0x0044993c jalr t9 | t9 ();
0x00449940 move v0, zero | v0 = 0;
0x00449944 b 0x44990c |
| } while (1);
| label_2:
0x00449948 lw t8, -0x7fc0(gp) | t8 = *(gp);
0x0044994c lw a1, (t8) | a1 = *(t8);
0x00449950 addiu v0, zero, 1 | v0 = 1;
| if (a1 == 0) {
0x00449954 beqz a1, 0x44990c | goto label_0;
| }
0x00449958 lw t9, -0x6c7c(gp) | t9 = sym.imp.OPENSSL_load_builtin_modules;
0x0044995c b 0x4498dc | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448030 */
| #include <stdint.h>
|
; (fcn) sym.load_crl () | void load_crl () {
0x00448030 lui gp, 5 |
0x00448034 addiu gp, gp, 0x4470 |
0x00448038 addu gp, gp, t9 | gp += t9;
0x0044803c addiu sp, sp, -0x30 |
0x00448040 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00448044 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00448048 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0044804c sw s0, 0x20(sp) | *(var_20h) = s0;
0x00448050 addiu t8, zero, 0xd | t8 = 0xd;
0x00448054 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00448058 move s1, a1 | s1 = a1;
0x0044805c sw zero, 0x18(sp) | *(var_18h) = 0;
| if (a1 == t8) {
0x00448060 beq a1, t8, 0x448158 | goto label_3;
| }
0x00448064 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x00448068 move s2, a0 | s2 = a0;
0x0044806c jalr t9 | t9 ();
0x00448070 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448074 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00448078 move a0, v0 | a0 = v0;
0x0044807c jalr t9 | t9 ();
0x00448080 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448084 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00448088 beqz v0, 0x4481e4 | goto label_4;
| }
0x0044808c lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (s2 == 0) {
0x00448090 beqz s2, 0x44818c | goto label_5;
| }
0x00448094 move a0, v0 | a0 = v0;
0x00448098 addiu a1, zero, 0x6c | a1 = 0x6c;
0x0044809c addiu a2, zero, 3 | a2 = 3;
0x004480a0 move a3, s2 | a3 = s2;
0x004480a4 jalr t9 | t9 ();
0x004480a8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x004480ac blez v0, 0x4481d0 | goto label_6;
| }
| label_1:
0x004480b0 addiu t8, zero, 1 | t8 = 1;
0x004480b4 addiu t8, zero, 3 | t8 = 3;
| if (s1 == t8) {
0x004480b8 beq s1, t8, 0x4481ac | goto label_7;
| }
0x004480bc lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (s1 == t8) {
0x004480c0 beq s1, t8, 0x448104 | goto label_8;
| }
0x004480c4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004480c8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004480cc lw a0, (t8) | a0 = *(t8);
| /* str.bad_input_format_specified_for_input_crl_n */
0x004480d0 addiu a1, a1, 0x1f5c | a1 += 0x1f5c;
0x004480d4 jalr t9 | t9 ();
0x004480d8 lw gp, 0x10(sp) | gp = *(var_10h);
| do {
| label_0:
0x004480dc lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x004480e0 move a0, s0 | a0 = s0;
0x004480e4 jalr t9 | t9 ();
0x004480e8 lw v0, 0x18(sp) | v0 = *(var_18h);
0x004480ec lw ra, 0x2c(sp) | ra = *(var_2ch);
0x004480f0 lw s2, 0x28(sp) | s2 = *(var_28h);
0x004480f4 lw s1, 0x24(sp) | s1 = *(var_24h);
0x004480f8 lw s0, 0x20(sp) | s0 = *(var_20h);
0x004480fc addiu sp, sp, 0x30 |
0x00448100 jr ra | return v0;
| label_8:
0x00448104 lw t9, -0x7a7c(gp) | t9 = sym.imp.PEM_read_bio_X509_CRL;
0x00448108 move a0, s0 | a0 = s0;
0x0044810c move a1, zero | a1 = 0;
0x00448110 move a2, zero | a2 = 0;
0x00448114 move a3, zero | a3 = 0;
0x00448118 jalr t9 | t9 ();
0x0044811c lw gp, 0x10(sp) | gp = *(var_10h);
0x00448120 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00448124 bnez v0, 0x4480dc |
| } while (v0 != 0);
0x00448128 lw s1, -0x7fd4(gp) | s1 = *(gp);
| label_2:
0x0044812c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00448130 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448134 lw a0, (s1) | a0 = *(s1);
| /* str.unable_to_load_CRL_n */
0x00448138 addiu a1, a1, 0x1f88 | a1 += 0x1f88;
0x0044813c jalr t9 | t9 ();
0x00448140 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448144 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448148 lw a0, (s1) | a0 = *(s1);
0x0044814c jalr t9 | t9 ();
0x00448150 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448154 b 0x4480dc | goto label_0;
| label_3:
0x00448158 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044815c move a2, zero | a2 = 0;
0x00448160 lw t9, -0x7df8(gp) | t9 = sym.load_cert_crl_http;
0x00448164 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00448168 lw a1, (t8) | a1 = *(t8);
0x0044816c jalr t9 | t9 ();
0x00448170 lw v0, 0x18(sp) | v0 = *(var_18h);
0x00448174 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00448178 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044817c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448180 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448184 addiu sp, sp, 0x30 |
0x00448188 jr ra | return v0;
| label_5:
0x0044818c lw t8, -0x7bbc(gp) | t8 = *((gp - 7919));
0x00448190 move a0, v0 | a0 = v0;
0x00448194 addiu a1, zero, 0x6a | a1 = 0x6a;
0x00448198 lw a3, (t8) | a3 = *(t8);
0x0044819c move a2, zero | a2 = 0;
0x004481a0 jalr t9 | t9 ();
0x004481a4 lw gp, 0x10(sp) | gp = *(var_10h);
0x004481a8 b 0x4480b0 | goto label_1;
| label_7:
0x004481ac lw t9, -0x7a48(gp) | t9 = sym.imp.d2i_X509_CRL_bio;
0x004481b0 move a0, s0 | a0 = s0;
0x004481b4 move a1, zero | a1 = 0;
0x004481b8 jalr t9 | t9 ();
0x004481bc lw gp, 0x10(sp) | gp = *(var_10h);
0x004481c0 sw v0, 0x18(sp) | *(var_18h) = v0;
| if (v0 != 0) {
0x004481c4 bnez v0, 0x4480dc | goto label_0;
| }
0x004481c8 lw s1, -0x7fd4(gp) | s1 = *(gp);
0x004481cc b 0x44812c | goto label_2;
| label_6:
0x004481d0 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x004481d4 move a0, s2 | a0 = s2;
0x004481d8 jalr t9 | t9 ();
0x004481dc lw gp, 0x10(sp) | gp = *(var_10h);
0x004481e0 b 0x4480dc | goto label_0;
| label_4:
0x004481e4 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x004481e8 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004481ec lw a0, (t8) | a0 = *(t8);
0x004481f0 jalr t9 | t9 ();
0x004481f4 lw gp, 0x10(sp) | gp = *(var_10h);
0x004481f8 b 0x4480dc | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448d9c */
| #include <stdint.h>
|
; (fcn) sym.load_crls () | void load_crls () {
0x00448d9c lui gp, 5 |
0x00448da0 addiu gp, gp, 0x3704 |
0x00448da4 addu gp, gp, t9 | gp += t9;
0x00448da8 addiu sp, sp, -0x38 |
0x00448dac sw ra, 0x34(sp) | *(var_34h) = ra;
0x00448db0 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00448db4 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00448db8 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00448dbc sw s1, 0x24(sp) | *(var_24h) = s1;
0x00448dc0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00448dc4 addiu t8, zero, 3 | t8 = 3;
0x00448dc8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00448dcc move s0, a1 | s0 = a1;
0x00448dd0 sw a3, 0x18(sp) | *(var_18h) = a3;
0x00448dd4 sw a1, 0x1c(sp) | *(var_1ch) = a1;
| if (a2 != t8) {
0x00448dd8 bne a2, t8, 0x448eb4 | goto label_5;
| }
0x00448ddc move s4, a0 | s4 = a0;
| if (a1 == 0) {
0x00448de0 beqz a1, 0x448fb4 | goto label_6;
| }
0x00448de4 move a0, a1 | a0 = a1;
0x00448de8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00448dec lw t9, -0x79cc(gp) | t9 = sym.imp.BIO_new_file;
0x00448df0 addiu a1, a1, 0x13b8 | a1 += 0x13b8;
0x00448df4 jalr t9 | t9 ();
0x00448df8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448dfc move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00448e00 beqz v0, 0x448f78 | goto label_7;
| }
| label_3:
0x00448e04 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x00448e08 move a1, zero | a1 = 0;
0x00448e0c lw t9, -0x75fc(gp) | t9 = sym.imp.PEM_X509_INFO_read_bio;
0x00448e10 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00448e14 move a0, s1 | a0 = s1;
0x00448e18 jalr t9 | t9 ();
0x00448e1c move a0, s1 | a0 = s1;
0x00448e20 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e24 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x00448e28 move s2, v0 | s2 = v0;
0x00448e2c jalr t9 | t9 ();
0x00448e30 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e34 lw t9, -0x7830(gp) | t9 = sym.imp.sk_new_null;
0x00448e38 jalr t9 | t9 ();
0x00448e3c nop |
0x00448e40 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e44 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00448e48 beqz v0, 0x448eec | goto label_8;
| }
0x00448e4c move s0, zero | s0 = 0;
| do {
| label_0:
0x00448e50 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448e54 move a0, s2 | a0 = s2;
0x00448e58 jalr t9 | t9 ();
0x00448e5c move a1, s0 | a1 = s0;
0x00448e60 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e64 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00448e68 move a0, s2 | a0 = s2;
0x00448e6c addiu s0, s0, 1 | s0++;
0x00448e70 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
| if (v0 == 0) {
0x00448e74 beqz v0, 0x448f9c | goto label_9;
| }
0x00448e78 jalr t9 | t9 ();
0x00448e7c nop |
0x00448e80 move a0, s3 | a0 = s3;
0x00448e84 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e88 move s1, v0 | s1 = v0;
0x00448e8c lw t8, 4(v0) | t8 = *((v0 + 1));
0x00448e90 lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x00448e94 move a1, t8 | a1 = t8;
0x00448e98 beqz t8, 0x448e50 |
| } while (t8 == 0);
0x00448e9c jalr t9 | t9 ();
0x00448ea0 nop |
0x00448ea4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00448ea8 beqz v0, 0x448eec | goto label_8;
| }
0x00448eac sw zero, 4(s1) | *((s1 + 1)) = 0;
0x00448eb0 b 0x448e50 | goto label_0;
| label_5:
0x00448eb4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448eb8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448ebc lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.bad_input_format_specified_for__s_n */
0x00448ec0 addiu a1, a1, -0x5088 | a1 += -0x5088;
0x00448ec4 jalr t9 | t9 ();
0x00448ec8 lw ra, 0x34(sp) | ra = *(var_34h);
| do {
0x00448ecc move v0, zero | v0 = 0;
0x00448ed0 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448ed4 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448ed8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448edc lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448ee0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448ee4 addiu sp, sp, 0x38 |
0x00448ee8 jr ra | return v0;
| label_8:
0x00448eec move s0, zero | s0 = 0;
| label_2:
0x00448ef0 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
| if (s2 != 0) {
0x00448ef4 beqz s2, 0x448f08 |
0x00448ef8 lw a1, -0x6f54(gp) | a1 = *((gp - 7125));
0x00448efc move a0, s2 | a0 = s2;
0x00448f00 jalr t9 | t9 ();
0x00448f04 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00448f08 move v0, s3 | v0 = s3;
| if (s0 != 0) {
0x00448f0c bnez s0, 0x448f58 | goto label_10;
| }
0x00448f10 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
0x00448f14 lw a1, -0x6ef4(gp) | a1 = *((gp - 7101));
0x00448f18 move a0, s3 | a0 = s3;
0x00448f1c jalr t9 | t9 ();
0x00448f20 move a0, s4 | a0 = s4;
0x00448f24 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448f28 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448f2c lw a2, -0x7f9c(gp) | a2 = *(gp);
0x00448f30 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_load__s_n */
0x00448f34 addiu a1, a1, -0x4fc8 | a1 += -0x4fc8;
| /* str.CRLs */
0x00448f38 addiu a2, a2, -0x4fb4 | a2 += -0x4fb4;
0x00448f3c jalr t9 | t9 ();
0x00448f40 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00448f44 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448f48 move a0, s4 | a0 = s4;
0x00448f4c jalr t9 | t9 ();
0x00448f50 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448f54 b 0x448ecc |
| } while (1);
| label_10:
0x00448f58 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448f5c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448f60 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448f64 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448f68 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448f6c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448f70 addiu sp, sp, 0x38 |
0x00448f74 jr ra | return v0;
| label_7:
0x00448f78 move a3, s0 | a3 = s0;
| label_4:
0x00448f7c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448f80 move a0, s4 | a0 = s4;
0x00448f84 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448f88 lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.Error_opening__s__s_n */
0x00448f8c addiu a1, a1, -0x50c8 | a1 += -0x50c8;
0x00448f90 jalr t9 | t9 ();
0x00448f94 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448f98 b 0x448f44 | goto label_1;
| label_9:
0x00448f9c lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448fa0 move a0, s3 | a0 = s3;
0x00448fa4 jalr t9 | t9 ();
0x00448fa8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448fac slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x00448fb0 b 0x448ef0 | goto label_2;
| label_6:
0x00448fb4 lw t8, -0x7bbc(gp) | t8 = *((gp - 7919));
0x00448fb8 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x00448fbc lw a0, (t8) | a0 = *(t8);
0x00448fc0 jalr t9 | t9 ();
0x00448fc4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448fc8 move s1, v0 | s1 = v0;
| if (v0 != 0) {
0x00448fcc bnez v0, 0x448e04 | goto label_3;
| }
0x00448fd0 lw a3, -0x7fd8(gp) | a3 = *(gp);
| /* str.stdin */
0x00448fd4 addiu a3, a3, -0x34d8 | a3 += -0x34d8;
0x00448fd8 b 0x448f7c | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448d9c */
| #include <stdint.h>
|
; (fcn) sym.load_crls () | void load_crls () {
0x00448d9c lui gp, 5 |
0x00448da0 addiu gp, gp, 0x3704 |
0x00448da4 addu gp, gp, t9 | gp += t9;
0x00448da8 addiu sp, sp, -0x38 |
0x00448dac sw ra, 0x34(sp) | *(var_34h) = ra;
0x00448db0 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00448db4 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00448db8 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00448dbc sw s1, 0x24(sp) | *(var_24h) = s1;
0x00448dc0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00448dc4 addiu t8, zero, 3 | t8 = 3;
0x00448dc8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00448dcc move s0, a1 | s0 = a1;
0x00448dd0 sw a3, 0x18(sp) | *(var_18h) = a3;
0x00448dd4 sw a1, 0x1c(sp) | *(var_1ch) = a1;
| if (a2 != t8) {
0x00448dd8 bne a2, t8, 0x448eb4 | goto label_5;
| }
0x00448ddc move s4, a0 | s4 = a0;
| if (a1 == 0) {
0x00448de0 beqz a1, 0x448fb4 | goto label_6;
| }
0x00448de4 move a0, a1 | a0 = a1;
0x00448de8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00448dec lw t9, -0x79cc(gp) | t9 = sym.imp.BIO_new_file;
0x00448df0 addiu a1, a1, 0x13b8 | a1 += 0x13b8;
0x00448df4 jalr t9 | t9 ();
0x00448df8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448dfc move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00448e00 beqz v0, 0x448f78 | goto label_7;
| }
| label_3:
0x00448e04 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x00448e08 move a1, zero | a1 = 0;
0x00448e0c lw t9, -0x75fc(gp) | t9 = sym.imp.PEM_X509_INFO_read_bio;
0x00448e10 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00448e14 move a0, s1 | a0 = s1;
0x00448e18 jalr t9 | t9 ();
0x00448e1c move a0, s1 | a0 = s1;
0x00448e20 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e24 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x00448e28 move s2, v0 | s2 = v0;
0x00448e2c jalr t9 | t9 ();
0x00448e30 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e34 lw t9, -0x7830(gp) | t9 = sym.imp.sk_new_null;
0x00448e38 jalr t9 | t9 ();
0x00448e3c nop |
0x00448e40 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e44 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00448e48 beqz v0, 0x448eec | goto label_8;
| }
0x00448e4c move s0, zero | s0 = 0;
| do {
| label_0:
0x00448e50 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448e54 move a0, s2 | a0 = s2;
0x00448e58 jalr t9 | t9 ();
0x00448e5c move a1, s0 | a1 = s0;
0x00448e60 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e64 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00448e68 move a0, s2 | a0 = s2;
0x00448e6c addiu s0, s0, 1 | s0++;
0x00448e70 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
| if (v0 == 0) {
0x00448e74 beqz v0, 0x448f9c | goto label_9;
| }
0x00448e78 jalr t9 | t9 ();
0x00448e7c nop |
0x00448e80 move a0, s3 | a0 = s3;
0x00448e84 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448e88 move s1, v0 | s1 = v0;
0x00448e8c lw t8, 4(v0) | t8 = *((v0 + 1));
0x00448e90 lw t9, -0x75c4(gp) | t9 = sym.imp.sk_push;
0x00448e94 move a1, t8 | a1 = t8;
0x00448e98 beqz t8, 0x448e50 |
| } while (t8 == 0);
0x00448e9c jalr t9 | t9 ();
0x00448ea0 nop |
0x00448ea4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00448ea8 beqz v0, 0x448eec | goto label_8;
| }
0x00448eac sw zero, 4(s1) | *((s1 + 1)) = 0;
0x00448eb0 b 0x448e50 | goto label_0;
| label_5:
0x00448eb4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448eb8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448ebc lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.bad_input_format_specified_for__s_n */
0x00448ec0 addiu a1, a1, -0x5088 | a1 += -0x5088;
0x00448ec4 jalr t9 | t9 ();
0x00448ec8 lw ra, 0x34(sp) | ra = *(var_34h);
| do {
0x00448ecc move v0, zero | v0 = 0;
0x00448ed0 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448ed4 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448ed8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448edc lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448ee0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448ee4 addiu sp, sp, 0x38 |
0x00448ee8 jr ra | return v0;
| label_8:
0x00448eec move s0, zero | s0 = 0;
| label_2:
0x00448ef0 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
| if (s2 != 0) {
0x00448ef4 beqz s2, 0x448f08 |
0x00448ef8 lw a1, -0x6f54(gp) | a1 = *((gp - 7125));
0x00448efc move a0, s2 | a0 = s2;
0x00448f00 jalr t9 | t9 ();
0x00448f04 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00448f08 move v0, s3 | v0 = s3;
| if (s0 != 0) {
0x00448f0c bnez s0, 0x448f58 | goto label_10;
| }
0x00448f10 lw t9, -0x75ec(gp) | t9 = sym.imp.sk_pop_free;
0x00448f14 lw a1, -0x6ef4(gp) | a1 = *((gp - 7101));
0x00448f18 move a0, s3 | a0 = s3;
0x00448f1c jalr t9 | t9 ();
0x00448f20 move a0, s4 | a0 = s4;
0x00448f24 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448f28 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448f2c lw a2, -0x7f9c(gp) | a2 = *(gp);
0x00448f30 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_load__s_n */
0x00448f34 addiu a1, a1, -0x4fc8 | a1 += -0x4fc8;
| /* str.CRLs */
0x00448f38 addiu a2, a2, -0x4fb4 | a2 += -0x4fb4;
0x00448f3c jalr t9 | t9 ();
0x00448f40 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00448f44 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448f48 move a0, s4 | a0 = s4;
0x00448f4c jalr t9 | t9 ();
0x00448f50 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448f54 b 0x448ecc |
| } while (1);
| label_10:
0x00448f58 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448f5c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00448f60 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00448f64 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00448f68 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00448f6c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00448f70 addiu sp, sp, 0x38 |
0x00448f74 jr ra | return v0;
| label_7:
0x00448f78 move a3, s0 | a3 = s0;
| label_4:
0x00448f7c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448f80 move a0, s4 | a0 = s4;
0x00448f84 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448f88 lw a2, 0x4c(sp) | a2 = *(arg_4ch);
| /* str.Error_opening__s__s_n */
0x00448f8c addiu a1, a1, -0x50c8 | a1 += -0x50c8;
0x00448f90 jalr t9 | t9 ();
0x00448f94 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448f98 b 0x448f44 | goto label_1;
| label_9:
0x00448f9c lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00448fa0 move a0, s3 | a0 = s3;
0x00448fa4 jalr t9 | t9 ();
0x00448fa8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448fac slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x00448fb0 b 0x448ef0 | goto label_2;
| label_6:
0x00448fb4 lw t8, -0x7bbc(gp) | t8 = *((gp - 7919));
0x00448fb8 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x00448fbc lw a0, (t8) | a0 = *(t8);
0x00448fc0 jalr t9 | t9 ();
0x00448fc4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448fc8 move s1, v0 | s1 = v0;
| if (v0 != 0) {
0x00448fcc bnez v0, 0x448e04 | goto label_3;
| }
0x00448fd0 lw a3, -0x7fd8(gp) | a3 = *(gp);
| /* str.stdin */
0x00448fd4 addiu a3, a3, -0x34d8 | a3 += -0x34d8;
0x00448fd8 b 0x448f7c | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44f2a8 */
| #include <stdint.h>
|
; (fcn) sym.load_excert () | void load_excert () {
0x0044f2a8 lui gp, 5 |
0x0044f2ac addiu gp, gp, -0x2e08 |
0x0044f2b0 addu gp, gp, t9 | gp += t9;
0x0044f2b4 addiu sp, sp, -0x40 |
0x0044f2b8 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0044f2bc sw s4, 0x38(sp) | *(var_38h) = s4;
0x0044f2c0 sw s3, 0x34(sp) | *(var_34h) = s3;
0x0044f2c4 sw s2, 0x30(sp) | *(var_30h) = s2;
0x0044f2c8 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0044f2cc sw s0, 0x28(sp) | *(var_28h) = s0;
0x0044f2d0 lw s0, (a0) | s0 = *(a0);
0x0044f2d4 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044f2d8 move s2, a0 | s2 = a0;
| if (s0 == 0) {
0x0044f2dc beqz s0, 0x44f418 | goto label_3;
| }
0x0044f2e0 lw t8, 4(s0) | t8 = *((s0 + 1));
0x0044f2e4 move s1, a1 | s1 = a1;
| if (t8 == 0) {
0x0044f2e8 beqz t8, 0x44f470 | goto label_4;
| }
| label_1:
0x0044f2ec lw s2, -0x7f9c(gp) | s2 = *(gp);
0x0044f2f0 lw s3, -0x7f9c(gp) | s3 = *(gp);
0x0044f2f4 lw s4, -0x7f9c(gp) | s4 = *(gp);
| /* str.Server_Certificate */
0x0044f2f8 addiu s2, s2, -0x3ab8 | s2 += -0x3ab8;
| /* str.Server_Key */
0x0044f2fc addiu s3, s3, -0x3aa4 | s3 += -0x3aa4;
0x0044f300 b 0x44f36c |
| while (t8 != 0) {
0x0044f304 lw a2, 8(s0) | a2 = *((s0 + 2));
0x0044f308 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044f30c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0044f310 sw s3, 0x18(sp) | *(var_18h) = s3;
0x0044f314 jalr t9 | t9 ();
0x0044f318 move a0, s1 | a0 = s1;
0x0044f31c lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f320 addiu a2, zero, 3 | a2 = 3;
0x0044f324 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x0044f328 move a3, zero | a3 = 0;
0x0044f32c lw t9, -0x7ed8(gp) | t9 = sym.load_certs;
| if (v0 == 0) {
0x0044f330 beqz v0, 0x44f3f4 | goto label_5;
| }
| label_0:
0x0044f334 lw t8, 0x10(s0) | t8 = *((s0 + 4));
0x0044f338 move a1, t8 | a1 = t8;
| if (t8 != 0) {
0x0044f33c beqz t8, 0x44f35c |
| /* str.Server_Chain */
0x0044f340 addiu t8, s4, -0x3a98 | t8 = s4 + -0x3a98;
0x0044f344 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044f348 sw t8, 0x14(sp) | *(var_14h) = t8;
0x0044f34c jalr t9 | t9 ();
0x0044f350 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f354 sw v0, 0x1c(s0) | *((s0 + 7)) = v0;
| if (v0 == 0) {
0x0044f358 beqz v0, 0x44f3f4 | goto label_5;
| }
| }
0x0044f35c lw s0, 0x24(s0) | s0 = *((s0 + 9));
0x0044f360 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (s0 == 0) {
0x0044f364 beqz s0, 0x44f41c | goto label_6;
| }
0x0044f368 lw t8, 4(s0) | t8 = *((s0 + 1));
0x0044f36c lw t9, -0x7f58(gp) | t9 = sym.load_cert;
0x0044f370 move a1, t8 | a1 = t8;
0x0044f374 move a0, s1 | a0 = s1;
0x0044f378 move a3, zero | a3 = 0;
| if (t8 == 0) {
0x0044f37c beqz t8, 0x44f43c | goto label_7;
| }
0x0044f380 lw a2, (s0) | a2 = *(s0);
0x0044f384 sw s2, 0x14(sp) | *(var_14h) = s2;
0x0044f388 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044f38c jalr t9 | t9 ();
0x0044f390 move a0, s1 | a0 = s1;
0x0044f394 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f398 move a3, zero | a3 = 0;
0x0044f39c sw v0, 0x14(s0) | *((s0 + 5)) = v0;
0x0044f3a0 lw t9, -0x7fb0(gp) | t9 = sym.load_key;
| if (v0 == 0) {
0x0044f3a4 beqz v0, 0x44f3f4 | goto label_5;
| }
0x0044f3a8 lw t8, 0xc(s0) | t8 = *((s0 + 3));
0x0044f3ac move a1, t8 | a1 = t8;
0x0044f3b0 bnez t8, 0x44f304 |
| }
0x0044f3b4 lw a2, (s0) | a2 = *(s0);
0x0044f3b8 move a0, s1 | a0 = s1;
0x0044f3bc lw a1, 4(s0) | a1 = *((s0 + 1));
0x0044f3c0 move a3, zero | a3 = 0;
0x0044f3c4 lw t9, -0x7fb0(gp) | t9 = sym.load_key;
0x0044f3c8 sw s3, 0x18(sp) | *(var_18h) = s3;
0x0044f3cc sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044f3d0 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0044f3d4 jalr t9 | t9 ();
0x0044f3d8 move a0, s1 | a0 = s1;
0x0044f3dc lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f3e0 addiu a2, zero, 3 | a2 = 3;
0x0044f3e4 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x0044f3e8 move a3, zero | a3 = 0;
0x0044f3ec lw t9, -0x7ed8(gp) | t9 = sym.load_certs;
| if (v0 != 0) {
0x0044f3f0 bnez v0, 0x44f334 | goto label_0;
| }
| label_5:
0x0044f3f4 move v0, zero | v0 = 0;
| label_2:
0x0044f3f8 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0044f3fc lw s4, 0x38(sp) | s4 = *(var_38h);
0x0044f400 lw s3, 0x34(sp) | s3 = *(var_34h);
0x0044f404 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0044f408 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0044f40c lw s0, 0x28(sp) | s0 = *(var_28h);
0x0044f410 addiu sp, sp, 0x40 |
0x0044f414 jr ra | return v0;
| label_3:
0x0044f418 lw ra, 0x3c(sp) | ra = *(var_3ch);
| label_6:
0x0044f41c addiu v0, zero, 1 | v0 = 1;
0x0044f420 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0044f424 lw s3, 0x34(sp) | s3 = *(var_34h);
0x0044f428 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0044f42c lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0044f430 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0044f434 addiu sp, sp, 0x40 |
0x0044f438 jr ra | return v0;
| label_7:
0x0044f43c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f440 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Missing_filename_n */
0x0044f444 addiu a1, a1, -0x3acc | a1 += -0x3acc;
0x0044f448 jalr t9 | t9 ();
0x0044f44c move v0, zero | v0 = 0;
0x0044f450 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0044f454 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0044f458 lw s3, 0x34(sp) | s3 = *(var_34h);
0x0044f45c lw s2, 0x30(sp) | s2 = *(var_30h);
0x0044f460 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0044f464 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0044f468 addiu sp, sp, 0x40 |
0x0044f46c jr ra | return v0;
| label_4:
0x0044f470 lw v0, 0x24(s0) | v0 = *((s0 + 9));
0x0044f474 lw t9, -0x7ef0(gp) | t9 = sym.ssl_excert_free;
| if (v0 != 0) {
0x0044f478 bnez v0, 0x44f2ec | goto label_1;
| }
0x0044f47c move a0, s0 | a0 = s0;
0x0044f480 jalr t9 | t9 ();
0x0044f484 addiu v0, zero, 1 | v0 = 1;
0x0044f488 sw zero, (s2) | *(s2) = 0;
0x0044f48c b 0x44f3f8 | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44aac8 */
| #include <stdint.h>
|
; (fcn) sym.load_index () | void load_index () {
0x0044aac8 lui gp, 5 |
0x0044aacc addiu gp, gp, 0x19d8 |
0x0044aad0 addu gp, gp, t9 | gp += t9;
0x0044aad4 addiu sp, sp, -0x140 |
0x0044aad8 sw ra, 0x13c(sp) | *(var_13ch) = ra;
0x0044aadc sw s5, 0x138(sp) | *(var_138h) = s5;
0x0044aae0 sw s4, 0x134(sp) | *(var_134h) = s4;
0x0044aae4 sw s3, 0x130(sp) | *(var_130h) = s3;
0x0044aae8 sw s2, 0x12c(sp) | *(var_12ch) = s2;
0x0044aaec sw s1, 0x128(sp) | *(var_128h) = s1;
0x0044aaf0 sw s0, 0x124(sp) | *(var_124h) = s0;
0x0044aaf4 move s0, a0 | s0 = a0;
0x0044aaf8 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x0044aafc sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044ab00 move s5, a1 | s5 = a1;
0x0044ab04 jalr t9 | t9 ();
0x0044ab08 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ab0c lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0044ab10 move a0, v0 | a0 = v0;
0x0044ab14 jalr t9 | t9 ();
0x0044ab18 addiu t8, zero, -1 | t8 = -1;
0x0044ab1c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ab20 move s1, v0 | s1 = v0;
0x0044ab24 sw t8, 0x118(sp) | *(var_118h) = t8;
| if (v0 == 0) {
0x0044ab28 beqz v0, 0x44ad84 | goto label_5;
| }
0x0044ab2c lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044ab30 move a0, v0 | a0 = v0;
0x0044ab34 addiu a1, zero, 0x6c | a1 = 0x6c;
0x0044ab38 addiu a2, zero, 3 | a2 = 3;
0x0044ab3c move a3, s0 | a3 = s0;
0x0044ab40 jalr t9 | t9 ();
0x0044ab44 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044ab48 blez v0, 0x44ad44 | goto label_6;
| }
0x0044ab4c lw t9, -0x6ea8(gp) | t9 = sym.imp.TXT_DB_read;
0x0044ab50 move a0, s1 | a0 = s1;
0x0044ab54 addiu a1, zero, 6 | a1 = 6;
0x0044ab58 jalr t9 | t9 ();
0x0044ab5c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ab60 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x0044ab64 beqz v0, 0x44ac90 | goto label_7;
| }
0x0044ab68 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044ab6c addiu s4, sp, 0x18 | s4 = sp + 0x18;
0x0044ab70 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0044ab74 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s.attr */
0x0044ab78 addiu a2, a2, -0x4ddc | a2 += -0x4ddc;
0x0044ab7c move a3, s0 | a3 = s0;
0x0044ab80 move a0, s4 | a0 = s4;
0x0044ab84 jalr t9 | t9 ();
0x0044ab88 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ab8c lw t9, -0x6f64(gp) | t9 = sym.imp.NCONF_new;
0x0044ab90 move a0, zero | a0 = 0;
0x0044ab94 jalr t9 | t9 ();
0x0044ab98 move a1, s4 | a1 = s4;
0x0044ab9c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044aba0 move a0, v0 | a0 = v0;
0x0044aba4 addiu a2, sp, 0x118 | a2 = sp + 0x118;
0x0044aba8 lw t9, -0x7c30(gp) | t9 = sym.imp.NCONF_load;
0x0044abac move s2, v0 | s2 = v0;
0x0044abb0 jalr t9 | t9 ();
0x0044abb4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044abb8 blez v0, 0x44ac70 |
| while (1) {
0x0044abbc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044abc0 addiu a0, zero, 8 | a0 = 8;
0x0044abc4 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044abc8 addiu a2, zero, 0x76a | a2 = 0x76a;
| /* str.apps.c */
0x0044abcc addiu a1, a1, -0x5320 | a1 += -0x5320;
0x0044abd0 jalr t9 | t9 ();
0x0044abd4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044abd8 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044abdc beqz v0, 0x44ad1c | goto label_8;
| }
0x0044abe0 sw s3, 4(v0) | *((v0 + 1)) = s3;
| if (s5 == 0) {
0x0044abe4 beqz s5, 0x44acc4 | goto label_9;
| }
0x0044abe8 lw t8, (s5) | t8 = *(s5);
0x0044abec sw t8, (v0) | *(v0) = t8;
| label_1:
0x0044abf0 lw a2, -0x7fd8(gp) | a2 = *(gp);
| if (s2 == 0) {
0x0044abf4 beqz s2, 0x44ac94 | goto label_10;
| }
0x0044abf8 move a0, s2 | a0 = s2;
0x0044abfc lw t9, -0x7a50(gp) | t9 = sym.imp.NCONF_get_string;
0x0044ac00 move a1, zero | a1 = 0;
| /* str.unique_subject */
0x0044ac04 addiu a2, a2, 0xb10 | a2 += 0xb10;
0x0044ac08 jalr t9 | t9 ();
0x0044ac0c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044ac10 beqz v0, 0x44ac2c |
0x0044ac14 lw t9, -0x7f64(gp) | t9 = sym.parse_yesno;
0x0044ac18 move a0, v0 | a0 = v0;
0x0044ac1c addiu a1, zero, 1 | a1 = 1;
0x0044ac20 jalr t9 | t9 ();
0x0044ac24 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ac28 sw v0, (s0) | *(s0) = v0;
| }
0x0044ac2c lw t9, -0x7d74(gp) | t9 = sym.imp.NCONF_free;
0x0044ac30 move a0, s2 | a0 = s2;
0x0044ac34 jalr t9 | t9 ();
0x0044ac38 lw gp, 0x10(sp) | gp = *(var_10h);
| label_2:
0x0044ac3c lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
| label_0:
0x0044ac40 move a0, s1 | a0 = s1;
0x0044ac44 jalr t9 | t9 ();
0x0044ac48 move v0, s0 | v0 = s0;
| label_4:
0x0044ac4c lw ra, 0x13c(sp) | ra = *(var_13ch);
0x0044ac50 lw s5, 0x138(sp) | s5 = *(var_138h);
0x0044ac54 lw s4, 0x134(sp) | s4 = *(var_134h);
0x0044ac58 lw s3, 0x130(sp) | s3 = *(var_130h);
0x0044ac5c lw s2, 0x12c(sp) | s2 = *(var_12ch);
0x0044ac60 lw s1, 0x128(sp) | s1 = *(var_128h);
0x0044ac64 lw s0, 0x124(sp) | s0 = *(var_124h);
0x0044ac68 addiu sp, sp, 0x140 |
0x0044ac6c jr ra | return v0;
0x0044ac70 lw a2, 0x118(sp) | a2 = *(var_118h);
0x0044ac74 lw t9, -0x7d74(gp) | t9 = sym.imp.NCONF_free;
| if (a2 > 0) {
0x0044ac78 bgtz a2, 0x44acd0 | goto label_11;
| }
0x0044ac7c move a0, s2 | a0 = s2;
0x0044ac80 move s2, zero | s2 = 0;
0x0044ac84 jalr t9 | t9 ();
0x0044ac88 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ac8c b 0x44abbc |
| }
| label_7:
0x0044ac90 move s0, zero | s0 = 0;
| label_10:
0x0044ac94 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
| if (s1 != 0) {
0x0044ac98 bnez s1, 0x44ac40 | goto label_0;
| }
| label_3:
0x0044ac9c move v0, s0 | v0 = s0;
0x0044aca0 lw ra, 0x13c(sp) | ra = *(var_13ch);
0x0044aca4 lw s5, 0x138(sp) | s5 = *(var_138h);
0x0044aca8 lw s4, 0x134(sp) | s4 = *(var_134h);
0x0044acac lw s3, 0x130(sp) | s3 = *(var_130h);
0x0044acb0 lw s2, 0x12c(sp) | s2 = *(var_12ch);
0x0044acb4 lw s1, 0x128(sp) | s1 = *(var_128h);
0x0044acb8 lw s0, 0x124(sp) | s0 = *(var_124h);
0x0044acbc addiu sp, sp, 0x140 |
0x0044acc0 jr ra | return v0;
| label_9:
0x0044acc4 addiu t8, zero, 1 | t8 = 1;
0x0044acc8 sw t8, (v0) | *(v0) = t8;
0x0044accc b 0x44abf0 | goto label_1;
| label_11:
0x0044acd0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044acd4 move a3, s4 | a3 = s4;
0x0044acd8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044acdc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044ace0 lw a0, (t8) | a0 = *(t8);
| /* str.error_on_line__ld_of_db_attribute_file__s_n */
0x0044ace4 addiu a1, a1, -0x4d98 | a1 += -0x4d98;
0x0044ace8 jalr t9 | t9 ();
0x0044acec lw gp, 0x10(sp) | gp = *(var_10h);
| do {
0x0044acf0 lw t9, -0x7d74(gp) | t9 = sym.imp.NCONF_free;
| if (s2 != 0) {
0x0044acf4 beqz s2, 0x44ad04 |
0x0044acf8 move a0, s2 | a0 = s2;
0x0044acfc jalr t9 | t9 ();
0x0044ad00 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0044ad04 lw t9, -0x7248(gp) | t9 = sym.imp.TXT_DB_free;
0x0044ad08 move a0, s3 | a0 = s3;
0x0044ad0c move s0, zero | s0 = 0;
0x0044ad10 jalr t9 | t9 ();
0x0044ad14 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ad18 b 0x44ac3c | goto label_2;
| label_8:
0x0044ad1c lw t8, -0x6c70(gp) | t8 = *((gp - 6940));
0x0044ad20 addiu a1, zero, 1 | a1 = 1;
0x0044ad24 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0044ad28 addiu a2, zero, 0xe | a2 = 0xe;
0x0044ad2c lw t9, -0x7410(gp) | t9 = sym.imp.fwrite;
0x0044ad30 lw a3, (t8) | a3 = *(t8);
| /* str.Out_of_memory_n */
0x0044ad34 addiu a0, a0, -0x1474 | a0 += -0x1474;
0x0044ad38 jalr t9 | t9 ();
0x0044ad3c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ad40 b 0x44acf0 |
| } while (1);
| label_6:
0x0044ad44 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x0044ad48 move a0, s0 | a0 = s0;
0x0044ad4c jalr t9 | t9 ();
0x0044ad50 move a2, s0 | a2 = s0;
0x0044ad54 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ad58 move s0, zero | s0 = 0;
0x0044ad5c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044ad60 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044ad64 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044ad68 lw a0, (t8) | a0 = *(t8);
| /* str.unable_to_open__s_n */
0x0044ad6c addiu a1, a1, -0x4dc8 | a1 += -0x4dc8;
0x0044ad70 jalr t9 | t9 ();
0x0044ad74 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s1 == 0) {
0x0044ad78 beqz s1, 0x44ac9c | goto label_3;
| }
0x0044ad7c lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
0x0044ad80 b 0x44ac40 | goto label_0;
| label_5:
0x0044ad84 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044ad88 move s0, zero | s0 = 0;
0x0044ad8c lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044ad90 lw a0, (t8) | a0 = *(t8);
0x0044ad94 jalr t9 | t9 ();
0x0044ad98 move v0, s0 | v0 = s0;
0x0044ad9c b 0x44ac4c | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4484c0 */
| #include <stdint.h>
|
; (fcn) sym.load_key () | void load_key () {
0x004484c0 lui gp, 5 |
0x004484c4 addiu gp, gp, 0x3fe0 |
0x004484c8 addu gp, gp, t9 | gp += t9;
0x004484cc addiu sp, sp, -0x50 |
0x004484d0 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x004484d4 sw s3, 0x48(sp) | *(var_48h) = s3;
0x004484d8 sw s2, 0x44(sp) | *(var_44h) = s2;
0x004484dc sw s1, 0x40(sp) | *(var_40h) = s1;
0x004484e0 sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x004484e4 move s0, a1 | s0 = a1;
0x004484e8 lw t8, 0x60(sp) | t8 = *(arg_60h);
0x004484ec move s3, a0 | s3 = a0;
0x004484f0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x004484f4 move s1, a2 | s1 = a2;
0x004484f8 lw s2, 0x64(sp) | s2 = *(arg_64h);
0x004484fc sw zero, 0x30(sp) | *(var_30h) = 0;
0x00448500 sw t8, 0x28(sp) | *(var_28h) = t8;
0x00448504 sw a1, 0x2c(sp) | *(var_2ch) = a1;
| if (a1 == 0) {
0x00448508 beqz a1, 0x44855c | goto label_2;
| }
0x0044850c addiu t8, zero, 7 | t8 = 7;
0x00448510 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
| if (a2 != t8) {
0x00448514 bne a2, t8, 0x44868c | goto label_3;
| }
0x00448518 lw t9, -0x6e6c(gp) | t9 = sym.imp.ENGINE_init;
| if (s2 == 0) {
0x0044851c beqz s2, 0x448670 | goto label_4;
| }
0x00448520 move a0, s2 | a0 = s2;
0x00448524 jalr t9 | t9 ();
0x00448528 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044852c bnez v0, 0x4485d0 |
| while (1) {
0x00448530 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00448534 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (v0 == 0) {
0x00448538 beqz v0, 0x448718 | goto label_5;
| }
| label_0:
0x0044853c lw ra, 0x4c(sp) | ra = *(var_4ch);
| if (v0 == 0) {
0x00448540 beqz v0, 0x448608 | goto label_6;
| }
0x00448544 lw s3, 0x48(sp) | s3 = *(var_48h);
0x00448548 lw s2, 0x44(sp) | s2 = *(var_44h);
0x0044854c lw s1, 0x40(sp) | s1 = *(var_40h);
0x00448550 lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x00448554 addiu sp, sp, 0x50 |
0x00448558 jr ra | return v0;
| label_2:
0x0044855c addiu t8, zero, 7 | t8 = 7;
| if (a3 == 0) {
0x00448560 beqz a3, 0x448650 | goto label_7;
| }
0x00448564 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
| if (a2 == t8) {
0x00448568 beq a2, t8, 0x448650 | goto label_7;
| }
0x0044856c jalr t9 | t9 ();
0x00448570 nop |
0x00448574 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448578 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0044857c move a0, v0 | a0 = v0;
0x00448580 jalr t9 | t9 ();
0x00448584 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448588 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0044858c beqz v0, 0x4487f0 | goto label_8;
| }
0x00448590 lw s0, -0x7bbc(gp) | s0 = *((gp - 7919));
0x00448594 move a1, zero | a1 = 0;
0x00448598 lw t9, -0x6c20(gp) | t9 = sym.imp.setvbuf;
0x0044859c addiu a2, zero, 2 | a2 = 2;
0x004485a0 lw a0, (s0) | a0 = *(s0);
0x004485a4 move a3, zero | a3 = 0;
0x004485a8 jalr t9 | t9 ();
0x004485ac move a0, s2 | a0 = s2;
0x004485b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004485b4 addiu a1, zero, 0x6a | a1 = 0x6a;
0x004485b8 lw a3, (s0) | a3 = *(s0);
0x004485bc lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x004485c0 move a2, zero | a2 = 0;
0x004485c4 jalr t9 | t9 ();
0x004485c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x004485cc b 0x4486d0 | goto label_9;
0x004485d0 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x004485d4 move a0, s2 | a0 = s2;
0x004485d8 lw t9, -0x73c8(gp) | t9 = sym.imp.ENGINE_load_private_key;
0x004485dc move a1, s0 | a1 = s0;
0x004485e0 lw a2, 0x667c(t8) | a2 = *((t8 + 6559));
0x004485e4 addiu a3, sp, 0x28 | a3 = sp + 0x28;
0x004485e8 jalr t9 | t9 ();
0x004485ec move a0, s2 | a0 = s2;
0x004485f0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004485f4 lw t9, -0x7028(gp) | t9 = sym.imp.ENGINE_finish;
0x004485f8 sw v0, 0x30(sp) | *(var_30h) = v0;
0x004485fc jalr t9 | t9 ();
0x00448600 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448604 b 0x448530 |
| }
| label_6:
0x00448608 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044860c move a0, s3 | a0 = s3;
0x00448610 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448614 lw a2, 0x68(sp) | a2 = *(arg_68h);
| /* str.unable_to_load__s_n */
0x00448618 addiu a1, a1, -0x4fc8 | a1 += -0x4fc8;
0x0044861c jalr t9 | t9 ();
0x00448620 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448624 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448628 move a0, s3 | a0 = s3;
0x0044862c jalr t9 | t9 ();
0x00448630 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00448634 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x00448638 lw s3, 0x48(sp) | s3 = *(var_48h);
0x0044863c lw s2, 0x44(sp) | s2 = *(var_44h);
0x00448640 lw s1, 0x40(sp) | s1 = *(var_40h);
0x00448644 lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x00448648 addiu sp, sp, 0x50 |
0x0044864c jr ra | return v0;
| label_7:
0x00448650 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448654 move a0, s3 | a0 = s3;
0x00448658 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.no_keyfile_specified_n */
0x0044865c addiu a1, a1, -0x5040 | a1 += -0x5040;
0x00448660 jalr t9 | t9 ();
0x00448664 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448668 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0044866c b 0x44853c | goto label_0;
| label_4:
0x00448670 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448674 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.no_engine_specified_n */
0x00448678 addiu a1, a1, -0x5028 | a1 += -0x5028;
0x0044867c jalr t9 | t9 ();
0x00448680 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448684 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00448688 b 0x44853c | goto label_0;
| label_3:
0x0044868c jalr t9 | t9 ();
0x00448690 nop |
0x00448694 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448698 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0044869c move a0, v0 | a0 = v0;
0x004486a0 jalr t9 | t9 ();
0x004486a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004486a8 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x004486ac beqz v0, 0x4487f0 | goto label_8;
| }
0x004486b0 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x004486b4 move a0, s2 | a0 = s2;
0x004486b8 addiu a1, zero, 0x6c | a1 = 0x6c;
0x004486bc addiu a2, zero, 3 | a2 = 3;
0x004486c0 move a3, s0 | a3 = s0;
0x004486c4 jalr t9 | t9 ();
0x004486c8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x004486cc blez v0, 0x448798 | goto label_10;
| }
| label_9:
0x004486d0 addiu t8, zero, 1 | t8 = 1;
0x004486d4 addiu t8, zero, 3 | t8 = 3;
| if (s1 == t8) {
0x004486d8 beq s1, t8, 0x44877c | goto label_11;
| }
0x004486dc addiu t8, zero, 5 | t8 = 5;
| if (s1 == t8) {
0x004486e0 beq s1, t8, 0x4487cc | goto label_12;
| }
0x004486e4 move a0, s3 | a0 = s3;
| if (s1 == t8) {
0x004486e8 beq s1, t8, 0x448748 | goto label_13;
| }
0x004486ec lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004486f0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.bad_input_format_specified_for_key_file_n */
0x004486f4 addiu a1, a1, -0x4ff4 | a1 += -0x4ff4;
0x004486f8 jalr t9 | t9 ();
0x004486fc lw gp, 0x20(sp) | gp = *(var_20h);
| do {
| label_1:
0x00448700 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x00448704 move a0, s2 | a0 = s2;
0x00448708 jalr t9 | t9 ();
0x0044870c lw gp, 0x20(sp) | gp = *(var_20h);
0x00448710 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00448714 b 0x44853c | goto label_0;
| label_5:
0x00448718 move a0, s3 | a0 = s3;
0x0044871c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448720 lw a2, 0x68(sp) | a2 = *(arg_68h);
| /* str.cannot_load__s_from_engine_n */
0x00448724 addiu a1, a1, -0x5010 | a1 += -0x5010;
0x00448728 jalr t9 | t9 ();
0x0044872c lw gp, 0x20(sp) | gp = *(var_20h);
0x00448730 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448734 move a0, s3 | a0 = s3;
0x00448738 jalr t9 | t9 ();
0x0044873c lw gp, 0x20(sp) | gp = *(var_20h);
0x00448740 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00448744 b 0x44853c | goto label_0;
| label_13:
0x00448748 lw t9, -0x7e1c(gp) | t9 = *((gp - 8071));
0x0044874c addiu t8, sp, 0x28 | t8 = sp + 0x28;
0x00448750 lw a3, -0x7e2c(gp) | a3 = sym.password_callback;
0x00448754 move a1, s2 | a1 = s2;
0x00448758 sw t8, 0x10(sp) | *(var_10h) = t8;
0x0044875c addiu t8, sp, 0x30 | t8 = sp + 0x30;
0x00448760 lw a2, 0x68(sp) | a2 = *(arg_68h);
0x00448764 addiu t9, t9, 0x6d4c | t9 += 0x6d4c;
0x00448768 sw t8, 0x14(sp) | *(var_14h) = t8;
0x0044876c sw zero, 0x18(sp) | *(var_18h) = 0;
0x00448770 jalr t9 | t9 ();
0x00448774 lw gp, 0x20(sp) | gp = *(var_20h);
0x00448778 b 0x448700 |
| } while (1);
| label_11:
0x0044877c lw t9, -0x6ce8(gp) | t9 = sym.imp.d2i_PrivateKey_bio;
0x00448780 move a0, s2 | a0 = s2;
0x00448784 move a1, zero | a1 = 0;
0x00448788 jalr t9 | t9 ();
0x0044878c lw gp, 0x20(sp) | gp = *(var_20h);
0x00448790 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00448794 b 0x448700 | goto label_1;
| label_10:
0x00448798 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044879c move a0, s3 | a0 = s3;
0x004487a0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004487a4 move a3, s0 | a3 = s0;
0x004487a8 lw a2, 0x68(sp) | a2 = *(arg_68h);
| /* str.Error_opening__s__s_n */
0x004487ac addiu a1, a1, -0x50c8 | a1 += -0x50c8;
0x004487b0 jalr t9 | t9 ();
0x004487b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004487b8 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004487bc move a0, s3 | a0 = s3;
0x004487c0 jalr t9 | t9 ();
0x004487c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004487c8 b 0x448700 | goto label_1;
| label_12:
0x004487cc lw t9, -0x7c0c(gp) | t9 = sym.imp.PEM_read_bio_PrivateKey;
0x004487d0 move a0, s2 | a0 = s2;
0x004487d4 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x004487d8 move a1, zero | a1 = 0;
0x004487dc addiu a3, sp, 0x28 | a3 = sp + 0x28;
0x004487e0 jalr t9 | t9 ();
0x004487e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004487e8 sw v0, 0x30(sp) | *(var_30h) = v0;
0x004487ec b 0x448700 | goto label_1;
| label_8:
0x004487f0 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004487f4 move a0, s3 | a0 = s3;
0x004487f8 jalr t9 | t9 ();
0x004487fc lw gp, 0x20(sp) | gp = *(var_20h);
0x00448800 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00448804 b 0x44853c | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x448808 */
| #include <stdint.h>
|
; (fcn) sym.load_pubkey () | void load_pubkey () {
0x00448808 lui gp, 5 |
0x0044880c addiu gp, gp, 0x3c98 |
0x00448810 addu gp, gp, t9 | gp += t9;
0x00448814 addiu sp, sp, -0x38 |
0x00448818 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0044881c sw s3, 0x30(sp) | *(var_30h) = s3;
0x00448820 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00448824 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00448828 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0044882c move s1, a1 | s1 = a1;
0x00448830 lw t8, 0x48(sp) | t8 = *(arg_48h);
0x00448834 move s3, a0 | s3 = a0;
0x00448838 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044883c move s0, a2 | s0 = a2;
0x00448840 sw t8, 0x18(sp) | *(var_18h) = t8;
0x00448844 sw a1, 0x1c(sp) | *(var_1ch) = a1;
| if (a1 == 0) {
0x00448848 beqz a1, 0x4488a0 | goto label_2;
| }
0x0044884c addiu t8, zero, 7 | t8 = 7;
0x00448850 lw t8, 0x4c(sp) | t8 = *(arg_4ch);
| if (a2 != t8) {
0x00448854 bne a2, t8, 0x44896c | goto label_3;
| }
0x00448858 move a0, t8 | a0 = t8;
| if (t8 == 0) {
0x0044885c beqz t8, 0x448914 | goto label_4;
| }
0x00448860 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x00448864 lw t9, -0x7c04(gp) | t9 = sym.imp.ENGINE_load_public_key;
0x00448868 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x0044886c lw a2, 0x667c(t8) | a2 = *((t8 + 6559));
0x00448870 jalr t9 | t9 ();
0x00448874 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448878 move s0, v0 | s0 = v0;
| do {
0x0044887c move v0, s0 | v0 = s0;
| if (s0 != 0) {
0x00448880 beqz s0, 0x448934 |
0x00448884 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448888 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0044888c lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00448890 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00448894 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00448898 addiu sp, sp, 0x38 |
0x0044889c jr ra | return v0;
| label_2:
0x004488a0 addiu t8, zero, 7 | t8 = 7;
| if (a3 == 0) {
0x004488a4 beqz a3, 0x448aec | goto label_5;
| }
0x004488a8 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
| if (a2 == t8) {
0x004488ac beq a2, t8, 0x448aec | goto label_5;
| }
0x004488b0 jalr t9 | t9 ();
0x004488b4 nop |
0x004488b8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004488bc lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x004488c0 move a0, v0 | a0 = v0;
0x004488c4 jalr t9 | t9 ();
0x004488c8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004488cc move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x004488d0 beqz v0, 0x448b44 | goto label_6;
| }
0x004488d4 lw s1, -0x7bbc(gp) | s1 = *((gp - 7919));
0x004488d8 move a1, zero | a1 = 0;
0x004488dc lw t9, -0x6c20(gp) | t9 = sym.imp.setvbuf;
0x004488e0 addiu a2, zero, 2 | a2 = 2;
0x004488e4 lw a0, (s1) | a0 = *(s1);
0x004488e8 move a3, zero | a3 = 0;
0x004488ec jalr t9 | t9 ();
0x004488f0 move a0, s2 | a0 = s2;
0x004488f4 lw gp, 0x10(sp) | gp = *(var_10h);
0x004488f8 addiu a1, zero, 0x6a | a1 = 0x6a;
0x004488fc lw a3, (s1) | a3 = *(s1);
0x00448900 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00448904 move a2, zero | a2 = 0;
0x00448908 jalr t9 | t9 ();
0x0044890c lw gp, 0x10(sp) | gp = *(var_10h);
0x00448910 b 0x4489b4 | goto label_7;
| label_4:
0x00448914 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00448918 move s0, zero | s0 = 0;
0x0044891c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448920 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448924 lw a0, (t8) | a0 = *(t8);
| /* str.no_engine_specified_n */
0x00448928 addiu a1, a1, -0x5028 | a1 += -0x5028;
0x0044892c jalr t9 | t9 ();
0x00448930 lw gp, 0x10(sp) | gp = *(var_10h);
| }
| label_1:
0x00448934 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448938 move a0, s3 | a0 = s3;
0x0044893c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448940 lw a2, 0x50(sp) | a2 = *(arg_50h);
| /* str.unable_to_load__s_n */
0x00448944 addiu a1, a1, -0x4fc8 | a1 += -0x4fc8;
0x00448948 jalr t9 | t9 ();
0x0044894c move v0, s0 | v0 = s0;
0x00448950 lw ra, 0x34(sp) | ra = *(var_34h);
0x00448954 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00448958 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0044895c lw s1, 0x28(sp) | s1 = *(var_28h);
0x00448960 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00448964 addiu sp, sp, 0x38 |
0x00448968 jr ra | return v0;
| label_3:
0x0044896c lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x00448970 jalr t9 | t9 ();
0x00448974 nop |
0x00448978 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044897c lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00448980 move a0, v0 | a0 = v0;
0x00448984 jalr t9 | t9 ();
0x00448988 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044898c move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x00448990 beqz v0, 0x448b44 | goto label_6;
| }
0x00448994 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00448998 move a0, s2 | a0 = s2;
0x0044899c addiu a1, zero, 0x6c | a1 = 0x6c;
0x004489a0 addiu a2, zero, 3 | a2 = 3;
0x004489a4 move a3, s1 | a3 = s1;
0x004489a8 jalr t9 | t9 ();
0x004489ac lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x004489b0 blez v0, 0x448b0c | goto label_8;
| }
| label_7:
0x004489b4 addiu t8, zero, 1 | t8 = 1;
0x004489b8 addiu t8, zero, 0xa | t8 = 0xa;
| if (s0 == t8) {
0x004489bc beq s0, t8, 0x448a04 | goto label_9;
| }
0x004489c0 addiu t8, zero, 9 | t8 = 9;
| if (s0 == t8) {
0x004489c4 beq s0, t8, 0x448a40 | goto label_10;
| }
0x004489c8 addiu t8, zero, 3 | t8 = 3;
| if (s0 == t8) {
0x004489cc beq s0, t8, 0x448a9c | goto label_11;
| }
0x004489d0 addiu t8, zero, 0xb | t8 = 0xb;
| if (s0 == t8) {
0x004489d4 beq s0, t8, 0x448ac8 | goto label_12;
| }
0x004489d8 lw t9, -0x7da4(gp) | t9 = sym.imp.b2i_PublicKey_bio;
| if (s0 != t8) {
0x004489dc bne s0, t8, 0x448a20 | goto label_13;
| }
0x004489e0 move a0, s2 | a0 = s2;
0x004489e4 jalr t9 | t9 ();
0x004489e8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004489ec move s0, v0 | s0 = v0;
| label_0:
0x004489f0 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x004489f4 move a0, s2 | a0 = s2;
0x004489f8 jalr t9 | t9 ();
0x004489fc lw gp, 0x10(sp) | gp = *(var_10h);
0x00448a00 b 0x44887c |
| } while (1);
| label_9:
0x00448a04 lw t9, -0x7c80(gp) | t9 = sym.imp.d2i_PUBKEY_bio;
0x00448a08 move a0, s2 | a0 = s2;
0x00448a0c move a1, zero | a1 = 0;
0x00448a10 jalr t9 | t9 ();
0x00448a14 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448a18 move s0, v0 | s0 = v0;
0x00448a1c b 0x4489f0 | goto label_0;
| label_13:
0x00448a20 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448a24 move a0, s3 | a0 = s3;
0x00448a28 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448a2c move s0, zero | s0 = 0;
| /* str.bad_input_format_specified_for_key_file_n */
0x00448a30 addiu a1, a1, -0x4ff4 | a1 += -0x4ff4;
0x00448a34 jalr t9 | t9 ();
0x00448a38 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448a3c b 0x4489f0 | goto label_0;
| label_10:
0x00448a40 lw t9, -0x6f5c(gp) | t9 = sym.imp.d2i_RSAPublicKey_bio;
0x00448a44 move a0, s2 | a0 = s2;
0x00448a48 move a1, zero | a1 = 0;
0x00448a4c jalr t9 | t9 ();
0x00448a50 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448a54 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00448a58 beqz v0, 0x448ac0 | goto label_14;
| }
| do {
0x00448a5c lw t9, -0x6e60(gp) | t9 = sym.imp.EVP_PKEY_new;
0x00448a60 jalr t9 | t9 ();
0x00448a64 nop |
0x00448a68 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448a6c move s0, v0 | s0 = v0;
| if (v0 != 0) {
0x00448a70 beqz v0, 0x448a88 |
0x00448a74 lw t9, -0x73d4(gp) | t9 = sym.imp.EVP_PKEY_set1_RSA;
0x00448a78 move a0, v0 | a0 = v0;
0x00448a7c move a1, s1 | a1 = s1;
0x00448a80 jalr t9 | t9 ();
0x00448a84 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00448a88 lw t9, -0x6d40(gp) | t9 = sym.imp.RSA_free;
0x00448a8c move a0, s1 | a0 = s1;
0x00448a90 jalr t9 | t9 ();
0x00448a94 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448a98 b 0x4489f0 | goto label_0;
| label_11:
0x00448a9c lw t9, -0x77c8(gp) | t9 = sym.imp.PEM_read_bio_RSAPublicKey;
0x00448aa0 move a0, s2 | a0 = s2;
0x00448aa4 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x00448aa8 move a1, zero | a1 = 0;
0x00448aac addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00448ab0 jalr t9 | t9 ();
0x00448ab4 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448ab8 move s1, v0 | s1 = v0;
0x00448abc bnez v0, 0x448a5c |
| } while (v0 != 0);
| label_14:
0x00448ac0 move s0, zero | s0 = 0;
0x00448ac4 b 0x4489f0 | goto label_0;
| label_12:
0x00448ac8 lw t9, -0x7278(gp) | t9 = sym.imp.PEM_read_bio_PUBKEY;
0x00448acc move a0, s2 | a0 = s2;
0x00448ad0 lw a2, -0x7e2c(gp) | a2 = sym.password_callback;
0x00448ad4 move a1, zero | a1 = 0;
0x00448ad8 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00448adc jalr t9 | t9 ();
0x00448ae0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448ae4 move s0, v0 | s0 = v0;
0x00448ae8 b 0x4489f0 | goto label_0;
| label_5:
0x00448aec lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448af0 move a0, s3 | a0 = s3;
0x00448af4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448af8 move s0, zero | s0 = 0;
| /* str.no_keyfile_specified_n */
0x00448afc addiu a1, a1, -0x5040 | a1 += -0x5040;
0x00448b00 jalr t9 | t9 ();
0x00448b04 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448b08 b 0x448934 | goto label_1;
| label_8:
0x00448b0c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00448b10 move a0, s3 | a0 = s3;
0x00448b14 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00448b18 move a3, s1 | a3 = s1;
0x00448b1c lw a2, 0x50(sp) | a2 = *(arg_50h);
| /* str.Error_opening__s__s_n */
0x00448b20 addiu a1, a1, -0x50c8 | a1 += -0x50c8;
0x00448b24 move s0, zero | s0 = 0;
0x00448b28 jalr t9 | t9 ();
0x00448b2c lw gp, 0x10(sp) | gp = *(var_10h);
0x00448b30 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448b34 move a0, s3 | a0 = s3;
0x00448b38 jalr t9 | t9 ();
0x00448b3c lw gp, 0x10(sp) | gp = *(var_10h);
0x00448b40 b 0x4489f0 | goto label_0;
| label_6:
0x00448b44 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00448b48 move a0, s3 | a0 = s3;
0x00448b4c move s0, zero | s0 = 0;
0x00448b50 jalr t9 | t9 ();
0x00448b54 lw gp, 0x10(sp) | gp = *(var_10h);
0x00448b58 b 0x448934 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449fe0 */
| #include <stdint.h>
|
; (fcn) sym.load_serial () | void load_serial () {
0x00449fe0 lui gp, 5 |
0x00449fe4 addiu gp, gp, 0x24c0 |
0x00449fe8 addu gp, gp, t9 | gp += t9;
0x00449fec addiu sp, sp, -0x430 |
0x00449ff0 sw ra, 0x42c(sp) | *(var_42ch) = ra;
0x00449ff4 sw s4, 0x428(sp) | *(var_428h) = s4;
0x00449ff8 sw s3, 0x424(sp) | *(var_424h) = s3;
0x00449ffc sw s2, 0x420(sp) | *(var_420h) = s2;
0x0044a000 sw s1, 0x41c(sp) | *(var_41ch) = s1;
0x0044a004 sw s0, 0x418(sp) | *(var_418h) = s0;
0x0044a008 move s2, a0 | s2 = a0;
0x0044a00c lw t9, -0x7c88(gp) | t9 = sym.imp.ASN1_INTEGER_new;
0x0044a010 move s4, a1 | s4 = a1;
0x0044a014 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044a018 move s3, a2 | s3 = a2;
0x0044a01c jalr t9 | t9 ();
0x0044a020 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a024 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044a028 beqz v0, 0x44a16c | goto label_3;
| }
0x0044a02c lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x0044a030 jalr t9 | t9 ();
0x0044a034 nop |
0x0044a038 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a03c lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0044a040 move a0, v0 | a0 = v0;
0x0044a044 jalr t9 | t9 ();
0x0044a048 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a04c move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0044a050 beqz v0, 0x44a158 | goto label_4;
| }
0x0044a054 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044a058 move a0, v0 | a0 = v0;
0x0044a05c addiu a1, zero, 0x6c | a1 = 0x6c;
0x0044a060 addiu a2, zero, 3 | a2 = 3;
0x0044a064 move a3, s2 | a3 = s2;
0x0044a068 jalr t9 | t9 ();
0x0044a06c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044a070 blez v0, 0x44a104 | goto label_5;
| }
0x0044a074 lw t9, -0x7a18(gp) | t9 = sym.imp.a2i_ASN1_INTEGER;
0x0044a078 move a0, s1 | a0 = s1;
0x0044a07c move a1, s0 | a1 = s0;
0x0044a080 addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x0044a084 addiu a3, zero, 0x400 | a3 = 0x400;
0x0044a088 jalr t9 | t9 ();
0x0044a08c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044a090 beqz v0, 0x44a1b4 | goto label_6;
| }
0x0044a094 lw t9, -0x7008(gp) | t9 = sym.imp.ASN1_INTEGER_to_BN;
0x0044a098 move a0, s0 | a0 = s0;
0x0044a09c move a1, zero | a1 = 0;
0x0044a0a0 jalr t9 | t9 ();
0x0044a0a4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a0a8 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0044a0ac beqz v0, 0x44a194 | goto label_7;
| }
| do {
| label_0:
0x0044a0b0 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
| if (s3 != 0) {
0x0044a0b4 beqz s3, 0x44a0c4 |
0x0044a0b8 sw s0, (s3) | *(s3) = s0;
0x0044a0bc move s0, zero | s0 = 0;
| label_2:
0x0044a0c0 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
| }
0x0044a0c4 move a0, s1 | a0 = s1;
0x0044a0c8 jalr t9 | t9 ();
0x0044a0cc lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x0044a0d0 lw t9, -0x7b28(gp) | t9 = sym.imp.ASN1_INTEGER_free;
| if (s0 != 0) {
0x0044a0d4 beqz s0, 0x44a0e0 |
0x0044a0d8 move a0, s0 | a0 = s0;
0x0044a0dc jalr t9 | t9 ();
| }
0x0044a0e0 move v0, s2 | v0 = s2;
0x0044a0e4 lw ra, 0x42c(sp) | ra = *(var_42ch);
0x0044a0e8 lw s4, 0x428(sp) | s4 = *(var_428h);
0x0044a0ec lw s3, 0x424(sp) | s3 = *(var_424h);
0x0044a0f0 lw s2, 0x420(sp) | s2 = *(var_420h);
0x0044a0f4 lw s1, 0x41c(sp) | s1 = *(var_41ch);
0x0044a0f8 lw s0, 0x418(sp) | s0 = *(var_418h);
0x0044a0fc addiu sp, sp, 0x430 |
0x0044a100 jr ra | return v0;
| label_5:
0x0044a104 lw t9, -0x790c(gp) | t9 = sym.imp.BN_new;
| if (s4 == 0) {
0x0044a108 beqz s4, 0x44a1dc | goto label_8;
| }
0x0044a10c jalr t9 | t9 ();
0x0044a110 nop |
0x0044a114 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a118 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0044a11c beqz v0, 0x44a174 | goto label_9;
| }
0x0044a120 lw t9, -0x7f90(gp) | t9 = sym.rand_serial;
0x0044a124 move a0, v0 | a0 = v0;
0x0044a128 move a1, s0 | a1 = s0;
0x0044a12c jalr t9 | t9 ();
0x0044a130 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a134 bnez v0, 0x44a0b0 |
| } while (v0 != 0);
0x0044a138 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a13c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044a140 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a144 lw a0, (t8) | a0 = *(t8);
| /* str.Out_of_memory_n */
0x0044a148 addiu a1, a1, -0x1474 | a1 += -0x1474;
0x0044a14c jalr t9 | t9 ();
0x0044a150 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a154 b 0x44a0b0 | goto label_0;
| label_4:
0x0044a158 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a15c lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044a160 lw a0, (t8) | a0 = *(t8);
0x0044a164 jalr t9 | t9 ();
0x0044a168 lw gp, 0x10(sp) | gp = *(var_10h);
| label_3:
0x0044a16c move s2, zero | s2 = 0;
0x0044a170 b 0x44a0d0 | goto label_1;
| label_9:
0x0044a174 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a178 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044a17c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a180 lw a0, (t8) | a0 = *(t8);
| /* str.Out_of_memory_n */
0x0044a184 addiu a1, a1, -0x1474 | a1 += -0x1474;
0x0044a188 jalr t9 | t9 ();
0x0044a18c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a190 b 0x44a0c0 | goto label_2;
| label_7:
0x0044a194 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a198 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a19c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a1a0 lw a0, (t8) | a0 = *(t8);
| /* str.error_converting_number_from_bin_to_BIGNUM_n */
0x0044a1a4 addiu a1, a1, -0x4e68 | a1 += -0x4e68;
0x0044a1a8 jalr t9 | t9 ();
0x0044a1ac lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a1b0 b 0x44a0c0 | goto label_2;
| label_6:
0x0044a1b4 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a1b8 move a2, s2 | a2 = s2;
0x0044a1bc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a1c0 move s2, zero | s2 = 0;
0x0044a1c4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a1c8 lw a0, (t8) | a0 = *(t8);
| /* str.unable_to_load_number_from__s_n */
0x0044a1cc addiu a1, a1, -0x4e88 | a1 += -0x4e88;
0x0044a1d0 jalr t9 | t9 ();
0x0044a1d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a1d8 b 0x44a0c0 | goto label_2;
| label_8:
0x0044a1dc lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x0044a1e0 move a0, s2 | a0 = s2;
0x0044a1e4 move s2, zero | s2 = 0;
0x0044a1e8 jalr t9 | t9 ();
0x0044a1ec lw gp, 0x10(sp) | gp = *(var_10h);
0x0044a1f0 b 0x44a0c0 | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41d080 */
| #include <stdint.h>
|
; (fcn) sym.make_revocation_str () | void make_revocation_str () {
0x0041d080 lui gp, 8 |
0x0041d084 addiu gp, gp, -0xbe0 |
0x0041d088 addu gp, gp, t9 | gp += t9;
0x0041d08c addiu sp, sp, -0x30 |
0x0041d090 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0041d094 sw s4, 0x28(sp) | *(var_28h) = s4;
0x0041d098 sw s3, 0x24(sp) | *(var_24h) = s3;
0x0041d09c sw s2, 0x20(sp) | *(var_20h) = s2;
0x0041d0a0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0041d0a4 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0041d0a8 addiu t8, zero, 2 | t8 = 2;
0x0041d0ac sw gp, 0x10(sp) | *(var_10h) = gp;
0x0041d0b0 move s0, a0 | s0 = a0;
0x0041d0b4 move s1, a1 | s1 = a1;
| if (a0 != t8) {
0x0041d0b8 beq a0, t8, 0x41d220 |
0x0041d0bc slti t8, a0, 3 | t8 = (a0 < 3) ? 1 : 0;
0x0041d0c0 slti t8, a0, 5 | t8 = (a0 < 5) ? 1 : 0;
| if (t8 != 0) {
0x0041d0c4 beqz t8, 0x41d1f0 |
0x0041d0c8 addiu t8, zero, 1 | t8 = 1;
0x0041d0cc move a0, a1 | a0 = a1;
| if (a0 != t8) {
0x0041d0d0 bne a0, t8, 0x41d38c | goto label_2;
| }
0x0041d0d4 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d0d8 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.unspecified */
0x0041d0dc addiu a1, s4, -0x8c | a1 = s4 + -0x8c;
0x0041d0e0 jalr t9 | t9 ();
0x0041d0e4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d0e8 beqz v0, 0x41d3b8 | goto label_3;
| }
0x0041d0ec lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d0f0 move a0, s1 | a0 = s1;
0x0041d0f4 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.keyCompromise */
0x0041d0f8 addiu a1, s4, -0x9c | a1 = s4 + -0x9c;
0x0041d0fc jalr t9 | t9 ();
0x0041d100 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d104 beqz v0, 0x41d3e8 | goto label_4;
| }
0x0041d108 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d10c move a0, s1 | a0 = s1;
0x0041d110 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.CACompromise */
0x0041d114 addiu a1, s4, -0xac | a1 = s4 + -0xac;
0x0041d118 jalr t9 | t9 ();
0x0041d11c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d120 beqz v0, 0x41d3f4 | goto label_5;
| }
0x0041d124 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d128 move a0, s1 | a0 = s1;
0x0041d12c lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.affiliationChanged */
0x0041d130 addiu a1, s4, -0xc0 | a1 = s4 + -0xc0;
0x0041d134 jalr t9 | t9 ();
0x0041d138 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d13c beqz v0, 0x41d400 | goto label_6;
| }
0x0041d140 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d144 move a0, s1 | a0 = s1;
0x0041d148 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.superseded */
0x0041d14c addiu a1, s4, -0xcc | a1 = s4 + -0xcc;
0x0041d150 jalr t9 | t9 ();
0x0041d154 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d158 beqz v0, 0x41d3ac | goto label_7;
| }
0x0041d15c lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d160 move a0, s1 | a0 = s1;
0x0041d164 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.cessationOfOperation */
0x0041d168 addiu a1, s4, -0xe4 | a1 = s4 + -0xe4;
0x0041d16c jalr t9 | t9 ();
0x0041d170 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d174 beqz v0, 0x41d40c | goto label_8;
| }
0x0041d178 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d17c move a0, s1 | a0 = s1;
0x0041d180 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.certificateHold */
0x0041d184 addiu a1, s4, -0xf4 | a1 = s4 + -0xf4;
0x0041d188 jalr t9 | t9 ();
0x0041d18c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d190 beqz v0, 0x41d418 | goto label_9;
| }
0x0041d194 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041d198 move a0, s1 | a0 = s1;
0x0041d19c lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.removeFromCRL */
0x0041d1a0 addiu a1, s4, -0x80 | a1 = s4 + -0x80;
0x0041d1a4 jalr t9 | t9 ();
0x0041d1a8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d1ac beqz v0, 0x41d424 | goto label_10;
| }
0x0041d1b0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041d1b4 move a2, s1 | a2 = s1;
0x0041d1b8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041d1bc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041d1c0 lw a0, (t8) | a0 = *(t8);
| /* str.Unknown_CRL_reason__s_n */
0x0041d1c4 addiu a1, a1, -0x70 | a1 += -0x70;
0x0041d1c8 jalr t9 | t9 ();
0x0041d1cc move v0, zero | v0 = 0;
0x0041d1d0 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0041d1d4 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0041d1d8 lw s3, 0x24(sp) | s3 = *(var_24h);
0x0041d1dc lw s2, 0x20(sp) | s2 = *(var_20h);
0x0041d1e0 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0041d1e4 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0041d1e8 addiu sp, sp, 0x30 |
0x0041d1ec jr ra | return v0;
| }
0x0041d1f0 lw t9, -0x7758(gp) | t9 = sym.imp.ASN1_GENERALIZEDTIME_set_string;
| if (t8 == 0) {
0x0041d1f4 beqz t8, 0x41d38c | goto label_2;
| }
0x0041d1f8 move a0, zero | a0 = 0;
0x0041d1fc jalr t9 | t9 ();
0x0041d200 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041d204 beqz v0, 0x41d3c4 | goto label_11;
| }
0x0041d208 addiu t8, zero, 3 | t8 = 3;
| if (s0 == t8) {
0x0041d20c beq s0, t8, 0x41d398 | goto label_12;
| }
0x0041d210 nop |
0x0041d214 lw s4, -0x7fd8(gp) | s4 = *(gp);
| /* str.CAkeyTime */
0x0041d218 addiu s4, s4, -0x118 | s4 += -0x118;
0x0041d21c b 0x41d254 |
| } else {
0x0041d220 lw t9, -0x7ca4(gp) | t9 = sym.imp.OBJ_txt2obj;
0x0041d224 move a0, a1 | a0 = a1;
0x0041d228 move a1, zero | a1 = 0;
0x0041d22c jalr t9 | t9 ();
0x0041d230 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041d234 move s0, v0 | s0 = v0;
0x0041d238 lw t9, -0x71c8(gp) | t9 = *((gp - 7282));
0x0041d23c move a0, v0 | a0 = v0;
0x0041d240 jalr t9 | t9 ();
0x0041d244 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s0 == 0) {
0x0041d248 beqz s0, 0x41d430 | goto label_13;
| }
0x0041d24c lw s4, -0x7fd8(gp) | s4 = *(gp);
| /* str.holdInstruction */
0x0041d250 addiu s4, s4, -0x10c | s4 += -0x10c;
| }
| do {
| label_0:
0x0041d254 lw t9, -0x7b70(gp) | t9 = sym.imp.X509_gmtime_adj;
0x0041d258 move a0, zero | a0 = 0;
0x0041d25c move a1, zero | a1 = 0;
0x0041d260 jalr t9 | t9 ();
0x0041d264 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041d268 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x0041d26c beqz v0, 0x41d3a4 | goto label_14;
| }
0x0041d270 lw s2, (v0) | s2 = *(v0);
0x0041d274 addiu s0, s2, 1 | s0 = s2 + 1;
| if (s4 != 0) {
0x0041d278 beqz s4, 0x41d294 |
0x0041d27c lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0041d280 move a0, s4 | a0 = s4;
0x0041d284 addiu s0, s2, 2 | s0 = s2 + 2;
0x0041d288 jalr t9 | t9 ();
0x0041d28c lw gp, 0x10(sp) | gp = *(var_10h);
0x0041d290 addu s0, s0, v0 | s0 += v0;
| }
0x0041d294 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
| if (s1 != 0) {
0x0041d298 beqz s1, 0x41d2b0 |
0x0041d29c move a0, s1 | a0 = s1;
0x0041d2a0 addiu s0, s0, 1 | s0++;
0x0041d2a4 jalr t9 | t9 ();
0x0041d2a8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041d2ac addu s0, s0, v0 | s0 += v0;
| }
0x0041d2b0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041d2b4 move a0, s0 | a0 = s0;
0x0041d2b8 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0041d2bc addiu a2, zero, 0xa95 | a2 = 0xa95;
| /* str.ca.c */
0x0041d2c0 addiu a1, a1, -8 | a1 += -8;
0x0041d2c4 jalr t9 | t9 ();
0x0041d2c8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041d2cc move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x0041d2d0 beqz v0, 0x41d3a4 | goto label_14;
| }
0x0041d2d4 lw t9, -0x6c38(gp) | t9 = sym.imp.BUF_strlcpy;
0x0041d2d8 move a0, v0 | a0 = v0;
0x0041d2dc lw a1, 8(s3) | a1 = *((s3 + 2));
0x0041d2e0 move a2, s0 | a2 = s0;
0x0041d2e4 jalr t9 | t9 ();
0x0041d2e8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s4 != 0) {
0x0041d2ec beqz s4, 0x41d324 |
0x0041d2f0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0041d2f4 move a0, s2 | a0 = s2;
0x0041d2f8 lw t9, -0x7470(gp) | t9 = sym.imp.BUF_strlcat;
0x0041d2fc move a2, s0 | a2 = s0;
0x0041d300 addiu a1, a1, -0x4404 | a1 += -0x4404;
0x0041d304 jalr t9 | t9 ();
0x0041d308 move a0, s2 | a0 = s2;
0x0041d30c lw gp, 0x10(sp) | gp = *(var_10h);
0x0041d310 move a1, s4 | a1 = s4;
0x0041d314 lw t9, -0x7470(gp) | t9 = sym.imp.BUF_strlcat;
0x0041d318 move a2, s0 | a2 = s0;
0x0041d31c jalr t9 | t9 ();
0x0041d320 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0041d324 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (s1 != 0) {
0x0041d328 beqz s1, 0x41d35c |
0x0041d32c move a0, s2 | a0 = s2;
0x0041d330 lw t9, -0x7470(gp) | t9 = sym.imp.BUF_strlcat;
0x0041d334 move a2, s0 | a2 = s0;
0x0041d338 addiu a1, a1, -0x4404 | a1 += -0x4404;
0x0041d33c jalr t9 | t9 ();
0x0041d340 move a0, s2 | a0 = s2;
0x0041d344 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041d348 move a1, s1 | a1 = s1;
0x0041d34c lw t9, -0x7470(gp) | t9 = sym.imp.BUF_strlcat;
0x0041d350 move a2, s0 | a2 = s0;
0x0041d354 jalr t9 | t9 ();
0x0041d358 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0041d35c lw t9, -0x7b6c(gp) | t9 = sym.imp.ASN1_UTCTIME_free;
0x0041d360 move a0, s3 | a0 = s3;
0x0041d364 jalr t9 | t9 ();
0x0041d368 move v0, s2 | v0 = s2;
| label_1:
0x0041d36c lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0041d370 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0041d374 lw s3, 0x24(sp) | s3 = *(var_24h);
0x0041d378 lw s2, 0x20(sp) | s2 = *(var_20h);
0x0041d37c lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0041d380 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0041d384 addiu sp, sp, 0x30 |
0x0041d388 jr ra | return v0;
| label_2:
0x0041d38c move s4, zero | s4 = 0;
0x0041d390 move s1, zero | s1 = 0;
0x0041d394 b 0x41d254 |
| } while (1);
| label_12:
0x0041d398 lw s4, -0x7fd8(gp) | s4 = *(gp);
| /* str.keyTime */
0x0041d39c addiu s4, s4, -0xfc | s4 += -0xfc;
0x0041d3a0 b 0x41d254 | goto label_0;
| label_14:
0x0041d3a4 move v0, zero | v0 = 0;
0x0041d3a8 b 0x41d36c | goto label_1;
| /* str.superseded */
| label_7:
0x0041d3ac addiu s4, s4, -0xcc | s4 += -0xcc;
0x0041d3b0 move s1, zero | s1 = 0;
0x0041d3b4 b 0x41d254 | goto label_0;
| /* str.unspecified */
| label_3:
0x0041d3b8 addiu s4, s4, -0x8c | s4 += -0x8c;
0x0041d3bc move s1, zero | s1 = 0;
0x0041d3c0 b 0x41d254 | goto label_0;
| label_11:
0x0041d3c4 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041d3c8 move a2, s1 | a2 = s1;
0x0041d3cc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041d3d0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041d3d4 lw a0, (t8) | a0 = *(t8);
| /* str.Invalid_time_format__s._Need_YYYYMMDDHHMMSSZ_n */
0x0041d3d8 addiu a1, a1, -0x38 | a1 += -0x38;
0x0041d3dc jalr t9 | t9 ();
0x0041d3e0 move v0, zero | v0 = 0;
0x0041d3e4 b 0x41d36c | goto label_1;
| /* str.keyCompromise */
| label_4:
0x0041d3e8 addiu s4, s4, -0x9c | s4 += -0x9c;
0x0041d3ec move s1, zero | s1 = 0;
0x0041d3f0 b 0x41d254 | goto label_0;
| /* str.CACompromise */
| label_5:
0x0041d3f4 addiu s4, s4, -0xac | s4 += -0xac;
0x0041d3f8 move s1, zero | s1 = 0;
0x0041d3fc b 0x41d254 | goto label_0;
| /* str.affiliationChanged */
| label_6:
0x0041d400 addiu s4, s4, -0xc0 | s4 += -0xc0;
0x0041d404 move s1, zero | s1 = 0;
0x0041d408 b 0x41d254 | goto label_0;
| /* str.cessationOfOperation */
| label_8:
0x0041d40c addiu s4, s4, -0xe4 | s4 += -0xe4;
0x0041d410 move s1, zero | s1 = 0;
0x0041d414 b 0x41d254 | goto label_0;
| /* str.certificateHold */
| label_9:
0x0041d418 addiu s4, s4, -0xf4 | s4 += -0xf4;
0x0041d41c move s1, zero | s1 = 0;
0x0041d420 b 0x41d254 | goto label_0;
| /* str.removeFromCRL */
| label_10:
0x0041d424 addiu s4, s4, -0x80 | s4 += -0x80;
0x0041d428 move s1, zero | s1 = 0;
0x0041d42c b 0x41d254 | goto label_0;
| label_13:
0x0041d430 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041d434 move a2, s1 | a2 = s1;
0x0041d438 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041d43c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041d440 lw a0, (t8) | a0 = *(t8);
| /* str.Invalid_object_identifier__s_n */
0x0041d444 addiu a1, a1, -0x58 | a1 += -0x58;
0x0041d448 jalr t9 | t9 ();
0x0041d44c move v0, zero | v0 = 0;
0x0041d450 b 0x41d36c | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44e2a4 */
| #include <stdint.h>
|
; (fcn) sym.msg_cb () | void msg_cb () {
0x0044e2a4 lui gp, 5 |
0x0044e2a8 addiu gp, gp, -0x1e04 |
0x0044e2ac addu gp, gp, t9 | gp += t9;
0x0044e2b0 addiu sp, sp, -0x48 |
0x0044e2b4 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0044e2b8 sw s5, 0x40(sp) | *(var_40h) = s5;
0x0044e2bc sw s4, 0x3c(sp) | *(var_3ch) = s4;
0x0044e2c0 sw s3, 0x38(sp) | *(var_38h) = s3;
0x0044e2c4 sw s2, 0x34(sp) | *(var_34h) = s2;
0x0044e2c8 sw s1, 0x30(sp) | *(var_30h) = s1;
0x0044e2cc sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x0044e2d0 move t8, a2 | t8 = a2;
0x0044e2d4 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044e2d8 move s3, a3 | s3 = a3;
0x0044e2dc lw s2, 0x58(sp) | s2 = *(arg_58h);
0x0044e2e0 lw s1, 0x60(sp) | s1 = *(arg_60h);
| if (a0 == 0) {
0x0044e2e4 beqz a0, 0x44e3bc | goto label_11;
| }
0x0044e2e8 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044e2ec addiu v0, zero, 0x301 | v0 = 0x301;
| /* esilref: '>>>' */
0x0044e2f0 addiu a2, a2, -0x41dc | a2 += -0x41dc;
| if (a1 == v0) {
0x0044e2f4 beq a1, v0, 0x44e3cc | goto label_12;
| }
| do {
0x0044e2f8 slti v0, a1, 0x302 | v0 = (a1 < 0x302) ? 1 : 0;
0x0044e2fc addiu v0, zero, 0x100 | v0 = 0x100;
| if (v0 != 0) {
0x0044e300 bnez v0, 0x44e3d8 | goto label_13;
| }
0x0044e304 addiu v0, zero, 0x303 | v0 = 0x303;
0x0044e308 slti v0, a1, 0x303 | v0 = (a1 < 0x303) ? 1 : 0;
| if (a1 == v0) {
0x0044e30c beq a1, v0, 0x44e640 | goto label_14;
| }
0x0044e310 ori v0, zero, 0xfeff | v0 = 0xfeff;
| if (v0 != 0) {
0x0044e314 bnez v0, 0x44e43c | goto label_15;
| }
0x0044e318 lw a3, -0x7f9c(gp) | a3 = *(gp);
| if (a1 != v0) {
0x0044e31c bne a1, v0, 0x44e3f0 | goto label_16;
| }
| /* str.DTLS_1.0_ */
0x0044e320 addiu a3, a3, -0x407c | a3 += -0x407c;
| label_0:
0x0044e324 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0044e328 addiu v0, v0, 0x3b3c | v0 += 0x3b3c;
0x0044e32c move v1, v0 | v1 = v0;
| label_7:
0x0044e330 addiu a0, a1, -0x300 | a0 = a1 + -0x300;
0x0044e334 sltiu a0, a0, 4 | a0 = (a0 < 4) ? 1 : 0;
0x0044e338 addiu a0, zero, 0x15 | a0 = 0x15;
| if (a0 != 0) {
0x0044e33c bnez a0, 0x44e458 | goto label_17;
| }
0x0044e340 ori a0, zero, 0xfeff | a0 = 0xfeff;
0x0044e344 addiu a0, zero, 0x100 | a0 = 0x100;
| if (a1 == a0) {
0x0044e348 beq a1, a0, 0x44e454 | goto label_18;
| }
0x0044e34c lw t0, -0x7fd8(gp) | t0 = *(gp);
| if (a1 == a0) {
0x0044e350 beq a1, a0, 0x44e454 | goto label_18;
| }
0x0044e354 addiu t0, t0, 0x3b3c | t0 += 0x3b3c;
| label_4:
0x0044e358 lw a1, -0x7f9c(gp) | a1 = *(gp);
| label_1:
0x0044e35c move a0, s1 | a0 = s1;
0x0044e360 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044e364 sw t0, 0x10(sp) | *(var_10h) = t0;
| /* str._s__s_s__length__04lx__s_s_n */
0x0044e368 addiu a1, a1, -0x3cbc | a1 += -0x3cbc;
0x0044e36c sw s2, 0x14(sp) | *(var_14h) = s2;
0x0044e370 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0044e374 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0044e378 jalr t9 | t9 ();
0x0044e37c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 != 0) {
0x0044e380 bnez s2, 0x44e4e4 | goto label_19;
| }
0x0044e384 move a0, s1 | a0 = s1;
0x0044e388 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044e38c lw ra, 0x44(sp) | ra = *(var_44h);
0x0044e390 addiu a1, zero, 0xb | a1 = 0xb;
0x0044e394 lw s5, 0x40(sp) | s5 = *(var_40h);
0x0044e398 move a2, zero | a2 = 0;
0x0044e39c lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0044e3a0 move a3, zero | a3 = 0;
0x0044e3a4 lw s3, 0x38(sp) | s3 = *(var_38h);
0x0044e3a8 lw s2, 0x34(sp) | s2 = *(var_34h);
0x0044e3ac lw s1, 0x30(sp) | s1 = *(var_30h);
0x0044e3b0 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0044e3b4 addiu sp, sp, 0x48 |
0x0044e3b8 jr t9 | t9 ();
| label_11:
0x0044e3bc lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044e3c0 addiu v0, zero, 0x301 | v0 = 0x301;
| /* esilref: '<<<' */
0x0044e3c4 addiu a2, a2, -0x41d8 | a2 += -0x41d8;
0x0044e3c8 bne a1, v0, 0x44e2f8 |
| } while (a1 != v0);
| label_12:
0x0044e3cc lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.TLS_1.0_ */
0x0044e3d0 addiu a3, a3, -0x4058 | a3 += -0x4058;
0x0044e3d4 b 0x44e324 | goto label_0;
| label_13:
0x0044e3d8 addiu v0, zero, 0x300 | v0 = 0x300;
| if (a1 == v0) {
0x0044e3dc beq a1, v0, 0x44e64c | goto label_20;
| }
0x0044e3e0 addiu v0, zero, 2 | v0 = 2;
| if (a1 != v0) {
0x0044e3e4 beq a1, v0, 0x44e448 |
0x0044e3e8 lw a3, -0x7f9c(gp) | a3 = *(gp);
| if (a1 == v0) {
0x0044e3ec beq a1, v0, 0x44e638 | goto label_21;
| }
| label_16:
0x0044e3f0 addiu v0, zero, 2 | v0 = 2;
0x0044e3f4 lw v0, -0x7fd8(gp) | v0 = *(gp);
| if (a1 != v0) {
0x0044e3f8 bne a1, v0, 0x44ea6c | goto label_22;
| }
0x0044e3fc lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* esilref: '???' */
0x0044e400 addiu a3, a3, -0x41d4 | a3 += -0x41d4;
| label_8:
0x0044e404 lw v0, -0x7fd8(gp) | v0 = *(gp);
| if (s2 == 0) {
0x0044e408 beqz s2, 0x44e628 | goto label_23;
| }
0x0044e40c lbu v0, (s3) | v0 = *(s3);
0x0044e410 sltiu v1, v0, 9 | v1 = (v0 < 9) ? 1 : 0;
| if (v1 == 0) {
0x0044e414 beqz v1, 0x44e624 | goto label_24;
| }
0x0044e418 nop |
0x0044e41c lw v1, -0x7f9c(gp) | v1 = *(gp);
0x0044e420 sll v0, v0, 2 | v0 <<= 2;
0x0044e424 addiu v1, v1, -0x3624 | v1 += -0x3624;
0x0044e428 addu v0, v1, v0 | v0 = v1 + v0;
0x0044e42c lw v0, (v0) | v0 = *(v0);
0x0044e430 addu v0, v0, gp | v0 += gp;
0x0044e434 jr v0 | v0 ();
0x0044e438 nop |
| label_15:
0x0044e43c lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.TLS_1.1_ */
0x0044e440 addiu a3, a3, -0x4064 | a3 += -0x4064;
0x0044e444 b 0x44e324 | goto label_0;
| }
0x0044e448 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.SSL_3.0_ */
0x0044e44c addiu a3, a3, -0x404c | a3 += -0x404c;
0x0044e450 b 0x44e324 | goto label_0;
| label_18:
0x0044e454 addiu a0, zero, 0x15 | a0 = 0x15;
| label_17:
0x0044e458 addiu a1, zero, 0x16 | a1 = 0x16;
| if (t8 == a0) {
0x0044e45c beq t8, a0, 0x44e5f0 | goto label_25;
| }
0x0044e460 addiu a1, zero, 0x14 | a1 = 0x14;
| if (t8 == a1) {
0x0044e464 beq t8, a1, 0x44e618 | goto label_26;
| }
| if (t8 == a1) {
0x0044e468 beq t8, a1, 0x44e60c | goto label_27;
| }
0x0044e46c nop |
0x0044e470 lw t0, -0x7fd8(gp) | t0 = *(gp);
0x0044e474 addiu t0, t0, 0x3b3c | t0 += 0x3b3c;
| if (t8 == a0) {
0x0044e478 beq t8, a0, 0x44e5f8 | goto label_28;
| }
| label_6:
0x0044e47c addiu a0, zero, 0x16 | a0 = 0x16;
| if (t8 == a0) {
0x0044e480 beq t8, a0, 0x44e5b0 | goto label_29;
| }
0x0044e484 nop |
| label_5:
0x0044e488 addiu a0, zero, 0x18 | a0 = 0x18;
0x0044e48c lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (t8 != a0) {
0x0044e490 bne t8, a0, 0x44e35c | goto label_1;
| }
0x0044e494 lw t8, -0x7f9c(gp) | t8 = *(gp);
| if (s2 == 0) {
0x0044e498 beqz s2, 0x44e658 | goto label_30;
| }
0x0044e49c lbu t8, (s3) | t8 = *(s3);
0x0044e4a0 addiu v1, zero, 1 | v1 = 1;
0x0044e4a4 addiu v1, zero, 2 | v1 = 2;
| if (t8 == v1) {
0x0044e4a8 beq t8, v1, 0x44ea04 | goto label_31;
| }
0x0044e4ac lw t8, -0x7f9c(gp) | t8 = *(gp);
| if (t8 == v1) {
0x0044e4b0 beq t8, v1, 0x44e708 | goto label_32;
| }
0x0044e4b4 lw t8, -0x7f9c(gp) | t8 = *(gp);
| /* str.__Heartbeat */
0x0044e4b8 addiu t8, t8, -0x3cc8 | t8 += -0x3cc8;
| label_9:
0x0044e4bc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e4c0 move a0, s1 | a0 = s1;
0x0044e4c4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044e4c8 sw t0, 0x10(sp) | *(var_10h) = t0;
| /* str._s__s_s__length__04lx__s_s_n */
0x0044e4cc addiu a1, a1, -0x3cbc | a1 += -0x3cbc;
0x0044e4d0 sw s2, 0x14(sp) | *(var_14h) = s2;
0x0044e4d4 sw t8, 0x18(sp) | *(var_18h) = t8;
0x0044e4d8 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0044e4dc jalr t9 | t9 ();
0x0044e4e0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_19:
0x0044e4e4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e4e8 move a0, s1 | a0 = s1;
0x0044e4ec lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044e4f0 move s0, zero | s0 = 0;
| /* esilref: ' ' */
0x0044e4f4 addiu a1, a1, -0x3c90 | a1 += -0x3c90;
0x0044e4f8 jalr t9 | t9 ();
0x0044e4fc lw gp, 0x20(sp) | gp = *(var_20h);
0x0044e500 lw s4, -0x7f9c(gp) | s4 = *(gp);
0x0044e504 lw s5, -0x7f9c(gp) | s5 = *(gp);
| /* str.__02x */
0x0044e508 addiu s4, s4, -0x3c98 | s4 += -0x3c98;
| /* str._n___ */
0x0044e50c addiu s5, s5, -0x3ca0 | s5 += -0x3ca0;
| label_3:
0x0044e510 addu t8, s3, s0 | t8 = s3 + s0;
| do {
| label_2:
0x0044e514 move a0, s1 | a0 = s1;
0x0044e518 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044e51c move a1, s4 | a1 = s4;
0x0044e520 lbu a2, (t8) | a2 = *(t8);
0x0044e524 addiu s0, s0, 1 | s0++;
0x0044e528 jalr t9 | t9 ();
0x0044e52c sltu t8, s0, s2 | t8 = (s0 < s2) ? 1 : 0;
0x0044e530 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 == 0) {
0x0044e534 beqz t8, 0x44e560 | goto label_33;
| }
0x0044e538 andi t8, s0, 0xf | t8 = s0 & 0xf;
0x0044e53c addu t8, s3, s0 | t8 = s3 + s0;
0x0044e540 bnez t8, 0x44e514 |
| } while (t8 != 0);
0x0044e544 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (s0 == 0) {
0x0044e548 beqz s0, 0x44e514 | goto label_2;
| }
0x0044e54c move a0, s1 | a0 = s1;
0x0044e550 move a1, s5 | a1 = s5;
0x0044e554 jalr t9 | t9 ();
0x0044e558 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044e55c b 0x44e510 | goto label_3;
| label_33:
0x0044e560 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044e564 move a0, s1 | a0 = s1;
0x0044e568 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044e56c addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044e570 jalr t9 | t9 ();
0x0044e574 move a0, s1 | a0 = s1;
0x0044e578 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044e57c addiu a1, zero, 0xb | a1 = 0xb;
0x0044e580 lw ra, 0x44(sp) | ra = *(var_44h);
0x0044e584 move a2, zero | a2 = 0;
0x0044e588 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044e58c move a3, zero | a3 = 0;
0x0044e590 lw s5, 0x40(sp) | s5 = *(var_40h);
0x0044e594 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0044e598 lw s3, 0x38(sp) | s3 = *(var_38h);
0x0044e59c lw s2, 0x34(sp) | s2 = *(var_34h);
0x0044e5a0 lw s1, 0x30(sp) | s1 = *(var_30h);
0x0044e5a4 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0044e5a8 addiu sp, sp, 0x48 |
0x0044e5ac jr t9 | t9 ();
| label_29:
0x0044e5b0 lw v1, -0x7f9c(gp) | v1 = *(gp);
| if (s2 != 0) {
0x0044e5b4 beqz s2, 0x44e5e8 |
0x0044e5b8 lbu t8, (s3) | t8 = *(s3);
0x0044e5bc sltiu v1, t8, 0x15 | v1 = (t8 < 0x15) ? 1 : 0;
0x0044e5c0 sll t8, t8, 2 | t8 <<= 2;
| if (v1 != 0) {
0x0044e5c4 beqz v1, 0x44e5e4 |
0x0044e5c8 lw v1, -0x7f9c(gp) | v1 = *(gp);
0x0044e5cc addiu v1, v1, -0x3600 | v1 += -0x3600;
0x0044e5d0 addu t8, v1, t8 | t8 = v1 + t8;
0x0044e5d4 lw t8, (t8) | t8 = *(t8);
0x0044e5d8 addu t8, t8, gp | t8 += gp;
0x0044e5dc jr t8 | t8 ();
0x0044e5e0 nop |
| }
0x0044e5e4 lw v1, -0x7f9c(gp) | v1 = *(gp);
| }
| /* esilref: '???' */
0x0044e5e8 addiu v1, v1, -0x41d4 | v1 += -0x41d4;
0x0044e5ec b 0x44e358 | goto label_4;
| label_25:
0x0044e5f0 lw t0, -0x7f9c(gp) | t0 = *(gp);
| /* str.Alert */
0x0044e5f4 addiu t0, t0, -0x40b0 | t0 += -0x40b0;
| label_28:
0x0044e5f8 addiu v1, zero, 2 | v1 = 2;
0x0044e5fc lw v1, -0x7f9c(gp) | v1 = *(gp);
| if (s2 != v1) {
0x0044e600 beq s2, v1, 0x44e6bc |
| /* str._____ */
0x0044e604 addiu v1, v1, -0x40a8 | v1 += -0x40a8;
0x0044e608 b 0x44e488 | goto label_5;
| label_27:
0x0044e60c lw t0, -0x7f9c(gp) | t0 = *(gp);
| /* str.ChangeCipherSpec */
0x0044e610 addiu t0, t0, -0x4034 | t0 += -0x4034;
0x0044e614 b 0x44e47c | goto label_6;
| label_26:
0x0044e618 lw t0, -0x7f9c(gp) | t0 = *(gp);
| /* str.Handshake */
0x0044e61c addiu t0, t0, -0x4040 | t0 += -0x4040;
0x0044e620 b 0x44e47c | goto label_6;
| label_24:
0x0044e624 lw v0, -0x7fd8(gp) | v0 = *(gp);
| label_23:
0x0044e628 lw v1, -0x7f9c(gp) | v1 = *(gp);
0x0044e62c addiu v0, v0, 0x3b3c | v0 += 0x3b3c;
| /* esilref: '???' */
0x0044e630 addiu v1, v1, -0x41d4 | v1 += -0x41d4;
0x0044e634 b 0x44e330 | goto label_7;
| /* str.SSL_2.0 */
| label_21:
0x0044e638 addiu a3, a3, -0x41d0 | a3 += -0x41d0;
0x0044e63c b 0x44e404 | goto label_8;
| label_14:
0x0044e640 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.TLS_1.2_ */
0x0044e644 addiu a3, a3, -0x4070 | a3 += -0x4070;
0x0044e648 b 0x44e324 | goto label_0;
| label_20:
0x0044e64c lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.DTLS_1.0__bad__ */
0x0044e650 addiu a3, a3, -0x408c | a3 += -0x408c;
0x0044e654 b 0x44e324 | goto label_0;
| label_30:
0x0044e658 move a0, s1 | a0 = s1;
0x0044e65c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044e660 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.__Heartbeat */
0x0044e664 addiu t8, t8, -0x3cc8 | t8 += -0x3cc8;
| /* str._s__s_s__length__04lx__s_s_n */
0x0044e668 addiu a1, a1, -0x3cbc | a1 += -0x3cbc;
0x0044e66c sw t0, 0x10(sp) | *(var_10h) = t0;
0x0044e670 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0044e674 sw t8, 0x18(sp) | *(var_18h) = t8;
0x0044e678 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0044e67c jalr t9 | t9 ();
0x0044e680 move a0, s1 | a0 = s1;
0x0044e684 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044e688 addiu a1, zero, 0xb | a1 = 0xb;
0x0044e68c lw ra, 0x44(sp) | ra = *(var_44h);
0x0044e690 move a2, zero | a2 = 0;
0x0044e694 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044e698 move a3, zero | a3 = 0;
0x0044e69c lw s5, 0x40(sp) | s5 = *(var_40h);
0x0044e6a0 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x0044e6a4 lw s3, 0x38(sp) | s3 = *(var_38h);
0x0044e6a8 lw s2, 0x34(sp) | s2 = *(var_34h);
0x0044e6ac lw s1, 0x30(sp) | s1 = *(var_30h);
0x0044e6b0 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0044e6b4 addiu sp, sp, 0x48 |
0x0044e6b8 jr t9 | t9 ();
| }
0x0044e6bc lbu v0, (s3) | v0 = *(s3);
0x0044e6c0 addiu v1, zero, 1 | v1 = 1;
| if (v0 == v1) {
0x0044e6c4 beq v0, v1, 0x44e710 | goto label_34;
| }
0x0044e6c8 nop |
0x0044e6cc lw v1, -0x7f9c(gp) | v1 = *(gp);
| if (v0 == s2) {
0x0044e6d0 beq v0, s2, 0x44ea10 | goto label_35;
| }
0x0044e6d4 lw v1, -0x7f9c(gp) | v1 = *(gp);
| /* str._____ */
0x0044e6d8 addiu v1, v1, -0x40a8 | v1 += -0x40a8;
| do {
| label_10:
0x0044e6dc lbu v0, 1(s3) | v0 = *((s3 + 1));
0x0044e6e0 sltiu a0, v0, 0x74 | a0 = (v0 < 0x74) ? 1 : 0;
0x0044e6e4 lw a0, -0x7f9c(gp) | a0 = *(gp);
| if (a0 == 0) {
0x0044e6e8 beqz a0, 0x44e9f8 | goto label_36;
| }
0x0044e6ec sll v0, v0, 2 | v0 <<= 2;
0x0044e6f0 addiu a0, a0, -0x35ac | a0 += -0x35ac;
0x0044e6f4 addu v0, a0, v0 | v0 = a0 + v0;
0x0044e6f8 lw v0, (v0) | v0 = *(v0);
0x0044e6fc addu v0, v0, gp | v0 += gp;
0x0044e700 jr v0 | v0 ();
0x0044e704 nop |
| /* str.__HeartbeatResponse */
| label_32:
0x0044e708 addiu t8, t8, -0x3cf0 | t8 += -0x3cf0;
0x0044e70c b 0x44e4bc | goto label_9;
| label_34:
0x0044e710 lw v1, -0x7f9c(gp) | v1 = *(gp);
| /* str.__warning */
0x0044e714 addiu v1, v1, -0x40a0 | v1 += -0x40a0;
0x0044e718 b 0x44e6dc |
| } while (1);
| label_36:
0x0044e9f8 lw v0, -0x7f9c(gp) | v0 = *(gp);
| /* str.____ */
0x0044e9fc addiu v0, v0, -0x41c8 | v0 += -0x41c8;
0x0044ea00 b 0x44e488 | goto label_5;
| label_31:
0x0044ea04 lw t8, -0x7f9c(gp) | t8 = *(gp);
| /* str.__HeartbeatRequest */
0x0044ea08 addiu t8, t8, -0x3cdc | t8 += -0x3cdc;
0x0044ea0c b 0x44e4bc | goto label_9;
| /* str.__fatal */
| label_35:
0x0044ea10 addiu v1, v1, -0x4094 | v1 += -0x4094;
0x0044ea14 b 0x44e6dc | goto label_10;
| label_22:
0x0044ea6c lw a3, -0x7f9c(gp) | a3 = *(gp);
0x0044ea70 addiu v0, v0, 0x3b3c | v0 += 0x3b3c;
| /* esilref: '???' */
0x0044ea74 addiu a3, a3, -0x41d4 | a3 += -0x41d4;
0x0044ea78 move v1, v0 | v1 = v0;
0x0044ea7c b 0x44e330 | goto label_7;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41d998 */
| #include <stdint.h>
|
; (fcn) sym.old_entry_print () | void old_entry_print () {
0x0041d998 lui gp, 8 |
0x0041d99c addiu gp, gp, -0x14f8 |
0x0041d9a0 addu gp, gp, t9 | gp += t9;
0x0041d9a4 addiu sp, sp, -0x58 |
0x0041d9a8 sw ra, 0x54(sp) | *(var_54h) = ra;
0x0041d9ac sw s5, 0x50(sp) | *(var_50h) = s5;
0x0041d9b0 sw s4, 0x4c(sp) | *(var_4ch) = s4;
0x0041d9b4 sw s3, 0x48(sp) | *(var_48h) = s3;
0x0041d9b8 sw s2, 0x44(sp) | *(var_44h) = s2;
0x0041d9bc sw s1, 0x40(sp) | *(var_40h) = s1;
0x0041d9c0 sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x0041d9c4 addiu s0, zero, 0x16 | s0 = 0x16;
0x0041d9c8 lw t9, -0x6f80(gp) | t9 = sym.imp.i2a_ASN1_OBJECT;
0x0041d9cc move s1, a0 | s1 = a0;
0x0041d9d0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0041d9d4 move s2, a2 | s2 = a2;
0x0041d9d8 jalr t9 | t9 ();
0x0041d9dc addiu t8, sp, 0x18 | t8 = sp + 0x18;
0x0041d9e0 subu s0, s0, v0 | __asm ("subu s0, s0, v0");
0x0041d9e4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s0 <= 0) {
0x0041d9e8 blez s0, 0x41dbac | goto label_4;
| }
0x0041d9ec lw t9, -0x6f0c(gp) | t9 = sym.imp.memset;
0x0041d9f0 move a0, t8 | a0 = t8;
0x0041d9f4 move a2, s0 | a2 = s0;
0x0041d9f8 addiu a1, zero, 0x20 | a1 = 0x20;
0x0041d9fc jalr t9 | t9 ();
0x0041da00 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041da04 move t8, v0 | t8 = v0;
0x0041da08 addu s0, v0, s0 | s0 = v0 + s0;
| label_3:
0x0041da0c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0041da10 move a1, t8 | a1 = t8;
0x0041da14 addiu t8, zero, 0x3a | t8 = 0x3a;
0x0041da18 move a0, s1 | a0 = s1;
0x0041da1c sb t8, (s0) | *(s0) = t8;
0x0041da20 sb zero, 1(s0) | *((s0 + 1)) = 0;
0x0041da24 jalr t9 | t9 ();
0x0041da28 addiu v0, zero, 0x13 | v0 = 0x13;
0x0041da2c lw a2, 4(s2) | a2 = *((s2 + 1));
0x0041da30 lw gp, 0x10(sp) | gp = *(var_10h);
| if (a2 == v0) {
0x0041da34 beq a2, v0, 0x41db58 | goto label_5;
| }
0x0041da38 addiu v0, zero, 0x14 | v0 = 0x14;
0x0041da3c addiu v0, zero, 0x16 | v0 = 0x16;
| if (a2 == v0) {
0x0041da40 beq a2, v0, 0x41db74 | goto label_6;
| }
0x0041da44 addiu v0, zero, 0x1c | v0 = 0x1c;
| if (a2 == v0) {
0x0041da48 beq a2, v0, 0x41db90 | goto label_7;
| }
0x0041da4c move a0, s1 | a0 = s1;
0x0041da50 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (a2 == v0) {
0x0041da54 beq a2, v0, 0x41db44 | goto label_8;
| }
0x0041da58 lw a1, -0x7fd8(gp) | a1 = *(gp);
| /* str.ASN.1__2d: */
0x0041da5c addiu a1, a1, 0x160 | a1 += 0x160;
0x0041da60 jalr t9 | t9 ();
0x0041da64 lw gp, 0x10(sp) | gp = *(var_10h);
| label_2:
0x0041da68 lw s0, 8(s2) | s0 = *((s2 + 2));
0x0041da6c lw t8, (s2) | t8 = *(s2);
0x0041da70 addu s2, s0, t8 | s2 = s0 + t8;
| if (t8 <= 0) {
0x0041da74 blez t8, 0x41daec | goto label_9;
| }
0x0041da78 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0041da7c lw s3, -0x7fd8(gp) | s3 = *(gp);
0x0041da80 lw s5, -0x7fd8(gp) | s5 = *(gp);
| /* esilref: '&c' */
0x0041da84 addiu s4, s4, 0x2164 | s4 += 0x2164;
| /* esilref: '^&c' */
0x0041da88 addiu s3, s3, 0x174 | s3 += 0x174;
0x0041da8c b 0x41dab0 |
| while (v0 == 0) {
| if (t8 < 0) {
0x0041da90 bltz t8, 0x41db28 | goto label_10;
| }
0x0041da94 nop |
0x0041da98 jalr t9 | t9 ();
0x0041da9c nop |
0x0041daa0 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x0041daa4 addiu s0, s0, 1 | s0++;
0x0041daa8 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (s0 == s2) {
0x0041daac beq s0, s2, 0x41daf0 | goto label_11;
| }
| label_0:
0x0041dab0 lb t8, (s0) | t8 = *(s0);
0x0041dab4 move a0, s1 | a0 = s1;
0x0041dab8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041dabc move a1, s3 | a1 = s3;
0x0041dac0 addiu v0, t8, -0x20 | v0 = t8 + -0x20;
0x0041dac4 andi v0, v0, 0xff | v0 &= 0xff;
0x0041dac8 sltiu v0, v0, 0x5f | v0 = (v0 < 0x5f) ? 1 : 0;
0x0041dacc addiu a2, t8, 0x40 | a2 = t8 + 0x40;
0x0041dad0 beqz v0, 0x41da90 |
| }
0x0041dad4 move a1, s4 | a1 = s4;
0x0041dad8 addiu s0, s0, 1 | s0++;
0x0041dadc move a2, t8 | a2 = t8;
0x0041dae0 jalr t9 | t9 ();
0x0041dae4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s0 != s2) {
0x0041dae8 bne s0, s2, 0x41dab0 | goto label_0;
| }
| label_9:
0x0041daec lw a1, -0x7fd8(gp) | a1 = *(gp);
| label_11:
0x0041daf0 move a0, s1 | a0 = s1;
0x0041daf4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* esilref: ''
' */
0x0041daf8 addiu a1, a1, 0x53d0 | a1 += 0x53d0;
0x0041dafc jalr t9 | t9 ();
0x0041db00 addiu v0, zero, 1 | v0 = 1;
0x0041db04 lw ra, 0x54(sp) | ra = *(var_54h);
0x0041db08 lw s5, 0x50(sp) | s5 = *(var_50h);
0x0041db0c lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0041db10 lw s3, 0x48(sp) | s3 = *(var_48h);
0x0041db14 lw s2, 0x44(sp) | s2 = *(var_44h);
0x0041db18 lw s1, 0x40(sp) | s1 = *(var_40h);
0x0041db1c lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x0041db20 addiu sp, sp, 0x58 |
0x0041db24 jr ra | return v0;
| label_10:
0x0041db28 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041db2c move a0, s1 | a0 = s1;
| /* esilref: '\0x&X' */
0x0041db30 addiu a1, s5, 0x16c | a1 = s5 + 0x16c;
0x0041db34 move a2, t8 | a2 = t8;
0x0041db38 jalr t9 | t9 ();
0x0041db3c lw gp, 0x10(sp) | gp = *(var_10h);
0x0041db40 b 0x41daa4 | goto label_1;
| label_8:
0x0041db44 lw a1, -0x7fd8(gp) | a1 = *(gp);
| /* str.UNIVERSALSTRING: */
0x0041db48 addiu a1, a1, 0x14c | a1 += 0x14c;
0x0041db4c jalr t9 | t9 ();
0x0041db50 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041db54 b 0x41da68 | goto label_2;
| label_5:
0x0041db58 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041db5c move a0, s1 | a0 = s1;
0x0041db60 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.PRINTABLE: */
0x0041db64 addiu a1, a1, 0x128 | a1 += 0x128;
0x0041db68 jalr t9 | t9 ();
0x0041db6c lw gp, 0x10(sp) | gp = *(var_10h);
0x0041db70 b 0x41da68 | goto label_2;
| label_6:
0x0041db74 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041db78 move a0, s1 | a0 = s1;
0x0041db7c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.T61STRING: */
0x0041db80 addiu a1, a1, 0x134 | a1 += 0x134;
0x0041db84 jalr t9 | t9 ();
0x0041db88 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041db8c b 0x41da68 | goto label_2;
| label_7:
0x0041db90 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041db94 move a0, s1 | a0 = s1;
0x0041db98 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.IA5STRING: */
0x0041db9c addiu a1, a1, 0x140 | a1 += 0x140;
0x0041dba0 jalr t9 | t9 ();
0x0041dba4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041dba8 b 0x41da68 | goto label_2;
| label_4:
0x0041dbac move s0, t8 | s0 = t8;
0x0041dbb0 b 0x41da0c | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ada0 */
| #include <stdint.h>
|
; (fcn) sym.parse_name () | void parse_name () {
0x0044ada0 lui gp, 5 |
0x0044ada4 addiu gp, gp, 0x1700 |
0x0044ada8 addu gp, gp, t9 | gp += t9;
0x0044adac addiu sp, sp, -0x58 |
0x0044adb0 sw ra, 0x54(sp) | *(var_54h) = ra;
0x0044adb4 sw fp, 0x50(sp) | *(var_50h) = fp;
0x0044adb8 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x0044adbc sw s6, 0x48(sp) | *(var_48h) = s6;
0x0044adc0 sw s5, 0x44(sp) | *(var_44h) = s5;
0x0044adc4 sw s4, 0x40(sp) | *(var_40h) = s4;
0x0044adc8 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x0044adcc sw s2, 0x38(sp) | *(var_38h) = s2;
0x0044add0 sw s1, 0x34(sp) | *(var_34h) = s1;
0x0044add4 sw s0, 0x30(sp) | *(var_30h) = s0;
0x0044add8 move s6, a0 | s6 = a0;
0x0044addc lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0044ade0 move s4, a1 | s4 = a1;
0x0044ade4 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044ade8 lw s1, -0x7f9c(gp) | s1 = *(gp);
0x0044adec move s5, a2 | s5 = a2;
0x0044adf0 jalr t9 | t9 ();
0x0044adf4 addiu a2, zero, 0x868 | a2 = 0x868;
0x0044adf8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044adfc addiu s0, v0, 1 | s0 = v0 + 1;
| /* str.apps.c */
0x0044ae00 addiu a1, s1, -0x5320 | a1 = s1 + -0x5320;
0x0044ae04 move a0, s0 | a0 = s0;
0x0044ae08 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044ae0c srl s3, s0, 1 | s3 = s0 >> 1;
0x0044ae10 addiu s3, s3, 1 | s3++;
0x0044ae14 jalr t9 | t9 ();
0x0044ae18 sll s3, s3, 2 | s3 <<= 2;
0x0044ae1c lw gp, 0x20(sp) | gp = *(var_20h);
| /* str.apps.c */
0x0044ae20 addiu a1, s1, -0x5320 | a1 = s1 + -0x5320;
0x0044ae24 move a0, s3 | a0 = s3;
0x0044ae28 addiu a2, zero, 0x86a | a2 = 0x86a;
0x0044ae2c lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044ae30 move s0, v0 | s0 = v0;
0x0044ae34 jalr t9 | t9 ();
0x0044ae38 move a0, s3 | a0 = s3;
0x0044ae3c lw gp, 0x20(sp) | gp = *(var_20h);
| /* str.apps.c */
0x0044ae40 addiu a1, s1, -0x5320 | a1 = s1 + -0x5320;
0x0044ae44 addiu a2, zero, 0x86b | a2 = 0x86b;
0x0044ae48 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044ae4c move s2, v0 | s2 = v0;
0x0044ae50 jalr t9 | t9 ();
0x0044ae54 move a0, s3 | a0 = s3;
0x0044ae58 lw gp, 0x20(sp) | gp = *(var_20h);
| /* str.apps.c */
0x0044ae5c addiu a1, s1, -0x5320 | a1 = s1 + -0x5320;
0x0044ae60 addiu a2, zero, 0x86c | a2 = 0x86c;
0x0044ae64 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044ae68 move s3, v0 | s3 = v0;
0x0044ae6c jalr t9 | t9 ();
0x0044ae70 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044ae74 move s1, v0 | s1 = v0;
| if (s0 == 0) {
0x0044ae78 beqz s0, 0x44b230 | goto label_15;
| }
0x0044ae7c lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (s2 == 0) {
0x0044ae80 beqz s2, 0x44b234 | goto label_16;
| }
0x0044ae84 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (s3 == 0) {
0x0044ae88 beqz s3, 0x44b274 | goto label_17;
| }
0x0044ae8c addiu t8, zero, 0x2f | t8 = 0x2f;
| if (v0 == 0) {
0x0044ae90 beqz v0, 0x44b29c | goto label_18;
| }
0x0044ae94 lb v0, (s6) | v0 = *(s6);
0x0044ae98 move fp, zero | fp = 0;
| if (v0 != t8) {
0x0044ae9c beq v0, t8, 0x44af4c |
0x0044aea0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044aea4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044aea8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044aeac lw a0, (t8) | a0 = *(t8);
| /* str.Subject_does_not_start_with__._n */
0x0044aeb0 addiu a1, a1, -0x4d68 | a1 += -0x4d68;
0x0044aeb4 jalr t9 | t9 ();
0x0044aeb8 lw gp, 0x20(sp) | gp = *(var_20h);
| label_0:
0x0044aebc lw t9, -0x7b00(gp) | t9 = sym.imp.X509_NAME_free;
| label_4:
0x0044aec0 move a0, fp | a0 = fp;
0x0044aec4 jalr t9 | t9 ();
0x0044aec8 lw gp, 0x20(sp) | gp = *(var_20h);
| label_13:
0x0044aecc lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| label_11:
0x0044aed0 move a0, s3 | a0 = s3;
0x0044aed4 jalr t9 | t9 ();
0x0044aed8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 != 0) {
| label_10:
0x0044aedc beqz s2, 0x44aef4 |
0x0044aee0 nop |
| label_12:
0x0044aee4 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044aee8 move a0, s2 | a0 = s2;
0x0044aeec jalr t9 | t9 ();
0x0044aef0 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0044aef4 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (s1 != 0) {
0x0044aef8 beqz s1, 0x44af08 |
0x0044aefc move a0, s1 | a0 = s1;
0x0044af00 jalr t9 | t9 ();
0x0044af04 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0044af08 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
| if (s0 == 0) {
0x0044af0c beqz s0, 0x44b1a8 | goto label_19;
| }
0x0044af10 move a0, s0 | a0 = s0;
0x0044af14 jalr t9 | t9 ();
0x0044af18 move v0, zero | v0 = 0;
| label_14:
0x0044af1c lw ra, 0x54(sp) | ra = *(var_54h);
0x0044af20 lw fp, 0x50(sp) | fp = *(var_50h);
0x0044af24 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0044af28 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0044af2c lw s5, 0x44(sp) | s5 = *(var_44h);
0x0044af30 lw s4, 0x40(sp) | s4 = *(var_40h);
0x0044af34 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x0044af38 lw s2, 0x38(sp) | s2 = *(var_38h);
0x0044af3c lw s1, 0x34(sp) | s1 = *(var_34h);
0x0044af40 lw s0, 0x30(sp) | s0 = *(var_30h);
0x0044af44 addiu sp, sp, 0x58 |
0x0044af48 jr ra | return v0;
| }
0x0044af4c sw zero, (s1) | *(s1) = 0;
0x0044af50 lb v0, 1(s6) | v0 = *((s6 + 1));
0x0044af54 addiu t8, s6, 1 | t8 = s6 + 1;
| if (v0 == 0) {
0x0044af58 beqz v0, 0x44b2f0 | goto label_20;
| }
0x0044af5c move t1, s2 | t1 = s2;
0x0044af60 addiu t3, s1, 4 | t3 = s1 + 4;
0x0044af64 move t2, s3 | t2 = s3;
0x0044af68 move s6, zero | s6 = 0;
0x0044af6c move v1, s0 | v1 = s0;
0x0044af70 addiu a0, zero, 0x5c | a0 = 0x5c;
0x0044af74 addiu a3, zero, 0x3d | a3 = 0x3d;
0x0044af78 addiu a2, zero, 0x2f | a2 = 0x2f;
0x0044af7c addiu t4, zero, 0x2b | t4 = 0x2b;
0x0044af80 addiu t5, zero, -1 | t5 = -1;
| label_2:
0x0044af84 sw v1, (t1) | *(t1) = v1;
0x0044af88 addiu v1, v1, 1 | v1++;
0x0044af8c lb v0, (t8) | v0 = *(t8);
0x0044af90 addiu a1, v1, -1 | a1 = v1 + -1;
| if (v0 == 0) {
0x0044af94 beqz v0, 0x44afc0 | goto label_21;
| }
| do {
| if (v0 == a0) {
0x0044af98 beq v0, a0, 0x44afe8 | goto label_22;
| }
0x0044af9c nop |
| if (v0 == a3) {
0x0044afa0 beq v0, a3, 0x44b000 | goto label_23;
| }
0x0044afa4 nop |
0x0044afa8 sb v0, -1(v1) | *((v1 - 1)) = v0;
0x0044afac addiu t8, t8, 1 | t8++;
0x0044afb0 addiu v1, v1, 1 | v1++;
| label_1:
0x0044afb4 lb v0, (t8) | v0 = *(t8);
0x0044afb8 addiu a1, v1, -1 | a1 = v1 + -1;
0x0044afbc bnez v0, 0x44af98 |
| } while (v0 != 0);
| do {
| label_21:
0x0044afc0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044afc4 move a2, s6 | a2 = s6;
0x0044afc8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044afcc move fp, zero | fp = 0;
0x0044afd0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044afd4 lw a0, (t8) | a0 = *(t8);
| /* str.end_of_string_encountered_while_processing_type_of_subject_name_element__d_n */
0x0044afd8 addiu a1, a1, -0x4d20 | a1 += -0x4d20;
0x0044afdc jalr t9 | t9 ();
0x0044afe0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044afe4 b 0x44aebc | goto label_0;
| label_22:
0x0044afe8 lb v0, 1(t8) | v0 = *((t8 + 1));
0x0044afec addiu t8, t8, 2 | t8 += 2;
| if (v0 == 0) {
0x0044aff0 beqz v0, 0x44b20c | goto label_24;
| }
0x0044aff4 sb v0, -1(v1) | *((v1 - 1)) = v0;
0x0044aff8 addiu v1, v1, 1 | v1++;
0x0044affc b 0x44afb4 | goto label_1;
| label_23:
0x0044b000 sb zero, (a1) | *(a1) = 0;
0x0044b004 addiu t8, t8, 1 | t8++;
0x0044b008 lb v0, (t8) | v0 = *(t8);
0x0044b00c beqz v0, 0x44afc0 |
| } while (v0 == 0);
0x0044b010 nop |
0x0044b014 sw v1, (t2) | *(t2) = v1;
0x0044b018 addiu v1, v1, 1 | v1++;
| if (s5 != 0) {
0x0044b01c bnez s5, 0x44b15c | goto label_7;
| }
0x0044b020 lb v0, (t8) | v0 = *(t8);
0x0044b024 addiu a1, v1, -1 | a1 = v1 + -1;
| if (v0 == 0) {
0x0044b028 beqz v0, 0x44b054 | goto label_5;
| }
| do {
| if (v0 == a0) {
0x0044b02c beq v0, a0, 0x44b190 | goto label_25;
| }
0x0044b030 nop |
| if (v0 == a2) {
0x0044b034 beq v0, a2, 0x44b1dc | goto label_26;
| }
0x0044b038 nop |
0x0044b03c sb v0, -1(v1) | *((v1 - 1)) = v0;
0x0044b040 addiu t8, t8, 1 | t8++;
0x0044b044 addiu v1, v1, 1 | v1++;
| label_8:
0x0044b048 lb v0, (t8) | v0 = *(t8);
0x0044b04c addiu a1, v1, -1 | a1 = v1 + -1;
0x0044b050 bnez v0, 0x44b02c |
| } while (v0 != 0);
| label_5:
0x0044b054 sb zero, (a1) | *(a1) = 0;
0x0044b058 addiu v1, a1, 1 | v1 = a1 + 1;
0x0044b05c lb v0, (t8) | v0 = *(t8);
0x0044b060 addiu s6, s6, 1 | s6++;
0x0044b064 addiu t1, t1, 4 | t1 += 4;
0x0044b068 addiu t3, t3, 4 | t3 += 4;
0x0044b06c addiu t2, t2, 4 | t2 += 4;
| if (v0 != 0) {
0x0044b070 bnez v0, 0x44af84 | goto label_2;
| }
0x0044b074 lw t9, -0x6fb8(gp) | t9 = sym.imp.X509_NAME_new;
| label_9:
0x0044b078 jalr t9 | t9 ();
0x0044b07c nop |
0x0044b080 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b084 move fp, v0 | fp = v0;
| if (v0 == 0) {
0x0044b088 beqz v0, 0x44aebc | goto label_0;
| }
0x0044b08c move s5, s2 | s5 = s2;
| if (s6 == 0) {
0x0044b090 beqz s6, 0x44b308 | goto label_27;
| }
0x0044b094 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0044b098 move s7, s3 | s7 = s3;
0x0044b09c sw zero, 0x28(sp) | *(var_28h) = 0;
0x0044b0a0 b 0x44b0e8 |
| while (v0 == 0) {
0x0044b0a4 lw t9, -0x7fd4(gp) | t9 = *(gp);
0x0044b0a8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b0ac lw a0, (t9) | a0 = *(t9);
0x0044b0b0 move t9, t1 | t9 = t1;
0x0044b0b4 lw a2, (s5) | a2 = *(s5);
| /* str.No_value_provided_for_Subject_Attribute__s__skipped_n */
0x0044b0b8 addiu a1, a1, -0x4ca0 | a1 += -0x4ca0;
0x0044b0bc jalr t9 | t9 ();
0x0044b0c0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_3:
0x0044b0c4 lw t9, 0x28(sp) | t9 = *(var_28h);
0x0044b0c8 addiu s5, s5, 4 | s5 += 4;
0x0044b0cc lw t8, 0x2c(sp) | t8 = *(var_2ch);
0x0044b0d0 addiu s7, s7, 4 | s7 += 4;
0x0044b0d4 addiu t9, t9, 1 | t9++;
0x0044b0d8 addiu t8, t8, 4 | t8 += 4;
0x0044b0dc sw t9, 0x28(sp) | *(var_28h) = t9;
0x0044b0e0 sw t8, 0x2c(sp) | *(var_2ch) = t8;
| if (t9 == s6) {
0x0044b0e4 beq t9, s6, 0x44b308 | goto label_27;
| }
0x0044b0e8 lw t9, -0x7d00(gp) | t9 = sym.imp.OBJ_txt2nid;
0x0044b0ec lw a0, (s5) | a0 = *(s5);
0x0044b0f0 jalr t9 | t9 ();
0x0044b0f4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0044b0f8 beqz v0, 0x44b2cc | goto label_28;
| }
0x0044b0fc lw a3, (s7) | a3 = *(s7);
0x0044b100 move a1, v0 | a1 = v0;
0x0044b104 addiu v1, zero, -1 | v1 = -1;
0x0044b108 move a0, fp | a0 = fp;
0x0044b10c lb v0, (a3) | v0 = *(a3);
0x0044b110 move a2, s4 | a2 = s4;
0x0044b114 lw t9, -0x71a8(gp) | t9 = sym.imp.X509_NAME_add_entry_by_NID;
0x0044b118 lw t1, -0x780c(gp) | t1 = sym.imp.BIO_printf
0x0044b11c beqz v0, 0x44b0a4 |
| }
0x0044b120 lw t8, 0x2c(sp) | t8 = *(var_2ch);
0x0044b124 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0044b128 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0044b12c lw v0, (t8) | v0 = *(t8);
0x0044b130 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0044b134 jalr t9 | t9 ();
0x0044b138 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0044b13c bnez v0, 0x44b0c4 | goto label_3;
| }
0x0044b140 lw t9, -0x7b00(gp) | t9 = sym.imp.X509_NAME_free;
0x0044b144 b 0x44aec0 | goto label_4;
| label_6:
0x0044b148 lb v0, 1(t8) | v0 = *((t8 + 1));
0x0044b14c addiu t8, t8, 2 | t8 += 2;
| if (v0 == 0) {
0x0044b150 beqz v0, 0x44b20c | goto label_24;
| }
0x0044b154 sb v0, -1(v1) | *((v1 - 1)) = v0;
0x0044b158 addiu v1, v1, 1 | v1++;
| label_7:
0x0044b15c lb v0, (t8) | v0 = *(t8);
0x0044b160 addiu a1, v1, -1 | a1 = v1 + -1;
| if (v0 == 0) {
0x0044b164 beqz v0, 0x44b054 | goto label_5;
| }
| if (v0 == a0) {
0x0044b168 beq v0, a0, 0x44b148 | goto label_6;
| }
0x0044b16c nop |
| if (v0 != a2) {
0x0044b170 beq v0, a2, 0x44b1dc |
0x0044b174 nop |
| if (v0 == t4) {
0x0044b178 beq v0, t4, 0x44b268 | goto label_29;
| }
0x0044b17c nop |
0x0044b180 sb v0, -1(v1) | *((v1 - 1)) = v0;
0x0044b184 addiu t8, t8, 1 | t8++;
0x0044b188 addiu v1, v1, 1 | v1++;
0x0044b18c b 0x44b15c | goto label_7;
| label_25:
0x0044b190 lb v0, 1(t8) | v0 = *((t8 + 1));
0x0044b194 addiu t8, t8, 2 | t8 += 2;
| if (v0 == 0) {
0x0044b198 beqz v0, 0x44b20c | goto label_24;
| }
0x0044b19c sb v0, -1(v1) | *((v1 - 1)) = v0;
0x0044b1a0 addiu v1, v1, 1 | v1++;
0x0044b1a4 b 0x44b048 | goto label_8;
| label_19:
0x0044b1a8 lw ra, 0x54(sp) | ra = *(var_54h);
0x0044b1ac move v0, zero | v0 = 0;
0x0044b1b0 lw fp, 0x50(sp) | fp = *(var_50h);
0x0044b1b4 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0044b1b8 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0044b1bc lw s5, 0x44(sp) | s5 = *(var_44h);
0x0044b1c0 lw s4, 0x40(sp) | s4 = *(var_40h);
0x0044b1c4 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x0044b1c8 lw s2, 0x38(sp) | s2 = *(var_38h);
0x0044b1cc lw s1, 0x34(sp) | s1 = *(var_34h);
0x0044b1d0 lw s0, 0x30(sp) | s0 = *(var_30h);
0x0044b1d4 addiu sp, sp, 0x58 |
0x0044b1d8 jr ra | return v0;
| }
| label_26:
0x0044b1dc sw zero, (t3) | *(t3) = 0;
0x0044b1e0 addiu t8, t8, 1 | t8++;
0x0044b1e4 sb zero, (a1) | *(a1) = 0;
0x0044b1e8 addiu v1, a1, 1 | v1 = a1 + 1;
0x0044b1ec lb v0, (t8) | v0 = *(t8);
0x0044b1f0 addiu s6, s6, 1 | s6++;
0x0044b1f4 addiu t1, t1, 4 | t1 += 4;
0x0044b1f8 addiu t3, t3, 4 | t3 += 4;
0x0044b1fc addiu t2, t2, 4 | t2 += 4;
| if (v0 != 0) {
0x0044b200 bnez v0, 0x44af84 | goto label_2;
| }
0x0044b204 lw t9, -0x6fb8(gp) | t9 = sym.imp.X509_NAME_new;
0x0044b208 b 0x44b078 | goto label_9;
| label_24:
0x0044b20c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044b210 move fp, zero | fp = 0;
0x0044b214 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b218 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044b21c lw a0, (t8) | a0 = *(t8);
| /* str.escape_character_at_end_of_string_n */
0x0044b220 addiu a1, a1, -0x4d44 | a1 += -0x4d44;
0x0044b224 jalr t9 | t9 ();
0x0044b228 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b22c b 0x44aebc | goto label_0;
| label_15:
0x0044b230 lw t8, -0x7fd4(gp) | t8 = *(gp);
| label_16:
0x0044b234 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044b238 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044b23c lw a0, (t8) | a0 = *(t8);
| /* str.malloc_error_n */
0x0044b240 addiu a1, a1, 0x1c0 | a1 += 0x1c0;
0x0044b244 jalr t9 | t9 ();
0x0044b248 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b24c lw t9, -0x7b00(gp) | t9 = sym.imp.X509_NAME_free;
0x0044b250 move a0, zero | a0 = 0;
0x0044b254 jalr t9 | t9 ();
0x0044b258 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 == 0) {
0x0044b25c beqz s3, 0x44aedc | goto label_10;
| }
0x0044b260 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044b264 b 0x44aed0 | goto label_11;
| label_29:
0x0044b268 addiu t8, t8, 1 | t8++;
0x0044b26c sw t5, (t3) | *(t3) = t5;
0x0044b270 b 0x44b054 | goto label_5;
| label_17:
0x0044b274 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044b278 lw a0, (t8) | a0 = *(t8);
| /* str.malloc_error_n */
0x0044b27c addiu a1, a1, 0x1c0 | a1 += 0x1c0;
0x0044b280 jalr t9 | t9 ();
0x0044b284 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b288 lw t9, -0x7b00(gp) | t9 = sym.imp.X509_NAME_free;
0x0044b28c move a0, zero | a0 = 0;
0x0044b290 jalr t9 | t9 ();
0x0044b294 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b298 b 0x44aee4 | goto label_12;
| label_18:
0x0044b29c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044b2a0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044b2a4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044b2a8 lw a0, (t8) | a0 = *(t8);
| /* str.malloc_error_n */
0x0044b2ac addiu a1, a1, 0x1c0 | a1 += 0x1c0;
0x0044b2b0 jalr t9 | t9 ();
0x0044b2b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b2b8 lw t9, -0x7b00(gp) | t9 = sym.imp.X509_NAME_free;
0x0044b2bc move a0, zero | a0 = 0;
0x0044b2c0 jalr t9 | t9 ();
0x0044b2c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b2c8 b 0x44aecc | goto label_13;
| label_28:
0x0044b2cc lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044b2d0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044b2d4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044b2d8 lw a0, (t8) | a0 = *(t8);
| /* str.Subject_Attribute__s_has_no_known_NID__skipped_n */
0x0044b2dc addiu a1, a1, -0x4cd0 | a1 += -0x4cd0;
0x0044b2e0 lw a2, (s5) | a2 = *(s5);
0x0044b2e4 jalr t9 | t9 ();
0x0044b2e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b2ec b 0x44b0c4 | goto label_3;
| label_20:
0x0044b2f0 lw t9, -0x6fb8(gp) | t9 = sym.imp.X509_NAME_new;
0x0044b2f4 jalr t9 | t9 ();
0x0044b2f8 nop |
0x0044b2fc lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b300 move fp, v0 | fp = v0;
| if (v0 == 0) {
0x0044b304 beqz v0, 0x44aebc | goto label_0;
| }
| label_27:
0x0044b308 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044b30c move a0, s3 | a0 = s3;
0x0044b310 jalr t9 | t9 ();
0x0044b314 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b318 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044b31c move a0, s2 | a0 = s2;
0x0044b320 jalr t9 | t9 ();
0x0044b324 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b328 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044b32c move a0, s0 | a0 = s0;
0x0044b330 jalr t9 | t9 ();
0x0044b334 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044b338 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044b33c move a0, s1 | a0 = s1;
0x0044b340 jalr t9 | t9 ();
0x0044b344 move v0, fp | v0 = fp;
0x0044b348 b 0x44af1c | goto label_14;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44654c */
| #include <stdint.h>
|
; (fcn) sym.password_callback () | void password_callback () {
0x0044654c lui gp, 5 |
0x00446550 addiu gp, gp, 0x5f54 |
0x00446554 addu gp, gp, t9 | gp += t9;
0x00446558 addiu sp, sp, -0x50 |
0x0044655c sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x00446560 sw s7, 0x48(sp) | *(var_48h) = s7;
0x00446564 sw s6, 0x44(sp) | *(var_44h) = s6;
0x00446568 sw s5, 0x40(sp) | *(var_40h) = s5;
0x0044656c sw s4, 0x3c(sp) | *(var_3ch) = s4;
0x00446570 sw s3, 0x38(sp) | *(var_38h) = s3;
0x00446574 sw s2, 0x34(sp) | *(var_34h) = s2;
0x00446578 sw s1, 0x30(sp) | *(var_30h) = s1;
0x0044657c sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00446580 move s2, a0 | s2 = a0;
0x00446584 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00446588 move s1, a1 | s1 = a1;
0x0044658c move s4, a2 | s4 = a2;
| if (a3 != 0) {
0x00446590 beqz a3, 0x4465fc |
0x00446594 lw s0, (a3) | s0 = *(a3);
0x00446598 lw s3, 4(a3) | s3 = *((a3 + 1));
| if (s0 == 0) {
0x0044659c beqz s0, 0x446600 | goto label_5;
| }
0x004465a0 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x004465a4 move a0, s0 | a0 = s0;
0x004465a8 jalr t9 | t9 ();
0x004465ac move a0, s2 | a0 = s2;
0x004465b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004465b4 slt t8, s1, v0 | t8 = (s1 < v0) ? 1 : 0;
| if (t8 != 0) {
0x004465b8 movz s1, v0, t8 | s1 = v0;
| }
0x004465bc move a1, s0 | a1 = s0;
0x004465c0 lw t9, -0x7ca0(gp) | t9 = sym.imp.memcpy;
0x004465c4 move a2, s1 | a2 = s1;
0x004465c8 jalr t9 | t9 ();
0x004465cc move v0, s1 | v0 = s1;
| label_0:
0x004465d0 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x004465d4 lw s7, 0x48(sp) | s7 = *(var_48h);
0x004465d8 lw s6, 0x44(sp) | s6 = *(var_44h);
0x004465dc lw s5, 0x40(sp) | s5 = *(var_40h);
0x004465e0 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x004465e4 lw s3, 0x38(sp) | s3 = *(var_38h);
0x004465e8 lw s2, 0x34(sp) | s2 = *(var_34h);
0x004465ec lw s1, 0x30(sp) | s1 = *(var_30h);
0x004465f0 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x004465f4 addiu sp, sp, 0x50 |
0x004465f8 jr ra | return v0;
| }
0x004465fc move s3, zero | s3 = 0;
| label_5:
0x00446600 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x00446604 lw t9, -0x763c(gp) | t9 = sym.imp.UI_new_method;
0x00446608 lw a0, 0x667c(t8) | a0 = *((t8 + 6559));
0x0044660c jalr t9 | t9 ();
0x00446610 lw gp, 0x20(sp) | gp = *(var_20h);
0x00446614 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00446618 beqz v0, 0x446744 | goto label_6;
| }
0x0044661c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446620 move a0, v0 | a0 = v0;
0x00446624 lw t9, -0x7c34(gp) | t9 = sym.imp.UI_construct_prompt;
0x00446628 move a2, s3 | a2 = s3;
| /* str.pass_phrase */
0x0044662c addiu a1, a1, -0x532c | a1 += -0x532c;
0x00446630 jalr t9 | t9 ();
0x00446634 lw gp, 0x20(sp) | gp = *(var_20h);
0x00446638 move s5, v0 | s5 = v0;
| if (v0 == 0) {
0x0044663c beqz v0, 0x44681c | goto label_7;
| }
0x00446640 lw t9, -0x6e08(gp) | t9 = sym.imp.UI_ctrl;
0x00446644 move a0, s0 | a0 = s0;
0x00446648 addiu a1, zero, 1 | a1 = 1;
0x0044664c addiu a2, zero, 1 | a2 = 1;
0x00446650 move a3, zero | a3 = 0;
0x00446654 addiu s6, s1, -1 | s6 = s1 + -1;
0x00446658 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044665c addiu s7, zero, 4 | s7 = 4;
0x00446660 jalr t9 | t9 ();
0x00446664 move a0, s0 | a0 = s0;
0x00446668 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044666c move a1, s5 | a1 = s5;
0x00446670 sw s7, 0x10(sp) | *(var_10h) = s7;
0x00446674 addiu a2, zero, 2 | a2 = 2;
0x00446678 lw t9, -0x7a70(gp) | t9 = sym.imp.UI_add_input_string;
0x0044667c move a3, s2 | a3 = s2;
0x00446680 sw s6, 0x14(sp) | *(var_14h) = s6;
0x00446684 jalr t9 | t9 ();
0x00446688 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044668c move s3, v0 | s3 = v0;
| if (v0 < 0) {
0x00446690 bltz v0, 0x44674c | goto label_8;
| }
0x00446694 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (s4 != 0) {
0x00446698 bnez s4, 0x44679c | goto label_9;
| }
0x0044669c move s4, zero | s4 = 0;
0x004466a0 b 0x4466b4 |
| while (v0 < 0) {
0x004466a4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x004466a8 jalr t9 | t9 ();
0x004466ac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x004466b0 beqz v0, 0x4466e0 | goto label_10;
| }
| label_1:
0x004466b4 lw t9, -0x783c(gp) | t9 = sym.imp.UI_process;
0x004466b8 move a0, s0 | a0 = s0;
0x004466bc jalr t9 | t9 ();
0x004466c0 move a0, s0 | a0 = s0;
0x004466c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004466c8 addiu a1, zero, 2 | a1 = 2;
0x004466cc move a2, zero | a2 = 0;
0x004466d0 move a3, zero | a3 = 0;
0x004466d4 move s3, v0 | s3 = v0;
0x004466d8 lw t9, -0x6e08(gp) | t9 = sym.imp.UI_ctrl;
0x004466dc bltz v0, 0x4466a4 |
| }
| label_10:
0x004466e0 lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
| if (s4 != 0) {
0x004466e4 beqz s4, 0x446708 |
| label_2:
0x004466e8 move a0, s4 | a0 = s4;
0x004466ec move a1, s1 | a1 = s1;
0x004466f0 jalr t9 | t9 ();
0x004466f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004466f8 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x004466fc move a0, s4 | a0 = s4;
0x00446700 jalr t9 | t9 ();
0x00446704 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00446708 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
| if (s3 < 0) {
0x0044670c bltz s3, 0x44674c | goto label_8;
| }
0x00446710 move a0, s2 | a0 = s2;
0x00446714 jalr t9 | t9 ();
0x00446718 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044671c move s1, v0 | s1 = v0;
| do {
| label_4:
0x00446720 lw t9, -0x7204(gp) | t9 = sym.imp.UI_free;
0x00446724 move a0, s0 | a0 = s0;
0x00446728 jalr t9 | t9 ();
0x0044672c lw gp, 0x20(sp) | gp = *(var_20h);
0x00446730 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x00446734 move a0, s5 | a0 = s5;
0x00446738 jalr t9 | t9 ();
0x0044673c move v0, s1 | v0 = s1;
0x00446740 b 0x4465d0 | goto label_0;
| label_6:
0x00446744 move v0, zero | v0 = 0;
0x00446748 b 0x4465d0 | goto label_0;
| label_8:
0x0044674c addiu t8, zero, -1 | t8 = -1;
0x00446750 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (s3 != t8) {
0x00446754 bne s3, t8, 0x4467f4 | goto label_11;
| }
0x00446758 lw s3, -0x7fd4(gp) | s3 = *(gp);
0x0044675c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446760 lw a0, (s3) | a0 = *(s3);
| /* str.User_interface_error_n */
0x00446764 addiu a1, a1, -0x5318 | a1 += -0x5318;
0x00446768 jalr t9 | t9 ();
0x0044676c lw gp, 0x20(sp) | gp = *(var_20h);
0x00446770 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00446774 lw a0, (s3) | a0 = *(s3);
0x00446778 jalr t9 | t9 ();
0x0044677c lw gp, 0x20(sp) | gp = *(var_20h);
| label_3:
0x00446780 lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
0x00446784 move a1, s1 | a1 = s1;
0x00446788 move a0, s2 | a0 = s2;
0x0044678c move s1, zero | s1 = 0;
0x00446790 jalr t9 | t9 ();
0x00446794 lw gp, 0x20(sp) | gp = *(var_20h);
0x00446798 b 0x446720 |
| } while (1);
| label_9:
0x0044679c move a0, s1 | a0 = s1;
0x004467a0 lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x004467a4 addiu a2, zero, 0x250 | a2 = 0x250;
| /* str.apps.c */
0x004467a8 addiu a1, a1, -0x5320 | a1 += -0x5320;
0x004467ac jalr t9 | t9 ();
0x004467b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004467b4 move s4, v0 | s4 = v0;
| if (v0 == 0) {
0x004467b8 beqz v0, 0x44684c | goto label_12;
| }
0x004467bc lw t9, -0x6f50(gp) | t9 = sym.imp.UI_add_verify_string;
0x004467c0 move a0, s0 | a0 = s0;
0x004467c4 sw s7, 0x10(sp) | *(var_10h) = s7;
0x004467c8 move a1, s5 | a1 = s5;
0x004467cc sw s6, 0x14(sp) | *(var_14h) = s6;
0x004467d0 addiu a2, zero, 2 | a2 = 2;
0x004467d4 sw s2, 0x18(sp) | *(var_18h) = s2;
0x004467d8 move a3, v0 | a3 = v0;
0x004467dc jalr t9 | t9 ();
0x004467e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004467e4 move s3, v0 | s3 = v0;
| if (v0 >= 0) {
0x004467e8 bgez v0, 0x4466b4 | goto label_1;
| }
0x004467ec lw t9, -0x7510(gp) | t9 = sym.imp.OPENSSL_cleanse;
0x004467f0 b 0x4466e8 | goto label_2;
| label_11:
0x004467f4 addiu t8, zero, -2 | t8 = -2;
0x004467f8 lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (s3 == t8) {
0x004467fc bne s3, t8, 0x44688c |
0x00446800 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00446804 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446808 lw a0, (t8) | a0 = *(t8);
| /* str.aborted__n */
0x0044680c addiu a1, a1, -0x5300 | a1 += -0x5300;
0x00446810 jalr t9 | t9 ();
0x00446814 lw gp, 0x20(sp) | gp = *(var_20h);
0x00446818 b 0x446780 | goto label_3;
| label_7:
0x0044681c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00446820 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00446824 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00446828 lw a0, (t8) | a0 = *(t8);
| /* str.Out_of_memory_n */
0x0044682c addiu a1, a1, -0x1474 | a1 += -0x1474;
0x00446830 jalr t9 | t9 ();
0x00446834 lw gp, 0x20(sp) | gp = *(var_20h);
0x00446838 lw t9, -0x7204(gp) | t9 = sym.imp.UI_free;
0x0044683c move a0, s0 | a0 = s0;
0x00446840 jalr t9 | t9 ();
0x00446844 move v0, zero | v0 = 0;
0x00446848 b 0x4465d0 | goto label_0;
| label_12:
0x0044684c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00446850 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00446854 lw a0, (t8) | a0 = *(t8);
0x00446858 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Out_of_memory_n */
0x0044685c addiu a1, a1, -0x1474 | a1 += -0x1474;
0x00446860 jalr t9 | t9 ();
0x00446864 lw gp, 0x20(sp) | gp = *(var_20h);
0x00446868 lw t9, -0x7204(gp) | t9 = sym.imp.UI_free;
0x0044686c move a0, s0 | a0 = s0;
0x00446870 jalr t9 | t9 ();
0x00446874 lw gp, 0x20(sp) | gp = *(var_20h);
0x00446878 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044687c move a0, s5 | a0 = s5;
0x00446880 jalr t9 | t9 ();
0x00446884 move v0, zero | v0 = 0;
0x00446888 b 0x4465d0 | goto label_0;
| }
0x0044688c move s1, zero | s1 = 0;
0x00446890 b 0x446720 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44c18c */
| #include <stdint.h>
|
; (fcn) sym.policies_print () | void policies_print () {
0x0044c18c lui gp, 5 |
0x0044c190 addiu gp, gp, 0x314 |
0x0044c194 addu gp, gp, t9 | gp += t9;
0x0044c198 addiu sp, sp, -0x38 |
0x0044c19c sw ra, 0x34(sp) | *(var_34h) = ra;
0x0044c1a0 sw s5, 0x30(sp) | *(var_30h) = s5;
0x0044c1a4 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0044c1a8 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0044c1ac sw s2, 0x24(sp) | *(var_24h) = s2;
0x0044c1b0 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044c1b4 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044c1b8 move s3, zero | s3 = 0;
0x0044c1bc sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044c1c0 move s1, a0 | s1 = a0;
0x0044c1c4 move s0, a1 | s0 = a1;
| if (a0 == 0) {
0x0044c1c8 beqz a0, 0x44c3dc | goto label_3;
| }
| label_2:
0x0044c1cc lw t9, -0x7afc(gp) | t9 = sym.imp.X509_STORE_CTX_get0_policy_tree;
0x0044c1d0 move a0, s0 | a0 = s0;
0x0044c1d4 jalr t9 | t9 ();
0x0044c1d8 move a0, s0 | a0 = s0;
0x0044c1dc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c1e0 lw t9, -0x7be0(gp) | t9 = sym.imp.X509_STORE_CTX_get_explicit_policy;
0x0044c1e4 move s5, v0 | s5 = v0;
0x0044c1e8 jalr t9 | t9 ();
0x0044c1ec lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044c1f0 beqz v0, 0x44c380 | goto label_4;
| }
0x0044c1f4 lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* str.True */
0x0044c1f8 addiu a2, a2, -0x4a80 | a2 += -0x4a80;
| label_0:
0x0044c1fc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044c200 move a0, s1 | a0 = s1;
0x0044c204 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Require_explicit_Policy:__s_n */
0x0044c208 addiu a1, a1, -0x4a70 | a1 += -0x4a70;
0x0044c20c jalr t9 | t9 ();
0x0044c210 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c214 lw t9, -0x6dc8(gp) | t9 = sym.imp.X509_policy_tree_get0_policies;
0x0044c218 lw s4, -0x7f9c(gp) | s4 = *(gp);
0x0044c21c move a0, s5 | a0 = s5;
0x0044c220 jalr t9 | t9 ();
0x0044c224 move a0, s1 | a0 = s1;
0x0044c228 lw gp, 0x10(sp) | gp = *(var_10h);
| /* str._s_Policies: */
0x0044c22c addiu a1, s4, -0x4a50 | a1 = s4 + -0x4a50;
0x0044c230 move s2, v0 | s2 = v0;
0x0044c234 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044c238 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Authority */
0x0044c23c addiu a2, a2, -0x4a40 | a2 += -0x4a40;
0x0044c240 jalr t9 | t9 ();
0x0044c244 move a0, s1 | a0 = s1;
0x0044c248 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c24c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (s2 == 0) {
0x0044c250 beqz s2, 0x44c3c8 | goto label_5;
| }
0x0044c254 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044c258 move s0, zero | s0 = 0;
0x0044c25c addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044c260 jalr t9 | t9 ();
0x0044c264 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c268 b 0x44c290 |
| while (v0 != 0) {
0x0044c26c jalr t9 | t9 ();
0x0044c270 nop |
0x0044c274 move a0, s1 | a0 = s1;
0x0044c278 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c27c move a1, v0 | a1 = v0;
0x0044c280 lw t9, -0x7334(gp) | t9 = sym.imp.X509_POLICY_NODE_print;
0x0044c284 addiu a2, zero, 2 | a2 = 2;
0x0044c288 jalr t9 | t9 ();
0x0044c28c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c290 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0044c294 move a0, s2 | a0 = s2;
0x0044c298 jalr t9 | t9 ();
0x0044c29c move a1, s0 | a1 = s0;
0x0044c2a0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c2a4 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x0044c2a8 move a0, s2 | a0 = s2;
0x0044c2ac addiu s0, s0, 1 | s0++;
0x0044c2b0 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x0044c2b4 bnez v0, 0x44c26c |
| }
| label_1:
0x0044c2b8 lw t9, -0x6e68(gp) | t9 = sym.imp.X509_policy_tree_get0_user_policies;
0x0044c2bc move a0, s5 | a0 = s5;
0x0044c2c0 jalr t9 | t9 ();
0x0044c2c4 move a0, s1 | a0 = s1;
0x0044c2c8 lw gp, 0x10(sp) | gp = *(var_10h);
| /* str._s_Policies: */
0x0044c2cc addiu a1, s4, -0x4a50 | a1 = s4 + -0x4a50;
0x0044c2d0 move s2, v0 | s2 = v0;
0x0044c2d4 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044c2d8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.User */
0x0044c2dc addiu a2, a2, -0x4a28 | a2 += -0x4a28;
0x0044c2e0 jalr t9 | t9 ();
0x0044c2e4 move a0, s1 | a0 = s1;
0x0044c2e8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c2ec lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (s2 == 0) {
0x0044c2f0 beqz s2, 0x44c3b4 | goto label_6;
| }
0x0044c2f4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044c2f8 move s0, zero | s0 = 0;
0x0044c2fc addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044c300 jalr t9 | t9 ();
0x0044c304 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c308 b 0x44c330 |
| while (v0 != 0) {
0x0044c30c jalr t9 | t9 ();
0x0044c310 nop |
0x0044c314 move a0, s1 | a0 = s1;
0x0044c318 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c31c move a1, v0 | a1 = v0;
0x0044c320 lw t9, -0x7334(gp) | t9 = sym.imp.X509_POLICY_NODE_print;
0x0044c324 addiu a2, zero, 2 | a2 = 2;
0x0044c328 jalr t9 | t9 ();
0x0044c32c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c330 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0044c334 move a0, s2 | a0 = s2;
0x0044c338 jalr t9 | t9 ();
0x0044c33c move a1, s0 | a1 = s0;
0x0044c340 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c344 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x0044c348 move a0, s2 | a0 = s2;
0x0044c34c addiu s0, s0, 1 | s0++;
0x0044c350 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x0044c354 bnez v0, 0x44c30c |
| }
| do {
0x0044c358 lw ra, 0x34(sp) | ra = *(var_34h);
| if (s3 == 0) {
0x0044c35c bnez s3, 0x44c38c |
0x0044c360 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044c364 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044c368 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044c36c lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044c370 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044c374 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044c378 addiu sp, sp, 0x38 |
0x0044c37c jr ra | return v0;
| label_4:
0x0044c380 lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* str.False */
0x0044c384 addiu a2, a2, -0x4a78 | a2 += -0x4a78;
0x0044c388 b 0x44c1fc | goto label_0;
| }
0x0044c38c move a0, s1 | a0 = s1;
0x0044c390 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x0044c394 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044c398 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044c39c lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044c3a0 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044c3a4 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044c3a8 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044c3ac addiu sp, sp, 0x38 |
0x0044c3b0 jr t9 | t9 ();
| label_6:
0x0044c3b4 lw a1, -0x7f9c(gp) | a1 = *(gp);
| /* str.__empty__n */
0x0044c3b8 addiu a1, a1, -0x4a34 | a1 += -0x4a34;
0x0044c3bc jalr t9 | t9 ();
0x0044c3c0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c3c4 b 0x44c358 |
| } while (1);
| label_5:
0x0044c3c8 lw a1, -0x7f9c(gp) | a1 = *(gp);
| /* str.__empty__n */
0x0044c3cc addiu a1, a1, -0x4a34 | a1 += -0x4a34;
0x0044c3d0 jalr t9 | t9 ();
0x0044c3d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c3d8 b 0x44c2b8 | goto label_1;
| label_3:
0x0044c3dc lw t8, -0x6c70(gp) | t8 = *((gp - 6940));
0x0044c3e0 move a1, zero | a1 = 0;
0x0044c3e4 lw t9, -0x7ce0(gp) | t9 = sym.imp.BIO_new_fp;
0x0044c3e8 addiu s3, zero, 1 | s3 = 1;
0x0044c3ec lw a0, (t8) | a0 = *(t8);
0x0044c3f0 jalr t9 | t9 ();
0x0044c3f4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044c3f8 move s1, v0 | s1 = v0;
0x0044c3fc b 0x44c1cc | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x453004 */
| #include <stdint.h>
|
; (fcn) sym.print_attribs () | void print_attribs () {
0x00453004 lui gp, 5 |
0x00453008 addiu gp, gp, -0x6b64 |
0x0045300c addu gp, gp, t9 | gp += t9;
0x00453010 addiu sp, sp, -0x40 |
0x00453014 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00453018 sw fp, 0x38(sp) | *(var_38h) = fp;
0x0045301c sw s7, 0x34(sp) | *(var_34h) = s7;
0x00453020 sw s6, 0x30(sp) | *(var_30h) = s6;
0x00453024 sw s5, 0x2c(sp) | *(var_2ch) = s5;
0x00453028 sw s4, 0x28(sp) | *(var_28h) = s4;
0x0045302c sw s3, 0x24(sp) | *(var_24h) = s3;
0x00453030 sw s2, 0x20(sp) | *(var_20h) = s2;
0x00453034 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00453038 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0045303c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00453040 move s3, a1 | s3 = a1;
| if (a1 == 0) {
0x00453044 beqz a1, 0x4532e4 | goto label_2;
| }
0x00453048 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0045304c move s1, a0 | s1 = a0;
0x00453050 move a0, a1 | a0 = a1;
0x00453054 move s0, a2 | s0 = a2;
0x00453058 jalr t9 | t9 ();
0x0045305c lw gp, 0x10(sp) | gp = *(var_10h);
0x00453060 move a0, s1 | a0 = s1;
0x00453064 move a2, s0 | a2 = s0;
0x00453068 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (v0 == 0) {
0x0045306c beqz v0, 0x4532a4 | goto label_3;
| }
0x00453070 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00453074 move s0, zero | s0 = 0;
| /* esilref: '&s
' */
0x00453078 addiu a1, t8, 0x1fb4 | a1 = t8 + 0x1fb4;
0x0045307c jalr t9 | t9 ();
0x00453080 move a0, s3 | a0 = s3;
0x00453084 lw gp, 0x10(sp) | gp = *(var_10h);
0x00453088 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x0045308c lw s4, -0x7f9c(gp) | s4 = *(gp);
0x00453090 lw s7, -0x7fd8(gp) | s7 = *(gp);
0x00453094 lw s5, -0x7f9c(gp) | s5 = *(gp);
| /* esilref: ' ' */
0x00453098 addiu s4, s4, -0x5d40 | s4 += -0x5d40;
0x0045309c lw s6, -0x7f9c(gp) | s6 = *(gp);
| /* str._s:_ */
0x004530a0 addiu s7, s7, -0x34bc | s7 += -0x34bc;
0x004530a4 jalr t9 | t9 ();
| /* str._No_Values__n */
0x004530a8 addiu s5, s5, -0x2d4c | s5 += -0x2d4c;
0x004530ac slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x004530b0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x004530b4 beqz v0, 0x45319c | goto label_4;
| }
| do {
0x004530b8 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x004530bc move a1, s0 | a1 = s0;
0x004530c0 move a0, s3 | a0 = s3;
0x004530c4 jalr t9 | t9 ();
0x004530c8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004530cc move s2, v0 | s2 = v0;
0x004530d0 lw t9, -0x77e4(gp) | t9 = sym.imp.OBJ_obj2nid;
0x004530d4 lw a0, (v0) | a0 = *(v0);
0x004530d8 jalr t9 | t9 ();
0x004530dc move a0, s1 | a0 = s1;
0x004530e0 lw gp, 0x10(sp) | gp = *(var_10h);
0x004530e4 move fp, v0 | fp = v0;
0x004530e8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004530ec move a1, s4 | a1 = s4;
0x004530f0 jalr t9 | t9 ();
0x004530f4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (fp != 0) {
0x004530f8 bnez fp, 0x4531ec | goto label_5;
| }
0x004530fc lw t9, -0x6f80(gp) | t9 = sym.imp.i2a_ASN1_OBJECT;
0x00453100 move a0, s1 | a0 = s1;
0x00453104 lw a1, (s2) | a1 = *(s2);
0x00453108 jalr t9 | t9 ();
0x0045310c move a0, s1 | a0 = s1;
0x00453110 lw gp, 0x10(sp) | gp = *(var_10h);
0x00453114 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* esilref: ': ' */
0x00453118 addiu a1, s6, -0x4654 | a1 = s6 + -0x4654;
0x0045311c jalr t9 | t9 ();
0x00453120 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00453124 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00453128 lw a0, 8(s2) | a0 = *((s2 + 2));
0x0045312c jalr t9 | t9 ();
0x00453130 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00453134 beqz v0, 0x4531d0 | goto label_6;
| }
0x00453138 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x0045313c move a1, zero | a1 = 0;
0x00453140 lw a0, 8(s2) | a0 = *((s2 + 2));
0x00453144 jalr t9 | t9 ();
0x00453148 addiu t8, zero, 4 | t8 = 4;
0x0045314c lw a2, (v0) | a2 = *(v0);
0x00453150 lw gp, 0x10(sp) | gp = *(var_10h);
| if (a2 == t8) {
0x00453154 beq a2, t8, 0x453218 | goto label_7;
| }
0x00453158 addiu t8, zero, 0x1e | t8 = 0x1e;
0x0045315c addiu t8, zero, 3 | t8 = 3;
| if (a2 == t8) {
0x00453160 beq a2, t8, 0x453254 | goto label_8;
| }
0x00453164 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (a2 == t8) {
0x00453168 beq a2, t8, 0x453218 | goto label_7;
| }
0x0045316c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00453170 move a0, s1 | a0 = s1;
0x00453174 addiu s0, s0, 1 | s0++;
| /* str._Unsupported_tag__d__n */
0x00453178 addiu a1, a1, -0x2d64 | a1 += -0x2d64;
0x0045317c jalr t9 | t9 ();
0x00453180 lw gp, 0x10(sp) | gp = *(var_10h);
| label_0:
0x00453184 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00453188 move a0, s3 | a0 = s3;
0x0045318c jalr t9 | t9 ();
0x00453190 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00453194 lw gp, 0x10(sp) | gp = *(var_10h);
0x00453198 bnez v0, 0x4530b8 |
| } while (v0 != 0);
| label_4:
0x0045319c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x004531a0 addiu v0, zero, 1 | v0 = 1;
0x004531a4 lw fp, 0x38(sp) | fp = *(var_38h);
0x004531a8 lw s7, 0x34(sp) | s7 = *(var_34h);
0x004531ac lw s6, 0x30(sp) | s6 = *(var_30h);
0x004531b0 lw s5, 0x2c(sp) | s5 = *(var_2ch);
0x004531b4 lw s4, 0x28(sp) | s4 = *(var_28h);
0x004531b8 lw s3, 0x24(sp) | s3 = *(var_24h);
0x004531bc lw s2, 0x20(sp) | s2 = *(var_20h);
0x004531c0 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x004531c4 lw s0, 0x18(sp) | s0 = *(var_18h);
0x004531c8 addiu sp, sp, 0x40 |
0x004531cc jr ra | return v0;
| label_6:
0x004531d0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004531d4 move a0, s1 | a0 = s1;
0x004531d8 move a1, s5 | a1 = s5;
0x004531dc addiu s0, s0, 1 | s0++;
0x004531e0 jalr t9 | t9 ();
0x004531e4 lw gp, 0x10(sp) | gp = *(var_10h);
0x004531e8 b 0x453184 | goto label_0;
| label_5:
0x004531ec lw t9, -0x7a04(gp) | t9 = sym.imp.OBJ_nid2ln;
0x004531f0 move a0, fp | a0 = fp;
0x004531f4 jalr t9 | t9 ();
0x004531f8 move a0, s1 | a0 = s1;
0x004531fc lw gp, 0x10(sp) | gp = *(var_10h);
0x00453200 move a1, s7 | a1 = s7;
0x00453204 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453208 move a2, v0 | a2 = v0;
0x0045320c jalr t9 | t9 ();
0x00453210 lw gp, 0x10(sp) | gp = *(var_10h);
0x00453214 b 0x453124 | goto label_1;
| label_7:
0x00453218 lw t8, 4(v0) | t8 = *((v0 + 1));
0x0045321c move a0, s1 | a0 = s1;
0x00453220 lw t9, -0x7e98(gp) | t9 = sym.hex_prin;
0x00453224 addiu s0, s0, 1 | s0++;
0x00453228 lw a1, 8(t8) | a1 = *((t8 + 2));
0x0045322c lw a2, (t8) | a2 = *(t8);
0x00453230 jalr t9 | t9 ();
0x00453234 move a0, s1 | a0 = s1;
0x00453238 lw gp, 0x10(sp) | gp = *(var_10h);
0x0045323c lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00453240 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00453244 addiu a1, t8, 0x609c | a1 = t8 + 0x609c;
0x00453248 jalr t9 | t9 ();
0x0045324c lw gp, 0x10(sp) | gp = *(var_10h);
0x00453250 b 0x453184 | goto label_0;
| label_8:
0x00453254 lw t8, 4(v0) | t8 = *((v0 + 1));
0x00453258 addiu s0, s0, 1 | s0++;
0x0045325c lw t9, -0x6ee4(gp) | t9 = sym.imp.OPENSSL_uni2asc;
0x00453260 lw a0, 8(t8) | a0 = *((t8 + 2));
0x00453264 lw a1, (t8) | a1 = *(t8);
0x00453268 jalr t9 | t9 ();
0x0045326c move a0, s1 | a0 = s1;
0x00453270 lw gp, 0x10(sp) | gp = *(var_10h);
0x00453274 move a2, v0 | a2 = v0;
0x00453278 move s2, v0 | s2 = v0;
0x0045327c lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00453280 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* esilref: '&s
' */
0x00453284 addiu a1, t8, 0x1fb4 | a1 = t8 + 0x1fb4;
0x00453288 jalr t9 | t9 ();
0x0045328c lw gp, 0x10(sp) | gp = *(var_10h);
0x00453290 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x00453294 move a0, s2 | a0 = s2;
0x00453298 jalr t9 | t9 ();
0x0045329c lw gp, 0x10(sp) | gp = *(var_10h);
0x004532a0 b 0x453184 | goto label_0;
| label_3:
0x004532a4 lw a1, -0x7f9c(gp) | a1 = *(gp);
| /* str._s:__Empty_Attributes__n */
0x004532a8 addiu a1, a1, -0x2d7c | a1 += -0x2d7c;
0x004532ac jalr t9 | t9 ();
0x004532b0 addiu v0, zero, 1 | v0 = 1;
0x004532b4 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x004532b8 lw fp, 0x38(sp) | fp = *(var_38h);
0x004532bc lw s7, 0x34(sp) | s7 = *(var_34h);
0x004532c0 lw s6, 0x30(sp) | s6 = *(var_30h);
0x004532c4 lw s5, 0x2c(sp) | s5 = *(var_2ch);
0x004532c8 lw s4, 0x28(sp) | s4 = *(var_28h);
0x004532cc lw s3, 0x24(sp) | s3 = *(var_24h);
0x004532d0 lw s2, 0x20(sp) | s2 = *(var_20h);
0x004532d4 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x004532d8 lw s0, 0x18(sp) | s0 = *(var_18h);
0x004532dc addiu sp, sp, 0x40 |
0x004532e0 jr ra | return v0;
| label_2:
0x004532e4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004532e8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._s:__No_Attributes__n */
0x004532ec addiu a1, a1, -0x2d94 | a1 += -0x2d94;
0x004532f0 jalr t9 | t9 ();
0x004532f4 addiu v0, zero, 1 | v0 = 1;
0x004532f8 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x004532fc lw fp, 0x38(sp) | fp = *(var_38h);
0x00453300 lw s7, 0x34(sp) | s7 = *(var_34h);
0x00453304 lw s6, 0x30(sp) | s6 = *(var_30h);
0x00453308 lw s5, 0x2c(sp) | s5 = *(var_2ch);
0x0045330c lw s4, 0x28(sp) | s4 = *(var_28h);
0x00453310 lw s3, 0x24(sp) | s3 = *(var_24h);
0x00453314 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00453318 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0045331c lw s0, 0x18(sp) | s0 = *(var_18h);
0x00453320 addiu sp, sp, 0x40 |
0x00453324 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44c52c */
| #include <stdint.h>
|
; (fcn) sym.print_cert_checks () | void print_cert_checks () {
0x0044c52c lui gp, 5 |
0x0044c530 addiu gp, gp, -0x8c |
0x0044c534 addu gp, gp, t9 | gp += t9;
0x0044c538 addiu sp, sp, -0x38 |
0x0044c53c sw ra, 0x34(sp) | *(var_34h) = ra;
0x0044c540 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0044c544 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0044c548 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0044c54c sw s1, 0x24(sp) | *(var_24h) = s1;
0x0044c550 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0044c554 move s0, a1 | s0 = a1;
0x0044c558 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0044c55c lw s1, 0x48(sp) | s1 = *(arg_48h);
| if (a1 == 0) {
0x0044c560 beqz a1, 0x44c6ac | goto label_1;
| }
0x0044c564 move s4, a0 | s4 = a0;
0x0044c568 move s3, a2 | s3 = a2;
0x0044c56c move s2, a3 | s2 = a3;
| if (a2 != 0) {
0x0044c570 beqz a2, 0x44c5c0 |
0x0044c574 lw t9, -0x7540(gp) | t9 = sym.imp.X509_check_host;
0x0044c578 move a0, a1 | a0 = a1;
0x0044c57c sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044c580 move a1, a2 | a1 = a2;
0x0044c584 move a3, zero | a3 = 0;
0x0044c588 move a2, zero | a2 = 0;
0x0044c58c jalr t9 | t9 ();
0x0044c590 addiu t8, zero, 1 | t8 = 1;
0x0044c594 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == t8) {
0x0044c598 beq v0, t8, 0x44c6cc | goto label_2;
| }
0x0044c59c lw a3, -0x7fd8(gp) | a3 = *(gp);
| /* str._NOT */
0x0044c5a0 addiu a3, a3, 0x5bbc | a3 += 0x5bbc;
| label_0:
0x0044c5a4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044c5a8 move a0, s4 | a0 = s4;
0x0044c5ac lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044c5b0 move a2, s3 | a2 = s3;
| /* str.Hostname__s_does_s_match_certificate_n */
0x0044c5b4 addiu a1, a1, -0x4a20 | a1 += -0x4a20;
0x0044c5b8 jalr t9 | t9 ();
0x0044c5bc lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0044c5c0 lw t9, -0x7304(gp) | t9 = sym.imp.X509_check_email;
| if (s2 == 0) {
0x0044c5c4 beqz s2, 0x44c608 | goto label_3;
| }
0x0044c5c8 move a0, s0 | a0 = s0;
0x0044c5cc move a1, s2 | a1 = s2;
0x0044c5d0 move a2, zero | a2 = 0;
0x0044c5d4 move a3, zero | a3 = 0;
0x0044c5d8 jalr t9 | t9 ();
0x0044c5dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0044c5e0 bnez v0, 0x44c6a0 | goto label_4;
| }
0x0044c5e4 lw a3, -0x7fd8(gp) | a3 = *(gp);
| /* str._NOT */
0x0044c5e8 addiu a3, a3, 0x5bbc | a3 += 0x5bbc;
| do {
0x0044c5ec lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044c5f0 move a0, s4 | a0 = s4;
0x0044c5f4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044c5f8 move a2, s2 | a2 = s2;
| /* str.Email__s_does_s_match_certificate_n */
0x0044c5fc addiu a1, a1, -0x49f8 | a1 += -0x49f8;
0x0044c600 jalr t9 | t9 ();
0x0044c604 lw gp, 0x18(sp) | gp = *(var_18h);
| label_3:
0x0044c608 lw t9, -0x7080(gp) | t9 = sym.imp.X509_check_ip_asc;
| if (s1 == 0) {
0x0044c60c beqz s1, 0x44c6ac | goto label_1;
| }
0x0044c610 move a0, s0 | a0 = s0;
0x0044c614 move a1, s1 | a1 = s1;
0x0044c618 move a2, zero | a2 = 0;
0x0044c61c jalr t9 | t9 ();
0x0044c620 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0044c624 bnez v0, 0x44c664 |
0x0044c628 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0044c62c move a0, s4 | a0 = s4;
0x0044c630 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044c634 move a2, s1 | a2 = s1;
0x0044c638 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str._NOT */
0x0044c63c addiu a3, a3, 0x5bbc | a3 += 0x5bbc;
0x0044c640 lw ra, 0x34(sp) | ra = *(var_34h);
| /* str.IP__s_does_s_match_certificate_n */
0x0044c644 addiu a1, a1, -0x49d4 | a1 += -0x49d4;
0x0044c648 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0044c64c lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0044c650 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044c654 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044c658 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044c65c addiu sp, sp, 0x38 |
0x0044c660 jr t9 | t9 ();
| }
0x0044c664 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0044c668 move a0, s4 | a0 = s4;
0x0044c66c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044c670 move a2, s1 | a2 = s1;
0x0044c674 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044c678 addiu a3, a3, 0x3b3c | a3 += 0x3b3c;
0x0044c67c lw ra, 0x34(sp) | ra = *(var_34h);
| /* str.IP__s_does_s_match_certificate_n */
0x0044c680 addiu a1, a1, -0x49d4 | a1 += -0x49d4;
0x0044c684 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0044c688 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0044c68c lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044c690 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044c694 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044c698 addiu sp, sp, 0x38 |
0x0044c69c jr t9 | t9 ();
| label_4:
0x0044c6a0 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0044c6a4 addiu a3, a3, 0x3b3c | a3 += 0x3b3c;
0x0044c6a8 b 0x44c5ec |
| } while (1);
| label_1:
0x0044c6ac lw ra, 0x34(sp) | ra = *(var_34h);
0x0044c6b0 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0044c6b4 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0044c6b8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044c6bc lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044c6c0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044c6c4 addiu sp, sp, 0x38 |
0x0044c6c8 jr ra | return v0;
| label_2:
0x0044c6cc lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0044c6d0 addiu a3, a3, 0x3b3c | a3 += 0x3b3c;
0x0044c6d4 b 0x44c5a4 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44f848 */
| #include <stdint.h>
|
; (fcn) sym.print_ssl_summary () | void print_ssl_summary () {
0x0044f848 lui gp, 5 |
0x0044f84c addiu gp, gp, -0x33a8 |
0x0044f850 addu gp, gp, t9 | gp += t9;
0x0044f854 addiu sp, sp, -0x48 |
0x0044f858 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0044f85c sw fp, 0x40(sp) | *(var_40h) = fp;
0x0044f860 sw s7, 0x3c(sp) | *(var_3ch) = s7;
0x0044f864 sw s6, 0x38(sp) | *(var_38h) = s6;
0x0044f868 sw s5, 0x34(sp) | *(var_34h) = s5;
0x0044f86c sw s4, 0x30(sp) | *(var_30h) = s4;
0x0044f870 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0044f874 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0044f878 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0044f87c sw s0, 0x20(sp) | *(var_20h) = s0;
0x0044f880 move s1, a0 | s1 = a0;
0x0044f884 lw t9, -0x6cd0(gp) | t9 = sym.imp.SSL_get_version;
0x0044f888 move a0, a1 | a0 = a1;
0x0044f88c sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044f890 move s2, a1 | s2 = a1;
0x0044f894 jalr t9 | t9 ();
0x0044f898 move a0, s1 | a0 = s1;
0x0044f89c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f8a0 move a2, v0 | a2 = v0;
0x0044f8a4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f8a8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Protocol_version:__s_n */
0x0044f8ac addiu a1, a1, -0x39e4 | a1 += -0x39e4;
0x0044f8b0 jalr t9 | t9 ();
0x0044f8b4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f8b8 lw t9, -0x7940(gp) | t9 = sym.imp.SSL_is_server;
0x0044f8bc move a0, s2 | a0 = s2;
0x0044f8c0 jalr t9 | t9 ();
0x0044f8c4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044f8c8 bnez v0, 0x44fa74 |
| label_1:
0x0044f8cc lw t9, -0x7be4(gp) | t9 = sym.imp.SSL_get_current_cipher;
0x0044f8d0 move a0, s2 | a0 = s2;
0x0044f8d4 jalr t9 | t9 ();
0x0044f8d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f8dc lw t9, -0x704c(gp) | t9 = sym.imp.SSL_CIPHER_get_name;
0x0044f8e0 move a0, v0 | a0 = v0;
0x0044f8e4 jalr t9 | t9 ();
0x0044f8e8 move a0, s1 | a0 = s1;
0x0044f8ec lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f8f0 move a2, v0 | a2 = v0;
0x0044f8f4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044f8f8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Ciphersuite:__s_n */
0x0044f8fc addiu a1, a1, -0x39a8 | a1 += -0x39a8;
0x0044f900 jalr t9 | t9 ();
0x0044f904 move a0, s1 | a0 = s1;
0x0044f908 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f90c lw t9, -0x7df4(gp) | t9 = *((gp - 8061));
| /* fcn.0044cb98 */
0x0044f910 addiu t9, t9, -0x3468 | t9 += -0x3468;
0x0044f914 move a1, s2 | a1 = s2;
0x0044f918 jalr t9 | t9 ();
0x0044f91c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f920 lw t9, -0x7a64(gp) | t9 = sym.imp.SSL_get_peer_certificate;
0x0044f924 move a0, s2 | a0 = s2;
0x0044f928 jalr t9 | t9 ();
0x0044f92c move a0, s1 | a0 = s1;
0x0044f930 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f934 move s0, v0 | s0 = v0;
0x0044f938 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (v0 == 0) {
0x0044f93c beqz v0, 0x44fc6c | goto label_7;
| }
0x0044f940 lw a1, -0x7f9c(gp) | a1 = *(gp);
| /* str.Peer_certificate:_ */
0x0044f944 addiu a1, a1, -0x3994 | a1 += -0x3994;
0x0044f948 jalr t9 | t9 ();
0x0044f94c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f950 lw t9, -0x7d7c(gp) | t9 = sym.imp.X509_get_subject_name;
0x0044f954 move a0, s0 | a0 = s0;
0x0044f958 jalr t9 | t9 ();
0x0044f95c lui a3, 0x82 | a3 = 0x820000;
0x0044f960 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f964 move a2, zero | a2 = 0;
0x0044f968 addiu a3, a3, 0x31f | a3 += 0x31f;
0x0044f96c move a0, s1 | a0 = s1;
0x0044f970 lw t9, -0x7da0(gp) | t9 = sym.imp.X509_NAME_print_ex;
0x0044f974 move a1, v0 | a1 = v0;
0x0044f978 jalr t9 | t9 ();
0x0044f97c move a0, s1 | a0 = s1;
0x0044f980 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f984 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044f988 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044f98c addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044f990 jalr t9 | t9 ();
0x0044f994 move a0, s2 | a0 = s2;
0x0044f998 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f99c addiu a1, zero, 0x6c | a1 = 0x6c;
0x0044f9a0 move a2, zero | a2 = 0;
0x0044f9a4 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044f9a8 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x0044f9ac jalr t9 | t9 ();
0x0044f9b0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044f9b4 bnez v0, 0x44fc3c | goto label_8;
| }
| label_5:
0x0044f9b8 lw t9, -0x6c30(gp) | t9 = *((gp - 6924));
0x0044f9bc move a0, s0 | a0 = s0;
0x0044f9c0 jalr t9 | t9 ();
0x0044f9c4 lw gp, 0x10(sp) | gp = *(var_10h);
| label_6:
0x0044f9c8 lw t9, -0x7f20(gp) | t9 = sym.ssl_print_point_formats;
0x0044f9cc move a0, s1 | a0 = s1;
0x0044f9d0 move a1, s2 | a1 = s2;
0x0044f9d4 jalr t9 | t9 ();
0x0044f9d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044f9dc lw t9, -0x7940(gp) | t9 = sym.imp.SSL_is_server;
0x0044f9e0 move a0, s2 | a0 = s2;
0x0044f9e4 jalr t9 | t9 ();
0x0044f9e8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044f9ec bnez v0, 0x44fa30 |
0x0044f9f0 lw t9, -0x7e28(gp) | t9 = sym.ssl_print_tmp_key;
0x0044f9f4 move a0, s1 | a0 = s1;
0x0044f9f8 move a1, s2 | a1 = s2;
0x0044f9fc jalr t9 | t9 ();
0x0044fa00 lw ra, 0x44(sp) | ra = *(var_44h);
0x0044fa04 lw fp, 0x40(sp) | fp = *(var_40h);
0x0044fa08 lw s7, 0x3c(sp) | s7 = *(var_3ch);
0x0044fa0c lw s6, 0x38(sp) | s6 = *(var_38h);
0x0044fa10 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0044fa14 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0044fa18 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0044fa1c lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044fa20 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044fa24 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044fa28 addiu sp, sp, 0x48 |
0x0044fa2c jr ra | return v0;
| }
0x0044fa30 lw t9, -0x7f1c(gp) | t9 = sym.ssl_print_curves;
0x0044fa34 move a0, s1 | a0 = s1;
0x0044fa38 move a1, s2 | a1 = s2;
0x0044fa3c addiu a2, zero, 1 | a2 = 1;
0x0044fa40 jalr t9 | t9 ();
0x0044fa44 lw ra, 0x44(sp) | ra = *(var_44h);
0x0044fa48 lw fp, 0x40(sp) | fp = *(var_40h);
0x0044fa4c lw s7, 0x3c(sp) | s7 = *(var_3ch);
0x0044fa50 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0044fa54 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0044fa58 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0044fa5c lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0044fa60 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044fa64 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044fa68 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044fa6c addiu sp, sp, 0x48 |
0x0044fa70 jr ra | return v0;
| }
0x0044fa74 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044fa78 move a0, s2 | a0 = s2;
0x0044fa7c addiu a1, zero, 0x6e | a1 = 0x6e;
0x0044fa80 move a2, zero | a2 = 0;
0x0044fa84 move a3, zero | a3 = 0;
0x0044fa88 jalr t9 | t9 ();
0x0044fa8c move a0, s2 | a0 = s2;
0x0044fa90 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fa94 addiu a1, zero, 0x6e | a1 = 0x6e;
0x0044fa98 move a2, zero | a2 = 0;
0x0044fa9c addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x0044faa0 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044faa4 move s3, v0 | s3 = v0;
0x0044faa8 jalr t9 | t9 ();
0x0044faac move a0, s1 | a0 = s1;
0x0044fab0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fab4 move s6, v0 | s6 = v0;
0x0044fab8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fabc lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Client_cipher_list:_ */
0x0044fac0 addiu a1, a1, -0x39cc | a1 += -0x39cc;
0x0044fac4 jalr t9 | t9 ();
0x0044fac8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s6 == 0) {
0x0044facc beqz s6, 0x44fbb4 | goto label_9;
| }
0x0044fad0 lw t9, -0x7bf4(gp) | t9 = sym.imp.SSL_CIPHER_find;
0x0044fad4 move a0, s2 | a0 = s2;
0x0044fad8 lw a1, 0x18(sp) | a1 = *(var_18h);
0x0044fadc lw fp, -0x7f9c(gp) | fp = *(gp);
0x0044fae0 move s4, s3 | s4 = s3;
0x0044fae4 jalr t9 | t9 ();
0x0044fae8 addiu t8, zero, 3 | t8 = 3;
0x0044faec lw gp, 0x10(sp) | gp = *(var_10h);
0x0044faf0 subu t8, t8, s3 | __asm ("subu t8, t8, s3");
0x0044faf4 move s0, v0 | s0 = v0;
0x0044faf8 lw s7, -0x7f9c(gp) | s7 = *(gp);
0x0044fafc lw s5, -0x7fd8(gp) | s5 = *(gp);
0x0044fb00 addiu s7, s7, -0x33dc | s7 += -0x33dc;
0x0044fb04 addu s7, s7, t8 | s7 += t8;
| /* str._02X */
0x0044fb08 addiu s5, s5, -0x708 | s5 += -0x708;
| if (s0 == 0) {
0x0044fb0c beqz s0, 0x44fb6c | goto label_10;
| }
0x0044fb10 lw t9, -0x704c(gp) | t9 = sym.imp.SSL_CIPHER_get_name;
| do {
0x0044fb14 move a0, s0 | a0 = s0;
0x0044fb18 jalr t9 | t9 ();
0x0044fb1c move a0, s1 | a0 = s1;
0x0044fb20 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fb24 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044fb28 move a1, v0 | a1 = v0;
0x0044fb2c jalr t9 | t9 ();
0x0044fb30 lw gp, 0x10(sp) | gp = *(var_10h);
| label_3:
0x0044fb34 lw a1, 0x18(sp) | a1 = *(var_18h);
| label_4:
0x0044fb38 sltu t8, s4, s6 | t8 = (s4 < s6) ? 1 : 0;
0x0044fb3c addu a1, a1, s3 | a1 += s3;
0x0044fb40 sw a1, 0x18(sp) | *(var_18h) = a1;
| if (t8 == 0) {
0x0044fb44 beqz t8, 0x44fbb4 | goto label_9;
| }
| label_0:
0x0044fb48 lw t9, -0x7bf4(gp) | t9 = sym.imp.SSL_CIPHER_find;
0x0044fb4c move a0, s2 | a0 = s2;
0x0044fb50 jalr t9 | t9 ();
0x0044fb54 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fb58 move s0, v0 | s0 = v0;
| if (s4 != 0) {
0x0044fb5c bnez s4, 0x44fbd0 | goto label_11;
| }
0x0044fb60 addu s4, s4, s3 | s4 += s3;
| label_2:
0x0044fb64 lw t9, -0x704c(gp) | t9 = sym.imp.SSL_CIPHER_get_name;
0x0044fb68 bnez s0, 0x44fb14 |
| } while (s0 != 0);
| label_10:
0x0044fb6c lw t9, -0x6c68(gp) | t9 = sym.imp.memcmp;
0x0044fb70 move a1, s7 | a1 = s7;
0x0044fb74 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044fb78 move a2, s3 | a2 = s3;
0x0044fb7c jalr t9 | t9 ();
0x0044fb80 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0044fb84 bnez v0, 0x44fbf0 | goto label_12;
| }
0x0044fb88 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fb8c move a0, s1 | a0 = s1;
0x0044fb90 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.SCSV */
0x0044fb94 addiu a1, a1, -0x39b4 | a1 += -0x39b4;
0x0044fb98 jalr t9 | t9 ();
0x0044fb9c sltu t8, s4, s6 | t8 = (s4 < s6) ? 1 : 0;
0x0044fba0 lw a1, 0x18(sp) | a1 = *(var_18h);
0x0044fba4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fba8 addu a1, a1, s3 | a1 += s3;
0x0044fbac sw a1, 0x18(sp) | *(var_18h) = a1;
| if (t8 != 0) {
0x0044fbb0 bnez t8, 0x44fb48 | goto label_0;
| }
| label_9:
0x0044fbb4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044fbb8 move a0, s1 | a0 = s1;
0x0044fbbc lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044fbc0 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044fbc4 jalr t9 | t9 ();
0x0044fbc8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fbcc b 0x44f8cc | goto label_1;
| label_11:
0x0044fbd0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044fbd4 move a0, s1 | a0 = s1;
0x0044fbd8 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044fbdc addu s4, s4, s3 | s4 += s3;
0x0044fbe0 addiu a1, a1, -0x824 | a1 += -0x824;
0x0044fbe4 jalr t9 | t9 ();
0x0044fbe8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fbec b 0x44fb64 | goto label_2;
| label_12:
0x0044fbf0 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044fbf4 move a0, s1 | a0 = s1;
| /* esilref: '0x' */
0x0044fbf8 addiu a1, fp, -0x39ac | a1 = fp + -0x39ac;
0x0044fbfc move s0, zero | s0 = 0;
0x0044fc00 jalr t9 | t9 ();
0x0044fc04 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s3 == 0) {
0x0044fc08 beqz s3, 0x44fb34 | goto label_3;
| }
| do {
0x0044fc0c lw t8, 0x18(sp) | t8 = *(var_18h);
0x0044fc10 move a0, s1 | a0 = s1;
0x0044fc14 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044fc18 move a1, s5 | a1 = s5;
0x0044fc1c addu t8, t8, s0 | t8 += s0;
0x0044fc20 addiu s0, s0, 1 | s0++;
0x0044fc24 lbu a2, (t8) | a2 = *(t8);
0x0044fc28 jalr t9 | t9 ();
0x0044fc2c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fc30 bne s3, s0, 0x44fc0c |
| } while (s3 != s0);
0x0044fc34 lw a1, 0x18(sp) | a1 = *(var_18h);
0x0044fc38 b 0x44fb38 | goto label_4;
| label_8:
0x0044fc3c lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0044fc40 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044fc44 jalr t9 | t9 ();
0x0044fc48 move a0, s1 | a0 = s1;
0x0044fc4c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fc50 move a2, v0 | a2 = v0;
0x0044fc54 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044fc58 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Hash_used:__s_n */
0x0044fc5c addiu a1, a1, -0x3980 | a1 += -0x3980;
0x0044fc60 jalr t9 | t9 ();
0x0044fc64 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fc68 b 0x44f9b8 | goto label_5;
| label_7:
0x0044fc6c lw a1, -0x7f9c(gp) | a1 = *(gp);
| /* str.No_peer_certificate_n */
0x0044fc70 addiu a1, a1, -0x3970 | a1 += -0x3970;
0x0044fc74 jalr t9 | t9 ();
0x0044fc78 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044fc7c b 0x44f9c8 | goto label_6;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4608b8 */
| #include <stdint.h>
|
; (fcn) sym.process_responder () | void process_responder () {
0x004608b8 lui gp, 4 |
0x004608bc addiu gp, gp, -0x4418 |
0x004608c0 addu gp, gp, t9 | gp += t9;
0x004608c4 addiu sp, sp, -0xd8 |
0x004608c8 sw ra, 0xd4(sp) | *(var_d4h) = ra;
0x004608cc sw fp, 0xd0(sp) | *(var_d0h) = fp;
0x004608d0 sw s7, 0xcc(sp) | *(var_cch) = s7;
0x004608d4 sw s6, 0xc8(sp) | *(var_c8h) = s6;
0x004608d8 sw s5, 0xc4(sp) | *(var_c4h) = s5;
0x004608dc sw s4, 0xc0(sp) | *(var_c0h) = s4;
0x004608e0 sw s3, 0xbc(sp) | *(var_bch) = s3;
0x004608e4 sw s2, 0xb8(sp) | *(var_b8h) = s2;
0x004608e8 sw s1, 0xb4(sp) | *(var_b4h) = s1;
0x004608ec sw s0, 0xb0(sp) | *(var_b0h) = s0;
0x004608f0 move s7, a1 | s7 = a1;
0x004608f4 lw t9, -0x7574(gp) | t9 = sym.imp.BIO_new_connect;
0x004608f8 move s2, a3 | s2 = a3;
0x004608fc sw gp, 0x18(sp) | *(var_18h) = gp;
0x00460900 sw a0, 0xd8(sp) | *(arg_d8h) = a0;
0x00460904 move a0, a2 | a0 = a2;
0x00460908 lw s0, 0xe8(sp) | s0 = *(arg_e8h);
0x0046090c lw s1, 0xf0(sp) | s1 = *(arg_f0h);
0x00460910 lw s4, 0xf4(sp) | s4 = *(arg_f4h);
0x00460914 jalr t9 | t9 ();
0x00460918 lw gp, 0x18(sp) | gp = *(var_18h);
0x0046091c move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x00460920 beqz v0, 0x460dfc | goto label_11;
| }
0x00460924 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (s0 != 0) {
0x00460928 beqz s0, 0x460944 |
0x0046092c move a0, v0 | a0 = v0;
0x00460930 addiu a1, zero, 0x64 | a1 = 0x64;
0x00460934 addiu a2, zero, 1 | a2 = 1;
0x00460938 move a3, s0 | a3 = s0;
0x0046093c jalr t9 | t9 ();
0x00460940 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00460944 lw v0, 0xec(sp) | v0 = *(arg_ech);
0x00460948 addiu t8, zero, 1 | t8 = 1;
0x0046094c addiu t8, zero, -1 | t8 = -1;
| if (v0 == t8) {
0x00460950 beq v0, t8, 0x460bd4 | goto label_12;
| }
0x00460954 move s5, zero | s5 = 0;
0x00460958 sw zero, 0xa8(sp) | *(var_a8h) = 0;
0x0046095c move a0, s3 | a0 = s3;
0x00460960 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (s4 == t8) {
0x00460964 beq s4, t8, 0x460c58 | goto label_13;
| }
| label_2:
0x00460968 addiu a1, zero, 0x66 | a1 = 0x66;
0x0046096c addiu a2, zero, 1 | a2 = 1;
0x00460970 move a3, zero | a3 = 0;
0x00460974 jalr t9 | t9 ();
0x00460978 move a0, s3 | a0 = s3;
0x0046097c lw gp, 0x18(sp) | gp = *(var_18h);
0x00460980 addiu a1, zero, 0x65 | a1 = 0x65;
0x00460984 move a2, zero | a2 = 0;
0x00460988 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0046098c move a3, zero | a3 = 0;
0x00460990 jalr t9 | t9 ();
0x00460994 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00460998 blez v0, 0x460af0 | goto label_14;
| }
| label_3:
0x0046099c lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x004609a0 move a0, s3 | a0 = s3;
0x004609a4 addiu a1, zero, 0x69 | a1 = 0x69;
0x004609a8 move a2, zero | a2 = 0;
0x004609ac addiu a3, sp, 0xac | a3 = sp + 0xac;
0x004609b0 jalr t9 | t9 ();
0x004609b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x004609b8 bltz v0, 0x460da8 | goto label_15;
| }
| label_0:
0x004609bc lw t9, -0x6fc4(gp) | t9 = sym.imp.OCSP_sendreq_new;
0x004609c0 move a1, s2 | a1 = s2;
0x004609c4 move a0, s3 | a0 = s3;
0x004609c8 move a2, zero | a2 = 0;
0x004609cc addiu a3, zero, -1 | a3 = -1;
0x004609d0 jalr t9 | t9 ();
0x004609d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004609d8 move s2, v0 | s2 = v0;
| if (v0 == 0) {
0x004609dc beqz v0, 0x460bb0 | goto label_4;
| }
0x004609e0 move s0, zero | s0 = 0;
0x004609e4 b 0x460a10 |
| while (v0 != 0) {
0x004609e8 jalr t9 | t9 ();
0x004609ec nop |
0x004609f0 move a0, s2 | a0 = s2;
0x004609f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004609f8 lw a1, 4(v0) | a1 = *((v0 + 1));
0x004609fc lw t9, -0x6d08(gp) | t9 = sym.imp.OCSP_REQ_CTX_add1_header;
0x00460a00 lw a2, 8(v0) | a2 = *((v0 + 2));
0x00460a04 jalr t9 | t9 ();
0x00460a08 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00460a0c beqz v0, 0x460a78 | goto label_5;
| }
0x00460a10 lw t9, -0x798c(gp) | t9 = sym.imp.sk_num;
0x00460a14 move a0, s1 | a0 = s1;
0x00460a18 jalr t9 | t9 ();
0x00460a1c move a1, s0 | a1 = s0;
0x00460a20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460a24 slt v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00460a28 move a0, s1 | a0 = s1;
0x00460a2c addiu s0, s0, 1 | s0++;
0x00460a30 lw t9, -0x7c8c(gp) | t9 = sym.imp.sk_value;
0x00460a34 bnez v0, 0x4609e8 |
| }
0x00460a38 lw t9, -0x77b4(gp) | t9 = sym.imp.OCSP_REQ_CTX_set1_req;
0x00460a3c move a0, s2 | a0 = s2;
0x00460a40 move a1, s7 | a1 = s7;
0x00460a44 jalr t9 | t9 ();
0x00460a48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00460a4c beqz v0, 0x460a78 | goto label_5;
| }
0x00460a50 addiu t8, zero, -1 | t8 = -1;
0x00460a54 addiu s6, sp, 0xa8 | s6 = sp + 0xa8;
0x00460a58 addiu s0, zero, -1 | s0 = -1;
| if (s4 != t8) {
0x00460a5c bne s4, t8, 0x460c8c | goto label_16;
| }
| do {
0x00460a60 lw t9, -0x7990(gp) | t9 = sym.imp.OCSP_sendreq_nbio;
0x00460a64 move a0, s6 | a0 = s6;
0x00460a68 move a1, s2 | a1 = s2;
0x00460a6c jalr t9 | t9 ();
0x00460a70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460a74 beq v0, s0, 0x460a60 |
| } while (v0 == s0);
| label_5:
0x00460a78 lw t9, -0x7ac0(gp) | t9 = sym.imp.OCSP_REQ_CTX_free;
0x00460a7c move a0, s2 | a0 = s2;
0x00460a80 jalr t9 | t9 ();
0x00460a84 lw gp, 0x18(sp) | gp = *(var_18h);
| label_8:
0x00460a88 lw s0, 0xa8(sp) | s0 = *(var_a8h);
0x00460a8c lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (s0 == 0) {
0x00460a90 beqz s0, 0x460bb4 | goto label_17;
| }
| if (s3 != 0) {
| label_1:
0x00460a94 beqz s3, 0x460aac |
0x00460a98 nop |
| label_10:
0x00460a9c lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
0x00460aa0 move a0, s3 | a0 = s3;
0x00460aa4 jalr t9 | t9 ();
0x00460aa8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00460aac lw t9, -0x7bfc(gp) | t9 = sym.imp.SSL_CTX_free;
| if (s5 != 0) {
0x00460ab0 beqz s5, 0x460abc |
0x00460ab4 move a0, s5 | a0 = s5;
0x00460ab8 jalr t9 | t9 ();
| }
0x00460abc move v0, s0 | v0 = s0;
| label_9:
0x00460ac0 lw ra, 0xd4(sp) | ra = *(var_d4h);
0x00460ac4 lw fp, 0xd0(sp) | fp = *(var_d0h);
0x00460ac8 lw s7, 0xcc(sp) | s7 = *(var_cch);
0x00460acc lw s6, 0xc8(sp) | s6 = *(var_c8h);
0x00460ad0 lw s5, 0xc4(sp) | s5 = *(var_c4h);
0x00460ad4 lw s4, 0xc0(sp) | s4 = *(var_c0h);
0x00460ad8 lw s3, 0xbc(sp) | s3 = *(var_bch);
0x00460adc lw s2, 0xb8(sp) | s2 = *(var_b8h);
0x00460ae0 lw s1, 0xb4(sp) | s1 = *(var_b4h);
0x00460ae4 lw s0, 0xb0(sp) | s0 = *(var_b0h);
0x00460ae8 addiu sp, sp, 0xd8 |
0x00460aec jr ra | return v0;
| label_14:
0x00460af0 lw t9, -0x7b78(gp) | t9 = sym.imp.BIO_test_flags;
0x00460af4 move a0, s3 | a0 = s3;
0x00460af8 addiu a1, zero, 8 | a1 = 8;
0x00460afc jalr t9 | t9 ();
0x00460b00 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00460b04 beqz v0, 0x460c70 | goto label_18;
| }
0x00460b08 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00460b0c move a0, s3 | a0 = s3;
0x00460b10 addiu a1, zero, 0x69 | a1 = 0x69;
0x00460b14 move a2, zero | a2 = 0;
0x00460b18 addiu a3, sp, 0xac | a3 = sp + 0xac;
0x00460b1c jalr t9 | t9 ();
0x00460b20 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00460b24 bltz v0, 0x460da8 | goto label_15;
| }
0x00460b28 lw t9, -0x6f0c(gp) | t9 = sym.imp.memset;
0x00460b2c addiu s0, sp, 0x20 | s0 = sp + 0x20;
0x00460b30 move a1, zero | a1 = 0;
0x00460b34 move a0, s0 | a0 = s0;
0x00460b38 addiu a2, zero, 0x80 | a2 = 0x80;
0x00460b3c jalr t9 | t9 ();
0x00460b40 addiu v1, sp, 0xa0 | v1 = sp + 0xa0;
0x00460b44 lw t8, 0xac(sp) | t8 = *(var_ach);
0x00460b48 move a1, zero | a1 = 0;
0x00460b4c sw v1, 0x10(sp) | *(var_10h) = v1;
0x00460b50 addiu v1, zero, 1 | v1 = 1;
0x00460b54 srl v0, t8, 5 | v0 = t8 >> 5;
0x00460b58 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460b5c sll v0, v0, 2 | v0 <<= 2;
0x00460b60 addiu a0, t8, 1 | a0 = t8 + 1;
0x00460b64 addu v0, s0, v0 | v0 = s0 + v0;
0x00460b68 sllv t8, v1, t8 | t8 = v1 << t8;
0x00460b6c lw v1, (v0) | v1 = *(v0);
0x00460b70 move a2, s0 | a2 = s0;
0x00460b74 lw t9, -0x7c14(gp) | t9 = sym.imp.select;
0x00460b78 move a3, zero | a3 = 0;
0x00460b7c or t8, v1, t8 | t8 = v1 | t8;
0x00460b80 sw zero, 0xa4(sp) | *(var_a4h) = 0;
0x00460b84 sw t8, (v0) | *(v0) = t8;
0x00460b88 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x00460b8c jalr t9 | t9 ();
0x00460b90 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00460b94 bnez v0, 0x4609bc | goto label_0;
| }
0x00460b98 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460b9c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00460ba0 lw a0, 0xd8(sp) | a0 = *(arg_d8h);
| /* str.Timeout_on_connect_n */
0x00460ba4 addiu a1, a1, 0 | a1 += 0;
0x00460ba8 jalr t9 | t9 ();
0x00460bac lw gp, 0x18(sp) | gp = *(var_18h);
| label_4:
0x00460bb0 lw t8, -0x7fd4(gp) | t8 = *(gp);
| label_17:
0x00460bb4 move s0, zero | s0 = 0;
0x00460bb8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460bbc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00460bc0 lw a0, (t8) | a0 = *(t8);
| /* str.Error_querying_OCSP_responder_n */
0x00460bc4 addiu a1, a1, 0x54 | a1 += 0x54;
0x00460bc8 jalr t9 | t9 ();
0x00460bcc lw gp, 0x18(sp) | gp = *(var_18h);
0x00460bd0 b 0x460a94 | goto label_1;
| label_12:
0x00460bd4 lw t9, -0x7968(gp) | t9 = sym.imp.SSLv23_client_method;
0x00460bd8 jalr t9 | t9 ();
0x00460bdc nop |
0x00460be0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460be4 lw t9, -0x7314(gp) | t9 = sym.imp.SSL_CTX_new;
0x00460be8 move a0, v0 | a0 = v0;
0x00460bec jalr t9 | t9 ();
0x00460bf0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460bf4 move s5, v0 | s5 = v0;
| if (v0 == 0) {
0x00460bf8 beqz v0, 0x460e1c | goto label_19;
| }
0x00460bfc lw t9, -0x6db4(gp) | t9 = sym.imp.SSL_CTX_ctrl;
0x00460c00 addiu a2, zero, 4 | a2 = 4;
0x00460c04 move a3, zero | a3 = 0;
0x00460c08 move a0, v0 | a0 = v0;
0x00460c0c addiu a1, zero, 0x21 | a1 = 0x21;
0x00460c10 jalr t9 | t9 ();
0x00460c14 move a0, s5 | a0 = s5;
0x00460c18 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460c1c lw t9, -0x6e8c(gp) | t9 = sym.imp.BIO_new_ssl;
0x00460c20 addiu a1, zero, 1 | a1 = 1;
0x00460c24 jalr t9 | t9 ();
0x00460c28 move a1, s3 | a1 = s3;
0x00460c2c lw gp, 0x18(sp) | gp = *(var_18h);
0x00460c30 lw t9, -0x7c84(gp) | t9 = sym.imp.BIO_push;
0x00460c34 move a0, v0 | a0 = v0;
0x00460c38 jalr t9 | t9 ();
0x00460c3c addiu t8, zero, -1 | t8 = -1;
0x00460c40 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460c44 move s3, v0 | s3 = v0;
0x00460c48 sw zero, 0xa8(sp) | *(var_a8h) = 0;
0x00460c4c move a0, s3 | a0 = s3;
0x00460c50 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
| if (s4 != t8) {
0x00460c54 bne s4, t8, 0x460968 | goto label_2;
| }
| label_13:
0x00460c58 addiu a1, zero, 0x65 | a1 = 0x65;
0x00460c5c move a2, zero | a2 = 0;
0x00460c60 move a3, zero | a3 = 0;
0x00460c64 jalr t9 | t9 ();
0x00460c68 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 > 0) {
0x00460c6c bgtz v0, 0x46099c | goto label_3;
| }
| label_18:
0x00460c70 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460c74 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00460c78 lw a0, 0xd8(sp) | a0 = *(arg_d8h);
| /* str.Error_connecting_BIO_n */
0x00460c7c addiu a1, a1, -0x34 | a1 += -0x34;
0x00460c80 jalr t9 | t9 ();
0x00460c84 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460c88 b 0x460bb0 | goto label_4;
| label_16:
0x00460c8c addiu s1, zero, -1 | s1 = -1;
0x00460c90 addiu s0, sp, 0x20 | s0 = sp + 0x20;
0x00460c94 addiu s7, zero, 1 | s7 = 1;
0x00460c98 addiu fp, sp, 0xa0 | fp = sp + 0xa0;
0x00460c9c lw t9, -0x7990(gp) | t9 = sym.imp.OCSP_sendreq_nbio;
| label_6:
0x00460ca0 move a0, s6 | a0 = s6;
0x00460ca4 move a1, s2 | a1 = s2;
0x00460ca8 jalr t9 | t9 ();
0x00460cac move a0, s0 | a0 = s0;
0x00460cb0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460cb4 addiu a2, zero, 0x80 | a2 = 0x80;
0x00460cb8 move a1, zero | a1 = 0;
0x00460cbc lw t9, -0x6f0c(gp) | t9 = sym.imp.memset;
| if (v0 != s1) {
0x00460cc0 bne v0, s1, 0x460a78 | goto label_5;
| }
0x00460cc4 jalr t9 | t9 ();
0x00460cc8 nop |
0x00460ccc move a0, s3 | a0 = s3;
0x00460cd0 lw v0, 0xac(sp) | v0 = *(var_ach);
0x00460cd4 addiu a1, zero, 1 | a1 = 1;
0x00460cd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460cdc srl t8, v0, 5 | t8 = v0 >> 5;
0x00460ce0 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x00460ce4 sll t8, t8, 2 | t8 <<= 2;
0x00460ce8 lw t9, -0x7b78(gp) | t9 = sym.imp.BIO_test_flags;
0x00460cec addu t8, s0, t8 | t8 = s0 + t8;
0x00460cf0 sllv v0, s7, v0 | v0 = s7 << v0;
0x00460cf4 lw v1, (t8) | v1 = *(t8);
0x00460cf8 sw zero, 0xa4(sp) | *(var_a4h) = 0;
0x00460cfc or v0, v1, v0 | v0 = v1 | v0;
0x00460d00 sw v0, (t8) | *(t8) = v0;
0x00460d04 jalr t9 | t9 ();
0x00460d08 move a0, s3 | a0 = s3;
0x00460d0c lw gp, 0x18(sp) | gp = *(var_18h);
0x00460d10 addiu a1, zero, 2 | a1 = 2;
0x00460d14 move a2, zero | a2 = 0;
0x00460d18 move a3, zero | a3 = 0;
0x00460d1c lw t9, -0x7b78(gp) | t9 = sym.imp.BIO_test_flags;
0x00460d20 lw t8, -0x7c14(gp) | t8 = sym.imp.select;
| if (v0 == 0) {
0x00460d24 beqz v0, 0x460d70 | goto label_20;
| }
0x00460d28 lw a0, 0xac(sp) | a0 = *(var_ach);
0x00460d2c move a1, s0 | a1 = s0;
0x00460d30 sw fp, 0x10(sp) | *(var_10h) = fp;
0x00460d34 move t9, t8 | t9 = t8;
0x00460d38 addiu a0, a0, 1 | a0++;
0x00460d3c jalr t9 | t9 ();
0x00460d40 lw gp, 0x18(sp) | gp = *(var_18h);
| label_7:
0x00460d44 lw a1, -0x7f9c(gp) | a1 = *(gp);
| if (v0 == 0) {
0x00460d48 beqz v0, 0x460dc8 | goto label_21;
| }
0x00460d4c lw t9, -0x7990(gp) | t9 = sym.imp.OCSP_sendreq_nbio;
| if (v0 != s1) {
0x00460d50 bne v0, s1, 0x460ca0 | goto label_6;
| }
0x00460d54 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460d58 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00460d5c lw a0, 0xd8(sp) | a0 = *(arg_d8h);
| /* str.Select_error_n */
0x00460d60 addiu a1, a1, 0x44 | a1 += 0x44;
0x00460d64 jalr t9 | t9 ();
0x00460d68 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460d6c b 0x460a78 | goto label_5;
| label_20:
0x00460d70 jalr t9 | t9 ();
0x00460d74 nop |
0x00460d78 move a1, zero | a1 = 0;
0x00460d7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00460d80 move a2, s0 | a2 = s0;
0x00460d84 move a3, zero | a3 = 0;
0x00460d88 lw t9, -0x7c14(gp) | t9 = sym.imp.select;
| if (v0 != 0) {
0x00460d8c beqz v0, 0x460de0 |
0x00460d90 lw a0, 0xac(sp) | a0 = *(var_ach);
0x00460d94 sw fp, 0x10(sp) | *(var_10h) = fp;
0x00460d98 addiu a0, a0, 1 | a0++;
0x00460d9c jalr t9 | t9 ();
0x00460da0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460da4 b 0x460d44 | goto label_7;
| label_15:
0x00460da8 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00460dac lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460db0 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00460db4 lw a0, (t8) | a0 = *(t8);
| /* str.Cant_get_connection_fd_n */
0x00460db8 addiu a1, a1, -0x1c | a1 += -0x1c;
0x00460dbc jalr t9 | t9 ();
0x00460dc0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460dc4 b 0x460a88 | goto label_8;
| label_21:
0x00460dc8 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00460dcc lw a0, 0xd8(sp) | a0 = *(arg_d8h);
| /* str.Timeout_on_request_n */
0x00460dd0 addiu a1, a1, 0x30 | a1 += 0x30;
0x00460dd4 jalr t9 | t9 ();
0x00460dd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460ddc b 0x460a78 | goto label_5;
| }
0x00460de0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460de4 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00460de8 lw a0, 0xd8(sp) | a0 = *(arg_d8h);
| /* str.Unexpected_retry_condition_n */
0x00460dec addiu a1, a1, 0x14 | a1 += 0x14;
0x00460df0 jalr t9 | t9 ();
0x00460df4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460df8 b 0x460a78 | goto label_5;
| label_11:
0x00460dfc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460e00 move s0, zero | s0 = 0;
0x00460e04 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00460e08 lw a0, 0xd8(sp) | a0 = *(arg_d8h);
| /* str.Error_creating_connect_BIO_n */
0x00460e0c addiu a1, a1, -0x70 | a1 += -0x70;
0x00460e10 jalr t9 | t9 ();
0x00460e14 move v0, s0 | v0 = s0;
0x00460e18 b 0x460ac0 | goto label_9;
| label_19:
0x00460e1c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00460e20 move s0, zero | s0 = 0;
0x00460e24 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00460e28 lw a0, 0xd8(sp) | a0 = *(arg_d8h);
| /* str.Error_creating_SSL_context._n */
0x00460e2c addiu a1, a1, -0x54 | a1 += -0x54;
0x00460e30 jalr t9 | t9 ();
0x00460e34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00460e38 b 0x460a9c | goto label_10;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44a628 */
| #include <stdint.h>
|
; (fcn) sym.rotate_index () | void rotate_index () {
0x0044a628 lui gp, 5 |
0x0044a62c addiu gp, gp, 0x1e78 |
0x0044a630 addu gp, gp, t9 | gp += t9;
0x0044a634 addiu sp, sp, -0x550 |
0x0044a638 sw ra, 0x54c(sp) | *(var_54ch) = ra;
0x0044a63c sw fp, 0x548(sp) | *(var_548h) = fp;
0x0044a640 sw s7, 0x544(sp) | *(var_544h) = s7;
0x0044a644 sw s6, 0x540(sp) | *(var_540h) = s6;
0x0044a648 sw s5, 0x53c(sp) | *(var_53ch) = s5;
0x0044a64c sw s4, 0x538(sp) | *(var_538h) = s4;
0x0044a650 sw s3, 0x534(sp) | *(var_534h) = s3;
0x0044a654 sw s2, 0x530(sp) | *(var_530h) = s2;
0x0044a658 sw s1, 0x52c(sp) | *(var_52ch) = s1;
0x0044a65c sw s0, 0x528(sp) | *(var_528h) = s0;
0x0044a660 move s2, a1 | s2 = a1;
0x0044a664 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0044a668 move s1, a2 | s1 = a2;
0x0044a66c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0044a670 move s0, a0 | s0 = a0;
0x0044a674 jalr t9 | t9 ();
0x0044a678 move a0, s1 | a0 = s1;
0x0044a67c lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a680 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0044a684 move s3, v0 | s3 = v0;
0x0044a688 jalr t9 | t9 ();
0x0044a68c move a0, s2 | a0 = s2;
0x0044a690 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a694 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0044a698 addu s4, v0, s3 | s4 = v0 + s3;
0x0044a69c jalr t9 | t9 ();
0x0044a6a0 addu v0, v0, s3 | v0 += s3;
0x0044a6a4 slt s3, v0, s4 | s3 = (v0 < s4) ? 1 : 0;
| if (s3 == 0) {
0x0044a6a8 movn v0, s4, s3 | v0 = s4;
| }
0x0044a6ac slti v0, v0, 0xfa | v0 = (v0 < 0xfa) ? 1 : 0;
0x0044a6b0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0044a6b4 beqz v0, 0x44a870 | goto label_5;
| }
0x0044a6b8 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044a6bc addiu t8, sp, 0x220 | t8 = sp + 0x220;
0x0044a6c0 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0044a6c4 addiu s3, sp, 0x420 | s3 = sp + 0x420;
0x0044a6c8 sw t8, 0x520(sp) | *(var_520h) = t8;
0x0044a6cc move a0, s3 | a0 = s3;
0x0044a6d0 move a3, s0 | a3 = s0;
0x0044a6d4 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s.attr */
0x0044a6d8 addiu a2, a2, -0x4ddc | a2 += -0x4ddc;
0x0044a6dc addiu s5, sp, 0x20 | s5 = sp + 0x20;
0x0044a6e0 lw s6, -0x7f9c(gp) | s6 = *(gp);
0x0044a6e4 addiu s4, sp, 0x120 | s4 = sp + 0x120;
0x0044a6e8 jalr t9 | t9 ();
0x0044a6ec addiu a0, sp, 0x220 | a0 = sp + 0x220;
0x0044a6f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a6f4 move a3, s0 | a3 = s0;
0x0044a6f8 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s.attr._s */
0x0044a6fc addiu a2, s6, -0x4dd4 | a2 = s6 + -0x4dd4;
0x0044a700 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0044a704 addiu fp, sp, 0x320 | fp = sp + 0x320;
0x0044a708 lw s7, -0x7f9c(gp) | s7 = *(gp);
0x0044a70c sw s2, 0x10(sp) | *(var_10h) = s2;
0x0044a710 jalr t9 | t9 ();
0x0044a714 move a0, s5 | a0 = s5;
0x0044a718 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a71c move a3, s0 | a3 = s0;
0x0044a720 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s._s */
0x0044a724 addiu a2, s7, -0x4ee0 | a2 = s7 + -0x4ee0;
0x0044a728 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0044a72c sw s2, 0x10(sp) | *(var_10h) = s2;
0x0044a730 jalr t9 | t9 ();
0x0044a734 move a0, s4 | a0 = s4;
0x0044a738 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a73c move a3, s0 | a3 = s0;
0x0044a740 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s._s */
0x0044a744 addiu a2, s7, -0x4ee0 | a2 = s7 + -0x4ee0;
0x0044a748 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0044a74c sw s1, 0x10(sp) | *(var_10h) = s1;
0x0044a750 jalr t9 | t9 ();
0x0044a754 move a0, fp | a0 = fp;
0x0044a758 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a75c addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s.attr._s */
0x0044a760 addiu a2, s6, -0x4dd4 | a2 = s6 + -0x4dd4;
0x0044a764 move a3, s0 | a3 = s0;
0x0044a768 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0044a76c sw s1, 0x10(sp) | *(var_10h) = s1;
0x0044a770 jalr t9 | t9 ();
0x0044a774 move a0, s0 | a0 = s0;
0x0044a778 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a77c lw t9, -0x7234(gp) | t9 = sym.imp.rename;
0x0044a780 move a1, s4 | a1 = s4;
0x0044a784 jalr t9 | t9 ();
0x0044a788 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a78c bltz v0, 0x44a80c |
| while (t8 == v0) {
0x0044a790 lw t9, -0x7234(gp) | t9 = sym.imp.rename;
| label_0:
0x0044a794 move a0, s5 | a0 = s5;
0x0044a798 move a1, s0 | a1 = s0;
0x0044a79c jalr t9 | t9 ();
0x0044a7a0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0044a7a4 bltz v0, 0x44a974 | goto label_6;
| }
0x0044a7a8 lw t9, -0x7234(gp) | t9 = sym.imp.rename;
0x0044a7ac move a0, s3 | a0 = s3;
0x0044a7b0 move a1, fp | a1 = fp;
0x0044a7b4 jalr t9 | t9 ();
0x0044a7b8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0044a7bc bltz v0, 0x44a8bc | goto label_7;
| }
| label_2:
0x0044a7c0 lw t9, -0x7234(gp) | t9 = sym.imp.rename;
| label_3:
0x0044a7c4 addiu a0, sp, 0x220 | a0 = sp + 0x220;
0x0044a7c8 move a1, s3 | a1 = s3;
0x0044a7cc jalr t9 | t9 ();
0x0044a7d0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0044a7d4 bltz v0, 0x44a9b0 | goto label_8;
| }
0x0044a7d8 addiu v0, zero, 1 | v0 = 1;
| label_1:
0x0044a7dc lw ra, 0x54c(sp) | ra = *(var_54ch);
0x0044a7e0 lw fp, 0x548(sp) | fp = *(var_548h);
0x0044a7e4 lw s7, 0x544(sp) | s7 = *(var_544h);
0x0044a7e8 lw s6, 0x540(sp) | s6 = *(var_540h);
0x0044a7ec lw s5, 0x53c(sp) | s5 = *(var_53ch);
0x0044a7f0 lw s4, 0x538(sp) | s4 = *(var_538h);
0x0044a7f4 lw s3, 0x534(sp) | s3 = *(var_534h);
0x0044a7f8 lw s2, 0x530(sp) | s2 = *(var_530h);
0x0044a7fc lw s1, 0x52c(sp) | s1 = *(var_52ch);
0x0044a800 lw s0, 0x528(sp) | s0 = *(var_528h);
0x0044a804 addiu sp, sp, 0x550 |
0x0044a808 jr ra | return v0;
0x0044a80c lw t9, -0x794c(gp) | t9 = sym.imp.__errno_location;
0x0044a810 jalr t9 | t9 ();
0x0044a814 nop |
0x0044a818 lw t8, (v0) | t8 = *(v0);
0x0044a81c addiu v0, zero, 2 | v0 = 2;
0x0044a820 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a824 beq t8, v0, 0x44a790 |
| }
0x0044a828 addiu v0, zero, 0x14 | v0 = 0x14;
0x0044a82c lw t9, -0x7234(gp) | t9 = sym.imp.rename;
| if (t8 == v0) {
0x0044a830 beq t8, v0, 0x44a794 | goto label_0;
| }
0x0044a834 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a838 move a2, s0 | a2 = s0;
0x0044a83c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a840 move a3, s4 | a3 = s4;
0x0044a844 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a848 lw a0, (t8) | a0 = *(t8);
| /* str.unable_to_rename__s_to__s_n */
0x0044a84c addiu a1, a1, -0x4eac | a1 += -0x4eac;
0x0044a850 jalr t9 | t9 ();
0x0044a854 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a858 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x0044a85c lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.reason */
0x0044a860 addiu a0, a0, -0x4e90 | a0 += -0x4e90;
0x0044a864 jalr t9 | t9 ();
0x0044a868 move v0, zero | v0 = 0;
0x0044a86c b 0x44a7dc | goto label_1;
| label_5:
0x0044a870 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a874 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044a878 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a87c lw a0, (t8) | a0 = *(t8);
| /* esilref: 'file name too long
' */
0x0044a880 addiu a1, a1, 0x1344 | a1 += 0x1344;
0x0044a884 jalr t9 | t9 ();
0x0044a888 move v0, zero | v0 = 0;
0x0044a88c lw ra, 0x54c(sp) | ra = *(var_54ch);
0x0044a890 lw fp, 0x548(sp) | fp = *(var_548h);
0x0044a894 lw s7, 0x544(sp) | s7 = *(var_544h);
0x0044a898 lw s6, 0x540(sp) | s6 = *(var_540h);
0x0044a89c lw s5, 0x53c(sp) | s5 = *(var_53ch);
0x0044a8a0 lw s4, 0x538(sp) | s4 = *(var_538h);
0x0044a8a4 lw s3, 0x534(sp) | s3 = *(var_534h);
0x0044a8a8 lw s2, 0x530(sp) | s2 = *(var_530h);
0x0044a8ac lw s1, 0x52c(sp) | s1 = *(var_52ch);
0x0044a8b0 lw s0, 0x528(sp) | s0 = *(var_528h);
0x0044a8b4 addiu sp, sp, 0x550 |
0x0044a8b8 jr ra | return v0;
| label_7:
0x0044a8bc lw t9, -0x794c(gp) | t9 = sym.imp.__errno_location;
0x0044a8c0 jalr t9 | t9 ();
0x0044a8c4 nop |
0x0044a8c8 lw t8, (v0) | t8 = *(v0);
0x0044a8cc addiu v0, zero, 2 | v0 = 2;
0x0044a8d0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 == v0) {
0x0044a8d4 beq t8, v0, 0x44a7c0 | goto label_2;
| }
0x0044a8d8 addiu v0, zero, 0x14 | v0 = 0x14;
0x0044a8dc lw t9, -0x7234(gp) | t9 = sym.imp.rename;
| if (t8 == v0) {
0x0044a8e0 beq t8, v0, 0x44a7c4 | goto label_3;
| }
0x0044a8e4 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a8e8 move a2, s3 | a2 = s3;
0x0044a8ec lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a8f0 move a3, fp | a3 = fp;
0x0044a8f4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a8f8 lw a0, (t8) | a0 = *(t8);
| /* str.unable_to_rename__s_to__s_n */
0x0044a8fc addiu a1, a1, -0x4eac | a1 += -0x4eac;
0x0044a900 jalr t9 | t9 ();
0x0044a904 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a908 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x0044a90c lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.reason */
0x0044a910 addiu a0, a0, -0x4e90 | a0 += -0x4e90;
0x0044a914 jalr t9 | t9 ();
0x0044a918 lw gp, 0x18(sp) | gp = *(var_18h);
| label_4:
0x0044a91c lw t9, -0x7234(gp) | t9 = sym.imp.rename;
0x0044a920 move a0, s0 | a0 = s0;
0x0044a924 move a1, s5 | a1 = s5;
0x0044a928 jalr t9 | t9 ();
0x0044a92c lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x0044a930 lw t9, -0x7234(gp) | t9 = sym.imp.rename;
0x0044a934 move a0, s4 | a0 = s4;
0x0044a938 move a1, s0 | a1 = s0;
0x0044a93c jalr t9 | t9 ();
0x0044a940 move v0, zero | v0 = 0;
0x0044a944 lw ra, 0x54c(sp) | ra = *(var_54ch);
0x0044a948 lw fp, 0x548(sp) | fp = *(var_548h);
0x0044a94c lw s7, 0x544(sp) | s7 = *(var_544h);
0x0044a950 lw s6, 0x540(sp) | s6 = *(var_540h);
0x0044a954 lw s5, 0x53c(sp) | s5 = *(var_53ch);
0x0044a958 lw s4, 0x538(sp) | s4 = *(var_538h);
0x0044a95c lw s3, 0x534(sp) | s3 = *(var_534h);
0x0044a960 lw s2, 0x530(sp) | s2 = *(var_530h);
0x0044a964 lw s1, 0x52c(sp) | s1 = *(var_52ch);
0x0044a968 lw s0, 0x528(sp) | s0 = *(var_528h);
0x0044a96c addiu sp, sp, 0x550 |
0x0044a970 jr ra | return v0;
| label_6:
0x0044a974 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a978 move a2, s5 | a2 = s5;
0x0044a97c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a980 move a3, s0 | a3 = s0;
0x0044a984 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a988 lw a0, (t8) | a0 = *(t8);
| /* str.unable_to_rename__s_to__s_n */
0x0044a98c addiu a1, a1, -0x4eac | a1 += -0x4eac;
0x0044a990 jalr t9 | t9 ();
0x0044a994 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a998 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x0044a99c lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.reason */
0x0044a9a0 addiu a0, a0, -0x4e90 | a0 += -0x4e90;
0x0044a9a4 jalr t9 | t9 ();
0x0044a9a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a9ac b 0x44a930 |
| } while (1);
| label_8:
0x0044a9b0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a9b4 addiu a2, sp, 0x220 | a2 = sp + 0x220;
0x0044a9b8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a9bc move a3, s3 | a3 = s3;
0x0044a9c0 lw a0, (t8) | a0 = *(t8);
0x0044a9c4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_rename__s_to__s_n */
0x0044a9c8 addiu a1, a1, -0x4eac | a1 += -0x4eac;
0x0044a9cc jalr t9 | t9 ();
0x0044a9d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a9d4 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x0044a9d8 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.reason */
0x0044a9dc addiu a0, a0, -0x4e90 | a0 += -0x4e90;
0x0044a9e0 jalr t9 | t9 ();
0x0044a9e4 move a0, fp | a0 = fp;
0x0044a9e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a9ec lw t9, -0x7234(gp) | t9 = sym.imp.rename;
0x0044a9f0 move a1, s3 | a1 = s3;
0x0044a9f4 jalr t9 | t9 ();
0x0044a9f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a9fc b 0x44a91c | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449cc4 */
| #include <stdint.h>
|
; (fcn) sym.rotate_serial () | void rotate_serial () {
0x00449cc4 lui gp, 5 |
0x00449cc8 addiu gp, gp, 0x27dc |
0x00449ccc addu gp, gp, t9 | gp += t9;
0x00449cd0 addiu sp, sp, -0x540 |
0x00449cd4 sw ra, 0x53c(sp) | *(var_53ch) = ra;
0x00449cd8 sw s5, 0x538(sp) | *(var_538h) = s5;
0x00449cdc sw s4, 0x534(sp) | *(var_534h) = s4;
0x00449ce0 sw s3, 0x530(sp) | *(var_530h) = s3;
0x00449ce4 sw s2, 0x52c(sp) | *(var_52ch) = s2;
0x00449ce8 sw s1, 0x528(sp) | *(var_528h) = s1;
0x00449cec sw s0, 0x524(sp) | *(var_524h) = s0;
0x00449cf0 move s4, a1 | s4 = a1;
0x00449cf4 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x00449cf8 move s3, a2 | s3 = a2;
0x00449cfc sw gp, 0x18(sp) | *(var_18h) = gp;
0x00449d00 move s0, a0 | s0 = a0;
0x00449d04 jalr t9 | t9 ();
0x00449d08 move a0, s3 | a0 = s3;
0x00449d0c lw gp, 0x18(sp) | gp = *(var_18h);
0x00449d10 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x00449d14 move s1, v0 | s1 = v0;
0x00449d18 jalr t9 | t9 ();
0x00449d1c move a0, s4 | a0 = s4;
0x00449d20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449d24 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x00449d28 addu s2, v0, s1 | s2 = v0 + s1;
0x00449d2c jalr t9 | t9 ();
0x00449d30 addu v0, v0, s1 | v0 += s1;
0x00449d34 slt s1, v0, s2 | s1 = (v0 < s2) ? 1 : 0;
| if (s1 == 0) {
0x00449d38 movn v0, s2, s1 | v0 = s2;
| }
0x00449d3c slti v0, v0, 0xff | v0 = (v0 < 0xff) ? 1 : 0;
0x00449d40 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00449d44 beqz v0, 0x449e50 | goto label_2;
| }
0x00449d48 lw s5, -0x7f9c(gp) | s5 = *(gp);
0x00449d4c addiu s2, sp, 0x20 | s2 = sp + 0x20;
0x00449d50 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x00449d54 move a0, s2 | a0 = s2;
0x00449d58 move a3, s0 | a3 = s0;
0x00449d5c addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s._s */
0x00449d60 addiu a2, s5, -0x4ee0 | a2 = s5 + -0x4ee0;
0x00449d64 addiu s1, sp, 0x120 | s1 = sp + 0x120;
0x00449d68 sw s4, 0x10(sp) | *(var_10h) = s4;
0x00449d6c jalr t9 | t9 ();
0x00449d70 move a0, s1 | a0 = s1;
0x00449d74 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449d78 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s._s */
0x00449d7c addiu a2, s5, -0x4ee0 | a2 = s5 + -0x4ee0;
0x00449d80 move a3, s0 | a3 = s0;
0x00449d84 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x00449d88 sw s3, 0x10(sp) | *(var_10h) = s3;
0x00449d8c jalr t9 | t9 ();
0x00449d90 move a0, s0 | a0 = s0;
0x00449d94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449d98 lw t9, -0x7234(gp) | t9 = sym.imp.rename;
0x00449d9c move a1, s1 | a1 = s1;
0x00449da0 jalr t9 | t9 ();
0x00449da4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449da8 bltz v0, 0x449dec |
| while (t8 == v0) {
0x00449dac lw t9, -0x7234(gp) | t9 = sym.imp.rename;
| label_0:
0x00449db0 move a0, s2 | a0 = s2;
0x00449db4 move a1, s0 | a1 = s0;
0x00449db8 jalr t9 | t9 ();
0x00449dbc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00449dc0 bltz v0, 0x449e90 | goto label_3;
| }
0x00449dc4 addiu v0, zero, 1 | v0 = 1;
| label_1:
0x00449dc8 lw ra, 0x53c(sp) | ra = *(var_53ch);
0x00449dcc lw s5, 0x538(sp) | s5 = *(var_538h);
0x00449dd0 lw s4, 0x534(sp) | s4 = *(var_534h);
0x00449dd4 lw s3, 0x530(sp) | s3 = *(var_530h);
0x00449dd8 lw s2, 0x52c(sp) | s2 = *(var_52ch);
0x00449ddc lw s1, 0x528(sp) | s1 = *(var_528h);
0x00449de0 lw s0, 0x524(sp) | s0 = *(var_524h);
0x00449de4 addiu sp, sp, 0x540 |
0x00449de8 jr ra | return v0;
0x00449dec lw t9, -0x794c(gp) | t9 = sym.imp.__errno_location;
0x00449df0 jalr t9 | t9 ();
0x00449df4 nop |
0x00449df8 lw t8, (v0) | t8 = *(v0);
0x00449dfc addiu v0, zero, 2 | v0 = 2;
0x00449e00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449e04 beq t8, v0, 0x449dac |
| }
0x00449e08 addiu v0, zero, 0x14 | v0 = 0x14;
0x00449e0c lw t9, -0x7234(gp) | t9 = sym.imp.rename;
| if (t8 == v0) {
0x00449e10 beq t8, v0, 0x449db0 | goto label_0;
| }
0x00449e14 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00449e18 move a2, s0 | a2 = s0;
0x00449e1c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449e20 move a3, s1 | a3 = s1;
0x00449e24 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00449e28 lw a0, (t8) | a0 = *(t8);
| /* str.unable_to_rename__s_to__s_n */
0x00449e2c addiu a1, a1, -0x4eac | a1 += -0x4eac;
0x00449e30 jalr t9 | t9 ();
0x00449e34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449e38 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x00449e3c lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.reason */
0x00449e40 addiu a0, a0, -0x4e90 | a0 += -0x4e90;
0x00449e44 jalr t9 | t9 ();
0x00449e48 move v0, zero | v0 = 0;
0x00449e4c b 0x449dc8 | goto label_1;
| label_2:
0x00449e50 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00449e54 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00449e58 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00449e5c lw a0, (t8) | a0 = *(t8);
| /* esilref: 'file name too long
' */
0x00449e60 addiu a1, a1, 0x1344 | a1 += 0x1344;
0x00449e64 jalr t9 | t9 ();
0x00449e68 move v0, zero | v0 = 0;
0x00449e6c lw ra, 0x53c(sp) | ra = *(var_53ch);
0x00449e70 lw s5, 0x538(sp) | s5 = *(var_538h);
0x00449e74 lw s4, 0x534(sp) | s4 = *(var_534h);
0x00449e78 lw s3, 0x530(sp) | s3 = *(var_530h);
0x00449e7c lw s2, 0x52c(sp) | s2 = *(var_52ch);
0x00449e80 lw s1, 0x528(sp) | s1 = *(var_528h);
0x00449e84 lw s0, 0x524(sp) | s0 = *(var_524h);
0x00449e88 addiu sp, sp, 0x540 |
0x00449e8c jr ra | return v0;
| label_3:
0x00449e90 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00449e94 move a2, s2 | a2 = s2;
0x00449e98 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449e9c move a3, s0 | a3 = s0;
0x00449ea0 lw a0, (t8) | a0 = *(t8);
0x00449ea4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unable_to_rename__s_to__s_n */
0x00449ea8 addiu a1, a1, -0x4eac | a1 += -0x4eac;
0x00449eac jalr t9 | t9 ();
0x00449eb0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449eb4 lw a0, -0x7f9c(gp) | a0 = *(gp);
0x00449eb8 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
| /* str.reason */
0x00449ebc addiu a0, a0, -0x4e90 | a0 += -0x4e90;
0x00449ec0 jalr t9 | t9 ();
0x00449ec4 move a0, s1 | a0 = s1;
0x00449ec8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449ecc lw t9, -0x7234(gp) | t9 = sym.imp.rename;
0x00449ed0 move a1, s0 | a1 = s0;
0x00449ed4 jalr t9 | t9 ();
0x00449ed8 move v0, zero | v0 = 0;
0x00449edc lw ra, 0x53c(sp) | ra = *(var_53ch);
0x00449ee0 lw s5, 0x538(sp) | s5 = *(var_538h);
0x00449ee4 lw s4, 0x534(sp) | s4 = *(var_534h);
0x00449ee8 lw s3, 0x530(sp) | s3 = *(var_530h);
0x00449eec lw s2, 0x52c(sp) | s2 = *(var_52ch);
0x00449ef0 lw s1, 0x528(sp) | s1 = *(var_528h);
0x00449ef4 lw s0, 0x524(sp) | s0 = *(var_524h);
0x00449ef8 addiu sp, sp, 0x540 |
0x00449efc jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44a330 */
| #include <stdint.h>
|
; (fcn) sym.save_index () | void save_index () {
0x0044a330 lui gp, 5 |
0x0044a334 addiu gp, gp, 0x2170 |
0x0044a338 addu gp, gp, t9 | gp += t9;
0x0044a33c addiu sp, sp, -0x340 |
0x0044a340 sw ra, 0x33c(sp) | *(var_33ch) = ra;
0x0044a344 sw s6, 0x338(sp) | *(var_338h) = s6;
0x0044a348 sw s5, 0x334(sp) | *(var_334h) = s5;
0x0044a34c sw s4, 0x330(sp) | *(var_330h) = s4;
0x0044a350 sw s3, 0x32c(sp) | *(var_32ch) = s3;
0x0044a354 sw s2, 0x328(sp) | *(var_328h) = s2;
0x0044a358 sw s1, 0x324(sp) | *(var_324h) = s1;
0x0044a35c sw s0, 0x320(sp) | *(var_320h) = s0;
0x0044a360 move s0, a0 | s0 = a0;
0x0044a364 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x0044a368 move s2, a1 | s2 = a1;
0x0044a36c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0044a370 move s4, a2 | s4 = a2;
0x0044a374 jalr t9 | t9 ();
0x0044a378 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a37c lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0044a380 move a0, v0 | a0 = v0;
0x0044a384 jalr t9 | t9 ();
0x0044a388 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a38c move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0044a390 beqz v0, 0x44a5f8 | goto label_1;
| }
0x0044a394 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0044a398 move a0, s0 | a0 = s0;
0x0044a39c jalr t9 | t9 ();
0x0044a3a0 move a0, s2 | a0 = s2;
0x0044a3a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a3a8 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x0044a3ac move s3, v0 | s3 = v0;
0x0044a3b0 jalr t9 | t9 ();
0x0044a3b4 addu v0, v0, s3 | v0 += s3;
0x0044a3b8 slti s3, v0, 0xfa | s3 = (v0 < 0xfa) ? 1 : 0;
0x0044a3bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (s3 == 0) {
0x0044a3c0 beqz s3, 0x44a528 | goto label_2;
| }
0x0044a3c4 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044a3c8 addiu s6, sp, 0x220 | s6 = sp + 0x220;
0x0044a3cc lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x0044a3d0 move a0, s6 | a0 = s6;
0x0044a3d4 move a3, s0 | a3 = s0;
0x0044a3d8 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s.attr */
0x0044a3dc addiu a2, a2, -0x4ddc | a2 += -0x4ddc;
0x0044a3e0 addiu s5, sp, 0x120 | s5 = sp + 0x120;
0x0044a3e4 jalr t9 | t9 ();
0x0044a3e8 move a0, s5 | a0 = s5;
0x0044a3ec lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a3f0 move a3, s0 | a3 = s0;
0x0044a3f4 addiu a1, zero, 0x100 | a1 = 0x100;
0x0044a3f8 addiu s3, sp, 0x20 | s3 = sp + 0x20;
0x0044a3fc lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044a400 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
| /* str._s.attr._s */
0x0044a404 addiu a2, a2, -0x4dd4 | a2 += -0x4dd4;
0x0044a408 sw s2, 0x10(sp) | *(var_10h) = s2;
0x0044a40c jalr t9 | t9 ();
0x0044a410 move a0, s3 | a0 = s3;
0x0044a414 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a418 move a3, s0 | a3 = s0;
0x0044a41c addiu a1, zero, 0x100 | a1 = 0x100;
0x0044a420 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x0044a424 lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
| /* str._s._s */
0x0044a428 addiu a2, a2, -0x4ee0 | a2 += -0x4ee0;
0x0044a42c sw s2, 0x10(sp) | *(var_10h) = s2;
0x0044a430 jalr t9 | t9 ();
0x0044a434 move a0, s1 | a0 = s1;
0x0044a438 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a43c addiu a1, zero, 0x6c | a1 = 0x6c;
0x0044a440 addiu a2, zero, 5 | a2 = 5;
0x0044a444 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044a448 move a3, s3 | a3 = s3;
0x0044a44c jalr t9 | t9 ();
0x0044a450 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x0044a454 blez v0, 0x44a574 | goto label_3;
| }
0x0044a458 lw t9, -0x7004(gp) | t9 = sym.imp.TXT_DB_write;
0x0044a45c move a0, s1 | a0 = s1;
0x0044a460 lw a1, 4(s4) | a1 = *((s4 + 1));
0x0044a464 jalr t9 | t9 ();
0x0044a468 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x0044a46c blez v0, 0x44a5cc | goto label_4;
| }
0x0044a470 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x0044a474 move a0, s1 | a0 = s1;
0x0044a478 jalr t9 | t9 ();
0x0044a47c lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a480 lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x0044a484 jalr t9 | t9 ();
0x0044a488 nop |
0x0044a48c lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a490 lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x0044a494 move a0, v0 | a0 = v0;
0x0044a498 jalr t9 | t9 ();
0x0044a49c addiu a1, zero, 0x6c | a1 = 0x6c;
0x0044a4a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a4a4 move a0, v0 | a0 = v0;
0x0044a4a8 addiu a2, zero, 5 | a2 = 5;
0x0044a4ac move a3, s5 | a3 = s5;
0x0044a4b0 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044a4b4 move s0, v0 | s0 = v0;
0x0044a4b8 jalr t9 | t9 ();
0x0044a4bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x0044a4c0 blez v0, 0x44a610 | goto label_5;
| }
0x0044a4c4 lw t8, (s4) | t8 = *(s4);
0x0044a4c8 lw a2, -0x7fd8(gp) | a2 = *(gp);
| if (t8 != 0) {
0x0044a4cc bnez t8, 0x44a56c | goto label_6;
| }
0x0044a4d0 lw a2, -0x7fd8(gp) | a2 = *(gp);
| /* esilref: 'no' */
0x0044a4d4 addiu a2, a2, -0x1b1c | a2 += -0x1b1c;
| do {
0x0044a4d8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a4dc move a0, s0 | a0 = s0;
0x0044a4e0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.unique_subject___s_n */
0x0044a4e4 addiu a1, a1, -0x4db0 | a1 += -0x4db0;
0x0044a4e8 jalr t9 | t9 ();
0x0044a4ec lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a4f0 lw t9, -0x6e9c(gp) | t9 = sym.imp.BIO_free;
0x0044a4f4 move a0, s0 | a0 = s0;
0x0044a4f8 jalr t9 | t9 ();
0x0044a4fc addiu v0, zero, 1 | v0 = 1;
0x0044a500 lw ra, 0x33c(sp) | ra = *(var_33ch);
0x0044a504 lw s6, 0x338(sp) | s6 = *(var_338h);
0x0044a508 lw s5, 0x334(sp) | s5 = *(var_334h);
0x0044a50c lw s4, 0x330(sp) | s4 = *(var_330h);
0x0044a510 lw s3, 0x32c(sp) | s3 = *(var_32ch);
0x0044a514 lw s2, 0x328(sp) | s2 = *(var_328h);
0x0044a518 lw s1, 0x324(sp) | s1 = *(var_324h);
0x0044a51c lw s0, 0x320(sp) | s0 = *(var_320h);
0x0044a520 addiu sp, sp, 0x340 |
0x0044a524 jr ra | return v0;
| label_2:
0x0044a528 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a52c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044a530 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a534 lw a0, (t8) | a0 = *(t8);
| /* esilref: 'file name too long
' */
0x0044a538 addiu a1, a1, 0x1344 | a1 += 0x1344;
0x0044a53c jalr t9 | t9 ();
0x0044a540 move v0, zero | v0 = 0;
| label_0:
0x0044a544 lw ra, 0x33c(sp) | ra = *(var_33ch);
0x0044a548 lw s6, 0x338(sp) | s6 = *(var_338h);
0x0044a54c lw s5, 0x334(sp) | s5 = *(var_334h);
0x0044a550 lw s4, 0x330(sp) | s4 = *(var_330h);
0x0044a554 lw s3, 0x32c(sp) | s3 = *(var_32ch);
0x0044a558 lw s2, 0x328(sp) | s2 = *(var_328h);
0x0044a55c lw s1, 0x324(sp) | s1 = *(var_324h);
0x0044a560 lw s0, 0x320(sp) | s0 = *(var_320h);
0x0044a564 addiu sp, sp, 0x340 |
0x0044a568 jr ra | return v0;
| /* esilref: 'yes' */
| label_6:
0x0044a56c addiu a2, a2, -0x2180 | a2 += -0x2180;
0x0044a570 b 0x44a4d8 |
| } while (1);
| label_3:
0x0044a574 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x0044a578 move a0, s0 | a0 = s0;
0x0044a57c jalr t9 | t9 ();
0x0044a580 move a2, s0 | a2 = s0;
0x0044a584 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x0044a588 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a58c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044a590 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044a594 lw a0, (t8) | a0 = *(t8);
| /* str.unable_to_open__s_n */
0x0044a598 addiu a1, a1, -0x4dc8 | a1 += -0x4dc8;
0x0044a59c jalr t9 | t9 ();
0x0044a5a0 move v0, zero | v0 = 0;
0x0044a5a4 lw ra, 0x33c(sp) | ra = *(var_33ch);
0x0044a5a8 lw s6, 0x338(sp) | s6 = *(var_338h);
0x0044a5ac lw s5, 0x334(sp) | s5 = *(var_334h);
0x0044a5b0 lw s4, 0x330(sp) | s4 = *(var_330h);
0x0044a5b4 lw s3, 0x32c(sp) | s3 = *(var_32ch);
0x0044a5b8 lw s2, 0x328(sp) | s2 = *(var_328h);
0x0044a5bc lw s1, 0x324(sp) | s1 = *(var_324h);
0x0044a5c0 lw s0, 0x320(sp) | s0 = *(var_320h);
0x0044a5c4 addiu sp, sp, 0x340 |
0x0044a5c8 jr ra | return v0;
| label_4:
0x0044a5cc lw ra, 0x33c(sp) | ra = *(var_33ch);
0x0044a5d0 move v0, zero | v0 = 0;
0x0044a5d4 lw s6, 0x338(sp) | s6 = *(var_338h);
0x0044a5d8 lw s5, 0x334(sp) | s5 = *(var_334h);
0x0044a5dc lw s4, 0x330(sp) | s4 = *(var_330h);
0x0044a5e0 lw s3, 0x32c(sp) | s3 = *(var_32ch);
0x0044a5e4 lw s2, 0x328(sp) | s2 = *(var_328h);
0x0044a5e8 lw s1, 0x324(sp) | s1 = *(var_324h);
0x0044a5ec lw s0, 0x320(sp) | s0 = *(var_320h);
0x0044a5f0 addiu sp, sp, 0x340 |
0x0044a5f4 jr ra | return v0;
| label_1:
0x0044a5f8 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044a5fc lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044a600 lw a0, (t8) | a0 = *(t8);
0x0044a604 jalr t9 | t9 ();
0x0044a608 move v0, zero | v0 = 0;
0x0044a60c b 0x44a544 | goto label_0;
| label_5:
0x0044a610 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x0044a614 move a0, s6 | a0 = s6;
0x0044a618 jalr t9 | t9 ();
0x0044a61c move a2, s6 | a2 = s6;
0x0044a620 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044a624 b 0x44a588 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449a70 */
| #include <stdint.h>
|
; (fcn) sym.save_serial () | void save_serial () {
0x00449a70 lui gp, 5 |
0x00449a74 addiu gp, gp, 0x2a30 |
0x00449a78 addu gp, gp, t9 | gp += t9;
0x00449a7c addiu sp, sp, -0x140 |
0x00449a80 sw ra, 0x13c(sp) | *(var_13ch) = ra;
0x00449a84 sw s4, 0x138(sp) | *(var_138h) = s4;
0x00449a88 sw s3, 0x134(sp) | *(var_134h) = s3;
0x00449a8c sw s2, 0x130(sp) | *(var_130h) = s2;
0x00449a90 sw s1, 0x12c(sp) | *(var_12ch) = s1;
0x00449a94 sw s0, 0x128(sp) | *(var_128h) = s0;
0x00449a98 move s0, a1 | s0 = a1;
0x00449a9c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00449aa0 move s2, a0 | s2 = a0;
0x00449aa4 move s4, a2 | s4 = a2;
0x00449aa8 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x00449aac move s3, a3 | s3 = a3;
| if (a1 == 0) {
0x00449ab0 beqz a1, 0x449c30 | goto label_5;
| }
0x00449ab4 jalr t9 | t9 ();
0x00449ab8 nop |
0x00449abc move a0, s0 | a0 = s0;
0x00449ac0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449ac4 lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x00449ac8 move s1, v0 | s1 = v0;
0x00449acc jalr t9 | t9 ();
0x00449ad0 addu v0, s1, v0 | v0 = s1 + v0;
0x00449ad4 addiu s1, v0, 1 | s1 = v0 + 1;
0x00449ad8 slti s1, s1, 0x100 | s1 = (s1 < 0x100) ? 1 : 0;
0x00449adc lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 == 0) {
0x00449ae0 beqz s1, 0x449bdc | goto label_0;
| }
0x00449ae4 lw a2, -0x7f9c(gp) | a2 = *(gp);
0x00449ae8 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x00449aec lw t9, -0x6ff0(gp) | t9 = sym.imp.BIO_snprintf
0x00449af0 move a0, s1 | a0 = s1;
0x00449af4 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00449af8 addiu a1, zero, 0x100 | a1 = 0x100;
| /* str._s._s */
0x00449afc addiu a2, a2, -0x4ee0 | a2 += -0x4ee0;
0x00449b00 move a3, s2 | a3 = s2;
0x00449b04 jalr t9 | t9 ();
0x00449b08 lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x00449b0c lw t9, -0x78e4(gp) | t9 = sym.imp.BIO_s_file;
0x00449b10 jalr t9 | t9 ();
0x00449b14 nop |
0x00449b18 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449b1c lw t9, -0x7d6c(gp) | t9 = sym.imp.BIO_new;
0x00449b20 move a0, v0 | a0 = v0;
0x00449b24 jalr t9 | t9 ();
0x00449b28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449b2c move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00449b30 beqz v0, 0x449c64 | goto label_6;
| }
0x00449b34 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x00449b38 move a0, v0 | a0 = v0;
0x00449b3c addiu a1, zero, 0x6c | a1 = 0x6c;
0x00449b40 addiu a2, zero, 5 | a2 = 5;
0x00449b44 move a3, s1 | a3 = s1;
0x00449b48 jalr t9 | t9 ();
0x00449b4c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00449b50 blez v0, 0x449c18 | goto label_7;
| }
0x00449b54 lw t9, -0x791c(gp) | t9 = sym.imp.BN_to_ASN1_INTEGER;
0x00449b58 move a0, s4 | a0 = s4;
0x00449b5c move a1, zero | a1 = 0;
0x00449b60 jalr t9 | t9 ();
0x00449b64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449b68 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x00449b6c beqz v0, 0x449c7c | goto label_8;
| }
0x00449b70 lw t9, -0x764c(gp) | t9 = sym.imp.i2a_ASN1_INTEGER;
0x00449b74 move a0, s0 | a0 = s0;
0x00449b78 move a1, v0 | a1 = v0;
0x00449b7c jalr t9 | t9 ();
0x00449b80 move a0, s0 | a0 = s0;
0x00449b84 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449b88 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00449b8c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x00449b90 addiu a1, a1, 0x609c | a1 += 0x609c;
0x00449b94 jalr t9 | t9 ();
0x00449b98 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s3 == 0) {
0x00449b9c beqz s3, 0x449ca0 | goto label_9;
| }
0x00449ba0 sw s1, (s3) | *(s3) = s1;
0x00449ba4 addiu v0, zero, 1 | v0 = 1;
| do {
| label_3:
0x00449ba8 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
0x00449bac move a0, s0 | a0 = s0;
0x00449bb0 sw v0, 0x120(sp) | *(var_120h) = v0;
0x00449bb4 jalr t9 | t9 ();
0x00449bb8 lw v0, 0x120(sp) | v0 = *(var_120h);
| label_4:
0x00449bbc lw ra, 0x13c(sp) | ra = *(var_13ch);
0x00449bc0 lw s4, 0x138(sp) | s4 = *(var_138h);
0x00449bc4 lw s3, 0x134(sp) | s3 = *(var_134h);
0x00449bc8 lw s2, 0x130(sp) | s2 = *(var_130h);
0x00449bcc lw s1, 0x12c(sp) | s1 = *(var_12ch);
0x00449bd0 lw s0, 0x128(sp) | s0 = *(var_128h);
0x00449bd4 addiu sp, sp, 0x140 |
0x00449bd8 jr ra | return v0;
| label_0:
0x00449bdc lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00449be0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00449be4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00449be8 lw a0, (t8) | a0 = *(t8);
| /* esilref: 'file name too long
' */
0x00449bec addiu a1, a1, 0x1344 | a1 += 0x1344;
0x00449bf0 jalr t9 | t9 ();
0x00449bf4 move v0, zero | v0 = 0;
| label_2:
0x00449bf8 lw ra, 0x13c(sp) | ra = *(var_13ch);
0x00449bfc lw s4, 0x138(sp) | s4 = *(var_138h);
0x00449c00 lw s3, 0x134(sp) | s3 = *(var_134h);
0x00449c04 lw s2, 0x130(sp) | s2 = *(var_130h);
0x00449c08 lw s1, 0x12c(sp) | s1 = *(var_12ch);
0x00449c0c lw s0, 0x128(sp) | s0 = *(var_128h);
0x00449c10 addiu sp, sp, 0x140 |
0x00449c14 jr ra | return v0;
| label_7:
0x00449c18 lw t9, -0x72b8(gp) | t9 = sym.imp.perror;
0x00449c1c move a0, s2 | a0 = s2;
0x00449c20 jalr t9 | t9 ();
0x00449c24 move v0, zero | v0 = 0;
0x00449c28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449c2c b 0x449ba8 |
| } while (1);
| label_5:
0x00449c30 jalr t9 | t9 ();
0x00449c34 nop |
0x00449c38 slti v0, v0, 0x100 | v0 = (v0 < 0x100) ? 1 : 0;
0x00449c3c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00449c40 beqz v0, 0x449bdc | goto label_0;
| }
0x00449c44 lw t9, -0x6c38(gp) | t9 = sym.imp.BUF_strlcpy;
0x00449c48 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x00449c4c move a0, s1 | a0 = s1;
0x00449c50 addiu a2, zero, 0x100 | a2 = 0x100;
0x00449c54 move a1, s2 | a1 = s2;
0x00449c58 jalr t9 | t9 ();
0x00449c5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00449c60 b 0x449b0c | goto label_1;
| label_6:
0x00449c64 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00449c68 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00449c6c lw a0, (t8) | a0 = *(t8);
0x00449c70 jalr t9 | t9 ();
0x00449c74 move v0, zero | v0 = 0;
0x00449c78 b 0x449bf8 | goto label_2;
| label_8:
0x00449c7c lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00449c80 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449c84 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00449c88 lw a0, (t8) | a0 = *(t8);
| /* str.error_converting_serial_to_ASN.1_format_n */
0x00449c8c addiu a1, a1, -0x4ed8 | a1 += -0x4ed8;
0x00449c90 jalr t9 | t9 ();
0x00449c94 move v0, zero | v0 = 0;
0x00449c98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449c9c b 0x449ba8 | goto label_3;
| label_9:
0x00449ca0 lw t9, -0x7228(gp) | t9 = sym.imp.BIO_free_all;
0x00449ca4 move a0, s0 | a0 = s0;
0x00449ca8 jalr t9 | t9 ();
0x00449cac lw gp, 0x18(sp) | gp = *(var_18h);
0x00449cb0 lw t9, -0x7b28(gp) | t9 = sym.imp.ASN1_INTEGER_free;
0x00449cb4 move a0, s1 | a0 = s1;
0x00449cb8 jalr t9 | t9 ();
0x00449cbc addiu v0, zero, 1 | v0 = 1;
0x00449cc0 b 0x449bbc | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d2c8 */
| #include <stdint.h>
|
; (fcn) sym.set_cert_key_stuff () | void set_cert_key_stuff () {
0x0044d2c8 lui gp, 5 |
0x0044d2cc addiu gp, gp, -0xe28 |
0x0044d2d0 addu gp, gp, t9 | gp += t9;
0x0044d2d4 addiu sp, sp, -0x30 |
0x0044d2d8 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0044d2dc sw s3, 0x28(sp) | *(var_28h) = s3;
0x0044d2e0 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0044d2e4 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044d2e8 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044d2ec addiu s0, zero, 4 | s0 = 4;
0x0044d2f0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044d2f4 move s2, a3 | s2 = a3;
| if (a3 != 0) {
0x0044d2f8 movz s0, zero, a3 | s0 = 0;
| }
| if (a1 == 0) {
0x0044d2fc beqz a1, 0x44d378 | goto label_2;
| }
0x0044d300 lw t9, -0x7428(gp) | t9 = sym.imp.SSL_CTX_use_certificate;
0x0044d304 move s3, a0 | s3 = a0;
0x0044d308 move s1, a2 | s1 = a2;
0x0044d30c jalr t9 | t9 ();
0x0044d310 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044d314 blez v0, 0x44d424 | goto label_3;
| }
0x0044d318 lw t9, -0x6e70(gp) | t9 = sym.imp.SSL_CTX_use_PrivateKey;
0x0044d31c move a0, s3 | a0 = s3;
0x0044d320 move a1, s1 | a1 = s1;
0x0044d324 jalr t9 | t9 ();
0x0044d328 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044d32c blez v0, 0x44d470 | goto label_4;
| }
0x0044d330 lw t9, -0x71d8(gp) | t9 = sym.imp.SSL_CTX_check_private_key;
0x0044d334 move a0, s3 | a0 = s3;
0x0044d338 jalr t9 | t9 ();
0x0044d33c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d340 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0044d344 beqz v0, 0x44d3ec | goto label_5;
| }
0x0044d348 lw t9, -0x6db4(gp) | t9 = sym.imp.SSL_CTX_ctrl;
| if (s2 != 0) {
0x0044d34c beqz s2, 0x44d36c |
0x0044d350 move a0, s3 | a0 = s3;
0x0044d354 addiu a1, zero, 0x58 | a1 = 0x58;
0x0044d358 addiu a2, zero, 1 | a2 = 1;
0x0044d35c move a3, s2 | a3 = s2;
0x0044d360 jalr t9 | t9 ();
0x0044d364 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044d368 beqz v0, 0x44d488 | goto label_6;
| }
| }
0x0044d36c lw t8, 0x40(sp) | t8 = *(arg_40h);
0x0044d370 lw t9, -0x6db4(gp) | t9 = sym.imp.SSL_CTX_ctrl;
0x0044d374 bnez t8, 0x44d39c |
| while (v0 != 0) {
| label_2:
0x0044d378 addiu s1, zero, 1 | s1 = 1;
0x0044d37c move v0, s1 | v0 = s1;
| label_0:
0x0044d380 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044d384 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044d388 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044d38c lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044d390 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044d394 addiu sp, sp, 0x30 |
0x0044d398 jr ra | return v0;
0x0044d39c move a0, s3 | a0 = s3;
0x0044d3a0 addiu a1, zero, 0x69 | a1 = 0x69;
0x0044d3a4 move a2, s0 | a2 = s0;
0x0044d3a8 move a3, zero | a3 = 0;
0x0044d3ac jalr t9 | t9 ();
0x0044d3b0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d3b4 bnez v0, 0x44d378 |
| }
0x0044d3b8 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x0044d3bc move s1, zero | s1 = 0;
0x0044d3c0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d3c4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d3c8 lw a0, (s0) | a0 = *(s0);
| /* str.error_building_certificate_chain_n */
0x0044d3cc addiu a1, a1, -0x44d0 | a1 += -0x44d0;
0x0044d3d0 jalr t9 | t9 ();
0x0044d3d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d3d8 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044d3dc lw a0, (s0) | a0 = *(s0);
0x0044d3e0 jalr t9 | t9 ();
0x0044d3e4 move v0, s1 | v0 = s1;
0x0044d3e8 b 0x44d380 | goto label_0;
| label_5:
0x0044d3ec lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044d3f0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d3f4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d3f8 lw a0, (t8) | a0 = *(t8);
| /* str.Private_key_does_not_match_the_certificate_public_key_n */
0x0044d3fc addiu a1, a1, -0x4564 | a1 += -0x4564;
0x0044d400 jalr t9 | t9 ();
0x0044d404 move v0, s1 | v0 = s1;
0x0044d408 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044d40c lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044d410 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044d414 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044d418 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044d41c addiu sp, sp, 0x30 |
0x0044d420 jr ra | return v0;
| label_3:
0x0044d424 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x0044d428 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d42c lw a0, (s0) | a0 = *(s0);
0x0044d430 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.error_setting_certificate_n */
0x0044d434 addiu a1, a1, -0x452c | a1 += -0x452c;
| do {
| label_1:
0x0044d438 move s1, zero | s1 = 0;
0x0044d43c jalr t9 | t9 ();
0x0044d440 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d444 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044d448 lw a0, (s0) | a0 = *(s0);
0x0044d44c jalr t9 | t9 ();
0x0044d450 move v0, s1 | v0 = s1;
0x0044d454 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044d458 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044d45c lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044d460 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044d464 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044d468 addiu sp, sp, 0x30 |
0x0044d46c jr ra | return v0;
| label_4:
0x0044d470 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x0044d474 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d478 lw a0, (s0) | a0 = *(s0);
0x0044d47c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.error_setting_private_key_n */
0x0044d480 addiu a1, a1, -0x4510 | a1 += -0x4510;
0x0044d484 b 0x44d438 |
| } while (1);
| label_6:
0x0044d488 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x0044d48c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d490 lw a0, (s0) | a0 = *(s0);
0x0044d494 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.error_setting_certificate_chain_n */
0x0044d498 addiu a1, a1, -0x44f4 | a1 += -0x44f4;
0x0044d49c b 0x44d438 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d170 */
| #include <stdint.h>
|
; (fcn) sym.set_cert_stuff () | void set_cert_stuff () {
0x0044d170 lui gp, 5 |
0x0044d174 addiu gp, gp, -0xcd0 |
0x0044d178 addu gp, gp, t9 | gp += t9;
0x0044d17c addiu sp, sp, -0x28 |
0x0044d180 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0044d184 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0044d188 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0044d18c sw s0, 0x18(sp) | *(var_18h) = s0;
0x0044d190 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044d194 move s1, a1 | s1 = a1;
| if (a1 != 0) {
0x0044d198 beqz a1, 0x44d1f0 |
0x0044d19c lw t9, -0x79f0(gp) | t9 = sym.imp.SSL_CTX_use_certificate_file;
0x0044d1a0 move s0, a2 | s0 = a2;
0x0044d1a4 addiu a2, zero, 1 | a2 = 1;
0x0044d1a8 move s2, a0 | s2 = a0;
0x0044d1ac jalr t9 | t9 ();
0x0044d1b0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044d1b4 blez v0, 0x44d290 | goto label_0;
| }
0x0044d1b8 lw t9, -0x78ec(gp) | t9 = sym.imp.SSL_CTX_use_PrivateKey_file;
| if (s0 != 0) {
0x0044d1bc movz s0, s1, s0 | s0 = s1;
| }
0x0044d1c0 move a0, s2 | a0 = s2;
0x0044d1c4 addiu a2, zero, 1 | a2 = 1;
0x0044d1c8 move a1, s0 | a1 = s0;
0x0044d1cc jalr t9 | t9 ();
0x0044d1d0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0044d1d4 blez v0, 0x44d244 | goto label_1;
| }
0x0044d1d8 lw t9, -0x71d8(gp) | t9 = sym.imp.SSL_CTX_check_private_key;
0x0044d1dc move a0, s2 | a0 = s2;
0x0044d1e0 jalr t9 | t9 ();
0x0044d1e4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d1e8 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044d1ec beqz v0, 0x44d210 | goto label_2;
| }
| }
0x0044d1f0 addiu s0, zero, 1 | s0 = 1;
0x0044d1f4 move v0, s0 | v0 = s0;
| do {
0x0044d1f8 lw ra, 0x24(sp) | ra = *(var_24h);
0x0044d1fc lw s2, 0x20(sp) | s2 = *(var_20h);
0x0044d200 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0044d204 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0044d208 addiu sp, sp, 0x28 |
0x0044d20c jr ra | return v0;
| label_2:
0x0044d210 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044d214 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d218 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d21c lw a0, (t8) | a0 = *(t8);
| /* str.Private_key_does_not_match_the_certificate_public_key_n */
0x0044d220 addiu a1, a1, -0x4564 | a1 += -0x4564;
0x0044d224 jalr t9 | t9 ();
0x0044d228 move v0, s0 | v0 = s0;
0x0044d22c lw ra, 0x24(sp) | ra = *(var_24h);
0x0044d230 lw s2, 0x20(sp) | s2 = *(var_20h);
0x0044d234 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0044d238 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0044d23c addiu sp, sp, 0x28 |
0x0044d240 jr ra | return v0;
| label_1:
0x0044d244 lw s1, -0x7fd4(gp) | s1 = *(gp);
0x0044d248 move a2, s0 | a2 = s0;
0x0044d24c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d250 move s0, zero | s0 = 0;
0x0044d254 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d258 lw a0, (s1) | a0 = *(s1);
| /* str.unable_to_get_private_key_from__s_n */
0x0044d25c addiu a1, a1, -0x458c | a1 += -0x458c;
0x0044d260 jalr t9 | t9 ();
0x0044d264 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d268 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044d26c lw a0, (s1) | a0 = *(s1);
0x0044d270 jalr t9 | t9 ();
0x0044d274 move v0, s0 | v0 = s0;
0x0044d278 lw ra, 0x24(sp) | ra = *(var_24h);
0x0044d27c lw s2, 0x20(sp) | s2 = *(var_20h);
0x0044d280 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0044d284 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0044d288 addiu sp, sp, 0x28 |
0x0044d28c jr ra | return v0;
| label_0:
0x0044d290 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x0044d294 move a2, s1 | a2 = s1;
0x0044d298 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d29c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d2a0 lw a0, (s0) | a0 = *(s0);
| /* str.unable_to_get_certificate_from__s_n */
0x0044d2a4 addiu a1, a1, -0x45b4 | a1 += -0x45b4;
0x0044d2a8 jalr t9 | t9 ();
0x0044d2ac lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d2b0 lw a0, (s0) | a0 = *(s0);
0x0044d2b4 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x0044d2b8 move s0, zero | s0 = 0;
0x0044d2bc jalr t9 | t9 ();
0x0044d2c0 move v0, s0 | v0 = s0;
0x0044d2c4 b 0x44d1f8 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x4193a4 */
| #include <stdint.h>
|
; (fcn) sym.set_hex () | void set_hex () {
0x004193a4 lui gp, 8 |
0x004193a8 addiu gp, gp, 0x30fc |
0x004193ac addu gp, gp, t9 | gp += t9;
0x004193b0 addiu sp, sp, -0x30 |
0x004193b4 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x004193b8 sw s3, 0x28(sp) | *(var_28h) = s3;
0x004193bc sw s2, 0x24(sp) | *(var_24h) = s2;
0x004193c0 sw s1, 0x20(sp) | *(var_20h) = s1;
0x004193c4 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x004193c8 move s3, a2 | s3 = a2;
0x004193cc lw t9, -0x7cf8(gp) | t9 = sym.imp.strlen;
0x004193d0 move s1, a0 | s1 = a0;
0x004193d4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x004193d8 move s0, a1 | s0 = a1;
0x004193dc jalr t9 | t9 ();
0x004193e0 sll t8, s3, 1 | t8 = s3 << 1;
0x004193e4 slt t8, t8, v0 | t8 = (t8 < v0) ? 1 : 0;
0x004193e8 lw gp, 0x10(sp) | gp = *(var_10h);
0x004193ec move s2, v0 | s2 = v0;
| if (t8 != 0) {
0x004193f0 bnez t8, 0x4194d0 | goto label_2;
| }
0x004193f4 lw t9, -0x6f0c(gp) | t9 = sym.imp.memset;
0x004193f8 move a0, s0 | a0 = s0;
0x004193fc move a1, zero | a1 = 0;
0x00419400 move a2, s3 | a2 = s3;
0x00419404 jalr t9 | t9 ();
0x00419408 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 <= 0) {
0x0041940c blez s2, 0x4194a0 | goto label_3;
| }
0x00419410 lbu t8, (s1) | t8 = *(s1);
0x00419414 addiu a2, s1, 1 | a2 = s1 + 1;
0x00419418 sb zero, (s1) | *(s1) = 0;
| if (t8 == 0) {
0x0041941c beqz t8, 0x4194a0 | goto label_3;
| }
0x00419420 addu v0, s1, s2 | v0 = s1 + s2;
0x00419424 move v1, zero | v1 = 0;
0x00419428 b 0x419450 |
| while (t8 != 0) {
0x0041942c lbu t8, (t0) | t8 = *(t0);
0x00419430 addiu v1, v1, 1 | v1++;
0x00419434 or a3, a3, t8 | a3 |= t8;
0x00419438 sb a3, (t0) | *(t0) = a3;
| if (a2 == v0) {
0x0041943c beq a2, v0, 0x4194a0 | goto label_3;
| }
| label_0:
0x00419440 lbu t8, (a2) | t8 = *(a2);
0x00419444 addiu a2, a2, 1 | a2++;
0x00419448 sb zero, -1(a2) | *((a2 - 1)) = 0;
| if (t8 == 0) {
0x0041944c beqz t8, 0x4194a0 | goto label_3;
| }
0x00419450 addiu a3, t8, -0x30 | a3 = t8 + -0x30;
0x00419454 addiu t0, t8, -0x41 | t0 = t8 + -0x41;
0x00419458 andi a3, a3, 0xff | a3 &= 0xff;
0x0041945c sltiu a1, a3, 0xa | a1 = (a3 < 0xa) ? 1 : 0;
0x00419460 sltiu t0, t0, 6 | t0 = (t0 < 6) ? 1 : 0;
| if (a1 == 0) {
0x00419464 bnez a1, 0x419480 |
0x00419468 addiu a0, t8, -0x61 | a0 = t8 + -0x61;
0x0041946c addiu a3, t8, -0x37 | a3 = t8 + -0x37;
0x00419470 sltiu a0, a0, 6 | a0 = (a0 < 6) ? 1 : 0;
0x00419474 addiu t8, t8, -0x57 | t8 += -0x57;
| if (t0 == 0) {
0x00419478 beqz t0, 0x4194c0 | goto label_4;
| }
0x0041947c andi a3, a3, 0xff | a3 &= 0xff;
| }
| label_1:
0x00419480 sra t8, v1, 1 | t8 = v1 >> 1;
0x00419484 addu t0, s0, t8 | t0 = s0 + t8;
0x00419488 andi t8, v1, 1 | t8 = v1 & 1;
0x0041948c sll t1, a3, 4 | t1 = a3 << 4;
0x00419490 bnez t8, 0x41942c |
| }
0x00419494 sb t1, (t0) | *(t0) = t1;
0x00419498 addiu v1, v1, 1 | v1++;
| if (a2 != v0) {
0x0041949c bne a2, v0, 0x419440 | goto label_0;
| }
| label_3:
0x004194a0 addiu v0, zero, 1 | v0 = 1;
| do {
0x004194a4 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x004194a8 lw s3, 0x28(sp) | s3 = *(var_28h);
0x004194ac lw s2, 0x24(sp) | s2 = *(var_24h);
0x004194b0 lw s1, 0x20(sp) | s1 = *(var_20h);
0x004194b4 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x004194b8 addiu sp, sp, 0x30 |
0x004194bc jr ra | return v0;
| label_4:
0x004194c0 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (a0 != 0) {
0x004194c4 beqz a0, 0x419508 |
0x004194c8 andi a3, t8, 0xff | a3 = t8 & 0xff;
0x004194cc b 0x419480 | goto label_1;
| label_2:
0x004194d0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x004194d4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004194d8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004194dc lw a0, (t8) | a0 = *(t8);
| /* str.hex_string_is_too_long_n */
0x004194e0 addiu a1, a1, -0xce4 | a1 += -0xce4;
0x004194e4 jalr t9 | t9 ();
0x004194e8 move v0, zero | v0 = 0;
0x004194ec lw ra, 0x2c(sp) | ra = *(var_2ch);
0x004194f0 lw s3, 0x28(sp) | s3 = *(var_28h);
0x004194f4 lw s2, 0x24(sp) | s2 = *(var_24h);
0x004194f8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x004194fc lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00419500 addiu sp, sp, 0x30 |
0x00419504 jr ra | return v0;
| }
0x00419508 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041950c lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00419510 lw a0, (t8) | a0 = *(t8);
| /* str.non_hex_digit_n */
0x00419514 addiu a1, a1, -0xccc | a1 += -0xccc;
0x00419518 jalr t9 | t9 ();
0x0041951c move v0, zero | v0 = 0;
0x00419520 b 0x4194a4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449628 */
| #include <stdint.h>
|
; (fcn) sym.setup_engine () | void setup_engine () {
0x00449628 lui gp, 5 |
0x0044962c addiu gp, gp, 0x2e78 |
0x00449630 addu gp, gp, t9 | gp += t9;
0x00449634 addiu sp, sp, -0x38 |
0x00449638 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0044963c sw s3, 0x30(sp) | *(var_30h) = s3;
0x00449640 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00449644 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00449648 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0044964c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00449650 move s1, a1 | s1 = a1;
| if (a1 == 0) {
0x00449654 beqz a1, 0x4497f0 | goto label_2;
| }
0x00449658 move s2, a0 | s2 = a0;
0x0044965c lw t9, -0x6e78(gp) | t9 = sym.imp.strcmp;
0x00449660 move a0, a1 | a0 = a1;
0x00449664 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449668 move s3, a2 | s3 = a2;
| /* str.auto */
0x0044966c addiu a1, a1, -0x4f94 | a1 += -0x4f94;
0x00449670 jalr t9 | t9 ();
0x00449674 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00449678 beqz v0, 0x449810 | goto label_3;
| }
0x0044967c lw t9, -0x7424(gp) | t9 = sym.imp.ENGINE_by_id;
0x00449680 move a0, s1 | a0 = s1;
0x00449684 jalr t9 | t9 ();
0x00449688 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044968c move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00449690 beqz v0, 0x44974c | goto label_4;
| }
| label_0:
0x00449694 lw t9, -0x7d60(gp) | t9 = sym.imp.ENGINE_ctrl;
0x00449698 bnez s3, 0x44972c |
| while (1) {
0x0044969c lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
0x004496a0 move a0, s0 | a0 = s0;
0x004496a4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004496a8 move a2, zero | a2 = 0;
0x004496ac lw t9, -0x7c28(gp) | t9 = sym.imp.ENGINE_ctrl_cmd;
0x004496b0 lw a3, 0x667c(t8) | a3 = *((t8 + 6559));
0x004496b4 addiu t8, zero, 1 | t8 = 1;
| /* str.SET_USER_INTERFACE */
0x004496b8 addiu a1, a1, -0x4f54 | a1 += -0x4f54;
0x004496bc sw t8, 0x14(sp) | *(var_14h) = t8;
0x004496c0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x004496c4 jalr t9 | t9 ();
0x004496c8 move a0, s0 | a0 = s0;
0x004496cc lw gp, 0x18(sp) | gp = *(var_18h);
0x004496d0 lw t9, -0x6f10(gp) | t9 = sym.imp.ENGINE_set_default;
0x004496d4 ori a1, zero, 0xffff | a1 = 0xffff;
0x004496d8 jalr t9 | t9 ();
0x004496dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x004496e0 beqz v0, 0x44983c | goto label_5;
| }
0x004496e4 lw t9, -0x78e8(gp) | t9 = sym.imp.ENGINE_get_id;
0x004496e8 move a0, s0 | a0 = s0;
0x004496ec jalr t9 | t9 ();
0x004496f0 move a0, s2 | a0 = s2;
0x004496f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004496f8 move a2, v0 | a2 = v0;
0x004496fc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449700 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.engine___s__set._n */
0x00449704 addiu a1, a1, -0x4f28 | a1 += -0x4f28;
0x00449708 jalr t9 | t9 ();
0x0044970c move v0, s0 | v0 = s0;
| label_1:
0x00449710 lw ra, 0x34(sp) | ra = *(var_34h);
0x00449714 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00449718 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0044971c lw s1, 0x28(sp) | s1 = *(var_28h);
0x00449720 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00449724 addiu sp, sp, 0x38 |
0x00449728 jr ra | return v0;
0x0044972c move a0, s0 | a0 = s0;
0x00449730 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00449734 addiu a1, zero, 1 | a1 = 1;
0x00449738 move a2, zero | a2 = 0;
0x0044973c move a3, s2 | a3 = s2;
0x00449740 jalr t9 | t9 ();
0x00449744 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449748 b 0x44969c |
| }
| label_4:
0x0044974c lw a0, -0x7f9c(gp) | a0 = *(gp);
0x00449750 lw t9, -0x7424(gp) | t9 = sym.imp.ENGINE_by_id;
| /* str.dynamic */
0x00449754 addiu a0, a0, -0x4f6c | a0 += -0x4f6c;
0x00449758 jalr t9 | t9 ();
0x0044975c lw gp, 0x18(sp) | gp = *(var_18h);
0x00449760 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x00449764 beqz v0, 0x4497c0 | goto label_6;
| }
0x00449768 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044976c move a0, v0 | a0 = v0;
0x00449770 lw t9, -0x7530(gp) | t9 = sym.imp.ENGINE_ctrl_cmd_string;
0x00449774 move a2, s1 | a2 = s1;
| /* str.SO_PATH */
0x00449778 addiu a1, a1, -0x4f64 | a1 += -0x4f64;
0x0044977c move a3, zero | a3 = 0;
0x00449780 jalr t9 | t9 ();
0x00449784 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00449788 beqz v0, 0x4497b0 | goto label_7;
| }
0x0044978c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449790 move a0, s0 | a0 = s0;
0x00449794 lw t9, -0x7530(gp) | t9 = sym.imp.ENGINE_ctrl_cmd_string;
0x00449798 move a2, zero | a2 = 0;
| /* str.LOAD */
0x0044979c addiu a1, a1, -0x4f5c | a1 += -0x4f5c;
0x004497a0 move a3, zero | a3 = 0;
0x004497a4 jalr t9 | t9 ();
0x004497a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x004497ac bnez v0, 0x449694 | goto label_0;
| }
| label_7:
0x004497b0 lw t9, -0x7cdc(gp) | t9 = sym.imp.ENGINE_free;
0x004497b4 move a0, s0 | a0 = s0;
0x004497b8 jalr t9 | t9 ();
0x004497bc lw gp, 0x18(sp) | gp = *(var_18h);
| label_6:
0x004497c0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x004497c4 move a0, s2 | a0 = s2;
0x004497c8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004497cc move a2, s1 | a2 = s1;
| /* str.invalid_engine___s__n */
0x004497d0 addiu a1, a1, -0x4f14 | a1 += -0x4f14;
0x004497d4 jalr t9 | t9 ();
0x004497d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x004497dc lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x004497e0 move a0, s2 | a0 = s2;
0x004497e4 jalr t9 | t9 ();
0x004497e8 move v0, zero | v0 = 0;
0x004497ec b 0x449710 | goto label_1;
| label_2:
0x004497f0 lw ra, 0x34(sp) | ra = *(var_34h);
0x004497f4 move v0, zero | v0 = 0;
0x004497f8 lw s3, 0x30(sp) | s3 = *(var_30h);
0x004497fc lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00449800 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00449804 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00449808 addiu sp, sp, 0x38 |
0x0044980c jr ra | return v0;
| label_3:
0x00449810 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449814 move a0, s2 | a0 = s2;
0x00449818 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.enabling_auto_ENGINE_support_n */
0x0044981c addiu a1, a1, -0x4f8c | a1 += -0x4f8c;
0x00449820 jalr t9 | t9 ();
0x00449824 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449828 lw t9, -0x6d5c(gp) | t9 = sym.imp.ENGINE_register_all_complete;
0x0044982c jalr t9 | t9 ();
0x00449830 nop |
0x00449834 move v0, zero | v0 = 0;
0x00449838 b 0x449710 | goto label_1;
| label_5:
0x0044983c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x00449840 move a0, s2 | a0 = s2;
0x00449844 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.cant_use_that_engine_n */
0x00449848 addiu a1, a1, -0x4f40 | a1 += -0x4f40;
0x0044984c jalr t9 | t9 ();
0x00449850 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449854 lw t9, -0x7048(gp) | t9 = sym.imp.ERR_print_errors;
0x00449858 move a0, s2 | a0 = s2;
0x0044985c jalr t9 | t9 ();
0x00449860 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449864 lw t9, -0x7cdc(gp) | t9 = sym.imp.ENGINE_free;
0x00449868 move a0, s0 | a0 = s0;
0x0044986c jalr t9 | t9 ();
0x00449870 move v0, zero | v0 = 0;
0x00449874 b 0x449710 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x449484 */
| #include <stdint.h>
|
; (fcn) sym.setup_verify () | void setup_verify () {
0x00449484 lui gp, 5 |
0x00449488 addiu gp, gp, 0x301c |
0x0044948c addu gp, gp, t9 | gp += t9;
0x00449490 addiu sp, sp, -0x38 |
0x00449494 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00449498 sw s3, 0x30(sp) | *(var_30h) = s3;
0x0044949c sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x004494a0 sw s1, 0x28(sp) | *(var_28h) = s1;
0x004494a4 sw s0, 0x24(sp) | *(var_24h) = s0;
0x004494a8 move s3, a0 | s3 = a0;
0x004494ac lw t9, -0x70d4(gp) | t9 = sym.imp.X509_STORE_new;
0x004494b0 move s1, a1 | s1 = a1;
0x004494b4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004494b8 move s2, a2 | s2 = a2;
0x004494bc jalr t9 | t9 ();
0x004494c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x004494c4 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x004494c8 beqz v0, 0x4495dc | goto label_1;
| }
0x004494cc lw t9, -0x6db0(gp) | t9 = sym.imp.X509_LOOKUP_file;
0x004494d0 jalr t9 | t9 ();
0x004494d4 nop |
0x004494d8 move a0, s0 | a0 = s0;
0x004494dc lw gp, 0x18(sp) | gp = *(var_18h);
0x004494e0 lw t9, -0x7284(gp) | t9 = sym.imp.X509_STORE_add_lookup;
0x004494e4 move a1, v0 | a1 = v0;
0x004494e8 jalr t9 | t9 ();
0x004494ec lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x004494f0 beqz v0, 0x4495dc | goto label_1;
| }
0x004494f4 lw t9, -0x7ae4(gp) | t9 = sym.imp.X509_LOOKUP_ctrl;
0x004494f8 move a0, v0 | a0 = v0;
0x004494fc sw zero, 0x10(sp) | *(var_10h) = 0;
0x00449500 addiu a1, zero, 1 | a1 = 1;
| if (s1 == 0) {
0x00449504 beqz s1, 0x449598 | goto label_2;
| }
0x00449508 move a2, s1 | a2 = s1;
0x0044950c addiu a3, zero, 1 | a3 = 1;
0x00449510 jalr t9 | t9 ();
0x00449514 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00449518 beqz v0, 0x4495c0 | goto label_3;
| }
| do {
0x0044951c lw t9, -0x7608(gp) | t9 = sym.imp.X509_LOOKUP_hash_dir;
0x00449520 jalr t9 | t9 ();
0x00449524 nop |
0x00449528 move a0, s0 | a0 = s0;
0x0044952c lw gp, 0x18(sp) | gp = *(var_18h);
0x00449530 lw t9, -0x7284(gp) | t9 = sym.imp.X509_STORE_add_lookup;
0x00449534 move a1, v0 | a1 = v0;
0x00449538 jalr t9 | t9 ();
0x0044953c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00449540 beqz v0, 0x4495dc | goto label_1;
| }
0x00449544 lw t9, -0x7ae4(gp) | t9 = sym.imp.X509_LOOKUP_ctrl;
0x00449548 move a0, v0 | a0 = v0;
0x0044954c sw zero, 0x10(sp) | *(var_10h) = 0;
0x00449550 addiu a1, zero, 2 | a1 = 2;
| if (s2 == 0) {
0x00449554 beqz s2, 0x4495ac | goto label_4;
| }
0x00449558 move a2, s2 | a2 = s2;
0x0044955c addiu a3, zero, 1 | a3 = 1;
0x00449560 jalr t9 | t9 ();
0x00449564 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00449568 beqz v0, 0x449608 | goto label_5;
| }
| label_0:
0x0044956c lw t9, -0x7464(gp) | t9 = sym.imp.ERR_clear_error;
0x00449570 jalr t9 | t9 ();
0x00449574 nop |
0x00449578 move v0, s0 | v0 = s0;
0x0044957c lw ra, 0x34(sp) | ra = *(var_34h);
0x00449580 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00449584 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00449588 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0044958c lw s0, 0x24(sp) | s0 = *(var_24h);
0x00449590 addiu sp, sp, 0x38 |
0x00449594 jr ra | return v0;
| label_2:
0x00449598 move a2, zero | a2 = 0;
0x0044959c addiu a3, zero, 3 | a3 = 3;
0x004495a0 jalr t9 | t9 ();
0x004495a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004495a8 b 0x44951c |
| } while (1);
| label_4:
0x004495ac move a2, zero | a2 = 0;
0x004495b0 addiu a3, zero, 3 | a3 = 3;
0x004495b4 jalr t9 | t9 ();
0x004495b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x004495bc b 0x44956c | goto label_0;
| label_3:
0x004495c0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x004495c4 move a0, s3 | a0 = s3;
0x004495c8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x004495cc move a2, s1 | a2 = s1;
| /* str.Error_loading_file__s_n */
0x004495d0 addiu a1, a1, -0x3454 | a1 += -0x3454;
0x004495d4 jalr t9 | t9 ();
0x004495d8 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_1:
0x004495dc lw t9, -0x7518(gp) | t9 = sym.imp.X509_STORE_free;
0x004495e0 move a0, s0 | a0 = s0;
0x004495e4 jalr t9 | t9 ();
0x004495e8 move v0, zero | v0 = 0;
0x004495ec lw ra, 0x34(sp) | ra = *(var_34h);
0x004495f0 lw s3, 0x30(sp) | s3 = *(var_30h);
0x004495f4 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x004495f8 lw s1, 0x28(sp) | s1 = *(var_28h);
0x004495fc lw s0, 0x24(sp) | s0 = *(var_24h);
0x00449600 addiu sp, sp, 0x38 |
0x00449604 jr ra | return v0;
| label_5:
0x00449608 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044960c move a0, s3 | a0 = s3;
0x00449610 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x00449614 move a2, s2 | a2 = s2;
| /* str.Error_loading_directory__s_n */
0x00449618 addiu a1, a1, -0x343c | a1 += -0x343c;
0x0044961c jalr t9 | t9 ();
0x00449620 lw gp, 0x18(sp) | gp = *(var_18h);
0x00449624 b 0x4495dc |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44daa8 */
| #include <stdint.h>
|
; (fcn) sym.ssl_print_curves () | void ssl_print_curves () {
0x0044daa8 lui gp, 5 |
0x0044daac addiu gp, gp, -0x1608 |
0x0044dab0 addu gp, gp, t9 | gp += t9;
0x0044dab4 addiu sp, sp, -0x48 |
0x0044dab8 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0044dabc sw fp, 0x40(sp) | *(var_40h) = fp;
0x0044dac0 sw s7, 0x3c(sp) | *(var_3ch) = s7;
0x0044dac4 sw s6, 0x38(sp) | *(var_38h) = s6;
0x0044dac8 sw s5, 0x34(sp) | *(var_34h) = s5;
0x0044dacc sw s4, 0x30(sp) | *(var_30h) = s4;
0x0044dad0 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0044dad4 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0044dad8 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0044dadc sw s0, 0x20(sp) | *(var_20h) = s0;
0x0044dae0 move s4, a1 | s4 = a1;
0x0044dae4 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044dae8 move s0, a0 | s0 = a0;
0x0044daec sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044daf0 addiu a1, zero, 0x5a | a1 = 0x5a;
0x0044daf4 sw a2, 0x50(sp) | *(arg_50h) = a2;
0x0044daf8 move a3, zero | a3 = 0;
0x0044dafc move a0, s4 | a0 = s4;
0x0044db00 move a2, zero | a2 = 0;
0x0044db04 jalr t9 | t9 ();
0x0044db08 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044db0c move s3, v0 | s3 = v0;
| if (v0 <= 0) {
0x0044db10 blez v0, 0x44dd6c | goto label_4;
| }
0x0044db14 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044db18 sll a0, v0, 2 | a0 = v0 << 2;
0x0044db1c lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
0x0044db20 addiu a2, zero, 0x1cb | a2 = 0x1cb;
| /* str.s_cb.c */
0x0044db24 addiu a1, a1, -0x436c | a1 += -0x436c;
0x0044db28 jalr t9 | t9 ();
0x0044db2c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044db30 sw v0, 0x18(sp) | *(var_18h) = v0;
| if (v0 == 0) {
0x0044db34 beqz v0, 0x44ddc8 | goto label_5;
| }
0x0044db38 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044db3c move a2, zero | a2 = 0;
0x0044db40 lw a3, 0x18(sp) | a3 = *(var_18h);
0x0044db44 move a0, s4 | a0 = s4;
0x0044db48 addiu a1, zero, 0x5a | a1 = 0x5a;
0x0044db4c lw s6, -0x7fd8(gp) | s6 = *(gp);
0x0044db50 move s1, zero | s1 = 0;
0x0044db54 jalr t9 | t9 ();
0x0044db58 move a0, s0 | a0 = s0;
0x0044db5c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044db60 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044db64 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Supported_Elliptic_Curves:_ */
0x0044db68 addiu a1, a1, -0x433c | a1 += -0x433c;
0x0044db6c jalr t9 | t9 ();
0x0044db70 lui v0, 0x100 | v0 = 0x1000000;
0x0044db74 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044db78 move a0, s0 | a0 = s0;
0x0044db7c lw s2, 0x18(sp) | s2 = *(var_18h);
0x0044db80 lw s5, -0x7f9c(gp) | s5 = *(gp);
0x0044db84 lw fp, (s2) | fp = *(s2);
0x0044db88 lw s7, -0x7f9c(gp) | s7 = *(gp);
| /* str.0x_04X */
0x0044db8c addiu s5, s5, -0x4320 | s5 += -0x4320;
0x0044db90 and v0, fp, v0 | v0 = fp & v0;
0x0044db94 lw t9, -0x6d10(gp) | t9 = sym.imp.EC_curve_nid2nist;
| /* esilref: '&s' */
0x0044db98 addiu s7, s7, -0x4dcc | s7 += -0x4dcc;
0x0044db9c move a1, s5 | a1 = s5;
0x0044dba0 lw v1, -0x780c(gp) | v1 = sym.imp.BIO_printf
0x0044dba4 andi a2, fp, 0xffff | a2 = fp & 0xffff;
| if (v0 == 0) {
0x0044dba8 beqz v0, 0x44dc08 | goto label_6;
| }
| do {
0x0044dbac move t9, v1 | t9 = v1;
0x0044dbb0 addiu s1, s1, 1 | s1++;
0x0044dbb4 jalr t9 | t9 ();
0x0044dbb8 move a0, s0 | a0 = s0;
0x0044dbbc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dbc0 addiu a1, s6, -0x824 | a1 = s6 + -0x824;
0x0044dbc4 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (s1 == s3) {
0x0044dbc8 beq s1, s3, 0x44dc44 | goto label_7;
| }
| if (s1 != 0) {
| label_0:
0x0044dbcc beqz s1, 0x44dbe0 |
0x0044dbd0 nop |
0x0044dbd4 jalr t9 | t9 ();
0x0044dbd8 nop |
0x0044dbdc lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0044dbe0 addiu s2, s2, 4 | s2 += 4;
0x0044dbe4 lui v0, 0x100 | v0 = 0x1000000;
0x0044dbe8 lw fp, (s2) | fp = *(s2);
0x0044dbec move a0, s0 | a0 = s0;
0x0044dbf0 lw t9, -0x6d10(gp) | t9 = sym.imp.EC_curve_nid2nist;
0x0044dbf4 move a1, s5 | a1 = s5;
0x0044dbf8 and v0, fp, v0 | v0 = fp & v0;
0x0044dbfc lw v1, -0x780c(gp) | v1 = sym.imp.BIO_printf
0x0044dc00 andi a2, fp, 0xffff | a2 = fp & 0xffff;
0x0044dc04 bnez v0, 0x44dbac |
| } while (v0 != 0);
| label_6:
0x0044dc08 move a0, fp | a0 = fp;
0x0044dc0c jalr t9 | t9 ();
0x0044dc10 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044dc14 beqz v0, 0x44ddb4 | goto label_8;
| }
| label_2:
0x0044dc18 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044dc1c move a0, s0 | a0 = s0;
0x0044dc20 move a1, s7 | a1 = s7;
0x0044dc24 addiu s1, s1, 1 | s1++;
0x0044dc28 move a2, v0 | a2 = v0;
0x0044dc2c jalr t9 | t9 ();
0x0044dc30 move a0, s0 | a0 = s0;
0x0044dc34 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dc38 addiu a1, s6, -0x824 | a1 = s6 + -0x824;
0x0044dc3c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (s1 != s3) {
0x0044dc40 bne s1, s3, 0x44dbcc | goto label_0;
| }
| label_7:
0x0044dc44 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044dc48 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044dc4c jalr t9 | t9 ();
0x0044dc50 lw t8, 0x50(sp) | t8 = *(arg_50h);
0x0044dc54 lw gp, 0x10(sp) | gp = *(var_10h);
| if (t8 != 0) {
0x0044dc58 bnez t8, 0x44dd24 | goto label_3;
| }
0x0044dc5c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044dc60 move a0, s0 | a0 = s0;
0x0044dc64 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str._nShared_Elliptic_curves:_ */
0x0044dc68 addiu a1, a1, -0x4318 | a1 += -0x4318;
0x0044dc6c jalr t9 | t9 ();
0x0044dc70 move a0, s4 | a0 = s4;
0x0044dc74 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dc78 addiu a1, zero, 0x5d | a1 = 0x5d;
0x0044dc7c addiu a2, zero, -1 | a2 = -1;
0x0044dc80 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044dc84 move a3, zero | a3 = 0;
0x0044dc88 jalr t9 | t9 ();
0x0044dc8c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dc90 move s3, v0 | s3 = v0;
| if (v0 <= 0) {
0x0044dc94 blez v0, 0x44dde4 | goto label_9;
| }
0x0044dc98 lw s6, -0x7f9c(gp) | s6 = *(gp);
0x0044dc9c move s1, zero | s1 = 0;
0x0044dca0 lw s5, -0x7fd8(gp) | s5 = *(gp);
| /* esilref: '&s' */
0x0044dca4 addiu s6, s6, -0x4dcc | s6 += -0x4dcc;
0x0044dca8 addiu s5, s5, -0x824 | s5 += -0x824;
0x0044dcac b 0x44dcc4 |
| if (s1 != 0) {
| while (s1 != s3) {
0x0044dcb0 beqz s1, 0x44dcc4 |
0x0044dcb4 nop |
0x0044dcb8 jalr t9 | t9 ();
0x0044dcbc nop |
0x0044dcc0 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0044dcc4 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044dcc8 move a2, s1 | a2 = s1;
0x0044dccc move a0, s4 | a0 = s4;
0x0044dcd0 move a3, zero | a3 = 0;
0x0044dcd4 addiu a1, zero, 0x5d | a1 = 0x5d;
0x0044dcd8 addiu s1, s1, 1 | s1++;
0x0044dcdc jalr t9 | t9 ();
0x0044dce0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dce4 move a0, v0 | a0 = v0;
0x0044dce8 lw t9, -0x6d10(gp) | t9 = sym.imp.EC_curve_nid2nist;
0x0044dcec move s2, v0 | s2 = v0;
0x0044dcf0 jalr t9 | t9 ();
0x0044dcf4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044dcf8 beqz v0, 0x44dda0 | goto label_10;
| }
| label_1:
0x0044dcfc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044dd00 move a0, s0 | a0 = s0;
0x0044dd04 move a1, s6 | a1 = s6;
0x0044dd08 move a2, v0 | a2 = v0;
0x0044dd0c jalr t9 | t9 ();
0x0044dd10 move a0, s0 | a0 = s0;
0x0044dd14 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dd18 move a1, s5 | a1 = s5;
0x0044dd1c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044dd20 bne s1, s3, 0x44dcb0 |
| }
| label_3:
0x0044dd24 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044dd28 move a0, s0 | a0 = s0;
0x0044dd2c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044dd30 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044dd34 jalr t9 | t9 ();
0x0044dd38 addiu v0, zero, 1 | v0 = 1;
| do {
0x0044dd3c lw ra, 0x44(sp) | ra = *(var_44h);
0x0044dd40 lw fp, 0x40(sp) | fp = *(var_40h);
0x0044dd44 lw s7, 0x3c(sp) | s7 = *(var_3ch);
0x0044dd48 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0044dd4c lw s5, 0x34(sp) | s5 = *(var_34h);
0x0044dd50 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0044dd54 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0044dd58 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044dd5c lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044dd60 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044dd64 addiu sp, sp, 0x48 |
0x0044dd68 jr ra | return v0;
| label_4:
0x0044dd6c lw ra, 0x44(sp) | ra = *(var_44h);
0x0044dd70 addiu v0, zero, 1 | v0 = 1;
0x0044dd74 lw fp, 0x40(sp) | fp = *(var_40h);
0x0044dd78 lw s7, 0x3c(sp) | s7 = *(var_3ch);
0x0044dd7c lw s6, 0x38(sp) | s6 = *(var_38h);
0x0044dd80 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0044dd84 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0044dd88 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0044dd8c lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044dd90 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044dd94 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044dd98 addiu sp, sp, 0x48 |
0x0044dd9c jr ra | return v0;
| label_10:
0x0044dda0 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0044dda4 move a0, s2 | a0 = s2;
0x0044dda8 jalr t9 | t9 ();
0x0044ddac lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ddb0 b 0x44dcfc | goto label_1;
| label_8:
0x0044ddb4 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0044ddb8 move a0, fp | a0 = fp;
0x0044ddbc jalr t9 | t9 ();
0x0044ddc0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ddc4 b 0x44dc18 | goto label_2;
| label_5:
0x0044ddc8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044ddcc move a0, s0 | a0 = s0;
0x0044ddd0 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Malloc_error_getting_supported_curves_n */
0x0044ddd4 addiu a1, a1, -0x4364 | a1 += -0x4364;
0x0044ddd8 jalr t9 | t9 ();
0x0044dddc move v0, zero | v0 = 0;
0x0044dde0 b 0x44dd3c |
| } while (1);
| label_9:
0x0044dde4 move a0, s0 | a0 = s0;
| if (v0 != 0) {
0x0044dde8 bnez v0, 0x44dd24 | goto label_3;
| }
0x0044ddec lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044ddf0 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.NONE */
0x0044ddf4 addiu a1, a1, 0x2148 | a1 += 0x2148;
0x0044ddf8 jalr t9 | t9 ();
0x0044ddfc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044de00 b 0x44dd24 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d900 */
| #include <stdint.h>
|
; (fcn) sym.ssl_print_point_formats () | void ssl_print_point_formats () {
0x0044d900 lui gp, 5 |
0x0044d904 addiu gp, gp, -0x1460 |
0x0044d908 addu gp, gp, t9 | gp += t9;
0x0044d90c addiu sp, sp, -0x48 |
0x0044d910 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0044d914 sw s7, 0x40(sp) | *(var_40h) = s7;
0x0044d918 sw s6, 0x3c(sp) | *(var_3ch) = s6;
0x0044d91c sw s5, 0x38(sp) | *(var_38h) = s5;
0x0044d920 sw s4, 0x34(sp) | *(var_34h) = s4;
0x0044d924 sw s3, 0x30(sp) | *(var_30h) = s3;
0x0044d928 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0044d92c sw s1, 0x28(sp) | *(var_28h) = s1;
0x0044d930 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0044d934 move a2, zero | a2 = 0;
0x0044d938 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044d93c move s1, a0 | s1 = a0;
0x0044d940 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044d944 move a0, a1 | a0 = a1;
0x0044d948 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x0044d94c addiu a1, zero, 0x6f | a1 = 0x6f;
0x0044d950 jalr t9 | t9 ();
0x0044d954 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d958 move s2, v0 | s2 = v0;
| if (v0 <= 0) {
0x0044d95c blez v0, 0x44da4c | goto label_2;
| }
0x0044d960 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d964 move a0, s1 | a0 = s1;
0x0044d968 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044d96c move s0, zero | s0 = 0;
| /* str.Supported_Elliptic_Curve_Point_Formats:_ */
0x0044d970 addiu a1, a1, -0x43dc | a1 += -0x43dc;
0x0044d974 jalr t9 | t9 ();
0x0044d978 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d97c lw t8, 0x18(sp) | t8 = *(var_18h);
0x0044d980 lw s7, -0x7f9c(gp) | s7 = *(gp);
0x0044d984 lw s6, -0x7f9c(gp) | s6 = *(gp);
0x0044d988 lw s4, -0x7fd8(gp) | s4 = *(gp);
| /* str.ansiX962_compressed_prime */
0x0044d98c addiu s7, s7, -0x43b0 | s7 += -0x43b0;
| /* str.ansiX962_compressed_char2 */
0x0044d990 addiu s6, s6, -0x4394 | s6 += -0x4394;
0x0044d994 lw s5, -0x7f9c(gp) | s5 = *(gp);
| /* str.uncompressed */
0x0044d998 addiu s4, s4, 0x3358 | s4 += 0x3358;
0x0044d99c lw s3, -0x7fd8(gp) | s3 = *(gp);
0x0044d9a0 b 0x44d9fc |
| while (a2 != t8) {
0x0044d9a4 move a0, s1 | a0 = s1;
0x0044d9a8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| if (a2 == t8) {
0x0044d9ac beq a2, t8, 0x44da90 | goto label_3;
| }
| if (a2 == 0) {
0x0044d9b0 beqz a2, 0x44da7c | goto label_4;
| }
0x0044d9b4 nop |
| /* str.unknown__d_ */
0x0044d9b8 addiu a1, s5, -0x4378 | a1 = s5 + -0x4378;
0x0044d9bc jalr t9 | t9 ();
0x0044d9c0 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x0044d9c4 lw t8, 0x18(sp) | t8 = *(var_18h);
0x0044d9c8 addiu s0, s0, 1 | s0++;
0x0044d9cc move a0, s1 | a0 = s1;
0x0044d9d0 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044d9d4 addiu t8, t8, 1 | t8++;
0x0044d9d8 addiu a1, s3, -0x824 | a1 = s3 + -0x824;
0x0044d9dc sw t8, 0x18(sp) | *(var_18h) = t8;
| if (s0 == s2) {
0x0044d9e0 beq s0, s2, 0x44da40 | goto label_5;
| }
| if (s0 != 0) {
| label_0:
0x0044d9e4 beqz s0, 0x44d9fc |
0x0044d9e8 nop |
0x0044d9ec jalr t9 | t9 ();
0x0044d9f0 nop |
0x0044d9f4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d9f8 lw t8, 0x18(sp) | t8 = *(var_18h);
| }
0x0044d9fc lb a2, (t8) | a2 = *(t8);
0x0044da00 addiu t8, zero, 1 | t8 = 1;
0x0044da04 addiu t8, zero, 2 | t8 = 2;
0x0044da08 bne a2, t8, 0x44d9a4 |
| }
0x0044da0c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044da10 move a0, s1 | a0 = s1;
0x0044da14 move a1, s7 | a1 = s7;
0x0044da18 addiu s0, s0, 1 | s0++;
0x0044da1c jalr t9 | t9 ();
0x0044da20 move a0, s1 | a0 = s1;
0x0044da24 lw t8, 0x18(sp) | t8 = *(var_18h);
0x0044da28 addiu a1, s3, -0x824 | a1 = s3 + -0x824;
0x0044da2c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044da30 addiu t8, t8, 1 | t8++;
0x0044da34 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044da38 sw t8, 0x18(sp) | *(var_18h) = t8;
| if (s0 != s2) {
0x0044da3c bne s0, s2, 0x44d9e4 | goto label_0;
| }
| label_5:
0x0044da40 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044da44 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044da48 jalr t9 | t9 ();
| label_2:
0x0044da4c lw ra, 0x44(sp) | ra = *(var_44h);
0x0044da50 addiu v0, zero, 1 | v0 = 1;
0x0044da54 lw s7, 0x40(sp) | s7 = *(var_40h);
0x0044da58 lw s6, 0x3c(sp) | s6 = *(var_3ch);
0x0044da5c lw s5, 0x38(sp) | s5 = *(var_38h);
0x0044da60 lw s4, 0x34(sp) | s4 = *(var_34h);
0x0044da64 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0044da68 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0044da6c lw s1, 0x28(sp) | s1 = *(var_28h);
0x0044da70 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0044da74 addiu sp, sp, 0x48 |
0x0044da78 jr ra | return v0;
| label_4:
0x0044da7c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044da80 move a1, s4 | a1 = s4;
0x0044da84 jalr t9 | t9 ();
0x0044da88 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044da8c b 0x44d9c4 | goto label_1;
| label_3:
0x0044da90 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044da94 move a0, s1 | a0 = s1;
0x0044da98 move a1, s6 | a1 = s6;
0x0044da9c jalr t9 | t9 ();
0x0044daa0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044daa4 b 0x44d9c4 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44d4a0 */
| #include <stdint.h>
|
; (fcn) sym.ssl_print_sigalgs () | void ssl_print_sigalgs () {
0x0044d4a0 lui gp, 5 |
0x0044d4a4 addiu gp, gp, -0x1000 |
0x0044d4a8 addu gp, gp, t9 | gp += t9;
0x0044d4ac addiu sp, sp, -0x60 |
0x0044d4b0 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0044d4b4 sw fp, 0x58(sp) | *(var_58h) = fp;
0x0044d4b8 sw s7, 0x54(sp) | *(var_54h) = s7;
0x0044d4bc sw s6, 0x50(sp) | *(var_50h) = s6;
0x0044d4c0 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x0044d4c4 sw s4, 0x48(sp) | *(var_48h) = s4;
0x0044d4c8 sw s3, 0x44(sp) | *(var_44h) = s3;
0x0044d4cc sw s2, 0x40(sp) | *(var_40h) = s2;
0x0044d4d0 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0044d4d4 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0044d4d8 move s1, a0 | s1 = a0;
0x0044d4dc lw t9, -0x7940(gp) | t9 = sym.imp.SSL_is_server;
0x0044d4e0 move a0, a1 | a0 = a1;
0x0044d4e4 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044d4e8 move s2, a1 | s2 = a1;
0x0044d4ec jalr t9 | t9 ();
0x0044d4f0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0044d4f4 beqz v0, 0x44d778 | goto label_7;
| }
0x0044d4f8 addiu s4, sp, 0x28 | s4 = sp + 0x28;
| label_3:
0x0044d4fc lw t9, -0x7df4(gp) | t9 = *((gp - 8061));
0x0044d500 move a1, s2 | a1 = s2;
0x0044d504 addiu t9, t9, -0x3468 | t9 += -0x3468;
0x0044d508 move a0, s1 | a0 = s1;
0x0044d50c jalr t9 | t9 ();
0x0044d510 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d514 lw t9, -0x7940(gp) | t9 = sym.imp.SSL_is_server;
0x0044d518 move a0, s2 | a0 = s2;
0x0044d51c jalr t9 | t9 ();
0x0044d520 move a0, s2 | a0 = s2;
0x0044d524 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d528 addiu a1, zero, -1 | a1 = -1;
0x0044d52c sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044d530 move a2, zero | a2 = 0;
0x0044d534 lw t9, -0x782c(gp) | t9 = sym.imp.SSL_get_shared_sigalgs;
0x0044d538 move a3, zero | a3 = 0;
0x0044d53c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0044d540 move s0, v0 | s0 = v0;
0x0044d544 sw zero, 0x18(sp) | *(var_18h) = 0;
0x0044d548 jalr t9 | t9 ();
0x0044d54c lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d550 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x0044d554 beqz v0, 0x44d6c4 | goto label_8;
| }
0x0044d558 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d55c move a0, s1 | a0 = s1;
0x0044d560 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Shared_ */
0x0044d564 addiu a1, a1, -0x4400 | a1 += -0x4400;
0x0044d568 jalr t9 | t9 ();
0x0044d56c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == 0) {
0x0044d570 beqz s0, 0x44d7fc | goto label_9;
| }
| label_4:
0x0044d574 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d578 move a0, s1 | a0 = s1;
0x0044d57c lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Signature_Algorithms:_ */
0x0044d580 addiu a1, a1, -0x461c | a1 += -0x461c;
0x0044d584 jalr t9 | t9 ();
0x0044d588 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 <= 0) {
0x0044d58c blez s3, 0x44d6ac | goto label_10;
| }
0x0044d590 lw t9, -0x782c(gp) | t9 = sym.imp.SSL_get_shared_sigalgs;
0x0044d594 addiu s5, sp, 0x2c | s5 = sp + 0x2c;
0x0044d598 addiu s7, sp, 0x30 | s7 = sp + 0x30;
0x0044d59c addiu s6, sp, 0x34 | s6 = sp + 0x34;
0x0044d5a0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044d5a4 move a0, s2 | a0 = s2;
0x0044d5a8 sw s7, 0x14(sp) | *(var_14h) = s7;
0x0044d5ac move a1, zero | a1 = 0;
0x0044d5b0 sw s6, 0x18(sp) | *(var_18h) = s6;
0x0044d5b4 move a2, s4 | a2 = s4;
0x0044d5b8 move a3, s5 | a3 = s5;
0x0044d5bc move s0, zero | s0 = 0;
0x0044d5c0 jalr t9 | t9 ();
0x0044d5c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d5c8 lw fp, -0x7f9c(gp) | fp = *(gp);
| /* esilref: '&s+' */
0x0044d5cc addiu fp, fp, -0x45fc | fp += -0x45fc;
0x0044d5d0 b 0x44d644 |
| while (a0 != 0) {
0x0044d5d4 addiu s0, s0, 1 | s0++;
0x0044d5d8 jalr t9 | t9 ();
0x0044d5dc move a0, s1 | a0 = s1;
0x0044d5e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d5e4 move a2, v0 | a2 = v0;
0x0044d5e8 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d5ec lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* esilref: '&s' */
0x0044d5f0 addiu a1, a1, -0x4dcc | a1 += -0x4dcc;
0x0044d5f4 jalr t9 | t9 ();
0x0044d5f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == s3) {
0x0044d5fc beq s0, s3, 0x44d6ac | goto label_10;
| }
| label_0:
0x0044d600 lw t9, -0x782c(gp) | t9 = sym.imp.SSL_get_shared_sigalgs;
0x0044d604 move a0, s2 | a0 = s2;
0x0044d608 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0044d60c move a1, s0 | a1 = s0;
0x0044d610 sw s7, 0x14(sp) | *(var_14h) = s7;
0x0044d614 move a2, s4 | a2 = s4;
0x0044d618 sw s6, 0x18(sp) | *(var_18h) = s6;
0x0044d61c move a3, s5 | a3 = s5;
0x0044d620 jalr t9 | t9 ();
0x0044d624 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != 0) {
0x0044d628 beqz s0, 0x44d644 |
0x0044d62c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044d630 move a0, s1 | a0 = s1;
0x0044d634 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044d638 addiu a1, a1, -0x824 | a1 += -0x824;
0x0044d63c jalr t9 | t9 ();
0x0044d640 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0044d644 lw t8, 0x28(sp) | t8 = *(var_28h);
0x0044d648 addiu v0, zero, 6 | v0 = 6;
0x0044d64c addiu v0, zero, 0x74 | v0 = 0x74;
| if (t8 == v0) {
0x0044d650 beq t8, v0, 0x44d740 | goto label_11;
| }
0x0044d654 addiu v0, zero, 0x198 | v0 = 0x198;
| if (t8 == v0) {
0x0044d658 beq t8, v0, 0x44d760 | goto label_12;
| }
0x0044d65c move a0, s1 | a0 = s1;
| if (t8 == v0) {
0x0044d660 beq t8, v0, 0x44d76c | goto label_13;
| }
0x0044d664 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d668 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d66c lbu a2, 0x30(sp) | a2 = *(var_30h);
| /* str.0x_02X */
0x0044d670 addiu a1, a1, -0x4604 | a1 += -0x4604;
0x0044d674 jalr t9 | t9 ();
0x0044d678 lw gp, 0x20(sp) | gp = *(var_20h);
| label_1:
0x0044d67c lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0044d680 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0044d684 bnez a0, 0x44d5d4 |
| }
0x0044d688 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044d68c move a0, s1 | a0 = s1;
0x0044d690 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d694 addiu s0, s0, 1 | s0++;
0x0044d698 lbu a2, 0x34(sp) | a2 = *(var_34h);
| /* esilref: '0x&X' */
0x0044d69c addiu a1, a1, 0x3404 | a1 += 0x3404;
0x0044d6a0 jalr t9 | t9 ();
0x0044d6a4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != s3) {
0x0044d6a8 bne s0, s3, 0x44d600 | goto label_0;
| }
| label_10:
0x0044d6ac lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044d6b0 move a0, s1 | a0 = s1;
0x0044d6b4 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044d6b8 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044d6bc jalr t9 | t9 ();
0x0044d6c0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_8:
0x0044d6c4 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044d6c8 move a0, s2 | a0 = s2;
0x0044d6cc addiu a1, zero, 0x6c | a1 = 0x6c;
0x0044d6d0 move a2, zero | a2 = 0;
0x0044d6d4 move a3, s4 | a3 = s4;
0x0044d6d8 jalr t9 | t9 ();
0x0044d6dc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0044d6e0 beqz v0, 0x44d70c |
0x0044d6e4 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0044d6e8 lw a0, 0x28(sp) | a0 = *(var_28h);
0x0044d6ec jalr t9 | t9 ();
0x0044d6f0 move a0, s1 | a0 = s1;
0x0044d6f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d6f8 move a2, v0 | a2 = v0;
0x0044d6fc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d700 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.Peer_signing_digest:__s_n */
0x0044d704 addiu a1, a1, -0x43f8 | a1 += -0x43f8;
0x0044d708 jalr t9 | t9 ();
| }
0x0044d70c lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0044d710 addiu v0, zero, 1 | v0 = 1;
0x0044d714 lw fp, 0x58(sp) | fp = *(var_58h);
0x0044d718 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0044d71c lw s6, 0x50(sp) | s6 = *(var_50h);
0x0044d720 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0044d724 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0044d728 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0044d72c lw s2, 0x40(sp) | s2 = *(var_40h);
0x0044d730 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0044d734 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0044d738 addiu sp, sp, 0x60 |
0x0044d73c jr ra | return v0;
| label_11:
0x0044d740 lw t8, -0x7f9c(gp) | t8 = *(gp);
| /* esilref: 'RSA' */
0x0044d744 addiu a2, t8, -0x462c | a2 = t8 + -0x462c;
| do {
| label_2:
0x0044d748 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d74c move a0, s1 | a0 = s1;
0x0044d750 move a1, fp | a1 = fp;
0x0044d754 jalr t9 | t9 ();
0x0044d758 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d75c b 0x44d67c | goto label_1;
| label_12:
0x0044d760 lw t8, -0x7f9c(gp) | t8 = *(gp);
| /* esilref: 'DSA' */
0x0044d764 addiu a2, t8, -0x4630 | a2 = t8 + -0x4630;
0x0044d768 b 0x44d748 |
| } while (1);
| label_13:
0x0044d76c lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* str.ECDSA */
0x0044d770 addiu a2, a2, -0x4638 | a2 += -0x4638;
0x0044d774 b 0x44d748 | goto label_2;
| label_7:
0x0044d778 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044d77c addiu s4, sp, 0x28 | s4 = sp + 0x28;
0x0044d780 move a0, s2 | a0 = s2;
0x0044d784 addiu a1, zero, 0x67 | a1 = 0x67;
0x0044d788 move a2, zero | a2 = 0;
0x0044d78c move a3, s4 | a3 = s4;
0x0044d790 jalr t9 | t9 ();
0x0044d794 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d798 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044d79c beqz v0, 0x44d4fc | goto label_3;
| }
0x0044d7a0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d7a4 move a0, s1 | a0 = s1;
0x0044d7a8 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044d7ac move fp, zero | fp = 0;
| /* str.Client_Certificate_Types:_ */
0x0044d7b0 addiu a1, a1, -0x442c | a1 += -0x442c;
0x0044d7b4 jalr t9 | t9 ();
0x0044d7b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 <= 0) {
0x0044d7bc blez s0, 0x44d85c | goto label_14;
| }
0x0044d7c0 lw s5, -0x7f9c(gp) | s5 = *(gp);
0x0044d7c4 lw s3, -0x7fd8(gp) | s3 = *(gp);
0x0044d7c8 addiu s5, s5, -0x3730 | s5 += -0x3730;
| /* esilref: ', ' */
0x0044d7cc addiu s3, s3, 0x63f0 | s3 += 0x63f0;
0x0044d7d0 lw v0, 0x28(sp) | v0 = *(var_28h);
| do {
0x0044d7d4 addu v0, v0, fp | v0 += fp;
0x0044d7d8 lbu s7, (v0) | s7 = *(v0);
0x0044d7dc sltiu v0, s7, 0x43 | v0 = (s7 < 0x43) ? 1 : 0;
0x0044d7e0 sll v0, s7, 2 | v0 = s7 << 2;
| if (v0 == 0) {
0x0044d7e4 beqz v0, 0x44d8d8 | goto label_15;
| }
0x0044d7e8 addu v0, s5, v0 | v0 = s5 + v0;
0x0044d7ec lw v0, (v0) | v0 = *(v0);
0x0044d7f0 addu v0, v0, gp | v0 += gp;
0x0044d7f4 jr v0 | v0 ();
0x0044d7f8 nop |
| label_9:
0x0044d7fc lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d800 move a0, s1 | a0 = s1;
0x0044d804 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Requested_ */
0x0044d808 addiu a1, a1, -0x4628 | a1 += -0x4628;
0x0044d80c jalr t9 | t9 ();
0x0044d810 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d814 b 0x44d574 | goto label_4;
| label_5:
0x0044d820 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (fp != 0) {
0x0044d824 beqz fp, 0x44d838 |
0x0044d828 move a0, s1 | a0 = s1;
0x0044d82c move a1, s3 | a1 = s3;
0x0044d830 jalr t9 | t9 ();
0x0044d834 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0044d838 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| if (s6 == 0) {
0x0044d83c beqz s6, 0x44d8e0 | goto label_16;
| }
0x0044d840 move a0, s1 | a0 = s1;
0x0044d844 move a1, s6 | a1 = s6;
0x0044d848 jalr t9 | t9 ();
0x0044d84c lw gp, 0x20(sp) | gp = *(var_20h);
| label_6:
0x0044d850 addiu fp, fp, 1 | fp++;
0x0044d854 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0044d858 bne fp, s0, 0x44d7d4 |
| } while (fp != s0);
| label_14:
0x0044d85c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044d860 move a0, s1 | a0 = s1;
0x0044d864 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044d868 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044d86c jalr t9 | t9 ();
0x0044d870 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d874 b 0x44d4fc | goto label_3;
| label_15:
0x0044d8d8 move s6, zero | s6 = 0;
0x0044d8dc b 0x44d820 | goto label_5;
| label_16:
0x0044d8e0 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d8e4 move a0, s1 | a0 = s1;
0x0044d8e8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044d8ec move a2, s7 | a2 = s7;
| /* str.UNKNOWN___d__ */
0x0044d8f0 addiu a1, a1, -0x4410 | a1 += -0x4410;
0x0044d8f4 jalr t9 | t9 ();
0x0044d8f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044d8fc b 0x44d850 | goto label_6;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44de04 */
| #include <stdint.h>
|
; (fcn) sym.ssl_print_tmp_key () | void ssl_print_tmp_key () {
0x0044de04 lui gp, 5 |
0x0044de08 addiu gp, gp, -0x1964 |
0x0044de0c addu gp, gp, t9 | gp += t9;
0x0044de10 addiu sp, sp, -0x30 |
0x0044de14 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0044de18 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0044de1c sw s1, 0x24(sp) | *(var_24h) = s1;
0x0044de20 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0044de24 move a2, zero | a2 = 0;
0x0044de28 lw t9, -0x7a2c(gp) | t9 = sym.imp.SSL_ctrl;
0x0044de2c move s0, a0 | s0 = a0;
0x0044de30 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044de34 move a0, a1 | a0 = a1;
0x0044de38 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x0044de3c addiu a1, zero, 0x6d | a1 = 0x6d;
0x0044de40 jalr t9 | t9 ();
0x0044de44 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0044de48 bnez v0, 0x44de68 |
0x0044de4c lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044de50 addiu v0, zero, 1 | v0 = 1;
0x0044de54 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044de58 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044de5c lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044de60 addiu sp, sp, 0x30 |
0x0044de64 jr ra | return v0;
| }
0x0044de68 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044de6c move a0, s0 | a0 = s0;
0x0044de70 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
| /* str.Server_Temp_Key:_ */
0x0044de74 addiu a1, a1, -0x42fc | a1 += -0x42fc;
0x0044de78 jalr t9 | t9 ();
0x0044de7c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044de80 lw t9, -0x7660(gp) | t9 = sym.imp.EVP_PKEY_id;
0x0044de84 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044de88 jalr t9 | t9 ();
0x0044de8c addiu t8, zero, 0x1c | t8 = 0x1c;
0x0044de90 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == t8) {
0x0044de94 beq v0, t8, 0x44df94 | goto label_2;
| }
0x0044de98 addiu t8, zero, 0x198 | t8 = 0x198;
0x0044de9c addiu t8, zero, 6 | t8 = 6;
| if (v0 == t8) {
0x0044dea0 beq v0, t8, 0x44df00 | goto label_3;
| }
0x0044dea4 lw t9, -0x737c(gp) | t9 = sym.imp.EVP_PKEY_free;
| if (v0 != t8) {
0x0044dea8 bne v0, t8, 0x44dedc | goto label_4;
| }
0x0044deac lw t9, -0x7448(gp) | t9 = sym.imp.EVP_PKEY_bits;
0x0044deb0 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044deb4 jalr t9 | t9 ();
0x0044deb8 move a0, s0 | a0 = s0;
0x0044debc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dec0 move a2, v0 | a2 = v0;
0x0044dec4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044dec8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.RSA___d_bits_n */
0x0044decc addiu a1, a1, -0x42e8 | a1 += -0x42e8;
0x0044ded0 jalr t9 | t9 ();
0x0044ded4 lw gp, 0x10(sp) | gp = *(var_10h);
| do {
| label_0:
0x0044ded8 lw t9, -0x737c(gp) | t9 = sym.imp.EVP_PKEY_free;
| label_4:
0x0044dedc lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044dee0 jalr t9 | t9 ();
0x0044dee4 addiu v0, zero, 1 | v0 = 1;
0x0044dee8 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044deec lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044def0 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044def4 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044def8 addiu sp, sp, 0x30 |
0x0044defc jr ra | return v0;
| label_3:
0x0044df00 lw t9, -0x6cb8(gp) | t9 = sym.imp.EVP_PKEY_get1_EC_KEY;
0x0044df04 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044df08 jalr t9 | t9 ();
0x0044df0c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044df10 move a0, v0 | a0 = v0;
0x0044df14 lw t9, -0x7bc0(gp) | t9 = sym.imp.EC_KEY_get0_group;
0x0044df18 move s1, v0 | s1 = v0;
0x0044df1c jalr t9 | t9 ();
0x0044df20 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044df24 lw t9, -0x7308(gp) | t9 = sym.imp.EC_GROUP_get_curve_name;
0x0044df28 move a0, v0 | a0 = v0;
0x0044df2c jalr t9 | t9 ();
0x0044df30 move a0, s1 | a0 = s1;
0x0044df34 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044df38 lw t9, -0x7754(gp) | t9 = sym.imp.EC_KEY_free;
0x0044df3c move s2, v0 | s2 = v0;
0x0044df40 jalr t9 | t9 ();
0x0044df44 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044df48 lw t9, -0x6d10(gp) | t9 = sym.imp.EC_curve_nid2nist;
0x0044df4c move a0, s2 | a0 = s2;
0x0044df50 jalr t9 | t9 ();
0x0044df54 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044df58 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0044df5c beqz v0, 0x44dfc4 | goto label_5;
| }
| label_1:
0x0044df60 lw t9, -0x7448(gp) | t9 = sym.imp.EVP_PKEY_bits;
0x0044df64 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044df68 jalr t9 | t9 ();
0x0044df6c move a0, s0 | a0 = s0;
0x0044df70 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044df74 move a2, s1 | a2 = s1;
0x0044df78 move a3, v0 | a3 = v0;
0x0044df7c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044df80 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.ECDH___s___d_bits_n */
0x0044df84 addiu a1, a1, -0x42c8 | a1 += -0x42c8;
0x0044df88 jalr t9 | t9 ();
0x0044df8c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044df90 b 0x44ded8 |
| } while (1);
| label_2:
0x0044df94 lw t9, -0x7448(gp) | t9 = sym.imp.EVP_PKEY_bits;
0x0044df98 lw a0, 0x18(sp) | a0 = *(var_18h);
0x0044df9c jalr t9 | t9 ();
0x0044dfa0 move a0, s0 | a0 = s0;
0x0044dfa4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dfa8 move a2, v0 | a2 = v0;
0x0044dfac lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044dfb0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.DH___d_bits_n */
0x0044dfb4 addiu a1, a1, -0x42d8 | a1 += -0x42d8;
0x0044dfb8 jalr t9 | t9 ();
0x0044dfbc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dfc0 b 0x44ded8 | goto label_0;
| label_5:
0x0044dfc4 lw t9, -0x6d2c(gp) | t9 = sym.imp.OBJ_nid2sn;
0x0044dfc8 move a0, s2 | a0 = s2;
0x0044dfcc jalr t9 | t9 ();
0x0044dfd0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044dfd4 move s1, v0 | s1 = v0;
0x0044dfd8 b 0x44df60 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ea80 */
| #include <stdint.h>
|
; (fcn) sym.tlsext_cb () | void tlsext_cb () {
0x0044ea80 lui gp, 5 |
0x0044ea84 addiu gp, gp, -0x25e0 |
0x0044ea88 addu gp, gp, t9 | gp += t9;
0x0044ea8c addiu sp, sp, -0x30 |
0x0044ea90 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0044ea94 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0044ea98 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0044ea9c sw s0, 0x20(sp) | *(var_20h) = s0;
0x0044eaa0 addiu v0, zero, 0xa | v0 = 0xa;
0x0044eaa4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0044eaa8 move t8, a2 | t8 = a2;
0x0044eaac lw s1, 0x40(sp) | s1 = *(arg_40h);
0x0044eab0 move s2, a3 | s2 = a3;
0x0044eab4 lw s0, 0x44(sp) | s0 = *(arg_44h);
| if (a2 == v0) {
0x0044eab8 beq a2, v0, 0x44eca4 | goto label_2;
| }
0x0044eabc slti v0, a2, 0xb | v0 = (a2 < 0xb) ? 1 : 0;
0x0044eac0 addiu v0, zero, 4 | v0 = 4;
| if (v0 == 0) {
0x0044eac4 beqz v0, 0x44eb74 | goto label_3;
| }
0x0044eac8 slti v0, a2, 5 | v0 = (a2 < 5) ? 1 : 0;
| if (a2 == v0) {
0x0044eacc beq a2, v0, 0x44ecb0 | goto label_4;
| }
0x0044ead0 addiu v0, zero, 7 | v0 = 7;
| if (v0 != 0) {
0x0044ead4 bnez v0, 0x44ebc0 | goto label_5;
| }
0x0044ead8 slti v0, a2, 8 | v0 = (a2 < 8) ? 1 : 0;
| if (a2 == v0) {
0x0044eadc beq a2, v0, 0x44ec80 | goto label_6;
| }
0x0044eae0 addiu v0, zero, 5 | v0 = 5;
| if (v0 == 0) {
0x0044eae4 beqz v0, 0x44ec40 | goto label_7;
| }
0x0044eae8 addiu v0, zero, 6 | v0 = 6;
| if (a2 == v0) {
0x0044eaec beq a2, v0, 0x44ecc8 | goto label_8;
| }
0x0044eaf0 lw a3, -0x7fd8(gp) | a3 = *(gp);
| if (a2 != v0) {
0x0044eaf4 bne a2, v0, 0x44ec90 | goto label_9;
| }
0x0044eaf8 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.user_mapping */
0x0044eafc addiu a3, a3, -0x3c24 | a3 += -0x3c24;
| if (a1 != 0) {
| label_1:
0x0044eb00 bnez a1, 0x44ebb4 | goto label_10;
| }
0x0044eb04 nop |
| do {
0x0044eb08 lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* str.client */
0x0044eb0c addiu a2, a2, -0x3b20 | a2 += -0x3b20;
| label_0:
0x0044eb10 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044eb14 move a0, s0 | a0 = s0;
0x0044eb18 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044eb1c sw t8, 0x10(sp) | *(var_10h) = t8;
| /* str.TLS__s_extension___s___id_d___len_d_n */
0x0044eb20 addiu a1, a1, -0x3b18 | a1 += -0x3b18;
0x0044eb24 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0044eb28 jalr t9 | t9 ();
0x0044eb2c move a0, s0 | a0 = s0;
0x0044eb30 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044eb34 move a1, s2 | a1 = s2;
0x0044eb38 lw t9, -0x6dec(gp) | t9 = sym.imp.BIO_dump;
0x0044eb3c move a2, s1 | a2 = s1;
0x0044eb40 jalr t9 | t9 ();
0x0044eb44 move a0, s0 | a0 = s0;
0x0044eb48 lw gp, 0x18(sp) | gp = *(var_18h);
0x0044eb4c addiu a1, zero, 0xb | a1 = 0xb;
0x0044eb50 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0044eb54 move a2, zero | a2 = 0;
0x0044eb58 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044eb5c move a3, zero | a3 = 0;
0x0044eb60 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0044eb64 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0044eb68 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0044eb6c addiu sp, sp, 0x30 |
0x0044eb70 jr t9 | t9 ();
| label_3:
0x0044eb74 addiu v0, zero, 0xf | v0 = 0xf;
0x0044eb78 slti v0, a2, 0x10 | v0 = (a2 < 0x10) ? 1 : 0;
| if (a2 == v0) {
0x0044eb7c beq a2, v0, 0x44ecbc | goto label_11;
| }
0x0044eb80 addiu v0, zero, 0x23 | v0 = 0x23;
| if (v0 != 0) {
0x0044eb84 bnez v0, 0x44ebf0 | goto label_12;
| }
0x0044eb88 slti v0, a2, 0x24 | v0 = (a2 < 0x24) ? 1 : 0;
| if (a2 == v0) {
0x0044eb8c beq a2, v0, 0x44ec74 | goto label_13;
| }
0x0044eb90 addiu v0, zero, 0x10 | v0 = 0x10;
| if (v0 == 0) {
0x0044eb94 beqz v0, 0x44ec20 | goto label_14;
| }
0x0044eb98 addiu v0, zero, 0x15 | v0 = 0x15;
| if (a2 == v0) {
0x0044eb9c beq a2, v0, 0x44ec98 | goto label_15;
| }
| if (a2 != v0) {
0x0044eba0 bne a2, v0, 0x44ec8c | goto label_16;
| }
0x0044eba4 nop |
0x0044eba8 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.TLS_padding */
0x0044ebac addiu a3, a3, -0x3b34 | a3 += -0x3b34;
0x0044ebb0 beqz a1, 0x44eb08 |
| } while (a1 == 0);
| label_10:
0x0044ebb4 lw a2, -0x7f9c(gp) | a2 = *(gp);
| /* str.server */
0x0044ebb8 addiu a2, a2, -0x3b28 | a2 += -0x3b28;
0x0044ebbc b 0x44eb10 | goto label_0;
| label_5:
0x0044ebc0 addiu v0, zero, 1 | v0 = 1;
0x0044ebc4 slti v0, a2, 2 | v0 = (a2 < 2) ? 1 : 0;
| if (a2 != v0) {
0x0044ebc8 beq a2, v0, 0x44ecec |
0x0044ebcc addiu v0, zero, 2 | v0 = 2;
| if (v0 == 0) {
0x0044ebd0 bnez v0, 0x44ec60 |
0x0044ebd4 addiu v0, zero, 3 | v0 = 3;
| if (a2 == v0) {
0x0044ebd8 beq a2, v0, 0x44ece0 | goto label_17;
| }
| if (a2 != v0) {
0x0044ebdc bne a2, v0, 0x44ec8c | goto label_16;
| }
0x0044ebe0 nop |
0x0044ebe4 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.trusted_CA_keys */
0x0044ebe8 addiu a3, a3, -0x3c54 | a3 += -0x3c54;
0x0044ebec b 0x44eb00 | goto label_1;
| label_12:
0x0044ebf0 addiu v0, zero, 0xc | v0 = 0xc;
0x0044ebf4 slti v0, a2, 0xc | v0 = (a2 < 0xc) ? 1 : 0;
| if (a2 == v0) {
0x0044ebf8 beq a2, v0, 0x44ed04 | goto label_18;
| }
0x0044ebfc addiu v0, zero, 0xd | v0 = 0xd;
| if (v0 != 0) {
0x0044ec00 bnez v0, 0x44ed1c | goto label_19;
| }
0x0044ec04 addiu v0, zero, 0xe | v0 = 0xe;
| if (a2 == v0) {
0x0044ec08 beq a2, v0, 0x44ed10 | goto label_20;
| }
| if (a2 != v0) {
0x0044ec0c bne a2, v0, 0x44ec8c | goto label_16;
| }
0x0044ec10 nop |
0x0044ec14 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.use_SRTP */
0x0044ec18 addiu a3, a3, -0x3ba8 | a3 += -0x3ba8;
0x0044ec1c b 0x44eb00 | goto label_1;
| label_14:
0x0044ec20 addiu v0, zero, 0x3374 | v0 = 0x3374;
0x0044ec24 ori v0, zero, 0xff01 | v0 = 0xff01;
| if (a2 == v0) {
0x0044ec28 beq a2, v0, 0x44ecf8 | goto label_21;
| }
| if (a2 != v0) {
0x0044ec2c bne a2, v0, 0x44ec8c | goto label_16;
| }
0x0044ec30 nop |
0x0044ec34 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.renegotiation_info */
0x0044ec38 addiu a3, a3, -0x3b80 | a3 += -0x3b80;
0x0044ec3c b 0x44eb00 | goto label_1;
| label_7:
0x0044ec40 addiu v0, zero, 8 | v0 = 8;
0x0044ec44 addiu v0, zero, 9 | v0 = 9;
| if (a2 == v0) {
0x0044ec48 beq a2, v0, 0x44ecd4 | goto label_22;
| }
| if (a2 != v0) {
0x0044ec4c bne a2, v0, 0x44ec8c | goto label_16;
| }
0x0044ec50 nop |
0x0044ec54 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.cert_type */
0x0044ec58 addiu a3, a3, -0x3bf4 | a3 += -0x3bf4;
0x0044ec5c b 0x44eb00 | goto label_1;
| }
| if (a2 == 0) {
0x0044ec60 bnez a2, 0x44ec8c |
0x0044ec64 nop |
0x0044ec68 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.server_name */
0x0044ec6c addiu a3, a3, -0x3c8c | a3 += -0x3c8c;
0x0044ec70 b 0x44eb00 | goto label_1;
| label_13:
0x0044ec74 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.session_ticket */
0x0044ec78 addiu a3, a3, -0x3b90 | a3 += -0x3b90;
0x0044ec7c b 0x44eb00 | goto label_1;
| label_6:
0x0044ec80 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.client_authz */
0x0044ec84 addiu a3, a3, -0x3c14 | a3 += -0x3c14;
0x0044ec88 b 0x44eb00 | goto label_1;
| }
| label_16:
0x0044ec8c lw a3, -0x7fd8(gp) | a3 = *(gp);
| /* str.unknown */
| label_9:
0x0044ec90 addiu a3, a3, 0x34 | a3 += 0x34;
0x0044ec94 b 0x44eb00 | goto label_1;
| label_15:
0x0044ec98 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.application_layer_protocol_negotiation */
0x0044ec9c addiu a3, a3, -0x3b5c | a3 += -0x3b5c;
0x0044eca0 b 0x44eb00 | goto label_1;
| label_2:
0x0044eca4 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.elliptic_curves */
0x0044eca8 addiu a3, a3, -0x3be8 | a3 += -0x3be8;
0x0044ecac b 0x44eb00 | goto label_1;
| label_4:
0x0044ecb0 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.truncated_HMAC */
0x0044ecb4 addiu a3, a3, -0x3c44 | a3 += -0x3c44;
0x0044ecb8 b 0x44eb00 | goto label_1;
| label_11:
0x0044ecbc lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.heartbeat */
0x0044ecc0 addiu a3, a3, -0x3b9c | a3 += -0x3b9c;
0x0044ecc4 b 0x44eb00 | goto label_1;
| label_8:
0x0044ecc8 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.status_request */
0x0044eccc addiu a3, a3, -0x3c34 | a3 += -0x3c34;
0x0044ecd0 b 0x44eb00 | goto label_1;
| label_22:
0x0044ecd4 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.server_authz */
0x0044ecd8 addiu a3, a3, -0x3c04 | a3 += -0x3c04;
0x0044ecdc b 0x44eb00 | goto label_1;
| label_17:
0x0044ece0 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.client_certificate_URL */
0x0044ece4 addiu a3, a3, -0x3c6c | a3 += -0x3c6c;
0x0044ece8 b 0x44eb00 | goto label_1;
| }
0x0044ecec lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.max_fragment_length */
0x0044ecf0 addiu a3, a3, -0x3c80 | a3 += -0x3c80;
0x0044ecf4 b 0x44eb00 | goto label_1;
| label_21:
0x0044ecf8 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.next_protocol */
0x0044ecfc addiu a3, a3, -0x3b6c | a3 += -0x3b6c;
0x0044ed00 b 0x44eb00 | goto label_1;
| label_18:
0x0044ed04 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* esilref: 'SRP' */
0x0044ed08 addiu a3, a3, -0x3bc4 | a3 += -0x3bc4;
0x0044ed0c b 0x44eb00 | goto label_1;
| label_20:
0x0044ed10 lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.signature_algorithms */
0x0044ed14 addiu a3, a3, -0x3bc0 | a3 += -0x3bc0;
0x0044ed18 b 0x44eb00 | goto label_1;
| label_19:
0x0044ed1c lw a3, -0x7f9c(gp) | a3 = *(gp);
| /* str.EC_point_formats */
0x0044ed20 addiu a3, a3, -0x3bd8 | a3 += -0x3bd8;
0x0044ed24 b 0x44eb00 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x41dbb4 */
| #include <stdint.h>
|
; (fcn) sym.unpack_revinfo () | void unpack_revinfo () {
0x0041dbb4 lui gp, 8 |
0x0041dbb8 addiu gp, gp, -0x1714 |
0x0041dbbc addu gp, gp, t9 | gp += t9;
0x0041dbc0 addiu sp, sp, -0x40 |
0x0041dbc4 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0041dbc8 sw s7, 0x38(sp) | *(var_38h) = s7;
0x0041dbcc sw s6, 0x34(sp) | *(var_34h) = s6;
0x0041dbd0 sw s5, 0x30(sp) | *(var_30h) = s5;
0x0041dbd4 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0041dbd8 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0041dbdc sw s2, 0x24(sp) | *(var_24h) = s2;
0x0041dbe0 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0041dbe4 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0041dbe8 move s3, a0 | s3 = a0;
0x0041dbec lw t9, -0x71d0(gp) | t9 = sym.imp.BUF_strdup;
0x0041dbf0 move s5, a1 | s5 = a1;
0x0041dbf4 lw a0, 0x50(sp) | a0 = *(arg_50h);
0x0041dbf8 move s4, a2 | s4 = a2;
0x0041dbfc sw gp, 0x10(sp) | *(var_10h) = gp;
0x0041dc00 move s2, a3 | s2 = a3;
0x0041dc04 jalr t9 | t9 ();
0x0041dc08 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041dc0c move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0041dc10 beqz v0, 0x41df10 | goto label_8;
| }
0x0041dc14 lw t9, -0x72ec(gp) | t9 = sym.imp.strchr;
0x0041dc18 move a0, v0 | a0 = v0;
0x0041dc1c addiu a1, zero, 0x2c | a1 = 0x2c;
0x0041dc20 jalr t9 | t9 ();
0x0041dc24 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dc28 beqz v0, 0x41dea4 | goto label_9;
| }
0x0041dc2c lw t9, -0x72ec(gp) | t9 = sym.imp.strchr;
0x0041dc30 addiu s0, v0, 1 | s0 = v0 + 1;
0x0041dc34 addiu a1, zero, 0x2c | a1 = 0x2c;
0x0041dc38 move a0, s0 | a0 = s0;
0x0041dc3c sb zero, (v0) | *(v0) = 0;
0x0041dc40 jalr t9 | t9 ();
0x0041dc44 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dc48 beqz v0, 0x41deb0 | goto label_10;
| }
0x0041dc4c sb zero, (v0) | *(v0) = 0;
0x0041dc50 addiu s6, v0, 1 | s6 = v0 + 1;
| label_1:
0x0041dc54 lw t9, -0x7750(gp) | t9 = sym.imp.ASN1_UTCTIME_new;
| if (s3 != 0) {
0x0041dc58 beqz s3, 0x41dc88 |
0x0041dc5c jalr t9 | t9 ();
0x0041dc60 nop |
0x0041dc64 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041dc68 sw v0, (s3) | *(s3) = v0;
| if (v0 == 0) {
0x0041dc6c beqz v0, 0x41dee4 | goto label_11;
| }
0x0041dc70 lw t9, -0x7988(gp) | t9 = sym.imp.ASN1_UTCTIME_set_string;
0x0041dc74 move a0, v0 | a0 = v0;
0x0041dc78 move a1, s1 | a1 = s1;
0x0041dc7c jalr t9 | t9 ();
0x0041dc80 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dc84 beqz v0, 0x41de38 | goto label_12;
| }
| }
0x0041dc88 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (s0 == 0) {
0x0041dc8c beqz s0, 0x41deb8 | goto label_13;
| }
0x0041dc90 move a0, s0 | a0 = s0;
0x0041dc94 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.unspecified */
0x0041dc98 addiu a1, a1, -0x8c | a1 += -0x8c;
0x0041dc9c jalr t9 | t9 ();
0x0041dca0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dca4 beqz v0, 0x41dfc4 | goto label_14;
| }
0x0041dca8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dcac move a0, s0 | a0 = s0;
0x0041dcb0 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.keyCompromise */
0x0041dcb4 addiu a1, a1, -0x9c | a1 += -0x9c;
0x0041dcb8 jalr t9 | t9 ();
0x0041dcbc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dcc0 beqz v0, 0x41dfcc | goto label_15;
| }
0x0041dcc4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dcc8 move a0, s0 | a0 = s0;
0x0041dccc lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.CACompromise */
0x0041dcd0 addiu a1, a1, -0xac | a1 += -0xac;
0x0041dcd4 jalr t9 | t9 ();
0x0041dcd8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dcdc beqz v0, 0x41dfd4 | goto label_16;
| }
0x0041dce0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dce4 move a0, s0 | a0 = s0;
0x0041dce8 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.affiliationChanged */
0x0041dcec addiu a1, a1, -0xc0 | a1 += -0xc0;
0x0041dcf0 jalr t9 | t9 ();
0x0041dcf4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dcf8 beqz v0, 0x41df44 | goto label_17;
| }
0x0041dcfc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dd00 move a0, s0 | a0 = s0;
0x0041dd04 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.superseded */
0x0041dd08 addiu a1, a1, -0xcc | a1 += -0xcc;
0x0041dd0c jalr t9 | t9 ();
0x0041dd10 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dd14 beqz v0, 0x41dfdc | goto label_18;
| }
0x0041dd18 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dd1c move a0, s0 | a0 = s0;
0x0041dd20 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.cessationOfOperation */
0x0041dd24 addiu a1, a1, -0xe4 | a1 += -0xe4;
0x0041dd28 jalr t9 | t9 ();
0x0041dd2c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dd30 beqz v0, 0x41dfe4 | goto label_19;
| }
0x0041dd34 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dd38 move a0, s0 | a0 = s0;
0x0041dd3c lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.certificateHold */
0x0041dd40 addiu a1, a1, -0xf4 | a1 += -0xf4;
0x0041dd44 jalr t9 | t9 ();
0x0041dd48 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dd4c beqz v0, 0x41dfec | goto label_20;
| }
0x0041dd50 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dd54 move a0, s0 | a0 = s0;
0x0041dd58 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.removeFromCRL */
0x0041dd5c addiu a1, a1, -0x80 | a1 += -0x80;
0x0041dd60 jalr t9 | t9 ();
0x0041dd64 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dd68 beqz v0, 0x41dff4 | goto label_21;
| }
0x0041dd6c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dd70 move a0, s0 | a0 = s0;
0x0041dd74 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.holdInstruction */
0x0041dd78 addiu a1, a1, -0x10c | a1 += -0x10c;
0x0041dd7c jalr t9 | t9 ();
0x0041dd80 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dd84 beqz v0, 0x41e004 | goto label_22;
| }
0x0041dd88 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dd8c move a0, s0 | a0 = s0;
0x0041dd90 lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.keyTime */
0x0041dd94 addiu a1, a1, -0xfc | a1 += -0xfc;
0x0041dd98 jalr t9 | t9 ();
0x0041dd9c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041dda0 beqz v0, 0x41e040 | goto label_23;
| }
0x0041dda4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041dda8 move a0, s0 | a0 = s0;
0x0041ddac lw t9, -0x7d78(gp) | t9 = sym.imp.strcasecmp;
| /* str.CAkeyTime */
0x0041ddb0 addiu a1, a1, -0x118 | a1 += -0x118;
0x0041ddb4 jalr t9 | t9 ();
0x0041ddb8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041ddbc beqz v0, 0x41e048 | goto label_24;
| }
0x0041ddc0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041ddc4 move a2, s0 | a2 = s0;
0x0041ddc8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041ddcc lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041ddd0 lw a0, (t8) | a0 = *(t8);
| /* str.invalid_reason_code__s_n */
0x0041ddd4 addiu a1, a1, 0x8ac | a1 += 0x8ac;
| do {
0x0041ddd8 move s3, zero | s3 = 0;
0x0041dddc jalr t9 | t9 ();
0x0041dde0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041dde4 move s7, zero | s7 = 0;
0x0041dde8 move s0, zero | s0 = 0;
| label_2:
0x0041ddec lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0041ddf0 move a0, s1 | a0 = s1;
0x0041ddf4 jalr t9 | t9 ();
0x0041ddf8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s4 == 0) {
0x0041ddfc beqz s4, 0x41de54 | goto label_25;
| }
| label_3:
0x0041de00 lw t9, -0x7b3c(gp) | t9 = sym.imp.ASN1_GENERALIZEDTIME_free;
| if (s2 == 0) {
0x0041de04 beqz s2, 0x41de6c | goto label_26;
| }
| label_0:
0x0041de08 move v0, s0 | v0 = s0;
0x0041de0c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0041de10 lw s7, 0x38(sp) | s7 = *(var_38h);
0x0041de14 lw s6, 0x34(sp) | s6 = *(var_34h);
0x0041de18 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0041de1c lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0041de20 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0041de24 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0041de28 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0041de2c lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0041de30 addiu sp, sp, 0x40 |
0x0041de34 jr ra | return v0;
| label_12:
0x0041de38 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041de3c move a2, s1 | a2 = s1;
0x0041de40 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041de44 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041de48 lw a0, (t8) | a0 = *(t8);
| /* str.invalid_revocation_date__s_n */
0x0041de4c addiu a1, a1, 0x890 | a1 += 0x890;
0x0041de50 b 0x41ddd8 |
| } while (1);
| label_25:
0x0041de54 lw t9, -0x71c8(gp) | t9 = *((gp - 7282));
| label_4:
0x0041de58 move a0, s7 | a0 = s7;
0x0041de5c jalr t9 | t9 ();
0x0041de60 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 != 0) {
0x0041de64 bnez s2, 0x41de08 | goto label_0;
| }
0x0041de68 lw t9, -0x7b3c(gp) | t9 = sym.imp.ASN1_GENERALIZEDTIME_free;
| label_26:
0x0041de6c move a0, s3 | a0 = s3;
0x0041de70 jalr t9 | t9 ();
0x0041de74 move v0, s0 | v0 = s0;
0x0041de78 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0041de7c lw s7, 0x38(sp) | s7 = *(var_38h);
0x0041de80 lw s6, 0x34(sp) | s6 = *(var_34h);
0x0041de84 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0041de88 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0041de8c lw s3, 0x28(sp) | s3 = *(var_28h);
0x0041de90 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0041de94 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0041de98 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0041de9c addiu sp, sp, 0x40 |
0x0041dea0 jr ra | return v0;
| label_9:
0x0041dea4 move s6, zero | s6 = 0;
0x0041dea8 move s0, zero | s0 = 0;
0x0041deac b 0x41dc54 | goto label_1;
| label_10:
0x0041deb0 move s6, zero | s6 = 0;
0x0041deb4 b 0x41dc54 | goto label_1;
| label_13:
0x0041deb8 move s3, zero | s3 = 0;
0x0041debc move s7, zero | s7 = 0;
0x0041dec0 addiu s0, zero, -1 | s0 = -1;
| if (s5 != 0) {
| label_5:
0x0041dec4 beqz s5, 0x41ded0 |
0x0041dec8 nop |
0x0041decc sw s0, (s5) | *(s5) = s0;
| }
0x0041ded0 lw t9, -0x7b3c(gp) | t9 = sym.imp.ASN1_GENERALIZEDTIME_free;
| if (s2 == 0) {
0x0041ded4 beqz s2, 0x41dfb0 | goto label_27;
| }
0x0041ded8 sw s3, (s2) | *(s2) = s3;
0x0041dedc addiu s0, zero, 1 | s0 = 1;
0x0041dee0 b 0x41ddec | goto label_2;
| label_11:
0x0041dee4 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041dee8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041deec lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041def0 lw a0, (t8) | a0 = *(t8);
| /* str.memory_allocation_failure_n */
0x0041def4 addiu a1, a1, 0x874 | a1 += 0x874;
| label_7:
0x0041def8 move s3, zero | s3 = 0;
0x0041defc jalr t9 | t9 ();
0x0041df00 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041df04 move s7, zero | s7 = 0;
0x0041df08 move s0, zero | s0 = 0;
0x0041df0c b 0x41ddec | goto label_2;
| label_8:
0x0041df10 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041df14 move s3, zero | s3 = 0;
0x0041df18 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041df1c move s7, zero | s7 = 0;
0x0041df20 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041df24 move s0, zero | s0 = 0;
0x0041df28 lw a0, (t8) | a0 = *(t8);
| /* str.memory_allocation_failure_n */
0x0041df2c addiu a1, a1, 0x874 | a1 += 0x874;
0x0041df30 jalr t9 | t9 ();
0x0041df34 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s4 != 0) {
0x0041df38 bnez s4, 0x41de00 | goto label_3;
| }
0x0041df3c lw t9, -0x71c8(gp) | t9 = *((gp - 7282));
0x0041df40 b 0x41de58 | goto label_4;
| label_17:
0x0041df44 addiu s0, zero, 3 | s0 = 3;
| do {
| label_6:
0x0041df48 addiu t8, s0, -9 | t8 = s0 + -9;
0x0041df4c sltiu t8, t8, 2 | t8 = (t8 < 2) ? 1 : 0;
0x0041df50 move s3, zero | s3 = 0;
| if (t8 == 0) {
0x0041df54 bnez t8, 0x41df60 |
0x0041df58 move s7, zero | s7 = 0;
0x0041df5c b 0x41dec4 | goto label_5;
| }
0x0041df60 lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (s6 == 0) {
0x0041df64 beqz s6, 0x41e09c | goto label_28;
| }
0x0041df68 lw t9, -0x75a4(gp) | t9 = sym.imp.ASN1_GENERALIZEDTIME_new;
0x0041df6c jalr t9 | t9 ();
0x0041df70 nop |
0x0041df74 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041df78 move s3, v0 | s3 = v0;
| if (v0 == 0) {
0x0041df7c beqz v0, 0x41e0b0 | goto label_29;
| }
0x0041df80 lw t9, -0x7758(gp) | t9 = sym.imp.ASN1_GENERALIZEDTIME_set_string;
0x0041df84 move a0, v0 | a0 = v0;
0x0041df88 move a1, s6 | a1 = s6;
0x0041df8c jalr t9 | t9 ();
0x0041df90 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0041df94 beqz v0, 0x41e064 | goto label_30;
| }
0x0041df98 xori v0, s0, 9 | v0 = s0 ^ 9;
0x0041df9c addiu t8, zero, 2 | t8 = 2;
0x0041dfa0 addiu s0, zero, 1 | s0 = 1;
0x0041dfa4 move s7, zero | s7 = 0;
| if (v0 == 0) {
0x0041dfa8 movn s0, t8, v0 | s0 = t8;
| }
0x0041dfac b 0x41dec4 | goto label_5;
| label_27:
0x0041dfb0 move a0, s3 | a0 = s3;
0x0041dfb4 addiu s0, zero, 1 | s0 = 1;
0x0041dfb8 jalr t9 | t9 ();
0x0041dfbc lw gp, 0x10(sp) | gp = *(var_10h);
0x0041dfc0 b 0x41ddec | goto label_2;
| label_14:
0x0041dfc4 move s0, zero | s0 = 0;
0x0041dfc8 b 0x41df48 |
| } while (1);
| label_15:
0x0041dfcc addiu s0, zero, 1 | s0 = 1;
0x0041dfd0 b 0x41df48 | goto label_6;
| label_16:
0x0041dfd4 addiu s0, zero, 2 | s0 = 2;
0x0041dfd8 b 0x41df48 | goto label_6;
| label_18:
0x0041dfdc addiu s0, zero, 4 | s0 = 4;
0x0041dfe0 b 0x41df48 | goto label_6;
| label_19:
0x0041dfe4 addiu s0, zero, 5 | s0 = 5;
0x0041dfe8 b 0x41df48 | goto label_6;
| label_20:
0x0041dfec addiu s0, zero, 6 | s0 = 6;
0x0041dff0 b 0x41df48 | goto label_6;
| label_21:
0x0041dff4 move s3, zero | s3 = 0;
0x0041dff8 move s7, zero | s7 = 0;
0x0041dffc addiu s0, zero, 8 | s0 = 8;
0x0041e000 b 0x41dec4 | goto label_5;
| label_22:
0x0041e004 lw t8, -0x7fd4(gp) | t8 = *(gp);
| if (s6 != 0) {
0x0041e008 beqz s6, 0x41e050 |
0x0041e00c lw t9, -0x7ca4(gp) | t9 = sym.imp.OBJ_txt2obj;
0x0041e010 move a0, s6 | a0 = s6;
0x0041e014 move a1, zero | a1 = 0;
0x0041e018 jalr t9 | t9 ();
0x0041e01c lw gp, 0x10(sp) | gp = *(var_10h);
0x0041e020 move s7, v0 | s7 = v0;
| if (v0 == 0) {
0x0041e024 beqz v0, 0x41e0d8 | goto label_31;
| }
| if (s4 == 0) {
0x0041e028 beqz s4, 0x41e090 | goto label_32;
| }
0x0041e02c nop |
0x0041e030 sw v0, (s4) | *(s4) = v0;
0x0041e034 move s3, zero | s3 = 0;
0x0041e038 addiu s0, zero, 6 | s0 = 6;
0x0041e03c b 0x41dec4 | goto label_5;
| label_23:
0x0041e040 addiu s0, zero, 9 | s0 = 9;
0x0041e044 b 0x41df48 | goto label_6;
| label_24:
0x0041e048 addiu s0, zero, 0xa | s0 = 0xa;
0x0041e04c b 0x41df48 | goto label_6;
| }
0x0041e050 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041e054 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041e058 lw a0, (t8) | a0 = *(t8);
| /* str.missing_hold_instruction_n */
0x0041e05c addiu a1, a1, 0x8c4 | a1 += 0x8c4;
0x0041e060 b 0x41def8 | goto label_7;
| label_30:
0x0041e064 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041e068 move a2, s6 | a2 = s6;
0x0041e06c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041e070 move s7, zero | s7 = 0;
0x0041e074 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041e078 move s0, zero | s0 = 0;
0x0041e07c lw a0, (t8) | a0 = *(t8);
| /* str.invalid_compromised_time__s_n */
0x0041e080 addiu a1, a1, 0x91c | a1 += 0x91c;
0x0041e084 jalr t9 | t9 ();
0x0041e088 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041e08c b 0x41ddec | goto label_2;
| label_32:
0x0041e090 move s3, zero | s3 = 0;
0x0041e094 addiu s0, zero, 6 | s0 = 6;
0x0041e098 b 0x41dec4 | goto label_5;
| label_28:
0x0041e09c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041e0a0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041e0a4 lw a0, (t8) | a0 = *(t8);
| /* str.missing_compromised_time_n */
0x0041e0a8 addiu a1, a1, 0x900 | a1 += 0x900;
0x0041e0ac b 0x41def8 | goto label_7;
| label_29:
0x0041e0b0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041e0b4 move s7, zero | s7 = 0;
0x0041e0b8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041e0bc move s0, zero | s0 = 0;
0x0041e0c0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041e0c4 lw a0, (t8) | a0 = *(t8);
| /* str.memory_allocation_failure_n */
0x0041e0c8 addiu a1, a1, 0x874 | a1 += 0x874;
0x0041e0cc jalr t9 | t9 ();
0x0041e0d0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0041e0d4 b 0x41ddec | goto label_2;
| label_31:
0x0041e0d8 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0041e0dc move a2, s6 | a2 = s6;
0x0041e0e0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0041e0e4 move s3, zero | s3 = 0;
0x0041e0e8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0041e0ec move s0, zero | s0 = 0;
0x0041e0f0 lw a0, (t8) | a0 = *(t8);
| /* str.invalid_object_identifier__s_n */
0x0041e0f4 addiu a1, a1, 0x8e0 | a1 += 0x8e0;
0x0041e0f8 jalr t9 | t9 ();
0x0041e0fc lw gp, 0x10(sp) | gp = *(var_10h);
0x0041e100 b 0x41ddec | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ce04 */
| #include <stdint.h>
|
; (fcn) sym.verify_callback () | void verify_callback () {
0x0044ce04 lui gp, 5 |
0x0044ce08 addiu gp, gp, -0x964 |
0x0044ce0c addu gp, gp, t9 | gp += t9;
0x0044ce10 addiu sp, sp, -0x40 |
0x0044ce14 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0044ce18 sw s7, 0x38(sp) | *(var_38h) = s7;
0x0044ce1c sw s6, 0x34(sp) | *(var_34h) = s6;
0x0044ce20 sw s5, 0x30(sp) | *(var_30h) = s5;
0x0044ce24 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0044ce28 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0044ce2c sw s2, 0x24(sp) | *(var_24h) = s2;
0x0044ce30 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044ce34 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044ce38 move s0, a0 | s0 = a0;
0x0044ce3c lw t9, -0x73f4(gp) | t9 = sym.imp.X509_STORE_CTX_get_current_cert;
0x0044ce40 move a0, a1 | a0 = a1;
0x0044ce44 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0044ce48 lw s3, -0x7e9c(gp) | s3 = *(gp);
0x0044ce4c move s1, a1 | s1 = a1;
0x0044ce50 jalr t9 | t9 ();
0x0044ce54 move a0, s1 | a0 = s1;
0x0044ce58 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ce5c lw t9, -0x74ec(gp) | t9 = sym.imp.X509_STORE_CTX_get_error;
0x0044ce60 move s4, v0 | s4 = v0;
0x0044ce64 jalr t9 | t9 ();
0x0044ce68 move a0, s1 | a0 = s1;
0x0044ce6c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ce70 lw t9, -0x75f0(gp) | t9 = sym.imp.X509_STORE_CTX_get_error_depth;
0x0044ce74 move s2, v0 | s2 = v0;
0x0044ce78 jalr t9 | t9 ();
0x0044ce7c lw t8, (s3) | t8 = *(s3);
0x0044ce80 move s6, v0 | s6 = v0;
0x0044ce84 lw gp, 0x10(sp) | gp = *(var_10h);
| if (t8 != 0) {
0x0044ce88 beqz t8, 0x44ce94 |
0x0044ce8c sltiu t8, s2, 0x2c | t8 = (s2 < 0x2c) ? 1 : 0;
| if (s0 != 0) {
0x0044ce90 bnez s0, 0x44cf0c | goto label_3;
| }
| }
0x0044ce94 lw s5, -0x7fd4(gp) | s5 = *(gp);
0x0044ce98 move a2, s6 | a2 = s6;
0x0044ce9c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044cea0 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044cea4 lw a0, (s5) | a0 = *(s5);
| /* str.depth_d_ */
0x0044cea8 addiu a1, a1, -0x45f8 | a1 += -0x45f8;
0x0044ceac jalr t9 | t9 ();
0x0044ceb0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s4 == 0) {
0x0044ceb4 beqz s4, 0x44d14c | goto label_4;
| }
0x0044ceb8 lw t9, -0x7d7c(gp) | t9 = sym.imp.X509_get_subject_name;
0x0044cebc move a0, s4 | a0 = s4;
0x0044cec0 lw s7, (s5) | s7 = *(s5);
0x0044cec4 jalr t9 | t9 ();
0x0044cec8 lui a3, 0x82 | a3 = 0x820000;
0x0044cecc lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ced0 move a0, s7 | a0 = s7;
0x0044ced4 move a1, v0 | a1 = v0;
0x0044ced8 move a2, zero | a2 = 0;
0x0044cedc lw t9, -0x7da0(gp) | t9 = sym.imp.X509_NAME_print_ex;
0x0044cee0 addiu a3, a3, 0x31f | a3 += 0x31f;
0x0044cee4 jalr t9 | t9 ();
0x0044cee8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044ceec lw a0, (s5) | a0 = *(s5);
0x0044cef0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044cef4 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044cef8 addiu a1, a1, 0x609c | a1 += 0x609c;
0x0044cefc jalr t9 | t9 ();
0x0044cf00 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s0 == 0) {
0x0044cf04 beqz s0, 0x44cf34 | goto label_5;
| }
| label_0:
0x0044cf08 sltiu t8, s2, 0x2c | t8 = (s2 < 0x2c) ? 1 : 0;
| if (t8 == 0) {
| label_3:
0x0044cf0c beqz t8, 0x44cf98 | goto label_6;
| }
0x0044cf10 nop |
| do {
0x0044cf14 lw v0, -0x7f9c(gp) | v0 = *(gp);
0x0044cf18 sll t8, s2, 2 | t8 = s2 << 2;
0x0044cf1c addiu v0, v0, -0x37e0 | v0 += -0x37e0;
0x0044cf20 addu t8, v0, t8 | t8 = v0 + t8;
0x0044cf24 lw t8, (t8) | t8 = *(t8);
0x0044cf28 addu t8, t8, gp | t8 += gp;
0x0044cf2c jr t8 | t8 ();
0x0044cf30 nop |
| label_5:
0x0044cf34 lw t9, -0x7498(gp) | t9 = sym.imp.X509_verify_cert_error_string;
| label_2:
0x0044cf38 move a0, s2 | a0 = s2;
0x0044cf3c lw s5, (s5) | s5 = *(s5);
0x0044cf40 jalr t9 | t9 ();
0x0044cf44 move a2, s2 | a2 = s2;
0x0044cf48 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044cf4c move a0, s5 | a0 = s5;
0x0044cf50 move a3, v0 | a3 = v0;
0x0044cf54 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044cf58 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
| /* str.verify_error:num_d:_s_n */
0x0044cf5c addiu a1, a1, -0x45e0 | a1 += -0x45e0;
0x0044cf60 jalr t9 | t9 ();
0x0044cf64 lw gp, 0x10(sp) | gp = *(var_10h);
0x0044cf68 lw t8, -0x7eec(gp) | t8 = *(gp);
0x0044cf6c lw t8, (t8) | t8 = *(t8);
0x0044cf70 slt s6, t8, s6 | s6 = (t8 < s6) ? 1 : 0;
0x0044cf74 lw t8, -0x7e24(gp) | t8 = *(gp);
| if (s6 != 0) {
0x0044cf78 bnez s6, 0x44d110 | goto label_7;
| }
0x0044cf7c lw t8, -0x7ea0(gp) | t8 = *(gp);
0x0044cf80 lw s0, (t8) | s0 = *(t8);
0x0044cf84 lw t8, -0x7e24(gp) | t8 = *(gp);
0x0044cf88 sw zero, (t8) | *(t8) = 0;
0x0044cf8c sltiu t8, s2, 0x2c | t8 = (s2 < 0x2c) ? 1 : 0;
0x0044cf90 sltiu s0, s0, 1 | s0 = (s0 < 1) ? 1 : 0;
0x0044cf94 bnez t8, 0x44cf14 |
| } while (t8 != 0);
| label_6:
0x0044cf98 addiu t8, zero, 2 | t8 = 2;
| if (s2 == 0) {
0x0044cf9c bnez s2, 0x44cfa8 |
| if (s0 == t8) {
0x0044cfa0 beq s0, t8, 0x44d11c | goto label_8;
| }
0x0044cfa4 nop |
| }
0x0044cfa8 move v0, s0 | v0 = s0;
| if (s0 == 0) {
0x0044cfac beqz s0, 0x44cfdc | goto label_9;
| }
0x0044cfb0 lw t8, (s3) | t8 = *(s3);
| label_1:
0x0044cfb4 move v0, s0 | v0 = s0;
| if (t8 != 0) {
0x0044cfb8 bnez t8, 0x44cfdc | goto label_9;
| }
0x0044cfbc lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044cfc0 move a2, s0 | a2 = s0;
0x0044cfc4 lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044cfc8 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044cfcc lw a0, (t8) | a0 = *(t8);
| /* str.verify_return:_d_n */
0x0044cfd0 addiu a1, a1, -0x45c8 | a1 += -0x45c8;
0x0044cfd4 jalr t9 | t9 ();
0x0044cfd8 move v0, s0 | v0 = s0;
| do {
| label_9:
0x0044cfdc lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0044cfe0 lw s7, 0x38(sp) | s7 = *(var_38h);
0x0044cfe4 lw s6, 0x34(sp) | s6 = *(var_34h);
0x0044cfe8 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0044cfec lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0044cff0 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0044cff4 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0044cff8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044cffc lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044d000 addiu sp, sp, 0x40 |
0x0044d004 jr ra | return v0;
| label_7:
0x0044d110 addiu v0, zero, 0x16 | v0 = 0x16;
0x0044d114 sw v0, (t8) | *(t8) = v0;
0x0044d118 b 0x44cf08 | goto label_0;
| label_8:
0x0044d11c lw t8, (s3) | t8 = *(s3);
0x0044d120 move v0, s0 | v0 = s0;
0x0044d124 bnez t8, 0x44cfdc |
| } while (t8 != 0);
0x0044d128 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044d12c move a1, s1 | a1 = s1;
0x0044d130 lw t9, -0x7e74(gp) | t9 = sym.policies_print;
0x0044d134 lw a0, (t8) | a0 = *(t8);
0x0044d138 jalr t9 | t9 ();
0x0044d13c lw gp, 0x10(sp) | gp = *(var_10h);
0x0044d140 lw t8, -0x7e9c(gp) | t8 = *(gp);
0x0044d144 lw t8, (t8) | t8 = *(t8);
0x0044d148 b 0x44cfb4 | goto label_1;
| label_4:
0x0044d14c lw a1, -0x7f9c(gp) | a1 = *(gp);
0x0044d150 lw t9, -0x6fcc(gp) | t9 = sym.imp.BIO_puts;
0x0044d154 lw a0, (s5) | a0 = *(s5);
| /* str._no_cert__n */
0x0044d158 addiu a1, a1, -0x45ec | a1 += -0x45ec;
0x0044d15c jalr t9 | t9 ();
0x0044d160 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s0 != 0) {
0x0044d164 bnez s0, 0x44cf08 | goto label_0;
| }
0x0044d168 lw t9, -0x7498(gp) | t9 = sym.imp.X509_verify_cert_error_string;
0x0044d16c b 0x44cf38 | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/openssl @ 0x44ef94 */
| #include <stdint.h>
|
; (fcn) sym.verify_cookie_callback () | void verify_cookie_callback () {
0x0044ef94 lui gp, 5 |
0x0044ef98 addiu gp, gp, -0x2af4 |
0x0044ef9c addu gp, gp, t9 | gp += t9;
0x0044efa0 addiu sp, sp, -0xa0 |
0x0044efa4 sw ra, 0x9c(sp) | *(var_9ch) = ra;
0x0044efa8 sw s4, 0x98(sp) | *(var_98h) = s4;
0x0044efac sw s3, 0x94(sp) | *(var_94h) = s3;
0x0044efb0 sw s2, 0x90(sp) | *(var_90h) = s2;
0x0044efb4 sw s1, 0x8c(sp) | *(var_8ch) = s1;
0x0044efb8 sw s0, 0x88(sp) | *(var_88h) = s0;
0x0044efbc lw t8, -0x7dec(gp) | t8 = *(gp);
0x0044efc0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0044efc4 lw t8, (t8) | t8 = *(t8);
0x0044efc8 lw t9, -0x79d8(gp) | t9 = sym.imp.SSL_get_rbio;
0x0044efcc bnez t8, 0x44eff4 |
| while (s1 != t8) {
0x0044efd0 move v0, zero | v0 = 0;
| label_2:
0x0044efd4 lw ra, 0x9c(sp) | ra = *(var_9ch);
0x0044efd8 lw s4, 0x98(sp) | s4 = *(var_98h);
0x0044efdc lw s3, 0x94(sp) | s3 = *(var_94h);
0x0044efe0 lw s2, 0x90(sp) | s2 = *(var_90h);
0x0044efe4 lw s1, 0x8c(sp) | s1 = *(var_8ch);
0x0044efe8 lw s0, 0x88(sp) | s0 = *(var_88h);
0x0044efec addiu sp, sp, 0xa0 |
0x0044eff0 jr ra | return v0;
0x0044eff4 move s2, a1 | s2 = a1;
0x0044eff8 move s1, a2 | s1 = a2;
0x0044effc jalr t9 | t9 ();
0x0044f000 addiu a1, zero, 0x2e | a1 = 0x2e;
0x0044f004 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f008 move a0, v0 | a0 = v0;
0x0044f00c move a2, zero | a2 = 0;
0x0044f010 lw t9, -0x7a60(gp) | t9 = sym.imp.BIO_ctrl;
0x0044f014 addiu a3, sp, 0x68 | a3 = sp + 0x68;
0x0044f018 jalr t9 | t9 ();
0x0044f01c addiu v0, zero, 2 | v0 = 2;
0x0044f020 lhu t8, 0x68(sp) | t8 = *(var_68h);
0x0044f024 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 == v0) {
0x0044f028 beq t8, v0, 0x44f16c | goto label_3;
| }
0x0044f02c addiu v0, zero, 0xa | v0 = 0xa;
0x0044f030 lw s3, -0x7f9c(gp) | s3 = *(gp);
| if (t8 == v0) {
0x0044f034 beq t8, v0, 0x44f160 | goto label_4;
| }
0x0044f038 addiu a1, zero, 0x45e | a1 = 0x45e;
0x0044f03c lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0044f040 move s4, zero | s4 = 0;
0x0044f044 lw t9, -0x73cc(gp) | t9 = sym.imp.OpenSSLDie;
| /* str.s_cb.c */
0x0044f048 addiu a0, s3, -0x436c | a0 = s3 + -0x436c;
0x0044f04c addiu a2, a2, -0x274 | a2 += -0x274;
0x0044f050 jalr t9 | t9 ();
0x0044f054 move a0, zero | a0 = 0;
0x0044f058 lw gp, 0x20(sp) | gp = *(var_20h);
| label_0:
0x0044f05c lw t9, -0x7cd8(gp) | t9 = sym.imp.CRYPTO_malloc;
| /* str.s_cb.c */
0x0044f060 addiu a1, s3, -0x436c | a1 = s3 + -0x436c;
0x0044f064 addiu a2, zero, 0x461 | a2 = 0x461;
0x0044f068 jalr t9 | t9 ();
0x0044f06c lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f070 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x0044f074 beqz v0, 0x44f1bc | goto label_5;
| }
0x0044f078 lhu t8, 0x68(sp) | t8 = *(var_68h);
0x0044f07c addiu v0, zero, 2 | v0 = 2;
0x0044f080 addiu v0, zero, 0xa | v0 = 0xa;
| if (t8 == v0) {
0x0044f084 beq t8, v0, 0x44f198 | goto label_6;
| }
0x0044f088 lw a2, -0x7fd8(gp) | a2 = *(gp);
| if (t8 != v0) {
0x0044f08c bne t8, v0, 0x44f17c | goto label_7;
| }
0x0044f090 lbu v0, 0x6a(sp) | v0 = *(var_6ah);
0x0044f094 addiu t8, s0, 2 | t8 = s0 + 2;
0x0044f098 sb v0, (s0) | *(s0) = v0;
0x0044f09c lbu v0, 0x6b(sp) | v0 = *(var_6bh);
0x0044f0a0 sb v0, 1(s0) | *((s0 + 1)) = v0;
0x0044f0a4 lw a1, 0x70(sp) | a1 = *(var_70h);
0x0044f0a8 lw a0, 0x74(sp) | a0 = *(var_74h);
0x0044f0ac lw v1, 0x78(sp) | v1 = *(var_78h);
0x0044f0b0 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x0044f0b4 swl a1, 3(t8) | __asm ("swl a1, 3(t8)");
0x0044f0b8 swr a1, (t8) | __asm ("swr a1, (t8)");
0x0044f0bc swl a0, 7(t8) | __asm ("swl a0, 7(t8)");
0x0044f0c0 swr a0, 4(t8) | __asm ("swr a0, 4(t8)");
0x0044f0c4 swl v1, 0xb(t8) | __asm ("swl v1, 0xb(t8)");
0x0044f0c8 swr v1, 8(t8) | __asm ("swr v1, 8(t8)");
0x0044f0cc swl v0, 0xf(t8) | __asm ("swl v0, 0xf(t8)");
0x0044f0d0 swr v0, 0xc(t8) | __asm ("swr v0, 0xc(t8)");
| label_1:
0x0044f0d4 lw t9, -0x7294(gp) | t9 = sym.imp.EVP_sha1;
0x0044f0d8 addiu s3, sp, 0x28 | s3 = sp + 0x28;
0x0044f0dc jalr t9 | t9 ();
0x0044f0e0 addiu t8, sp, 0x84 | t8 = sp + 0x84;
0x0044f0e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f0e8 move a0, v0 | a0 = v0;
0x0044f0ec sw t8, 0x18(sp) | *(var_18h) = t8;
0x0044f0f0 addiu a2, zero, 0x10 | a2 = 0x10;
0x0044f0f4 lw t9, -0x7a54(gp) | t9 = sym.imp.HMAC;
0x0044f0f8 move a3, s0 | a3 = s0;
0x0044f0fc lw a1, -0x7de8(gp) | a1 = *(gp);
0x0044f100 sw s4, 0x10(sp) | *(var_10h) = s4;
0x0044f104 sw s3, 0x14(sp) | *(var_14h) = s3;
0x0044f108 jalr t9 | t9 ();
0x0044f10c lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f110 lw t9, -0x7ce8(gp) | t9 = sym.imp.CRYPTO_free;
0x0044f114 move a0, s0 | a0 = s0;
0x0044f118 jalr t9 | t9 ();
0x0044f11c lw t8, 0x84(sp) | t8 = *(var_84h);
0x0044f120 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f124 bne s1, t8, 0x44efd0 |
| }
0x0044f128 lw t9, -0x6c68(gp) | t9 = sym.imp.memcmp;
0x0044f12c move a0, s3 | a0 = s3;
0x0044f130 move a1, s2 | a1 = s2;
0x0044f134 move a2, s1 | a2 = s1;
0x0044f138 jalr t9 | t9 ();
0x0044f13c lw ra, 0x9c(sp) | ra = *(var_9ch);
0x0044f140 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x0044f144 lw s4, 0x98(sp) | s4 = *(var_98h);
0x0044f148 lw s3, 0x94(sp) | s3 = *(var_94h);
0x0044f14c lw s2, 0x90(sp) | s2 = *(var_90h);
0x0044f150 lw s1, 0x8c(sp) | s1 = *(var_8ch);
0x0044f154 lw s0, 0x88(sp) | s0 = *(var_88h);
0x0044f158 addiu sp, sp, 0xa0 |
0x0044f15c jr ra | return v0;
| label_4:
0x0044f160 addiu a0, zero, 0x12 | a0 = 0x12;
0x0044f164 addiu s4, zero, 0x12 | s4 = 0x12;
0x0044f168 b 0x44f05c | goto label_0;
| label_3:
0x0044f16c addiu a0, zero, 6 | a0 = 6;
0x0044f170 addiu s4, zero, 6 | s4 = 6;
0x0044f174 lw s3, -0x7f9c(gp) | s3 = *(gp);
0x0044f178 b 0x44f05c | goto label_0;
| /* str.s_cb.c */
| label_7:
0x0044f17c addiu a0, s3, -0x436c | a0 = s3 + -0x436c;
0x0044f180 lw t9, -0x73cc(gp) | t9 = sym.imp.OpenSSLDie;
0x0044f184 addiu a1, zero, 0x476 | a1 = 0x476;
0x0044f188 addiu a2, a2, -0x274 | a2 += -0x274;
0x0044f18c jalr t9 | t9 ();
0x0044f190 lw gp, 0x20(sp) | gp = *(var_20h);
0x0044f194 b 0x44f0d4 | goto label_1;
| label_6:
0x0044f198 lbu v0, 0x6a(sp) | v0 = *(var_6ah);
0x0044f19c addiu t8, s0, 2 | t8 = s0 + 2;
0x0044f1a0 sb v0, (s0) | *(s0) = v0;
0x0044f1a4 lbu v0, 0x6b(sp) | v0 = *(var_6bh);
0x0044f1a8 sb v0, 1(s0) | *((s0 + 1)) = v0;
0x0044f1ac lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0044f1b0 swl v0, 5(s0) | __asm ("swl v0, 5(s0)");
0x0044f1b4 swr v0, (t8) | __asm ("swr v0, (t8)");
0x0044f1b8 b 0x44f0d4 | goto label_1;
| label_5:
0x0044f1bc lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0044f1c0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0044f1c4 lw t9, -0x780c(gp) | t9 = sym.imp.BIO_printf
0x0044f1c8 lw a0, (t8) | a0 = *(t8);
| /* str.out_of_memory_n */
0x0044f1cc addiu a1, a1, -0x1a30 | a1 += -0x1a30;
0x0044f1d0 jalr t9 | t9 ();
0x0044f1d4 move v0, zero | v0 = 0;
0x0044f1d8 b 0x44efd4 | goto label_2;
| }
[*] Function printf used 353 times openssl