[*] Binary protection state of libcrypto.so.1.1
Full RELRO No Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libcrypto.so.1.1
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x4ca58 */
| #include <stdint.h>
|
; (fcn) fcn.0004ca58 () | void fcn_0004ca58 () {
0x0004ca58 lui gp, 0x18 |
0x0004ca5c addiu gp, gp, -0x5e98 |
0x0004ca60 addu gp, gp, t9 | gp += t9;
0x0004ca64 addiu sp, sp, -0x110 |
0x0004ca68 addiu v0, zero, 0x81 | v0 = 0x81;
0x0004ca6c sw s5, 0xfc(sp) | *(var_fch) = s5;
0x0004ca70 lw s5, 0x120(sp) | s5 = *(arg_120h);
0x0004ca74 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0004ca78 sw s2, 0xf0(sp) | *(var_f0h) = s2;
0x0004ca7c sw ra, 0x10c(sp) | *(var_10ch) = ra;
0x0004ca80 sw fp, 0x108(sp) | *(var_108h) = fp;
0x0004ca84 sw s7, 0x104(sp) | *(var_104h) = s7;
0x0004ca88 sw s6, 0x100(sp) | *(var_100h) = s6;
0x0004ca8c sw s4, 0xf8(sp) | *(var_f8h) = s4;
0x0004ca90 sw s3, 0xf4(sp) | *(var_f4h) = s3;
0x0004ca94 sw s1, 0xec(sp) | *(var_ech) = s1;
0x0004ca98 sw s0, 0xe8(sp) | *(var_e8h) = s0;
0x0004ca9c sw a3, 0x11c(sp) | *(arg_11ch) = a3;
0x0004caa0 lw s2, 0x128(sp) | s2 = *(arg_128h);
0x0004caa4 sw zero, 0xa8(sp) | *(var_a8h) = 0;
| if (s5 != v0) {
0x0004caa8 bne s5, v0, 0x4caf4 | goto label_30;
| }
0x0004caac lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cab0 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004cab4 addiu a1, a1, 0x2584 | a1 += 0x2584;
0x0004cab8 move s1, zero | s1 = 0;
0x0004cabc bal 0x641d8 | sym_BIO_puts ();
| do {
0x0004cac0 lw ra, 0x10c(sp) | ra = *(var_10ch);
0x0004cac4 move v0, s1 | v0 = s1;
0x0004cac8 lw fp, 0x108(sp) | fp = *(var_108h);
0x0004cacc lw s7, 0x104(sp) | s7 = *(var_104h);
0x0004cad0 lw s6, 0x100(sp) | s6 = *(var_100h);
0x0004cad4 lw s5, 0xfc(sp) | s5 = *(var_fch);
0x0004cad8 lw s4, 0xf8(sp) | s4 = *(var_f8h);
0x0004cadc lw s3, 0xf4(sp) | s3 = *(var_f4h);
0x0004cae0 lw s2, 0xf0(sp) | s2 = *(var_f0h);
0x0004cae4 lw s1, 0xec(sp) | s1 = *(var_ech);
0x0004cae8 lw s0, 0xe8(sp) | s0 = *(var_e8h);
0x0004caec addiu sp, sp, 0x110 |
0x0004caf0 jr ra | return v0;
| label_30:
0x0004caf4 lw v0, (a1) | v0 = *(a1);
0x0004caf8 lw v1, 0x124(sp) | v1 = *(arg_124h);
0x0004cafc sw v0, 0xbc(sp) | *(var_bch) = v0;
0x0004cb00 addu v0, v0, a2 | v0 += a2;
0x0004cb04 sw v0, 0xd0(sp) | *(var_d0h) = v0;
0x0004cb08 move v0, s5 | v0 = s5;
| if (v1 != 0) {
0x0004cb0c movz v0, zero, v1 | v0 = 0;
| }
0x0004cb10 sw v0, 0xd8(sp) | *(var_d8h) = v0;
0x0004cb14 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0004cb18 move s0, a0 | s0 = a0;
0x0004cb1c addiu v0, v0, 0x257c | v0 += 0x257c;
0x0004cb20 sw v0, 0xdc(sp) | *(var_dch) = v0;
0x0004cb24 lw v0, -0x7d58(gp) | v0 = *((gp - 8022));
0x0004cb28 move s7, a1 | s7 = a1;
0x0004cb2c addiu v0, v0, -0x35a8 | v0 += -0x35a8;
0x0004cb30 move s1, a2 | s1 = a2;
0x0004cb34 move s3, zero | s3 = 0;
0x0004cb38 sw v0, 0xd4(sp) | *(var_d4h) = v0;
| label_6:
0x0004cb3c addiu v0, sp, 0xbc | v0 = sp + 0xbc;
| if (s1 <= 0) {
0x0004cb40 bgtz s1, 0x4cb50 |
0x0004cb44 move s4, zero | s4 = 0;
0x0004cb48 addiu s1, zero, 1 | s1 = 1;
0x0004cb4c b 0x4cbf4 |
| } else {
0x0004cb50 lw t9, -0x7f78(gp) | t9 = *((gp - 8158));
0x0004cb54 sw v0, 0xcc(sp) | *(var_cch) = v0;
0x0004cb58 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0004cb5c addiu a3, sp, 0xac | a3 = sp + 0xac;
0x0004cb60 addiu a2, sp, 0xb0 | a2 = sp + 0xb0;
0x0004cb64 addiu a1, sp, 0xb4 | a1 = sp + 0xb4;
0x0004cb68 move a0, v0 | a0 = v0;
0x0004cb6c lw s6, 0xbc(sp) | s6 = *(var_bch);
0x0004cb70 bal 0x4c158 | sym_ASN1_get_object ();
0x0004cb74 move fp, v0 | fp = v0;
0x0004cb78 andi v0, v0, 0x80 | v0 &= 0x80;
0x0004cb7c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0004cb80 beqz v0, 0x4cbac |
0x0004cb84 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cb88 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004cb8c addiu a2, zero, 0x12 | a2 = 0x12;
0x0004cb90 addiu a1, a1, 0x259c | a1 += aav.0x0000259c;
0x0004cb94 move a0, s0 | a0 = s0;
0x0004cb98 bal 0x64154 | sym_BIO_write ();
0x0004cb9c lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cba0 move s4, zero | s4 = 0;
| label_28:
0x0004cba4 move s1, zero | s1 = 0;
0x0004cba8 b 0x4cbf4 |
| } else {
0x0004cbac lw v0, 0xbc(sp) | v0 = *(var_bch);
0x0004cbb0 lw a2, (s7) | a2 = *(s7);
0x0004cbb4 subu s4, v0, s6 | __asm ("subu s4, v0, s6");
0x0004cbb8 sw v0, 0xc0(sp) | *(var_c0h) = v0;
0x0004cbbc subu v0, s1, s4 | __asm ("subu v0, s1, s4");
0x0004cbc0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cbc4 sw v0, 0xc8(sp) | *(var_c8h) = v0;
0x0004cbc8 lw v0, 0x11c(sp) | v0 = *(arg_11ch);
0x0004cbcc lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004cbd0 subu a2, s6, a2 | __asm ("subu a2, s6, a2");
0x0004cbd4 addu a2, a2, v0 | a2 += v0;
0x0004cbd8 addiu a1, a1, 0x25b0 | a1 += 0x25b0;
0x0004cbdc move a0, s0 | a0 = s0;
0x0004cbe0 bal 0x60608 | sym_BIO_printf ()
0x0004cbe4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x0004cbe8 bgtz v0, 0x4cc1c | goto label_31;
| }
| label_0:
0x0004cbec move s1, zero | s1 = 0;
| label_10:
0x0004cbf0 move s4, zero | s4 = 0;
| }
| }
| label_13:
0x0004cbf4 lw t9, -0x7e80(gp) | t9 = *((gp - 8096));
0x0004cbf8 lw a0, 0xa8(sp) | a0 = *(var_a8h);
0x0004cbfc bal 0x45c40 | sym_ASN1_OBJECT_free ();
0x0004cc00 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cc04 lw t9, -0x7d84(gp) | t9 = *((gp - 8033));
0x0004cc08 move a0, s4 | a0 = s4;
0x0004cc0c bal 0x58e84 | sym_ASN1_OCTET_STRING_free ();
0x0004cc10 lw v0, 0xbc(sp) | v0 = *(var_bch);
0x0004cc14 sw v0, (s7) | *(s7) = v0;
0x0004cc18 b 0x4cac0 |
| } while (1);
| label_31:
0x0004cc1c addiu v0, zero, 0x21 | v0 = 0x21;
0x0004cc20 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
| if (fp == v0) {
0x0004cc24 beq fp, v0, 0x4cd68 | goto label_32;
| }
0x0004cc28 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cc2c lw v0, 0xb4(sp) | v0 = *(var_b4h);
0x0004cc30 move a3, s4 | a3 = s4;
0x0004cc34 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004cc38 move a2, s5 | a2 = s5;
0x0004cc3c addiu a1, a1, 0x25b8 | a1 += 0x25b8;
0x0004cc40 move a0, s0 | a0 = s0;
0x0004cc44 bal 0x60608 | sym_BIO_printf ()
0x0004cc48 lw gp, 0x20(sp) | gp = *(var_20h);
| label_1:
0x0004cc4c lw v0, 0xac(sp) | v0 = *(var_ach);
| if (v0 <= 0) {
0x0004cc50 blez v0, 0x4cbec | goto label_0;
| }
0x0004cc54 lw s1, 0xb0(sp) | s1 = *(var_b0h);
0x0004cc58 sw v0, 0xc4(sp) | *(var_c4h) = v0;
0x0004cc5c andi v0, fp, 0x20 | v0 = fp & 0x20;
0x0004cc60 sw v0, 0xe0(sp) | *(var_e0h) = v0;
| if (v0 == 0) {
0x0004cc64 beqz v0, 0x4cd88 | goto label_33;
| }
0x0004cc68 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cc6c addiu a1, a1, 0x2574 | a1 += 0x2574;
| label_2:
0x0004cc70 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004cc74 addiu a2, zero, 6 | a2 = 6;
0x0004cc78 move a0, s0 | a0 = s0;
0x0004cc7c bal 0x64154 | sym_BIO_write ();
0x0004cc80 slti v0, v0, 6 | v0 = (v0 < 6) ? 1 : 0;
0x0004cc84 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0004cc88 bnez v0, 0x4cbec | goto label_0;
| }
0x0004cc8c lw t9, -0x7ce4(gp) | t9 = *((gp - 7993));
0x0004cc90 lw a1, 0xd8(sp) | a1 = *(var_d8h);
0x0004cc94 addiu a2, zero, 0x80 | a2 = 0x80;
0x0004cc98 move a0, s0 | a0 = s0;
0x0004cc9c bal 0x6454c | sym_BIO_indent ();
0x0004cca0 lw v0, 0xc4(sp) | v0 = *(var_c4h);
0x0004cca4 addiu v1, zero, 0xc0 | v1 = 0xc0;
0x0004cca8 andi v0, v0, 0xc0 | v0 &= 0xc0;
0x0004ccac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != v1) {
0x0004ccb0 bne v0, v1, 0x4cd90 | goto label_34;
| }
0x0004ccb4 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x0004ccb8 move a3, s1 | a3 = s1;
0x0004ccbc addiu a2, a2, 0x25e8 | a2 += 0x25e8;
| label_3:
0x0004ccc0 lw t9, -0x7ecc(gp) | t9 = *((gp - 8115));
0x0004ccc4 addiu s1, sp, 0x28 | s1 = sp + 0x28;
0x0004ccc8 addiu a1, zero, 0x80 | a1 = 0x80;
0x0004cccc move a0, s1 | a0 = s1;
0x0004ccd0 bal 0x606cc | sym_BIO_snprintf ()
0x0004ccd4 lw gp, 0x20(sp) | gp = *(var_20h);
| label_4:
0x0004ccd8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004ccdc lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004cce0 move a2, s1 | a2 = s1;
0x0004cce4 addiu a1, a1, 0x2750 | a1 += 0x2750;
0x0004cce8 move a0, s0 | a0 = s0;
0x0004ccec bal 0x60608 | sym_BIO_printf ()
0x0004ccf0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004ccf4 blez v0, 0x4cbec | goto label_0;
| }
0x0004ccf8 andi v0, fp, 0x20 | v0 = fp & 0x20;
0x0004ccfc lw s1, 0xac(sp) | s1 = *(var_ach);
| if (v0 == 0) {
0x0004cd00 beqz v0, 0x4cedc | goto label_35;
| }
0x0004cd04 lw s4, 0xbc(sp) | s4 = *(var_bch);
0x0004cd08 lw v0, 0xb4(sp) | v0 = *(var_b4h);
0x0004cd0c lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004cd10 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004cd14 addu v0, s4, v0 | v0 = s4 + v0;
0x0004cd18 sw v0, 0xc0(sp) | *(var_c0h) = v0;
0x0004cd1c addiu a2, zero, 1 | a2 = 1;
0x0004cd20 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x0004cd24 move a0, s0 | a0 = s0;
0x0004cd28 bal 0x64154 | sym_BIO_write ();
0x0004cd2c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004cd30 blez v0, 0x4cbec | goto label_0;
| }
0x0004cd34 lw s1, 0xb4(sp) | s1 = *(var_b4h);
0x0004cd38 lw v0, 0xc8(sp) | v0 = *(var_c8h);
0x0004cd3c slt v0, v0, s1 | v0 = (v0 < s1) ? 1 : 0;
0x0004cd40 addiu v0, zero, 0x21 | v0 = 0x21;
| if (v0 != 0) {
0x0004cd44 beqz v0, 0x4cdf8 |
0x0004cd48 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cd4c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004cd50 lw a2, 0xc8(sp) | a2 = *(var_c8h);
0x0004cd54 addiu a1, a1, 0x261c | a1 += aav.0x0000261c;
0x0004cd58 move a0, s0 | a0 = s0;
0x0004cd5c bal 0x60608 | sym_BIO_printf ()
0x0004cd60 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cd64 b 0x4cbec | goto label_0;
| label_32:
0x0004cd68 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cd6c move a3, s4 | a3 = s4;
0x0004cd70 move a2, s5 | a2 = s5;
0x0004cd74 addiu a1, a1, 0x25d0 | a1 += 0x25d0;
0x0004cd78 move a0, s0 | a0 = s0;
0x0004cd7c bal 0x60608 | sym_BIO_printf ()
0x0004cd80 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cd84 b 0x4cc4c | goto label_1;
| label_33:
0x0004cd88 lw a1, 0xdc(sp) | a1 = *(var_dch);
0x0004cd8c b 0x4cc70 | goto label_2;
| label_34:
0x0004cd90 lw v0, 0xc4(sp) | v0 = *(var_c4h);
0x0004cd94 andi v0, v0, 0x80 | v0 &= 0x80;
0x0004cd98 lw v0, 0xc4(sp) | v0 = *(var_c4h);
| if (v0 != 0) {
0x0004cd9c beqz v0, 0x4cdb0 |
0x0004cda0 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x0004cda4 move a3, s1 | a3 = s1;
0x0004cda8 addiu a2, a2, 0x25f8 | a2 += 0x25f8;
0x0004cdac b 0x4ccc0 | goto label_3;
| }
0x0004cdb0 andi v0, v0, 0x40 | v0 &= 0x40;
0x0004cdb4 slti v0, s1, 0x1f | v0 = (s1 < 0x1f) ? 1 : 0;
| if (v0 != 0) {
0x0004cdb8 beqz v0, 0x4cdcc |
0x0004cdbc lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x0004cdc0 move a3, s1 | a3 = s1;
0x0004cdc4 addiu a2, a2, 0x2604 | a2 += 0x2604;
0x0004cdc8 b 0x4ccc0 | goto label_3;
| }
0x0004cdcc lw t9, -0x7e20(gp) | t9 = *((gp - 8072));
| if (v0 == 0) {
0x0004cdd0 bnez v0, 0x4cde4 |
0x0004cdd4 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x0004cdd8 move a3, s1 | a3 = s1;
0x0004cddc addiu a2, a2, 0x2610 | a2 += 0x2610;
0x0004cde0 b 0x4ccc0 | goto label_3;
| }
0x0004cde4 move a0, s1 | a0 = s1;
0x0004cde8 bal 0x4ca00 | sym_ASN1_tag2str ();
0x0004cdec move s1, v0 | s1 = v0;
0x0004cdf0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cdf4 b 0x4ccd8 | goto label_4;
| }
0x0004cdf8 addiu s6, s5, 1 | s6 = s5 + 1;
| if (fp != v0) {
0x0004cdfc bne fp, v0, 0x4cec0 | goto label_36;
| }
0x0004ce00 lw v0, 0x124(sp) | v0 = *(arg_124h);
| if (s1 != 0) {
0x0004ce04 bnez s1, 0x4cec0 | goto label_36;
| }
0x0004ce08 addiu s1, zero, 2 | s1 = 2;
| label_5:
0x0004ce0c lw a3, (s7) | a3 = *(s7);
0x0004ce10 lw a2, 0xbc(sp) | a2 = *(var_bch);
0x0004ce14 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0004ce18 lw v0, 0x11c(sp) | v0 = *(arg_11ch);
0x0004ce1c subu a3, a2, a3 | __asm ("subu a3, a2, a3");
0x0004ce20 addu a3, a3, v0 | a3 += v0;
0x0004ce24 lw v0, 0xd0(sp) | v0 = *(var_d0h);
0x0004ce28 lw a1, 0xcc(sp) | a1 = *(var_cch);
0x0004ce2c lw t9, 0xd4(sp) | t9 = *(var_d4h);
0x0004ce30 sw s2, 0x18(sp) | *(var_18h) = s2;
0x0004ce34 sw s6, 0x10(sp) | *(var_10h) = s6;
0x0004ce38 subu a2, v0, a2 | __asm ("subu a2, v0, a2");
0x0004ce3c move a0, s0 | a0 = s0;
0x0004ce40 jalr t9 | t9 ();
0x0004ce44 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004ce48 beqz v0, 0x4cbec | goto label_0;
| }
0x0004ce4c lw v1, 0xbc(sp) | v1 = *(var_bch);
| if (v0 == s1) {
0x0004ce50 beq v0, s1, 0x4ce64 | goto label_37;
| }
0x0004ce54 lw v0, 0xd0(sp) | v0 = *(var_d0h);
0x0004ce58 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x0004ce5c lw v0, 0x124(sp) | v0 = *(arg_124h);
| if (v0 != 0) {
0x0004ce60 bnez v0, 0x4ce0c | goto label_5;
| }
| label_37:
0x0004ce64 subu s4, v1, s4 | __asm ("subu s4, v1, s4");
0x0004ce68 sw s4, 0xb4(sp) | *(var_b4h) = s4;
| label_9:
0x0004ce6c lw s1, 0xb4(sp) | s1 = *(var_b4h);
| label_8:
0x0004ce70 lw v0, 0xc8(sp) | v0 = *(var_c8h);
| label_15:
0x0004ce74 subu s1, v0, s1 | __asm ("subu s1, v0, s1");
0x0004ce78 b 0x4cb3c | goto label_6;
| label_7:
0x0004ce7c lw a3, (s7) | a3 = *(s7);
0x0004ce80 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0004ce84 lw v0, 0x11c(sp) | v0 = *(arg_11ch);
0x0004ce88 subu a3, s4, a3 | __asm ("subu a3, s4, a3");
0x0004ce8c lw a1, 0xcc(sp) | a1 = *(var_cch);
0x0004ce90 lw t9, 0xd4(sp) | t9 = *(var_d4h);
0x0004ce94 sw s2, 0x18(sp) | *(var_18h) = s2;
0x0004ce98 sw s6, 0x10(sp) | *(var_10h) = s6;
0x0004ce9c addu a3, a3, v0 | a3 += v0;
0x0004cea0 move a2, s1 | a2 = s1;
0x0004cea4 move a0, s0 | a0 = s0;
0x0004cea8 jalr t9 | t9 ();
0x0004ceac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004ceb0 beqz v0, 0x4cbec | goto label_0;
| }
0x0004ceb4 lw v0, 0xbc(sp) | v0 = *(var_bch);
0x0004ceb8 subu s4, v0, s4 | __asm ("subu s4, v0, s4");
0x0004cebc subu s1, s1, s4 | __asm ("subu s1, s1, s4");
| label_36:
0x0004cec0 lw s4, 0xbc(sp) | s4 = *(var_bch);
0x0004cec4 lw v0, 0xc0(sp) | v0 = *(var_c0h);
0x0004cec8 sltu v0, s4, v0 | v0 = (s4 < v0) ? 1 : 0;
0x0004cecc lw v0, 0x124(sp) | v0 = *(arg_124h);
| if (v0 != 0) {
0x0004ced0 bnez v0, 0x4ce7c | goto label_7;
| }
0x0004ced4 lw s1, 0xb4(sp) | s1 = *(var_b4h);
0x0004ced8 b 0x4ce70 | goto label_8;
| label_35:
0x0004cedc lw v0, 0xb0(sp) | v0 = *(var_b0h);
| if (s1 == 0) {
0x0004cee0 beqz s1, 0x4cf1c | goto label_38;
| }
0x0004cee4 lw v0, 0xbc(sp) | v0 = *(var_bch);
0x0004cee8 lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x0004ceec lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004cef0 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004cef4 addu v0, v0, v1 | v0 += v1;
0x0004cef8 sw v0, 0xbc(sp) | *(var_bch) = v0;
0x0004cefc addiu a2, zero, 1 | a2 = 1;
0x0004cf00 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x0004cf04 move a0, s0 | a0 = s0;
0x0004cf08 bal 0x64154 | sym_BIO_write ();
0x0004cf0c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x0004cf10 bgtz v0, 0x4ce6c | goto label_9;
| }
0x0004cf14 move s1, zero | s1 = 0;
0x0004cf18 b 0x4cbf0 | goto label_10;
| label_38:
0x0004cf1c addiu a0, v0, -0xc | a0 = v0 + -0xc;
0x0004cf20 sltiu v1, a0, 0xf | v1 = (a0 < 0xf) ? 1 : 0;
0x0004cf24 addiu v1, zero, 6 | v1 = 6;
| if (v1 == 0) {
0x0004cf28 beqz v1, 0x4cf94 | goto label_39;
| }
0x0004cf2c addiu v1, zero, 0x5dc1 | v1 = 0x5dc1;
0x0004cf30 srlv v1, v1, a0 | v1 >>= a0;
0x0004cf34 ext v1, v1, 0, 1 | __asm ("ext v1, v1, 0, 1");
0x0004cf38 addiu v1, zero, 1 | v1 = 1;
| if (v1 == 0) {
0x0004cf3c beqz v1, 0x4d07c | goto label_40;
| }
0x0004cf40 lw a1, -0x7e1c(gp) | a1 = *((gp - 8071));
0x0004cf44 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004cf48 addiu a2, zero, 1 | a2 = 1;
0x0004cf4c addiu a1, a1, 0x15f8 | a1 += 0x15f8;
0x0004cf50 move a0, s0 | a0 = s0;
0x0004cf54 bal 0x64154 | sym_BIO_write ();
0x0004cf58 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004cf5c blez v0, 0x4cbec | goto label_0;
| }
0x0004cf60 lw a2, 0xb4(sp) | a2 = *(var_b4h);
0x0004cf64 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
| if (a2 <= 0) {
0x0004cf68 blez a2, 0x4cf84 | goto label_11;
| }
0x0004cf6c lw a1, 0xbc(sp) | a1 = *(var_bch);
0x0004cf70 move a0, s0 | a0 = s0;
0x0004cf74 bal 0x64154 | sym_BIO_write ();
0x0004cf78 lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x0004cf7c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != v1) {
0x0004cf80 bne v0, v1, 0x4cbec | goto label_0;
| }
| label_11:
0x0004cf84 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
| if (s3 != 0) {
0x0004cf88 bnez s3, 0x4d014 | goto label_14;
| }
0x0004cf8c lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004cf90 b 0x4d1c0 | goto label_41;
| label_39:
0x0004cf94 lw a2, 0xb4(sp) | a2 = *(var_b4h);
| if (v0 != v1) {
0x0004cf98 bne v0, v1, 0x4d078 | goto label_42;
| }
0x0004cf9c lw t9, -0x7ce0(gp) | t9 = *((gp - 7992));
0x0004cfa0 sw s6, 0xb8(sp) | *(var_b8h) = s6;
0x0004cfa4 addu a2, s4, a2 | a2 = s4 + a2;
0x0004cfa8 addiu a1, sp, 0xb8 | a1 = sp + 0xb8;
0x0004cfac addiu a0, sp, 0xa8 | a0 = sp + 0xa8;
0x0004cfb0 bal 0x45fb8 | sym_d2i_ASN1_OBJECT ();
0x0004cfb4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004cfb8 beqz v0, 0x4cff8 | goto label_43;
| }
0x0004cfbc lw a1, -0x7e1c(gp) | a1 = *((gp - 8071));
0x0004cfc0 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004cfc4 addiu a2, zero, 1 | a2 = 1;
0x0004cfc8 addiu a1, a1, 0x15f8 | a1 += 0x15f8;
0x0004cfcc move a0, s0 | a0 = s0;
0x0004cfd0 bal 0x64154 | sym_BIO_write ();
0x0004cfd4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004cfd8 blez v0, 0x4cbec | goto label_0;
| }
0x0004cfdc lw t9, -0x7cdc(gp) | t9 = *((gp - 7991));
0x0004cfe0 lw a1, 0xa8(sp) | a1 = *(var_a8h);
0x0004cfe4 move a0, s0 | a0 = s0;
0x0004cfe8 bal 0x45a08 | sym_i2a_ASN1_OBJECT ();
0x0004cfec lw gp, 0x20(sp) | gp = *(var_20h);
| label_12:
0x0004cff0 b 0x4cf84 | goto label_11;
0x0004cff4 nop |
| label_43:
0x0004cff8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004cffc lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004d000 addiu a1, a1, 0x2638 | a1 += 0x2638;
0x0004d004 move a0, s0 | a0 = s0;
0x0004d008 bal 0x641d8 | sym_BIO_puts ();
0x0004d00c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d010 blez v0, 0x4cbec | goto label_0;
| }
| label_14:
0x0004d014 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004d018 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004d01c addiu a1, a1, 0x2688 | a1 += 0x2688;
0x0004d020 move a0, s0 | a0 = s0;
0x0004d024 bal 0x641d8 | sym_BIO_puts ();
0x0004d028 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d02c blez v0, 0x4cbec | goto label_0;
| }
0x0004d030 lw s4, -0x7de8(gp) | s4 = *((gp - 8058));
0x0004d034 lw s3, 0xc0(sp) | s3 = *(var_c0h);
0x0004d038 addiu s4, s4, -0x2198 | s4 += -0x2198;
| label_26:
0x0004d03c lw v0, 0xc0(sp) | v0 = *(var_c0h);
0x0004d040 lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x0004d044 subu v0, s3, v0 | __asm ("subu v0, s3, v0");
0x0004d048 slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x0004d04c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
| if (v0 != 0) {
0x0004d050 bnez v0, 0x4d518 | goto label_44;
| }
0x0004d054 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004d058 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004d05c addiu a1, a1, 0x268c | a1 += 0x268c;
0x0004d060 move a0, s0 | a0 = s0;
0x0004d064 bal 0x641d8 | sym_BIO_puts ();
0x0004d068 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d06c blez v0, 0x4cbec | goto label_0;
| }
0x0004d070 addiu s3, zero, 1 | s3 = 1;
0x0004d074 b 0x4d1b0 | goto label_45;
| label_42:
0x0004d078 addiu v1, zero, 1 | v1 = 1;
| label_40:
0x0004d07c addiu v1, zero, 0x1e | v1 = 0x1e;
| if (v0 != v1) {
0x0004d080 bne v0, v1, 0x4d0dc | goto label_46;
| }
0x0004d084 lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x0004d088 lw v0, 0xb4(sp) | v0 = *(var_b4h);
| if (v1 == v0) {
0x0004d08c beq v1, v0, 0x4d0b4 | goto label_47;
| }
0x0004d090 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004d094 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004d098 addiu a1, a1, 0x2644 | a1 += 0x2644;
0x0004d09c move a0, s0 | a0 = s0;
0x0004d0a0 bal 0x641d8 | sym_BIO_puts ();
0x0004d0a4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d0a8 blez v0, 0x4cbec | goto label_0;
| }
0x0004d0ac addiu s3, zero, 1 | s3 = 1;
0x0004d0b0 lw v0, 0xb4(sp) | v0 = *(var_b4h);
| label_47:
0x0004d0b4 lw v0, 0xbc(sp) | v0 = *(var_bch);
| if (v0 <= 0) {
0x0004d0b8 blez v0, 0x4cf84 | goto label_11;
| }
0x0004d0bc lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004d0c0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004d0c4 lbu a2, (v0) | a2 = *(v0);
0x0004d0c8 addiu a1, a1, 0x2654 | a1 += 0x2654;
0x0004d0cc move a0, s0 | a0 = s0;
0x0004d0d0 bal 0x60608 | sym_BIO_printf ()
0x0004d0d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d0d8 b 0x4cff0 | goto label_12;
| label_46:
0x0004d0dc addiu v1, zero, 4 | v1 = 4;
| if (v0 == v1) {
0x0004d0e0 beq v0, v1, 0x4cf84 | goto label_11;
| }
0x0004d0e4 lw a2, 0xb4(sp) | a2 = *(var_b4h);
| if (v0 != v1) {
0x0004d0e8 bne v0, v1, 0x4d268 | goto label_48;
| }
0x0004d0ec lw t9, -0x7cd8(gp) | t9 = *((gp - 7990));
0x0004d0f0 addu a2, s4, a2 | a2 = s4 + a2;
0x0004d0f4 sw s6, 0xb8(sp) | *(var_b8h) = s6;
0x0004d0f8 addiu a1, sp, 0xb8 | a1 = sp + 0xb8;
0x0004d0fc move a0, zero | a0 = 0;
0x0004d100 bal 0x58e3c | sym_d2i_ASN1_OCTET_STRING ();
0x0004d104 move s4, v0 | s4 = v0;
0x0004d108 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004d10c beqz v0, 0x4d19c | goto label_17;
| }
0x0004d110 lw a1, (v0) | a1 = *(v0);
0x0004d114 lw t9, -0x7d84(gp) | t9 = *((gp - 8033));
| if (a1 <= 0) {
0x0004d118 blez a1, 0x4d1a0 | goto label_49;
| }
0x0004d11c lw a0, 8(v0) | a0 = *((v0 + 2));
0x0004d120 addiu a2, zero, 0xd | a2 = 0xd;
0x0004d124 sw a0, 0xb8(sp) | *(var_b8h) = a0;
0x0004d128 move v1, a0 | v1 = a0;
| do {
0x0004d12c lbu v0, (v1) | v0 = *(v1);
0x0004d130 sltiu a3, v0, 0x20 | a3 = (v0 < 0x20) ? 1 : 0;
| if (a3 == 0) {
0x0004d134 beqz a3, 0x4d20c | goto label_50;
| }
0x0004d138 nop |
0x0004d13c addiu v0, v0, -9 | v0 += -9;
| if (v0 != a2) {
0x0004d140 beq v0, a2, 0x4d150 |
0x0004d144 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
| if (v0 == 0) {
| label_16:
0x0004d148 beqz v0, 0x4d53c | goto label_51;
| }
0x0004d14c nop |
| }
0x0004d150 addiu v1, v1, 1 | v1++;
0x0004d154 subu v0, v1, a0 | __asm ("subu v0, v1, a0");
0x0004d158 slt v0, v0, a1 | v0 = (v0 < a1) ? 1 : 0;
0x0004d15c lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d160 bnez v0, 0x4d12c |
| } while (v0 != 0);
0x0004d164 lw a1, -0x7e1c(gp) | a1 = *((gp - 8071));
0x0004d168 addiu a2, zero, 1 | a2 = 1;
0x0004d16c addiu a1, a1, 0x15f8 | a1 += 0x15f8;
0x0004d170 move a0, s0 | a0 = s0;
0x0004d174 bal 0x64154 | sym_BIO_write ();
0x0004d178 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d17c blez v0, 0x4cbf4 | goto label_13;
| }
0x0004d180 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d184 lw a2, (s4) | a2 = *(s4);
0x0004d188 lw a1, 0xb8(sp) | a1 = *(var_b8h);
0x0004d18c move a0, s0 | a0 = s0;
0x0004d190 bal 0x64154 | sym_BIO_write ();
0x0004d194 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d198 blez v0, 0x4cbf4 | goto label_13;
| }
| label_17:
0x0004d19c lw t9, -0x7d84(gp) | t9 = *((gp - 8033));
| label_49:
0x0004d1a0 move a0, s4 | a0 = s4;
0x0004d1a4 bal 0x58e84 | sym_ASN1_OCTET_STRING_free ();
0x0004d1a8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 != 0) {
0x0004d1ac bnez s3, 0x4d014 | goto label_14;
| }
| label_45:
0x0004d1b0 lw v0, 0xbc(sp) | v0 = *(var_bch);
| if (s1 != 0) {
0x0004d1b4 bnez s1, 0x4d1dc | goto label_25;
| }
0x0004d1b8 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004d1bc lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
| label_41:
0x0004d1c0 addiu a2, zero, 1 | a2 = 1;
0x0004d1c4 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x0004d1c8 move a0, s0 | a0 = s0;
0x0004d1cc bal 0x64154 | sym_BIO_write ();
0x0004d1d0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d1d4 blez v0, 0x4cbec | goto label_0;
| }
0x0004d1d8 lw v0, 0xbc(sp) | v0 = *(var_bch);
| label_25:
0x0004d1dc lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x0004d1e0 addu v0, v0, v1 | v0 += v1;
0x0004d1e4 sw v0, 0xbc(sp) | *(var_bch) = v0;
0x0004d1e8 lw v0, 0xb0(sp) | v0 = *(var_b0h);
0x0004d1ec lw s1, 0xb4(sp) | s1 = *(var_b4h);
| if (v0 != 0) {
0x0004d1f0 bnez v0, 0x4ce70 | goto label_8;
| }
0x0004d1f4 lw v0, 0xac(sp) | v0 = *(var_ach);
0x0004d1f8 lw v0, 0xc8(sp) | v0 = *(var_c8h);
| if (v0 != 0) {
0x0004d1fc bnez v0, 0x4ce74 | goto label_15;
| }
0x0004d200 move s4, zero | s4 = 0;
0x0004d204 addiu s1, zero, 2 | s1 = 2;
0x0004d208 b 0x4cbf4 | goto label_13;
| label_50:
0x0004d20c sltiu v0, v0, 0x7f | v0 = (v0 < 0x7f) ? 1 : 0;
0x0004d210 b 0x4d148 | goto label_16;
| label_27:
0x0004d214 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004d218 addiu a2, zero, 1 | a2 = 1;
0x0004d21c addiu a1, a1, 0x3620 | a1 += 0x3620;
0x0004d220 move a0, s0 | a0 = s0;
0x0004d224 bal 0x64154 | sym_BIO_write ();
0x0004d228 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d22c blez v0, 0x4cbf4 | goto label_13;
| }
0x0004d230 addiu v0, zero, -1 | v0 = -1;
0x0004d234 lw a1, 0xb8(sp) | a1 = *(var_b8h);
0x0004d238 lw a2, (s4) | a2 = *(s4);
| if (s2 != v0) {
0x0004d23c beq s2, v0, 0x4d248 |
0x0004d240 slt v0, s2, a2 | v0 = (s2 < a2) ? 1 : 0;
| if (v0 != 0) {
0x0004d244 movn a2, s2, v0 | a2 = s2;
| goto label_52;
| }
| }
| label_52:
0x0004d248 lw t9, -0x7cd4(gp) | t9 = *((gp - 7989));
0x0004d24c addiu a3, zero, 6 | a3 = 6;
0x0004d250 move a0, s0 | a0 = s0;
0x0004d254 bal 0x5e9cc | sym_BIO_dump_indent ();
0x0004d258 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d25c blez v0, 0x4cbf4 | goto label_13;
| }
0x0004d260 addiu s1, zero, 1 | s1 = 1;
0x0004d264 b 0x4d19c | goto label_17;
| label_48:
0x0004d268 addiu v1, zero, 2 | v1 = 2;
0x0004d26c addiu v1, zero, 0xa | v1 = 0xa;
| if (v0 != v1) {
0x0004d270 bne v0, v1, 0x4d394 | goto label_53;
| }
0x0004d274 lw t9, -0x7cd0(gp) | t9 = *((gp - 7988));
0x0004d278 addu a2, s4, a2 | a2 = s4 + a2;
0x0004d27c sw s6, 0xb8(sp) | *(var_b8h) = s6;
0x0004d280 addiu a1, sp, 0xb8 | a1 = sp + 0xb8;
0x0004d284 move a0, zero | a0 = 0;
0x0004d288 bal 0x58e9c | sym_d2i_ASN1_INTEGER ();
0x0004d28c move s4, v0 | s4 = v0;
0x0004d290 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004d294 beqz v0, 0x4d370 | goto label_54;
| }
0x0004d298 lw a1, -0x7e1c(gp) | a1 = *((gp - 8071));
0x0004d29c lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d2a0 addiu a2, zero, 1 | a2 = 1;
0x0004d2a4 addiu a1, a1, 0x15f8 | a1 += 0x15f8;
0x0004d2a8 move a0, s0 | a0 = s0;
0x0004d2ac bal 0x64154 | sym_BIO_write ();
0x0004d2b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d2b4 blez v0, 0x4cbec | goto label_0;
| }
0x0004d2b8 lw v1, 4(s4) | v1 = *((s4 + 1));
0x0004d2bc addiu v0, zero, 0x102 | v0 = 0x102;
0x0004d2c0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| if (v1 == v0) {
0x0004d2c4 beq v1, v0, 0x4d324 | goto label_55;
| }
| label_18:
0x0004d2c8 lw fp, -0x7de8(gp) | fp = *((gp - 8058));
0x0004d2cc move s6, zero | s6 = 0;
0x0004d2d0 addiu fp, fp, -0x2198 | fp += -0x2198;
| label_19:
0x0004d2d4 lw v0, (s4) | v0 = *(s4);
0x0004d2d8 slt v1, s6, v0 | v1 = (s6 < v0) ? 1 : 0;
0x0004d2dc lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
| if (v1 != 0) {
0x0004d2e0 bnez v1, 0x4d348 | goto label_56;
| }
0x0004d2e4 lw t9, -0x7f00(gp) | t9 = *((gp - 8128));
| if (v0 != 0) {
0x0004d2e8 bnez v0, 0x4d310 | goto label_57;
| }
0x0004d2ec lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004d2f0 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d2f4 addiu a2, zero, 2 | a2 = 2;
0x0004d2f8 addiu a1, a1, -0x6ce0 | a1 += -0x6ce0;
0x0004d2fc move a0, s0 | a0 = s0;
0x0004d300 bal 0x64154 | sym_BIO_write ();
0x0004d304 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d308 blez v0, 0x4cbec | goto label_0;
| }
| label_20:
0x0004d30c lw t9, -0x7f00(gp) | t9 = *((gp - 8128));
| label_57:
0x0004d310 move a0, s4 | a0 = s4;
| label_21:
0x0004d314 jalr t9 | t9 ();
0x0004d318 nop |
0x0004d31c lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d320 b 0x4cff0 | goto label_12;
| label_55:
0x0004d324 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d328 addiu a2, zero, 1 | a2 = 1;
0x0004d32c addiu a1, a1, 0x2664 | a1 += 0x2664;
0x0004d330 move a0, s0 | a0 = s0;
0x0004d334 bal 0x64154 | sym_BIO_write ();
0x0004d338 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x0004d33c bgtz v0, 0x4d2c8 | goto label_18;
| }
0x0004d340 move s1, zero | s1 = 0;
0x0004d344 b 0x4cbf0 | goto label_10;
| label_56:
0x0004d348 lw v0, 8(s4) | v0 = *((s4 + 2));
0x0004d34c addu v0, v0, s6 | v0 += s6;
0x0004d350 move a1, fp | a1 = fp;
0x0004d354 lbu a2, (v0) | a2 = *(v0);
0x0004d358 move a0, s0 | a0 = s0;
0x0004d35c bal 0x60608 | sym_BIO_printf ()
0x0004d360 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d364 blez v0, 0x4cbec | goto label_0;
| }
0x0004d368 addiu s6, s6, 1 | s6++;
0x0004d36c b 0x4d2d4 | goto label_19;
| label_54:
0x0004d370 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004d374 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004d378 addiu a1, a1, 0x2668 | a1 += 0x2668;
0x0004d37c move a0, s0 | a0 = s0;
0x0004d380 bal 0x641d8 | sym_BIO_puts ();
0x0004d384 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d388 blez v0, 0x4cbec | goto label_0;
| }
0x0004d38c addiu s3, zero, 1 | s3 = 1;
0x0004d390 b 0x4d30c | goto label_20;
| label_53:
0x0004d394 lw t9, -0x7ccc(gp) | t9 = *((gp - 7987));
| if (v0 != v1) {
0x0004d398 bne v0, v1, 0x4d4ac | goto label_58;
| }
0x0004d39c addu a2, s4, a2 | a2 = s4 + a2;
0x0004d3a0 sw s6, 0xb8(sp) | *(var_b8h) = s6;
0x0004d3a4 addiu a1, sp, 0xb8 | a1 = sp + 0xb8;
0x0004d3a8 move a0, zero | a0 = 0;
0x0004d3ac bal 0x58efc | sym_d2i_ASN1_ENUMERATED ();
0x0004d3b0 move s4, v0 | s4 = v0;
0x0004d3b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004d3b8 beqz v0, 0x4d488 | goto label_59;
| }
0x0004d3bc lw a1, -0x7e1c(gp) | a1 = *((gp - 8071));
0x0004d3c0 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d3c4 addiu a2, zero, 1 | a2 = 1;
0x0004d3c8 addiu a1, a1, 0x15f8 | a1 += 0x15f8;
0x0004d3cc move a0, s0 | a0 = s0;
0x0004d3d0 bal 0x64154 | sym_BIO_write ();
0x0004d3d4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d3d8 blez v0, 0x4cbec | goto label_0;
| }
0x0004d3dc lw v1, 4(s4) | v1 = *((s4 + 1));
0x0004d3e0 addiu v0, zero, 0x10a | v0 = 0x10a;
0x0004d3e4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| if (v1 == v0) {
0x0004d3e8 beq v1, v0, 0x4d43c | goto label_60;
| }
| label_22:
0x0004d3ec lw fp, -0x7de8(gp) | fp = *((gp - 8058));
0x0004d3f0 move s6, zero | s6 = 0;
0x0004d3f4 addiu fp, fp, -0x2198 | fp += -0x2198;
| label_23:
0x0004d3f8 lw v0, (s4) | v0 = *(s4);
0x0004d3fc slt v1, s6, v0 | v1 = (s6 < v0) ? 1 : 0;
0x0004d400 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
| if (v1 != 0) {
0x0004d404 bnez v1, 0x4d460 | goto label_61;
| }
0x0004d408 move a0, s4 | a0 = s4;
| if (v0 != 0) {
0x0004d40c bnez v0, 0x4d434 | goto label_62;
| }
0x0004d410 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004d414 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d418 addiu a2, zero, 2 | a2 = 2;
0x0004d41c addiu a1, a1, -0x6ce0 | a1 += -0x6ce0;
0x0004d420 move a0, s0 | a0 = s0;
0x0004d424 bal 0x64154 | sym_BIO_write ();
0x0004d428 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d42c blez v0, 0x4cbec | goto label_0;
| }
| label_24:
0x0004d430 move a0, s4 | a0 = s4;
| label_62:
0x0004d434 lw t9, -0x7cc8(gp) | t9 = *((gp - 7986));
0x0004d438 b 0x4d314 | goto label_21;
| label_60:
0x0004d43c lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d440 addiu a2, zero, 1 | a2 = 1;
0x0004d444 addiu a1, a1, 0x2664 | a1 += 0x2664;
0x0004d448 move a0, s0 | a0 = s0;
0x0004d44c bal 0x64154 | sym_BIO_write ();
0x0004d450 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x0004d454 bgtz v0, 0x4d3ec | goto label_22;
| }
0x0004d458 move s1, zero | s1 = 0;
0x0004d45c b 0x4cbf0 | goto label_10;
| label_61:
0x0004d460 lw v0, 8(s4) | v0 = *((s4 + 2));
0x0004d464 addu v0, v0, s6 | v0 += s6;
0x0004d468 move a1, fp | a1 = fp;
0x0004d46c lbu a2, (v0) | a2 = *(v0);
0x0004d470 move a0, s0 | a0 = s0;
0x0004d474 bal 0x60608 | sym_BIO_printf ()
0x0004d478 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d47c blez v0, 0x4cbec | goto label_0;
| }
0x0004d480 addiu s6, s6, 1 | s6++;
0x0004d484 b 0x4d3f8 | goto label_23;
| label_59:
0x0004d488 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004d48c lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004d490 addiu a1, a1, 0x2678 | a1 += 0x2678;
0x0004d494 move a0, s0 | a0 = s0;
0x0004d498 bal 0x641d8 | sym_BIO_puts ();
0x0004d49c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d4a0 blez v0, 0x4cbec | goto label_0;
| }
0x0004d4a4 addiu s3, zero, 1 | s3 = 1;
0x0004d4a8 b 0x4d430 | goto label_24;
| if (a2 <= 0) {
| label_58:
0x0004d4ac blez a2, 0x4cf84 | goto label_11;
| }
0x0004d4b0 nop |
0x0004d4b4 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
| if (s2 == 0) {
0x0004d4b8 beqz s2, 0x4cf84 | goto label_11;
| }
0x0004d4bc lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004d4c0 addiu a2, zero, 1 | a2 = 1;
0x0004d4c4 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x0004d4c8 move a0, s0 | a0 = s0;
0x0004d4cc bal 0x64154 | sym_BIO_write ();
0x0004d4d0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d4d4 blez v0, 0x4cbec | goto label_0;
| }
0x0004d4d8 addiu v0, zero, -1 | v0 = -1;
0x0004d4dc lw a1, 0xbc(sp) | a1 = *(var_bch);
0x0004d4e0 lw a2, 0xb4(sp) | a2 = *(var_b4h);
| if (s2 != v0) {
0x0004d4e4 beq s2, v0, 0x4d4f0 |
0x0004d4e8 slt v0, s2, a2 | v0 = (s2 < a2) ? 1 : 0;
| if (v0 != 0) {
0x0004d4ec movn a2, s2, v0 | a2 = s2;
| goto label_63;
| }
| }
| label_63:
0x0004d4f0 lw t9, -0x7cd4(gp) | t9 = *((gp - 7989));
0x0004d4f4 addiu a3, zero, 6 | a3 = 6;
0x0004d4f8 move a0, s0 | a0 = s0;
0x0004d4fc bal 0x5e9cc | sym_BIO_dump_indent ();
0x0004d500 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d504 blez v0, 0x4cbec | goto label_0;
| }
0x0004d508 lw v0, 0xbc(sp) | v0 = *(var_bch);
| if (s3 == 0) {
0x0004d50c beqz s3, 0x4d1dc | goto label_25;
| }
0x0004d510 move s1, s3 | s1 = s3;
0x0004d514 b 0x4d014 | goto label_14;
| label_44:
0x0004d518 lbu a2, (s3) | a2 = *(s3);
0x0004d51c move a1, s4 | a1 = s4;
0x0004d520 move a0, s0 | a0 = s0;
0x0004d524 bal 0x60608 | sym_BIO_printf ()
0x0004d528 addiu s3, s3, 1 | s3++;
0x0004d52c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x0004d530 bgtz v0, 0x4d03c | goto label_26;
| }
0x0004d534 move s1, zero | s1 = 0;
0x0004d538 b 0x4cbf0 | goto label_10;
| label_51:
0x0004d53c lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
| if (s2 != 0) {
0x0004d540 bnez s2, 0x4d214 | goto label_27;
| }
0x0004d544 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004d548 addiu a2, zero, 0xb | a2 = 0xb;
0x0004d54c addiu a1, a1, 0x2658 | a1 += 0x2658;
0x0004d550 move a0, s0 | a0 = s0;
0x0004d554 bal 0x64154 | sym_BIO_write ();
0x0004d558 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d55c blez v0, 0x4cba4 | goto label_28;
| }
0x0004d560 lw fp, -0x7de8(gp) | fp = *((gp - 8058));
0x0004d564 move s6, zero | s6 = 0;
0x0004d568 addiu fp, fp, -0x2198 | fp += -0x2198;
| label_29:
0x0004d56c lw v0, (s4) | v0 = *(s4);
0x0004d570 slt v0, s6, v0 | v0 = (s6 < v0) ? 1 : 0;
0x0004d574 lw v0, 0xb8(sp) | v0 = *(var_b8h);
| if (v0 == 0) {
0x0004d578 beqz v0, 0x4d19c | goto label_17;
| }
0x0004d57c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004d580 addu v0, v0, s6 | v0 += s6;
0x0004d584 move a1, fp | a1 = fp;
0x0004d588 lbu a2, (v0) | a2 = *(v0);
0x0004d58c move a0, s0 | a0 = s0;
0x0004d590 bal 0x60608 | sym_BIO_printf ()
0x0004d594 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0004d598 blez v0, 0x4cba4 | goto label_28;
| }
0x0004d59c addiu s6, s6, 1 | s6++;
0x0004d5a0 b 0x4d56c | goto label_29;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x57fe4 */
| #include <stdint.h>
|
; (fcn) fcn.00057fe4 () | void fcn_00057fe4 () {
0x00057fe4 lui gp, 0x17 |
0x00057fe8 addiu gp, gp, -0x1424 |
0x00057fec addu gp, gp, t9 | gp += t9;
0x00057ff0 addiu sp, sp, -0x38 |
0x00057ff4 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x00057ff8 lw s4, -0x7fd4(gp) | s4 = *((gp - 8181));
0x00057ffc sw s5, 0x30(sp) | *(var_30h) = s5;
0x00058000 sw s3, 0x28(sp) | *(var_28h) = s3;
0x00058004 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00058008 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0005800c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00058010 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00058014 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00058018 move s1, a0 | s1 = a0;
0x0005801c move s2, a1 | s2 = a1;
0x00058020 move s3, a2 | s3 = a2;
0x00058024 move s0, a3 | s0 = a3;
0x00058028 addiu s5, s4, 0x3264 | s5 = s4 + 0x3264;
| do {
0x0005802c slti v0, s2, 0x15 | v0 = (s2 < 0x15) ? 1 : 0;
0x00058030 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
| if (v0 != 0) {
0x00058034 beqz v0, 0x58080 |
0x00058038 move a2, s2 | a2 = s2;
0x0005803c addiu a1, s4, 0x3264 | a1 = s4 + 0x3264;
0x00058040 move a0, s1 | a0 = s1;
0x00058044 bal 0x64154 | sym_BIO_write ();
0x00058048 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 == v0) {
0x0005804c bne s2, v0, 0x5809c |
0x00058050 lw v0, 0x48(sp) | v0 = *(arg_48h);
0x00058054 lw v0, (v0) | v0 = *(v0);
0x00058058 andi v1, v0, 0x100 | v1 = v0 & aav.0x00000100;
0x0005805c andi v0, v0, 0x40 | v0 &= 0x40;
| if (v1 == 0) {
0x00058060 movn s0, zero, v1 | s0 = 0;
| }
| if (v0 != 0) {
0x00058064 bnez v0, 0x58134 | goto label_4;
| }
| if (s0 != 0) {
0x00058068 bnez s0, 0x580cc | goto label_5;
| }
0x0005806c nop |
0x00058070 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
| if (s3 != 0) {
0x00058074 bnez s3, 0x580d4 | goto label_6;
| }
| label_2:
0x00058078 addiu v0, zero, 1 | v0 = 1;
0x0005807c b 0x580a0 |
| } else {
0x00058080 addiu a2, zero, 0x14 | a2 = 0x14;
0x00058084 move a1, s5 | a1 = s5;
0x00058088 move a0, s1 | a0 = s1;
0x0005808c bal 0x64154 | sym_BIO_write ();
0x00058090 addiu v1, zero, 0x14 | v1 = 0x14;
0x00058094 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == v1) {
0x00058098 beq v0, v1, 0x580c4 | goto label_7;
| }
| }
| label_0:
0x0005809c move v0, zero | v0 = 0;
| }
| label_1:
0x000580a0 lw ra, 0x34(sp) | ra = *(var_34h);
0x000580a4 lw s5, 0x30(sp) | s5 = *(var_30h);
0x000580a8 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x000580ac lw s3, 0x28(sp) | s3 = *(var_28h);
0x000580b0 lw s2, 0x24(sp) | s2 = *(var_24h);
0x000580b4 lw s1, 0x20(sp) | s1 = *(var_20h);
0x000580b8 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x000580bc addiu sp, sp, 0x38 |
0x000580c0 jr ra | return v0;
| label_7:
0x000580c4 addiu s2, s2, -0x14 | s2 += -0x14;
0x000580c8 b 0x5802c |
| } while (1);
| label_5:
0x000580cc lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
| if (s3 == 0) {
0x000580d0 beqz s3, 0x5813c | goto label_8;
| }
| label_6:
0x000580d4 move a1, s3 | a1 = s3;
0x000580d8 move a0, s1 | a0 = s1;
0x000580dc bal 0x641d8 | sym_BIO_puts ();
0x000580e0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x000580e4 blez v0, 0x5809c | goto label_0;
| }
0x000580e8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| if (s0 == 0) {
0x000580ec beqz s0, 0x58110 | goto label_9;
| }
0x000580f0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x000580f4 move a2, s0 | a2 = s0;
0x000580f8 addiu a1, a1, 0x30e0 | a1 += 0x30e0;
0x000580fc move a0, s1 | a0 = s1;
0x00058100 bal 0x60608 | sym_BIO_printf ()
0x00058104 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
| label_3:
0x00058108 blez v0, 0x5809c | goto label_0;
| }
0x0005810c nop |
| label_9:
0x00058110 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x00058114 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x00058118 addiu a2, zero, 2 | a2 = 2;
0x0005811c addiu a1, a1, 0x6c40 | a1 += 0x6c40;
0x00058120 move a0, s1 | a0 = s1;
0x00058124 bal 0x64154 | sym_BIO_write ();
0x00058128 xori v0, v0, 2 | v0 ^= 2;
0x0005812c sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x00058130 b 0x580a0 | goto label_1;
| if (s0 == 0) {
| label_4:
0x00058134 beqz s0, 0x58078 | goto label_2;
| }
0x00058138 nop |
| label_8:
0x0005813c lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x00058140 move a1, s0 | a1 = s0;
0x00058144 move a0, s1 | a0 = s1;
0x00058148 bal 0x641d8 | sym_BIO_puts ();
0x0005814c lw gp, 0x10(sp) | gp = *(var_10h);
0x00058150 b 0x58108 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x58154 */
| #include <stdint.h>
|
; (fcn) fcn.00058154 () | void fcn_00058154 () {
0x00058154 lui gp, 0x17 |
0x00058158 addiu gp, gp, -0x1594 |
0x0005815c addu gp, gp, t9 | gp += t9;
0x00058160 addiu sp, sp, -0xb0 |
0x00058164 sw fp, 0xa8(sp) | *(var_a8h) = fp;
0x00058168 lw fp, 0x10(a3) | fp = *((a3 + 4));
0x0005816c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00058170 sw s7, 0xa4(sp) | *(var_a4h) = s7;
0x00058174 sw s6, 0xa0(sp) | *(var_a0h) = s6;
0x00058178 sw s4, 0x98(sp) | *(var_98h) = s4;
0x0005817c sw s3, 0x94(sp) | *(var_94h) = s3;
0x00058180 sw s2, 0x90(sp) | *(var_90h) = s2;
0x00058184 sw s1, 0x8c(sp) | *(var_8ch) = s1;
0x00058188 sw s0, 0x88(sp) | *(var_88h) = s0;
0x0005818c sw ra, 0xac(sp) | *(var_ach) = ra;
0x00058190 move s0, a0 | s0 = a0;
0x00058194 sw s5, 0x9c(sp) | *(var_9ch) = s5;
0x00058198 move s2, a1 | s2 = a1;
0x0005819c move s4, a2 | s4 = a2;
0x000581a0 move s1, a3 | s1 = a3;
0x000581a4 lw s7, 0xc0(sp) | s7 = *(arg_c0h);
0x000581a8 lw s6, 0xc4(sp) | s6 = *(arg_c4h);
0x000581ac lw a0, 0xc8(sp) | a0 = *(arg_c8h);
0x000581b0 lw s3, 0xcc(sp) | s3 = *(arg_cch);
| if (fp == 0) {
0x000581b4 beqz fp, 0x58238 | goto label_6;
| }
0x000581b8 lw s5, 0x10(fp) | s5 = *(arg_c0h);
| if (s5 == 0) {
0x000581bc beqz s5, 0x581d0 | goto label_7;
| }
0x000581c0 nop |
0x000581c4 sw s0, 0x70(sp) | *(var_70h) = s0;
0x000581c8 sw a2, 0x74(sp) | *(var_74h) = a2;
0x000581cc sw s3, 0x78(sp) | *(var_78h) = s3;
| do {
| label_7:
0x000581d0 lb a2, (s1) | a2 = *(s1);
0x000581d4 addiu v0, zero, 1 | v0 = 1;
| if (a2 == 0) {
0x000581d8 bnez a2, 0x581e8 |
0x000581dc lw v1, 4(s1) | v1 = *((s1 + 1));
| if (v1 == v0) {
0x000581e0 beq v1, v0, 0x582b8 | goto label_8;
| }
0x000581e4 nop |
| }
0x000581e8 lw v0, (s2) | v0 = *(s2);
0x000581ec andi v0, a2, 0xff | v0 = a2 & 0xff;
| if (v0 != 0) {
0x000581f0 bnez v0, 0x58290 | goto label_9;
| }
0x000581f4 lw v0, (s3) | v0 = *(s3);
0x000581f8 andi v0, v0, 1 | v0 &= 1;
| if (v0 != 0) {
0x000581fc bnez v0, 0x58240 | goto label_10;
| }
0x00058200 nop |
0x00058204 addiu v0, zero, 1 | v0 = 1;
| label_0:
0x00058208 lw ra, 0xac(sp) | ra = *(var_ach);
0x0005820c lw fp, 0xa8(sp) | fp = *(var_a8h);
0x00058210 lw s7, 0xa4(sp) | s7 = *(var_a4h);
0x00058214 lw s6, 0xa0(sp) | s6 = *(var_a0h);
0x00058218 lw s5, 0x9c(sp) | s5 = *(var_9ch);
0x0005821c lw s4, 0x98(sp) | s4 = *(var_98h);
0x00058220 lw s3, 0x94(sp) | s3 = *(var_94h);
0x00058224 lw s2, 0x90(sp) | s2 = *(var_90h);
0x00058228 lw s1, 0x8c(sp) | s1 = *(var_8ch);
0x0005822c lw s0, 0x88(sp) | s0 = *(var_88h);
0x00058230 addiu sp, sp, 0xb0 |
0x00058234 jr ra | return v0;
| label_6:
0x00058238 move s5, zero | s5 = 0;
0x0005823c b 0x581d0 |
| } while (1);
| label_10:
0x00058240 lw t9, -0x7d58(gp) | t9 = *((gp - 8022));
0x00058244 beqz a0, 0x58264 |
| while (v0 != 0) {
0x00058248 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0005824c addiu a1, a1, 0x3104 | a1 += 0x3104;
| label_1:
0x00058250 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x00058254 move a0, s0 | a0 = s0;
0x00058258 bal 0x641d8 | sym_BIO_puts ();
0x0005825c b 0x58604 | goto label_11;
0x00058260 nop |
0x00058264 sw s3, 0x10(sp) | *(var_10h) = s3;
0x00058268 move a3, s6 | a3 = s6;
0x0005826c move a2, s7 | a2 = s7;
0x00058270 move a1, s4 | a1 = s4;
0x00058274 addiu t9, t9, 0x7fe4 | t9 += 0x7fe4;
0x00058278 move a0, s0 | a0 = s0;
0x0005827c bal 0x57fe4 | fcn_00057fe4 ();
0x00058280 lw gp, 0x18(sp) | gp = *(var_18h);
0x00058284 bnez v0, 0x58248 |
| }
| do {
| label_4:
0x00058288 move v0, zero | v0 = 0;
0x0005828c b 0x58208 | goto label_0;
| label_9:
0x00058290 sltiu v1, v0, 7 | v1 = (v0 < 7) ? 1 : 0;
0x00058294 sll v1, v0, 2 | v1 = v0 << 2;
| if (v1 == 0) {
0x00058298 beqz v1, 0x58930 | goto label_12;
| }
0x0005829c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000582a0 addiu v0, v0, 0x31a4 | v0 += 0x31a4;
0x000582a4 addu v0, v0, v1 | v0 += v1;
0x000582a8 lw v0, (v0) | v0 = *(v0);
0x000582ac addu v0, v0, gp | v0 += gp;
0x000582b0 jr v0 | v0 ();
0x000582b4 nop |
| label_8:
0x000582b8 lw a3, 8(s1) | a3 = *((s1 + 2));
0x000582bc move a2, s4 | a2 = s4;
| if (a3 != 0) {
0x000582c0 beqz a3, 0x582e4 |
0x000582c4 sw s3, 0x10(sp) | *(var_10h) = s3;
0x000582c8 move a1, s2 | a1 = s2;
0x000582cc lw t9, -0x7ac4(gp) | t9 = *((gp - 7857));
0x000582d0 addiu t9, t9, -0x76b4 | t9 += -0x76b4;
0x000582d4 move a0, s0 | a0 = s0;
0x000582d8 bal 0x5894c | fcn_0005894c ();
0x000582dc b 0x58334 | goto label_13;
0x000582e0 nop |
| }
0x000582e4 lw t9, -0x7d58(gp) | t9 = *((gp - 8022));
0x000582e8 sw s3, 0x10(sp) | *(var_10h) = s3;
0x000582ec move a3, s6 | a3 = s6;
0x000582f0 move a2, s7 | a2 = s7;
0x000582f4 move a1, s4 | a1 = s4;
0x000582f8 addiu t9, t9, 0x7fe4 | t9 += 0x7fe4;
0x000582fc move a0, s0 | a0 = s0;
0x00058300 bal 0x57fe4 | fcn_00057fe4 ();
0x00058304 lw gp, 0x18(sp) | gp = *(var_18h);
0x00058308 beqz v0, 0x58288 |
| } while (v0 == 0);
| if (fp != 0) {
0x0005830c beqz fp, 0x5833c |
0x00058310 nop |
0x00058314 lw t9, 0x1c(fp) | t9 = *(arg_cch);
0x00058318 move a3, s4 | a3 = s4;
| if (t9 == 0) {
0x0005831c beqz t9, 0x5833c | goto label_14;
| }
0x00058320 sw s3, 0x10(sp) | *(var_10h) = s3;
0x00058324 move a2, s1 | a2 = s1;
0x00058328 move a1, s2 | a1 = s2;
0x0005832c move a0, s0 | a0 = s0;
0x00058330 jalr t9 | t9 ();
| label_13:
0x00058334 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x00058338 b 0x58208 | goto label_0;
| }
| label_14:
0x0005833c lb a0, (s1) | a0 = *(s1);
0x00058340 addiu v1, zero, 5 | v1 = 5;
0x00058344 lw v0, (s3) | v0 = *(s3);
| if (a0 != v1) {
0x00058348 bne a0, v1, 0x583a0 | goto label_15;
| }
0x0005834c lw s5, (s2) | s5 = *(s2);
0x00058350 addiu s6, zero, -0x101 | s6 = -0x101;
0x00058354 lw v1, 4(s5) | v1 = *((s5 + 1));
0x00058358 and s6, s6, v1 | s6 &= v1;
| do {
0x0005835c addiu v1, zero, -4 | v1 = -4;
| if (s6 != v1) {
0x00058360 bne s6, v1, 0x583bc | goto label_16;
| }
0x00058364 nop |
0x00058368 andi v0, v0, 0x10 | v0 &= 0x10;
0x0005836c lw s6, (s5) | s6 = *(s5);
0x00058370 addiu s2, s5, 4 | s2 = s5 + 4;
0x00058374 lw s5, 4(s5) | s5 = *((s5 + 1));
| if (v0 != 0) {
0x00058378 bnez v0, 0x583c8 | goto label_17;
| }
0x0005837c lw t9, -0x7e20(gp) | t9 = *((gp - 8072));
| label_2:
0x00058380 move a0, s6 | a0 = s6;
0x00058384 bal 0x4ca00 | sym_ASN1_tag2str ();
0x00058388 addiu v1, zero, 5 | v1 = 5;
0x0005838c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s6 != v1) {
0x00058390 bne s6, v1, 0x583dc | goto label_18;
| }
0x00058394 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| label_3:
0x00058398 addiu a1, a1, 0x3110 | a1 += 0x3110;
0x0005839c b 0x58250 | goto label_1;
| label_15:
0x000583a0 lw s6, 4(s1) | s6 = *((s1 + 1));
0x000583a4 addiu v1, zero, 1 | v1 = 1;
| if (s6 == v1) {
0x000583a8 beq s6, v1, 0x583b8 | goto label_19;
| }
0x000583ac nop |
0x000583b0 lw s5, (s2) | s5 = *(s2);
0x000583b4 b 0x5835c |
| } while (1);
| label_19:
0x000583b8 move s5, zero | s5 = 0;
| label_16:
0x000583bc andi v0, v0, 8 | v0 &= 8;
0x000583c0 lw t9, -0x7e20(gp) | t9 = *((gp - 8072));
| if (v0 != 0) {
0x000583c4 bnez v0, 0x58380 | goto label_2;
| }
| label_17:
0x000583c8 addiu v0, zero, 5 | v0 = 5;
0x000583cc addiu s6, s6, 3 | s6 += 3;
| if (s6 != v0) {
0x000583d0 bne s6, v0, 0x58418 | goto label_20;
| }
0x000583d4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000583d8 b 0x58398 | goto label_3;
| label_18:
0x000583dc lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
| if (v0 == 0) {
0x000583e0 beqz v0, 0x58414 | goto label_21;
| }
0x000583e4 move a1, v0 | a1 = v0;
0x000583e8 move a0, s0 | a0 = s0;
0x000583ec bal 0x641d8 | sym_BIO_puts ();
0x000583f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x000583f4 blez v0, 0x58288 | goto label_4;
| }
0x000583f8 lw a1, -0x7e1c(gp) | a1 = *((gp - 8071));
0x000583fc lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x00058400 addiu a1, a1, 0x15f8 | a1 += 0x15f8;
0x00058404 move a0, s0 | a0 = s0;
0x00058408 bal 0x641d8 | sym_BIO_puts ();
0x0005840c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00058410 blez v0, 0x58288 | goto label_4;
| }
| label_21:
0x00058414 addiu s6, s6, 3 | s6 += 3;
| label_20:
0x00058418 sltiu v0, s6, 0x1c | v0 = (s6 < 0x1c) ? 1 : 0;
0x0005841c lw t9, -0x7ac0(gp) | t9 = *((gp - 7856));
| if (v0 == 0) {
0x00058420 beqz v0, 0x58668 | goto label_22;
| }
0x00058424 sll v0, s6, 2 | v0 = s6 << 2;
0x00058428 lw s6, -0x7fd4(gp) | s6 = *((gp - 8181));
0x0005842c addiu s6, s6, 0x31c0 | s6 += 0x31c0;
0x00058430 addu s6, s6, v0 | s6 += v0;
0x00058434 lw v0, (s6) | v0 = *(s6);
0x00058438 addu v0, v0, gp | v0 += gp;
0x0005843c jr v0 | v0 ();
0x00058440 nop |
| do {
0x00058490 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x00058494 b 0x58250 | goto label_1;
| label_5:
0x000584f4 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x000584f8 bnez s1, 0x58490 |
| } while (s1 != 0);
0x000584fc move v0, zero | v0 = 0;
0x00058500 b 0x58208 | goto label_0;
| do {
0x0005851c move s1, v0 | s1 = v0;
0x00058520 b 0x584f4 | goto label_5;
| label_11:
0x00058604 slt v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x00058608 b 0x58208 | goto label_0;
| label_22:
0x00058668 lw a2, 0x10(s3) | a2 = *((s3 + 4));
0x0005866c move a1, s5 | a1 = s5;
0x00058670 move a0, s0 | a0 = s0;
0x00058674 bal 0x47c5c | sym_ASN1_STRING_print_ex ();
0x00058678 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005867c b 0x5851c |
| } while (1);
| label_12:
0x00058930 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00058934 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00058938 addiu a1, a1, 0x318c | a1 += 0x318c;
0x0005893c move a0, s0 | a0 = s0;
0x00058940 bal 0x60608 | sym_BIO_printf ()
0x00058944 move v0, zero | v0 = 0;
0x00058948 b 0x58208 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x5894c */
| #include <stdint.h>
|
; (fcn) fcn.0005894c () | void fcn_0005894c () {
0x0005894c lui gp, 0x17 |
0x00058950 addiu gp, gp, -0x1d8c |
0x00058954 addu gp, gp, t9 | gp += t9;
0x00058958 addiu sp, sp, -0x58 |
0x0005895c lw v0, (a3) | v0 = *(a3);
0x00058960 sw s4, 0x40(sp) | *(var_40h) = s4;
0x00058964 lw s4, 0x68(sp) | s4 = *(arg_68h);
0x00058968 sw s0, 0x30(sp) | *(var_30h) = s0;
0x0005896c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00058970 lw v1, (s4) | v1 = *(s4);
0x00058974 move s0, a0 | s0 = a0;
0x00058978 andi a0, v1, 0x80 | a0 = v1 & 0x80;
0x0005897c sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x00058980 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00058984 sw s1, 0x34(sp) | *(var_34h) = s1;
0x00058988 sw ra, 0x54(sp) | *(var_54h) = ra;
0x0005898c sw fp, 0x50(sp) | *(var_50h) = fp;
0x00058990 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x00058994 sw s6, 0x48(sp) | *(var_48h) = s6;
0x00058998 sw s5, 0x44(sp) | *(var_44h) = s5;
0x0005899c move s3, a1 | s3 = a1;
0x000589a0 move s1, a2 | s1 = a2;
0x000589a4 move s2, a3 | s2 = a3;
| if (a0 == 0) {
0x000589a8 beqz a0, 0x58a3c | goto label_9;
| }
0x000589ac lw a0, 0x10(a3) | a0 = *((a3 + 4));
0x000589b0 lw a1, 0x18(a0) | a1 = *((a0 + 6));
| do {
0x000589b4 andi a0, v1, 0x40 | a0 = v1 & 0x40;
0x000589b8 move a0, zero | a0 = 0;
| if (a0 == 0) {
0x000589bc bnez a0, 0x589c4 |
0x000589c0 lw a0, 0xc(s2) | a0 = *((s2 + 3));
| }
0x000589c4 andi a2, v0, 0x1000 | a2 = v0 & aav.0x00001000;
0x000589c8 andi a2, v0, 6 | a2 = v0 & 6;
| if (a2 != 0) {
0x000589cc beqz a2, 0x589d8 |
0x000589d0 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x000589d4 addiu s3, sp, 0x2c | s3 = sp + 0x2c;
| }
0x000589d8 lw t9, -0x7ac4(gp) | t9 = *((gp - 7857));
| if (a2 == 0) {
0x000589dc beqz a2, 0x58bdc | goto label_10;
| }
0x000589e0 andi v1, v1, 4 | v1 &= 4;
| if (a0 != 0) {
0x000589e4 bnez a0, 0x58a44 | goto label_11;
| }
0x000589e8 lw s6, -0x7e98(gp) | s6 = *((gp - 8102));
| label_0:
0x000589ec lw s7, -0x7ac4(gp) | s7 = *((gp - 7857));
0x000589f0 lw s5, (s3) | s5 = *(s3);
0x000589f4 addiu s6, s6, 0x3620 | s6 += 0x3620;
0x000589f8 move s3, zero | s3 = 0;
0x000589fc addiu fp, s1, 2 | fp = s1 + 2;
0x00058a00 addiu s7, s7, -0x7eac | s7 += -0x7eac;
| label_3:
0x00058a04 lw t9, -0x7d5c(gp) | t9 = *((gp - 8023));
0x00058a08 move a0, s5 | a0 = s5;
0x00058a0c jalr t9 | t9 ();
0x00058a10 slt v0, s3, v0 | v0 = (s3 < v0) ? 1 : 0;
0x00058a14 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00058a18 bnez v0, 0x58af4 | goto label_12;
| }
| if (s3 == 0) {
0x00058a1c beqz s3, 0x58b68 | goto label_13;
| }
0x00058a20 nop |
| label_6:
0x00058a24 lw v0, (s4) | v0 = *(s4);
0x00058a28 andi v0, v0, 2 | v0 &= 2;
| if (v0 != 0) {
0x00058a2c bnez v0, 0x58bb4 | goto label_14;
| }
0x00058a30 nop |
0x00058a34 addiu v0, zero, 1 | v0 = 1;
0x00058a38 b 0x58a98 | goto label_5;
| label_9:
0x00058a3c move a1, zero | a1 = 0;
0x00058a40 b 0x589b4 |
| } while (1);
| label_11:
0x00058a44 lw a3, -0x7e98(gp) | a3 = *((gp - 8102));
0x00058a48 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
| if (v1 == 0) {
0x00058a4c beqz v1, 0x58ad0 | goto label_15;
| }
0x00058a50 andi v0, v0, 2 | v0 &= 2;
0x00058a54 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
| if (v0 != 0) {
0x00058a58 bnez v0, 0x58ac8 | goto label_16;
| }
0x00058a5c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00058a60 addiu v0, v0, 0x24ec | v0 += 0x24ec;
| label_1:
0x00058a64 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00058a68 lw v1, 0xc(s2) | v1 = *((s2 + 3));
0x00058a6c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00058a70 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00058a74 addiu a3, a3, 0x1e88 | a3 += 0x1e88;
0x00058a78 move a2, s1 | a2 = s1;
0x00058a7c addiu a1, a1, 0x3240 | a1 += 0x3240;
0x00058a80 move a0, s0 | a0 = s0;
0x00058a84 bal 0x60608 | sym_BIO_printf ()
0x00058a88 lw gp, 0x20(sp) | gp = *(var_20h);
| label_2:
0x00058a8c lw s6, -0x7e98(gp) | s6 = *((gp - 8102));
| if (v0 > 0) {
0x00058a90 bgtz v0, 0x589ec | goto label_0;
| }
| do {
0x00058a94 move v0, zero | v0 = 0;
| label_5:
0x00058a98 lw ra, 0x54(sp) | ra = *(var_54h);
| label_8:
0x00058a9c lw fp, 0x50(sp) | fp = *(var_50h);
0x00058aa0 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x00058aa4 lw s6, 0x48(sp) | s6 = *(var_48h);
0x00058aa8 lw s5, 0x44(sp) | s5 = *(var_44h);
0x00058aac lw s4, 0x40(sp) | s4 = *(var_40h);
0x00058ab0 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00058ab4 lw s2, 0x38(sp) | s2 = *(var_38h);
0x00058ab8 lw s1, 0x34(sp) | s1 = *(var_34h);
0x00058abc lw s0, 0x30(sp) | s0 = *(var_30h);
0x00058ac0 addiu sp, sp, 0x58 |
0x00058ac4 jr ra | return v0;
| label_16:
0x00058ac8 addiu v0, v0, 0x24fc | v0 += 0x24fc;
0x00058acc b 0x58a64 | goto label_1;
| label_15:
0x00058ad0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00058ad4 sw a0, 0x10(sp) | *(var_10h) = a0;
0x00058ad8 addiu a3, a3, 0x1e88 | a3 += 0x1e88;
0x00058adc move a2, s1 | a2 = s1;
0x00058ae0 addiu a1, a1, 0x3250 | a1 += 0x3250;
0x00058ae4 move a0, s0 | a0 = s0;
0x00058ae8 bal 0x60608 | sym_BIO_printf ()
0x00058aec lw gp, 0x20(sp) | gp = *(var_20h);
0x00058af0 b 0x58a8c | goto label_2;
| label_12:
0x00058af4 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
| if (s3 > 0) {
0x00058af8 bgtz s3, 0x58b4c | goto label_17;
| }
| label_4:
0x00058afc lw t9, -0x7de0(gp) | t9 = *((gp - 8056));
0x00058b00 move a1, s3 | a1 = s3;
0x00058b04 move a0, s5 | a0 = s5;
0x00058b08 jalr t9 | t9 ();
0x00058b0c sw v0, 0x28(sp) | *(var_28h) = v0;
0x00058b10 lw a3, 0x10(s2) | a3 = *((s2 + 4));
0x00058b14 addiu v0, zero, 1 | v0 = 1;
0x00058b18 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x00058b1c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00058b20 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00058b24 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00058b28 move a2, fp | a2 = fp;
0x00058b2c addiu a1, sp, 0x28 | a1 = sp + 0x28;
0x00058b30 move t9, s7 | t9 = s7;
0x00058b34 move a0, s0 | a0 = s0;
0x00058b38 bal 0x58154 | fcn_00058154 ();
0x00058b3c lw gp, 0x20(sp) | gp = *(var_20h);
0x00058b40 beqz v0, 0x58a94 |
| } while (v0 == 0);
0x00058b44 addiu s3, s3, 1 | s3++;
0x00058b48 b 0x58a04 | goto label_3;
| label_17:
0x00058b4c move a1, s6 | a1 = s6;
0x00058b50 move a0, s0 | a0 = s0;
0x00058b54 bal 0x641d8 | sym_BIO_puts ();
0x00058b58 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x00058b5c bgtz v0, 0x58afc | goto label_4;
| }
0x00058b60 move v0, zero | v0 = 0;
0x00058b64 b 0x58a98 | goto label_5;
| label_13:
0x00058b68 addiu a2, s1, 2 | a2 = s1 + 2;
| if (s5 == 0) {
0x00058b6c beqz s5, 0x58ba8 | goto label_18;
| }
0x00058b70 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00058b74 addiu v0, v0, 0x3238 | v0 += 0x3238;
| label_7:
0x00058b78 lw a3, -0x7e98(gp) | a3 = *((gp - 8102));
0x00058b7c lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00058b80 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00058b84 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00058b88 addiu a3, a3, 0x1e88 | a3 += 0x1e88;
0x00058b8c addiu a1, a1, 0x3258 | a1 += 0x3258;
0x00058b90 move a0, s0 | a0 = s0;
0x00058b94 bal 0x60608 | sym_BIO_printf ()
0x00058b98 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x00058b9c bgtz v0, 0x58a24 | goto label_6;
| }
0x00058ba0 move v0, zero | v0 = 0;
0x00058ba4 b 0x58a98 | goto label_5;
| label_18:
0x00058ba8 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00058bac addiu v0, v0, 0x3230 | v0 += 0x3230;
0x00058bb0 b 0x58b78 | goto label_7;
| label_14:
0x00058bb4 lw a3, -0x7e98(gp) | a3 = *((gp - 8102));
0x00058bb8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00058bbc lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00058bc0 addiu a3, a3, 0x1e88 | a3 += 0x1e88;
0x00058bc4 move a2, s1 | a2 = s1;
0x00058bc8 addiu a1, a1, 0x3184 | a1 += 0x3184;
0x00058bcc move a0, s0 | a0 = s0;
0x00058bd0 bal 0x60608 | sym_BIO_printf ()
0x00058bd4 slt v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x00058bd8 b 0x58a98 | goto label_5;
| label_10:
0x00058bdc lw a3, 0x10(s2) | a3 = *((s2 + 4));
0x00058be0 sw a1, 0x14(sp) | *(var_14h) = a1;
0x00058be4 sw a0, 0x10(sp) | *(var_10h) = a0;
0x00058be8 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x00058bec sw zero, 0x18(sp) | *(var_18h) = 0;
0x00058bf0 move a2, s1 | a2 = s1;
0x00058bf4 move a1, s3 | a1 = s3;
0x00058bf8 addiu t9, t9, -0x7eac | t9 += -0x7eac;
0x00058bfc move a0, s0 | a0 = s0;
0x00058c00 bal 0x58154 | fcn_00058154 ();
0x00058c04 lw ra, 0x54(sp) | ra = *(var_54h);
0x00058c08 b 0x58a9c | goto label_8;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x53b40 */
| #include <stdint.h>
|
; (fcn) sym.ASN1_BIT_STRING_name_print () | void ASN1_BIT_STRING_name_print () {
0x00053b40 lui gp, 0x17 |
0x00053b44 addiu gp, gp, 0x3080 |
0x00053b48 addu gp, gp, t9 | gp += t9;
0x00053b4c addiu sp, sp, -0x30 |
0x00053b50 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00053b54 sw s4, 0x28(sp) | *(var_28h) = s4;
0x00053b58 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00053b5c move s4, a1 | s4 = a1;
0x00053b60 move s0, a2 | s0 = a2;
0x00053b64 lw a1, -0x7de8(gp) | a1 = *((gp - 8058));
0x00053b68 move a2, a3 | a2 = a3;
0x00053b6c lw a3, -0x7e98(gp) | a3 = *((gp - 8102));
0x00053b70 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00053b74 sw s3, 0x24(sp) | *(var_24h) = s3;
0x00053b78 sw s2, 0x20(sp) | *(var_20h) = s2;
0x00053b7c sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00053b80 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00053b84 addiu a3, a3, 0x1e88 | a3 += 0x1e88;
0x00053b88 addiu a1, a1, -0x221c | a1 += -aav.0x0000221c;
0x00053b8c move s1, a0 | s1 = a0;
0x00053b90 bal 0x60608 | sym_BIO_printf ()
0x00053b94 lw gp, 0x10(sp) | gp = *(var_10h);
0x00053b98 addiu s3, zero, 1 | s3 = 1;
0x00053b9c lw s2, -0x7e98(gp) | s2 = *((gp - 8102));
0x00053ba0 addiu s2, s2, 0x5d98 | s2 += 0x5d98;
| do {
0x00053ba4 lw v0, 4(s0) | v0 = *((s0 + 1));
0x00053ba8 lw t9, -0x7b38(gp) | t9 = *((gp - 7886));
| if (v0 == 0) {
0x00053bac bnez v0, 0x53be8 |
0x00053bb0 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x00053bb4 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x00053bb8 move a0, s1 | a0 = s1;
0x00053bbc addiu a1, a1, 0x3620 | a1 += 0x3620;
0x00053bc0 bal 0x641d8 | sym_BIO_puts ();
0x00053bc4 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00053bc8 lw s4, 0x28(sp) | s4 = *(var_28h);
0x00053bcc lw s3, 0x24(sp) | s3 = *(var_24h);
0x00053bd0 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00053bd4 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00053bd8 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00053bdc addiu v0, zero, 1 | v0 = 1;
0x00053be0 addiu sp, sp, 0x30 |
0x00053be4 jr ra | return v0;
| }
0x00053be8 lw a1, (s0) | a1 = *(s0);
0x00053bec move a0, s4 | a0 = s4;
0x00053bf0 bal 0x428d8 | sym_ASN1_BIT_STRING_get_bit ();
0x00053bf4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00053bf8 beqz v0, 0x53c2c |
0x00053bfc lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
| if (s3 == 0) {
0x00053c00 bnez s3, 0x53c18 |
0x00053c04 move a1, s2 | a1 = s2;
0x00053c08 move a0, s1 | a0 = s1;
0x00053c0c bal 0x641d8 | sym_BIO_puts ();
0x00053c10 lw gp, 0x10(sp) | gp = *(var_10h);
0x00053c14 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
| }
0x00053c18 lw a1, 4(s0) | a1 = *((s0 + 1));
0x00053c1c move a0, s1 | a0 = s1;
0x00053c20 bal 0x641d8 | sym_BIO_puts ();
0x00053c24 lw gp, 0x10(sp) | gp = *(var_10h);
0x00053c28 move s3, zero | s3 = 0;
| }
0x00053c2c addiu s0, s0, 0xc | s0 += 0xc;
0x00053c30 b 0x53ba4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x48ff4 */
| #include <stdint.h>
|
; (fcn) sym.ASN1_TIME_print () | void ASN1_TIME_print () {
0x00048ff4 lui gp, 0x18 |
0x00048ff8 addiu gp, gp, -0x2434 |
0x00048ffc addu gp, gp, t9 | gp += t9;
0x00049000 addiu sp, sp, -0x88 |
0x00049004 lw t9, -0x7f44(gp) | t9 = *((gp - 8145));
0x00049008 sw gp, 0x30(sp) | *(var_30h) = gp;
0x0004900c sw s2, 0x74(sp) | *(var_74h) = s2;
0x00049010 sw s1, 0x70(sp) | *(var_70h) = s1;
0x00049014 sw ra, 0x84(sp) | *(var_84h) = ra;
0x00049018 sw s5, 0x80(sp) | *(var_80h) = s5;
0x0004901c sw s4, 0x7c(sp) | *(var_7ch) = s4;
0x00049020 sw s3, 0x78(sp) | *(var_78h) = s3;
0x00049024 sw s0, 0x6c(sp) | *(var_6ch) = s0;
0x00049028 move s1, a0 | s1 = a0;
0x0004902c addiu a0, sp, 0x38 | a0 = sp + 0x38;
0x00049030 move s2, a1 | s2 = a1;
0x00049034 bal 0x48330 | fcn_00048330 ();
0x00049038 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0004903c beqz v0, 0x491d0 | goto label_4;
| }
0x00049040 lw v0, (s2) | v0 = *(s2);
0x00049044 lw s5, 8(s2) | s5 = *((s2 + 2));
0x00049048 lw a0, 4(s2) | a0 = *((s2 + 1));
0x0004904c addu v1, s5, v0 | v1 = s5 + v0;
0x00049050 lb s3, -1(v1) | s3 = *((v1 - 1));
0x00049054 addiu v1, zero, 0x18 | v1 = 0x18;
0x00049058 lw a2, 0x48(sp) | a2 = *(var_48h);
| if (a0 != v1) {
0x0004905c bne a0, v1, 0x4915c | goto label_5;
| }
0x00049060 slti v1, v0, 0x10 | v1 = (v0 < 0x10) ? 1 : 0;
0x00049064 move s0, zero | s0 = 0;
| if (v1 != 0) {
0x00049068 bnez v1, 0x49148 | goto label_6;
| }
0x0004906c lb a0, 0xe(s5) | a0 = *((s5 + 14));
0x00049070 addiu v1, zero, 0x2e | v1 = 0x2e;
0x00049074 move s2, zero | s2 = 0;
| if (a0 != v1) {
0x00049078 bne a0, v1, 0x490ac | goto label_7;
| }
0x0004907c addiu s2, s5, 0xe | s2 = s5 + 0xe;
0x00049080 addiu s4, v0, -0xe | s4 = v0 + -0xe;
0x00049084 addiu s0, zero, 1 | s0 = 1;
| do {
0x00049088 addu v0, s5, s0 | v0 = s5 + s0;
| if (s0 != s4) {
0x0004908c beq s0, s4, 0x490a8 |
0x00049090 lw t9, -0x7ed4(gp) | t9 = *((gp - 8117));
0x00049094 lb a0, 0xe(v0) | a0 = *((v0 + 14));
0x00049098 addiu a1, zero, 4 | a1 = 4;
0x0004909c jalr t9 | t9 ();
0x000490a0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x000490a4 bnez v0, 0x49140 | goto label_8;
| }
| }
| label_0:
0x000490a8 lw a2, 0x48(sp) | a2 = *(var_48h);
| label_7:
0x000490ac lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x000490b0 sll v0, a2, 2 | v0 = a2 << 2;
0x000490b4 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x000490b8 lw a3, 0x44(sp) | a3 = *(var_44h);
0x000490bc addiu a2, a2, 0x1130 | a2 += aav.0x00001130;
0x000490c0 addu a2, a2, v0 | a2 += v0;
0x000490c4 addiu v0, zero, 0x5a | v0 = 0x5a;
0x000490c8 lw a0, 0x40(sp) | a0 = *(var_40h);
0x000490cc lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x000490d0 lw t0, 0x38(sp) | t0 = *(var_38h);
0x000490d4 addiu v1, v1, 0x76c | v1 += aav.0x0000076c;
| if (s3 == v0) {
0x000490d8 beq s3, v0, 0x49150 | goto label_9;
| }
0x000490dc lw v0, -0x7e98(gp) | v0 = *((gp - 8102));
0x000490e0 addiu v0, v0, 0x1e88 | v0 += 0x1e88;
| label_1:
0x000490e4 sw a1, 0x14(sp) | *(var_14h) = a1;
0x000490e8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000490ec lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x000490f0 sw a0, 0x10(sp) | *(var_10h) = a0;
0x000490f4 sw v0, 0x28(sp) | *(var_28h) = v0;
0x000490f8 sw v1, 0x24(sp) | *(var_24h) = v1;
0x000490fc sw s2, 0x20(sp) | *(var_20h) = s2;
0x00049100 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00049104 sw t0, 0x18(sp) | *(var_18h) = t0;
0x00049108 addiu a1, a1, 0x103c | a1 += aav.0x0000103c;
0x0004910c move a0, s1 | a0 = s1;
0x00049110 bal 0x60608 | sym_BIO_printf ()
0x00049114 slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
| label_2:
0x00049118 lw ra, 0x84(sp) | ra = *(var_84h);
| label_3:
0x0004911c move v0, s0 | v0 = s0;
0x00049120 lw s5, 0x80(sp) | s5 = *(var_80h);
0x00049124 lw s4, 0x7c(sp) | s4 = *(var_7ch);
0x00049128 lw s3, 0x78(sp) | s3 = *(var_78h);
0x0004912c lw s2, 0x74(sp) | s2 = *(var_74h);
0x00049130 lw s1, 0x70(sp) | s1 = *(var_70h);
0x00049134 lw s0, 0x6c(sp) | s0 = *(var_6ch);
0x00049138 addiu sp, sp, 0x88 |
0x0004913c jr ra | return v0;
| label_8:
0x00049140 addiu s0, s0, 1 | s0++;
0x00049144 b 0x49088 |
| } while (1);
| label_6:
0x00049148 move s2, zero | s2 = 0;
0x0004914c b 0x490a8 | goto label_0;
| label_9:
0x00049150 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00049154 addiu v0, v0, 0x1034 | v0 += aav.0x00001034;
0x00049158 b 0x490e4 | goto label_1;
| label_5:
0x0004915c lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x00049160 sll v0, a2, 2 | v0 = a2 << 2;
0x00049164 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00049168 lw a3, 0x44(sp) | a3 = *(var_44h);
0x0004916c addiu a2, a2, 0x1130 | a2 += aav.0x00001130;
0x00049170 addu a2, a2, v0 | a2 += v0;
0x00049174 addiu v0, zero, 0x5a | v0 = 0x5a;
0x00049178 lw a0, 0x40(sp) | a0 = *(var_40h);
0x0004917c lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x00049180 lw t0, 0x38(sp) | t0 = *(var_38h);
0x00049184 addiu v1, v1, 0x76c | v1 += aav.0x0000076c;
| if (s3 == v0) {
0x00049188 beq s3, v0, 0x491c4 | goto label_10;
| }
0x0004918c lw v0, -0x7e98(gp) | v0 = *((gp - 8102));
0x00049190 addiu v0, v0, 0x1e88 | v0 += 0x1e88;
| do {
0x00049194 sw a1, 0x14(sp) | *(var_14h) = a1;
0x00049198 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004919c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x000491a0 sw a0, 0x10(sp) | *(var_10h) = a0;
0x000491a4 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000491a8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000491ac sw t0, 0x18(sp) | *(var_18h) = t0;
0x000491b0 addiu a1, a1, 0x105c | a1 += aav.0x0000105c;
0x000491b4 move a0, s1 | a0 = s1;
0x000491b8 bal 0x60608 | sym_BIO_printf ()
0x000491bc slt s0, zero, v0 | s0 = (0 < v0) ? 1 : 0;
0x000491c0 b 0x49118 | goto label_2;
| label_10:
0x000491c4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000491c8 addiu v0, v0, 0x1034 | v0 += aav.0x00001034;
0x000491cc b 0x49194 |
| } while (1);
| label_4:
0x000491d0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000491d4 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x000491d8 addiu a2, zero, 0xe | a2 = 0xe;
0x000491dc addiu a1, a1, 0x1078 | a1 += aav.0x00001078;
0x000491e0 move a0, s1 | a0 = s1;
0x000491e4 move s0, v0 | s0 = v0;
0x000491e8 bal 0x64154 | sym_BIO_write ();
0x000491ec lw ra, 0x84(sp) | ra = *(var_84h);
0x000491f0 b 0x4911c | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x53e94 */
| #include <stdint.h>
|
; (fcn) sym.ASN1_bn_print () | void ASN1_bn_print () {
0x00053e94 lui gp, 0x17 |
0x00053e98 addiu gp, gp, 0x2d2c |
0x00053e9c addu gp, gp, t9 | gp += t9;
0x00053ea0 addiu sp, sp, -0x50 |
0x00053ea4 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00053ea8 sw fp, 0x48(sp) | *(var_48h) = fp;
0x00053eac sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x00053eb0 sw s7, 0x44(sp) | *(var_44h) = s7;
0x00053eb4 sw s6, 0x40(sp) | *(var_40h) = s6;
0x00053eb8 sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x00053ebc sw s4, 0x38(sp) | *(var_38h) = s4;
0x00053ec0 sw s3, 0x34(sp) | *(var_34h) = s3;
0x00053ec4 sw s2, 0x30(sp) | *(var_30h) = s2;
0x00053ec8 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x00053ecc sw s0, 0x28(sp) | *(var_28h) = s0;
0x00053ed0 lw fp, 0x60(sp) | fp = *(arg_60h);
| if (a2 == 0) {
0x00053ed4 beqz a2, 0x540fc | goto label_2;
| }
0x00053ed8 lw t9, -0x7f10(gp) | t9 = *((gp - 8132));
0x00053edc move s4, a0 | s4 = a0;
0x00053ee0 move a0, a2 | a0 = a2;
0x00053ee4 move s0, a2 | s0 = a2;
0x00053ee8 move s6, a1 | s6 = a1;
0x00053eec bal 0x72c84 | sym_BN_is_negative ();
0x00053ef0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00053ef4 bnez v0, 0x53f88 | goto label_3;
| }
0x00053ef8 lw s3, -0x7e98(gp) | s3 = *((gp - 8102));
0x00053efc addiu s3, s3, 0x1e88 | s3 += 0x1e88;
| do {
0x00053f00 lw t9, -0x7ce4(gp) | t9 = *((gp - 7993));
0x00053f04 addiu a2, zero, 0x80 | a2 = 0x80;
0x00053f08 move a1, fp | a1 = fp;
0x00053f0c move a0, s4 | a0 = s4;
0x00053f10 bal 0x6454c | sym_BIO_indent ();
0x00053f14 move s1, v0 | s1 = v0;
0x00053f18 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00053f1c beqz v0, 0x53f54 |
0x00053f20 lw t9, -0x7f0c(gp) | t9 = *((gp - 8131));
0x00053f24 move a0, s0 | a0 = s0;
0x00053f28 bal 0x729f4 | sym_BN_is_zero ();
0x00053f2c move s1, v0 | s1 = v0;
0x00053f30 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00053f34 beqz v0, 0x53f94 | goto label_4;
| }
0x00053f38 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00053f3c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00053f40 move a2, s6 | a2 = s6;
0x00053f44 addiu a1, a1, 0x2df4 | a1 += 0x2df4;
0x00053f48 move a0, s4 | a0 = s4;
0x00053f4c bal 0x60608 | sym_BIO_printf ()
0x00053f50 slt s1, zero, v0 | s1 = (0 < v0) ? 1 : 0;
| }
| label_0:
0x00053f54 lw ra, 0x4c(sp) | ra = *(var_4ch);
| label_1:
0x00053f58 move v0, s1 | v0 = s1;
0x00053f5c lw fp, 0x48(sp) | fp = *(var_48h);
0x00053f60 lw s7, 0x44(sp) | s7 = *(var_44h);
0x00053f64 lw s6, 0x40(sp) | s6 = *(var_40h);
0x00053f68 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x00053f6c lw s4, 0x38(sp) | s4 = *(var_38h);
0x00053f70 lw s3, 0x34(sp) | s3 = *(var_34h);
0x00053f74 lw s2, 0x30(sp) | s2 = *(var_30h);
0x00053f78 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00053f7c lw s0, 0x28(sp) | s0 = *(var_28h);
0x00053f80 addiu sp, sp, 0x50 |
0x00053f84 jr ra | return v0;
| label_3:
0x00053f88 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x00053f8c addiu s3, s3, 0x2664 | s3 += 0x2664;
0x00053f90 b 0x53f00 |
| } while (1);
| label_4:
0x00053f94 lw t9, -0x7f08(gp) | t9 = *((gp - 8130));
0x00053f98 move a0, s0 | a0 = s0;
0x00053f9c bal 0x72a00 | sym_BN_num_bits ();
0x00053fa0 slti v0, v0, 0x21 | v0 = (v0 < 0x21) ? 1 : 0;
0x00053fa4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00053fa8 move a0, s0 | a0 = s0;
| if (v0 != 0) {
0x00053fac beqz v0, 0x54008 |
0x00053fb0 lw t9, -0x7b30(gp) | t9 = *(gp);
0x00053fb4 bal 0x72048 | fcn_00072048 ();
0x00053fb8 nop |
0x00053fbc lw gp, 0x20(sp) | gp = *(var_20h);
0x00053fc0 move a0, s0 | a0 = s0;
0x00053fc4 lw t9, -0x7b30(gp) | t9 = *(gp);
0x00053fc8 lw s1, (v0) | s1 = *(v0);
0x00053fcc bal 0x72048 | fcn_00072048 ();
0x00053fd0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00053fd4 lw v0, (v0) | v0 = *(v0);
0x00053fd8 sw s3, 0x14(sp) | *(var_14h) = s3;
0x00053fdc lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00053fe0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00053fe4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00053fe8 sw s1, 0x10(sp) | *(var_10h) = s1;
0x00053fec move a3, s3 | a3 = s3;
0x00053ff0 move a2, s6 | a2 = s6;
0x00053ff4 addiu a1, a1, 0x2dfc | a1 += 0x2dfc;
0x00053ff8 move a0, s4 | a0 = s4;
0x00053ffc bal 0x60608 | sym_BIO_printf ()
0x00054000 slt s1, zero, v0 | s1 = (0 < v0) ? 1 : 0;
0x00054004 b 0x53f54 | goto label_0;
| }
0x00054008 lw t9, -0x7f08(gp) | t9 = *((gp - 8130));
0x0005400c bal 0x72a00 | sym_BN_num_bits ();
0x00054010 nop |
0x00054014 addiu s2, v0, 7 | s2 = v0 + 7;
0x00054018 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 < 0) {
0x0005401c bgez s2, 0x54024 |
0x00054020 addiu s2, v0, 0xe | s2 = v0 + 0xe;
| }
0x00054024 lw s7, -0x7fd4(gp) | s7 = *((gp - 8181));
0x00054028 sra s2, s2, 3 | s2 >>= 3;
0x0005402c lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00054030 addiu s2, s2, 1 | s2++;
0x00054034 addiu a2, zero, 0x49 | a2 = 0x49;
0x00054038 addiu a1, s7, 0x2e10 | a1 = s7 + 0x2e10;
0x0005403c move a0, s2 | a0 = s2;
0x00054040 jalr t9 | t9 ();
0x00054044 move s5, v0 | s5 = v0;
0x00054048 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0005404c beqz v0, 0x540d4 | goto label_5;
| }
0x00054050 lb v1, (s3) | v1 = *(s3);
0x00054054 sb zero, (v0) | *(v0) = 0;
0x00054058 addiu v0, zero, 0x2d | v0 = 0x2d;
0x0005405c lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
| if (v1 == v0) {
0x00054060 beq v1, v0, 0x540f4 | goto label_6;
| }
0x00054064 lw a3, -0x7e98(gp) | a3 = *((gp - 8102));
0x00054068 addiu a3, a3, 0x1e88 | a3 += 0x1e88;
| do {
0x0005406c lw a1, -0x7e24(gp) | a1 = *((gp - 8073));
0x00054070 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00054074 move a2, s6 | a2 = s6;
0x00054078 addiu a1, a1, -0x7b58 | a1 += -0x7b58;
0x0005407c move a0, s4 | a0 = s4;
0x00054080 bal 0x60608 | sym_BIO_printf ()
0x00054084 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x00054088 blez v0, 0x540d4 |
0x0005408c lw t9, -0x7f04(gp) | t9 = *((gp - 8129));
0x00054090 addiu s1, s5, 1 | s1 = s5 + 1;
0x00054094 move a1, s1 | a1 = s1;
0x00054098 move a0, s0 | a0 = s0;
0x0005409c bal 0x7372c | sym_BN_bn2bin ();
0x000540a0 lb v1, 1(s5) | v1 = *((s5 + 1));
0x000540a4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 < 0) {
0x000540a8 bgez v1, 0x540b4 |
0x000540ac addiu v0, v0, 1 | v0++;
0x000540b0 move s1, s5 | s1 = s5;
| }
0x000540b4 lw t9, -0x7b2c(gp) | t9 = *((gp - 7883));
0x000540b8 move a1, s1 | a1 = s1;
0x000540bc addiu a3, fp, 4 | a3 = fp + 4;
0x000540c0 move a2, v0 | a2 = v0;
0x000540c4 move a0, s4 | a0 = s4;
0x000540c8 bal 0x53d44 | sym_ASN1_buf_print ();
0x000540cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000540d0 sltu s1, zero, v0 | s1 = (0 < v0) ? 1 : 0;
| }
| label_5:
0x000540d4 lw t9, -0x7e64(gp) | t9 = *((gp - 8089));
0x000540d8 addiu a3, zero, 0x5b | a3 = 0x5b;
0x000540dc addiu a2, s7, 0x2e10 | a2 = s7 + 0x2e10;
0x000540e0 move a1, s2 | a1 = s2;
0x000540e4 move a0, s5 | a0 = s5;
0x000540e8 jalr t9 | t9 ();
0x000540ec lw ra, 0x4c(sp) | ra = *(var_4ch);
0x000540f0 b 0x53f58 | goto label_1;
| label_6:
0x000540f4 addiu a3, a3, 0x2de8 | a3 += 0x2de8;
0x000540f8 b 0x5406c |
| } while (1);
| label_2:
0x000540fc addiu s1, zero, 1 | s1 = 1;
0x00054100 b 0x53f54 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x53d44 */
| #include <stdint.h>
|
; (fcn) sym.ASN1_buf_print () | void ASN1_buf_print () {
0x00053d44 lui gp, 0x17 |
0x00053d48 addiu gp, gp, 0x2e7c |
0x00053d4c addu gp, gp, t9 | gp += t9;
0x00053d50 addiu sp, sp, -0x40 |
0x00053d54 sw s3, 0x28(sp) | *(var_28h) = s3;
0x00053d58 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00053d5c lw s3, -0x7e1c(gp) | s3 = *((gp - 8071));
0x00053d60 lw s2, -0x7e98(gp) | s2 = *((gp - 8102));
0x00053d64 sw s7, 0x38(sp) | *(var_38h) = s7;
0x00053d68 lw s7, -0x7e98(gp) | s7 = *((gp - 8102));
0x00053d6c sw s6, 0x34(sp) | *(var_34h) = s6;
0x00053d70 sw s5, 0x30(sp) | *(var_30h) = s5;
0x00053d74 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x00053d78 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00053d7c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00053d80 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00053d84 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00053d88 move s1, a0 | s1 = a0;
0x00053d8c move s5, a1 | s5 = a1;
0x00053d90 move s4, a2 | s4 = a2;
0x00053d94 move s6, a3 | s6 = a3;
0x00053d98 move s0, zero | s0 = 0;
0x00053d9c addiu s2, s2, 0x1e88 | s2 += 0x1e88;
0x00053da0 addiu s3, s3, 0x15f8 | s3 += 0x15f8;
| label_3:
0x00053da4 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
| if (s0 == s4) {
0x00053da8 bne s0, s4, 0x53dc8 |
0x00053dac lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x00053db0 addiu a2, zero, 1 | a2 = 1;
0x00053db4 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x00053db8 move a0, s1 | a0 = s1;
0x00053dbc bal 0x64154 | sym_BIO_write ();
0x00053dc0 slt v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x00053dc4 b 0x53e24 | goto label_1;
| }
0x00053dc8 addiu v0, zero, 0xf | v0 = 0xf;
0x00053dcc divu zero, s0, v0 | __asm ("divu zero, s0, v0");
0x00053dd0 teq v0, zero, 7 | __asm ("teq v0, zero, 7");
0x00053dd4 mfhi v0 | __asm ("mfhi v0");
| if (v0 == 0) {
0x00053dd8 beqz v0, 0x53dfc | goto label_4;
| }
0x00053ddc nop |
| do {
0x00053de0 addu v0, s5, s0 | v0 = s5 + s0;
0x00053de4 lbu a2, (v0) | a2 = *(v0);
0x00053de8 addiu v0, s4, -1 | v0 = s4 + -1;
0x00053dec move a3, s2 | a3 = s2;
| if (v0 != s0) {
0x00053df0 bne v0, s0, 0x53e6c | goto label_5;
| }
0x00053df4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00053df8 b 0x53e74 | goto label_6;
| label_4:
0x00053dfc lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
| if (s0 != 0) {
0x00053e00 bnez s0, 0x53e50 | goto label_7;
| }
| label_0:
0x00053e04 lw t9, -0x7ce4(gp) | t9 = *((gp - 7993));
0x00053e08 addiu a2, zero, 0x80 | a2 = 0x80;
0x00053e0c move a1, s6 | a1 = s6;
0x00053e10 move a0, s1 | a0 = s1;
0x00053e14 bal 0x6454c | sym_BIO_indent ();
0x00053e18 lw gp, 0x10(sp) | gp = *(var_10h);
0x00053e1c bnez v0, 0x53de0 |
| } while (v0 != 0);
| label_2:
0x00053e20 move v0, zero | v0 = 0;
| label_1:
0x00053e24 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00053e28 lw s7, 0x38(sp) | s7 = *(var_38h);
0x00053e2c lw s6, 0x34(sp) | s6 = *(var_34h);
0x00053e30 lw s5, 0x30(sp) | s5 = *(var_30h);
0x00053e34 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00053e38 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00053e3c lw s2, 0x24(sp) | s2 = *(var_24h);
0x00053e40 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00053e44 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00053e48 addiu sp, sp, 0x40 |
0x00053e4c jr ra | return v0;
| label_7:
0x00053e50 addiu a1, s7, 0x3620 | a1 = s7 + 0x3620;
0x00053e54 move a0, s1 | a0 = s1;
0x00053e58 bal 0x641d8 | sym_BIO_puts ();
0x00053e5c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 > 0) {
0x00053e60 bgtz v0, 0x53e04 | goto label_0;
| }
0x00053e64 move v0, zero | v0 = 0;
0x00053e68 b 0x53e24 | goto label_1;
| label_5:
0x00053e6c move a3, s3 | a3 = s3;
0x00053e70 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| label_6:
0x00053e74 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00053e78 addiu a1, a1, 0x2de0 | a1 += 0x2de0;
0x00053e7c move a0, s1 | a0 = s1;
0x00053e80 bal 0x60608 | sym_BIO_printf ()
0x00053e84 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x00053e88 blez v0, 0x53e20 | goto label_2;
| }
0x00053e8c addiu s0, s0, 1 | s0++;
0x00053e90 b 0x53da4 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x5ea10 */
| #include <stdint.h>
|
; (fcn) sym.BIO_hex_string () | void BIO_hex_string () {
0x0005ea10 lui gp, 0x17 |
0x0005ea14 addiu gp, gp, -0x7e50 |
0x0005ea18 addu gp, gp, t9 | gp += t9;
0x0005ea1c addiu sp, sp, -0x40 |
0x0005ea20 lw v0, 0x50(sp) | v0 = *(arg_50h);
0x0005ea24 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0005ea28 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0005ea2c sw fp, 0x38(sp) | *(var_38h) = fp;
0x0005ea30 sw s7, 0x34(sp) | *(var_34h) = s7;
0x0005ea34 sw s6, 0x30(sp) | *(var_30h) = s6;
0x0005ea38 sw s5, 0x2c(sp) | *(var_2ch) = s5;
0x0005ea3c sw s4, 0x28(sp) | *(var_28h) = s4;
0x0005ea40 sw s3, 0x24(sp) | *(var_24h) = s3;
0x0005ea44 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0005ea48 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0005ea4c sw s0, 0x18(sp) | *(var_18h) = s0;
0x0005ea50 lw s6, -0x7e98(gp) | s6 = *((gp - 8102));
| if (v0 <= 0) {
0x0005ea54 blez v0, 0x5eae4 | goto label_0;
| }
0x0005ea58 lw s7, -0x7de8(gp) | s7 = *((gp - 8058));
0x0005ea5c lw fp, -0x7fd4(gp) | fp = *((gp - 8181));
0x0005ea60 move s1, a3 | s1 = a3;
0x0005ea64 move s5, a2 | s5 = a2;
0x0005ea68 move s4, a1 | s4 = a1;
0x0005ea6c move s0, a0 | s0 = a0;
0x0005ea70 move s2, zero | s2 = 0;
0x0005ea74 move s3, zero | s3 = 0;
0x0005ea78 addiu s6, s6, 0x1e88 | s6 += 0x1e88;
0x0005ea7c addiu s7, s7, -0x221c | s7 += -aav.0x0000221c;
| do {
0x0005ea80 lw v0, 0x50(sp) | v0 = *(arg_50h);
0x0005ea84 addiu v0, v0, -1 | v0 += -1;
0x0005ea88 slt v1, s3, v0 | v1 = (s3 < v0) ? 1 : 0;
0x0005ea8c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
| if (v1 == 0) {
0x0005ea90 bnez v1, 0x5eb18 |
0x0005ea94 lw v0, 0x50(sp) | v0 = *(arg_50h);
| if (v0 != 0) {
0x0005ea98 beqz v0, 0x5eac8 |
0x0005ea9c lw a1, -0x7de8(gp) | a1 = *((gp - 8058));
| if (s2 != 0) {
0x0005eaa0 bnez s2, 0x5eacc | goto label_1;
| }
0x0005eaa4 lw a3, -0x7e98(gp) | a3 = *((gp - 8102));
0x0005eaa8 lw a1, -0x7de8(gp) | a1 = *((gp - 8058));
0x0005eaac addiu a3, a3, 0x1e88 | a3 += 0x1e88;
0x0005eab0 move a2, s4 | a2 = s4;
0x0005eab4 addiu a1, a1, -0x221c | a1 += -aav.0x0000221c;
0x0005eab8 move a0, s0 | a0 = s0;
0x0005eabc bal 0x60608 | sym_BIO_printf ()
0x0005eac0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0005eac4 lw v0, 0x50(sp) | v0 = *(arg_50h);
| }
0x0005eac8 lw a1, -0x7de8(gp) | a1 = *((gp - 8058));
| label_1:
0x0005eacc addu s1, s1, v0 | s1 += v0;
0x0005ead0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0005ead4 lbu a2, -1(s1) | a2 = *((s1 - 1));
0x0005ead8 addiu a1, a1, -0x2198 | a1 += -0x2198;
0x0005eadc move a0, s0 | a0 = s0;
0x0005eae0 bal 0x60608 | sym_BIO_printf ()
| label_0:
0x0005eae4 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0005eae8 lw fp, 0x38(sp) | fp = *(var_38h);
0x0005eaec lw s7, 0x34(sp) | s7 = *(var_34h);
0x0005eaf0 lw s6, 0x30(sp) | s6 = *(var_30h);
0x0005eaf4 lw s5, 0x2c(sp) | s5 = *(var_2ch);
0x0005eaf8 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0005eafc lw s3, 0x24(sp) | s3 = *(var_24h);
0x0005eb00 lw s2, 0x20(sp) | s2 = *(var_20h);
0x0005eb04 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0005eb08 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0005eb0c addiu v0, zero, 1 | v0 = 1;
0x0005eb10 addiu sp, sp, 0x40 |
0x0005eb14 jr ra | return v0;
| }
0x0005eb18 addu v0, s1, s3 | v0 = s1 + s3;
| if (s3 != 0) {
0x0005eb1c beqz s3, 0x5eb40 |
0x0005eb20 move a3, s6 | a3 = s6;
| if (s2 != 0) {
0x0005eb24 bnez s2, 0x5eb40 | goto label_2;
| }
0x0005eb28 move a2, s4 | a2 = s4;
0x0005eb2c move a1, s7 | a1 = s7;
0x0005eb30 move a0, s0 | a0 = s0;
0x0005eb34 bal 0x60608 | sym_BIO_printf ()
0x0005eb38 lw gp, 0x10(sp) | gp = *(var_10h);
0x0005eb3c addu v0, s1, s3 | v0 = s1 + s3;
| }
| label_2:
0x0005eb40 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0005eb44 lbu a2, (v0) | a2 = *(v0);
0x0005eb48 addiu s2, s2, 1 | s2++;
0x0005eb4c addiu a1, fp, 0x4738 | a1 = fp + 0x4738;
0x0005eb50 move a0, s0 | a0 = s0;
0x0005eb54 bal 0x60608 | sym_BIO_printf ()
0x0005eb58 div zero, s2, s5 | __asm ("div zero, s2, s5");
0x0005eb5c teq s5, zero, 7 | __asm ("teq s5, zero, 7");
0x0005eb60 mfhi s2 | __asm ("mfhi s2");
0x0005eb64 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 == 0) {
0x0005eb68 bnez s2, 0x5eb84 |
0x0005eb6c lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0005eb70 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0005eb74 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x0005eb78 move a0, s0 | a0 = s0;
0x0005eb7c bal 0x60608 | sym_BIO_printf ()
0x0005eb80 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0005eb84 addiu s3, s3, 1 | s3++;
0x0005eb88 b 0x5ea80 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x54104 */
| #include <stdint.h>
|
; (fcn) sym.NETSCAPE_SPKI_print () | void NETSCAPE_SPKI_print () {
0x00054104 lui gp, 0x17 |
0x00054108 addiu gp, gp, 0x2abc |
0x0005410c addu gp, gp, t9 | gp += t9;
0x00054110 addiu sp, sp, -0x48 |
0x00054114 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00054118 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0005411c move s1, a1 | s1 = a1;
0x00054120 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00054124 sw ra, 0x44(sp) | *(var_44h) = ra;
0x00054128 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0005412c sw s0, 0x28(sp) | *(var_28h) = s0;
0x00054130 addiu a1, a1, 0x2e30 | a1 += 0x2e30;
0x00054134 sw s6, 0x40(sp) | *(var_40h) = s6;
0x00054138 sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x0005413c sw s4, 0x38(sp) | *(var_38h) = s4;
0x00054140 sw s3, 0x34(sp) | *(var_34h) = s3;
0x00054144 sw s2, 0x30(sp) | *(var_30h) = s2;
0x00054148 move s0, a0 | s0 = a0;
0x0005414c bal 0x60608 | sym_BIO_printf ()
0x00054150 lw v0, (s1) | v0 = *(s1);
0x00054154 lw gp, 0x18(sp) | gp = *(var_18h);
0x00054158 move a3, zero | a3 = 0;
0x0005415c lw v0, (v0) | v0 = *(v0);
0x00054160 lw t9, -0x7b28(gp) | t9 = *((gp - 7882));
0x00054164 move a2, zero | a2 = 0;
0x00054168 move a1, zero | a1 = 0;
0x0005416c addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x00054170 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00054174 jalr t9 | t9 ();
0x00054178 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005417c lw t9, -0x7e88(gp) | t9 = *((gp - 8098));
0x00054180 lw a0, 0x20(sp) | a0 = *(var_20h);
0x00054184 jalr t9 | t9 ();
0x00054188 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0005418c beqz v0, 0x542d4 | goto label_3;
| }
0x00054190 lw t9, -0x7dfc(gp) | t9 = *((gp - 8063));
0x00054194 move a0, v0 | a0 = v0;
0x00054198 jalr t9 | t9 ();
0x0005419c lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x000541a0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000541a4 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x000541a8 move a2, v0 | a2 = v0;
0x000541ac addiu a1, a1, 0x2e40 | a1 += 0x2e40;
0x000541b0 move a0, s0 | a0 = s0;
0x000541b4 bal 0x60608 | sym_BIO_printf ()
0x000541b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000541bc lw v0, (s1) | v0 = *(s1);
0x000541c0 lw t9, -0x7b24(gp) | t9 = *((gp - 7881));
0x000541c4 lw a0, (v0) | a0 = *(v0);
0x000541c8 jalr t9 | t9 ();
0x000541cc move s2, v0 | s2 = v0;
0x000541d0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000541d4 bnez v0, 0x542e0 | goto label_4;
| }
0x000541d8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000541dc lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x000541e0 addiu a1, a1, 0x2e5c | a1 += 0x2e5c;
0x000541e4 move a0, s0 | a0 = s0;
0x000541e8 bal 0x60608 | sym_BIO_printf ()
0x000541ec lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x000541f0 lw v0, (s1) | v0 = *(s1);
0x000541f4 lw v0, 4(v0) | v0 = *((v0 + 1));
0x000541f8 lw v1, (v0) | v1 = *(v0);
0x000541fc lw t9, -0x7e88(gp) | t9 = *((gp - 8098));
| if (v1 != 0) {
0x00054200 beqz v1, 0x54224 |
0x00054204 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00054208 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0005420c lw a2, 8(v0) | a2 = *((v0 + 2));
0x00054210 addiu a1, a1, 0x2e7c | a1 += aav.0x00002e7c;
0x00054214 move a0, s0 | a0 = s0;
0x00054218 bal 0x60608 | sym_BIO_printf ()
0x0005421c lw gp, 0x18(sp) | gp = *(var_18h);
0x00054220 lw t9, -0x7e88(gp) | t9 = *((gp - 8098));
| }
0x00054224 lw a0, 4(s1) | a0 = *((s1 + 1));
0x00054228 jalr t9 | t9 ();
0x0005422c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00054230 beqz v0, 0x54310 | goto label_5;
| }
0x00054234 lw t9, -0x7dfc(gp) | t9 = *((gp - 8063));
0x00054238 move a0, v0 | a0 = v0;
0x0005423c jalr t9 | t9 ();
0x00054240 lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x00054244 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00054248 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0005424c move a2, v0 | a2 = v0;
0x00054250 addiu a1, a1, 0x2e94 | a1 += 0x2e94;
0x00054254 move a0, s0 | a0 = s0;
0x00054258 bal 0x60608 | sym_BIO_printf ()
0x0005425c lw gp, 0x18(sp) | gp = *(var_18h);
0x00054260 lw v0, 0xc(s1) | v0 = *((s1 + 3));
0x00054264 move s1, zero | s1 = 0;
0x00054268 lw s2, -0x7e98(gp) | s2 = *((gp - 8102));
0x0005426c lw s3, -0x7e1c(gp) | s3 = *((gp - 8071));
0x00054270 lw s4, (v0) | s4 = *(v0);
0x00054274 lw s5, 8(v0) | s5 = *((v0 + 2));
0x00054278 lw s6, -0x7fd4(gp) | s6 = *((gp - 8181));
0x0005427c addiu s2, s2, 0x1e88 | s2 += 0x1e88;
0x00054280 addiu s3, s3, 0x15f8 | s3 += 0x15f8;
| label_2:
0x00054284 slt v0, s1, s4 | v0 = (s1 < s4) ? 1 : 0;
0x00054288 addiu v0, zero, 0x12 | v0 = 0x12;
| if (v0 != 0) {
0x0005428c bnez v0, 0x5431c | goto label_6;
| }
0x00054290 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x00054294 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x00054298 move a0, s0 | a0 = s0;
0x0005429c addiu a2, zero, 1 | a2 = 1;
0x000542a0 addiu a1, a1, 0x3620 | a1 += 0x3620;
0x000542a4 bal 0x64154 | sym_BIO_write ();
0x000542a8 lw ra, 0x44(sp) | ra = *(var_44h);
0x000542ac lw s6, 0x40(sp) | s6 = *(var_40h);
0x000542b0 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x000542b4 lw s4, 0x38(sp) | s4 = *(var_38h);
0x000542b8 lw s3, 0x34(sp) | s3 = *(var_34h);
0x000542bc lw s2, 0x30(sp) | s2 = *(var_30h);
0x000542c0 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x000542c4 lw s0, 0x28(sp) | s0 = *(var_28h);
0x000542c8 addiu v0, zero, 1 | v0 = 1;
0x000542cc addiu sp, sp, 0x48 |
0x000542d0 jr ra | return v0;
| label_3:
0x000542d4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000542d8 addiu v0, v0, 0x2e28 | v0 += 0x2e28;
0x000542dc b 0x541a0 |
| } while (1);
| label_4:
0x000542e0 lw t9, -0x7b20(gp) | t9 = *((gp - 7880));
0x000542e4 move a3, zero | a3 = 0;
0x000542e8 addiu a2, zero, 4 | a2 = 4;
0x000542ec move a1, v0 | a1 = v0;
0x000542f0 move a0, s0 | a0 = s0;
0x000542f4 jalr t9 | t9 ();
0x000542f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000542fc lw t9, -0x7c30(gp) | t9 = *((gp - 7948));
0x00054300 move a0, s2 | a0 = s2;
0x00054304 jalr t9 | t9 ();
0x00054308 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005430c b 0x541f0 | goto label_0;
| label_5:
0x00054310 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00054314 addiu v0, v0, 0x2e28 | v0 += 0x2e28;
0x00054318 b 0x54244 | goto label_1;
| label_6:
0x0005431c div zero, s1, v0 | __asm ("div zero, s1, v0");
0x00054320 teq v0, zero, 7 | __asm ("teq v0, zero, 7");
0x00054324 mfhi v0 | __asm ("mfhi v0");
0x00054328 addu v0, s5, s1 | v0 = s5 + s1;
| if (v0 == 0) {
0x0005432c bnez v0, 0x5434c |
0x00054330 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x00054334 addiu a2, zero, 7 | a2 = 7;
0x00054338 addiu a1, s6, 0x2eb0 | a1 = s6 + 0x2eb0;
0x0005433c move a0, s0 | a0 = s0;
0x00054340 bal 0x64154 | sym_BIO_write ();
0x00054344 lw gp, 0x18(sp) | gp = *(var_18h);
0x00054348 addu v0, s5, s1 | v0 = s5 + s1;
| }
0x0005434c addiu s1, s1, 1 | s1++;
0x00054350 lbu a2, (v0) | a2 = *(v0);
| if (s1 == s4) {
0x00054354 beq s1, s4, 0x54378 | goto label_7;
| }
0x00054358 move a3, s3 | a3 = s3;
| do {
0x0005435c lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00054360 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x00054364 addiu a1, a1, 0x2de0 | a1 += 0x2de0;
0x00054368 move a0, s0 | a0 = s0;
0x0005436c bal 0x60608 | sym_BIO_printf ()
0x00054370 lw gp, 0x18(sp) | gp = *(var_18h);
0x00054374 b 0x54284 | goto label_2;
| label_7:
0x00054378 move a3, s2 | a3 = s2;
0x0005437c b 0x5435c |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x4ed70 */
| #include <stdint.h>
|
; (fcn) sym.PEM_write_bio_ASN1_stream () | void PEM_write_bio_ASN1_stream () {
0x0004ed70 lui gp, 0x17 |
0x0004ed74 addiu gp, gp, 0x7e50 |
0x0004ed78 addu gp, gp, t9 | gp += t9;
0x0004ed7c addiu sp, sp, -0x38 |
0x0004ed80 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004ed84 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0004ed88 move s1, a1 | s1 = a1;
0x0004ed8c lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004ed90 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0004ed94 move s2, a2 | s2 = a2;
0x0004ed98 lw a2, 0x48(sp) | a2 = *(arg_48h);
0x0004ed9c sw ra, 0x34(sp) | *(var_34h) = ra;
0x0004eda0 sw s3, 0x30(sp) | *(var_30h) = s3;
0x0004eda4 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0004eda8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004edac addiu a1, a1, 0x2858 | a1 += 0x2858;
0x0004edb0 move s0, a0 | s0 = a0;
0x0004edb4 move s3, a3 | s3 = a3;
0x0004edb8 bal 0x60608 | sym_BIO_printf ()
0x0004edbc lw gp, 0x18(sp) | gp = *(var_18h);
0x0004edc0 lw v0, 0x4c(sp) | v0 = *(arg_4ch);
0x0004edc4 move a3, s3 | a3 = s3;
0x0004edc8 lw t9, -0x7d58(gp) | t9 = *((gp - 8022));
0x0004edcc move a2, s2 | a2 = s2;
0x0004edd0 move a1, s1 | a1 = s1;
0x0004edd4 move a0, s0 | a0 = s0;
0x0004edd8 addiu t9, t9, -0x13bc | t9 += -0x13bc;
0x0004eddc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004ede0 bal 0x4ec44 | fcn_0004ec44 ();
0x0004ede4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004ede8 lw a2, 0x48(sp) | a2 = *(arg_48h);
0x0004edec move a0, s0 | a0 = s0;
0x0004edf0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004edf4 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004edf8 addiu a1, a1, 0x286c | a1 += 0x286c;
0x0004edfc move s1, v0 | s1 = v0;
0x0004ee00 bal 0x60608 | sym_BIO_printf ()
0x0004ee04 lw ra, 0x34(sp) | ra = *(var_34h);
0x0004ee08 move v0, s1 | v0 = s1;
0x0004ee0c lw s3, 0x30(sp) | s3 = *(var_30h);
0x0004ee10 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0004ee14 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0004ee18 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0004ee1c addiu sp, sp, 0x38 |
0x0004ee20 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x4e8e0 */
| #include <stdint.h>
|
; (fcn) sym.SMIME_crlf_copy () | void SMIME_crlf_copy () {
0x0004e8e0 lui gp, 0x18 |
0x0004e8e4 addiu gp, gp, -0x7d20 |
0x0004e8e8 addu gp, gp, t9 | gp += t9;
0x0004e8ec addiu sp, sp, -0x450 |
0x0004e8f0 lw t9, -0x7ca4(gp) | t9 = *((gp - 7977));
0x0004e8f4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0004e8f8 sw ra, 0x44c(sp) | *(var_44ch) = ra;
0x0004e8fc sw s7, 0x444(sp) | *(var_444h) = s7;
0x0004e900 sw s4, 0x438(sp) | *(var_438h) = s4;
0x0004e904 sw s0, 0x428(sp) | *(var_428h) = s0;
0x0004e908 sw fp, 0x448(sp) | *(var_448h) = fp;
0x0004e90c sw s6, 0x440(sp) | *(var_440h) = s6;
0x0004e910 sw s5, 0x43c(sp) | *(var_43ch) = s5;
0x0004e914 sw s3, 0x434(sp) | *(var_434h) = s3;
0x0004e918 sw s2, 0x430(sp) | *(var_430h) = s2;
0x0004e91c sw s1, 0x42c(sp) | *(var_42ch) = s1;
0x0004e920 move s7, a0 | s7 = a0;
0x0004e924 move s0, a1 | s0 = a1;
0x0004e928 move s4, a2 | s4 = a2;
0x0004e92c bal 0x62604 | sym_BIO_f_buffer ();
0x0004e930 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004e934 lw t9, -0x7f64(gp) | t9 = *((gp - 8153));
0x0004e938 move a0, v0 | a0 = v0;
0x0004e93c bal 0x63d00 | sym_BIO_new ();
0x0004e940 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0004e944 beqz v0, 0x4eb20 | goto label_4;
| }
0x0004e948 lw t9, -0x7cb4(gp) | t9 = *((gp - 7981));
0x0004e94c move a1, s0 | a1 = s0;
0x0004e950 move a0, v0 | a0 = v0;
0x0004e954 move s5, v0 | s5 = v0;
0x0004e958 bal 0x64934 | sym_BIO_push ();
0x0004e95c move s0, v0 | s0 = v0;
0x0004e960 andi v0, s4, 0x80 | v0 = s4 & 0x80;
0x0004e964 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004e968 addiu s1, sp, 0x18 | s1 = sp + 0x18;
| if (v0 != 0) {
0x0004e96c bnez v0, 0x4ea28 | goto label_5;
| }
0x0004e970 andi v0, s4, 1 | v0 = s4 & 1;
0x0004e974 addiu v0, sp, 0x418 | v0 = sp + aav.0x00000418;
| if (v0 != 0) {
0x0004e978 beqz v0, 0x4e998 |
0x0004e97c lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004e980 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004e984 addiu a1, a1, 0x2838 | a1 += 0x2838;
0x0004e988 move a0, s0 | a0 = s0;
0x0004e98c bal 0x60608 | sym_BIO_printf ()
0x0004e990 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004e994 addiu v0, sp, 0x418 | v0 = sp + aav.0x00000418;
| }
0x0004e998 sw v0, 0x420(sp) | *(var_420h) = v0;
0x0004e99c lw v0, -0x7d58(gp) | v0 = *((gp - 8022));
0x0004e9a0 lw s2, -0x7fd4(gp) | s2 = *((gp - 8181));
0x0004e9a4 addiu v0, v0, -0x29c8 | v0 += -0x29c8;
0x0004e9a8 move s3, zero | s3 = 0;
0x0004e9ac sw v0, 0x424(sp) | *(var_424h) = v0;
0x0004e9b0 addiu s2, s2, 0x2774 | s2 += 0x2774;
| label_1:
0x0004e9b4 lw t9, -0x7cc4(gp) | t9 = *((gp - 7985));
| label_0:
0x0004e9b8 addiu a2, zero, 0x400 | a2 = aav.0x00000400;
0x0004e9bc move a1, s1 | a1 = s1;
0x0004e9c0 move a0, s7 | a0 = s7;
0x0004e9c4 bal 0x64398 | sym_BIO_gets ();
0x0004e9c8 sw v0, 0x418(sp) | *(var_418h) = v0;
0x0004e9cc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0004e9d0 blez v0, 0x4ea48 | goto label_6;
| }
0x0004e9d4 lw a1, 0x420(sp) | a1 = *(var_420h);
0x0004e9d8 lw t9, 0x424(sp) | t9 = *(var_424h);
0x0004e9dc move a2, s4 | a2 = s4;
0x0004e9e0 move a0, s1 | a0 = s1;
0x0004e9e4 jalr t9 | t9 ();
0x0004e9e8 lw v1, 0x418(sp) | v1 = *(var_418h);
0x0004e9ec seb fp, v0 | __asm ("seb fp, v0");
0x0004e9f0 lui v0, 8 | v0 = 0x80000;
0x0004e9f4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004e9f8 and v0, s4, v0 | v0 = s4 & v0;
| if (v1 == 0) {
0x0004e9fc beqz v1, 0x4eb10 | goto label_7;
| }
0x0004ea00 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
| if (v0 == 0) {
0x0004ea04 beqz v0, 0x4ead8 | goto label_8;
| }
0x0004ea08 move s6, zero | s6 = 0;
0x0004ea0c b 0x4eacc | goto label_9;
| do {
0x0004ea10 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004ea14 move a2, v0 | a2 = v0;
0x0004ea18 move a1, s1 | a1 = s1;
0x0004ea1c move a0, s0 | a0 = s0;
0x0004ea20 bal 0x64154 | sym_BIO_write ();
0x0004ea24 lw gp, 0x10(sp) | gp = *(var_10h);
| label_5:
0x0004ea28 lw t9, -0x7f7c(gp) | t9 = *((gp - 8159));
0x0004ea2c addiu a2, zero, 0x400 | a2 = aav.0x00000400;
0x0004ea30 move a1, s1 | a1 = s1;
0x0004ea34 move a0, s7 | a0 = s7;
0x0004ea38 bal 0x640d0 | sym_BIO_read ();
0x0004ea3c sw v0, 0x418(sp) | *(var_418h) = v0;
0x0004ea40 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004ea44 bgtz v0, 0x4ea10 |
| } while (v0 > 0);
| label_6:
0x0004ea48 lw t9, -0x7f60(gp) | t9 = *((gp - 8152));
0x0004ea4c move a3, zero | a3 = 0;
0x0004ea50 move a2, zero | a2 = 0;
0x0004ea54 addiu a1, zero, 0xb | a1 = 0xb;
0x0004ea58 move a0, s0 | a0 = s0;
0x0004ea5c bal 0x645e0 | sym_BIO_ctrl ();
0x0004ea60 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004ea64 lw t9, -0x7cb0(gp) | t9 = *((gp - 7980));
0x0004ea68 move a0, s0 | a0 = s0;
0x0004ea6c bal 0x649b0 | sym_BIO_pop ();
0x0004ea70 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004ea74 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0004ea78 move a0, s5 | a0 = s5;
0x0004ea7c bal 0x63ec4 | sym_BIO_free ();
0x0004ea80 addiu v0, zero, 1 | v0 = 1;
| label_3:
0x0004ea84 lw ra, 0x44c(sp) | ra = *(var_44ch);
0x0004ea88 lw fp, 0x448(sp) | fp = *(var_448h);
0x0004ea8c lw s7, 0x444(sp) | s7 = *(var_444h);
0x0004ea90 lw s6, 0x440(sp) | s6 = *(var_440h);
0x0004ea94 lw s5, 0x43c(sp) | s5 = *(var_43ch);
0x0004ea98 lw s4, 0x438(sp) | s4 = *(var_438h);
0x0004ea9c lw s3, 0x434(sp) | s3 = *(var_434h);
0x0004eaa0 lw s2, 0x430(sp) | s2 = *(var_430h);
0x0004eaa4 lw s1, 0x42c(sp) | s1 = *(var_42ch);
0x0004eaa8 lw s0, 0x428(sp) | s0 = *(var_428h);
0x0004eaac addiu sp, sp, 0x450 |
0x0004eab0 jr ra | return v0;
| do {
0x0004eab4 addiu a2, zero, 2 | a2 = 2;
0x0004eab8 move a1, s2 | a1 = s2;
0x0004eabc move a0, s0 | a0 = s0;
0x0004eac0 bal 0x64154 | sym_BIO_write ();
0x0004eac4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004eac8 addiu s6, s6, 1 | s6++;
| label_9:
0x0004eacc lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004ead0 bne s3, s6, 0x4eab4 |
| } while (s3 != s6);
0x0004ead4 move s3, zero | s3 = 0;
| label_8:
0x0004ead8 lw a2, 0x418(sp) | a2 = *(var_418h);
0x0004eadc move a1, s1 | a1 = s1;
0x0004eae0 move a0, s0 | a0 = s0;
0x0004eae4 bal 0x64154 | sym_BIO_write ();
0x0004eae8 lw gp, 0x10(sp) | gp = *(var_10h);
| label_2:
0x0004eaec lw t9, -0x7cc4(gp) | t9 = *((gp - 7985));
| if (fp == 0) {
0x0004eaf0 beqz fp, 0x4e9b8 | goto label_0;
| }
0x0004eaf4 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004eaf8 addiu a2, zero, 2 | a2 = 2;
0x0004eafc move a1, s2 | a1 = s2;
0x0004eb00 move a0, s0 | a0 = s0;
0x0004eb04 bal 0x64154 | sym_BIO_write ();
0x0004eb08 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004eb0c b 0x4e9b4 | goto label_1;
| if (v0 == 0) {
| label_7:
0x0004eb10 beqz v0, 0x4eaec | goto label_2;
| }
0x0004eb14 nop |
0x0004eb18 addiu s3, s3, 1 | s3++;
0x0004eb1c b 0x4e9b4 | goto label_1;
| label_4:
0x0004eb20 move v0, zero | v0 = 0;
0x0004eb24 b 0x4ea84 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/libcrypto.so.1.1 @ 0x4ee24 */
| #include <stdint.h>
|
; (fcn) sym.SMIME_write_ASN1 () | void SMIME_write_ASN1 () {
0x0004ee24 lui gp, 0x17 |
0x0004ee28 addiu gp, gp, 0x7d9c |
0x0004ee2c addu gp, gp, t9 | gp += t9;
0x0004ee30 addiu sp, sp, -0x90 |
0x0004ee34 sw s0, 0x68(sp) | *(var_68h) = s0;
0x0004ee38 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004ee3c move s0, a0 | s0 = a0;
0x0004ee40 andi a0, a3, 0x400 | a0 = a3 & aav.0x00000400;
0x0004ee44 sw fp, 0x88(sp) | *(var_88h) = fp;
0x0004ee48 sw s6, 0x80(sp) | *(var_80h) = s6;
0x0004ee4c sw s4, 0x78(sp) | *(var_78h) = s4;
0x0004ee50 sw ra, 0x8c(sp) | *(var_8ch) = ra;
0x0004ee54 sw s7, 0x84(sp) | *(var_84h) = s7;
0x0004ee58 sw s5, 0x7c(sp) | *(var_7ch) = s5;
0x0004ee5c sw s3, 0x74(sp) | *(var_74h) = s3;
0x0004ee60 sw s2, 0x70(sp) | *(var_70h) = s2;
0x0004ee64 sw s1, 0x6c(sp) | *(var_6ch) = s1;
0x0004ee68 move fp, a1 | fp = a1;
0x0004ee6c move s6, a2 | s6 = a2;
0x0004ee70 move s4, a3 | s4 = a3;
0x0004ee74 lw v0, 0xa0(sp) | v0 = *(arg_a0h);
0x0004ee78 lw v1, 0xa4(sp) | v1 = *(arg_a4h);
| if (a0 == 0) {
0x0004ee7c beqz a0, 0x4eefc | goto label_10;
| }
0x0004ee80 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x0004ee84 addiu s3, s3, 0x2880 | s3 += 0x2880;
| do {
0x0004ee88 andi a0, s4, 0x800 | a0 = s4 & aav.0x00000800;
0x0004ee8c lw s1, -0x7e98(gp) | s1 = *((gp - 8102));
| if (a0 == 0) {
0x0004ee90 beqz a0, 0x4ef08 | goto label_11;
| }
0x0004ee94 lw s1, -0x7fd4(gp) | s1 = *((gp - 8181));
0x0004ee98 addiu s1, s1, 0x2774 | s1 += 0x2774;
| label_0:
0x0004ee9c andi a0, s4, 0x40 | a0 = s4 & 0x40;
0x0004eea0 addiu a0, zero, 0x17 | a0 = 0x17;
| if (a0 == 0) {
0x0004eea4 beqz a0, 0x4f41c | goto label_12;
| }
0x0004eea8 lw t9, -0x7c94(gp) | t9 = *((gp - 7973));
| if (s6 == 0) {
0x0004eeac beqz s6, 0x4f41c | goto label_12;
| }
0x0004eeb0 addiu s5, sp, 0x20 | s5 = sp + 0x20;
0x0004eeb4 addiu a1, zero, 0x20 | a1 = 0x20;
0x0004eeb8 move a0, s5 | a0 = s5;
0x0004eebc jalr t9 | t9 ();
0x0004eec0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 > 0) {
0x0004eec4 bgtz v0, 0x4ef10 | goto label_13;
| }
| label_5:
0x0004eec8 move v0, zero | v0 = 0;
| label_2:
0x0004eecc lw ra, 0x8c(sp) | ra = *(var_8ch);
0x0004eed0 lw fp, 0x88(sp) | fp = *(var_88h);
0x0004eed4 lw s7, 0x84(sp) | s7 = *(var_84h);
0x0004eed8 lw s6, 0x80(sp) | s6 = *(var_80h);
0x0004eedc lw s5, 0x7c(sp) | s5 = *(var_7ch);
0x0004eee0 lw s4, 0x78(sp) | s4 = *(var_78h);
0x0004eee4 lw s3, 0x74(sp) | s3 = *(var_74h);
0x0004eee8 lw s2, 0x70(sp) | s2 = *(var_70h);
0x0004eeec lw s1, 0x6c(sp) | s1 = *(var_6ch);
0x0004eef0 lw s0, 0x68(sp) | s0 = *(var_68h);
0x0004eef4 addiu sp, sp, 0x90 |
0x0004eef8 jr ra | return v0;
| label_10:
0x0004eefc lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x0004ef00 addiu s3, s3, 0x2898 | s3 += 0x2898;
0x0004ef04 b 0x4ee88 |
| } while (1);
| label_11:
0x0004ef08 addiu s1, s1, 0x3620 | s1 += 0x3620;
0x0004ef0c b 0x4ee9c | goto label_0;
| label_13:
0x0004ef10 move v1, s5 | v1 = s5;
0x0004ef14 addiu a1, sp, 0x40 | a1 = sp + 0x40;
| do {
0x0004ef18 lbu v0, (v1) | v0 = *(v1);
0x0004ef1c andi v0, v0, 0xf | v0 &= 0xf;
0x0004ef20 andi a0, v0, 0xff | a0 = v0 & 0xff;
0x0004ef24 slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x0004ef28 addiu v0, a0, 0x37 | v0 = a0 + 0x37;
| if (v0 != 0) {
0x0004ef2c beqz v0, 0x4ef34 |
0x0004ef30 addiu v0, a0, 0x30 | v0 = a0 + 0x30;
| }
0x0004ef34 sb v0, (v1) | *(v1) = v0;
0x0004ef38 addiu v1, v1, 1 | v1++;
0x0004ef3c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004ef40 bne v1, a1, 0x4ef18 |
| } while (v1 != a1);
0x0004ef44 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004ef48 move a2, s1 | a2 = s1;
0x0004ef4c addiu a1, a1, 0x290c | a1 += 0x290c;
0x0004ef50 move a0, s0 | a0 = s0;
0x0004ef54 sb zero, 0x40(sp) | *(var_40h) = 0;
0x0004ef58 bal 0x60608 | sym_BIO_printf ()
0x0004ef5c lw gp, 0x18(sp) | gp = *(var_18h);
0x0004ef60 move a0, s0 | a0 = s0;
0x0004ef64 move s2, zero | s2 = 0;
0x0004ef68 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004ef6c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004ef70 addiu a1, a1, 0x2920 | a1 += 0x2920;
0x0004ef74 bal 0x60608 | sym_BIO_printf ()
0x0004ef78 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004ef7c move a2, s3 | a2 = s3;
0x0004ef80 move a0, s0 | a0 = s0;
0x0004ef84 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004ef88 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004ef8c addiu a1, a1, 0x2940 | a1 += 0x2940;
0x0004ef90 bal 0x60608 | sym_BIO_printf ()
0x0004ef94 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004ef98 move a0, s0 | a0 = s0;
0x0004ef9c move s7, zero | s7 = 0;
0x0004efa0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004efa4 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004efa8 addiu a1, a1, 0x295c | a1 += 0x295c;
0x0004efac bal 0x641d8 | sym_BIO_puts ();
0x0004efb0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004efb4 sw zero, 0x58(sp) | *(var_58h) = 0;
0x0004efb8 lw v0, -0x7e24(gp) | v0 = *((gp - 8073));
0x0004efbc addiu v0, v0, -0x7520 | v0 += -0x7520;
0x0004efc0 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0004efc4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0004efc8 addiu v0, v0, 0x296c | v0 += aav.0x0000296c;
0x0004efcc sw v0, 0x60(sp) | *(var_60h) = v0;
0x0004efd0 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0004efd4 sw v0, 0x64(sp) | *(var_64h) = v0;
| do {
0x0004efd8 lw t9, -0x7d5c(gp) | t9 = *((gp - 8023));
0x0004efdc lw a0, 0xa8(sp) | a0 = *(arg_a8h);
0x0004efe0 jalr t9 | t9 ();
0x0004efe4 slt v0, s7, v0 | v0 = (s7 < v0) ? 1 : 0;
0x0004efe8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0004efec beqz v0, 0x4f150 | goto label_14;
| }
0x0004eff0 lw t9, -0x7de0(gp) | t9 = *((gp - 8056));
| if (s2 != 0) {
0x0004eff4 beqz s2, 0x4f014 |
0x0004eff8 lw t9, -0x7f20(gp) | t9 = *((gp - 8136));
0x0004effc lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x0004f000 addiu a2, zero, 1 | a2 = 1;
0x0004f004 move a0, s0 | a0 = s0;
0x0004f008 bal 0x64154 | sym_BIO_write ();
0x0004f00c lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f010 lw t9, -0x7de0(gp) | t9 = *((gp - 8056));
| }
0x0004f014 lw a0, 0xa8(sp) | a0 = *(arg_a8h);
0x0004f018 move a1, s7 | a1 = s7;
0x0004f01c jalr t9 | t9 ();
0x0004f020 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f024 lw t9, -0x7e88(gp) | t9 = *((gp - 8098));
0x0004f028 lw a0, (v0) | a0 = *(v0);
0x0004f02c jalr t9 | t9 ();
0x0004f030 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f034 move a0, v0 | a0 = v0;
0x0004f038 lw t9, -0x7e00(gp) | t9 = *((gp - 8064));
0x0004f03c move s2, v0 | s2 = v0;
0x0004f040 jalr t9 | t9 ();
0x0004f044 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f048 lw t9, -0x7d74(gp) | t9 = *((gp - 8029));
0x0004f04c move a0, v0 | a0 = v0;
0x0004f050 jalr t9 | t9 ();
0x0004f054 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0004f058 beqz v0, 0x4f0cc | goto label_15;
| }
0x0004f05c lw t9, 0x2c(v0) | t9 = *((v0 + 11));
0x0004f060 addiu v0, zero, 0x2a0 | v0 = aav.0x000002a0;
| if (t9 == 0) {
0x0004f064 beqz t9, 0x4f0d0 | goto label_16;
| }
0x0004f068 addiu a3, sp, 0x44 | a3 = sp + 0x44;
0x0004f06c move a2, zero | a2 = 0;
0x0004f070 addiu a1, zero, 2 | a1 = 2;
0x0004f074 move a0, zero | a0 = 0;
0x0004f078 jalr t9 | t9 ();
0x0004f07c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x0004f080 blez v0, 0x4f0c0 | goto label_17;
| }
0x0004f084 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004f088 lw a1, 0x44(sp) | a1 = *(var_44h);
0x0004f08c move a0, s0 | a0 = s0;
0x0004f090 bal 0x641d8 | sym_BIO_puts ();
0x0004f094 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f098 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0004f09c addiu a2, zero, 0xaa | a2 = 0xaa;
0x0004f0a0 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f0a4 lw t9, -0x7f98(gp) | t9 = *((gp - 8166));
0x0004f0a8 addiu a1, a1, 0x2758 | a1 += 0x2758;
0x0004f0ac jalr t9 | t9 ();
0x0004f0b0 lw gp, 0x18(sp) | gp = *(var_18h);
| label_3:
0x0004f0b4 addiu s2, zero, 1 | s2 = 1;
| label_1:
0x0004f0b8 addiu s7, s7, 1 | s7++;
0x0004f0bc b 0x4efd8 |
| } while (1);
| label_17:
0x0004f0c0 addiu v1, zero, -2 | v1 = -2;
| if (v0 != v1) {
0x0004f0c4 bne v0, v1, 0x4f150 | goto label_14;
| }
0x0004f0c8 nop |
| label_15:
0x0004f0cc addiu v0, zero, 0x2a0 | v0 = aav.0x000002a0;
| label_16:
0x0004f0d0 slti v0, s2, 0x2a1 | v0 = (s2 < 0x2a1) ? 1 : 0;
| if (s2 == v0) {
0x0004f0d4 beq s2, v0, 0x4f304 | goto label_18;
| }
0x0004f0d8 addiu v0, zero, 0x2a2 | v0 = 0x2a2;
| if (v0 == 0) {
0x0004f0dc beqz v0, 0x4f124 | goto label_19;
| }
0x0004f0e0 addiu v0, zero, 4 | v0 = 4;
0x0004f0e4 addiu v0, zero, 0x40 | v0 = 0x40;
| if (s2 == v0) {
0x0004f0e8 beq s2, v0, 0x4f2f8 | goto label_20;
| }
0x0004f0ec lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
| if (s2 == v0) {
0x0004f0f0 beq s2, v0, 0x4f2e0 | goto label_21;
| }
| do {
0x0004f0f4 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0004f0f8 lw v0, 0x64(sp) | v0 = *(var_64h);
| if (v0 != 0) {
0x0004f0fc bnez v0, 0x4f324 | goto label_22;
| }
0x0004f100 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004f104 addiu a1, v0, 0x2984 | a1 = v0 + 0x2984;
0x0004f108 move a0, s0 | a0 = s0;
0x0004f10c bal 0x641d8 | sym_BIO_puts ();
0x0004f110 addiu v0, zero, 1 | v0 = 1;
0x0004f114 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f118 addiu s2, zero, 1 | s2 = 1;
0x0004f11c sw v0, 0x58(sp) | *(var_58h) = v0;
0x0004f120 b 0x4f0b8 | goto label_1;
| label_19:
0x0004f124 slti v0, s2, 0x2a2 | v0 = (s2 < 0x2a2) ? 1 : 0;
| if (s2 == v0) {
0x0004f128 beq s2, v0, 0x4f318 | goto label_23;
| }
0x0004f12c addiu v0, zero, 0x329 | v0 = 0x329;
| if (v0 != 0) {
0x0004f130 bnez v0, 0x4f30c | goto label_24;
| }
0x0004f134 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004f138 bne s2, v0, 0x4f0f4 |
| } while (s2 != v0);
0x0004f13c lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004f140 addiu a1, a1, -0x4090 | a1 += -0x4090;
0x0004f144 move a0, s0 | a0 = s0;
0x0004f148 bal 0x641d8 | sym_BIO_puts ();
0x0004f14c lw gp, 0x18(sp) | gp = *(var_18h);
| label_14:
0x0004f150 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f154 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f158 move a3, s1 | a3 = s1;
0x0004f15c move a2, s5 | a2 = s5;
0x0004f160 addiu a1, a1, 0x298c | a1 += 0x298c;
0x0004f164 move a0, s0 | a0 = s0;
0x0004f168 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0004f16c bal 0x60608 | sym_BIO_printf ()
0x0004f170 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f174 move a3, s1 | a3 = s1;
0x0004f178 move a2, s1 | a2 = s1;
0x0004f17c lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f180 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f184 addiu a1, a1, 0x29a8 | a1 += 0x29a8;
0x0004f188 move a0, s0 | a0 = s0;
0x0004f18c bal 0x60608 | sym_BIO_printf ()
0x0004f190 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f194 move a3, s1 | a3 = s1;
0x0004f198 move a2, s5 | a2 = s5;
0x0004f19c lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f1a0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f1a4 addiu a1, a1, 0x29d0 | a1 += 0x29d0;
0x0004f1a8 move a0, s0 | a0 = s0;
0x0004f1ac bal 0x60608 | sym_BIO_printf ()
0x0004f1b0 andi v1, s4, 0x8040 | v1 = s4 & 0x8040;
0x0004f1b4 addiu v0, zero, 0x40 | v0 = 0x40;
0x0004f1b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f1bc sw fp, 0x50(sp) | *(var_50h) = fp;
| if (v1 == v0) {
0x0004f1c0 beq v1, v0, 0x4f32c | goto label_25;
| }
0x0004f1c4 lw t9, -0x7c9c(gp) | t9 = *((gp - 7975));
0x0004f1c8 move a2, s4 | a2 = s4;
0x0004f1cc move a1, s0 | a1 = s0;
0x0004f1d0 move a0, s6 | a0 = s6;
0x0004f1d4 bal 0x4e8e0 | sym_SMIME_crlf_copy ();
0x0004f1d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f1dc lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| label_6:
0x0004f1e0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f1e4 move a3, s5 | a3 = s5;
0x0004f1e8 move a2, s1 | a2 = s1;
0x0004f1ec addiu a1, a1, 0x29dc | a1 += 0x29dc;
0x0004f1f0 move a0, s0 | a0 = s0;
0x0004f1f4 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0004f1f8 bal 0x60608 | sym_BIO_printf ()
0x0004f1fc lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f200 move a2, s3 | a2 = s3;
0x0004f204 move a0, s0 | a0 = s0;
0x0004f208 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f20c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f210 addiu a1, a1, 0x29ec | a1 += 0x29ec;
0x0004f214 bal 0x60608 | sym_BIO_printf ()
0x0004f218 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f21c move a2, s1 | a2 = s1;
0x0004f220 move a0, s0 | a0 = s0;
0x0004f224 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f228 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f22c addiu a1, a1, 0x2a08 | a1 += 0x2a08;
0x0004f230 bal 0x60608 | sym_BIO_printf ()
0x0004f234 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f238 move a2, s1 | a2 = s1;
0x0004f23c move a0, s0 | a0 = s0;
0x0004f240 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f244 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f248 addiu a1, a1, 0x2a1c | a1 += 0x2a1c;
0x0004f24c bal 0x60608 | sym_BIO_printf ()
0x0004f250 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f254 move a0, s0 | a0 = s0;
0x0004f258 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f25c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f260 addiu a1, a1, 0x2a40 | a1 += 0x2a40;
0x0004f264 bal 0x60608 | sym_BIO_printf ()
0x0004f268 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f26c move a3, s1 | a3 = s1;
0x0004f270 move a2, s1 | a2 = s1;
0x0004f274 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f278 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f27c addiu a1, a1, 0x2a64 | a1 += 0x2a64;
0x0004f280 move a0, s0 | a0 = s0;
0x0004f284 bal 0x60608 | sym_BIO_printf ()
0x0004f288 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f28c lw v0, 0xac(sp) | v0 = *(arg_ach);
0x0004f290 move a3, zero | a3 = 0;
0x0004f294 lw t9, -0x7d58(gp) | t9 = *((gp - 8022));
0x0004f298 move a2, zero | a2 = 0;
0x0004f29c move a1, fp | a1 = fp;
0x0004f2a0 move a0, s0 | a0 = s0;
0x0004f2a4 addiu t9, t9, -0x13bc | t9 += -0x13bc;
0x0004f2a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004f2ac bal 0x4ec44 | fcn_0004ec44 ();
0x0004f2b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f2b4 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0004f2b8 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0004f2bc lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f2c0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f2c4 move a3, s5 | a3 = s5;
0x0004f2c8 move a2, s1 | a2 = s1;
0x0004f2cc addiu a1, a1, 0x2a80 | a1 += 0x2a80;
0x0004f2d0 move a0, s0 | a0 = s0;
0x0004f2d4 bal 0x60608 | sym_BIO_printf ()
| label_8:
0x0004f2d8 addiu v0, zero, 1 | v0 = 1;
0x0004f2dc b 0x4eecc | goto label_2;
| label_21:
0x0004f2e0 addiu a1, a1, -0x7cdc | a1 += -0x7cdc;
| do {
| label_4:
0x0004f2e4 lw t9, -0x7ce8(gp) | t9 = *((gp - 7994));
0x0004f2e8 move a0, s0 | a0 = s0;
0x0004f2ec bal 0x641d8 | sym_BIO_puts ();
0x0004f2f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f2f4 b 0x4f0b4 | goto label_3;
| label_20:
0x0004f2f8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f2fc addiu a1, a1, 0x2968 | a1 += 0x2968;
0x0004f300 b 0x4f2e4 |
| } while (1);
| label_18:
0x0004f304 lw a1, 0x60(sp) | a1 = *(var_60h);
0x0004f308 b 0x4f2e4 | goto label_4;
| label_24:
0x0004f30c lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f310 addiu a1, a1, 0x2974 | a1 += aav.0x00002974;
0x0004f314 b 0x4f2e4 | goto label_4;
| label_23:
0x0004f318 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f31c addiu a1, a1, 0x297c | a1 += 0x297c;
0x0004f320 b 0x4f2e4 | goto label_4;
| label_22:
0x0004f324 move s2, zero | s2 = 0;
0x0004f328 b 0x4f0b8 | goto label_1;
| label_25:
0x0004f32c lw v0, 0xac(sp) | v0 = *(arg_ach);
0x0004f330 lw s2, 0x10(v0) | s2 = *((v0 + 4));
0x0004f334 lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
| if (s2 != 0) {
0x0004f338 beqz s2, 0x4f34c |
0x0004f33c lw t9, 0x10(s2) | t9 = *((s2 + 4));
0x0004f340 addiu s7, sp, 0x44 | s7 = sp + 0x44;
| if (t9 != 0) {
0x0004f344 bnez t9, 0x4f374 | goto label_26;
| }
0x0004f348 lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
| }
0x0004f34c addiu v0, zero, 0x14c | v0 = aav.0x0000014c;
0x0004f350 lw t9, -0x7f94(gp) | t9 = *((gp - 8165));
0x0004f354 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004f358 addiu a3, a3, 0x2758 | a3 += 0x2758;
0x0004f35c addiu a2, zero, 0xca | a2 = 0xca;
0x0004f360 addiu a1, zero, 0xd6 | a1 = 0xd6;
0x0004f364 addiu a0, zero, 0xd | a0 = 0xd;
0x0004f368 jalr t9 | t9 ();
0x0004f36c move v0, zero | v0 = 0;
0x0004f370 b 0x4eecc | goto label_2;
| label_26:
0x0004f374 addiu v0, sp, 0x50 | v0 = sp + 0x50;
0x0004f378 lw a2, 0xac(sp) | a2 = *(arg_ach);
0x0004f37c sw s0, 0x44(sp) | *(var_44h) = s0;
0x0004f380 sw zero, 0x48(sp) | *(var_48h) = 0;
0x0004f384 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0004f388 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0004f38c move a3, s7 | a3 = s7;
0x0004f390 move a1, v0 | a1 = v0;
0x0004f394 addiu a0, zero, 0xc | a0 = 0xc;
0x0004f398 jalr t9 | t9 ();
0x0004f39c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x0004f3a0 blez v0, 0x4eec8 | goto label_5;
| }
0x0004f3a4 lw t9, -0x7c9c(gp) | t9 = *((gp - 7975));
0x0004f3a8 lw a1, 0x48(sp) | a1 = *(var_48h);
0x0004f3ac move a2, s4 | a2 = s4;
0x0004f3b0 move a0, s6 | a0 = s6;
0x0004f3b4 bal 0x4e8e0 | sym_SMIME_crlf_copy ();
0x0004f3b8 lw t9, 0x10(s2) | t9 = *((s2 + 4));
0x0004f3bc lw a2, 0xac(sp) | a2 = *(arg_ach);
0x0004f3c0 lw a1, 0x58(sp) | a1 = *(var_58h);
0x0004f3c4 move a3, s7 | a3 = s7;
0x0004f3c8 addiu a0, zero, 0xd | a0 = 0xd;
0x0004f3cc jalr t9 | t9 ();
0x0004f3d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f3d4 move s2, v0 | s2 = v0;
| label_7:
0x0004f3d8 lw a0, 0x48(sp) | a0 = *(var_48h);
0x0004f3dc lw t9, -0x7cb0(gp) | t9 = *((gp - 7980));
| if (s0 != a0) {
0x0004f3e0 bne s0, a0, 0x4f3f4 | goto label_27;
| }
0x0004f3e4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| if (s2 > 0) {
0x0004f3e8 bgtz s2, 0x4f1e0 | goto label_6;
| }
0x0004f3ec move v0, zero | v0 = 0;
0x0004f3f0 b 0x4eecc | goto label_2;
| label_27:
0x0004f3f4 bal 0x649b0 | sym_BIO_pop ();
0x0004f3f8 nop |
0x0004f3fc lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f400 lw a0, 0x48(sp) | a0 = *(var_48h);
0x0004f404 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0004f408 move s4, v0 | s4 = v0;
0x0004f40c bal 0x63ec4 | sym_BIO_free ();
0x0004f410 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f414 sw s4, 0x48(sp) | *(var_48h) = s4;
0x0004f418 b 0x4f3d8 | goto label_7;
| label_12:
0x0004f41c lw s5, -0x7fd4(gp) | s5 = *((gp - 8181));
| if (v0 == a0) {
0x0004f420 beq v0, a0, 0x4f590 | goto label_28;
| }
0x0004f424 addiu a0, zero, 0x16 | a0 = 0x16;
0x0004f428 lw s2, -0x7fd4(gp) | s2 = *((gp - 8181));
| if (v0 != a0) {
0x0004f42c bne v0, a0, 0x4f574 | goto label_29;
| }
0x0004f430 addiu v0, zero, 0xcc | v0 = 0xcc;
0x0004f434 addiu s2, s2, 0x28bc | s2 += 0x28bc;
| if (v1 == v0) {
0x0004f438 beq v1, v0, 0x4f598 | goto label_30;
| }
0x0004f43c lw t9, -0x7d5c(gp) | t9 = *((gp - 8023));
0x0004f440 lw a0, 0xa8(sp) | a0 = *(arg_a8h);
0x0004f444 jalr t9 | t9 ();
0x0004f448 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0004f44c bltz v0, 0x4f5a4 | goto label_31;
| }
0x0004f450 lw s5, -0x7fd4(gp) | s5 = *((gp - 8181));
0x0004f454 addiu s5, s5, 0x28c8 | s5 += 0x28c8;
| label_9:
0x0004f458 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f45c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f460 move a2, s1 | a2 = s1;
0x0004f464 addiu a1, a1, 0x290c | a1 += 0x290c;
0x0004f468 move a0, s0 | a0 = s0;
0x0004f46c bal 0x60608 | sym_BIO_printf ()
0x0004f470 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f474 move a0, s0 | a0 = s0;
0x0004f478 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f47c lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f480 addiu a1, a1, 0x2a40 | a1 += 0x2a40;
0x0004f484 bal 0x60608 | sym_BIO_printf ()
0x0004f488 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f48c move a3, s1 | a3 = s1;
0x0004f490 move a2, s2 | a2 = s2;
0x0004f494 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f498 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f49c addiu a1, a1, 0x2a94 | a1 += 0x2a94;
0x0004f4a0 move a0, s0 | a0 = s0;
0x0004f4a4 bal 0x60608 | sym_BIO_printf ()
0x0004f4a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f4ac move a2, s3 | a2 = s3;
0x0004f4b0 move a0, s0 | a0 = s0;
0x0004f4b4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f4b8 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f4bc addiu a1, a1, 0x2aa8 | a1 += 0x2aa8;
0x0004f4c0 bal 0x60608 | sym_BIO_printf ()
0x0004f4c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s5 != 0) {
0x0004f4c8 beqz s5, 0x4f4e8 |
0x0004f4cc lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f4d0 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f4d4 move a2, s5 | a2 = s5;
0x0004f4d8 addiu a1, a1, 0x2ac0 | a1 += 0x2ac0;
0x0004f4dc move a0, s0 | a0 = s0;
0x0004f4e0 bal 0x60608 | sym_BIO_printf ()
0x0004f4e4 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0004f4e8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f4ec lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f4f0 move a3, s1 | a3 = s1;
0x0004f4f4 move a2, s2 | a2 = s2;
0x0004f4f8 addiu a1, a1, 0x2ad0 | a1 += 0x2ad0;
0x0004f4fc move a0, s0 | a0 = s0;
0x0004f500 bal 0x60608 | sym_BIO_printf ()
0x0004f504 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f508 move a3, s1 | a3 = s1;
0x0004f50c move a2, s1 | a2 = s1;
0x0004f510 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0004f514 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f518 addiu a1, a1, 0x2ae0 | a1 += 0x2ae0;
0x0004f51c move a0, s0 | a0 = s0;
0x0004f520 bal 0x60608 | sym_BIO_printf ()
0x0004f524 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004f528 lw v0, 0xac(sp) | v0 = *(arg_ach);
0x0004f52c move a3, s4 | a3 = s4;
0x0004f530 lw t9, -0x7d58(gp) | t9 = *((gp - 8022));
0x0004f534 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004f538 move a2, s6 | a2 = s6;
0x0004f53c move a1, fp | a1 = fp;
0x0004f540 addiu t9, t9, -0x13bc | t9 += -0x13bc;
0x0004f544 move a0, s0 | a0 = s0;
0x0004f548 bal 0x4ec44 | fcn_0004ec44 ();
0x0004f54c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0004f550 beqz v0, 0x4eec8 | goto label_5;
| }
0x0004f554 lw a1, -0x7e98(gp) | a1 = *((gp - 8102));
0x0004f558 lw t9, -0x7d9c(gp) | t9 = *((gp - 8039));
0x0004f55c move a2, s1 | a2 = s1;
0x0004f560 addiu a1, a1, 0x66e0 | a1 += 0x66e0;
0x0004f564 move a0, s0 | a0 = s0;
0x0004f568 bal 0x60608 | sym_BIO_printf ()
0x0004f56c b 0x4f2d8 | goto label_8;
0x0004f570 nop |
| label_29:
0x0004f574 addiu v1, zero, 0x312 | v1 = 0x312;
| if (v0 == v1) {
0x0004f578 beq v0, v1, 0x4f5b0 | goto label_32;
| }
0x0004f57c nop |
0x0004f580 move s5, zero | s5 = 0;
| do {
0x0004f584 lw s2, -0x7fd4(gp) | s2 = *((gp - 8181));
0x0004f588 addiu s2, s2, 0x28bc | s2 += 0x28bc;
0x0004f58c b 0x4f458 | goto label_9;
| label_28:
0x0004f590 addiu s5, s5, 0x28ac | s5 += 0x28ac;
0x0004f594 b 0x4f584 |
| } while (1);
| label_30:
0x0004f598 lw s5, -0x7fd4(gp) | s5 = *((gp - 8181));
0x0004f59c addiu s5, s5, 0x28f0 | s5 += 0x28f0;
0x0004f5a0 b 0x4f458 | goto label_9;
| label_31:
0x0004f5a4 lw s5, -0x7fd4(gp) | s5 = *((gp - 8181));
0x0004f5a8 addiu s5, s5, 0x2900 | s5 += 0x2900;
0x0004f5ac b 0x4f458 | goto label_9;
| label_32:
0x0004f5b0 lw s5, -0x7fd4(gp) | s5 = *((gp - 8181));
0x0004f5b4 lw s2, -0x7fd4(gp) | s2 = *((gp - 8181));
0x0004f5b8 addiu s5, s5, 0x28d4 | s5 += 0x28d4;
0x0004f5bc addiu s2, s2, 0x28e4 | s2 += 0x28e4;
0x0004f5c0 b 0x4f458 | goto label_9;
| }
[*] Function printf used 60 times libcrypto.so.1.1