[*] Binary protection state of custfwcerts.cgi
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of custfwcerts.cgi
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/secure_boot/custfwcerts.cgi @ 0x272c */
| #include <stdint.h>
|
; (fcn) fcn.0000272c () | void fcn_0000272c () {
0x0000272c lui gp, 2 |
0x00002730 addiu gp, gp, -0x471c |
0x00002734 addu gp, gp, t9 | gp += t9;
0x00002738 addiu sp, sp, -0x7ff0 |
0x0000273c lui a3, 1 | a3 = 0x10000;
0x00002740 ori v1, zero, 0x8090 | v1 = 0x8090;
0x00002744 lw v0, -0x7f34(gp) | v0 = *((gp - 8141));
0x00002748 sw s4, 0x7fdc(sp) | *(arg_7fdch) = s4;
0x0000274c sw s3, 0x7fd8(sp) | *(arg_7fd8h) = s3;
0x00002750 sw s2, 0x7fd4(sp) | *(arg_7fd4h) = s2;
0x00002754 sw s0, 0x7fcc(sp) | *(arg_7fcch) = s0;
0x00002758 sw ra, 0x7fec(sp) | *(arg_7fech) = ra;
0x0000275c sw s7, 0x7fe8(sp) | *(arg_7fe8h) = s7;
0x00002760 sw s6, 0x7fe4(sp) | *(arg_7fe4h) = s6;
0x00002764 sw s5, 0x7fe0(sp) | *(arg_7fe0h) = s5;
0x00002768 sw s1, 0x7fd0(sp) | *(arg_7fd0h) = s1;
0x0000276c lui s0, 0xfffe | s0 = 0xfffe0000;
0x00002770 subu sp, sp, v1 |
0x00002774 ori v1, a3, 0x58 | v1 = a3 | 0x58;
0x00002778 addu v1, v1, sp | v1 += sp;
0x0000277c ori s0, s0, 0xfff4 | s0 |= 0xfff4;
0x00002780 move s2, a0 | s2 = a0;
0x00002784 addu a0, v1, s0 | a0 = v1 + s0;
0x00002788 ori v1, a3, 0x54 | v1 = a3 | 0x54;
0x0000278c lw v0, (v0) | v0 = *(v0);
0x00002790 addu v1, v1, sp | v1 += sp;
0x00002794 lw t9, -0x7f8c(gp) | t9 = sym.imp.pipe;
0x00002798 sw gp, 0x30(sp) | *(arg_30h) = gp;
0x0000279c sw v0, (v1) | *(v1) = v0;
0x000027a0 move s4, a1 | s4 = a1;
0x000027a4 move s3, a2 | s3 = a2;
0x000027a8 jalr t9 | t9 ();
0x000027ac lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 < 0) {
0x000027b0 bltz v0, 0x2954 | goto label_6;
| }
0x000027b4 lui v1, 1 | v1 = 0x10000;
0x000027b8 ori v0, v1, 0x58 | v0 = v1 | 0x58;
0x000027bc addu v0, v0, sp | v0 += sp;
0x000027c0 lui s1, 0xffff | s1 = 0xffff0000;
0x000027c4 addu s1, v0, s1 | s1 = v0 + s1;
0x000027c8 ori v0, v1, 0x58 | v0 = v1 | 0x58;
0x000027cc lw t9, -0x7f24(gp) | t9 = sym.imp.sd_bus_open_system
0x000027d0 addu v0, v0, sp | v0 += sp;
0x000027d4 addiu a0, s0, -0x10 | a0 = s0 + -0x10;
0x000027d8 addu a0, v0, a0 | a0 = v0 + a0;
0x000027dc sw zero, -0x1c(s1) | *((s1 - 7)) = 0;
0x000027e0 jalr t9 | t9 ();
0x000027e4 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 < 0) {
0x000027e8 bltz v0, 0x293c | goto label_7;
| }
0x000027ec lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000027f0 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000027f4 addiu v0, v0, 0x45f0 | v0 += str.Upgrade;
0x000027f8 lw a0, -0x1c(s1) | a0 = *((s1 - 7));
0x000027fc sw v0, 0x14(sp) | *(var_14h) = v0;
0x00002800 lui v0, 1 | v0 = 0x10000;
0x00002804 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00002808 ori v0, v0, 0x58 | v0 |= 0x58;
0x0000280c lw t9, -0x7f80(gp) | t9 = sym.imp.sd_bus_message_new_method_call;
0x00002810 addiu a2, a2, 0x45d4 | a2 += str.com.axis.FirmwareManager1;
0x00002814 addu v0, v0, sp | v0 += sp;
0x00002818 addiu a1, s0, -0xc | a1 = s0 + -0xc;
0x0000281c sw a2, 0x10(sp) | *(var_10h) = a2;
0x00002820 addiu a3, a3, 0x45b8 | a3 += str._com_axis_FirmwareManager1;
0x00002824 addu a1, v0, a1 | a1 = v0 + a1;
0x00002828 sw zero, -0x18(s1) | *((s1 - 6)) = 0;
0x0000282c jalr t9 | t9 ();
0x00002830 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 < 0) {
0x00002834 bltz v0, 0x29a0 | goto label_8;
| }
0x00002838 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000283c lw a0, -0x18(s1) | a0 = *((s1 - 6));
0x00002840 lw v1, 0x61a4(v0) | v1 = *((v0 + 6249));
0x00002844 lw a3, -0xc(s1) | a3 = *((s1 - 3));
| if (v1 == 0) {
0x00002848 beqz v1, 0x2994 | goto label_9;
| }
| label_1:
0x0000284c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002850 lw a1, 0x61a0(v0) | a1 = *((v0 + 6248));
| if (a1 == 0) {
0x00002854 beql a1, zero, 0x298c | goto label_10;
| }
0x00002858 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| label_0:
0x0000285c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002860 lw v0, 0x619c(v0) | v0 = *((v0 + 6247));
| if (v0 == 0) {
0x00002864 beql v0, zero, 0x2984 | goto label_11;
| }
0x00002868 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
| do {
0x0000286c sw v0, 0x28(sp) | *(arg_28h) = v0;
0x00002870 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00002874 sw a1, 0x20(sp) | *(var_20h) = a1;
0x00002878 addiu v0, v0, 0x4620 | v0 += str.AutoRollback;
0x0000287c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00002880 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00002884 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002888 addiu v0, v0, 0x4630 | v0 += str.AutoCommit;
0x0000288c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00002890 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00002894 lw t9, -0x7ed4(gp) | t9 = sym.imp.sd_bus_message_append;
0x00002898 addiu v0, v0, 0x463c | v0 += str.FactoryDefaultMode;
0x0000289c sw v0, 0x14(sp) | *(var_14h) = v0;
0x000028a0 addiu v0, zero, 3 | v0 = 3;
0x000028a4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x000028a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000028ac move a2, s2 | a2 = s2;
0x000028b0 addiu a1, a1, 0x4618 | a1 += str.ihass;
0x000028b4 jalr t9 | t9 ();
0x000028b8 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 >= 0) {
0x000028bc bltz v0, 0x296c |
0x000028c0 lui v0, 1 | v0 = 0x10058;
0x000028c4 ori v0, v0, 0x58 |
0x000028c8 addu v0, v0, sp | v0 += sp;
0x000028cc lui s0, 0xffff | s0 = 0xffff0000;
0x000028d0 addu s0, v0, s0 | s0 = v0 + s0;
0x000028d4 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x000028d8 lui v0, 0x6b49 | v0 = 0x6b490000;
0x000028dc lw a2, -0x18(s0) | a2 = *((s0 - 6));
0x000028e0 lw a0, -0x1c(s0) | a0 = *((s0 - 7));
0x000028e4 lw t9, -0x7fb0(gp) | t9 = sym.imp.sd_bus_call_async;
0x000028e8 ori v0, v0, 0xd200 | v0 |= 0xd200;
0x000028ec move v1, zero | v1 = 0;
0x000028f0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000028f4 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000028f8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x000028fc addiu a3, a3, 0x3854 | a3 += 0x3854;
0x00002900 move a1, zero | a1 = 0;
0x00002904 jalr t9 | t9 ();
0x00002908 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 >= 0) {
0x0000290c bltz v0, 0x2924 |
0x00002910 lw t9, -0x7f00(gp) | t9 = sym.imp.sd_bus_flush;
0x00002914 lw a0, -0x1c(s0) | a0 = *((s0 - 7));
0x00002918 jalr t9 | t9 ();
0x0000291c lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 >= 0) {
0x00002920 bgez v0, 0x29b8 | goto label_12;
| }
| }
0x00002924 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002928 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x0000292c addiu a1, a1, 0x4678 | a1 += str.Failed_to_start_upgrade.;
0x00002930 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00002934 addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002938 bal 0x26d0 | fcn_000026d0 ();
| label_7:
0x0000293c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002940 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00002944 addiu a1, a1, 0x4598 | a1 += str.Failed_to_open_DBus_connection.;
0x00002948 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x0000294c addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002950 bal 0x26d0 | fcn_000026d0 ();
| label_6:
0x00002954 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002958 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x0000295c addiu a1, a1, 0x4574 | a1 += str.Could_not_create_pipe_for_upgrade.;
0x00002960 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00002964 addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002968 bal 0x26d0 | fcn_000026d0 ();
| }
0x0000296c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002970 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00002974 addiu a1, a1, 0x4650 | a1 += str.Failed_to_set_DBus_message_parameters.;
0x00002978 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x0000297c addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002980 bal 0x26d0 | fcn_000026d0 ();
| label_11:
0x00002984 addiu v0, v0, 0x456c | v0 += str.Default;
0x00002988 b 0x286c |
| } while (1);
| label_10:
0x0000298c addiu a1, a1, 0x456c | a1 += str.Default;
0x00002990 b 0x285c | goto label_0;
| label_9:
0x00002994 lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x00002998 addiu v1, v1, 0x456c | v1 += str.Default;
0x0000299c b 0x284c | goto label_1;
| label_8:
0x000029a0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000029a4 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x000029a8 addiu a1, a1, 0x45f8 | a1 += str.Failed_to_create_DBus_message.;
0x000029ac addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x000029b0 addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x000029b4 bal 0x26d0 | fcn_000026d0 ();
| label_12:
0x000029b8 lw t9, -0x7f44(gp) | t9 = sym.imp.close;
0x000029bc lw a0, -0xc(s0) | a0 = *((s0 - 3));
0x000029c0 jalr t9 | t9 ();
0x000029c4 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (s3 != 0) {
0x000029c8 bnez s3, 0x2bb4 | goto label_13;
| }
| label_5:
0x000029cc lui v0, 1 | v0 = 0x10000;
0x000029d0 lui s0, 0xfffe | s0 = 0xfffe0000;
0x000029d4 ori v0, v0, 0x58 | v0 |= 0x58;
0x000029d8 ori s0, s0, 0xfffc | s0 |= 0xfffc;
0x000029dc addu v0, v0, sp | v0 += sp;
0x000029e0 lw s5, -0x7fdc(gp) | s5 = *((gp - 8183));
0x000029e4 lui s4, 1 | s4 = 0x10000;
0x000029e8 addu s0, v0, s0 | s0 = v0 + s0;
| do {
| label_2:
0x000029ec addiu a2, s4, 1 | a2 = s4 + 1;
| if (s2 == 0) {
0x000029f0 beqz s2, 0x2ad0 | goto label_14;
| }
0x000029f4 sltu a2, s2, a2 | a2 = (s2 < a2) ? 1 : 0;
0x000029f8 move v0, s4 | v0 = s4;
0x000029fc lw t9, -0x7f0c(gp) | t9 = sym.imp.__read_chk;
| if (a2 == 0) {
0x00002a00 movn v0, s2, a2 | v0 = s2;
| }
0x00002a04 lui a3, 1 | a3 = 0x10000;
0x00002a08 move a2, v0 | a2 = v0;
0x00002a0c move a1, s0 | a1 = s0;
0x00002a10 move a0, zero | a0 = 0;
0x00002a14 jalr t9 | t9 ();
0x00002a18 move s1, v0 | s1 = v0;
0x00002a1c lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 >= 0) {
0x00002a20 bgez v0, 0x2a58 | goto label_15;
| }
0x00002a24 lw t9, -0x7ea0(gp) | t9 = sym.imp.__errno_location;
0x00002a28 jalr t9 | t9 ();
0x00002a2c nop |
0x00002a30 lw v1, (v0) | v1 = *(v0);
0x00002a34 addiu v0, zero, 4 | v0 = 4;
0x00002a38 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00002a3c beq v1, v0, 0x29ec |
| } while (v1 == v0);
0x00002a40 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002a44 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00002a48 addiu a1, a1, 0x46b8 | a1 += str.Could_not_read_from_input_stream.;
0x00002a4c addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00002a50 addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002a54 bal 0x26d0 | fcn_000026d0 ();
| label_15:
0x00002a58 lw v0, 0x61b8(s5) | v0 = *((s5 + 6254));
| if (v0 == 0) {
0x00002a5c beqz v0, 0x2c08 | goto label_16;
| }
0x00002a60 lui s6, 0xffff | s6 = 0xffff0000;
0x00002a64 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x00002a68 sw v0, 0x61b8(s5) | *((s5 + 6254)) = v0;
0x00002a6c lui v0, 1 | v0 = 0x10058;
0x00002a70 ori v0, v0, 0x58 |
0x00002a74 addu v0, v0, sp | v0 += sp;
0x00002a78 move s3, zero | s3 = 0;
0x00002a7c addu s6, v0, s6 | s6 = v0 + s6;
0x00002a80 addiu s7, zero, 4 | s7 = 4;
0x00002a84 lw t9, -0x7ed0(gp) | t9 = sym.imp.write;
| do {
0x00002a88 lw a0, -8(s6) | a0 = *((s6 - 2));
0x00002a8c subu a2, s1, s3 | __asm ("subu a2, s1, s3");
0x00002a90 addu a1, s0, s3 | a1 = s0 + s3;
0x00002a94 jalr t9 | t9 ();
0x00002a98 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 < 0) {
0x00002a9c bltz v0, 0x2ab8 | goto label_17;
| }
0x00002aa0 addu s3, s3, v0 | s3 += v0;
| label_3:
0x00002aa4 slt v0, s3, s1 | v0 = (s3 < s1) ? 1 : 0;
0x00002aa8 lw t9, -0x7ed0(gp) | t9 = sym.imp.write;
0x00002aac bnez v0, 0x2a88 |
| } while (v0 != 0);
0x00002ab0 subu s2, s2, s1 | __asm ("subu s2, s2, s1");
0x00002ab4 b 0x29ec | goto label_2;
| label_17:
0x00002ab8 lw t9, -0x7ea0(gp) | t9 = sym.imp.__errno_location;
0x00002abc jalr t9 | t9 ();
0x00002ac0 nop |
0x00002ac4 lw v0, (v0) | v0 = *(v0);
0x00002ac8 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 == s7) {
0x00002acc beq v0, s7, 0x2aa4 | goto label_3;
| }
| label_14:
0x00002ad0 lui s0, 1 | s0 = 0x10000;
0x00002ad4 ori v0, s0, 0x58 | v0 = s0 | 0x58;
0x00002ad8 lui s2, 0xffff | s2 = 0xffff0000;
0x00002adc addu v0, v0, sp | v0 += sp;
0x00002ae0 addu s1, v0, s2 | s1 = v0 + s2;
0x00002ae4 lw t9, -0x7f44(gp) | t9 = sym.imp.close;
0x00002ae8 lw a0, -8(s1) | a0 = *((s1 - 2));
0x00002aec addiu s2, s2, -0x14 | s2 += -0x14;
0x00002af0 jalr t9 | t9 ();
0x00002af4 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00002af8 ori v0, s0, 0x58 | v0 = s0 | 0x58;
0x00002afc addu v0, v0, sp | v0 += sp;
0x00002b00 addu s2, v0, s2 | s2 = v0 + s2;
0x00002b04 lw t9, -0x7eb0(gp) | t9 = sym.imp.clock_gettime;
0x00002b08 move a1, s2 | a1 = s2;
0x00002b0c addiu a0, zero, 1 | a0 = 1;
0x00002b10 jalr t9 | t9 ();
0x00002b14 lw s1, -0x14(s1) | s1 = *((s1 - 5));
0x00002b18 lui s3, 0xf | s3 = 0xf0000;
0x00002b1c lw gp, 0x30(sp) | gp = *(arg_30h);
0x00002b20 lui s4, 0xffff | s4 = 0xffff0000;
0x00002b24 addiu s1, s1, 0x19 | s1 += 0x19;
0x00002b28 addiu s3, s3, 0x4240 | s3 += sym.imp.json_object;
| label_4:
0x00002b2c lui v0, 1 | v0 = 0x10058;
0x00002b30 ori v0, v0, 0x58 |
0x00002b34 addu v0, v0, sp | v0 += sp;
0x00002b38 addu s0, v0, s4 | s0 = v0 + s4;
0x00002b3c lw t9, -0x7f98(gp) | t9 = sym.imp.sd_bus_process;
| do {
0x00002b40 lw a0, -0x1c(s0) | a0 = *((s0 - 7));
0x00002b44 move a1, zero | a1 = 0;
0x00002b48 jalr t9 | t9 ();
0x00002b4c lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 < 0) {
0x00002b50 bltz v0, 0x2b9c | goto label_18;
| }
0x00002b54 lw t9, -0x7f98(gp) | t9 = sym.imp.sd_bus_process;
0x00002b58 bnez v0, 0x2b40 |
| } while (v0 != 0);
0x00002b5c lw t9, -0x7eb0(gp) | t9 = sym.imp.clock_gettime;
0x00002b60 move a1, s2 | a1 = s2;
0x00002b64 addiu a0, zero, 1 | a0 = 1;
0x00002b68 jalr t9 | t9 ();
0x00002b6c lw a2, -0x14(s0) | a2 = *((s0 - 5));
0x00002b70 slt v0, a2, s1 | v0 = (a2 < s1) ? 1 : 0;
0x00002b74 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 == 0) {
0x00002b78 beqz v0, 0x2bf0 | goto label_19;
| }
0x00002b7c subu a2, s1, a2 | __asm ("subu a2, s1, a2");
0x00002b80 mul a2, a2, s3 | __asm ("mul a2, a2, s3");
0x00002b84 lw t9, -0x7fa4(gp) | t9 = sym.imp.sd_bus_wait;
0x00002b88 lw a0, -0x1c(s0) | a0 = *((s0 - 7));
0x00002b8c sra a3, a2, 0x1f | a3 = a2 >> 0x1f;
0x00002b90 jalr t9 | t9 ();
0x00002b94 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 >= 0) {
0x00002b98 bgez v0, 0x2b2c | goto label_4;
| }
| label_18:
0x00002b9c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002ba0 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00002ba4 addiu a1, a1, 0x46fc | a1 += str.Failed_to_process_DBus.;
0x00002ba8 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00002bac addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002bb0 bal 0x26d0 | fcn_000026d0 ();
| label_13:
0x00002bb4 lw t9, -0x7ed0(gp) | t9 = sym.imp.write;
0x00002bb8 lw a0, -8(s0) | a0 = *((s0 - 2));
0x00002bbc move a2, s3 | a2 = s3;
0x00002bc0 move a1, s4 | a1 = s4;
0x00002bc4 jalr t9 | t9 ();
0x00002bc8 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 != s3) {
0x00002bcc beq v0, s3, 0x2be8 |
0x00002bd0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002bd4 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00002bd8 addiu a1, a1, 0x4694 | a1 += str.Could_not_write_to_upgrade_pipe.;
0x00002bdc addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00002be0 addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002be4 bal 0x26d0 | fcn_000026d0 ();
| }
0x00002be8 subu s2, s2, s3 | __asm ("subu s2, s2, s3");
0x00002bec b 0x29cc | goto label_5;
| label_19:
0x00002bf0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002bf4 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00002bf8 addiu a1, a1, 0x4714 | a1 += str.Timeout_waiting_for_upgrade_result.;
0x00002bfc addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00002c00 addiu a0, zero, 0x1f4 | a0 = 0x1f4;
0x00002c04 bal 0x26d0 | fcn_000026d0 ();
| label_16:
0x00002c08 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002c0c lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00002c10 addiu a1, a1, 0x46dc | a1 += str.Unexpected_end_of_input_stream.;
0x00002c14 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00002c18 addiu a0, zero, 0x190 | a0 = 0x190;
0x00002c1c bal 0x26d0 | return fcn_000026d0 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/secure_boot/custfwcerts.cgi @ 0x3914 */
| #include <stdint.h>
|
; (fcn) fcn.00003914 () | void fcn_00003914 () {
0x00003914 lui gp, 2 |
0x00003918 addiu gp, gp, -0x5904 |
0x0000391c addu gp, gp, t9 | gp += t9;
0x00003920 lw v0, -0x7f34(gp) | v0 = *((gp - 8141));
0x00003924 addiu sp, sp, -0x60 |
0x00003928 lw v0, (v0) | v0 = *(v0);
0x0000392c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00003930 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00003934 sw s3, 0x58(sp) | *(var_58h) = s3;
0x00003938 sw s2, 0x54(sp) | *(var_54h) = s2;
0x0000393c sw s1, 0x50(sp) | *(var_50h) = s1;
0x00003940 sw s0, 0x4c(sp) | *(var_4ch) = s0;
0x00003944 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00003948 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
| if (a0 == 0) {
0x0000394c beqz a0, 0x39a4 | goto label_0;
| }
0x00003950 lw v0, 0x6190(s2) | v0 = *((s2 + 6244));
0x00003954 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (v0 == 0) {
0x00003958 bnel v0, zero, 0x3aec | goto label_1;
| }
0x0000395c lw t9, -0x7f54(gp) | t9 = sym.imp.malloc;
0x00003960 sw a1, 0x24(sp) | *(var_24h) = a1;
0x00003964 move s0, a0 | s0 = a0;
0x00003968 move s1, a2 | s1 = a2;
0x0000396c jalr t9 | t9 ();
0x00003970 move s3, v0 | s3 = v0;
0x00003974 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003978 lw a1, 0x24(sp) | a1 = *(var_24h);
0x0000397c bnez s1, 0x3b30 |
| while (1) {
0x00003980 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00003984 subu a1, s0, s1 | __asm ("subu a1, s0, s1");
0x00003988 addiu t9, t9, 0x2410 | t9 += fcn.00002410;
0x0000398c addu a0, s3, s1 | a0 = s3 + s1;
0x00003990 bal 0x2410 | fcn_00002410 ();
0x00003994 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003998 sw s0, 0x6190(s2) | *((s2 + 6244)) = s0;
0x0000399c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000039a0 sw s3, 0x6194(v0) | *((v0 + 6245)) = s3;
| label_0:
0x000039a4 lw t9, -0x7f24(gp) | t9 = sym.imp.sd_bus_open_system
0x000039a8 addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x000039ac sw zero, 0x28(sp) | *(var_28h) = 0;
0x000039b0 jalr t9 | t9 ();
0x000039b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x000039b8 bltz v0, 0x3b00 |
0x000039bc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000039c0 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000039c4 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x000039c8 lw t9, -0x7f80(gp) | t9 = sym.imp.sd_bus_message_new_method_call;
0x000039cc addiu a2, a2, 0x4d40 | a2 += str.com.axis.CustomFirmwareCertificates1;
0x000039d0 addiu v0, v0, 0x4d68 | v0 += str.Install;
0x000039d4 lw a0, 0x28(sp) | a0 = *(var_28h);
0x000039d8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000039dc sw a2, 0x10(sp) | *(var_10h) = a2;
0x000039e0 addiu a3, a3, 0x4d18 | a3 += str._com_axis_CustomFirmwareCertificates1;
0x000039e4 addiu a1, sp, 0x2c | a1 = sp + 0x2c;
0x000039e8 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x000039ec jalr t9 | t9 ();
0x000039f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000039f4 bltz v0, 0x3b18 | goto label_2;
| }
0x000039f8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000039fc lw t9, -0x7f20(gp) | t9 = sym.imp.sd_bus_message_append_array;
0x00003a00 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00003a04 lw a3, 0x6190(v0) | a3 = *((v0 + 6244));
0x00003a08 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003a0c addiu a1, zero, 0x79 | a1 = 0x79;
0x00003a10 lw a2, 0x6194(v0) | a2 = *((v0 + 6245));
0x00003a14 jalr t9 | t9 ();
0x00003a18 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00003a1c bltz v0, 0x3b18 | goto label_2;
| }
0x00003a20 addiu v0, sp, 0x30 | v0 = sp + 0x30;
0x00003a24 lw t9, -0x7ee4(gp) | t9 = sym.imp.sd_bus_call;
0x00003a28 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003a2c lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00003a30 addiu v0, sp, 0x38 | v0 = sp + 0x38;
0x00003a34 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00003a38 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003a3c move a2, zero | a2 = 0;
0x00003a40 move a3, zero | a3 = 0;
0x00003a44 sw zero, 0x38(sp) | *(var_38h) = 0;
0x00003a48 sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x00003a4c sw zero, 0x40(sp) | *(var_40h) = 0;
0x00003a50 sw zero, 0x30(sp) | *(var_30h) = 0;
0x00003a54 jalr t9 | t9 ();
0x00003a58 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00003a5c bltz v0, 0x3b48 | goto label_3;
| }
0x00003a60 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00003a64 lw t9, -0x7f3c(gp) | t9 = sym.imp.sd_bus_message_read;
0x00003a68 lw a0, 0x30(sp) | a0 = *(var_30h);
0x00003a6c addiu a2, sp, 0x34 | a2 = sp + 0x34;
0x00003a70 addiu a1, a1, 0x51b4 | a1 += 0x51b4;
0x00003a74 jalr t9 | t9 ();
0x00003a78 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00003a7c bltz v0, 0x3b5c | goto label_4;
| }
0x00003a80 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00003a84 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00003a88 lw a2, 0x34(sp) | a2 = *(var_34h);
0x00003a8c lw t9, -0x7f90(gp) | t9 = sym.imp.json_pack;
0x00003a90 addiu a1, a1, 0x4874 | a1 += str.name;
0x00003a94 addiu a0, a0, 0x44f4 | a0 += str.ss;
0x00003a98 jalr t9 | t9 ();
0x00003a9c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003aa0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00003aa4 lw t9, -0x7f08(gp) | t9 = sym.imp.sd_bus_message_unref;
0x00003aa8 move s0, v0 | s0 = v0;
0x00003aac jalr t9 | t9 ();
0x00003ab0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003ab4 lw t9, -0x7f08(gp) | t9 = sym.imp.sd_bus_message_unref;
0x00003ab8 lw a0, 0x30(sp) | a0 = *(var_30h);
0x00003abc jalr t9 | t9 ();
0x00003ac0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003ac4 lw t9, -0x7f38(gp) | t9 = sym.imp.sd_bus_unref;
0x00003ac8 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00003acc jalr t9 | t9 ();
0x00003ad0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003ad4 move a1, s0 | a1 = s0;
0x00003ad8 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00003adc lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00003ae0 addiu t9, t9, 0x2564 | t9 += fcn.00002564;
0x00003ae4 addiu a0, a0, 0x4ce8 | a0 += str.data;
0x00003ae8 bal 0x2564 | fcn_00002564 ();
| label_1:
0x00003aec lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00003af0 addiu a1, a1, 0x4cf0 | a1 += str.Only_one_certificate_at_a_time_allowed.;
0x00003af4 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00003af8 addiu a0, zero, 0x3e8 | a0 = 0x3e8;
0x00003afc bal 0x26d0 | fcn_000026d0 ();
| }
0x00003b00 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00003b04 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00003b08 addiu a1, a1, 0x4598 | a1 += str.Failed_to_open_DBus_connection.;
0x00003b0c addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00003b10 addiu a0, zero, 0x3eb | a0 = 0x3eb;
0x00003b14 bal 0x26d0 | fcn_000026d0 ();
| label_2:
0x00003b18 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00003b1c lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00003b20 addiu a1, a1, 0x4da0 | a1 += str.Failed_to_create_firmware_manager_request.;
0x00003b24 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00003b28 addiu a0, zero, 0x3eb | a0 = 0x3eb;
0x00003b2c bal 0x26d0 | fcn_000026d0 ();
0x00003b30 lw t9, -0x7f14(gp) | t9 = sym.imp.memcpy;
0x00003b34 move a2, s1 | a2 = s1;
0x00003b38 move a0, v0 | a0 = v0;
0x00003b3c jalr t9 | t9 ();
0x00003b40 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003b44 b 0x3980 |
| }
| label_3:
0x00003b48 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00003b4c lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x00003b50 addiu t9, t9, 0x35c8 | t9 += fcn.000035c8;
0x00003b54 lw a0, 0x38(sp) | a0 = *(var_38h);
0x00003b58 bal 0x35c8 | fcn_000035c8 ();
| label_4:
0x00003b5c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00003b60 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00003b64 addiu a1, a1, 0x4d70 | a1 += str.Could_not_parse_reply_from_firmware_manager.;
0x00003b68 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00003b6c addiu a0, zero, 0x3eb | a0 = 0x3eb;
0x00003b70 bal 0x26d0 | return fcn_000026d0 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/secure_boot/custfwcerts.cgi @ 0x1320 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 11568 named .text */
0x00001320 lui gp, 2 |
0x00001324 addiu gp, gp, -0x3310 |
0x00001328 addu gp, gp, t9 | gp += t9;
0x0000132c lw v0, -0x7f34(gp) | v0 = *((gp - 8141));
0x00001330 addiu sp, sp, -0x98 |
0x00001334 lw t9, -0x7eb4(gp) | t9 = sym.imp.signal;
0x00001338 lw v0, (v0) | v0 = *(v0);
0x0000133c addiu a0, zero, 0xd | a0 = 0xd;
0x00001340 sw gp, 0x28(sp) | *(var_28h) = gp;
0x00001344 sw ra, 0x94(sp) | *(var_94h) = ra;
0x00001348 sw s0, 0x70(sp) | *(var_70h) = s0;
0x0000134c sw fp, 0x90(sp) | *(var_90h) = fp;
0x00001350 move s0, a1 | s0 = a1;
0x00001354 sw s7, 0x8c(sp) | *(var_8ch) = s7;
0x00001358 addiu a1, zero, 1 | a1 = 1;
0x0000135c sw s6, 0x88(sp) | *(var_88h) = s6;
0x00001360 sw s5, 0x84(sp) | *(var_84h) = s5;
0x00001364 sw s4, 0x80(sp) | *(var_80h) = s4;
0x00001368 sw s3, 0x7c(sp) | *(var_7ch) = s3;
0x0000136c sw s2, 0x78(sp) | *(var_78h) = s2;
0x00001370 sw s1, 0x74(sp) | *(var_74h) = s1;
0x00001374 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00001378 jalr t9 | t9 ();
0x0000137c nop |
0x00001380 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001384 lw s0, (s0) | s0 = *(s0);
0x00001388 addiu a1, zero, 0x2f | a1 = 0x2f;
0x0000138c lw t9, -0x7edc(gp) | t9 = sym.imp.strrchr;
0x00001390 move a0, s0 | a0 = s0;
0x00001394 jalr t9 | t9 ();
0x00001398 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0000139c beqz v0, 0x13a4 |
0x000013a0 addiu s0, v0, 1 | s0 = v0 + 1;
| }
0x000013a4 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000013a8 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000013ac addiu a1, a1, 0x4fcc | a1 += str.custfwcerts.cgi;
0x000013b0 move a0, s0 | a0 = s0;
0x000013b4 jalr t9 | t9 ();
0x000013b8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000013bc sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x000013c0 lw s4, -0x7fdc(gp) | s4 = *((gp - 8183));
0x000013c4 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000013c8 lw t9, -0x7ec8(gp) | t9 = sym.imp.getenv;
0x000013cc addiu a0, a0, 0x4fdc | a0 += str.REQUEST_METHOD;
0x000013d0 sb v0, 0x61b4(s4) | *((s4 + 25012)) = v0;
0x000013d4 jalr t9 | t9 ();
0x000013d8 move s3, v0 | s3 = v0;
0x000013dc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x000013e0 beqz v0, 0x141c |
0x000013e4 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x000013e8 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000013ec addiu a1, s5, 0x4fec | a1 = s5 + str.POST;
0x000013f0 move a0, v0 | a0 = v0;
0x000013f4 jalr t9 | t9 ();
0x000013f8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000013fc beqz v0, 0x1438 | goto label_18;
| }
0x00001400 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001404 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001408 addiu a1, a1, 0x4ff4 | a1 += 0x4ff4;
0x0000140c move a0, s3 | a0 = s3;
0x00001410 jalr t9 | t9 ();
0x00001414 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001418 beqz v0, 0x1438 | goto label_18;
| }
| }
0x0000141c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001420 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001424 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001428 addiu a1, a1, 0x4ff8 | a1 += str.Invalid_method__only_GET_and_POST_supported.;
0x0000142c addiu t9, t9, 0x23ac | t9 += fcn.000023ac;
0x00001430 addiu a0, a0, 0x5028 | a0 += str.405_Method_Not_Allowed;
0x00001434 bal 0x23ac | fcn_000023ac ();
| label_18:
0x00001438 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x0000143c lw t9, -0x7ec8(gp) | t9 = sym.imp.getenv;
0x00001440 addiu a0, a0, 0x5040 | a0 += str.QUERY_STRING;
0x00001444 jalr t9 | t9 ();
0x00001448 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000144c move fp, v0 | fp = v0;
0x00001450 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001454 sw v0, 0x34(sp) | *(var_34h) = v0;
| if (fp == 0) {
0x00001458 beqz fp, 0x158c | goto label_19;
| }
0x0000145c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001460 lw s7, -0x7fd8(gp) | s7 = *((gp - 8182));
0x00001464 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00001468 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000146c addiu s7, s7, 0x5050 | s7 += str.method;
0x00001470 addiu v0, v0, 0x5064 | v0 += str.apiVersion;
0x00001474 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00001478 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000147c addiu v0, v0, 0x2c5c | v0 += 0x2c5c;
0x00001480 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00001484 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001488 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0000148c b 0x153c |
| while (s1 != 0) {
0x00001490 sltu v0, v0, s1 | v0 = (v0 < s1) ? 1 : 0;
| if (v0 != 0) {
0x00001494 beqz v0, 0x1530 |
| if (v0 == 0) {
0x00001498 beql v0, zero, 0x1534 | goto label_20;
| }
0x0000149c addiu fp, s1, 1 | fp = s1 + 1;
0x000014a0 subu v0, s1, fp | __asm ("subu v0, s1, fp");
| label_0:
0x000014a4 lw t9, -0x7f88(gp) | t9 = sym.imp.strncmp;
0x000014a8 subu s6, s0, fp | __asm ("subu s6, s0, fp");
0x000014ac nor s2, zero, s6 | __asm ("nor s2, zero, s6");
0x000014b0 addiu a2, zero, 7 | a2 = 7;
0x000014b4 move a1, s7 | a1 = s7;
0x000014b8 move a0, fp | a0 = fp;
0x000014bc addu s2, s2, v0 | s2 += v0;
0x000014c0 jalr t9 | t9 ();
0x000014c4 addiu s0, s0, 1 | s0++;
0x000014c8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000014cc beqz v0, 0x15f8 | goto label_21;
| }
0x000014d0 lw v0, 0x38(sp) | v0 = *(var_38h);
0x000014d4 lw t9, -0x7f88(gp) | t9 = sym.imp.strncmp;
0x000014d8 addiu a2, zero, 8 | a2 = 8;
0x000014dc addiu a1, v0, 0x5058 | a1 = v0 + str.context;
0x000014e0 move a0, fp | a0 = fp;
0x000014e4 jalr t9 | t9 ();
0x000014e8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000014ec beqz v0, 0x1638 | goto label_22;
| }
0x000014f0 lw t9, -0x7f88(gp) | t9 = sym.imp.strncmp;
0x000014f4 lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x000014f8 addiu a2, zero, 0xb | a2 = 0xb;
0x000014fc move a0, fp | a0 = fp;
0x00001500 jalr t9 | t9 ();
0x00001504 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001508 bnez v0, 0x1618 | goto label_23;
| }
0x0000150c lw t9, -0x7f70(gp) | t9 = sym.imp.strndup;
0x00001510 move a1, s2 | a1 = s2;
0x00001514 move a0, s0 | a0 = s0;
0x00001518 jalr t9 | t9 ();
0x0000151c lw v1, 0x44(sp) | v1 = *(var_44h);
0x00001520 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001524 sw v0, 0x61a8(v1) | *((v1 + 6250)) = v0;
| label_1:
0x00001528 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
| if (s1 == 0) {
0x0000152c beqz s1, 0x1590 | goto label_24;
| }
| }
0x00001530 addiu fp, s1, 1 | fp = s1 + 1;
| label_20:
0x00001534 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
| if (fp == 0) {
0x00001538 beqz fp, 0x1590 | goto label_24;
| }
0x0000153c lb v0, (fp) | v0 = *(fp);
0x00001540 lw t9, -0x7ec4(gp) | t9 = sym.imp.strchr;
| if (v0 == 0) {
0x00001544 beqz v0, 0x158c | goto label_19;
| }
0x00001548 addiu a1, zero, 0x26 | a1 = 0x26;
0x0000154c move a0, fp | a0 = fp;
0x00001550 jalr t9 | t9 ();
0x00001554 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001558 addiu a1, zero, 0x3d | a1 = 0x3d;
0x0000155c move a0, fp | a0 = fp;
0x00001560 lw t9, -0x7ec4(gp) | t9 = sym.imp.strchr;
0x00001564 move s1, v0 | s1 = v0;
0x00001568 jalr t9 | t9 ();
0x0000156c move s0, v0 | s0 = v0;
0x00001570 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001574 bnez s1, 0x1490 |
| }
0x00001578 lw t9, -0x7f1c(gp) | t9 = sym.imp.strlen;
0x0000157c move a0, fp | a0 = fp;
0x00001580 jalr t9 | t9 ();
0x00001584 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s0 != 0) {
0x00001588 bnez s0, 0x14a4 | goto label_0;
| }
| label_19:
0x0000158c lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
| label_24:
0x00001590 addiu a1, s5, 0x4fec | a1 = s5 + str.POST;
0x00001594 move a0, s3 | a0 = s3;
0x00001598 jalr t9 | t9 ();
0x0000159c lw gp, 0x28(sp) | gp = *(var_28h);
0x000015a0 beqz v0, 0x1658 |
| while (1) {
0x000015a4 lw v0, 0x34(sp) | v0 = *(var_34h);
0x000015a8 lw s0, 0x61b0(v0) | s0 = *((v0 + 6252));
0x000015ac lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (s0 == 0) {
0x000015b0 beqz s0, 0x1670 | goto label_25;
| }
0x000015b4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000015b8 lw v0, 0x61a8(v0) | v0 = *((v0 + 6250));
0x000015bc addiu v1, zero, 0x31 | v1 = 0x31;
| if (v0 == 0) {
0x000015c0 beqz v0, 0x1820 | goto label_26;
| }
0x000015c4 lb a0, (v0) | a0 = *(v0);
| if (a0 == v1) {
0x000015c8 beql a0, v1, 0x1684 | goto label_27;
| }
0x000015cc lb v0, 1(v0) | v0 = *((v0 + 1));
0x000015d0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| label_3:
0x000015d4 lbu a0, 0x61b4(s4) | a0 = *((s4 + 25012));
0x000015d8 addiu a1, a1, 0x50c4 | a1 += str.Unsupported_API_version.;
0x000015dc addiu v1, zero, 0x3ea | v1 = 0x3ea;
0x000015e0 addiu v0, zero, 0x1a1 | v0 = 0x1a1;
| label_2:
0x000015e4 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
| if (a0 == 0) {
0x000015e8 movn v0, v1, a0 | v0 = v1;
| }
0x000015ec addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x000015f0 move a0, v0 | a0 = v0;
0x000015f4 bal 0x26d0 | fcn_000026d0 ();
| label_21:
0x000015f8 lw t9, -0x7f70(gp) | t9 = sym.imp.strndup;
0x000015fc move a1, s2 | a1 = s2;
0x00001600 move a0, s0 | a0 = s0;
0x00001604 jalr t9 | t9 ();
0x00001608 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0000160c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001610 sw v0, 0x61b0(v1) | *((v1 + 6252)) = v0;
0x00001614 b 0x1528 | goto label_1;
| label_23:
0x00001618 lw t9, 0x40(sp) | t9 = *(var_40h);
0x0000161c move a3, s2 | a3 = s2;
0x00001620 move a2, s0 | a2 = s0;
0x00001624 move a1, s6 | a1 = s6;
0x00001628 move a0, fp | a0 = fp;
0x0000162c jalr t9 | t9 ();
0x00001630 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001634 b 0x1528 | goto label_1;
| label_22:
0x00001638 lw t9, -0x7f70(gp) | t9 = sym.imp.strndup;
0x0000163c move a1, s2 | a1 = s2;
0x00001640 move a0, s0 | a0 = s0;
0x00001644 jalr t9 | t9 ();
0x00001648 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000164c lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00001650 sw v0, 0x61ac(v1) | *((v1 + 6251)) = v0;
0x00001654 b 0x1528 | goto label_1;
0x00001658 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x0000165c addiu t9, t9, 0x3b74 | t9 += fcn.00003b74;
0x00001660 bal 0x3b74 | fcn_00003b74 ();
0x00001664 nop |
0x00001668 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000166c b 0x15a4 |
| }
| label_25:
0x00001670 lbu a0, 0x61b4(s4) | a0 = *((s4 + 25012));
0x00001674 addiu a1, a1, 0x5070 | a1 += str.Missing_method_in_request.;
0x00001678 addiu v1, zero, 0x3e9 | v1 = 0x3e9;
0x0000167c addiu v0, zero, 0x195 | v0 = 0x195;
0x00001680 b 0x15e4 | goto label_2;
| label_27:
0x00001684 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (v0 == 0) {
0x00001688 beqz v0, 0x169c | goto label_28;
| }
0x0000168c addiu v1, zero, 0x2e | v1 = 0x2e;
0x00001690 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (v0 != v1) {
0x00001694 bne v0, v1, 0x15d4 | goto label_3;
| }
0x00001698 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| label_28:
0x0000169c lbu v0, 0x61b4(s4) | v0 = *((s4 + 25012));
0x000016a0 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000016a4 addiu a1, a1, 0x508c | a1 += str.getSupportedVersions;
0x000016a8 move a0, s0 | a0 = s0;
| if (v0 == 0) {
0x000016ac beqz v0, 0x1874 | goto label_29;
| }
0x000016b0 jalr t9 | t9 ();
0x000016b4 nop |
0x000016b8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000016bc beqz v0, 0x19b4 | goto label_30;
| }
0x000016c0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000016c4 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000016c8 addiu a1, a1, 0x50f4 | a1 += str.getCertificateList;
0x000016cc move a0, s0 | a0 = s0;
0x000016d0 jalr t9 | t9 ();
0x000016d4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000016d8 beqz v0, 0x199c | goto label_31;
| }
0x000016dc lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000016e0 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000016e4 addiu a1, a1, 0x487c | a1 += str.getCertificateProperties;
0x000016e8 move a0, s0 | a0 = s0;
0x000016ec jalr t9 | t9 ();
0x000016f0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x000016f4 bnez v0, 0x1a30 | goto label_32;
| }
0x000016f8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000016fc lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00001700 lw s2, 0x6198(v0) | s2 = *((v0 + 6246));
0x00001704 addiu s0, s0, 0x4fbc | s0 += str.Show;
| label_8:
0x00001708 lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
| if (s2 == 0) {
0x0000170c beqz s2, 0x1bcc | goto label_33;
| }
0x00001710 addiu s1, s1, 0x51b4 | s1 += 0x51b4;
| label_5:
0x00001714 lw t9, -0x7f24(gp) | t9 = sym.imp.sd_bus_open_system
0x00001718 addiu a0, sp, 0x50 | a0 = sp + 0x50;
0x0000171c sw zero, 0x50(sp) | *(var_50h) = 0;
0x00001720 jalr t9 | t9 ();
0x00001724 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001728 bltz v0, 0x19e0 | goto label_34;
| }
0x0000172c lbu v0, 0x61b4(s4) | v0 = *((s4 + 25012));
0x00001730 sw zero, 0x60(sp) | *(var_60h) = 0;
0x00001734 sw zero, 0x64(sp) | *(var_64h) = 0;
0x00001738 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0000173c sw zero, 0x54(sp) | *(var_54h) = 0;
0x00001740 lw a0, 0x50(sp) | a0 = *(var_50h);
| if (v0 != 0) {
0x00001744 bnez v0, 0x1a1c | goto label_35;
| }
0x00001748 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x0000174c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001750 addiu a3, a3, 0x45d4 | a3 += str.com.axis.FirmwareManager1;
0x00001754 addiu a2, a2, 0x45b8 | a2 += str._com_axis_FirmwareManager1;
| label_7:
0x00001758 addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x0000175c lw t9, -0x7f64(gp) | t9 = sym.imp.sd_bus_call_method;
0x00001760 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00001764 addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x00001768 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0000176c sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00001770 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00001774 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00001778 move a1, a3 | a1 = a3;
0x0000177c jalr t9 | t9 ();
0x00001780 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001784 bltz v0, 0x1a7c | goto label_36;
| }
0x00001788 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0000178c lbu v0, 0x61b4(s4) | v0 = *((s4 + 25012));
0x00001790 lw s0, 0x54(sp) | s0 = *(var_54h);
0x00001794 lw s1, 0x61b0(v1) | s1 = *((v1 + 6252));
0x00001798 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
| if (v0 != 0) {
0x0000179c bnez v0, 0x1a90 | goto label_37;
| }
0x000017a0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000017a4 move a0, s1 | a0 = s1;
0x000017a8 addiu a1, a1, 0x513c | a1 += str.commit;
0x000017ac jalr t9 | t9 ();
0x000017b0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000017b4 beqz v0, 0x204c | goto label_38;
| }
0x000017b8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000017bc lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000017c0 addiu a1, a1, 0x5164 | a1 += str.status;
0x000017c4 move a0, s1 | a0 = s1;
0x000017c8 jalr t9 | t9 ();
0x000017cc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000017d0 beqz v0, 0x1d74 | goto label_39;
| }
| label_9:
0x000017d4 lw t9, -0x7f2c(gp) | t9 = sym.imp.json_object;
0x000017d8 jalr t9 | t9 ();
0x000017dc nop |
0x000017e0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000017e4 move s0, v0 | s0 = v0;
| label_12:
0x000017e8 lw t9, -0x7f08(gp) | t9 = sym.imp.sd_bus_message_unref;
0x000017ec lw a0, 0x54(sp) | a0 = *(var_54h);
0x000017f0 jalr t9 | t9 ();
0x000017f4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000017f8 lw t9, -0x7f38(gp) | t9 = sym.imp.sd_bus_unref;
0x000017fc lw a0, 0x50(sp) | a0 = *(var_50h);
0x00001800 jalr t9 | t9 ();
0x00001804 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001808 move a1, s0 | a1 = s0;
| do {
| label_6:
0x0000180c lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001810 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001814 addiu t9, t9, 0x2564 | t9 += fcn.00002564;
0x00001818 addiu a0, a0, 0x4ce8 | a0 += str.data;
0x0000181c bal 0x2564 | fcn_00002564 ();
| label_26:
0x00001820 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001824 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001828 addiu a1, a1, 0x508c | a1 += str.getSupportedVersions;
0x0000182c move a0, s0 | a0 = s0;
0x00001830 jalr t9 | t9 ();
0x00001834 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001838 bnez v0, 0x1988 | goto label_40;
| }
0x0000183c lbu v0, 0x61b4(s4) | v0 = *((s4 + 25012));
0x00001840 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (v0 == 0) {
0x00001844 bnel v0, zero, 0x19b8 | goto label_41;
| }
| label_4:
0x00001848 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000184c lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001850 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001854 lw t9, -0x7f90(gp) | t9 = sym.imp.json_pack;
0x00001858 addiu a1, a1, 0x50e0 | a1 += str.apiVersions;
0x0000185c addiu a0, a0, 0x50ec | a0 += str.s_s_;
0x00001860 addiu a2, a2, 0x44e4 | a2 += 0x44e4;
0x00001864 jalr t9 | t9 ();
0x00001868 move a1, v0 | a1 = v0;
0x0000186c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001870 b 0x180c |
| } while (1);
| label_29:
0x00001874 jalr t9 | t9 ();
0x00001878 nop |
0x0000187c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001880 beqz v0, 0x1848 | goto label_4;
| }
0x00001884 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001888 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x0000188c addiu a1, a1, 0x4788 | a1 += str.upgrade;
0x00001890 move a0, s0 | a0 = s0;
0x00001894 jalr t9 | t9 ();
0x00001898 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0000189c beqz v0, 0x1a04 | goto label_42;
| }
0x000018a0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000018a4 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000018a8 addiu a1, a1, 0x513c | a1 += str.commit;
0x000018ac move a0, s0 | a0 = s0;
0x000018b0 jalr t9 | t9 ();
0x000018b4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000018b8 beqz v0, 0x19f8 | goto label_43;
| }
0x000018bc lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000018c0 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000018c4 addiu a1, a1, 0x5144 | a1 += str.rollback;
0x000018c8 move a0, s0 | a0 = s0;
0x000018cc jalr t9 | t9 ();
0x000018d0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000018d4 beqz v0, 0x1bc0 | goto label_44;
| }
0x000018d8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000018dc lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000018e0 addiu a1, a1, 0x5150 | a1 += str.purge;
0x000018e4 move a0, s0 | a0 = s0;
0x000018e8 jalr t9 | t9 ();
0x000018ec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000018f0 beqz v0, 0x1c04 | goto label_45;
| }
0x000018f4 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000018f8 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000018fc addiu a1, a1, 0x5158 | a1 += str.stopAuto;
0x00001900 move a0, s0 | a0 = s0;
0x00001904 jalr t9 | t9 ();
0x00001908 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0000190c beqz v0, 0x2040 | goto label_46;
| }
0x00001910 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001914 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001918 addiu a1, a1, 0x5164 | a1 += str.status;
0x0000191c move a0, s0 | a0 = s0;
0x00001920 jalr t9 | t9 ();
0x00001924 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001928 beqz v0, 0x2094 | goto label_47;
| }
0x0000192c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001930 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001934 addiu a1, a1, 0x516c | a1 += str.reboot;
0x00001938 move a0, s0 | a0 = s0;
0x0000193c jalr t9 | t9 ();
0x00001940 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001944 beqz v0, 0x2130 | goto label_48;
| }
0x00001948 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000194c lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001950 addiu a1, a1, 0x4778 | a1 += str.factoryDefault;
0x00001954 move a0, s0 | a0 = s0;
0x00001958 jalr t9 | t9 ();
0x0000195c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001960 bnez v0, 0x213c | goto label_49;
| }
0x00001964 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001968 lw s2, 0x61a4(v0) | s2 = *((v0 + 6249));
| if (s2 == 0) {
0x0000196c beql s2, zero, 0x215c | goto label_50;
| }
0x00001970 lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
| label_17:
0x00001974 lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x00001978 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x0000197c addiu s1, s1, 0x51b4 | s1 += 0x51b4;
0x00001980 addiu s0, s0, 0x4f80 | s0 += str.FactoryDefault;
0x00001984 b 0x1714 | goto label_5;
| label_40:
0x00001988 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x0000198c lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001990 addiu t9, t9, 0x2c20 | t9 += fcn.00002c20;
0x00001994 addiu a0, a0, 0x50a4 | a0 += str.Missing_apiVersion_in_request.;
0x00001998 bal 0x2c20 | fcn_00002c20 ();
| label_31:
0x0000199c lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x000019a0 addiu s0, s0, 0x4fac | s0 += str.List;
| do {
| label_11:
0x000019a4 lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x000019a8 move s2, zero | s2 = 0;
0x000019ac addiu s1, s1, 0x4e58 | s1 += 0x4e58;
0x000019b0 b 0x1714 | goto label_5;
| label_30:
0x000019b4 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| label_41:
0x000019b8 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000019bc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000019c0 lw t9, -0x7f90(gp) | t9 = sym.imp.json_pack;
0x000019c4 addiu a1, a1, 0x50e0 | a1 += str.apiVersions;
0x000019c8 addiu a0, a0, 0x50ec | a0 += str.s_s_;
0x000019cc addiu a2, a2, 0x44e0 | a2 += 0x44e0;
0x000019d0 jalr t9 | t9 ();
0x000019d4 move a1, v0 | a1 = v0;
0x000019d8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000019dc b 0x180c | goto label_6;
| label_34:
0x000019e0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000019e4 lbu a0, 0x61b4(s4) | a0 = *((s4 + 25012));
0x000019e8 addiu a1, a1, 0x4598 | a1 += str.Failed_to_open_DBus_connection.;
0x000019ec addiu v1, zero, 0x3eb | v1 = 0x3eb;
0x000019f0 addiu v0, zero, 0x1f4 | v0 = 0x1f4;
0x000019f4 b 0x15e4 | goto label_2;
| label_43:
0x000019f8 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x000019fc addiu s0, s0, 0x4634 | s0 += 0x4634;
0x00001a00 b 0x19a4 |
| } while (1);
| label_42:
0x00001a04 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001a08 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001a0c addiu a1, a1, 0x5108 | a1 += str.Multipart_POST_request_must_be_used_for_upgrade.;
0x00001a10 addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00001a14 addiu a0, zero, 0x195 | a0 = 0x195;
0x00001a18 bal 0x26d0 | fcn_000026d0 ();
| label_35:
0x00001a1c lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00001a20 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001a24 addiu a3, a3, 0x4d40 | a3 += str.com.axis.CustomFirmwareCertificates1;
0x00001a28 addiu a2, a2, 0x4d18 | a2 += str._com_axis_CustomFirmwareCertificates1;
0x00001a2c b 0x1758 | goto label_7;
| label_32:
0x00001a30 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001a34 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001a38 addiu a1, a1, 0x48c0 | a1 += str.installCertificate;
0x00001a3c move a0, s0 | a0 = s0;
0x00001a40 jalr t9 | t9 ();
0x00001a44 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001a48 beqz v0, 0x1c28 | goto label_51;
| }
0x00001a4c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001a50 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001a54 addiu a1, a1, 0x4898 | a1 += str.removeCertificate;
0x00001a58 move a0, s0 | a0 = s0;
0x00001a5c jalr t9 | t9 ();
0x00001a60 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001a64 bnez v0, 0x1c10 | goto label_52;
| }
0x00001a68 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001a6c lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00001a70 lw s2, 0x6198(v0) | s2 = *((v0 + 6246));
0x00001a74 addiu s0, s0, 0x4fc4 | s0 += str.Remove;
0x00001a78 b 0x1708 | goto label_8;
| label_36:
0x00001a7c lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001a80 lw a1, 0x64(sp) | a1 = *(var_64h);
0x00001a84 addiu t9, t9, 0x35c8 | t9 += fcn.000035c8;
0x00001a88 lw a0, 0x60(sp) | a0 = *(var_60h);
0x00001a8c bal 0x35c8 | fcn_000035c8 ();
| label_37:
0x00001a90 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001a94 move a0, s1 | a0 = s1;
0x00001a98 addiu a1, a1, 0x50f4 | a1 += str.getCertificateList;
0x00001a9c jalr t9 | t9 ();
0x00001aa0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001aa4 beqz v0, 0x1c40 | goto label_53;
| }
0x00001aa8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001aac lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001ab0 addiu a1, a1, 0x487c | a1 += str.getCertificateProperties;
0x00001ab4 move a0, s1 | a0 = s1;
0x00001ab8 jalr t9 | t9 ();
0x00001abc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001ac0 bnez v0, 0x17d4 | goto label_9;
| }
0x00001ac4 lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00001ac8 lw t9, -0x7f5c(gp) | t9 = sym.imp.sd_bus_message_enter_container;
0x00001acc addiu a2, s2, 0x44f4 | a2 = s2 + str.ss;
0x00001ad0 addiu a1, zero, 0x61 | a1 = 0x61;
0x00001ad4 move a0, s0 | a0 = s0;
0x00001ad8 jalr t9 | t9 ();
0x00001adc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001ae0 bltz v0, 0x2144 | goto label_54;
| }
0x00001ae4 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001ae8 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00001aec sw v0, 0x34(sp) | *(var_34h) = v0;
0x00001af0 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001af4 lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x00001af8 addiu v0, v0, 0x51d4 | v0 += str.ChipSerialNumber;
0x00001afc sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x00001b00 sw zero, 0x38(sp) | *(var_38h) = 0;
0x00001b04 move s7, zero | s7 = 0;
0x00001b08 move s5, zero | s5 = 0;
0x00001b0c addiu fp, sp, 0x5c | fp = sp + 0x5c;
0x00001b10 addiu s3, s3, 0x51c0 | s3 += str.Name;
0x00001b14 addiu s6, s6, 0x51c8 | s6 += str.Authority;
0x00001b18 sw v0, 0x40(sp) | *(var_40h) = v0;
| do {
| label_10:
0x00001b1c lw t9, -0x7f68(gp) | t9 = sym.imp.sd_bus_message_at_end;
0x00001b20 move a1, zero | a1 = 0;
0x00001b24 move a0, s0 | a0 = s0;
0x00001b28 jalr t9 | t9 ();
0x00001b2c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001b30 bnez v0, 0x1cfc | goto label_55;
| }
0x00001b34 lw t9, -0x7f3c(gp) | t9 = sym.imp.sd_bus_message_read;
0x00001b38 move a3, fp | a3 = fp;
0x00001b3c addiu a2, sp, 0x58 | a2 = sp + 0x58;
0x00001b40 addiu a1, s2, 0x44f4 | a1 = s2 + str.ss;
0x00001b44 move a0, s0 | a0 = s0;
0x00001b48 jalr t9 | t9 ();
0x00001b4c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001b50 bltz v0, 0x2144 | goto label_54;
| }
0x00001b54 lw s1, 0x58(sp) | s1 = *(var_58h);
0x00001b58 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001b5c move a1, s3 | a1 = s3;
0x00001b60 move a0, s1 | a0 = s1;
0x00001b64 jalr t9 | t9 ();
0x00001b68 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001b6c bnez v0, 0x1b78 | goto label_56;
| }
0x00001b70 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x00001b74 b 0x1b1c |
| } while (1);
| label_56:
0x00001b78 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001b7c move a1, s6 | a1 = s6;
0x00001b80 move a0, s1 | a0 = s1;
0x00001b84 jalr t9 | t9 ();
0x00001b88 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001b8c bnez v0, 0x1b98 |
0x00001b90 lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x00001b94 b 0x1b1c | goto label_10;
| }
0x00001b98 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001b9c lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001ba0 addiu a1, v0, 0x51d8 | a1 = v0 + 0x51d8;
0x00001ba4 move a0, s1 | a0 = s1;
0x00001ba8 jalr t9 | t9 ();
0x00001bac lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001bb0 bnez v0, 0x1be0 |
0x00001bb4 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00001bb8 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00001bbc b 0x1b1c | goto label_10;
| label_44:
0x00001bc0 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00001bc4 addiu s0, s0, 0x4624 | s0 += 0x4624;
0x00001bc8 b 0x19a4 | goto label_11;
| label_33:
0x00001bcc lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001bd0 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001bd4 addiu t9, t9, 0x2c20 | t9 += fcn.00002c20;
0x00001bd8 addiu a0, a0, 0x5190 | a0 += str.Missing_mandatory_parameter.;
0x00001bdc bal 0x2c20 | fcn_00002c20 ();
| }
0x00001be0 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001be4 lw a1, 0x40(sp) | a1 = *(var_40h);
0x00001be8 move a0, s1 | a0 = s1;
0x00001bec jalr t9 | t9 ();
0x00001bf0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001bf4 bnez v0, 0x1b1c | goto label_10;
| }
0x00001bf8 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00001bfc sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00001c00 b 0x1b1c | goto label_10;
| label_45:
0x00001c04 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00001c08 addiu s0, s0, 0x4f90 | s0 += str.Purge;
0x00001c0c b 0x19a4 | goto label_11;
| label_52:
0x00001c10 addiu a0, zero, 0x3e9 | a0 = 0x3e9;
| label_16:
0x00001c14 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001c18 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001c1c addiu t9, t9, 0x26d0 | t9 += fcn.000026d0;
0x00001c20 addiu a1, a1, 0x5174 | a1 += str.Unknown_method_in_request.;
0x00001c24 bal 0x26d0 | fcn_000026d0 ();
| label_51:
0x00001c28 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001c2c move a2, zero | a2 = 0;
0x00001c30 move a1, zero | a1 = 0;
0x00001c34 addiu t9, t9, 0x3914 | t9 += fcn.00003914;
0x00001c38 move a0, zero | a0 = 0;
0x00001c3c bal 0x3914 | fcn_00003914 ();
| label_53:
0x00001c40 lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x00001c44 lw t9, -0x7f5c(gp) | t9 = sym.imp.sd_bus_message_enter_container;
0x00001c48 addiu a2, s1, 0x51b4 | a2 = s1 + 0x51b4;
0x00001c4c addiu a1, zero, 0x61 | a1 = 0x61;
0x00001c50 move a0, s0 | a0 = s0;
0x00001c54 jalr t9 | t9 ();
0x00001c58 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001c5c bltz v0, 0x2144 | goto label_54;
| }
0x00001c60 lw t9, -0x7f40(gp) | t9 = sym.imp.json_array;
0x00001c64 addiu s3, sp, 0x5c | s3 = sp + 0x5c;
0x00001c68 jalr t9 | t9 ();
0x00001c6c move s2, v0 | s2 = v0;
0x00001c70 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001c74 addiu s1, s1, 0x51b4 | s1 += 0x51b4;
0x00001c78 b 0x1cbc |
| while (v0 == 0) {
0x00001c7c lw t9, -0x7f3c(gp) | t9 = sym.imp.sd_bus_message_read;
0x00001c80 move a2, s3 | a2 = s3;
0x00001c84 move a1, s1 | a1 = s1;
0x00001c88 move a0, s0 | a0 = s0;
0x00001c8c jalr t9 | t9 ();
0x00001c90 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001c94 bltz v0, 0x2144 | goto label_54;
| }
0x00001c98 lw t9, -0x7efc(gp) | t9 = sym.imp.json_string;
0x00001c9c lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00001ca0 jalr t9 | t9 ();
0x00001ca4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001ca8 move a1, v0 | a1 = v0;
0x00001cac lw t9, -0x7ee0(gp) | t9 = sym.imp.json_array_append_new;
0x00001cb0 move a0, s2 | a0 = s2;
0x00001cb4 jalr t9 | t9 ();
0x00001cb8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001cbc lw t9, -0x7f68(gp) | t9 = sym.imp.sd_bus_message_at_end;
0x00001cc0 move a1, zero | a1 = 0;
0x00001cc4 move a0, s0 | a0 = s0;
0x00001cc8 jalr t9 | t9 ();
0x00001ccc lw gp, 0x28(sp) | gp = *(var_28h);
0x00001cd0 beqz v0, 0x1c7c |
| }
0x00001cd4 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001cd8 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001cdc lw t9, -0x7f90(gp) | t9 = sym.imp.json_pack;
0x00001ce0 move a2, s2 | a2 = s2;
0x00001ce4 addiu a1, a1, 0x51b0 | a1 += str.items;
0x00001ce8 addiu a0, a0, 0x51b8 | a0 += str.so;
0x00001cec jalr t9 | t9 ();
0x00001cf0 move s0, v0 | s0 = v0;
0x00001cf4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001cf8 b 0x17e8 | goto label_12;
| label_55:
0x00001cfc lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (s5 == 0) {
0x00001d00 beqz s5, 0x2148 | goto label_57;
| }
0x00001d04 lbu a0, 0x61b4(s4) | a0 = *((s4 + 25012));
| if (s7 == 0) {
0x00001d08 beqz s7, 0x214c | goto label_58;
| }
0x00001d0c lw v1, 0x38(sp) | v1 = *(var_38h);
0x00001d10 addiu a1, a1, 0x4d70 | a1 += str.Could_not_parse_reply_from_firmware_manager.;
| if (v1 == 0) {
0x00001d14 beqz v1, 0x2150 | goto label_59;
| }
0x00001d18 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00001d1c lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
| if (v0 == 0) {
0x00001d20 beqz v0, 0x2144 | goto label_54;
| }
0x00001d24 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00001d28 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001d2c addiu v0, v0, 0x5200 | v0 += str.chipSerialNumber;
0x00001d30 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00001d34 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001d38 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001d3c lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001d40 lw t9, -0x7f90(gp) | t9 = sym.imp.json_pack;
0x00001d44 addiu v0, v0, 0x5214 | v0 += str.serialNumber;
0x00001d48 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00001d4c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00001d50 sw s7, 0x10(sp) | *(var_10h) = s7;
0x00001d54 addiu a3, a3, 0x51e8 | a3 += str.authority;
0x00001d58 move a2, s5 | a2 = s5;
0x00001d5c addiu a1, a1, 0x4874 | a1 += str.name;
0x00001d60 addiu a0, a0, 0x51f4 | a0 += str.ssssssss;
0x00001d64 jalr t9 | t9 ();
0x00001d68 move s0, v0 | s0 = v0;
0x00001d6c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001d70 b 0x17e8 | goto label_12;
| label_39:
0x00001d74 lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00001d78 lw t9, -0x7f5c(gp) | t9 = sym.imp.sd_bus_message_enter_container;
0x00001d7c addiu a2, s2, 0x44f4 | a2 = s2 + str.ss;
0x00001d80 addiu a1, zero, 0x61 | a1 = 0x61;
0x00001d84 move a0, s0 | a0 = s0;
0x00001d88 jalr t9 | t9 ();
0x00001d8c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001d90 bltz v0, 0x2144 | goto label_54;
| }
0x00001d94 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001d98 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00001d9c addiu v0, v0, 0x5268 | v0 += str.IsCommitted;
0x00001da0 lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x00001da4 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00001da8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001dac lw fp, -0x7fd8(gp) | fp = *((gp - 8182));
0x00001db0 sw zero, 0x40(sp) | *(var_40h) = 0;
0x00001db4 sw zero, 0x48(sp) | *(var_48h) = 0;
0x00001db8 sw zero, 0x44(sp) | *(var_44h) = 0;
0x00001dbc sw zero, 0x38(sp) | *(var_38h) = 0;
0x00001dc0 sw zero, 0x34(sp) | *(var_34h) = 0;
0x00001dc4 move s7, zero | s7 = 0;
0x00001dc8 move s5, zero | s5 = 0;
0x00001dcc addiu s3, s3, 0x5224 | s3 += str.ActiveFirmwareVersion;
0x00001dd0 addiu s6, s6, 0x523c | s6 += str.ActiveFirmwarePart;
0x00001dd4 sw v0, 0x4c(sp) | *(var_4ch) = v0;
| do {
| label_13:
0x00001dd8 lw t9, -0x7f68(gp) | t9 = sym.imp.sd_bus_message_at_end;
0x00001ddc move a1, zero | a1 = 0;
0x00001de0 move a0, s0 | a0 = s0;
0x00001de4 jalr t9 | t9 ();
0x00001de8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001dec bnez v0, 0x1ee0 | goto label_60;
| }
0x00001df0 lw t9, -0x7f3c(gp) | t9 = sym.imp.sd_bus_message_read;
0x00001df4 addiu a3, sp, 0x5c | a3 = sp + 0x5c;
0x00001df8 addiu a2, sp, 0x58 | a2 = sp + 0x58;
0x00001dfc addiu a1, s2, 0x44f4 | a1 = s2 + str.ss;
0x00001e00 move a0, s0 | a0 = s0;
0x00001e04 jalr t9 | t9 ();
0x00001e08 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00001e0c bltz v0, 0x2144 | goto label_54;
| }
0x00001e10 lw s1, 0x58(sp) | s1 = *(var_58h);
0x00001e14 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001e18 move a1, s3 | a1 = s3;
0x00001e1c move a0, s1 | a0 = s1;
0x00001e20 jalr t9 | t9 ();
0x00001e24 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001e28 bnez v0, 0x1e34 | goto label_61;
| }
0x00001e2c lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x00001e30 b 0x1dd8 |
| } while (1);
| label_61:
0x00001e34 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001e38 move a1, s6 | a1 = s6;
0x00001e3c move a0, s1 | a0 = s1;
0x00001e40 jalr t9 | t9 ();
0x00001e44 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001e48 bnez v0, 0x1e54 |
0x00001e4c lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x00001e50 b 0x1dd8 | goto label_13;
| }
0x00001e54 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001e58 addiu a1, fp, 0x5250 | a1 = fp + str.InactiveFirmwareVersion;
0x00001e5c move a0, s1 | a0 = s1;
0x00001e60 jalr t9 | t9 ();
0x00001e64 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001e68 bnez v0, 0x1e78 |
0x00001e6c lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00001e70 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00001e74 b 0x1dd8 | goto label_13;
| }
0x00001e78 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001e7c lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x00001e80 move a0, s1 | a0 = s1;
0x00001e84 jalr t9 | t9 ();
0x00001e88 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001e8c bnez v0, 0x1e9c |
0x00001e90 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00001e94 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00001e98 b 0x1dd8 | goto label_13;
| }
0x00001e9c lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x00001ea0 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001ea4 addiu a1, v0, 0x5274 | a1 = v0 + str.TimeToRollback;
0x00001ea8 move a0, s1 | a0 = s1;
0x00001eac jalr t9 | t9 ();
0x00001eb0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001eb4 beqz v0, 0x20c8 | goto label_62;
| }
0x00001eb8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001ebc lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001ec0 addiu a1, a1, 0x5284 | a1 += str.PendingCommit;
0x00001ec4 move a0, s1 | a0 = s1;
0x00001ec8 jalr t9 | t9 ();
0x00001ecc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001ed0 bnez v0, 0x20a0 | goto label_63;
| }
0x00001ed4 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00001ed8 sw v0, 0x48(sp) | *(var_48h) = v0;
0x00001edc b 0x1dd8 | goto label_13;
| label_60:
0x00001ee0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (s5 == 0) {
0x00001ee4 beqz s5, 0x2148 | goto label_57;
| }
0x00001ee8 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
| if (s7 == 0) {
0x00001eec beqz s7, 0x2148 | goto label_57;
| }
0x00001ef0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001ef4 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001ef8 lw t9, -0x7f90(gp) | t9 = sym.imp.json_pack;
0x00001efc sw s7, 0x10(sp) | *(var_10h) = s7;
0x00001f00 addiu a3, a3, 0x52a4 | a3 += str.activeFirmwarePart;
0x00001f04 move a2, s5 | a2 = s5;
0x00001f08 addiu a1, a1, 0x52b8 | a1 += str.activeFirmwareVersion;
0x00001f0c addiu a0, a0, 0x52d0 | a0 += str.ssss;
0x00001f10 jalr t9 | t9 ();
0x00001f14 move s0, v0 | s0 = v0;
0x00001f18 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001f1c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001f20 beqz v0, 0x17e8 | goto label_12;
| }
0x00001f24 lw s1, 0x38(sp) | s1 = *(var_38h);
0x00001f28 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
| if (s1 == 0) {
0x00001f2c beqz s1, 0x2144 | goto label_54;
| }
0x00001f30 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001f34 addiu a1, a1, 0x52d8 | a1 += str.True;
0x00001f38 move a0, s1 | a0 = s1;
0x00001f3c jalr t9 | t9 ();
0x00001f40 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001f44 beqz v0, 0x1f64 |
0x00001f48 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001f4c lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x00001f50 addiu a1, a1, 0x52e0 | a1 += str.False;
0x00001f54 move a0, s1 | a0 = s1;
0x00001f58 jalr t9 | t9 ();
0x00001f5c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001f60 bnez v0, 0x2144 | goto label_54;
| }
| }
0x00001f64 lw t9, -0x7efc(gp) | t9 = sym.imp.json_string;
0x00001f68 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00001f6c jalr t9 | t9 ();
0x00001f70 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001f74 move a2, v0 | a2 = v0;
0x00001f78 move a0, s0 | a0 = s0;
0x00001f7c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001f80 lw t9, -0x7ee8(gp) | t9 = sym.imp.json_object_set_new_nocheck;
0x00001f84 addiu a1, a1, 0x52e8 | a1 += str.inactiveFirmwareVersion;
0x00001f88 jalr t9 | t9 ();
0x00001f8c lw v0, 0x38(sp) | v0 = *(var_38h);
0x00001f90 lb v1, (v0) | v1 = *(v0);
0x00001f94 addiu v0, zero, 0x46 | v0 = 0x46;
0x00001f98 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 == v0) {
0x00001f9c beq v1, v0, 0x20e8 | goto label_64;
| }
0x00001fa0 lw t9, -0x7f58(gp) | t9 = sym.imp.json_true;
0x00001fa4 jalr t9 | t9 ();
0x00001fa8 nop |
0x00001fac lw gp, 0x28(sp) | gp = *(var_28h);
| label_14:
0x00001fb0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001fb4 lw t9, -0x7ee8(gp) | t9 = sym.imp.json_object_set_new_nocheck;
0x00001fb8 move a2, v0 | a2 = v0;
0x00001fbc addiu a1, a1, 0x5300 | a1 += str.isCommitted;
0x00001fc0 move a0, s0 | a0 = s0;
0x00001fc4 jalr t9 | t9 ();
0x00001fc8 lw v0, 0x40(sp) | v0 = *(var_40h);
0x00001fcc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001fd0 bnez v0, 0x20fc | goto label_65;
| }
| label_15:
0x00001fd4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00001fd8 lw t9, -0x7efc(gp) | t9 = sym.imp.json_string;
| if (a0 != 0) {
0x00001fdc beqz a0, 0x2008 |
0x00001fe0 jalr t9 | t9 ();
0x00001fe4 nop |
0x00001fe8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001fec move a2, v0 | a2 = v0;
0x00001ff0 move a0, s0 | a0 = s0;
0x00001ff4 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001ff8 lw t9, -0x7ee8(gp) | t9 = sym.imp.json_object_set_new_nocheck;
0x00001ffc addiu a1, a1, 0x531c | a1 += str.pendingCommit;
0x00002000 jalr t9 | t9 ();
0x00002004 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x00002008 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0000200c lw t9, -0x7efc(gp) | t9 = sym.imp.json_string;
| if (a0 == 0) {
0x00002010 beqz a0, 0x17e8 | goto label_12;
| }
0x00002014 jalr t9 | t9 ();
0x00002018 nop |
0x0000201c lw gp, 0x28(sp) | gp = *(var_28h);
0x00002020 move a2, v0 | a2 = v0;
0x00002024 move a0, s0 | a0 = s0;
0x00002028 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000202c lw t9, -0x7ee8(gp) | t9 = sym.imp.json_object_set_new_nocheck;
0x00002030 addiu a1, a1, 0x532c | a1 += str.lastUpgradeAt;
0x00002034 jalr t9 | t9 ();
0x00002038 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000203c b 0x17e8 | goto label_12;
| label_46:
0x00002040 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00002044 addiu s0, s0, 0x4f98 | s0 += str.StopAuto;
0x00002048 b 0x19a4 | goto label_11;
| label_38:
0x0000204c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002050 lw t9, -0x7f3c(gp) | t9 = sym.imp.sd_bus_message_read;
0x00002054 addiu a2, sp, 0x5c | a2 = sp + 0x5c;
0x00002058 addiu a1, a1, 0x51b4 | a1 += 0x51b4;
0x0000205c move a0, s0 | a0 = s0;
0x00002060 jalr t9 | t9 ();
0x00002064 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x00002068 bltz v0, 0x2144 | goto label_54;
| }
0x0000206c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002070 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00002074 lw t9, -0x7f90(gp) | t9 = sym.imp.json_pack;
0x00002078 lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0000207c addiu a1, a1, 0x4cd8 | a1 += str.firmwareVersion;
0x00002080 addiu a0, a0, 0x44f4 | a0 += str.ss;
0x00002084 jalr t9 | t9 ();
0x00002088 move s0, v0 | s0 = v0;
0x0000208c lw gp, 0x28(sp) | gp = *(var_28h);
0x00002090 b 0x17e8 | goto label_12;
| label_47:
0x00002094 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00002098 addiu s0, s0, 0x4fa4 | s0 += str.Status;
0x0000209c b 0x19a4 | goto label_11;
| label_63:
0x000020a0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000020a4 lw t9, -0x7fa0(gp) | t9 = sym.imp.strcmp;
0x000020a8 addiu a1, a1, 0x5294 | a1 += str.LastUpgradeAt;
0x000020ac move a0, s1 | a0 = s1;
0x000020b0 jalr t9 | t9 ();
0x000020b4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x000020b8 bnez v0, 0x1dd8 | goto label_13;
| }
0x000020bc lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x000020c0 sw v0, 0x44(sp) | *(var_44h) = v0;
0x000020c4 b 0x1dd8 | goto label_13;
| label_62:
0x000020c8 lw t9, -0x7ef4(gp) | t9 = sym.imp.strtol;
0x000020cc lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x000020d0 addiu a2, zero, 0xa | a2 = 0xa;
0x000020d4 move a1, zero | a1 = 0;
0x000020d8 jalr t9 | t9 ();
0x000020dc sw v0, 0x40(sp) | *(var_40h) = v0;
0x000020e0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000020e4 b 0x1dd8 | goto label_13;
| label_64:
0x000020e8 lw t9, -0x7f48(gp) | t9 = sym.imp.json_false;
0x000020ec jalr t9 | t9 ();
0x000020f0 nop |
0x000020f4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000020f8 b 0x1fb0 | goto label_14;
| label_65:
0x000020fc lw t9, -0x7ebc(gp) | t9 = sym.imp.json_integer;
0x00002100 move a0, v0 | a0 = v0;
0x00002104 move a1, zero | a1 = 0;
0x00002108 jalr t9 | t9 ();
0x0000210c lw gp, 0x28(sp) | gp = *(var_28h);
0x00002110 move a2, v0 | a2 = v0;
0x00002114 move a0, s0 | a0 = s0;
0x00002118 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000211c lw t9, -0x7ee8(gp) | t9 = sym.imp.json_object_set_new_nocheck;
0x00002120 addiu a1, a1, 0x530c | a1 += str.timeToRollback;
0x00002124 jalr t9 | t9 ();
0x00002128 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000212c b 0x1fd4 | goto label_15;
| label_48:
0x00002130 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00002134 addiu s0, s0, 0x4fb4 | s0 += str.Reboot;
0x00002138 b 0x19a4 | goto label_11;
| label_49:
0x0000213c addiu a0, zero, 0x195 | a0 = 0x195;
0x00002140 b 0x1c14 | goto label_16;
| label_54:
0x00002144 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| label_57:
0x00002148 lbu a0, 0x61b4(s4) | a0 = *((s4 + 25012));
| label_58:
0x0000214c addiu a1, a1, 0x4d70 | a1 += str.Could_not_parse_reply_from_firmware_manager.;
| label_59:
0x00002150 addiu v1, zero, 0x3eb | v1 = 0x3eb;
0x00002154 addiu v0, zero, 0x1f4 | v0 = 0x1f4;
0x00002158 b 0x15e4 | goto label_2;
| label_50:
0x0000215c addiu s2, s2, 0x47b0 | s2 += str.Soft;
0x00002160 b 0x1974 | goto label_17;
| }
[*] Function system used 4 times custfwcerts.cgi