[*] Binary protection state of libmbedx509.so.0
No RELRO No Canary found NX disabled DSO RPATH No RUNPATH Symbols
[*] Function printf tear down of libmbedx509.so.0
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0x7d14 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_crl_info () | void mbedtls_x509_crl_info () {
0x00007d14 lui gp, 3 |
0x00007d18 addiu gp, gp, -0x75a4 |
0x00007d1c addu gp, gp, t9 | gp += t9;
0x00007d20 addiu sp, sp, -0x48 |
0x00007d24 sw ra, 0x44(sp) | *(var_44h) = ra;
0x00007d28 sw fp, 0x40(sp) | *(var_40h) = fp;
0x00007d2c move fp, sp | fp = sp;
0x00007d30 sw gp, 0x28(sp) | *(var_28h) = gp;
0x00007d34 sw a0, 0x48(fp) | *(arg_48h) = a0;
0x00007d38 sw a1, 0x4c(fp) | *(arg_4ch) = a1;
0x00007d3c sw a2, 0x50(fp) | *(arg_50h) = a2;
0x00007d40 sw a3, 0x54(fp) | *(arg_54h) = a3;
0x00007d44 lw v0, 0x48(fp) | v0 = *(arg_48h);
0x00007d48 sw v0, 0x34(fp) | *(var_34h) = v0;
0x00007d4c lw v0, 0x4c(fp) | v0 = *(arg_4ch);
0x00007d50 sw v0, 0x30(fp) | *(var_30h) = v0;
0x00007d54 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007d58 lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x00007d5c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00007d60 lw a0, 0x34(fp) | a0 = *(var_34h);
0x00007d64 lw a1, 0x30(fp) | a1 = *(var_30h);
0x00007d68 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sCRL_version___:__d */
0x00007d6c addiu a2, v0, 0x7b04 | a2 = v0 + 0x7b04;
0x00007d70 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x00007d74 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00007d78 move t9, v0 | t9 = v0;
0x00007d7c jalr t9 | t9 ();
0x00007d80 nop |
0x00007d84 lw gp, 0x28(fp) | gp = *(var_28h);
0x00007d88 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00007d8c lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00007d90 bltz v0, 0x7dac |
0x00007d94 nop |
0x00007d98 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00007d9c lw v0, 0x30(fp) | v0 = *(var_30h);
0x00007da0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00007da4 bnez v0, 0x7db8 | goto label_0;
| }
0x00007da8 nop |
| }
0x00007dac addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00007db0 b 0x843c | goto label_1;
0x00007db4 nop |
| label_0:
0x00007db8 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007dbc lw v1, 0x30(fp) | v1 = *(var_30h);
0x00007dc0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00007dc4 sw v0, 0x30(fp) | *(var_30h) = v0;
0x00007dc8 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007dcc lw v1, 0x34(fp) | v1 = *(var_34h);
0x00007dd0 addu v0, v1, v0 | v0 = v1 + v0;
0x00007dd4 sw v0, 0x34(fp) | *(var_34h) = v0;
0x00007dd8 lw a0, 0x34(fp) | a0 = *(var_34h);
0x00007ddc lw a1, 0x30(fp) | a1 = *(var_30h);
0x00007de0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sissuer_name___:_ */
0x00007de4 addiu a2, v0, 0x7b1c | a2 = v0 + 0x7b1c;
0x00007de8 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x00007dec lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00007df0 move t9, v0 | t9 = v0;
0x00007df4 jalr t9 | t9 ();
0x00007df8 nop |
0x00007dfc lw gp, 0x28(fp) | gp = *(var_28h);
0x00007e00 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00007e04 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00007e08 bltz v0, 0x7e24 |
0x00007e0c nop |
0x00007e10 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00007e14 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00007e18 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00007e1c bnez v0, 0x7e30 | goto label_2;
| }
0x00007e20 nop |
| }
0x00007e24 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00007e28 b 0x843c | goto label_1;
0x00007e2c nop |
| label_2:
0x00007e30 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007e34 lw v1, 0x30(fp) | v1 = *(var_30h);
0x00007e38 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00007e3c sw v0, 0x30(fp) | *(var_30h) = v0;
0x00007e40 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007e44 lw v1, 0x34(fp) | v1 = *(var_34h);
0x00007e48 addu v0, v1, v0 | v0 = v1 + v0;
0x00007e4c sw v0, 0x34(fp) | *(var_34h) = v0;
0x00007e50 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007e54 addiu v0, v0, 0x34 | v0 += 0x34;
0x00007e58 lw a0, 0x34(fp) | a0 = *(var_34h);
0x00007e5c lw a1, 0x30(fp) | a1 = *(var_30h);
0x00007e60 move a2, v0 | a2 = v0;
0x00007e64 lw v0, -0x7f54(gp) | v0 = sym.mbedtls_x509_dn_gets;
0x00007e68 move t9, v0 | t9 = v0;
0x00007e6c jalr t9 | t9 ();
0x00007e70 nop |
0x00007e74 lw gp, 0x28(fp) | gp = *(var_28h);
0x00007e78 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00007e7c lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00007e80 bltz v0, 0x7e9c |
0x00007e84 nop |
0x00007e88 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00007e8c lw v0, 0x30(fp) | v0 = *(var_30h);
0x00007e90 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00007e94 bnez v0, 0x7ea8 | goto label_3;
| }
0x00007e98 nop |
| }
0x00007e9c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00007ea0 b 0x843c | goto label_1;
0x00007ea4 nop |
| label_3:
0x00007ea8 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007eac lw v1, 0x30(fp) | v1 = *(var_30h);
0x00007eb0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00007eb4 sw v0, 0x30(fp) | *(var_30h) = v0;
0x00007eb8 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007ebc lw v1, 0x34(fp) | v1 = *(var_34h);
0x00007ec0 addu v0, v1, v0 | v0 = v1 + v0;
0x00007ec4 sw v0, 0x34(fp) | *(var_34h) = v0;
0x00007ec8 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007ecc lw a3, 0x54(v0) | a3 = *((v0 + 21));
0x00007ed0 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007ed4 lw a2, 0x58(v0) | a2 = *((v0 + 22));
0x00007ed8 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007edc lw a1, 0x5c(v0) | a1 = *((v0 + 23));
0x00007ee0 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007ee4 lw a0, 0x60(v0) | a0 = *((v0 + 24));
0x00007ee8 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007eec lw v1, 0x64(v0) | v1 = *((v0 + 25));
0x00007ef0 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007ef4 lw v0, 0x68(v0) | v0 = *((v0 + 26));
0x00007ef8 sw a3, 0x10(sp) | *(var_10h) = a3;
0x00007efc sw a2, 0x14(sp) | *(var_14h) = a2;
0x00007f00 sw a1, 0x18(sp) | *(var_18h) = a1;
0x00007f04 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x00007f08 sw v1, 0x20(sp) | *(var_20h) = v1;
0x00007f0c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00007f10 lw a0, 0x34(fp) | a0 = *(var_34h);
0x00007f14 lw a1, 0x30(fp) | a1 = *(var_30h);
0x00007f18 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sthis_update___:__04d__02d__02d__02d:_02d:_02d */
0x00007f1c addiu a2, v0, 0x7b30 | a2 = v0 + 0x7b30;
0x00007f20 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x00007f24 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00007f28 move t9, v0 | t9 = v0;
0x00007f2c jalr t9 | t9 ();
0x00007f30 nop |
0x00007f34 lw gp, 0x28(fp) | gp = *(var_28h);
0x00007f38 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00007f3c lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00007f40 bltz v0, 0x7f5c |
0x00007f44 nop |
0x00007f48 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00007f4c lw v0, 0x30(fp) | v0 = *(var_30h);
0x00007f50 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00007f54 bnez v0, 0x7f68 | goto label_4;
| }
0x00007f58 nop |
| }
0x00007f5c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00007f60 b 0x843c | goto label_1;
0x00007f64 nop |
| label_4:
0x00007f68 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007f6c lw v1, 0x30(fp) | v1 = *(var_30h);
0x00007f70 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00007f74 sw v0, 0x30(fp) | *(var_30h) = v0;
0x00007f78 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00007f7c lw v1, 0x34(fp) | v1 = *(var_34h);
0x00007f80 addu v0, v1, v0 | v0 = v1 + v0;
0x00007f84 sw v0, 0x34(fp) | *(var_34h) = v0;
0x00007f88 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007f8c lw a3, 0x6c(v0) | a3 = *((v0 + 27));
0x00007f90 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007f94 lw a2, 0x70(v0) | a2 = *((v0 + 28));
0x00007f98 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007f9c lw a1, 0x74(v0) | a1 = *((v0 + 29));
0x00007fa0 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007fa4 lw a0, 0x78(v0) | a0 = *((v0 + 30));
0x00007fa8 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007fac lw v1, 0x7c(v0) | v1 = *((v0 + 31));
0x00007fb0 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00007fb4 lw v0, 0x80(v0) | v0 = *((v0 + 32));
0x00007fb8 sw a3, 0x10(sp) | *(var_10h) = a3;
0x00007fbc sw a2, 0x14(sp) | *(var_14h) = a2;
0x00007fc0 sw a1, 0x18(sp) | *(var_18h) = a1;
0x00007fc4 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x00007fc8 sw v1, 0x20(sp) | *(var_20h) = v1;
0x00007fcc sw v0, 0x24(sp) | *(var_24h) = v0;
0x00007fd0 lw a0, 0x34(fp) | a0 = *(var_34h);
0x00007fd4 lw a1, 0x30(fp) | a1 = *(var_30h);
0x00007fd8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_snext_update___:__04d__02d__02d__02d:_02d:_02d */
0x00007fdc addiu a2, v0, 0x7b64 | a2 = v0 + 0x7b64;
0x00007fe0 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x00007fe4 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00007fe8 move t9, v0 | t9 = v0;
0x00007fec jalr t9 | t9 ();
0x00007ff0 nop |
0x00007ff4 lw gp, 0x28(fp) | gp = *(var_28h);
0x00007ff8 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00007ffc lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00008000 bltz v0, 0x801c |
0x00008004 nop |
0x00008008 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x0000800c lw v0, 0x30(fp) | v0 = *(var_30h);
0x00008010 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00008014 bnez v0, 0x8028 | goto label_5;
| }
0x00008018 nop |
| }
0x0000801c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00008020 b 0x843c | goto label_1;
0x00008024 nop |
| label_5:
0x00008028 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x0000802c lw v1, 0x30(fp) | v1 = *(var_30h);
0x00008030 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00008034 sw v0, 0x30(fp) | *(var_30h) = v0;
0x00008038 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x0000803c lw v1, 0x34(fp) | v1 = *(var_34h);
0x00008040 addu v0, v1, v0 | v0 = v1 + v0;
0x00008044 sw v0, 0x34(fp) | *(var_34h) = v0;
0x00008048 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000804c addiu v0, v0, 0x84 | v0 += 0x84;
0x00008050 sw v0, 0x38(fp) | *(var_38h) = v0;
0x00008054 lw a0, 0x34(fp) | a0 = *(var_34h);
0x00008058 lw a1, 0x30(fp) | a1 = *(var_30h);
0x0000805c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sRevoked_certificates: */
0x00008060 addiu a2, v0, 0x7b98 | a2 = v0 + 0x7b98;
0x00008064 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x00008068 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000806c move t9, v0 | t9 = v0;
0x00008070 jalr t9 | t9 ();
0x00008074 nop |
0x00008078 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000807c sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00008080 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00008084 bltz v0, 0x80a0 |
0x00008088 nop |
0x0000808c lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00008090 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00008094 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00008098 bnez v0, 0x80ac | goto label_6;
| }
0x0000809c nop |
| }
0x000080a0 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x000080a4 b 0x843c | goto label_1;
0x000080a8 nop |
| label_6:
0x000080ac lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x000080b0 lw v1, 0x30(fp) | v1 = *(var_30h);
0x000080b4 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x000080b8 sw v0, 0x30(fp) | *(var_30h) = v0;
0x000080bc lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x000080c0 lw v1, 0x34(fp) | v1 = *(var_34h);
0x000080c4 addu v0, v1, v0 | v0 = v1 + v0;
0x000080c8 sw v0, 0x34(fp) | *(var_34h) = v0;
0x000080cc b 0x828c | goto label_7;
0x000080d0 nop |
| do {
0x000080d4 lw a0, 0x34(fp) | a0 = *(var_34h);
0x000080d8 lw a1, 0x30(fp) | a1 = *(var_30h);
0x000080dc lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sserial_number:_ */
0x000080e0 addiu a2, v0, 0x7bb4 | a2 = v0 + 0x7bb4;
0x000080e4 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x000080e8 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x000080ec move t9, v0 | t9 = v0;
0x000080f0 jalr t9 | t9 ();
0x000080f4 nop |
0x000080f8 lw gp, 0x28(fp) | gp = *(var_28h);
0x000080fc sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00008100 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00008104 bltz v0, 0x8120 |
0x00008108 nop |
0x0000810c lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00008110 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00008114 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00008118 bnez v0, 0x812c | goto label_8;
| }
0x0000811c nop |
| }
0x00008120 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00008124 b 0x843c | goto label_1;
0x00008128 nop |
| label_8:
0x0000812c lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008130 lw v1, 0x30(fp) | v1 = *(var_30h);
0x00008134 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00008138 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000813c lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008140 lw v1, 0x34(fp) | v1 = *(var_34h);
0x00008144 addu v0, v1, v0 | v0 = v1 + v0;
0x00008148 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000814c lw v0, 0x38(fp) | v0 = *(var_38h);
0x00008150 addiu v0, v0, 0xc | v0 += 0xc;
0x00008154 lw a0, 0x34(fp) | a0 = *(var_34h);
0x00008158 lw a1, 0x30(fp) | a1 = *(var_30h);
0x0000815c move a2, v0 | a2 = v0;
0x00008160 lw v0, -0x7e24(gp) | v0 = sym.mbedtls_x509_serial_gets;
0x00008164 move t9, v0 | t9 = v0;
0x00008168 jalr t9 | t9 ();
0x0000816c nop |
0x00008170 lw gp, 0x28(fp) | gp = *(var_28h);
0x00008174 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00008178 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x0000817c bltz v0, 0x8198 |
0x00008180 nop |
0x00008184 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00008188 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000818c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00008190 bnez v0, 0x81a4 | goto label_9;
| }
0x00008194 nop |
| }
0x00008198 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000819c b 0x843c | goto label_1;
0x000081a0 nop |
| label_9:
0x000081a4 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x000081a8 lw v1, 0x30(fp) | v1 = *(var_30h);
0x000081ac subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x000081b0 sw v0, 0x30(fp) | *(var_30h) = v0;
0x000081b4 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x000081b8 lw v1, 0x34(fp) | v1 = *(var_34h);
0x000081bc addu v0, v1, v0 | v0 = v1 + v0;
0x000081c0 sw v0, 0x34(fp) | *(var_34h) = v0;
0x000081c4 lw v0, 0x38(fp) | v0 = *(var_38h);
0x000081c8 lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x000081cc lw v1, 0x38(fp) | v1 = *(var_38h);
0x000081d0 lw a3, 0x1c(v1) | a3 = *((v1 + 7));
0x000081d4 lw v1, 0x38(fp) | v1 = *(var_38h);
0x000081d8 lw a2, 0x20(v1) | a2 = *((v1 + 8));
0x000081dc lw v1, 0x38(fp) | v1 = *(var_38h);
0x000081e0 lw a1, 0x24(v1) | a1 = *((v1 + 9));
0x000081e4 lw v1, 0x38(fp) | v1 = *(var_38h);
0x000081e8 lw a0, 0x28(v1) | a0 = *((v1 + 10));
0x000081ec lw v1, 0x38(fp) | v1 = *(var_38h);
0x000081f0 lw v1, 0x2c(v1) | v1 = *((v1 + 11));
0x000081f4 sw a3, 0x10(sp) | *(var_10h) = a3;
0x000081f8 sw a2, 0x14(sp) | *(var_14h) = a2;
0x000081fc sw a1, 0x18(sp) | *(var_18h) = a1;
0x00008200 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x00008204 sw v1, 0x20(sp) | *(var_20h) = v1;
0x00008208 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0000820c lw a1, 0x30(fp) | a1 = *(var_30h);
0x00008210 lw v1, -0x7fcc(gp) | v1 = *(gp);
| /* str._revocation_date:__04d__02d__02d__02d:_02d:_02d */
0x00008214 addiu a2, v1, 0x7bc8 | a2 = v1 + 0x7bc8;
0x00008218 move a3, v0 | a3 = v0;
0x0000821c lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00008220 move t9, v0 | t9 = v0;
0x00008224 jalr t9 | t9 ();
0x00008228 nop |
0x0000822c lw gp, 0x28(fp) | gp = *(var_28h);
0x00008230 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00008234 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00008238 bltz v0, 0x8254 |
0x0000823c nop |
0x00008240 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00008244 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00008248 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000824c bnez v0, 0x8260 | goto label_10;
| }
0x00008250 nop |
| }
0x00008254 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00008258 b 0x843c | goto label_1;
0x0000825c nop |
| label_10:
0x00008260 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008264 lw v1, 0x30(fp) | v1 = *(var_30h);
0x00008268 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000826c sw v0, 0x30(fp) | *(var_30h) = v0;
0x00008270 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008274 lw v1, 0x34(fp) | v1 = *(var_34h);
0x00008278 addu v0, v1, v0 | v0 = v1 + v0;
0x0000827c sw v0, 0x34(fp) | *(var_34h) = v0;
0x00008280 lw v0, 0x38(fp) | v0 = *(var_38h);
0x00008284 lw v0, 0x3c(v0) | v0 = *((v0 + 15));
0x00008288 sw v0, 0x38(fp) | *(var_38h) = v0;
| label_7:
0x0000828c lw v0, 0x38(fp) | v0 = *(var_38h);
| if (v0 == 0) {
0x00008290 beqz v0, 0x82a8 | goto label_11;
| }
0x00008294 nop |
0x00008298 lw v0, 0x38(fp) | v0 = *(var_38h);
0x0000829c lw v0, 4(v0) | v0 = *((v0 + 1));
0x000082a0 bnez v0, 0x80d4 |
| } while (v0 != 0);
0x000082a4 nop |
| label_11:
0x000082a8 lw a0, 0x34(fp) | a0 = *(var_34h);
0x000082ac lw a1, 0x30(fp) | a1 = *(var_30h);
0x000082b0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: '
&ssigned using : ' */
0x000082b4 addiu a2, v0, 0x7bf8 | a2 = v0 + 0x7bf8;
0x000082b8 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x000082bc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x000082c0 move t9, v0 | t9 = v0;
0x000082c4 jalr t9 | t9 ();
0x000082c8 nop |
0x000082cc lw gp, 0x28(fp) | gp = *(var_28h);
0x000082d0 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x000082d4 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x000082d8 bltz v0, 0x82f4 |
0x000082dc nop |
0x000082e0 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x000082e4 lw v0, 0x30(fp) | v0 = *(var_30h);
0x000082e8 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x000082ec bnez v0, 0x8300 | goto label_12;
| }
0x000082f0 nop |
| }
0x000082f4 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x000082f8 b 0x843c | goto label_1;
0x000082fc nop |
| label_12:
0x00008300 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008304 lw v1, 0x30(fp) | v1 = *(var_30h);
0x00008308 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000830c sw v0, 0x30(fp) | *(var_30h) = v0;
0x00008310 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008314 lw v1, 0x34(fp) | v1 = *(var_34h);
0x00008318 addu v0, v1, v0 | v0 = v1 + v0;
0x0000831c sw v0, 0x34(fp) | *(var_34h) = v0;
0x00008320 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00008324 addiu v1, v0, 0x1c | v1 = v0 + 0x1c;
0x00008328 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000832c lw v0, 0xec(v0) | v0 = *((v0 + 59));
0x00008330 lw a0, 0x54(fp) | a0 = *(arg_54h);
0x00008334 lw a1, 0xe8(a0) | a1 = *((a0 + 58));
0x00008338 lw a0, 0x54(fp) | a0 = *(arg_54h);
0x0000833c lw a0, 0xf0(a0) | a0 = *((a0 + 60));
0x00008340 sw a1, 0x10(sp) | *(var_10h) = a1;
0x00008344 sw a0, 0x14(sp) | *(var_14h) = a0;
0x00008348 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0000834c lw a1, 0x30(fp) | a1 = *(var_30h);
0x00008350 move a2, v1 | a2 = v1;
0x00008354 move a3, v0 | a3 = v0;
0x00008358 lw v0, -0x7eac(gp) | v0 = sym.mbedtls_x509_sig_alg_gets;
0x0000835c move t9, v0 | t9 = v0;
0x00008360 jalr t9 | t9 ();
0x00008364 nop |
0x00008368 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000836c sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00008370 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x00008374 bltz v0, 0x8390 |
0x00008378 nop |
0x0000837c lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x00008380 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00008384 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00008388 bnez v0, 0x839c | goto label_13;
| }
0x0000838c nop |
| }
0x00008390 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00008394 b 0x843c | goto label_1;
0x00008398 nop |
| label_13:
0x0000839c lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x000083a0 lw v1, 0x30(fp) | v1 = *(var_30h);
0x000083a4 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x000083a8 sw v0, 0x30(fp) | *(var_30h) = v0;
0x000083ac lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x000083b0 lw v1, 0x34(fp) | v1 = *(var_34h);
0x000083b4 addu v0, v1, v0 | v0 = v1 + v0;
0x000083b8 sw v0, 0x34(fp) | *(var_34h) = v0;
0x000083bc lw a0, 0x34(fp) | a0 = *(var_34h);
0x000083c0 lw a1, 0x30(fp) | a1 = *(var_30h);
0x000083c4 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x000083c8 addiu a2, v0, 0x7c0c | a2 = v0 + 0x7c0c;
0x000083cc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x000083d0 move t9, v0 | t9 = v0;
0x000083d4 jalr t9 | t9 ();
0x000083d8 nop |
0x000083dc lw gp, 0x28(fp) | gp = *(var_28h);
0x000083e0 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x000083e4 lw v0, 0x3c(fp) | v0 = *(var_3ch);
| if (v0 >= 0) {
0x000083e8 bltz v0, 0x8404 |
0x000083ec nop |
0x000083f0 lw v1, 0x3c(fp) | v1 = *(var_3ch);
0x000083f4 lw v0, 0x30(fp) | v0 = *(var_30h);
0x000083f8 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x000083fc bnez v0, 0x8410 | goto label_14;
| }
0x00008400 nop |
| }
0x00008404 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00008408 b 0x843c | goto label_1;
0x0000840c nop |
| label_14:
0x00008410 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008414 lw v1, 0x30(fp) | v1 = *(var_30h);
0x00008418 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000841c sw v0, 0x30(fp) | *(var_30h) = v0;
0x00008420 lw v0, 0x3c(fp) | v0 = *(var_3ch);
0x00008424 lw v1, 0x34(fp) | v1 = *(var_34h);
0x00008428 addu v0, v1, v0 | v0 = v1 + v0;
0x0000842c sw v0, 0x34(fp) | *(var_34h) = v0;
0x00008430 lw v1, 0x4c(fp) | v1 = *(arg_4ch);
0x00008434 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00008438 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
| label_1:
0x0000843c move sp, fp |
0x00008440 lw ra, 0x44(sp) | ra = *(var_44h);
0x00008444 lw fp, 0x40(sp) | fp = *(var_40h);
0x00008448 addiu sp, sp, 0x48 |
0x0000844c jr ra | return v0;
0x00008450 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0xba88 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_crt_info () | void mbedtls_x509_crt_info () {
0x0000ba88 lui gp, 2 |
0x0000ba8c addiu gp, gp, 0x4ce8 |
0x0000ba90 addu gp, gp, t9 | gp += t9;
0x0000ba94 addiu sp, sp, -0x60 |
0x0000ba98 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0000ba9c sw fp, 0x58(sp) | *(var_58h) = fp;
0x0000baa0 sw s1, 0x54(sp) | *(var_54h) = s1;
0x0000baa4 sw s0, 0x50(sp) | *(var_50h) = s0;
0x0000baa8 move fp, sp | fp = sp;
0x0000baac sw gp, 0x28(sp) | *(var_28h) = gp;
0x0000bab0 sw a0, 0x60(fp) | *(arg_60h) = a0;
0x0000bab4 sw a1, 0x64(fp) | *(arg_64h) = a1;
0x0000bab8 sw a2, 0x68(fp) | *(arg_68h) = a2;
0x0000babc sw a3, 0x6c(fp) | *(arg_6ch) = a3;
0x0000bac0 lw v0, 0x60(fp) | v0 = *(arg_60h);
0x0000bac4 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bac8 lw v0, 0x64(fp) | v0 = *(arg_64h);
0x0000bacc sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bad0 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
| if (v0 == 0) {
0x0000bad4 bnez v0, 0xbb6c |
0x0000bad8 nop |
0x0000badc lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bae0 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bae4 move a0, v1 | a0 = v1;
0x0000bae8 move a1, v0 | a1 = v0;
0x0000baec lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._nCertificate_is_uninitialised__n */
0x0000baf0 addiu a2, v0, 0x7da4 | a2 = v0 + 0x7da4;
0x0000baf4 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000baf8 move t9, v0 | t9 = v0;
0x0000bafc jalr t9 | t9 ();
0x0000bb00 nop |
0x0000bb04 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000bb08 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bb0c lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bb10 bltz v0, 0xbb2c |
0x0000bb14 nop |
0x0000bb18 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000bb1c lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bb20 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000bb24 bnez v0, 0xbb38 | goto label_0;
| }
0x0000bb28 nop |
| }
0x0000bb2c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bb30 b 0xc804 | goto label_1;
0x0000bb34 nop |
| label_0:
0x0000bb38 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bb3c lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bb40 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bb44 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bb48 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bb4c lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bb50 addu v0, v1, v0 | v0 = v1 + v0;
0x0000bb54 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bb58 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bb5c lw v1, 0x64(fp) | v1 = *(arg_64h);
0x0000bb60 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bb64 b 0xc804 | goto label_1;
0x0000bb68 nop |
| }
0x0000bb6c lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bb70 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bb74 lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bb78 lw a0, 0x18(a0) | a0 = *((a0 + 6));
0x0000bb7c sw a0, 0x10(sp) | *(var_10h) = a0;
0x0000bb80 move a0, v1 | a0 = v1;
0x0000bb84 move a1, v0 | a1 = v0;
0x0000bb88 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._scert._version_____:__d_n */
0x0000bb8c addiu a2, v0, 0x7dc4 | a2 = v0 + 0x7dc4;
0x0000bb90 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000bb94 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000bb98 move t9, v0 | t9 = v0;
0x0000bb9c jalr t9 | t9 ();
0x0000bba0 nop |
0x0000bba4 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000bba8 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bbac lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bbb0 bltz v0, 0xbbcc |
0x0000bbb4 nop |
0x0000bbb8 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000bbbc lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bbc0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000bbc4 bnez v0, 0xbbd8 | goto label_2;
| }
0x0000bbc8 nop |
| }
0x0000bbcc addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bbd0 b 0xc804 | goto label_1;
0x0000bbd4 nop |
| label_2:
0x0000bbd8 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bbdc lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bbe0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bbe4 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bbe8 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bbec lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bbf0 addu v0, v1, v0 | v0 = v1 + v0;
0x0000bbf4 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bbf8 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bbfc lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bc00 move a0, v1 | a0 = v1;
0x0000bc04 move a1, v0 | a1 = v0;
0x0000bc08 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sserial_number_____:_ */
0x0000bc0c addiu a2, v0, 0x7de0 | a2 = v0 + 0x7de0;
0x0000bc10 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000bc14 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000bc18 move t9, v0 | t9 = v0;
0x0000bc1c jalr t9 | t9 ();
0x0000bc20 nop |
0x0000bc24 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000bc28 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bc2c lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bc30 bltz v0, 0xbc4c |
0x0000bc34 nop |
0x0000bc38 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000bc3c lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bc40 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000bc44 bnez v0, 0xbc58 | goto label_3;
| }
0x0000bc48 nop |
| }
0x0000bc4c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bc50 b 0xc804 | goto label_1;
0x0000bc54 nop |
| label_3:
0x0000bc58 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bc5c lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bc60 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bc64 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bc68 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bc6c lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bc70 addu v0, v1, v0 | v0 = v1 + v0;
0x0000bc74 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bc78 lw a0, 0x38(fp) | a0 = *(var_38h);
0x0000bc7c lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bc80 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000bc84 addiu v0, v0, 0x1c | v0 += 0x1c;
0x0000bc88 move a1, v1 | a1 = v1;
0x0000bc8c move a2, v0 | a2 = v0;
0x0000bc90 lw v0, -0x7e24(gp) | v0 = sym.mbedtls_x509_serial_gets;
0x0000bc94 move t9, v0 | t9 = v0;
0x0000bc98 jalr t9 | t9 ();
0x0000bc9c nop |
0x0000bca0 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000bca4 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bca8 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bcac bltz v0, 0xbcc8 |
0x0000bcb0 nop |
0x0000bcb4 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000bcb8 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bcbc sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000bcc0 bnez v0, 0xbcd4 | goto label_4;
| }
0x0000bcc4 nop |
| }
0x0000bcc8 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bccc b 0xc804 | goto label_1;
0x0000bcd0 nop |
| label_4:
0x0000bcd4 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bcd8 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bcdc subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bce0 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bce4 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bce8 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bcec addu v0, v1, v0 | v0 = v1 + v0;
0x0000bcf0 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bcf4 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bcf8 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bcfc move a0, v1 | a0 = v1;
0x0000bd00 move a1, v0 | a1 = v0;
0x0000bd04 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sissuer_name_______:_ */
0x0000bd08 addiu a2, v0, 0x7df8 | a2 = v0 + 0x7df8;
0x0000bd0c lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000bd10 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000bd14 move t9, v0 | t9 = v0;
0x0000bd18 jalr t9 | t9 ();
0x0000bd1c nop |
0x0000bd20 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000bd24 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bd28 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bd2c bltz v0, 0xbd48 |
0x0000bd30 nop |
0x0000bd34 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000bd38 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bd3c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000bd40 bnez v0, 0xbd54 | goto label_5;
| }
0x0000bd44 nop |
| }
0x0000bd48 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bd4c b 0xc804 | goto label_1;
0x0000bd50 nop |
| label_5:
0x0000bd54 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bd58 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bd5c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bd60 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bd64 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bd68 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bd6c addu v0, v1, v0 | v0 = v1 + v0;
0x0000bd70 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bd74 lw a0, 0x38(fp) | a0 = *(var_38h);
0x0000bd78 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bd7c lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000bd80 addiu v0, v0, 0x4c | v0 += 0x4c;
0x0000bd84 move a1, v1 | a1 = v1;
0x0000bd88 move a2, v0 | a2 = v0;
0x0000bd8c lw v0, -0x7f54(gp) | v0 = sym.mbedtls_x509_dn_gets;
0x0000bd90 move t9, v0 | t9 = v0;
0x0000bd94 jalr t9 | t9 ();
0x0000bd98 nop |
0x0000bd9c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000bda0 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bda4 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bda8 bltz v0, 0xbdc4 |
0x0000bdac nop |
0x0000bdb0 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000bdb4 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bdb8 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000bdbc bnez v0, 0xbdd0 | goto label_6;
| }
0x0000bdc0 nop |
| }
0x0000bdc4 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bdc8 b 0xc804 | goto label_1;
0x0000bdcc nop |
| label_6:
0x0000bdd0 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bdd4 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bdd8 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bddc sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bde0 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bde4 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bde8 addu v0, v1, v0 | v0 = v1 + v0;
0x0000bdec sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bdf0 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bdf4 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bdf8 move a0, v1 | a0 = v1;
0x0000bdfc move a1, v0 | a1 = v0;
0x0000be00 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_ssubject_name______:_ */
0x0000be04 addiu a2, v0, 0x7e10 | a2 = v0 + 0x7e10;
0x0000be08 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000be0c lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000be10 move t9, v0 | t9 = v0;
0x0000be14 jalr t9 | t9 ();
0x0000be18 nop |
0x0000be1c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000be20 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000be24 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000be28 bltz v0, 0xbe44 |
0x0000be2c nop |
0x0000be30 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000be34 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000be38 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000be3c bnez v0, 0xbe50 | goto label_7;
| }
0x0000be40 nop |
| }
0x0000be44 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000be48 b 0xc804 | goto label_1;
0x0000be4c nop |
| label_7:
0x0000be50 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000be54 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000be58 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000be5c sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000be60 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000be64 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000be68 addu v0, v1, v0 | v0 = v1 + v0;
0x0000be6c sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000be70 lw a0, 0x38(fp) | a0 = *(var_38h);
0x0000be74 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000be78 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000be7c addiu v0, v0, 0x6c | v0 += 0x6c;
0x0000be80 move a1, v1 | a1 = v1;
0x0000be84 move a2, v0 | a2 = v0;
0x0000be88 lw v0, -0x7f54(gp) | v0 = sym.mbedtls_x509_dn_gets;
0x0000be8c move t9, v0 | t9 = v0;
0x0000be90 jalr t9 | t9 ();
0x0000be94 nop |
0x0000be98 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000be9c sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bea0 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bea4 bltz v0, 0xbec0 |
0x0000bea8 nop |
0x0000beac lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000beb0 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000beb4 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000beb8 bnez v0, 0xbecc | goto label_8;
| }
0x0000bebc nop |
| }
0x0000bec0 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bec4 b 0xc804 | goto label_1;
0x0000bec8 nop |
| label_8:
0x0000becc lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bed0 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bed4 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bed8 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bedc lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bee0 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bee4 addu v0, v1, v0 | v0 = v1 + v0;
0x0000bee8 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000beec lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bef0 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bef4 lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bef8 lw t1, 0x8c(a0) | t1 = *((a0 + 35));
0x0000befc lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bf00 lw t0, 0x90(a0) | t0 = *((a0 + 36));
0x0000bf04 lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bf08 lw a3, 0x94(a0) | a3 = *((a0 + 37));
0x0000bf0c lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bf10 lw a2, 0x98(a0) | a2 = *((a0 + 38));
0x0000bf14 lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bf18 lw a1, 0x9c(a0) | a1 = *((a0 + 39));
0x0000bf1c lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bf20 lw a0, 0xa0(a0) | a0 = *((a0 + 40));
0x0000bf24 sw t1, 0x10(sp) | *(var_10h) = t1;
0x0000bf28 sw t0, 0x14(sp) | *(var_14h) = t0;
0x0000bf2c sw a3, 0x18(sp) | *(var_18h) = a3;
0x0000bf30 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0000bf34 sw a1, 0x20(sp) | *(var_20h) = a1;
0x0000bf38 sw a0, 0x24(sp) | *(var_24h) = a0;
0x0000bf3c move a0, v1 | a0 = v1;
0x0000bf40 move a1, v0 | a1 = v0;
0x0000bf44 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sissued__on________:__04d__02d__02d__02d:_02d:_02d */
0x0000bf48 addiu a2, v0, 0x7e28 | a2 = v0 + 0x7e28;
0x0000bf4c lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000bf50 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000bf54 move t9, v0 | t9 = v0;
0x0000bf58 jalr t9 | t9 ();
0x0000bf5c nop |
0x0000bf60 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000bf64 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000bf68 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000bf6c bltz v0, 0xbf88 |
0x0000bf70 nop |
0x0000bf74 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000bf78 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bf7c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000bf80 bnez v0, 0xbf94 | goto label_9;
| }
0x0000bf84 nop |
| }
0x0000bf88 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000bf8c b 0xc804 | goto label_1;
0x0000bf90 nop |
| label_9:
0x0000bf94 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000bf98 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bf9c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000bfa0 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000bfa4 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bfa8 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000bfac addu v0, v1, v0 | v0 = v1 + v0;
0x0000bfb0 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000bfb4 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000bfb8 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000bfbc lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bfc0 lw t1, 0xa4(a0) | t1 = *((a0 + 41));
0x0000bfc4 lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bfc8 lw t0, 0xa8(a0) | t0 = *((a0 + 42));
0x0000bfcc lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bfd0 lw a3, 0xac(a0) | a3 = *((a0 + 43));
0x0000bfd4 lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bfd8 lw a2, 0xb0(a0) | a2 = *((a0 + 44));
0x0000bfdc lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bfe0 lw a1, 0xb4(a0) | a1 = *((a0 + 45));
0x0000bfe4 lw a0, 0x6c(fp) | a0 = *(arg_6ch);
0x0000bfe8 lw a0, 0xb8(a0) | a0 = *((a0 + 46));
0x0000bfec sw t1, 0x10(sp) | *(var_10h) = t1;
0x0000bff0 sw t0, 0x14(sp) | *(var_14h) = t0;
0x0000bff4 sw a3, 0x18(sp) | *(var_18h) = a3;
0x0000bff8 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0000bffc sw a1, 0x20(sp) | *(var_20h) = a1;
0x0000c000 sw a0, 0x24(sp) | *(var_24h) = a0;
0x0000c004 move a0, v1 | a0 = v1;
0x0000c008 move a1, v0 | a1 = v0;
0x0000c00c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sexpires_on________:__04d__02d__02d__02d:_02d:_02d */
0x0000c010 addiu a2, v0, 0x7e60 | a2 = v0 + 0x7e60;
0x0000c014 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c018 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c01c move t9, v0 | t9 = v0;
0x0000c020 jalr t9 | t9 ();
0x0000c024 nop |
0x0000c028 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c02c sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c030 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c034 bltz v0, 0xc050 |
0x0000c038 nop |
0x0000c03c lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c040 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c044 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c048 bnez v0, 0xc05c | goto label_10;
| }
0x0000c04c nop |
| }
0x0000c050 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c054 b 0xc804 | goto label_1;
0x0000c058 nop |
| label_10:
0x0000c05c lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c060 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c064 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c068 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c06c lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c070 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c074 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c078 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c07c lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c080 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c084 move a0, v1 | a0 = v1;
0x0000c088 move a1, v0 | a1 = v0;
0x0000c08c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_ssigned_using______:_ */
0x0000c090 addiu a2, v0, 0x7e98 | a2 = v0 + 0x7e98;
0x0000c094 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c098 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c09c move t9, v0 | t9 = v0;
0x0000c0a0 jalr t9 | t9 ();
0x0000c0a4 nop |
0x0000c0a8 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c0ac sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c0b0 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c0b4 bltz v0, 0xc0d0 |
0x0000c0b8 nop |
0x0000c0bc lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c0c0 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c0c4 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c0c8 bnez v0, 0xc0dc | goto label_11;
| }
0x0000c0cc nop |
| }
0x0000c0d0 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c0d4 b 0xc804 | goto label_1;
0x0000c0d8 nop |
| label_11:
0x0000c0dc lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c0e0 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c0e4 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c0e8 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c0ec lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c0f0 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c0f4 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c0f8 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c0fc lw a0, 0x38(fp) | a0 = *(var_38h);
0x0000c100 lw a1, 0x34(fp) | a1 = *(var_34h);
0x0000c104 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c108 addiu v1, v0, 0x28 | v1 = v0 + 0x28;
0x0000c10c lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c110 lw v0, 0x12c(v0) | v0 = *((v0 + 75));
0x0000c114 lw a2, 0x6c(fp) | a2 = *(arg_6ch);
0x0000c118 lw a3, 0x128(a2) | a3 = *((a2 + 74));
0x0000c11c lw a2, 0x6c(fp) | a2 = *(arg_6ch);
0x0000c120 lw a2, 0x130(a2) | a2 = *((a2 + 76));
0x0000c124 sw a3, 0x10(sp) | *(var_10h) = a3;
0x0000c128 sw a2, 0x14(sp) | *(var_14h) = a2;
0x0000c12c move a2, v1 | a2 = v1;
0x0000c130 move a3, v0 | a3 = v0;
0x0000c134 lw v0, -0x7eac(gp) | v0 = sym.mbedtls_x509_sig_alg_gets;
0x0000c138 move t9, v0 | t9 = v0;
0x0000c13c jalr t9 | t9 ();
0x0000c140 nop |
0x0000c144 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c148 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c14c lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c150 bltz v0, 0xc16c |
0x0000c154 nop |
0x0000c158 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c15c lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c160 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c164 bnez v0, 0xc178 | goto label_12;
| }
0x0000c168 nop |
| }
0x0000c16c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c170 b 0xc804 | goto label_1;
0x0000c174 nop |
| label_12:
0x0000c178 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c17c lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c180 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c184 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c188 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c18c lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c190 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c194 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c198 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c19c addiu v0, v0, 0xbc | v0 += 0xbc;
0x0000c1a0 move a0, v0 | a0 = v0;
0x0000c1a4 lw v0, -0x7e6c(gp) | v0 = sym.imp.mbedtls_pk_get_name;
0x0000c1a8 move t9, v0 | t9 = v0;
0x0000c1ac jalr t9 | t9 ();
0x0000c1b0 nop |
0x0000c1b4 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c1b8 addiu v1, fp, 0x3c | v1 = fp + 0x3c;
0x0000c1bc move a0, v1 | a0 = v1;
0x0000c1c0 addiu a1, zero, 0x12 | a1 = 0x12;
0x0000c1c4 move a2, v0 | a2 = v0;
0x0000c1c8 lw v0, -0x7f00(gp) | v0 = sym.mbedtls_x509_key_size_helper;
0x0000c1cc move t9, v0 | t9 = v0;
0x0000c1d0 jalr t9 | t9 ();
0x0000c1d4 nop |
0x0000c1d8 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c1dc sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c1e0 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 != 0) {
0x0000c1e4 beqz v0, 0xc1f8 |
0x0000c1e8 nop |
0x0000c1ec lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c1f0 b 0xc804 | goto label_1;
0x0000c1f4 nop |
| }
0x0000c1f8 lw s1, 0x38(fp) | s1 = *(var_38h);
0x0000c1fc lw s0, 0x34(fp) | s0 = *(var_34h);
0x0000c200 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c204 addiu v0, v0, 0xbc | v0 += 0xbc;
0x0000c208 move a0, v0 | a0 = v0;
0x0000c20c lw v0, -0x7eb8(gp) | v0 = sym.imp.mbedtls_pk_get_bitlen;
0x0000c210 move t9, v0 | t9 = v0;
0x0000c214 jalr t9 | t9 ();
0x0000c218 nop |
0x0000c21c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c220 addiu v1, fp, 0x3c | v1 = fp + 0x3c;
0x0000c224 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0000c228 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000c22c move a0, s1 | a0 = s1;
0x0000c230 move a1, s0 | a1 = s0;
0x0000c234 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_s__18s:__d_bits */
0x0000c238 addiu a2, v0, 0x7eb0 | a2 = v0 + 0x7eb0;
0x0000c23c lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c240 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c244 move t9, v0 | t9 = v0;
0x0000c248 jalr t9 | t9 ();
0x0000c24c nop |
0x0000c250 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c254 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c258 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c25c bltz v0, 0xc278 |
0x0000c260 nop |
0x0000c264 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c268 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c26c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c270 bnez v0, 0xc284 | goto label_13;
| }
0x0000c274 nop |
| }
0x0000c278 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c27c b 0xc804 | goto label_1;
0x0000c280 nop |
| label_13:
0x0000c284 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c288 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c28c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c290 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c294 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c298 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c29c addu v0, v1, v0 | v0 = v1 + v0;
0x0000c2a0 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c2a4 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c2a8 lw v0, 0xf8(v0) | v0 = *((v0 + 62));
0x0000c2ac andi v0, v0, 0x100 | v0 &= aav.0x00000100;
| if (v0 != 0) {
0x0000c2b0 beqz v0, 0xc3f8 |
0x0000c2b4 nop |
0x0000c2b8 lw a0, 0x38(fp) | a0 = *(var_38h);
0x0000c2bc lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c2c0 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c2c4 lw v0, 0xfc(v0) | v0 = *((v0 + 63));
| if (v0 != 0) {
0x0000c2c8 beqz v0, 0xc2e0 |
0x0000c2cc nop |
0x0000c2d0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str.true */
0x0000c2d4 addiu v0, v0, 0x7ec4 | v0 += 0x7ec4;
0x0000c2d8 b 0xc2e8 | goto label_14;
0x0000c2dc nop |
| }
0x0000c2e0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str.false */
0x0000c2e4 addiu v0, v0, 0x7ecc | v0 += 0x7ecc;
| label_14:
0x0000c2e8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000c2ec move a1, v1 | a1 = v1;
0x0000c2f0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sbasic_constraints_:_CA_s */
0x0000c2f4 addiu a2, v0, 0x7ed4 | a2 = v0 + 0x7ed4;
0x0000c2f8 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c2fc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c300 move t9, v0 | t9 = v0;
0x0000c304 jalr t9 | t9 ();
0x0000c308 nop |
0x0000c30c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c310 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c314 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c318 bltz v0, 0xc334 |
0x0000c31c nop |
0x0000c320 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c324 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c328 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c32c bnez v0, 0xc340 | goto label_15;
| }
0x0000c330 nop |
| }
0x0000c334 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c338 b 0xc804 | goto label_1;
0x0000c33c nop |
| label_15:
0x0000c340 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c344 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c348 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c34c sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c350 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c354 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c358 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c35c sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c360 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c364 lw v0, 0x100(v0) | v0 = *(v0);
| if (v0 <= 0) {
0x0000c368 blez v0, 0xc3f8 | goto label_16;
| }
0x0000c36c nop |
0x0000c370 lw a0, 0x38(fp) | a0 = *(var_38h);
0x0000c374 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c378 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c37c lw v0, 0x100(v0) | v0 = *(v0);
0x0000c380 addiu v0, v0, -1 | v0 += -1;
0x0000c384 move a1, v1 | a1 = v1;
0x0000c388 lw v1, -0x7fcc(gp) | v1 = *(gp);
| /* str.__max_pathlen_d */
0x0000c38c addiu a2, v1, 0x7ef4 | a2 = v1 + 0x7ef4;
0x0000c390 move a3, v0 | a3 = v0;
0x0000c394 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c398 move t9, v0 | t9 = v0;
0x0000c39c jalr t9 | t9 ();
0x0000c3a0 nop |
0x0000c3a4 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c3a8 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c3ac lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c3b0 bltz v0, 0xc3cc |
0x0000c3b4 nop |
0x0000c3b8 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c3bc lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c3c0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c3c4 bnez v0, 0xc3d8 | goto label_17;
| }
0x0000c3c8 nop |
| }
0x0000c3cc addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c3d0 b 0xc804 | goto label_1;
0x0000c3d4 nop |
| label_17:
0x0000c3d8 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c3dc lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c3e0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c3e4 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c3e8 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c3ec lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c3f0 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c3f4 sw v0, 0x38(fp) | *(var_38h) = v0;
| }
| label_16:
0x0000c3f8 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c3fc lw v0, 0xf8(v0) | v0 = *((v0 + 62));
0x0000c400 andi v0, v0, 0x20 | v0 &= 0x20;
| if (v0 != 0) {
0x0000c404 beqz v0, 0xc4d8 |
0x0000c408 nop |
0x0000c40c lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c410 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c414 move a0, v1 | a0 = v1;
0x0000c418 move a1, v0 | a1 = v0;
0x0000c41c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_ssubject_alt_name__:_ */
0x0000c420 addiu a2, v0, 0x7f08 | a2 = v0 + 0x7f08;
0x0000c424 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c428 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c42c move t9, v0 | t9 = v0;
0x0000c430 jalr t9 | t9 ();
0x0000c434 nop |
0x0000c438 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c43c sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c440 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c444 bltz v0, 0xc460 |
0x0000c448 nop |
0x0000c44c lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c450 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c454 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c458 bnez v0, 0xc46c | goto label_18;
| }
0x0000c45c nop |
| }
0x0000c460 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c464 b 0xc804 | goto label_1;
0x0000c468 nop |
| label_18:
0x0000c46c lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c470 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c474 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c478 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c47c lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c480 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c484 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c488 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c48c lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c490 addiu v0, v0, 0xe8 | v0 += 0xe8;
0x0000c494 addiu a0, fp, 0x38 | a0 = fp + 0x38;
0x0000c498 addiu v1, fp, 0x34 | v1 = fp + 0x34;
0x0000c49c move a1, v1 | a1 = v1;
0x0000c4a0 move a2, v0 | a2 = v0;
0x0000c4a4 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c4a8 addiu v0, v0, -0x5384 | v0 += -0x5384;
0x0000c4ac move t9, v0 | t9 = v0;
0x0000c4b0 bal 0xac7c | sym_x509_info_subject_alt_name ();
0x0000c4b4 nop |
0x0000c4b8 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c4bc sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c4c0 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 == 0) {
0x0000c4c4 beqz v0, 0xc4d8 | goto label_19;
| }
0x0000c4c8 nop |
0x0000c4cc lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c4d0 b 0xc804 | goto label_1;
0x0000c4d4 nop |
| }
| label_19:
0x0000c4d8 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c4dc lw v1, 0xf8(v0) | v1 = *((v0 + 62));
0x0000c4e0 lui v0, 1 | v0 = 0x10000;
0x0000c4e4 and v0, v1, v0 | v0 = v1 & v0;
| if (v0 != 0) {
0x0000c4e8 beqz v0, 0xc5bc |
0x0000c4ec nop |
0x0000c4f0 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c4f4 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c4f8 move a0, v1 | a0 = v1;
0x0000c4fc move a1, v0 | a1 = v0;
0x0000c500 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_scert._type________:_ */
0x0000c504 addiu a2, v0, 0x7f20 | a2 = v0 + 0x7f20;
0x0000c508 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c50c lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c510 move t9, v0 | t9 = v0;
0x0000c514 jalr t9 | t9 ();
0x0000c518 nop |
0x0000c51c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c520 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c524 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c528 bltz v0, 0xc544 |
0x0000c52c nop |
0x0000c530 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c534 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c538 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c53c bnez v0, 0xc550 | goto label_20;
| }
0x0000c540 nop |
| }
0x0000c544 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c548 b 0xc804 | goto label_1;
0x0000c54c nop |
| label_20:
0x0000c550 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c554 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c558 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c55c sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c560 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c564 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c568 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c56c sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c570 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c574 lbu v0, 0x118(v0) | v0 = *((v0 + 280));
0x0000c578 addiu a0, fp, 0x38 | a0 = fp + 0x38;
0x0000c57c addiu v1, fp, 0x34 | v1 = fp + 0x34;
0x0000c580 move a1, v1 | a1 = v1;
0x0000c584 move a2, v0 | a2 = v0;
0x0000c588 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c58c addiu v0, v0, -0x51c4 | v0 += -0x51c4;
0x0000c590 move t9, v0 | t9 = v0;
0x0000c594 bal 0xae3c | sym_x509_info_cert_type ();
0x0000c598 nop |
0x0000c59c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c5a0 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c5a4 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 == 0) {
0x0000c5a8 beqz v0, 0xc5bc | goto label_21;
| }
0x0000c5ac nop |
0x0000c5b0 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c5b4 b 0xc804 | goto label_1;
0x0000c5b8 nop |
| }
| label_21:
0x0000c5bc lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c5c0 lw v0, 0xf8(v0) | v0 = *((v0 + 62));
0x0000c5c4 andi v0, v0, 4 | v0 &= 4;
| if (v0 != 0) {
0x0000c5c8 beqz v0, 0xc69c |
0x0000c5cc nop |
0x0000c5d0 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c5d4 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c5d8 move a0, v1 | a0 = v1;
0x0000c5dc move a1, v0 | a1 = v0;
0x0000c5e0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_skey_usage_________:_ */
0x0000c5e4 addiu a2, v0, 0x7f38 | a2 = v0 + 0x7f38;
0x0000c5e8 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c5ec lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c5f0 move t9, v0 | t9 = v0;
0x0000c5f4 jalr t9 | t9 ();
0x0000c5f8 nop |
0x0000c5fc lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c600 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c604 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c608 bltz v0, 0xc624 |
0x0000c60c nop |
0x0000c610 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c614 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c618 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c61c bnez v0, 0xc630 | goto label_22;
| }
0x0000c620 nop |
| }
0x0000c624 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c628 b 0xc804 | goto label_1;
0x0000c62c nop |
| label_22:
0x0000c630 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c634 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c638 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c63c sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c640 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c644 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c648 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c64c sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c650 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c654 lw v0, 0x104(v0) | v0 = *((v0 + 65));
0x0000c658 addiu a0, fp, 0x38 | a0 = fp + 0x38;
0x0000c65c addiu v1, fp, 0x34 | v1 = fp + 0x34;
0x0000c660 move a1, v1 | a1 = v1;
0x0000c664 move a2, v0 | a2 = v0;
0x0000c668 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c66c addiu v0, v0, -0x4ca0 | v0 += -0x4ca0;
0x0000c670 move t9, v0 | t9 = v0;
0x0000c674 bal 0xb360 | sym_x509_info_key_usage ();
0x0000c678 nop |
0x0000c67c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c680 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c684 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 == 0) {
0x0000c688 beqz v0, 0xc69c | goto label_23;
| }
0x0000c68c nop |
0x0000c690 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c694 b 0xc804 | goto label_1;
0x0000c698 nop |
| }
| label_23:
0x0000c69c lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c6a0 lw v0, 0xf8(v0) | v0 = *((v0 + 62));
0x0000c6a4 andi v0, v0, 0x800 | v0 &= aav.0x00000800;
| if (v0 != 0) {
0x0000c6a8 beqz v0, 0xc77c |
0x0000c6ac nop |
0x0000c6b0 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c6b4 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c6b8 move a0, v1 | a0 = v1;
0x0000c6bc move a1, v0 | a1 = v0;
0x0000c6c0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._n_sext_key_usage_____:_ */
0x0000c6c4 addiu a2, v0, 0x7f50 | a2 = v0 + 0x7f50;
0x0000c6c8 lw a3, 0x68(fp) | a3 = *(arg_68h);
0x0000c6cc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c6d0 move t9, v0 | t9 = v0;
0x0000c6d4 jalr t9 | t9 ();
0x0000c6d8 nop |
0x0000c6dc lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c6e0 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c6e4 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c6e8 bltz v0, 0xc704 |
0x0000c6ec nop |
0x0000c6f0 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c6f4 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c6f8 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c6fc bnez v0, 0xc710 | goto label_24;
| }
0x0000c700 nop |
| }
0x0000c704 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c708 b 0xc804 | goto label_1;
0x0000c70c nop |
| label_24:
0x0000c710 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c714 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c718 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c71c sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c720 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c724 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c728 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c72c sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c730 lw v0, 0x6c(fp) | v0 = *(arg_6ch);
0x0000c734 addiu v0, v0, 0x108 | v0 += aav.0x00000108;
0x0000c738 addiu a0, fp, 0x38 | a0 = fp + 0x38;
0x0000c73c addiu v1, fp, 0x34 | v1 = fp + 0x34;
0x0000c740 move a1, v1 | a1 = v1;
0x0000c744 move a2, v0 | a2 = v0;
0x0000c748 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c74c addiu v0, v0, -0x46e8 | v0 += -0x46e8;
0x0000c750 move t9, v0 | t9 = v0;
0x0000c754 bal 0xb918 | sym_x509_info_ext_key_usage ();
0x0000c758 nop |
0x0000c75c lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c760 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c764 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 == 0) {
0x0000c768 beqz v0, 0xc77c | goto label_25;
| }
0x0000c76c nop |
0x0000c770 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c774 b 0xc804 | goto label_1;
0x0000c778 nop |
| }
| label_25:
0x0000c77c lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c780 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c784 move a0, v1 | a0 = v1;
0x0000c788 move a1, v0 | a1 = v0;
0x0000c78c lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c790 addiu a2, v0, 0x7f68 | a2 = v0 + 0x7f68;
0x0000c794 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c798 move t9, v0 | t9 = v0;
0x0000c79c jalr t9 | t9 ();
0x0000c7a0 nop |
0x0000c7a4 lw gp, 0x28(fp) | gp = *(var_28h);
0x0000c7a8 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000c7ac lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000c7b0 bltz v0, 0xc7cc |
0x0000c7b4 nop |
0x0000c7b8 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000c7bc lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c7c0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c7c4 bnez v0, 0xc7d8 | goto label_26;
| }
0x0000c7c8 nop |
| }
0x0000c7cc addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c7d0 b 0xc804 | goto label_1;
0x0000c7d4 nop |
| label_26:
0x0000c7d8 lw v1, 0x34(fp) | v1 = *(var_34h);
0x0000c7dc lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c7e0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c7e4 sw v0, 0x34(fp) | *(var_34h) = v0;
0x0000c7e8 lw v1, 0x38(fp) | v1 = *(var_38h);
0x0000c7ec lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000c7f0 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c7f4 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0000c7f8 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000c7fc lw v1, 0x64(fp) | v1 = *(arg_64h);
0x0000c800 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
| label_1:
0x0000c804 move sp, fp |
0x0000c808 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0000c80c lw fp, 0x58(sp) | fp = *(var_58h);
0x0000c810 lw s1, 0x54(sp) | s1 = *(var_54h);
0x0000c814 lw s0, 0x50(sp) | s0 = *(var_50h);
0x0000c818 addiu sp, sp, 0x60 |
0x0000c81c jr ra | return v0;
0x0000c820 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0xaaa0 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_crt_parse_path () | void mbedtls_x509_crt_parse_path () {
0x0000aaa0 lui gp, 2 |
0x0000aaa4 addiu gp, gp, 0x5cd0 |
0x0000aaa8 addu gp, gp, t9 | gp += t9;
0x0000aaac addiu sp, sp, -0x2d8 |
0x0000aab0 sw ra, 0x2d4(sp) | *(var_2d4h) = ra;
0x0000aab4 sw fp, 0x2d0(sp) | *(var_2d0h) = fp;
0x0000aab8 move fp, sp | fp = sp;
0x0000aabc sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000aac0 sw a0, 0x2d8(fp) | *(arg_2d8h) = a0;
0x0000aac4 sw a1, 0x2dc(fp) | *(arg_2dch) = a1;
0x0000aac8 sw zero, 0x20(fp) | *(var_20h) = 0;
0x0000aacc lw a0, 0x2dc(fp) | a0 = *(arg_2dch);
0x0000aad0 lw v0, -0x7f34(gp) | v0 = sym.imp.opendir;
0x0000aad4 move t9, v0 | t9 = v0;
0x0000aad8 jalr t9 | t9 ();
0x0000aadc nop |
0x0000aae0 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000aae4 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000aae8 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 != 0) {
0x0000aaec bnez v0, 0xac20 | goto label_0;
| }
0x0000aaf0 nop |
0x0000aaf4 addiu v0, zero, -0x2900 | v0 = -0x2900;
0x0000aaf8 b 0xac64 | goto label_1;
0x0000aafc nop |
| do {
0x0000ab00 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000ab04 addiu v1, v0, 0xb | v1 = v0 + 0xb;
0x0000ab08 addiu v0, fp, 0xd0 | v0 = fp + 0xd0;
0x0000ab0c sw v1, 0x10(sp) | *(var_10h) = v1;
0x0000ab10 move a0, v0 | a0 = v0;
0x0000ab14 addiu a1, zero, 0x200 | a1 = 0x200;
0x0000ab18 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._s__s */
0x0000ab1c addiu a2, v0, 0x7c78 | a2 = v0 + 0x7c78;
0x0000ab20 lw a3, 0x2dc(fp) | a3 = *(arg_2dch);
0x0000ab24 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000ab28 move t9, v0 | t9 = v0;
0x0000ab2c jalr t9 | t9 ();
0x0000ab30 nop |
0x0000ab34 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000ab38 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x0000ab3c lw v0, 0x2c(fp) | v0 = *(var_2ch);
| if (v0 >= 0) {
0x0000ab40 bltz v0, 0xab58 |
0x0000ab44 nop |
0x0000ab48 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x0000ab4c sltiu v0, v0, 0x200 | v0 = (v0 < 0x200) ? 1 : 0;
| if (v0 != 0) {
0x0000ab50 bnez v0, 0xab68 | goto label_2;
| }
0x0000ab54 nop |
| }
0x0000ab58 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000ab5c sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000ab60 b 0xac48 | goto label_3;
0x0000ab64 nop |
| label_2:
0x0000ab68 addiu v1, fp, 0xd0 | v1 = fp + 0xd0;
0x0000ab6c addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x0000ab70 move a0, v1 | a0 = v1;
0x0000ab74 move a1, v0 | a1 = v0;
0x0000ab78 lw v0, -0x7f70(gp) | v0 = sym.imp.stat;
0x0000ab7c move t9, v0 | t9 = v0;
0x0000ab80 jalr t9 | t9 ();
0x0000ab84 nop |
0x0000ab88 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000ab8c move v1, v0 | v1 = v0;
0x0000ab90 addiu v0, zero, -1 | v0 = -1;
| if (v1 == v0) {
0x0000ab94 bne v1, v0, 0xabac |
0x0000ab98 nop |
0x0000ab9c addiu v0, zero, -0x2900 | v0 = -0x2900;
0x0000aba0 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000aba4 b 0xac48 | goto label_3;
0x0000aba8 nop |
| }
0x0000abac lw v0, 0x4c(fp) | v0 = *(var_4ch);
0x0000abb0 andi v1, v0, 0xf000 | v1 = v0 & 0xf000;
0x0000abb4 ori v0, zero, 0x8000 | v0 = 0x8000;
| if (v1 == v0) {
0x0000abb8 bne v1, v0, 0xac1c |
0x0000abbc nop |
0x0000abc0 addiu v0, fp, 0xd0 | v0 = fp + 0xd0;
0x0000abc4 lw a0, 0x2d8(fp) | a0 = *(arg_2d8h);
0x0000abc8 move a1, v0 | a1 = v0;
0x0000abcc lw v0, -0x7f60(gp) | v0 = sym.mbedtls_x509_crt_parse_file;
0x0000abd0 move t9, v0 | t9 = v0;
0x0000abd4 jalr t9 | t9 ();
0x0000abd8 nop |
0x0000abdc lw gp, 0x18(fp) | gp = *(var_18h);
0x0000abe0 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000abe4 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 < 0) {
0x0000abe8 bgez v0, 0xac04 |
0x0000abec nop |
0x0000abf0 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000abf4 addiu v0, v0, 1 | v0++;
0x0000abf8 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000abfc b 0xac20 | goto label_0;
0x0000ac00 nop |
| }
0x0000ac04 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000ac08 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000ac0c addu v0, v1, v0 | v0 = v1 + v0;
0x0000ac10 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000ac14 b 0xac20 | goto label_0;
0x0000ac18 nop |
| }
0x0000ac1c nop |
| label_0:
0x0000ac20 lw a0, 0x24(fp) | a0 = *(var_24h);
0x0000ac24 lw v0, -0x7e58(gp) | v0 = sym.imp.readdir;
0x0000ac28 move t9, v0 | t9 = v0;
0x0000ac2c jalr t9 | t9 ();
0x0000ac30 nop |
0x0000ac34 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000ac38 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000ac3c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000ac40 bnez v0, 0xab00 |
| } while (v0 != 0);
0x0000ac44 nop |
| label_3:
0x0000ac48 lw a0, 0x24(fp) | a0 = *(var_24h);
0x0000ac4c lw v0, -0x7fa8(gp) | v0 = sym.imp.closedir;
0x0000ac50 move t9, v0 | t9 = v0;
0x0000ac54 jalr t9 | t9 ();
0x0000ac58 nop |
0x0000ac5c lw gp, 0x18(fp) | gp = *(var_18h);
0x0000ac60 lw v0, 0x20(fp) | v0 = *(var_20h);
| label_1:
0x0000ac64 move sp, fp |
0x0000ac68 lw ra, 0x2d4(sp) | ra = *(var_2d4h);
0x0000ac6c lw fp, 0x2d0(sp) | fp = *(var_2d0h);
0x0000ac70 addiu sp, sp, 0x2d8 |
0x0000ac74 jr ra | return v0;
0x0000ac78 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0xc824 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_crt_verify_info () | void mbedtls_x509_crt_verify_info () {
0x0000c824 lui gp, 2 |
0x0000c828 addiu gp, gp, 0x3f4c |
0x0000c82c addu gp, gp, t9 | gp += t9;
0x0000c830 addiu sp, sp, -0x38 |
0x0000c834 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0000c838 sw fp, 0x30(sp) | *(var_30h) = fp;
0x0000c83c move fp, sp | fp = sp;
0x0000c840 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000c844 sw a0, 0x38(fp) | *(arg_38h) = a0;
0x0000c848 sw a1, 0x3c(fp) | *(arg_3ch) = a1;
0x0000c84c sw a2, 0x40(fp) | *(arg_40h) = a2;
0x0000c850 sw a3, 0x44(fp) | *(arg_44h) = a3;
0x0000c854 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000c858 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000c85c lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x0000c860 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000c864 lw v0, -0x7fe4(gp) | v0 = *((gp - 8185));
| /* obj.x509_crt_verify_strings */
0x0000c868 addiu v0, v0, -0x795c | v0 += -0x795c;
0x0000c86c sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000c870 b 0xc944 | goto label_0;
0x0000c874 nop |
| do {
0x0000c878 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000c87c lw v0, (v0) | v0 = *(v0);
0x0000c880 move v1, v0 | v1 = v0;
0x0000c884 lw v0, 0x44(fp) | v0 = *(arg_44h);
0x0000c888 and v0, v1, v0 | v0 = v1 & v0;
| if (v0 != 0) {
0x0000c88c beqz v0, 0xc934 |
0x0000c890 nop |
0x0000c894 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000c898 lw v0, 4(v0) | v0 = *((v0 + 1));
0x0000c89c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000c8a0 lw a0, 0x24(fp) | a0 = *(var_24h);
0x0000c8a4 lw a1, 0x28(fp) | a1 = *(var_28h);
0x0000c8a8 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
| /* str._s_s_n */
0x0000c8ac addiu a2, v0, -0x7c8c | a2 = v0 + -0x7c8c;
0x0000c8b0 lw a3, 0x40(fp) | a3 = *(arg_40h);
0x0000c8b4 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c8b8 move t9, v0 | t9 = v0;
0x0000c8bc jalr t9 | t9 ();
0x0000c8c0 nop |
0x0000c8c4 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000c8c8 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x0000c8cc lw v0, 0x2c(fp) | v0 = *(var_2ch);
| if (v0 >= 0) {
0x0000c8d0 bltz v0, 0xc8ec |
0x0000c8d4 nop |
0x0000c8d8 lw v1, 0x2c(fp) | v1 = *(var_2ch);
0x0000c8dc lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000c8e0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c8e4 bnez v0, 0xc8f8 | goto label_1;
| }
0x0000c8e8 nop |
| }
0x0000c8ec addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c8f0 b 0xc9e4 | goto label_2;
0x0000c8f4 nop |
| label_1:
0x0000c8f8 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x0000c8fc lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000c900 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c904 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000c908 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x0000c90c lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000c910 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c914 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000c918 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000c91c lw v0, (v0) | v0 = *(v0);
0x0000c920 lw v1, 0x44(fp) | v1 = *(arg_44h);
0x0000c924 xor v0, v1, v0 | v0 = v1 ^ v0;
0x0000c928 sw v0, 0x44(fp) | *(arg_44h) = v0;
0x0000c92c b 0xc938 | goto label_3;
0x0000c930 nop |
| }
0x0000c934 nop |
| label_3:
0x0000c938 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000c93c addiu v0, v0, 8 | v0 += 8;
0x0000c940 sw v0, 0x20(fp) | *(var_20h) = v0;
| label_0:
0x0000c944 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000c948 lw v0, 4(v0) | v0 = *((v0 + 1));
0x0000c94c bnez v0, 0xc878 |
| } while (v0 != 0);
0x0000c950 nop |
0x0000c954 lw v0, 0x44(fp) | v0 = *(arg_44h);
| if (v0 != 0) {
0x0000c958 beqz v0, 0xc9d8 |
0x0000c95c nop |
0x0000c960 lw a0, 0x24(fp) | a0 = *(var_24h);
0x0000c964 lw a1, 0x28(fp) | a1 = *(var_28h);
0x0000c968 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
| /* str._sUnknown_reason__this_should_not_happen__n */
0x0000c96c addiu a2, v0, -0x7c84 | a2 = v0 + -0x7c84;
0x0000c970 lw a3, 0x40(fp) | a3 = *(arg_40h);
0x0000c974 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000c978 move t9, v0 | t9 = v0;
0x0000c97c jalr t9 | t9 ();
0x0000c980 nop |
0x0000c984 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000c988 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x0000c98c lw v0, 0x2c(fp) | v0 = *(var_2ch);
| if (v0 >= 0) {
0x0000c990 bltz v0, 0xc9ac |
0x0000c994 nop |
0x0000c998 lw v1, 0x2c(fp) | v1 = *(var_2ch);
0x0000c99c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000c9a0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000c9a4 bnez v0, 0xc9b8 | goto label_4;
| }
0x0000c9a8 nop |
| }
0x0000c9ac addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000c9b0 b 0xc9e4 | goto label_2;
0x0000c9b4 nop |
| label_4:
0x0000c9b8 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x0000c9bc lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000c9c0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000c9c4 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000c9c8 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x0000c9cc lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000c9d0 addu v0, v1, v0 | v0 = v1 + v0;
0x0000c9d4 sw v0, 0x24(fp) | *(var_24h) = v0;
| }
0x0000c9d8 lw v1, 0x3c(fp) | v1 = *(arg_3ch);
0x0000c9dc lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000c9e0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
| label_2:
0x0000c9e4 move sp, fp |
0x0000c9e8 lw ra, 0x34(sp) | ra = *(var_34h);
0x0000c9ec lw fp, 0x30(sp) | fp = *(var_30h);
0x0000c9f0 addiu sp, sp, 0x38 |
0x0000c9f4 jr ra | return v0;
0x0000c9f8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0xfa50 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_csr_info () | void mbedtls_x509_csr_info () {
0x0000fa50 lui gp, 2 |
0x0000fa54 addiu gp, gp, 0xd20 |
0x0000fa58 addu gp, gp, t9 | gp += t9;
0x0000fa5c addiu sp, sp, -0x48 |
0x0000fa60 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0000fa64 sw fp, 0x40(sp) | *(var_40h) = fp;
0x0000fa68 move fp, sp | fp = sp;
0x0000fa6c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000fa70 sw a0, 0x48(fp) | *(arg_48h) = a0;
0x0000fa74 sw a1, 0x4c(fp) | *(arg_4ch) = a1;
0x0000fa78 sw a2, 0x50(fp) | *(arg_50h) = a2;
0x0000fa7c sw a3, 0x54(fp) | *(arg_54h) = a3;
0x0000fa80 lw v0, 0x48(fp) | v0 = *(arg_48h);
0x0000fa84 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000fa88 lw v0, 0x4c(fp) | v0 = *(arg_4ch);
0x0000fa8c sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000fa90 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000fa94 lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x0000fa98 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000fa9c lw a0, 0x20(fp) | a0 = *(var_20h);
0x0000faa0 lw a1, 0x24(fp) | a1 = *(var_24h);
0x0000faa4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
| /* str._sCSR_version___:__d */
0x0000faa8 addiu a2, v0, -0x7bf8 | a2 = v0 + -0x7bf8;
0x0000faac lw a3, 0x50(fp) | a3 = *(arg_50h);
0x0000fab0 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000fab4 move t9, v0 | t9 = v0;
0x0000fab8 jalr t9 | t9 ();
0x0000fabc nop |
0x0000fac0 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fac4 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000fac8 lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 >= 0) {
0x0000facc bltz v0, 0xfae8 |
0x0000fad0 nop |
0x0000fad4 lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000fad8 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000fadc sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000fae0 bnez v0, 0xfaf4 | goto label_0;
| }
0x0000fae4 nop |
| }
0x0000fae8 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000faec b 0xfe28 | goto label_1;
0x0000faf0 nop |
| label_0:
0x0000faf4 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000faf8 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000fafc subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000fb00 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000fb04 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fb08 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000fb0c addu v0, v1, v0 | v0 = v1 + v0;
0x0000fb10 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000fb14 lw a0, 0x20(fp) | a0 = *(var_20h);
0x0000fb18 lw a1, 0x24(fp) | a1 = *(var_24h);
0x0000fb1c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
| /* str._n_ssubject_name__:_ */
0x0000fb20 addiu a2, v0, -0x7be0 | a2 = v0 + -0x7be0;
0x0000fb24 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x0000fb28 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000fb2c move t9, v0 | t9 = v0;
0x0000fb30 jalr t9 | t9 ();
0x0000fb34 nop |
0x0000fb38 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fb3c sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000fb40 lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 >= 0) {
0x0000fb44 bltz v0, 0xfb60 |
0x0000fb48 nop |
0x0000fb4c lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000fb50 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000fb54 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000fb58 bnez v0, 0xfb6c | goto label_2;
| }
0x0000fb5c nop |
| }
0x0000fb60 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000fb64 b 0xfe28 | goto label_1;
0x0000fb68 nop |
| label_2:
0x0000fb6c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fb70 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000fb74 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000fb78 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000fb7c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fb80 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000fb84 addu v0, v1, v0 | v0 = v1 + v0;
0x0000fb88 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000fb8c lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000fb90 addiu v0, v0, 0x28 | v0 += 0x28;
0x0000fb94 lw a0, 0x20(fp) | a0 = *(var_20h);
0x0000fb98 lw a1, 0x24(fp) | a1 = *(var_24h);
0x0000fb9c move a2, v0 | a2 = v0;
0x0000fba0 lw v0, -0x7f54(gp) | v0 = sym.mbedtls_x509_dn_gets;
0x0000fba4 move t9, v0 | t9 = v0;
0x0000fba8 jalr t9 | t9 ();
0x0000fbac nop |
0x0000fbb0 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fbb4 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000fbb8 lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 >= 0) {
0x0000fbbc bltz v0, 0xfbd8 |
0x0000fbc0 nop |
0x0000fbc4 lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000fbc8 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000fbcc sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000fbd0 bnez v0, 0xfbe4 | goto label_3;
| }
0x0000fbd4 nop |
| }
0x0000fbd8 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000fbdc b 0xfe28 | goto label_1;
0x0000fbe0 nop |
| label_3:
0x0000fbe4 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fbe8 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000fbec subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000fbf0 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000fbf4 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fbf8 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000fbfc addu v0, v1, v0 | v0 = v1 + v0;
0x0000fc00 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000fc04 lw a0, 0x20(fp) | a0 = *(var_20h);
0x0000fc08 lw a1, 0x24(fp) | a1 = *(var_24h);
0x0000fc0c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
| /* str._n_ssigned_using__:_ */
0x0000fc10 addiu a2, v0, -0x7bcc | a2 = v0 + -0x7bcc;
0x0000fc14 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x0000fc18 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000fc1c move t9, v0 | t9 = v0;
0x0000fc20 jalr t9 | t9 ();
0x0000fc24 nop |
0x0000fc28 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fc2c sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000fc30 lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 >= 0) {
0x0000fc34 bltz v0, 0xfc50 |
0x0000fc38 nop |
0x0000fc3c lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000fc40 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000fc44 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000fc48 bnez v0, 0xfc5c | goto label_4;
| }
0x0000fc4c nop |
| }
0x0000fc50 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000fc54 b 0xfe28 | goto label_1;
0x0000fc58 nop |
| label_4:
0x0000fc5c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fc60 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000fc64 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000fc68 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000fc6c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fc70 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000fc74 addu v0, v1, v0 | v0 = v1 + v0;
0x0000fc78 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000fc7c lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000fc80 addiu v1, v0, 0x50 | v1 = v0 + 0x50;
0x0000fc84 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000fc88 lw v0, 0x6c(v0) | v0 = *((v0 + 27));
0x0000fc8c lw a0, 0x54(fp) | a0 = *(arg_54h);
0x0000fc90 lw a1, 0x68(a0) | a1 = *((a0 + 26));
0x0000fc94 lw a0, 0x54(fp) | a0 = *(arg_54h);
0x0000fc98 lw a0, 0x70(a0) | a0 = *((a0 + 28));
0x0000fc9c sw a1, 0x10(sp) | *(var_10h) = a1;
0x0000fca0 sw a0, 0x14(sp) | *(var_14h) = a0;
0x0000fca4 lw a0, 0x20(fp) | a0 = *(var_20h);
0x0000fca8 lw a1, 0x24(fp) | a1 = *(var_24h);
0x0000fcac move a2, v1 | a2 = v1;
0x0000fcb0 move a3, v0 | a3 = v0;
0x0000fcb4 lw v0, -0x7eac(gp) | v0 = sym.mbedtls_x509_sig_alg_gets;
0x0000fcb8 move t9, v0 | t9 = v0;
0x0000fcbc jalr t9 | t9 ();
0x0000fcc0 nop |
0x0000fcc4 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fcc8 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000fccc lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 >= 0) {
0x0000fcd0 bltz v0, 0xfcec |
0x0000fcd4 nop |
0x0000fcd8 lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000fcdc lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000fce0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000fce4 bnez v0, 0xfcf8 | goto label_5;
| }
0x0000fce8 nop |
| }
0x0000fcec addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000fcf0 b 0xfe28 | goto label_1;
0x0000fcf4 nop |
| label_5:
0x0000fcf8 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fcfc lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000fd00 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000fd04 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000fd08 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fd0c lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000fd10 addu v0, v1, v0 | v0 = v1 + v0;
0x0000fd14 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000fd18 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000fd1c addiu v0, v0, 0x48 | v0 += 0x48;
0x0000fd20 move a0, v0 | a0 = v0;
0x0000fd24 lw v0, -0x7e6c(gp) | v0 = sym.imp.mbedtls_pk_get_name;
0x0000fd28 move t9, v0 | t9 = v0;
0x0000fd2c jalr t9 | t9 ();
0x0000fd30 nop |
0x0000fd34 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fd38 addiu v1, fp, 0x2c | v1 = fp + 0x2c;
0x0000fd3c move a0, v1 | a0 = v1;
0x0000fd40 addiu a1, zero, 0xe | a1 = 0xe;
0x0000fd44 move a2, v0 | a2 = v0;
0x0000fd48 lw v0, -0x7f00(gp) | v0 = sym.mbedtls_x509_key_size_helper;
0x0000fd4c move t9, v0 | t9 = v0;
0x0000fd50 jalr t9 | t9 ();
0x0000fd54 nop |
0x0000fd58 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fd5c sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000fd60 lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 != 0) {
0x0000fd64 beqz v0, 0xfd78 |
0x0000fd68 nop |
0x0000fd6c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fd70 b 0xfe28 | goto label_1;
0x0000fd74 nop |
| }
0x0000fd78 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x0000fd7c addiu v0, v0, 0x48 | v0 += 0x48;
0x0000fd80 move a0, v0 | a0 = v0;
0x0000fd84 lw v0, -0x7eb8(gp) | v0 = sym.imp.mbedtls_pk_get_bitlen;
0x0000fd88 move t9, v0 | t9 = v0;
0x0000fd8c jalr t9 | t9 ();
0x0000fd90 nop |
0x0000fd94 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fd98 addiu v1, fp, 0x2c | v1 = fp + 0x2c;
0x0000fd9c sw v1, 0x10(sp) | *(var_10h) = v1;
0x0000fda0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000fda4 lw a0, 0x20(fp) | a0 = *(var_20h);
0x0000fda8 lw a1, 0x24(fp) | a1 = *(var_24h);
0x0000fdac lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
| /* str._n_s__14s:__d_bits_n */
0x0000fdb0 addiu a2, v0, -0x7bb8 | a2 = v0 + -0x7bb8;
0x0000fdb4 lw a3, 0x50(fp) | a3 = *(arg_50h);
0x0000fdb8 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000fdbc move t9, v0 | t9 = v0;
0x0000fdc0 jalr t9 | t9 ();
0x0000fdc4 nop |
0x0000fdc8 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000fdcc sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000fdd0 lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 >= 0) {
0x0000fdd4 bltz v0, 0xfdf0 |
0x0000fdd8 nop |
0x0000fddc lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000fde0 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000fde4 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000fde8 bnez v0, 0xfdfc | goto label_6;
| }
0x0000fdec nop |
| }
0x0000fdf0 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000fdf4 b 0xfe28 | goto label_1;
0x0000fdf8 nop |
| label_6:
0x0000fdfc lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fe00 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000fe04 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000fe08 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000fe0c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000fe10 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000fe14 addu v0, v1, v0 | v0 = v1 + v0;
0x0000fe18 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000fe1c lw v1, 0x4c(fp) | v1 = *(arg_4ch);
0x0000fe20 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000fe24 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
| label_1:
0x0000fe28 move sp, fp |
0x0000fe2c lw ra, 0x44(sp) | ra = *(var_44h);
0x0000fe30 lw fp, 0x40(sp) | fp = *(var_40h);
0x0000fe34 addiu sp, sp, 0x48 |
0x0000fe38 jr ra | return v0;
0x0000fe3c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0x4928 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_dn_gets () | void mbedtls_x509_dn_gets () {
0x00004928 lui gp, 3 |
0x0000492c addiu gp, gp, -0x41b8 |
0x00004930 addu gp, gp, t9 | gp += t9;
0x00004934 addiu sp, sp, -0x140 |
0x00004938 sw ra, 0x13c(sp) | *(var_13ch) = ra;
0x0000493c sw fp, 0x138(sp) | *(var_138h) = fp;
0x00004940 move fp, sp | fp = sp;
0x00004944 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00004948 sw a0, 0x140(fp) | *(arg_140h) = a0;
0x0000494c sw a1, 0x144(fp) | *(arg_144h) = a1;
0x00004950 sw a2, 0x148(fp) | *(arg_148h) = a2;
0x00004954 sb zero, 0x24(fp) | *(var_24h) = 0;
0x00004958 sw zero, 0x34(fp) | *(var_34h) = 0;
0x0000495c addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00004960 move a0, v0 | a0 = v0;
0x00004964 move a1, zero | a1 = 0;
0x00004968 addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x0000496c lw v0, -0x7f18(gp) | v0 = sym.imp.memset;
0x00004970 move t9, v0 | t9 = v0;
0x00004974 jalr t9 | t9 ();
0x00004978 nop |
0x0000497c lw gp, 0x10(fp) | gp = *(var_10h);
0x00004980 lw v0, 0x148(fp) | v0 = *(arg_148h);
0x00004984 sw v0, 0x28(fp) | *(var_28h) = v0;
0x00004988 lw v0, 0x140(fp) | v0 = *(arg_140h);
0x0000498c sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x00004990 lw v0, 0x144(fp) | v0 = *(arg_144h);
0x00004994 sw v0, 0x20(fp) | *(var_20h) = v0;
0x00004998 b 0x4cc0 | goto label_1;
0x0000499c nop |
| label_0:
0x000049a0 lw v0, 0x28(fp) | v0 = *(var_28h);
0x000049a4 lw v0, 8(v0) | v0 = *((v0 + 2));
| if (v0 == 0) {
0x000049a8 bnez v0, 0x49c4 |
0x000049ac nop |
0x000049b0 lw v0, 0x28(fp) | v0 = *(var_28h);
0x000049b4 lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x000049b8 sw v0, 0x28(fp) | *(var_28h) = v0;
0x000049bc b 0x4cc0 | goto label_1;
0x000049c0 nop |
| }
0x000049c4 lw v1, 0x28(fp) | v1 = *(var_28h);
0x000049c8 lw v0, 0x148(fp) | v0 = *(arg_148h);
| if (v1 != v0) {
0x000049cc beq v1, v0, 0x4a68 |
0x000049d0 nop |
0x000049d4 lbu v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 != 0) {
0x000049d8 beqz v0, 0x49f0 |
0x000049dc nop |
0x000049e0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ' + ' */
0x000049e4 addiu v0, v0, 0x789c | v0 += 0x789c;
0x000049e8 b 0x49f8 | goto label_2;
0x000049ec nop |
| }
0x000049f0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x000049f4 addiu v0, v0, 0x78a0 | v0 += 0x78a0;
| label_2:
0x000049f8 lw a0, 0x2c(fp) | a0 = *(var_2ch);
0x000049fc lw a1, 0x20(fp) | a1 = *(var_20h);
0x00004a00 move a2, v0 | a2 = v0;
0x00004a04 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004a08 move t9, v0 | t9 = v0;
0x00004a0c jalr t9 | t9 ();
0x00004a10 nop |
0x00004a14 lw gp, 0x10(fp) | gp = *(var_10h);
0x00004a18 sw v0, 0x18(fp) | *(var_18h) = v0;
0x00004a1c lw v0, 0x18(fp) | v0 = *(var_18h);
| if (v0 >= 0) {
0x00004a20 bltz v0, 0x4a3c |
0x00004a24 nop |
0x00004a28 lw v1, 0x18(fp) | v1 = *(var_18h);
0x00004a2c lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004a30 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00004a34 bnez v0, 0x4a48 | goto label_3;
| }
0x00004a38 nop |
| }
0x00004a3c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00004a40 b 0x4cd8 | goto label_4;
0x00004a44 nop |
| label_3:
0x00004a48 lw v0, 0x18(fp) | v0 = *(var_18h);
0x00004a4c lw v1, 0x20(fp) | v1 = *(var_20h);
0x00004a50 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00004a54 sw v0, 0x20(fp) | *(var_20h) = v0;
0x00004a58 lw v0, 0x18(fp) | v0 = *(var_18h);
0x00004a5c lw v1, 0x2c(fp) | v1 = *(var_2ch);
0x00004a60 addu v0, v1, v0 | v0 = v1 + v0;
0x00004a64 sw v0, 0x2c(fp) | *(var_2ch) = v0;
| }
0x00004a68 lw v1, 0x28(fp) | v1 = *(var_28h);
0x00004a6c addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x00004a70 move a0, v1 | a0 = v1;
0x00004a74 move a1, v0 | a1 = v0;
0x00004a78 lw v0, -0x7e4c(gp) | v0 = sym.imp.mbedtls_oid_get_attr_short_name;
0x00004a7c move t9, v0 | t9 = v0;
0x00004a80 jalr t9 | t9 ();
0x00004a84 nop |
0x00004a88 lw gp, 0x10(fp) | gp = *(var_10h);
0x00004a8c sw v0, 0x18(fp) | *(var_18h) = v0;
0x00004a90 lw v0, 0x18(fp) | v0 = *(var_18h);
| if (v0 == 0) {
0x00004a94 bnez v0, 0x4ad4 |
0x00004a98 nop |
0x00004a9c lw v0, 0x34(fp) | v0 = *(var_34h);
0x00004aa0 lw a0, 0x2c(fp) | a0 = *(var_2ch);
0x00004aa4 lw a1, 0x20(fp) | a1 = *(var_20h);
0x00004aa8 lw v1, -0x7fcc(gp) | v1 = *(gp);
| /* esilref: '&s=' */
0x00004aac addiu a2, v1, 0x78a4 | a2 = v1 + 0x78a4;
0x00004ab0 move a3, v0 | a3 = v0;
0x00004ab4 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004ab8 move t9, v0 | t9 = v0;
0x00004abc jalr t9 | t9 ();
0x00004ac0 nop |
0x00004ac4 lw gp, 0x10(fp) | gp = *(var_10h);
0x00004ac8 sw v0, 0x18(fp) | *(var_18h) = v0;
0x00004acc b 0x4afc | goto label_5;
0x00004ad0 nop |
| }
0x00004ad4 lw a0, 0x2c(fp) | a0 = *(var_2ch);
0x00004ad8 lw a1, 0x20(fp) | a1 = *(var_20h);
0x00004adc lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: '??=' */
0x00004ae0 addiu a2, v0, 0x78a8 | a2 = v0 + 0x78a8;
0x00004ae4 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004ae8 move t9, v0 | t9 = v0;
0x00004aec jalr t9 | t9 ();
0x00004af0 nop |
0x00004af4 lw gp, 0x10(fp) | gp = *(var_10h);
0x00004af8 sw v0, 0x18(fp) | *(var_18h) = v0;
| label_5:
0x00004afc lw v0, 0x18(fp) | v0 = *(var_18h);
| if (v0 >= 0) {
0x00004b00 bltz v0, 0x4b1c |
0x00004b04 nop |
0x00004b08 lw v1, 0x18(fp) | v1 = *(var_18h);
0x00004b0c lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004b10 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00004b14 bnez v0, 0x4b28 | goto label_6;
| }
0x00004b18 nop |
| }
0x00004b1c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00004b20 b 0x4cd8 | goto label_4;
0x00004b24 nop |
| label_6:
0x00004b28 lw v0, 0x18(fp) | v0 = *(var_18h);
0x00004b2c lw v1, 0x20(fp) | v1 = *(var_20h);
0x00004b30 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00004b34 sw v0, 0x20(fp) | *(var_20h) = v0;
0x00004b38 lw v0, 0x18(fp) | v0 = *(var_18h);
0x00004b3c lw v1, 0x2c(fp) | v1 = *(var_2ch);
0x00004b40 addu v0, v1, v0 | v0 = v1 + v0;
0x00004b44 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x00004b48 sw zero, 0x1c(fp) | *(var_1ch) = 0;
0x00004b4c b 0x4bf8 | goto label_7;
0x00004b50 nop |
| do {
0x00004b54 lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x00004b58 sltiu v0, v0, 0xff | v0 = (v0 < 0xff) ? 1 : 0;
| if (v0 == 0) {
0x00004b5c beqz v0, 0x4c18 | goto label_8;
| }
0x00004b60 nop |
0x00004b64 lw v0, 0x28(fp) | v0 = *(var_28h);
0x00004b68 lw v1, 0x14(v0) | v1 = *((v0 + 5));
0x00004b6c lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x00004b70 addu v0, v1, v0 | v0 = v1 + v0;
0x00004b74 lbu v0, (v0) | v0 = *(v0);
0x00004b78 sb v0, 0x30(fp) | *(var_30h) = v0;
0x00004b7c lbu v0, 0x30(fp) | v0 = *(var_30h);
0x00004b80 sltiu v0, v0, 0x20 | v0 = (v0 < 0x20) ? 1 : 0;
| if (v0 == 0) {
0x00004b84 bnez v0, 0x4bbc |
0x00004b88 nop |
0x00004b8c lbu v1, 0x30(fp) | v1 = *(var_30h);
0x00004b90 addiu v0, zero, 0x7f | v0 = 0x7f;
| if (v1 == v0) {
0x00004b94 beq v1, v0, 0x4bbc | goto label_9;
| }
0x00004b98 nop |
0x00004b9c lbu v0, 0x30(fp) | v0 = *(var_30h);
0x00004ba0 sltiu v0, v0, 0x81 | v0 = (v0 < 0x81) ? 1 : 0;
| if (v0 != 0) {
0x00004ba4 bnez v0, 0x4bd8 | goto label_10;
| }
0x00004ba8 nop |
0x00004bac lbu v0, 0x30(fp) | v0 = *(var_30h);
0x00004bb0 sltiu v0, v0, 0xa0 | v0 = (v0 < 0xa0) ? 1 : 0;
| if (v0 == 0) {
0x00004bb4 beqz v0, 0x4bd8 | goto label_10;
| }
0x00004bb8 nop |
| }
| label_9:
0x00004bbc lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x00004bc0 addiu v1, fp, 0x18 | v1 = fp + 0x18;
0x00004bc4 addu v0, v1, v0 | v0 = v1 + v0;
0x00004bc8 addiu v1, zero, 0x3f | v1 = 0x3f;
0x00004bcc sb v1, 0x20(v0) | *(var_38h) = v1;
0x00004bd0 b 0x4bec | goto label_11;
0x00004bd4 nop |
| label_10:
0x00004bd8 lb v1, 0x30(fp) | v1 = *(var_30h);
0x00004bdc lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x00004be0 addiu a0, fp, 0x18 | a0 = fp + 0x18;
0x00004be4 addu v0, a0, v0 | v0 = a0 + v0;
0x00004be8 sb v1, 0x20(v0) | *(var_38h) = v1;
| label_11:
0x00004bec lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x00004bf0 addiu v0, v0, 1 | v0++;
0x00004bf4 sw v0, 0x1c(fp) | *(var_1ch) = v0;
| label_7:
0x00004bf8 lw v0, 0x28(fp) | v0 = *(var_28h);
0x00004bfc lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x00004c00 lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x00004c04 sltu v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x00004c08 bnez v0, 0x4b54 |
| } while (v0 != 0);
0x00004c0c nop |
0x00004c10 b 0x4c1c | goto label_12;
0x00004c14 nop |
| label_8:
0x00004c18 nop |
| label_12:
0x00004c1c lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x00004c20 addiu v1, fp, 0x18 | v1 = fp + 0x18;
0x00004c24 addu v0, v1, v0 | v0 = v1 + v0;
0x00004c28 sb zero, 0x20(v0) | *(var_38h) = 0;
0x00004c2c addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00004c30 lw a0, 0x2c(fp) | a0 = *(var_2ch);
0x00004c34 lw a1, 0x20(fp) | a1 = *(var_20h);
0x00004c38 lw v1, -0x7fcc(gp) | v1 = *(gp);
| /* esilref: '&s' */
0x00004c3c addiu a2, v1, 0x78ac | a2 = v1 + 0x78ac;
0x00004c40 move a3, v0 | a3 = v0;
0x00004c44 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004c48 move t9, v0 | t9 = v0;
0x00004c4c jalr t9 | t9 ();
0x00004c50 nop |
0x00004c54 lw gp, 0x10(fp) | gp = *(var_10h);
0x00004c58 sw v0, 0x18(fp) | *(var_18h) = v0;
0x00004c5c lw v0, 0x18(fp) | v0 = *(var_18h);
| if (v0 >= 0) {
0x00004c60 bltz v0, 0x4c7c |
0x00004c64 nop |
0x00004c68 lw v1, 0x18(fp) | v1 = *(var_18h);
0x00004c6c lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004c70 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00004c74 bnez v0, 0x4c88 | goto label_13;
| }
0x00004c78 nop |
| }
0x00004c7c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00004c80 b 0x4cd8 | goto label_4;
0x00004c84 nop |
| label_13:
0x00004c88 lw v0, 0x18(fp) | v0 = *(var_18h);
0x00004c8c lw v1, 0x20(fp) | v1 = *(var_20h);
0x00004c90 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00004c94 sw v0, 0x20(fp) | *(var_20h) = v0;
0x00004c98 lw v0, 0x18(fp) | v0 = *(var_18h);
0x00004c9c lw v1, 0x2c(fp) | v1 = *(var_2ch);
0x00004ca0 addu v0, v1, v0 | v0 = v1 + v0;
0x00004ca4 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x00004ca8 lw v0, 0x28(fp) | v0 = *(var_28h);
0x00004cac lbu v0, 0x1c(v0) | v0 = *((v0 + 28));
0x00004cb0 sb v0, 0x24(fp) | *(var_24h) = v0;
0x00004cb4 lw v0, 0x28(fp) | v0 = *(var_28h);
0x00004cb8 lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x00004cbc sw v0, 0x28(fp) | *(var_28h) = v0;
| label_1:
0x00004cc0 lw v0, 0x28(fp) | v0 = *(var_28h);
| if (v0 != 0) {
0x00004cc4 bnez v0, 0x49a0 | goto label_0;
| }
0x00004cc8 nop |
0x00004ccc lw v1, 0x144(fp) | v1 = *(arg_144h);
0x00004cd0 lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004cd4 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
| label_4:
0x00004cd8 move sp, fp |
0x00004cdc lw ra, 0x13c(sp) | ra = *(var_13ch);
0x00004ce0 lw fp, 0x138(sp) | fp = *(var_138h);
0x00004ce4 addiu sp, sp, 0x140 |
0x00004ce8 jr ra | return v0;
0x00004cec nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0x51d0 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_key_size_helper () | void mbedtls_x509_key_size_helper () {
0x000051d0 lui gp, 3 |
0x000051d4 addiu gp, gp, -0x4a60 |
0x000051d8 addu gp, gp, t9 | gp += t9;
0x000051dc addiu sp, sp, -0x30 |
0x000051e0 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x000051e4 sw fp, 0x28(sp) | *(var_28h) = fp;
0x000051e8 move fp, sp | fp = sp;
0x000051ec sw gp, 0x10(sp) | *(var_10h) = gp;
0x000051f0 sw a0, 0x30(fp) | *(arg_30h) = a0;
0x000051f4 sw a1, 0x34(fp) | *(arg_34h) = a1;
0x000051f8 sw a2, 0x38(fp) | *(arg_38h) = a2;
0x000051fc lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00005200 sw v0, 0x18(fp) | *(var_18h) = v0;
0x00005204 lw v0, 0x34(fp) | v0 = *(arg_34h);
0x00005208 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000520c lw a0, 0x18(fp) | a0 = *(var_18h);
0x00005210 lw a1, 0x1c(fp) | a1 = *(var_1ch);
0x00005214 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._s_key_size */
0x00005218 addiu a2, v0, 0x78e4 | a2 = v0 + 0x78e4;
0x0000521c lw a3, 0x38(fp) | a3 = *(arg_38h);
0x00005220 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00005224 move t9, v0 | t9 = v0;
0x00005228 jalr t9 | t9 ();
0x0000522c nop |
0x00005230 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005234 sw v0, 0x20(fp) | *(var_20h) = v0;
0x00005238 lw v0, 0x20(fp) | v0 = *(var_20h);
| if (v0 >= 0) {
0x0000523c bltz v0, 0x5258 |
0x00005240 nop |
0x00005244 lw v1, 0x20(fp) | v1 = *(var_20h);
0x00005248 lw v0, 0x1c(fp) | v0 = *(var_1ch);
0x0000524c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00005250 bnez v0, 0x5264 | goto label_0;
| }
0x00005254 nop |
| }
0x00005258 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000525c b 0x5288 | goto label_1;
0x00005260 nop |
| label_0:
0x00005264 lw v0, 0x20(fp) | v0 = *(var_20h);
0x00005268 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000526c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00005270 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x00005274 lw v0, 0x20(fp) | v0 = *(var_20h);
0x00005278 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000527c addu v0, v1, v0 | v0 = v1 + v0;
0x00005280 sw v0, 0x18(fp) | *(var_18h) = v0;
0x00005284 move v0, zero | v0 = 0;
| label_1:
0x00005288 move sp, fp |
0x0000528c lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00005290 lw fp, 0x28(sp) | fp = *(var_28h);
0x00005294 addiu sp, sp, 0x30 |
0x00005298 jr ra | return v0;
0x0000529c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0x4cf0 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_serial_gets () | void mbedtls_x509_serial_gets () {
0x00004cf0 lui gp, 3 |
0x00004cf4 addiu gp, gp, -0x4580 |
0x00004cf8 addu gp, gp, t9 | gp += t9;
0x00004cfc addiu sp, sp, -0x40 |
0x00004d00 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00004d04 sw fp, 0x38(sp) | *(var_38h) = fp;
0x00004d08 move fp, sp | fp = sp;
0x00004d0c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00004d10 sw a0, 0x40(fp) | *(arg_40h) = a0;
0x00004d14 sw a1, 0x44(fp) | *(arg_44h) = a1;
0x00004d18 sw a2, 0x48(fp) | *(arg_48h) = a2;
0x00004d1c lw v0, 0x40(fp) | v0 = *(arg_40h);
0x00004d20 sw v0, 0x28(fp) | *(var_28h) = v0;
0x00004d24 lw v0, 0x44(fp) | v0 = *(arg_44h);
0x00004d28 sw v0, 0x24(fp) | *(var_24h) = v0;
0x00004d2c lw v0, 0x48(fp) | v0 = *(arg_48h);
0x00004d30 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00004d34 sltiu v0, v0, 0x21 | v0 = (v0 < 0x21) ? 1 : 0;
| if (v0 != 0) {
0x00004d38 beqz v0, 0x4d50 |
0x00004d3c nop |
0x00004d40 lw v0, 0x48(fp) | v0 = *(arg_48h);
0x00004d44 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00004d48 b 0x4d54 | goto label_0;
0x00004d4c nop |
| }
0x00004d50 addiu v0, zero, 0x1c | v0 = 0x1c;
| label_0:
0x00004d54 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x00004d58 sw zero, 0x20(fp) | *(var_20h) = 0;
0x00004d5c b 0x4e78 | goto label_1;
0x00004d60 nop |
| do {
0x00004d64 lw v0, 0x20(fp) | v0 = *(var_20h);
| if (v0 == 0) {
0x00004d68 bnez v0, 0x4d9c |
0x00004d6c nop |
0x00004d70 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x00004d74 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
| if (v0 != 0) {
0x00004d78 bnez v0, 0x4d9c | goto label_2;
| }
0x00004d7c nop |
0x00004d80 lw v0, 0x48(fp) | v0 = *(arg_48h);
0x00004d84 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00004d88 lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004d8c addu v0, v1, v0 | v0 = v1 + v0;
0x00004d90 lbu v0, (v0) | v0 = *(v0);
| if (v0 == 0) {
0x00004d94 beqz v0, 0x4e68 | goto label_3;
| }
0x00004d98 nop |
| }
| label_2:
0x00004d9c lw v0, 0x48(fp) | v0 = *(arg_48h);
0x00004da0 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00004da4 lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004da8 addu v0, v1, v0 | v0 = v1 + v0;
0x00004dac lbu v0, (v0) | v0 = *(v0);
0x00004db0 move v1, v0 | v1 = v0;
0x00004db4 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x00004db8 addiu a0, v0, -1 | a0 = v0 + -1;
0x00004dbc lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004dc0 sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
| if (v0 != 0) {
0x00004dc4 beqz v0, 0x4ddc |
0x00004dc8 nop |
0x00004dcc lw v0, -0x7fcc(gp) | v0 = *(gp);
0x00004dd0 addiu v0, v0, 0x78b0 | v0 += 0x78b0;
0x00004dd4 b 0x4de4 | goto label_4;
0x00004dd8 nop |
| }
0x00004ddc lw v0, -0x7fcc(gp) | v0 = *(gp);
0x00004de0 addiu v0, v0, 0x78b4 | v0 += 0x78b4;
| label_4:
0x00004de4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00004de8 lw a0, 0x28(fp) | a0 = *(var_28h);
0x00004dec lw a1, 0x24(fp) | a1 = *(var_24h);
0x00004df0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._02X_s */
0x00004df4 addiu a2, v0, 0x78b8 | a2 = v0 + 0x78b8;
0x00004df8 move a3, v1 | a3 = v1;
0x00004dfc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004e00 move t9, v0 | t9 = v0;
0x00004e04 jalr t9 | t9 ();
0x00004e08 nop |
0x00004e0c lw gp, 0x18(fp) | gp = *(var_18h);
0x00004e10 sw v0, 0x30(fp) | *(var_30h) = v0;
0x00004e14 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x00004e18 bltz v0, 0x4e34 |
0x00004e1c nop |
0x00004e20 lw v1, 0x30(fp) | v1 = *(var_30h);
0x00004e24 lw v0, 0x24(fp) | v0 = *(var_24h);
0x00004e28 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00004e2c bnez v0, 0x4e40 | goto label_5;
| }
0x00004e30 nop |
| }
0x00004e34 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00004e38 b 0x4f20 | goto label_6;
0x00004e3c nop |
| label_5:
0x00004e40 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00004e44 lw v1, 0x24(fp) | v1 = *(var_24h);
0x00004e48 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00004e4c sw v0, 0x24(fp) | *(var_24h) = v0;
0x00004e50 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00004e54 lw v1, 0x28(fp) | v1 = *(var_28h);
0x00004e58 addu v0, v1, v0 | v0 = v1 + v0;
0x00004e5c sw v0, 0x28(fp) | *(var_28h) = v0;
0x00004e60 b 0x4e6c | goto label_7;
0x00004e64 nop |
| label_3:
0x00004e68 nop |
| label_7:
0x00004e6c lw v0, 0x20(fp) | v0 = *(var_20h);
0x00004e70 addiu v0, v0, 1 | v0++;
0x00004e74 sw v0, 0x20(fp) | *(var_20h) = v0;
| label_1:
0x00004e78 lw v1, 0x20(fp) | v1 = *(var_20h);
0x00004e7c lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x00004e80 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x00004e84 bnez v0, 0x4d64 |
| } while (v0 != 0);
0x00004e88 nop |
0x00004e8c lw v0, 0x48(fp) | v0 = *(arg_48h);
0x00004e90 lw v1, 4(v0) | v1 = *((v0 + 1));
0x00004e94 lw v0, 0x2c(fp) | v0 = *(var_2ch);
| if (v1 != v0) {
0x00004e98 beq v1, v0, 0x4f14 |
0x00004e9c nop |
0x00004ea0 lw a0, 0x28(fp) | a0 = *(var_28h);
0x00004ea4 lw a1, 0x24(fp) | a1 = *(var_24h);
0x00004ea8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str..... */
0x00004eac addiu a2, v0, 0x78c0 | a2 = v0 + 0x78c0;
0x00004eb0 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004eb4 move t9, v0 | t9 = v0;
0x00004eb8 jalr t9 | t9 ();
0x00004ebc nop |
0x00004ec0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00004ec4 sw v0, 0x30(fp) | *(var_30h) = v0;
0x00004ec8 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x00004ecc bltz v0, 0x4ee8 |
0x00004ed0 nop |
0x00004ed4 lw v1, 0x30(fp) | v1 = *(var_30h);
0x00004ed8 lw v0, 0x24(fp) | v0 = *(var_24h);
0x00004edc sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00004ee0 bnez v0, 0x4ef4 | goto label_8;
| }
0x00004ee4 nop |
| }
0x00004ee8 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00004eec b 0x4f20 | goto label_6;
0x00004ef0 nop |
| label_8:
0x00004ef4 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00004ef8 lw v1, 0x24(fp) | v1 = *(var_24h);
0x00004efc subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00004f00 sw v0, 0x24(fp) | *(var_24h) = v0;
0x00004f04 lw v0, 0x30(fp) | v0 = *(var_30h);
0x00004f08 lw v1, 0x28(fp) | v1 = *(var_28h);
0x00004f0c addu v0, v1, v0 | v0 = v1 + v0;
0x00004f10 sw v0, 0x28(fp) | *(var_28h) = v0;
| }
0x00004f14 lw v1, 0x44(fp) | v1 = *(arg_44h);
0x00004f18 lw v0, 0x24(fp) | v0 = *(var_24h);
0x00004f1c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
| label_6:
0x00004f20 move sp, fp |
0x00004f24 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00004f28 lw fp, 0x38(sp) | fp = *(var_38h);
0x00004f2c addiu sp, sp, 0x40 |
0x00004f30 jr ra | return v0;
0x00004f34 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0x4f38 */
| #include <stdint.h>
|
; (fcn) sym.mbedtls_x509_sig_alg_gets () | void mbedtls_x509_sig_alg_gets () {
0x00004f38 lui gp, 3 |
0x00004f3c addiu gp, gp, -0x47c8 |
0x00004f40 addu gp, gp, t9 | gp += t9;
0x00004f44 addiu sp, sp, -0x50 |
0x00004f48 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x00004f4c sw fp, 0x48(sp) | *(var_48h) = fp;
0x00004f50 sw s0, 0x44(sp) | *(var_44h) = s0;
0x00004f54 move fp, sp | fp = sp;
0x00004f58 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00004f5c sw a0, 0x50(fp) | *(arg_50h) = a0;
0x00004f60 sw a1, 0x54(fp) | *(arg_54h) = a1;
0x00004f64 sw a2, 0x58(fp) | *(arg_58h) = a2;
0x00004f68 sw a3, 0x5c(fp) | *(arg_5ch) = a3;
0x00004f6c lw v0, 0x50(fp) | v0 = *(arg_50h);
0x00004f70 sw v0, 0x28(fp) | *(var_28h) = v0;
0x00004f74 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00004f78 sw v0, 0x24(fp) | *(var_24h) = v0;
0x00004f7c sw zero, 0x38(fp) | *(var_38h) = 0;
0x00004f80 addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00004f84 lw a0, 0x58(fp) | a0 = *(arg_58h);
0x00004f88 move a1, v0 | a1 = v0;
0x00004f8c lw v0, -0x7f2c(gp) | v0 = sym.imp.mbedtls_oid_get_sig_alg_desc;
0x00004f90 move t9, v0 | t9 = v0;
0x00004f94 jalr t9 | t9 ();
0x00004f98 nop |
0x00004f9c lw gp, 0x18(fp) | gp = *(var_18h);
0x00004fa0 sw v0, 0x20(fp) | *(var_20h) = v0;
0x00004fa4 lw v0, 0x20(fp) | v0 = *(var_20h);
| if (v0 != 0) {
0x00004fa8 beqz v0, 0x4fe0 |
0x00004fac nop |
0x00004fb0 lw a0, 0x28(fp) | a0 = *(var_28h);
0x00004fb4 lw a1, 0x24(fp) | a1 = *(var_24h);
0x00004fb8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: '???' */
0x00004fbc addiu a2, v0, 0x78c8 | a2 = v0 + 0x78c8;
0x00004fc0 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004fc4 move t9, v0 | t9 = v0;
0x00004fc8 jalr t9 | t9 ();
0x00004fcc nop |
0x00004fd0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00004fd4 sw v0, 0x20(fp) | *(var_20h) = v0;
0x00004fd8 b 0x5010 | goto label_0;
0x00004fdc nop |
| }
0x00004fe0 lw v0, 0x38(fp) | v0 = *(var_38h);
0x00004fe4 lw a0, 0x28(fp) | a0 = *(var_28h);
0x00004fe8 lw a1, 0x24(fp) | a1 = *(var_24h);
0x00004fec lw v1, -0x7fcc(gp) | v1 = *(gp);
| /* esilref: '&s' */
0x00004ff0 addiu a2, v1, 0x78ac | a2 = v1 + 0x78ac;
0x00004ff4 move a3, v0 | a3 = v0;
0x00004ff8 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00004ffc move t9, v0 | t9 = v0;
0x00005000 jalr t9 | t9 ();
0x00005004 nop |
0x00005008 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000500c sw v0, 0x20(fp) | *(var_20h) = v0;
| label_0:
0x00005010 lw v0, 0x20(fp) | v0 = *(var_20h);
| if (v0 >= 0) {
0x00005014 bltz v0, 0x5030 |
0x00005018 nop |
0x0000501c lw v1, 0x20(fp) | v1 = *(var_20h);
0x00005020 lw v0, 0x24(fp) | v0 = *(var_24h);
0x00005024 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00005028 bnez v0, 0x503c | goto label_1;
| }
0x0000502c nop |
| }
0x00005030 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00005034 b 0x51b4 | goto label_2;
0x00005038 nop |
| label_1:
0x0000503c lw v0, 0x20(fp) | v0 = *(var_20h);
0x00005040 lw v1, 0x24(fp) | v1 = *(var_24h);
0x00005044 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00005048 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000504c lw v0, 0x20(fp) | v0 = *(var_20h);
0x00005050 lw v1, 0x28(fp) | v1 = *(var_28h);
0x00005054 addu v0, v1, v0 | v0 = v1 + v0;
0x00005058 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000505c lw v1, 0x5c(fp) | v1 = *(arg_5ch);
0x00005060 addiu v0, zero, 6 | v0 = 6;
| if (v1 == v0) {
0x00005064 bne v1, v0, 0x51a8 |
0x00005068 nop |
0x0000506c lw v0, 0x64(fp) | v0 = *(arg_64h);
0x00005070 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x00005074 lw a0, 0x60(fp) | a0 = *(arg_60h);
0x00005078 lw v0, -0x7fb8(gp) | v0 = sym.imp.mbedtls_md_info_from_type;
0x0000507c move t9, v0 | t9 = v0;
0x00005080 jalr t9 | t9 ();
0x00005084 nop |
0x00005088 lw gp, 0x18(fp) | gp = *(var_18h);
0x0000508c sw v0, 0x30(fp) | *(var_30h) = v0;
0x00005090 lw v0, 0x2c(fp) | v0 = *(var_2ch);
0x00005094 lw v0, (v0) | v0 = *(v0);
0x00005098 move a0, v0 | a0 = v0;
0x0000509c lw v0, -0x7fb8(gp) | v0 = sym.imp.mbedtls_md_info_from_type;
0x000050a0 move t9, v0 | t9 = v0;
0x000050a4 jalr t9 | t9 ();
0x000050a8 nop |
0x000050ac lw gp, 0x18(fp) | gp = *(var_18h);
0x000050b0 sw v0, 0x34(fp) | *(var_34h) = v0;
0x000050b4 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 != 0) {
0x000050b8 beqz v0, 0x50e4 |
0x000050bc nop |
0x000050c0 lw a0, 0x30(fp) | a0 = *(var_30h);
0x000050c4 lw v0, -0x7e80(gp) | v0 = sym.imp.mbedtls_md_get_name;
0x000050c8 move t9, v0 | t9 = v0;
0x000050cc jalr t9 | t9 ();
0x000050d0 nop |
0x000050d4 lw gp, 0x18(fp) | gp = *(var_18h);
0x000050d8 move s0, v0 | s0 = v0;
0x000050dc b 0x50ec | goto label_3;
0x000050e0 nop |
| }
0x000050e4 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: '???' */
0x000050e8 addiu s0, v0, 0x78c8 | s0 = v0 + 0x78c8;
| label_3:
0x000050ec lw v0, 0x34(fp) | v0 = *(var_34h);
| if (v0 != 0) {
0x000050f0 beqz v0, 0x5118 |
0x000050f4 nop |
0x000050f8 lw a0, 0x34(fp) | a0 = *(var_34h);
0x000050fc lw v0, -0x7e80(gp) | v0 = sym.imp.mbedtls_md_get_name;
0x00005100 move t9, v0 | t9 = v0;
0x00005104 jalr t9 | t9 ();
0x00005108 nop |
0x0000510c lw gp, 0x18(fp) | gp = *(var_18h);
0x00005110 b 0x5120 | goto label_4;
0x00005114 nop |
| }
0x00005118 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: '???' */
0x0000511c addiu v0, v0, 0x78c8 | v0 += 0x78c8;
| label_4:
0x00005120 lw v1, 0x2c(fp) | v1 = *(var_2ch);
0x00005124 lw v1, 4(v1) | v1 = *((v1 + 1));
0x00005128 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000512c sw v1, 0x14(sp) | *(var_14h) = v1;
0x00005130 lw a0, 0x28(fp) | a0 = *(var_28h);
0x00005134 lw a1, 0x24(fp) | a1 = *(var_24h);
0x00005138 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str.___s__MGF1__s__0x_02X_ */
0x0000513c addiu a2, v0, 0x78cc | a2 = v0 + 0x78cc;
0x00005140 move a3, s0 | a3 = s0;
0x00005144 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x00005148 move t9, v0 | t9 = v0;
0x0000514c jalr t9 | t9 ();
0x00005150 nop |
0x00005154 lw gp, 0x18(fp) | gp = *(var_18h);
0x00005158 sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000515c lw v0, 0x20(fp) | v0 = *(var_20h);
| if (v0 >= 0) {
0x00005160 bltz v0, 0x517c |
0x00005164 nop |
0x00005168 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000516c lw v0, 0x24(fp) | v0 = *(var_24h);
0x00005170 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00005174 bnez v0, 0x5188 | goto label_5;
| }
0x00005178 nop |
| }
0x0000517c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x00005180 b 0x51b4 | goto label_2;
0x00005184 nop |
| label_5:
0x00005188 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000518c lw v1, 0x24(fp) | v1 = *(var_24h);
0x00005190 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x00005194 sw v0, 0x24(fp) | *(var_24h) = v0;
0x00005198 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000519c lw v1, 0x28(fp) | v1 = *(var_28h);
0x000051a0 addu v0, v1, v0 | v0 = v1 + v0;
0x000051a4 sw v0, 0x28(fp) | *(var_28h) = v0;
| }
0x000051a8 lw v1, 0x54(fp) | v1 = *(arg_54h);
0x000051ac lw v0, 0x24(fp) | v0 = *(var_24h);
0x000051b0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
| label_2:
0x000051b4 move sp, fp |
0x000051b8 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x000051bc lw fp, 0x48(sp) | fp = *(var_48h);
0x000051c0 lw s0, 0x44(sp) | s0 = *(var_44h);
0x000051c4 addiu sp, sp, 0x50 |
0x000051c8 jr ra | return v0;
0x000051cc nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0xae3c */
| #include <stdint.h>
|
; (fcn) sym.x509_info_cert_type () | void x509_info_cert_type () {
0x0000ae3c lui gp, 2 |
0x0000ae40 addiu gp, gp, 0x5934 |
0x0000ae44 addu gp, gp, t9 | gp += t9;
0x0000ae48 addiu sp, sp, -0x30 |
0x0000ae4c sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0000ae50 sw fp, 0x28(sp) | *(var_28h) = fp;
0x0000ae54 move fp, sp | fp = sp;
0x0000ae58 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0000ae5c sw a0, 0x30(fp) | *(arg_30h) = a0;
0x0000ae60 sw a1, 0x34(fp) | *(arg_34h) = a1;
0x0000ae64 move v0, a2 | v0 = a2;
0x0000ae68 sb v0, 0x38(fp) | *(arg_38h) = v0;
0x0000ae6c lw v0, 0x34(fp) | v0 = *(arg_34h);
0x0000ae70 lw v0, (v0) | v0 = *(v0);
0x0000ae74 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000ae78 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x0000ae7c lw v0, (v0) | v0 = *(v0);
0x0000ae80 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000ae84 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000ae88 addiu v0, v0, 0x7c80 | v0 += 0x7c80;
0x0000ae8c sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000ae90 lb v0, 0x38(fp) | v0 = *(arg_38h);
| if (v0 < 0) {
0x0000ae94 bgez v0, 0xaf20 |
0x0000ae98 nop |
0x0000ae9c lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000aea0 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000aea4 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sSSL_Client */
0x0000aea8 addiu a2, v0, 0x7c88 | a2 = v0 + 0x7c88;
0x0000aeac lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000aeb0 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000aeb4 move t9, v0 | t9 = v0;
0x0000aeb8 jalr t9 | t9 ();
0x0000aebc nop |
0x0000aec0 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000aec4 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000aec8 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000aecc bltz v0, 0xaee8 |
0x0000aed0 nop |
0x0000aed4 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000aed8 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000aedc sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000aee0 bnez v0, 0xaef4 | goto label_0;
| }
0x0000aee4 nop |
| }
0x0000aee8 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000aeec b 0xb348 | goto label_1;
0x0000aef0 nop |
| label_0:
0x0000aef4 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000aef8 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000aefc subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000af00 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000af04 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000af08 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000af0c addu v0, v1, v0 | v0 = v1 + v0;
0x0000af10 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000af14 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000af18 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000af1c sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000af20 lbu v0, 0x38(fp) | v0 = *(arg_38h);
0x0000af24 andi v0, v0, 0x40 | v0 &= 0x40;
| if (v0 != 0) {
0x0000af28 beqz v0, 0xafb4 |
0x0000af2c nop |
0x0000af30 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000af34 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000af38 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sSSL_Server */
0x0000af3c addiu a2, v0, 0x7c98 | a2 = v0 + 0x7c98;
0x0000af40 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000af44 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000af48 move t9, v0 | t9 = v0;
0x0000af4c jalr t9 | t9 ();
0x0000af50 nop |
0x0000af54 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000af58 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000af5c lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000af60 bltz v0, 0xaf7c |
0x0000af64 nop |
0x0000af68 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000af6c lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000af70 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000af74 bnez v0, 0xaf88 | goto label_2;
| }
0x0000af78 nop |
| }
0x0000af7c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000af80 b 0xb348 | goto label_1;
0x0000af84 nop |
| label_2:
0x0000af88 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000af8c lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000af90 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000af94 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000af98 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000af9c lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000afa0 addu v0, v1, v0 | v0 = v1 + v0;
0x0000afa4 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000afa8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000afac addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000afb0 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000afb4 lbu v0, 0x38(fp) | v0 = *(arg_38h);
0x0000afb8 andi v0, v0, 0x20 | v0 &= 0x20;
| if (v0 != 0) {
0x0000afbc beqz v0, 0xb048 |
0x0000afc0 nop |
0x0000afc4 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000afc8 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000afcc lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sEmail */
0x0000afd0 addiu a2, v0, 0x7ca8 | a2 = v0 + 0x7ca8;
0x0000afd4 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000afd8 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000afdc move t9, v0 | t9 = v0;
0x0000afe0 jalr t9 | t9 ();
0x0000afe4 nop |
0x0000afe8 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000afec sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000aff0 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000aff4 bltz v0, 0xb010 |
0x0000aff8 nop |
0x0000affc lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b000 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b004 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b008 bnez v0, 0xb01c | goto label_3;
| }
0x0000b00c nop |
| }
0x0000b010 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b014 b 0xb348 | goto label_1;
0x0000b018 nop |
| label_3:
0x0000b01c lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b020 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b024 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b028 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b02c lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b030 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b034 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b038 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b03c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b040 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b044 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b048 lbu v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b04c andi v0, v0, 0x10 | v0 &= 0x10;
| if (v0 != 0) {
0x0000b050 beqz v0, 0xb0dc |
0x0000b054 nop |
0x0000b058 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b05c lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b060 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sObject_Signing */
0x0000b064 addiu a2, v0, 0x7cb0 | a2 = v0 + 0x7cb0;
0x0000b068 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b06c lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b070 move t9, v0 | t9 = v0;
0x0000b074 jalr t9 | t9 ();
0x0000b078 nop |
0x0000b07c lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b080 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b084 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b088 bltz v0, 0xb0a4 |
0x0000b08c nop |
0x0000b090 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b094 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b098 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b09c bnez v0, 0xb0b0 | goto label_4;
| }
0x0000b0a0 nop |
| }
0x0000b0a4 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b0a8 b 0xb348 | goto label_1;
0x0000b0ac nop |
| label_4:
0x0000b0b0 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b0b4 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b0b8 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b0bc sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b0c0 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b0c4 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b0c8 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b0cc sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b0d0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b0d4 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b0d8 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b0dc lbu v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b0e0 andi v0, v0, 8 | v0 &= 8;
| if (v0 != 0) {
0x0000b0e4 beqz v0, 0xb170 |
0x0000b0e8 nop |
0x0000b0ec lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b0f0 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b0f4 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sReserved */
0x0000b0f8 addiu a2, v0, 0x7cc4 | a2 = v0 + 0x7cc4;
0x0000b0fc lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b100 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b104 move t9, v0 | t9 = v0;
0x0000b108 jalr t9 | t9 ();
0x0000b10c nop |
0x0000b110 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b114 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b118 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b11c bltz v0, 0xb138 |
0x0000b120 nop |
0x0000b124 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b128 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b12c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b130 bnez v0, 0xb144 | goto label_5;
| }
0x0000b134 nop |
| }
0x0000b138 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b13c b 0xb348 | goto label_1;
0x0000b140 nop |
| label_5:
0x0000b144 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b148 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b14c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b150 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b154 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b158 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b15c addu v0, v1, v0 | v0 = v1 + v0;
0x0000b160 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b164 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b168 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b16c sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b170 lbu v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b174 andi v0, v0, 4 | v0 &= 4;
| if (v0 != 0) {
0x0000b178 beqz v0, 0xb204 |
0x0000b17c nop |
0x0000b180 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b184 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b188 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sSSL_CA */
0x0000b18c addiu a2, v0, 0x7cd0 | a2 = v0 + 0x7cd0;
0x0000b190 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b194 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b198 move t9, v0 | t9 = v0;
0x0000b19c jalr t9 | t9 ();
0x0000b1a0 nop |
0x0000b1a4 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b1a8 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b1ac lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b1b0 bltz v0, 0xb1cc |
0x0000b1b4 nop |
0x0000b1b8 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b1bc lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b1c0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b1c4 bnez v0, 0xb1d8 | goto label_6;
| }
0x0000b1c8 nop |
| }
0x0000b1cc addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b1d0 b 0xb348 | goto label_1;
0x0000b1d4 nop |
| label_6:
0x0000b1d8 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b1dc lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b1e0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b1e4 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b1e8 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b1ec lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b1f0 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b1f4 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b1f8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b1fc addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b200 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b204 lbu v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b208 andi v0, v0, 2 | v0 &= 2;
| if (v0 != 0) {
0x0000b20c beqz v0, 0xb298 |
0x0000b210 nop |
0x0000b214 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b218 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b21c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sEmail_CA */
0x0000b220 addiu a2, v0, 0x7cdc | a2 = v0 + 0x7cdc;
0x0000b224 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b228 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b22c move t9, v0 | t9 = v0;
0x0000b230 jalr t9 | t9 ();
0x0000b234 nop |
0x0000b238 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b23c sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b240 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b244 bltz v0, 0xb260 |
0x0000b248 nop |
0x0000b24c lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b250 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b254 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b258 bnez v0, 0xb26c | goto label_7;
| }
0x0000b25c nop |
| }
0x0000b260 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b264 b 0xb348 | goto label_1;
0x0000b268 nop |
| label_7:
0x0000b26c lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b270 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b274 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b278 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b27c lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b280 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b284 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b288 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b28c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b290 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b294 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b298 lbu v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b29c andi v0, v0, 1 | v0 &= 1;
| if (v0 != 0) {
0x0000b2a0 beqz v0, 0xb32c |
0x0000b2a4 nop |
0x0000b2a8 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b2ac lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b2b0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sObject_Signing_CA */
0x0000b2b4 addiu a2, v0, 0x7ce8 | a2 = v0 + 0x7ce8;
0x0000b2b8 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b2bc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b2c0 move t9, v0 | t9 = v0;
0x0000b2c4 jalr t9 | t9 ();
0x0000b2c8 nop |
0x0000b2cc lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b2d0 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b2d4 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b2d8 bltz v0, 0xb2f4 |
0x0000b2dc nop |
0x0000b2e0 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b2e4 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b2e8 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b2ec bnez v0, 0xb300 | goto label_8;
| }
0x0000b2f0 nop |
| }
0x0000b2f4 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b2f8 b 0xb348 | goto label_1;
0x0000b2fc nop |
| label_8:
0x0000b300 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b304 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b308 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b30c sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b310 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b314 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b318 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b31c sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b320 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b324 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b328 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b32c lw v0, 0x34(fp) | v0 = *(arg_34h);
0x0000b330 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b334 sw v1, (v0) | *(v0) = v1;
0x0000b338 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x0000b33c lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b340 sw v1, (v0) | *(v0) = v1;
0x0000b344 move v0, zero | v0 = 0;
| label_1:
0x0000b348 move sp, fp |
0x0000b34c lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0000b350 lw fp, 0x28(sp) | fp = *(var_28h);
0x0000b354 addiu sp, sp, 0x30 |
0x0000b358 jr ra | return v0;
0x0000b35c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0xb918 */
| #include <stdint.h>
|
; (fcn) sym.x509_info_ext_key_usage () | void x509_info_ext_key_usage () {
0x0000b918 lui gp, 2 |
0x0000b91c addiu gp, gp, 0x4e58 |
0x0000b920 addu gp, gp, t9 | gp += t9;
0x0000b924 addiu sp, sp, -0x40 |
0x0000b928 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0000b92c sw fp, 0x38(sp) | *(var_38h) = fp;
0x0000b930 move fp, sp | fp = sp;
0x0000b934 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000b938 sw a0, 0x40(fp) | *(arg_40h) = a0;
0x0000b93c sw a1, 0x44(fp) | *(arg_44h) = a1;
0x0000b940 sw a2, 0x48(fp) | *(arg_48h) = a2;
0x0000b944 lw v0, 0x44(fp) | v0 = *(arg_44h);
0x0000b948 lw v0, (v0) | v0 = *(v0);
0x0000b94c sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000b950 lw v0, 0x40(fp) | v0 = *(arg_40h);
0x0000b954 lw v0, (v0) | v0 = *(v0);
0x0000b958 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b95c lw v0, 0x48(fp) | v0 = *(arg_48h);
0x0000b960 sw v0, 0x28(fp) | *(var_28h) = v0;
0x0000b964 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000b968 addiu v0, v0, 0x7c80 | v0 += 0x7c80;
0x0000b96c sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x0000b970 b 0xba48 | goto label_0;
0x0000b974 nop |
| do {
0x0000b978 lw v1, 0x28(fp) | v1 = *(var_28h);
0x0000b97c addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x0000b980 move a0, v1 | a0 = v1;
0x0000b984 move a1, v0 | a1 = v0;
0x0000b988 lw v0, -0x7e00(gp) | v0 = sym.imp.mbedtls_oid_get_extended_key_usage;
0x0000b98c move t9, v0 | t9 = v0;
0x0000b990 jalr t9 | t9 ();
0x0000b994 nop |
0x0000b998 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000b99c beqz v0, 0xb9b0 |
0x0000b9a0 nop |
0x0000b9a4 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: '???' */
0x0000b9a8 addiu v0, v0, 0x7d98 | v0 += 0x7d98;
0x0000b9ac sw v0, 0x34(fp) | *(var_34h) = v0;
| }
0x0000b9b0 lw v0, 0x34(fp) | v0 = *(var_34h);
0x0000b9b4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000b9b8 lw a0, 0x24(fp) | a0 = *(var_24h);
0x0000b9bc lw a1, 0x20(fp) | a1 = *(var_20h);
0x0000b9c0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._s_s */
0x0000b9c4 addiu a2, v0, 0x7d9c | a2 = v0 + 0x7d9c;
0x0000b9c8 lw a3, 0x2c(fp) | a3 = *(var_2ch);
0x0000b9cc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b9d0 move t9, v0 | t9 = v0;
0x0000b9d4 jalr t9 | t9 ();
0x0000b9d8 nop |
0x0000b9dc lw gp, 0x18(fp) | gp = *(var_18h);
0x0000b9e0 sw v0, 0x30(fp) | *(var_30h) = v0;
0x0000b9e4 lw v0, 0x30(fp) | v0 = *(var_30h);
| if (v0 >= 0) {
0x0000b9e8 bltz v0, 0xba04 |
0x0000b9ec nop |
0x0000b9f0 lw v1, 0x30(fp) | v1 = *(var_30h);
0x0000b9f4 lw v0, 0x20(fp) | v0 = *(var_20h);
0x0000b9f8 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b9fc bnez v0, 0xba10 | goto label_1;
| }
0x0000ba00 nop |
| }
0x0000ba04 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000ba08 b 0xba70 | goto label_2;
0x0000ba0c nop |
| label_1:
0x0000ba10 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000ba14 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000ba18 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000ba1c sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000ba20 lw v0, 0x30(fp) | v0 = *(var_30h);
0x0000ba24 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000ba28 addu v0, v1, v0 | v0 = v1 + v0;
0x0000ba2c sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000ba30 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000ba34 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000ba38 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x0000ba3c lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000ba40 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x0000ba44 sw v0, 0x28(fp) | *(var_28h) = v0;
| label_0:
0x0000ba48 lw v0, 0x28(fp) | v0 = *(var_28h);
0x0000ba4c bnez v0, 0xb978 |
| } while (v0 != 0);
0x0000ba50 nop |
0x0000ba54 lw v0, 0x44(fp) | v0 = *(arg_44h);
0x0000ba58 lw v1, 0x20(fp) | v1 = *(var_20h);
0x0000ba5c sw v1, (v0) | *(v0) = v1;
0x0000ba60 lw v0, 0x40(fp) | v0 = *(arg_40h);
0x0000ba64 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000ba68 sw v1, (v0) | *(v0) = v1;
0x0000ba6c move v0, zero | v0 = 0;
| label_2:
0x0000ba70 move sp, fp |
0x0000ba74 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0000ba78 lw fp, 0x38(sp) | fp = *(var_38h);
0x0000ba7c addiu sp, sp, 0x40 |
0x0000ba80 jr ra | return v0;
0x0000ba84 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/thirdlib/libmbedx509.so.0 @ 0xb360 */
| #include <stdint.h>
|
; (fcn) sym.x509_info_key_usage () | void x509_info_key_usage () {
0x0000b360 lui gp, 2 |
0x0000b364 addiu gp, gp, 0x5410 |
0x0000b368 addu gp, gp, t9 | gp += t9;
0x0000b36c addiu sp, sp, -0x30 |
0x0000b370 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0000b374 sw fp, 0x28(sp) | *(var_28h) = fp;
0x0000b378 move fp, sp | fp = sp;
0x0000b37c sw gp, 0x10(sp) | *(var_10h) = gp;
0x0000b380 sw a0, 0x30(fp) | *(arg_30h) = a0;
0x0000b384 sw a1, 0x34(fp) | *(arg_34h) = a1;
0x0000b388 sw a2, 0x38(fp) | *(arg_38h) = a2;
0x0000b38c lw v0, 0x34(fp) | v0 = *(arg_34h);
0x0000b390 lw v0, (v0) | v0 = *(v0);
0x0000b394 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b398 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x0000b39c lw v0, (v0) | v0 = *(v0);
0x0000b3a0 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b3a4 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000b3a8 addiu v0, v0, 0x7c80 | v0 += 0x7c80;
0x0000b3ac sw v0, 0x20(fp) | *(var_20h) = v0;
0x0000b3b0 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b3b4 andi v0, v0, 0x80 | v0 &= 0x80;
| if (v0 != 0) {
0x0000b3b8 beqz v0, 0xb444 |
0x0000b3bc nop |
0x0000b3c0 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b3c4 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b3c8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sDigital_Signature */
0x0000b3cc addiu a2, v0, 0x7cfc | a2 = v0 + 0x7cfc;
0x0000b3d0 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b3d4 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b3d8 move t9, v0 | t9 = v0;
0x0000b3dc jalr t9 | t9 ();
0x0000b3e0 nop |
0x0000b3e4 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b3e8 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b3ec lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b3f0 bltz v0, 0xb40c |
0x0000b3f4 nop |
0x0000b3f8 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b3fc lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b400 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b404 bnez v0, 0xb418 | goto label_0;
| }
0x0000b408 nop |
| }
0x0000b40c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b410 b 0xb900 | goto label_1;
0x0000b414 nop |
| label_0:
0x0000b418 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b41c lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b420 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b424 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b428 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b42c lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b430 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b434 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b438 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b43c addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b440 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b444 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b448 andi v0, v0, 0x40 | v0 &= 0x40;
| if (v0 != 0) {
0x0000b44c beqz v0, 0xb4d8 |
0x0000b450 nop |
0x0000b454 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b458 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b45c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sNon_Repudiation */
0x0000b460 addiu a2, v0, 0x7d10 | a2 = v0 + 0x7d10;
0x0000b464 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b468 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b46c move t9, v0 | t9 = v0;
0x0000b470 jalr t9 | t9 ();
0x0000b474 nop |
0x0000b478 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b47c sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b480 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b484 bltz v0, 0xb4a0 |
0x0000b488 nop |
0x0000b48c lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b490 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b494 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b498 bnez v0, 0xb4ac | goto label_2;
| }
0x0000b49c nop |
| }
0x0000b4a0 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b4a4 b 0xb900 | goto label_1;
0x0000b4a8 nop |
| label_2:
0x0000b4ac lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b4b0 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b4b4 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b4b8 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b4bc lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b4c0 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b4c4 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b4c8 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b4cc lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b4d0 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b4d4 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b4d8 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b4dc andi v0, v0, 0x20 | v0 &= 0x20;
| if (v0 != 0) {
0x0000b4e0 beqz v0, 0xb56c |
0x0000b4e4 nop |
0x0000b4e8 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b4ec lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b4f0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sKey_Encipherment */
0x0000b4f4 addiu a2, v0, 0x7d24 | a2 = v0 + 0x7d24;
0x0000b4f8 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b4fc lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b500 move t9, v0 | t9 = v0;
0x0000b504 jalr t9 | t9 ();
0x0000b508 nop |
0x0000b50c lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b510 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b514 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b518 bltz v0, 0xb534 |
0x0000b51c nop |
0x0000b520 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b524 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b528 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b52c bnez v0, 0xb540 | goto label_3;
| }
0x0000b530 nop |
| }
0x0000b534 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b538 b 0xb900 | goto label_1;
0x0000b53c nop |
| label_3:
0x0000b540 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b544 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b548 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b54c sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b550 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b554 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b558 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b55c sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b560 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b564 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b568 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b56c lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b570 andi v0, v0, 0x10 | v0 &= 0x10;
| if (v0 != 0) {
0x0000b574 beqz v0, 0xb600 |
0x0000b578 nop |
0x0000b57c lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b580 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b584 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sData_Encipherment */
0x0000b588 addiu a2, v0, 0x7d38 | a2 = v0 + 0x7d38;
0x0000b58c lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b590 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b594 move t9, v0 | t9 = v0;
0x0000b598 jalr t9 | t9 ();
0x0000b59c nop |
0x0000b5a0 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b5a4 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b5a8 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b5ac bltz v0, 0xb5c8 |
0x0000b5b0 nop |
0x0000b5b4 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b5b8 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b5bc sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b5c0 bnez v0, 0xb5d4 | goto label_4;
| }
0x0000b5c4 nop |
| }
0x0000b5c8 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b5cc b 0xb900 | goto label_1;
0x0000b5d0 nop |
| label_4:
0x0000b5d4 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b5d8 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b5dc subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b5e0 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b5e4 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b5e8 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b5ec addu v0, v1, v0 | v0 = v1 + v0;
0x0000b5f0 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b5f4 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b5f8 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b5fc sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b600 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b604 andi v0, v0, 8 | v0 &= 8;
| if (v0 != 0) {
0x0000b608 beqz v0, 0xb694 |
0x0000b60c nop |
0x0000b610 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b614 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b618 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sKey_Agreement */
0x0000b61c addiu a2, v0, 0x7d4c | a2 = v0 + 0x7d4c;
0x0000b620 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b624 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b628 move t9, v0 | t9 = v0;
0x0000b62c jalr t9 | t9 ();
0x0000b630 nop |
0x0000b634 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b638 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b63c lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b640 bltz v0, 0xb65c |
0x0000b644 nop |
0x0000b648 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b64c lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b650 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b654 bnez v0, 0xb668 | goto label_5;
| }
0x0000b658 nop |
| }
0x0000b65c addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b660 b 0xb900 | goto label_1;
0x0000b664 nop |
| label_5:
0x0000b668 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b66c lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b670 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b674 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b678 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b67c lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b680 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b684 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b688 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b68c addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b690 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b694 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b698 andi v0, v0, 4 | v0 &= 4;
| if (v0 != 0) {
0x0000b69c beqz v0, 0xb728 |
0x0000b6a0 nop |
0x0000b6a4 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b6a8 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b6ac lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sKey_Cert_Sign */
0x0000b6b0 addiu a2, v0, 0x7d5c | a2 = v0 + 0x7d5c;
0x0000b6b4 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b6b8 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b6bc move t9, v0 | t9 = v0;
0x0000b6c0 jalr t9 | t9 ();
0x0000b6c4 nop |
0x0000b6c8 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b6cc sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b6d0 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b6d4 bltz v0, 0xb6f0 |
0x0000b6d8 nop |
0x0000b6dc lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b6e0 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b6e4 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b6e8 bnez v0, 0xb6fc | goto label_6;
| }
0x0000b6ec nop |
| }
0x0000b6f0 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b6f4 b 0xb900 | goto label_1;
0x0000b6f8 nop |
| label_6:
0x0000b6fc lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b700 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b704 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b708 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b70c lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b710 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b714 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b718 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b71c lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b720 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b724 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b728 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b72c andi v0, v0, 2 | v0 &= 2;
| if (v0 != 0) {
0x0000b730 beqz v0, 0xb7bc |
0x0000b734 nop |
0x0000b738 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b73c lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b740 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sCRL_Sign */
0x0000b744 addiu a2, v0, 0x7d6c | a2 = v0 + 0x7d6c;
0x0000b748 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b74c lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b750 move t9, v0 | t9 = v0;
0x0000b754 jalr t9 | t9 ();
0x0000b758 nop |
0x0000b75c lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b760 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b764 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b768 bltz v0, 0xb784 |
0x0000b76c nop |
0x0000b770 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b774 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b778 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b77c bnez v0, 0xb790 | goto label_7;
| }
0x0000b780 nop |
| }
0x0000b784 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b788 b 0xb900 | goto label_1;
0x0000b78c nop |
| label_7:
0x0000b790 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b794 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b798 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b79c sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b7a0 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b7a4 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b7a8 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b7ac sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b7b0 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b7b4 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b7b8 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b7bc lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b7c0 andi v0, v0, 1 | v0 &= 1;
| if (v0 != 0) {
0x0000b7c4 beqz v0, 0xb850 |
0x0000b7c8 nop |
0x0000b7cc lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b7d0 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b7d4 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sEncipher_Only */
0x0000b7d8 addiu a2, v0, 0x7d78 | a2 = v0 + 0x7d78;
0x0000b7dc lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b7e0 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b7e4 move t9, v0 | t9 = v0;
0x0000b7e8 jalr t9 | t9 ();
0x0000b7ec nop |
0x0000b7f0 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b7f4 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b7f8 lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b7fc bltz v0, 0xb818 |
0x0000b800 nop |
0x0000b804 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b808 lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b80c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b810 bnez v0, 0xb824 | goto label_8;
| }
0x0000b814 nop |
| }
0x0000b818 addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b81c b 0xb900 | goto label_1;
0x0000b820 nop |
| label_8:
0x0000b824 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b828 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b82c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b830 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b834 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b838 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b83c addu v0, v1, v0 | v0 = v1 + v0;
0x0000b840 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b844 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b848 addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b84c sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b850 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x0000b854 andi v0, v0, 0x8000 | v0 &= 0x8000;
| if (v0 != 0) {
0x0000b858 beqz v0, 0xb8e4 |
0x0000b85c nop |
0x0000b860 lw a0, 0x1c(fp) | a0 = *(var_1ch);
0x0000b864 lw a1, 0x18(fp) | a1 = *(var_18h);
0x0000b868 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._sDecipher_Only */
0x0000b86c addiu a2, v0, 0x7d88 | a2 = v0 + 0x7d88;
0x0000b870 lw a3, 0x20(fp) | a3 = *(var_20h);
0x0000b874 lw v0, -0x7df8(gp) | v0 = sym.imp.snprintf
0x0000b878 move t9, v0 | t9 = v0;
0x0000b87c jalr t9 | t9 ();
0x0000b880 nop |
0x0000b884 lw gp, 0x10(fp) | gp = *(var_10h);
0x0000b888 sw v0, 0x24(fp) | *(var_24h) = v0;
0x0000b88c lw v0, 0x24(fp) | v0 = *(var_24h);
| if (v0 >= 0) {
0x0000b890 bltz v0, 0xb8ac |
0x0000b894 nop |
0x0000b898 lw v1, 0x24(fp) | v1 = *(var_24h);
0x0000b89c lw v0, 0x18(fp) | v0 = *(var_18h);
0x0000b8a0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x0000b8a4 bnez v0, 0xb8b8 | goto label_9;
| }
0x0000b8a8 nop |
| }
0x0000b8ac addiu v0, zero, -0x2980 | v0 = -0x2980;
0x0000b8b0 b 0xb900 | goto label_1;
0x0000b8b4 nop |
| label_9:
0x0000b8b8 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b8bc lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b8c0 subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000b8c4 sw v0, 0x18(fp) | *(var_18h) = v0;
0x0000b8c8 lw v0, 0x24(fp) | v0 = *(var_24h);
0x0000b8cc lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b8d0 addu v0, v1, v0 | v0 = v1 + v0;
0x0000b8d4 sw v0, 0x1c(fp) | *(var_1ch) = v0;
0x0000b8d8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* esilref: ', ' */
0x0000b8dc addiu v0, v0, 0x7c84 | v0 += 0x7c84;
0x0000b8e0 sw v0, 0x20(fp) | *(var_20h) = v0;
| }
0x0000b8e4 lw v0, 0x34(fp) | v0 = *(arg_34h);
0x0000b8e8 lw v1, 0x18(fp) | v1 = *(var_18h);
0x0000b8ec sw v1, (v0) | *(v0) = v1;
0x0000b8f0 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x0000b8f4 lw v1, 0x1c(fp) | v1 = *(var_1ch);
0x0000b8f8 sw v1, (v0) | *(v0) = v1;
0x0000b8fc move v0, zero | v0 = 0;
| label_1:
0x0000b900 move sp, fp |
0x0000b904 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0000b908 lw fp, 0x28(sp) | fp = *(var_28h);
0x0000b90c addiu sp, sp, 0x30 |
0x0000b910 jr ra | return v0;
0x0000b914 nop |
| }
[*] Function printf used 61 times libmbedx509.so.0