[*] Binary protection state of opkg
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of opkg
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/opkg @ 0xe10 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 4944 named .text */
0x00000e10 lui gp, 2 |
0x00000e14 addiu gp, gp, -0x3a70 |
0x00000e18 addu gp, gp, t9 | gp += t9;
0x00000e1c lw v0, -0x7f88(gp) | v0 = *((gp - 8162));
0x00000e20 addiu sp, sp, -0x68 |
0x00000e24 lw t9, -0x7f6c(gp) | t9 = sym.imp.opkg_conf_init;
0x00000e28 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00000e2c lw v0, (v0) | v0 = *(v0);
0x00000e30 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00000e34 sw s5, 0x54(sp) | *(var_54h) = s5;
0x00000e38 sw s4, 0x50(sp) | *(var_50h) = s4;
0x00000e3c sw ra, 0x64(sp) | *(var_64h) = ra;
0x00000e40 sw fp, 0x60(sp) | *(var_60h) = fp;
0x00000e44 sw s7, 0x5c(sp) | *(var_5ch) = s7;
0x00000e48 sw s6, 0x58(sp) | *(var_58h) = s6;
0x00000e4c sw s3, 0x4c(sp) | *(var_4ch) = s3;
0x00000e50 sw s2, 0x48(sp) | *(var_48h) = s2;
0x00000e54 sw s1, 0x44(sp) | *(var_44h) = s1;
0x00000e58 sw s0, 0x40(sp) | *(var_40h) = s0;
0x00000e5c sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00000e60 move s5, a0 | s5 = a0;
0x00000e64 move s4, a1 | s4 = a1;
0x00000e68 jalr t9 | t9 ();
0x00000e6c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00000e70 bnez v0, 0x1600 | goto label_9;
| }
0x00000e74 lw s6, -0x7f50(gp) | s6 = *((gp - 8148));
0x00000e78 move s3, v0 | s3 = v0;
0x00000e7c lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x00000e80 lw v0, (s6) | v0 = *(s6);
0x00000e84 addiu a0, zero, 1 | a0 = 1;
0x00000e88 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
0x00000e8c sw v1, 0x28(sp) | *(var_28h) = v1;
0x00000e90 sw a0, 0xd8(v0) | *((v0 + 54)) = a0;
0x00000e94 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00000e98 addiu v0, sp, 0x38 | v0 = sp + 0x38;
0x00000e9c lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00000ea0 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00000ea4 addiu v0, s2, 0x3990 | v0 = s2 + str.Confusion:_getopt_long_returned__d_n;
0x00000ea8 sw v1, 0x20(sp) | *(var_20h) = v1;
0x00000eac sw zero, 0x38(sp) | *(var_38h) = 0;
0x00000eb0 addiu s1, s1, 0x3eb0 | s1 += 0x3eb0;
0x00000eb4 sw v0, 0x2c(sp) | *(var_2ch) = v0;
| do {
| label_0:
0x00000eb8 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00000ebc addiu s2, zero, -1 | s2 = -1;
0x00000ec0 addiu fp, v0, 0x5010 | fp = v0 + 0x5010;
0x00000ec4 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00000ec8 addiu s7, v0, 0x394c | s7 = v0 + str.Ad:f:no:p:l:t:vV::;
0x00000ecc lw v0, 0x24(sp) | v0 = *(var_24h);
0x00000ed0 lw t9, -0x7f68(gp) | t9 = sym.imp.getopt_long;
0x00000ed4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00000ed8 move a3, fp | a3 = fp;
0x00000edc move a2, s7 | a2 = s7;
0x00000ee0 move a1, s4 | a1 = s4;
0x00000ee4 move a0, s5 | a0 = s5;
0x00000ee8 jalr t9 | t9 ();
0x00000eec move s0, v0 | s0 = v0;
0x00000ef0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s2) {
0x00000ef4 beq v0, s2, 0x12ec | goto label_10;
| }
0x00000ef8 addiu v0, v0, -0x3a | v0 += -0x3a;
0x00000efc sltiu a0, v0, 0x64 | a0 = (v0 < 0x64) ? 1 : 0;
0x00000f00 sll v0, v0, 2 | v0 <<= 2;
| if (a0 == 0) {
0x00000f04 beqz a0, 0x12d0 | goto label_11;
| }
0x00000f08 lwx v0, v0(s1) | __asm ("lwx v0, v0(s1)");
0x00000f0c addu v0, v0, gp | v0 += gp;
0x00000f10 jr v0 | v0 ();
0x00000f14 nop |
| label_6:
0x0000107c lw t9, -0x7f70(gp) | t9 = sym.imp.nv_pair_list_append;
0x00001080 move a1, a3 | a1 = a3;
0x00001084 sw a3, 0x34(sp) | *(var_34h) = a3;
0x00001088 addiu a2, v0, 1 | a2 = v0 + 1;
0x0000108c jalr t9 | t9 ();
0x00001090 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001094 lw a3, 0x34(sp) | a3 = *(var_34h);
0x00001098 lw t9, -0x7f5c(gp) | t9 = sym.imp.free;
0x0000109c move a0, a3 | a0 = a3;
0x000010a0 jalr t9 | t9 ();
0x000010a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000010a8 b 0xeb8 |
| } while (1);
| label_11:
0x000012d0 lw t9, -0x7f34(gp) | t9 = sym.imp.__printf_chk;
0x000012d4 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x000012d8 move a2, s0 | a2 = s0;
0x000012dc addiu a0, zero, 1 | a0 = 1;
0x000012e0 jalr t9 | t9 ();
0x000012e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000012e8 b 0xeb8 | goto label_0;
| label_10:
0x000012ec lw v0, -0x7f60(gp) | v0 = *((gp - 8152));
| if (s3 == 0) {
0x000012f0 beqz s3, 0x1328 | goto label_12;
| }
| label_1:
0x000012f4 lw v0, -0x7f78(gp) | v0 = *((gp - 8158));
| do {
0x000012f8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000012fc lw t9, -0x7f90(gp) | t9 = sym.imp.fwrite;
0x00001300 lw a3, (v0) | a3 = *(v0);
0x00001304 addiu a2, zero, 0x28 | a2 = 0x28;
0x00001308 addiu a1, zero, 1 | a1 = 1;
0x0000130c addiu a0, a0, 0x39b4 | a0 += str.opkg_must_have_one_sub_command_argument_n;
0x00001310 jalr t9 | t9 ();
0x00001314 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001318 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0000131c addiu t9, t9, 0x1960 | t9 += fcn.00001960;
0x00001320 bal 0x1960 | fcn_00001960 ();
0x00001324 nop |
| label_12:
0x00001328 lw s2, (v0) | s2 = *(v0);
0x0000132c beql s5, s2, 0x12f8 |
| } while (s5 == s2);
0x00001330 lw v0, -0x7f78(gp) | v0 = *((gp - 8158));
0x00001334 sll s3, s2, 2 | s3 = s2 << 2;
| if (s2 < 0) {
0x00001338 bltz s2, 0x12f4 | goto label_1;
| }
0x0000133c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001340 lwx s1, s3(s4) | __asm ("lwx s1, s3(s4)");
0x00001344 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001348 addiu a1, a1, 0x39e0 | a1 += 0x39e0;
0x0000134c move a0, s1 | a0 = s1;
0x00001350 jalr t9 | t9 ();
0x00001354 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001358 move a0, s1 | a0 = s1;
0x0000135c move fp, v0 | fp = v0;
0x00001360 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001364 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001368 addiu a1, a1, 0x39f4 | a1 += 0x39f4;
0x0000136c jalr t9 | t9 ();
0x00001370 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001374 move a0, s1 | a0 = s1;
0x00001378 move s7, v0 | s7 = v0;
0x0000137c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001380 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001384 addiu a1, a1, 0x3a08 | a1 += str.flag;
0x00001388 jalr t9 | t9 ();
0x0000138c addiu s2, s2, 1 | s2++;
0x00001390 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001394 move a2, v0 | a2 = v0;
| if (fp != 0) {
0x00001398 beqz fp, 0x1488 |
0x0000139c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000013a0 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x000013a4 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000013a8 addiu a1, a1, 0x3a10 | a1 += str.print_architecture;
0x000013ac move a0, s1 | a0 = s1;
0x000013b0 jalr t9 | t9 ();
0x000013b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000013b8 lw a2, 0x20(sp) | a2 = *(var_20h);
| if (v0 == 0) {
0x000013bc beqz v0, 0x1488 | goto label_13;
| }
0x000013c0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000013c4 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x000013c8 addiu a1, a1, 0x3a24 | a1 += 0x3a24;
0x000013cc move a0, s1 | a0 = s1;
0x000013d0 jalr t9 | t9 ();
0x000013d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000013d8 lw a2, 0x20(sp) | a2 = *(var_20h);
| if (v0 == 0) {
0x000013dc beqz v0, 0x1488 | goto label_13;
| }
0x000013e0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000013e4 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x000013e8 addiu a1, a1, 0x3a44 | a1 += str.print_installation_architecture;
0x000013ec move a0, s1 | a0 = s1;
0x000013f0 jalr t9 | t9 ();
0x000013f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000013f8 lw a2, 0x20(sp) | a2 = *(var_20h);
| if (v0 == 0) {
0x000013fc beqz v0, 0x1488 | goto label_13;
| }
0x00001400 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
| if (s7 == 0) {
0x00001404 beqz s7, 0x1770 | goto label_14;
| }
0x00001408 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x0000140c sw a2, 0x24(sp) | *(var_24h) = a2;
0x00001410 addiu a1, a3, 0x3a64 | a1 = a3 + str.compare_versions;
0x00001414 sw a3, 0x20(sp) | *(var_20h) = a3;
0x00001418 move a0, s1 | a0 = s1;
0x0000141c jalr t9 | t9 ();
0x00001420 lw a2, 0x24(sp) | a2 = *(var_24h);
0x00001424 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001428 sltiu fp, v0, 1 | fp = (v0 < 1) ? 1 : 0;
0x0000142c lw a3, 0x20(sp) | a3 = *(var_20h);
| if (a2 != 0) {
0x00001430 beqz a2, 0x147c |
0x00001434 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001438 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x0000143c sw a3, 0x20(sp) | *(var_20h) = a3;
0x00001440 addiu a1, a1, 0x3a78 | a1 += str.configure;
0x00001444 move a0, s1 | a0 = s1;
0x00001448 jalr t9 | t9 ();
0x0000144c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001450 lw a3, 0x20(sp) | a3 = *(var_20h);
| if (v0 == 0) {
0x00001454 beqz v0, 0x147c | goto label_15;
| }
0x00001458 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000145c lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001460 sw a3, 0x20(sp) | *(var_20h) = a3;
0x00001464 addiu a1, a1, 0x3b50 | a1 += 0x3b50;
0x00001468 move a0, s1 | a0 = s1;
0x0000146c jalr t9 | t9 ();
0x00001470 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001474 lw a3, 0x20(sp) | a3 = *(var_20h);
| if (v0 != 0) {
0x00001478 bnez v0, 0x1640 | goto label_16;
| }
| }
| label_15:
0x0000147c addiu v0, zero, 1 | v0 = 1;
0x00001480 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00001484 b 0x15b4 | goto label_17;
| }
| label_13:
0x00001488 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (a2 != 0) {
0x0000148c bnez a2, 0x1608 | goto label_18;
| }
| label_4:
0x00001490 addiu v0, zero, 1 | v0 = 1;
0x00001494 addiu fp, zero, 1 | fp = 1;
0x00001498 sw v0, 0x20(sp) | *(var_20h) = v0;
| label_5:
0x0000149c lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000014a0 bnez s7, 0x15b4 |
| while (v0 == 0) {
| label_7:
0x000014a4 lw t9, -0x7fb4(gp) | t9 = sym.imp.opkg_cmd_find;
0x000014a8 move a0, s1 | a0 = s1;
0x000014ac jalr t9 | t9 ();
0x000014b0 move s7, v0 | s7 = v0;
0x000014b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000014b8 beqz v0, 0x1730 | goto label_19;
| }
0x000014bc lw v0, (s6) | v0 = *(s6);
0x000014c0 lw v1, 0xc(s7) | v1 = *((s7 + 3));
0x000014c4 sw v1, 0x68(v0) | *((v0 + 26)) = v1;
| label_2:
0x000014c8 lw v0, 4(s7) | v0 = *((s7 + 1));
| if (fp != 0) {
0x000014cc bnel fp, zero, 0x1508 |
0x000014d0 lw v0, 0x20(sp) | v0 = *(var_20h);
0x000014d4 lw t9, -0x7fa8(gp) | t9 = sym.imp.pkg_hash_load_status_files;
| if (v0 == 0) {
0x000014d8 bnez v0, 0x14f4 |
0x000014dc lw t9, -0x7f2c(gp) | t9 = sym.imp.pkg_hash_load_feeds;
0x000014e0 jalr t9 | t9 ();
0x000014e4 nop |
0x000014e8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000014ec bnez v0, 0x1540 | goto label_20;
| }
0x000014f0 lw t9, -0x7fa8(gp) | t9 = sym.imp.pkg_hash_load_status_files;
| }
0x000014f4 jalr t9 | t9 ();
0x000014f8 nop |
0x000014fc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001500 bnez v0, 0x1540 | goto label_20;
| }
0x00001504 lw v0, 4(s7) | v0 = *((s7 + 1));
| }
0x00001508 lw t9, -0x7f94(gp) | t9 = sym.imp.opkg_cmd_exec;
| if (v0 != 0) {
0x0000150c beqz v0, 0x1518 |
| if (s5 == s2) {
0x00001510 beql s5, s2, 0x17d4 | goto label_21;
| }
0x00001514 lw v0, -0x7f78(gp) | v0 = *((gp - 8158));
| }
0x00001518 addiu a2, s3, 4 | a2 = s3 + 4;
0x0000151c addu a2, s4, a2 | a2 = s4 + a2;
0x00001520 subu a1, s5, s2 | __asm ("subu a1, s5, s2");
0x00001524 move a0, s7 | a0 = s7;
0x00001528 jalr t9 | t9 ();
0x0000152c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001530 lw t9, -0x7f48(gp) | t9 = sym.imp.opkg_download_cleanup;
0x00001534 move s0, v0 | s0 = v0;
0x00001538 jalr t9 | t9 ();
0x0000153c lw gp, 0x18(sp) | gp = *(var_18h);
| label_20:
0x00001540 lw t9, -0x7f40(gp) | t9 = sym.imp.opkg_conf_deinit;
0x00001544 jalr t9 | t9 ();
0x00001548 nop |
0x0000154c lw gp, 0x18(sp) | gp = *(var_18h);
| label_3:
0x00001550 lw t9, -0x7f8c(gp) | t9 = sym.imp.print_error_list;
0x00001554 jalr t9 | t9 ();
0x00001558 nop |
0x0000155c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001560 lw t9, -0x7f4c(gp) | t9 = sym.imp.free_error_list;
0x00001564 jalr t9 | t9 ();
0x00001568 nop |
0x0000156c lw v0, 0x30(sp) | v0 = *(var_30h);
0x00001570 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x00001574 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001578 lw v1, (v0) | v1 = *(v0);
0x0000157c move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00001580 bne a0, v1, 0x17c8 | goto label_22;
| }
0x00001584 lw ra, 0x64(sp) | ra = *(var_64h);
0x00001588 lw fp, 0x60(sp) | fp = *(var_60h);
0x0000158c lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x00001590 lw s6, 0x58(sp) | s6 = *(var_58h);
0x00001594 lw s5, 0x54(sp) | s5 = *(var_54h);
0x00001598 lw s4, 0x50(sp) | s4 = *(var_50h);
0x0000159c lw s3, 0x4c(sp) | s3 = *(var_4ch);
0x000015a0 lw s2, 0x48(sp) | s2 = *(var_48h);
0x000015a4 lw s1, 0x44(sp) | s1 = *(var_44h);
0x000015a8 lw s0, 0x40(sp) | s0 = *(var_40h);
0x000015ac addiu sp, sp, 0x68 |
0x000015b0 jr ra | return v0;
| label_17:
0x000015b4 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x000015b8 addiu a1, a3, 0x3a64 | a1 = a3 + str.compare_versions;
0x000015bc move a0, s1 | a0 = s1;
0x000015c0 jalr t9 | t9 ();
0x000015c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000015c8 beqz v0, 0x14a4 |
| }
0x000015cc lw t9, -0x7fb4(gp) | t9 = sym.imp.opkg_cmd_find;
0x000015d0 move a0, s1 | a0 = s1;
0x000015d4 jalr t9 | t9 ();
0x000015d8 move s7, v0 | s7 = v0;
0x000015dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000015e0 beqz v0, 0x1730 | goto label_19;
| }
0x000015e4 lw v0, (s6) | v0 = *(s6);
0x000015e8 lw v1, 0xc(s7) | v1 = *((s7 + 3));
0x000015ec lw t9, -0x7f80(gp) | t9 = sym.imp.opkg_conf_load;
0x000015f0 sw v1, 0x68(v0) | *((v0 + 26)) = v1;
0x000015f4 jalr t9 | t9 ();
0x000015f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000015fc beqz v0, 0x14c8 | goto label_2;
| }
| label_9:
0x00001600 addiu s0, zero, -1 | s0 = -1;
0x00001604 b 0x1550 | goto label_3;
| label_18:
0x00001608 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x0000160c addiu a1, a1, 0x3a78 | a1 += str.configure;
0x00001610 move a0, s1 | a0 = s1;
0x00001614 jalr t9 | t9 ();
0x00001618 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000161c beqz v0, 0x1490 | goto label_4;
| }
0x00001620 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001624 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001628 addiu a1, a1, 0x3b50 | a1 += 0x3b50;
0x0000162c move a0, s1 | a0 = s1;
0x00001630 jalr t9 | t9 ();
0x00001634 addiu fp, zero, 1 | fp = 1;
0x00001638 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000163c beqz v0, 0x1724 |
| while (1) {
| label_16:
0x00001640 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001644 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001648 addiu a1, a1, 0x3a84 | a1 += str.files;
0x0000164c move a0, s1 | a0 = s1;
0x00001650 jalr t9 | t9 ();
0x00001654 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001658 beqz v0, 0x1724 |
0x0000165c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001660 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001664 addiu a1, a1, 0x3a8c | a1 += str.search;
0x00001668 move a0, s1 | a0 = s1;
0x0000166c jalr t9 | t9 ();
0x00001670 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001674 beqz v0, 0x1724 | goto label_23;
| }
0x00001678 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000167c lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001680 addiu a1, a1, 0x3a94 | a1 += 0x3a94;
0x00001684 move a0, s1 | a0 = s1;
0x00001688 jalr t9 | t9 ();
0x0000168c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001690 beqz v0, 0x1724 | goto label_23;
| }
0x00001694 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001698 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x0000169c addiu a1, a1, 0x3aa4 | a1 += str.list_installed;
0x000016a0 move a0, s1 | a0 = s1;
0x000016a4 jalr t9 | t9 ();
0x000016a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000016ac beqz v0, 0x1724 | goto label_23;
| }
0x000016b0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000016b4 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x000016b8 addiu a1, a1, 0x3ab4 | a1 += 0x3ab4;
0x000016bc move a0, s1 | a0 = s1;
0x000016c0 jalr t9 | t9 ();
0x000016c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000016c8 beqz v0, 0x1724 | goto label_23;
| }
0x000016cc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000016d0 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x000016d4 addiu a1, a1, 0x3acc | a1 += str.list_changed_conffiles;
0x000016d8 move a0, s1 | a0 = s1;
0x000016dc jalr t9 | t9 ();
0x000016e0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000016e4 beqz v0, 0x1724 | goto label_23;
| }
0x000016e8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000016ec lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x000016f0 addiu a1, a1, 0x3ae4 | a1 += str.status;
0x000016f4 move a0, s1 | a0 = s1;
0x000016f8 jalr t9 | t9 ();
0x000016fc sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x00001700 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001704 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00001708 b 0x149c | goto label_5;
| }
| label_23:
0x00001724 addiu v0, zero, 1 | v0 = 1;
0x00001728 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0000172c b 0x149c | goto label_5;
| label_19:
0x00001730 lw v0, -0x7f78(gp) | v0 = *((gp - 8158));
0x00001734 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001738 lw t9, -0x7f28(gp) | t9 = sym.imp.__fprintf_chk
0x0000173c lw a3, (s4) | a3 = *(s4);
0x00001740 lw a0, (v0) | a0 = *(v0);
0x00001744 addiu a2, a2, 0x3aec | a2 += str._s:_unknown_sub_command__s_n;
0x00001748 sw s1, 0x10(sp) | *(var_10h) = s1;
| label_8:
0x0000174c addiu a1, zero, 1 | a1 = 1;
0x00001750 jalr t9 | t9 ();
0x00001754 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001758 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0000175c addiu t9, t9, 0x1960 | t9 += fcn.00001960;
0x00001760 bal 0x1960 | fcn_00001960 ();
0x00001764 nop |
0x00001768 addiu a0, a0, 0x20 | a0 += 0x20;
0x0000176c b 0x107c | goto label_6;
| label_14:
0x00001770 addiu v0, zero, 1 | v0 = 1;
| if (a2 == 0) {
0x00001774 beqz a2, 0x17bc | goto label_24;
| }
0x00001778 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000177c lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x00001780 addiu a1, a1, 0x3a78 | a1 += str.configure;
0x00001784 move a0, s1 | a0 = s1;
0x00001788 jalr t9 | t9 ();
0x0000178c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001790 beqz v0, 0x17b8 | goto label_25;
| }
0x00001794 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001798 lw t9, -0x7fac(gp) | t9 = sym.imp.strcmp;
0x0000179c addiu a1, a1, 0x3b50 | a1 += 0x3b50;
0x000017a0 move a0, s1 | a0 = s1;
0x000017a4 jalr t9 | t9 ();
0x000017a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000017ac beqz v0, 0x17b8 | goto label_25;
| }
0x000017b0 addiu fp, zero, 1 | fp = 1;
0x000017b4 b 0x1640 |
| }
| label_25:
0x000017b8 addiu v0, zero, 1 | v0 = 1;
| label_24:
0x000017bc sw v0, 0x20(sp) | *(var_20h) = v0;
0x000017c0 addiu fp, zero, 1 | fp = 1;
0x000017c4 b 0x14a4 | goto label_7;
| label_22:
0x000017c8 lw t9, -0x7f98(gp) | t9 = sym.imp.__stack_chk_fail;
0x000017cc jalr t9 | t9 ();
0x000017d0 nop |
| label_21:
0x000017d4 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000017d8 lw a3, (s4) | a3 = *(s4);
0x000017dc lw a0, (v0) | a0 = *(v0);
0x000017e0 lw t9, -0x7f28(gp) | t9 = sym.imp.__fprintf_chk
0x000017e4 sw s1, 0x10(sp) | *(var_10h) = s1;
0x000017e8 addiu a2, a2, 0x3b08 | a2 += str._s:_the____s_command_requires_at_least_one_argument_n;
0x000017ec b 0x174c | goto label_8;
| }
[*] Function fprintf used 3 times opkg