[*] Binary protection state of sar
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of sar
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x3460 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 122176 named .text */
0x00003460 lui gp, 4 |
0x00003464 addiu gp, gp, -0x5910 |
0x00003468 addu gp, gp, t9 | gp += t9;
0x0000346c lw v0, -0x7bf8(gp) | v0 = *((gp - 7934));
0x00003470 addiu sp, sp, -0x878 |
0x00003474 lw t9, -0x7f0c(gp) | t9 = sym.get_kb_shift;
0x00003478 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0000347c lw v0, (v0) | v0 = *(v0);
0x00003480 sw ra, 0x874(sp) | *(var_874h) = ra;
0x00003484 sw v0, 0x84c(sp) | *(var_84ch) = v0;
0x00003488 addiu v0, zero, 1 | v0 = 1;
0x0000348c sw v0, 0x40(sp) | *(var_40h) = v0;
0x00003490 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00003494 sw fp, 0x870(sp) | *(var_870h) = fp;
0x00003498 sw s7, 0x86c(sp) | *(var_86ch) = s7;
0x0000349c sw s6, 0x868(sp) | *(var_868h) = s6;
0x000034a0 sw s5, 0x864(sp) | *(var_864h) = s5;
0x000034a4 sw s4, 0x860(sp) | *(var_860h) = s4;
0x000034a8 sw s3, 0x85c(sp) | *(var_85ch) = s3;
0x000034ac sw s2, 0x858(sp) | *(var_858h) = s2;
0x000034b0 sw s1, 0x854(sp) | *(var_854h) = s1;
0x000034b4 sw s0, 0x850(sp) | *(var_850h) = s0;
0x000034b8 move s4, a0 | s4 = a0;
0x000034bc move s3, a1 | s3 = a1;
0x000034c0 bal 0x1b154 | sym_get_kb_shift ();
0x000034c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000034c8 sb zero, 0x24c(sp) | *(var_24ch) = 0;
0x000034cc sb zero, 0x4c(sp) | *(var_4ch) = 0;
0x000034d0 lw s0, -0x7f88(gp) | s0 = *(gp);
0x000034d4 lw s1, -0x7f90(gp) | s1 = *(gp);
0x000034d8 lw t9, -0x7f08(gp) | t9 = sym.init_colors;
0x000034dc sw s0, 0x34(sp) | *(var_34h) = s0;
0x000034e0 sw s1, 0x28(sp) | *(var_28h) = s1;
0x000034e4 bal 0x1c520 | sym_init_colors ();
0x000034e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000034ec sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x000034f0 lw t9, -0x7f04(gp) | t9 = sym.allocate_bitmaps;
0x000034f4 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000034f8 sw zero, 0xc(s1) | *((s1 + 3)) = 0;
0x000034fc bal 0x8534 | sym_allocate_bitmaps ();
0x00003500 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003504 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003508 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0000350c lw v0, -0x7fd4(gp) | v0 = *(gp);
0x00003510 lw s5, -0x7fd8(gp) | s5 = *(gp);
0x00003514 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x00003518 sw zero, (v0) | *(v0) = 0;
0x0000351c sw zero, 4(v0) | *((v0 + 1)) = 0;
0x00003520 sw zero, 8(v0) | *((v0 + 2)) = 0;
0x00003524 sw zero, 0xc(v0) | *((v0 + 3)) = 0;
0x00003528 sw zero, 0x10(v0) | *((v0 + 4)) = 0;
0x0000352c sw zero, 0x14(v0) | *((v0 + 5)) = 0;
0x00003530 sw zero, 0x18(v0) | *((v0 + 6)) = 0;
0x00003534 sw zero, 0x1c(v0) | *((v0 + 7)) = 0;
0x00003538 sw zero, 0x20(v0) | *((v0 + 8)) = 0;
0x0000353c sw zero, 0x24(v0) | *((v0 + 9)) = 0;
0x00003540 sw zero, 0x28(v0) | *((v0 + 10)) = 0;
0x00003544 sw zero, 0x2c(v0) | *((v0 + 11)) = 0;
0x00003548 sw zero, 0x30(v0) | *((v0 + 12)) = 0;
0x0000354c sw zero, 0x34(v0) | *((v0 + 13)) = 0;
0x00003550 sw zero, 0x38(v0) | *((v0 + 14)) = 0;
0x00003554 sw zero, 0x3c(v0) | *((v0 + 15)) = 0;
0x00003558 sw zero, 0x40(v0) | *((v0 + 16)) = 0;
0x0000355c sw zero, 0x44(v0) | *((v0 + 17)) = 0;
0x00003560 lw fp, -0x7fd8(gp) | fp = *(gp);
0x00003564 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00003568 lw s7, -0x7fd8(gp) | s7 = *(gp);
| /* str.__sadc */
0x0000356c addiu s5, s5, 0x20b8 | s5 += 0x20b8;
| /* str.__dev */
0x00003570 addiu s6, s6, 0x20c0 | s6 += 0x20c0;
| /* str.__iface */
0x00003574 addiu fp, fp, 0x20d0 | fp += 0x20d0;
0x00003578 sw v0, 0x24(sp) | *(var_24h) = v0;
| label_0:
0x0000357c slt v0, s2, s4 | v0 = (s2 < s4) ? 1 : 0;
0x00003580 addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x00003584 beqz v0, 0x3664 | goto label_22;
| }
0x00003588 sll s1, s2, 2 | s1 = s2 << 2;
| do {
0x0000358c addu s1, s3, s1 | s1 = s3 + s1;
0x00003590 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
0x00003594 lw s0, (s1) | s0 = *(s1);
0x00003598 move a1, s5 | a1 = s5;
0x0000359c move a0, s0 | a0 = s0;
0x000035a0 jalr t9 | t9 ();
0x000035a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035a8 beqz v0, 0x421c | goto label_23;
| }
0x000035ac lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000035b0 addiu a2, zero, 6 | a2 = 6;
0x000035b4 move a1, s6 | a1 = s6;
0x000035b8 move a0, s0 | a0 = s0;
0x000035bc jalr t9 | t9 ();
0x000035c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035c4 beqz v0, 0x3848 | goto label_24;
| }
0x000035c8 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000035cc addiu a2, zero, 5 | a2 = 5;
| /* str.__fs */
0x000035d0 addiu a1, s7, 0x20c8 | a1 = s7 + 0x20c8;
0x000035d4 move a0, s0 | a0 = s0;
0x000035d8 jalr t9 | t9 ();
0x000035dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035e0 beqz v0, 0x389c | goto label_25;
| }
0x000035e4 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000035e8 addiu a2, zero, 8 | a2 = 8;
0x000035ec move a1, fp | a1 = fp;
0x000035f0 move a0, s0 | a0 = s0;
0x000035f4 jalr t9 | t9 ();
0x000035f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035fc beqz v0, 0x3964 | goto label_26;
| }
0x00003600 lw v0, 0x24(sp) | v0 = *(var_24h);
0x00003604 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
0x00003608 addiu a1, v0, 0x20dc | a1 = v0 + 0x20dc;
0x0000360c move a0, s0 | a0 = s0;
0x00003610 jalr t9 | t9 ();
0x00003614 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003618 beqz v0, 0x4270 | goto label_27;
| }
0x0000361c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003620 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* str.__human */
0x00003624 addiu a1, a1, 0x20e4 | a1 += 0x20e4;
0x00003628 move a0, s0 | a0 = s0;
0x0000362c jalr t9 | t9 ();
0x00003630 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003634 bnez v0, 0x38d8 | goto label_28;
| }
0x00003638 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0000363c lui a0, 0x10 | a0 = 0x100000;
0x00003640 addiu s2, s2, 1 | s2++;
0x00003644 lw v0, (v1) | v0 = *(v1);
0x00003648 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0000364c or v0, v0, a0 | v0 |= a0;
0x00003650 sw v0, (v1) | *(v1) = v0;
0x00003654 slt v0, s2, s4 | v0 = (s2 < s4) ? 1 : 0;
0x00003658 sll s1, s2, 2 | s1 = s2 << 2;
0x0000365c bnel v0, zero, 0x358c |
| } while (v0 == 0);
0x00003660 addiu v0, zero, 1 | v0 = 1;
| label_22:
0x00003664 lw v0, -0x7fa0(gp) | v0 = *(gp);
| if (s4 == v0) {
0x00003668 beq s4, v0, 0x382c | goto label_29;
| }
0x0000366c lw v0, (v0) | v0 = *(v0);
0x00003670 lw v0, -0x7fac(gp) | v0 = *(gp);
| if (v0 < 0) {
0x00003674 bltz v0, 0x3814 | goto label_30;
| }
0x00003678 lw v0, (v0) | v0 = *(v0);
0x0000367c andi v0, v0, 0x10 | v0 &= 0x10;
0x00003680 lb v1, 0x4c(sp) | v1 = *(var_4ch);
0x00003684 bnel v0, zero, 0x3818 |
| while (1) {
0x00003688 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000368c lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00003690 lb v1, 0x4c(sp) | v1 = *(var_4ch);
| if (v0 != 0) {
0x00003694 beqz v0, 0x36c0 |
0x00003698 lw a1, 0x34(sp) | a1 = *(var_34h);
| label_1:
0x0000369c lw v0, 0xc(a1) | v0 = *((a1 + 3));
0x000036a0 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 == 0) {
0x000036a4 beqz v0, 0x36c0 | goto label_31;
| }
0x000036a8 lw a0, 8(a1) | a0 = *((a1 + 2));
0x000036ac lw v0, 8(v0) | v0 = *((v0 + 2));
0x000036b0 slt v0, a0, v0 | v0 = (a0 < v0) ? 1 : 0;
0x000036b4 addiu a0, a0, 0x18 | a0 += 0x18;
| if (v0 == 0) {
0x000036b8 beqz v0, 0x36c0 | goto label_31;
| }
0x000036bc sw a0, 8(a1) | *((a1 + 2)) = a0;
| }
| if (v1 != 0) {
| label_31:
0x000036c0 beql v1, zero, 0x36d8 |
0x000036c4 lw s0, -0x7fac(gp) | s0 = *(gp);
0x000036c8 lb v0, 0x24c(sp) | v0 = *(var_24ch);
| label_2:
0x000036cc lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
| if (v0 != 0) {
0x000036d0 bnez v0, 0x432c | goto label_32;
| }
0x000036d4 lw s0, -0x7fac(gp) | s0 = *(gp);
| }
| label_8:
0x000036d8 lw v0, (s0) | v0 = *(s0);
0x000036dc ext v0, v0, 0x1c, 1 | __asm ("ext v0, v0, 0x1c, 1");
0x000036e0 lw t9, -0x7f00(gp) | t9 = sym.set_bitmaps;
| if (v0 != 0) {
0x000036e4 bnez v0, 0x3d88 | goto label_33;
| }
| label_6:
0x000036e8 lw v0, 0x28(sp) | v0 = *(var_28h);
0x000036ec lw v1, (s0) | v1 = *(s0);
0x000036f0 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000036f4 andi v0, v1, 0x10 | v0 = v1 & 0x10;
0x000036f8 or v0, v0, a0 | v0 |= a0;
0x000036fc lb v0, 0x4c(sp) | v0 = *(var_4ch);
| if (v0 == 0) {
0x00003700 bnel v0, zero, 0x3cdc | goto label_34;
| }
0x00003704 lw s1, -0x7fa0(gp) | s1 = *(gp);
0x00003708 lw a0, (s1) | a0 = *(s1);
0x0000370c lb v0, 0x24c(sp) | v0 = *(var_24ch);
| if (a0 != 0) {
0x00003710 bnez a0, 0x3cf4 | goto label_35;
| }
0x00003714 lbu a0, 0x4c(sp) | a0 = *(var_4ch);
0x00003718 or v0, v0, a0 | v0 |= a0;
0x0000371c seb v0, v0 | __asm ("seb v0, v0");
0x00003720 lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (v0 != 0) {
0x00003724 bnez v0, 0x3d08 | goto label_16;
| }
| label_3:
0x00003728 andi v1, v1, 4 | v1 &= 4;
| label_4:
0x0000372c lw t9, -0x7ef8(gp) | t9 = sym.get_devmap_major;
| if (v1 != 0) {
0x00003730 bnez v1, 0x3d9c | goto label_36;
| }
| label_7:
0x00003734 lw s5, -0x7f7c(gp) | s5 = *(gp);
0x00003738 lw v0, (s5) | v0 = *(s5);
0x0000373c lw t9, -0x7ef4(gp) | t9 = sym.select_default_activity;
| if (v0 == 0) {
0x00003740 bnez v0, 0x374c |
0x00003744 addiu v0, zero, -1 | v0 = -1;
0x00003748 sw v0, (s5) | *(s5) = v0;
| }
0x0000374c lw a0, -0x7fc8(gp) | a0 = *(gp);
0x00003750 bal 0x8704 | sym_select_default_activity ();
0x00003754 nop |
0x00003758 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000375c lw t9, -0x7ef0(gp) | t9 = sym.is_iso_time_fmt;
0x00003760 bal 0x1b668 | sym_is_iso_time_fmt ();
0x00003764 nop |
0x00003768 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000376c bnez v0, 0x377c |
0x00003770 lw v0, (s0) | v0 = *(s0);
0x00003774 ori v0, v0, 0x8000 | v0 |= 0x8000;
0x00003778 sw v0, (s0) | *(s0) = v0;
| }
0x0000377c lb v0, 0x4c(sp) | v0 = *(var_4ch);
0x00003780 lw t9, -0x7c98(gp) | t9 = sym.imp.pipe;
| if (v0 == 0) {
0x00003784 beqz v0, 0x3d10 | goto label_37;
| }
0x00003788 lw v0, (s1) | v0 = *(s1);
0x0000378c lw t9, -0x7eec(gp) | t9 = sym.read_stats_from_file;
| if (v0 < 0) {
0x00003790 bgez v0, 0x379c |
0x00003794 addiu v0, zero, 1 | v0 = 1;
0x00003798 sw v0, (s1) | *(s1) = v0;
| }
0x0000379c addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x000037a0 bal 0x5d08 | sym_read_stats_from_file ();
0x000037a4 lw gp, 0x18(sp) | gp = *(var_18h);
| label_5:
0x000037a8 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000037ac lw t9, -0x7ee8(gp) | t9 = sym.free_bitmaps;
0x000037b0 bal 0x8664 | sym_free_bitmaps ();
0x000037b4 nop |
0x000037b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000037bc lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000037c0 lw t9, -0x7ee4(gp) | t9 = sym.free_structures;
0x000037c4 bal 0x7270 | sym_free_structures ();
0x000037c8 nop |
0x000037cc lw v0, 0x30(sp) | v0 = *(var_30h);
0x000037d0 lw a0, 0x84c(sp) | a0 = *(var_84ch);
0x000037d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000037d8 lw v1, (v0) | v1 = *(v0);
0x000037dc move v0, zero | v0 = 0;
| if (a0 != v1) {
0x000037e0 bne a0, v1, 0x4350 | goto label_38;
| }
0x000037e4 lw ra, 0x874(sp) | ra = *(var_874h);
0x000037e8 lw fp, 0x870(sp) | fp = *(var_870h);
0x000037ec lw s7, 0x86c(sp) | s7 = *(var_86ch);
0x000037f0 lw s6, 0x868(sp) | s6 = *(var_868h);
0x000037f4 lw s5, 0x864(sp) | s5 = *(var_864h);
0x000037f8 lw s4, 0x860(sp) | s4 = *(var_860h);
0x000037fc lw s3, 0x85c(sp) | s3 = *(var_85ch);
0x00003800 lw s2, 0x858(sp) | s2 = *(var_858h);
0x00003804 lw s1, 0x854(sp) | s1 = *(var_854h);
0x00003808 lw s0, 0x850(sp) | s0 = *(var_850h);
0x0000380c addiu sp, sp, 0x878 |
0x00003810 jr ra | return v0;
| label_30:
0x00003814 lb v1, 0x4c(sp) | v1 = *(var_4ch);
0x00003818 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v1 != 0) {
0x0000381c bnez v1, 0x3ca8 | goto label_39;
| }
0x00003820 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003824 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 != 0) {
0x00003828 bnez v0, 0x3fb4 | goto label_40;
| }
| label_29:
0x0000382c lw t9, -0x7ee0(gp) | t9 = sym.set_default_file;
0x00003830 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00003834 addiu a2, zero, -1 | a2 = -1;
0x00003838 addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x0000383c bal 0x6a38 | sym_set_default_file ();
0x00003840 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003844 b 0x3688 |
| }
| label_24:
0x00003848 lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x0000384c lw a0, -0x7fc8(gp) | a0 = *(gp);
0x00003850 addiu a1, zero, 0xb | a1 = 0xb;
0x00003854 addiu a2, zero, 1 | a2 = 1;
0x00003858 bal 0x67c0 | sym_get_activity_position ();
0x0000385c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003860 lw a0, 0x40(sp) | a0 = *(var_40h);
0x00003864 sll v0, v0, 2 | v0 <<= 2;
0x00003868 sll a0, a0, 2 | a0 <<= 2;
0x0000386c lw a1, -0x7fc8(gp) | a1 = *(gp);
0x00003870 lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x00003874 lw t9, -0x7edc(gp) | t9 = sym.parse_sa_devices;
0x00003878 lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x0000387c addiu v0, zero, 6 | v0 = 6;
| do {
0x00003880 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003884 addiu a3, sp, 0x40 | a3 = sp + 0x40;
0x00003888 addiu a2, zero, 0x80 | a2 = 0x80;
0x0000388c bal 0xb5d8 | sym_parse_sa_devices ();
0x00003890 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003894 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003898 b 0x357c | goto label_0;
| label_25:
0x0000389c lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x000038a0 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000038a4 addiu a1, zero, 0x25 | a1 = 0x25;
0x000038a8 addiu a2, zero, 1 | a2 = 1;
0x000038ac bal 0x67c0 | sym_get_activity_position ();
0x000038b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000038b4 lw a0, 0x40(sp) | a0 = *(var_40h);
0x000038b8 sll v0, v0, 2 | v0 <<= 2;
0x000038bc lw a1, -0x7fc8(gp) | a1 = *(gp);
0x000038c0 sll a0, a0, 2 | a0 <<= 2;
0x000038c4 lw t9, -0x7edc(gp) | t9 = sym.parse_sa_devices;
0x000038c8 lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x000038cc lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x000038d0 addiu v0, zero, 5 | v0 = 5;
0x000038d4 b 0x3880 |
| } while (1);
| label_28:
0x000038d8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x000038dc lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000038e0 addiu a2, zero, 6 | a2 = 6;
| /* str.__dec */
0x000038e4 addiu a1, a1, 0x20ec | a1 += 0x20ec;
0x000038e8 move a0, s0 | a0 = s0;
0x000038ec jalr t9 | t9 ();
0x000038f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000038f4 bnez v0, 0x3910 |
0x000038f8 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x000038fc move a0, s0 | a0 = s0;
0x00003900 jalr t9 | t9 ();
0x00003904 addiu v1, zero, 7 | v1 = 7;
0x00003908 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x0000390c beq v0, v1, 0x3ac8 | goto label_41;
| }
| }
0x00003910 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003914 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-I' */
0x00003918 addiu a1, a1, 0x20f4 | a1 += 0x20f4;
0x0000391c move a0, s0 | a0 = s0;
0x00003920 jalr t9 | t9 ();
0x00003924 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003928 beqz v0, 0x3aa0 |
0x0000392c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003930 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-D' */
0x00003934 addiu a1, a1, 0x20f8 | a1 += 0x20f8;
0x00003938 move a0, s0 | a0 = s0;
0x0000393c jalr t9 | t9 ();
0x00003940 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003944 bnez v0, 0x39fc |
0x00003948 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0000394c addiu s2, s2, 1 | s2++;
0x00003950 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003954 lw v0, (v1) | v0 = *(v1);
0x00003958 ori v0, v0, 0x400 | v0 |= 0x400;
0x0000395c sw v0, (v1) | *(v1) = v0;
0x00003960 b 0x357c | goto label_0;
| label_26:
0x00003964 lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x00003968 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x0000396c addiu a2, zero, 1 | a2 = 1;
0x00003970 addiu a1, zero, 0xc | a1 = 0xc;
0x00003974 bal 0x67c0 | sym_get_activity_position ();
0x00003978 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000397c lw a0, 0x40(sp) | a0 = *(var_40h);
0x00003980 sll v0, v0, 2 | v0 <<= 2;
0x00003984 lw s0, -0x7fc8(gp) | s0 = *(gp);
0x00003988 sll a0, a0, 2 | a0 <<= 2;
0x0000398c addu s1, s0, v0 | s1 = s0 + v0;
0x00003990 lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x00003994 lw t9, -0x7edc(gp) | t9 = sym.parse_sa_devices;
0x00003998 lw a1, (s1) | a1 = *(s1);
0x0000399c addiu v0, zero, 8 | v0 = 8;
0x000039a0 addiu a3, sp, 0x40 | a3 = sp + 0x40;
0x000039a4 addiu a2, zero, 0x10 | a2 = 0x10;
0x000039a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000039ac bal 0xb5d8 | sym_parse_sa_devices ();
0x000039b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000039b4 addiu a1, zero, 0xd | a1 = 0xd;
0x000039b8 move a0, s0 | a0 = s0;
0x000039bc lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x000039c0 addiu a2, zero, 1 | a2 = 1;
0x000039c4 bal 0x67c0 | sym_get_activity_position ();
0x000039c8 sll v0, v0, 2 | v0 <<= 2;
0x000039cc lw a0, (s1) | a0 = *(s1);
0x000039d0 lwx v0, v0(s0) | __asm ("lwx v0, v0(s0)");
0x000039d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000039d8 lw a1, 0x40(a0) | a1 = *((a0 + 16));
0x000039dc lw v1, 4(v0) | v1 = *((v0 + 1));
0x000039e0 lw a0, 0x44(a0) | a0 = *((a0 + 17));
0x000039e4 ori v1, v1, 0x100 | v1 |= aav.0x00000100;
0x000039e8 lw s2, 0x40(sp) | s2 = *(var_40h);
0x000039ec sw a1, 0x40(v0) | *((v0 + 16)) = a1;
0x000039f0 sw a0, 0x44(v0) | *((v0 + 17)) = a0;
0x000039f4 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x000039f8 b 0x357c | goto label_0;
| }
0x000039fc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003a00 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-P' */
0x00003a04 addiu a1, a1, 0x20fc | a1 += 0x20fc;
0x00003a08 move a0, s0 | a0 = s0;
0x00003a0c jalr t9 | t9 ();
0x00003a10 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003a14 beqz v0, 0x3bc0 | goto label_42;
| }
0x00003a18 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003a1c lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-o' */
0x00003a20 addiu a1, a1, 0x2100 | a1 += 0x2100;
0x00003a24 move a0, s0 | a0 = s0;
0x00003a28 jalr t9 | t9 ();
0x00003a2c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003a30 bnez v0, 0x3b00 | goto label_43;
| }
0x00003a34 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003a38 lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (v0 != 0) {
0x00003a3c bnez v0, 0x3d08 | goto label_16;
| }
0x00003a40 lw s0, 4(s1) | s0 = *((s1 + 1));
0x00003a44 addiu s1, s2, 1 | s1 = s2 + 1;
0x00003a48 sw s1, 0x40(sp) | *(var_40h) = s1;
| if (s0 != 0) {
0x00003a4c beqz s0, 0x3a90 |
0x00003a50 lbu v1, (s0) | v1 = *(s0);
0x00003a54 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00003a58 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v1 == v0) {
0x00003a5c beq v1, v0, 0x3a90 | goto label_44;
| }
0x00003a60 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
| /* str.0123456789 */
0x00003a64 addiu a1, a1, 0x2104 | a1 += 0x2104;
0x00003a68 move a0, s0 | a0 = s0;
0x00003a6c jalr t9 | t9 ();
0x00003a70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003a74 move a0, s0 | a0 = s0;
0x00003a78 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00003a7c sw v0, 0x38(sp) | *(var_38h) = v0;
0x00003a80 jalr t9 | t9 ();
0x00003a84 lw v1, 0x38(sp) | v1 = *(var_38h);
0x00003a88 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != v0) {
0x00003a8c bne v1, v0, 0x3f8c | goto label_45;
| }
| }
| label_44:
0x00003a90 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00003a94 sh v0, 0x24c(sp) | *(var_24ch) = v0;
0x00003a98 move s2, s1 | s2 = s1;
0x00003a9c b 0x357c | goto label_0;
| }
0x00003aa0 lw t9, -0x7ed8(gp) | t9 = sym.parse_sar_I_opt;
0x00003aa4 lw a3, -0x7fc8(gp) | a3 = *(gp);
0x00003aa8 lw a2, -0x7fac(gp) | a2 = *(gp);
| do {
| label_9:
0x00003aac addiu a1, sp, 0x40 | a1 = sp + 0x40;
0x00003ab0 move a0, s3 | a0 = s3;
0x00003ab4 jalr t9 | t9 ();
0x00003ab8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003abc bnez v0, 0x3d04 | goto label_11;
| }
0x00003ac0 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003ac4 b 0x357c | goto label_0;
| label_41:
0x00003ac8 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x00003acc addiu a0, s0, 6 | a0 = s0 + 6;
0x00003ad0 addiu a2, zero, 0xa | a2 = 0xa;
0x00003ad4 move a1, zero | a1 = 0;
0x00003ad8 jalr t9 | t9 ();
0x00003adc lw gp, 0x18(sp) | gp = *(var_18h);
0x00003ae0 sltiu v1, v0, 3 | v1 = (v0 < 3) ? 1 : 0;
0x00003ae4 lw a0, -0x7ed4(gp) | a0 = *(gp);
0x00003ae8 sw v0, (a0) | *(a0) = v0;
| if (v1 == 0) {
0x00003aec beqz v1, 0x3d04 | goto label_11;
| }
| label_18:
0x00003af0 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003af4 addiu s2, s2, 1 | s2++;
0x00003af8 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003afc b 0x357c | goto label_0;
| label_43:
0x00003b00 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003b04 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-f' */
0x00003b08 addiu a1, a1, 0x2110 | a1 += 0x2110;
0x00003b0c move a0, s0 | a0 = s0;
0x00003b10 jalr t9 | t9 ();
0x00003b14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003b18 bnez v0, 0x3bd0 | goto label_46;
| }
0x00003b1c lb v0, 0x4c(sp) | v0 = *(var_4ch);
0x00003b20 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x00003b24 bnez v0, 0x3d04 | goto label_11;
| }
0x00003b28 addiu v0, s2, 1 | v0 = s2 + 1;
| if (v0 != 0) {
0x00003b2c bnez v0, 0x3d04 | goto label_11;
| }
0x00003b30 lw s0, 4(s1) | s0 = *((s1 + 1));
0x00003b34 sw v0, 0x40(sp) | *(var_40h) = v0;
| if (s0 == 0) {
0x00003b38 beqz s0, 0x3cbc | goto label_47;
| }
0x00003b3c lbu v1, (s0) | v1 = *(s0);
0x00003b40 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00003b44 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v1 == v0) {
0x00003b48 beq v1, v0, 0x3cbc | goto label_47;
| }
0x00003b4c lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
| /* str.0123456789 */
0x00003b50 addiu a1, a1, 0x2104 | a1 += 0x2104;
0x00003b54 move a0, s0 | a0 = s0;
0x00003b58 jalr t9 | t9 ();
0x00003b5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003b60 move a0, s0 | a0 = s0;
0x00003b64 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00003b68 move s1, v0 | s1 = v0;
0x00003b6c jalr t9 | t9 ();
0x00003b70 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 == v0) {
0x00003b74 beq s1, v0, 0x3cbc | goto label_47;
| }
0x00003b78 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x00003b7c addiu v1, sp, 0x4c | v1 = sp + 0x4c;
0x00003b80 addiu s2, s2, 2 | s2 += 2;
0x00003b84 move a0, v1 | a0 = v1;
0x00003b88 addiu a2, zero, 0x200 | a2 = aav.0x00000200;
0x00003b8c move a1, s0 | a1 = s0;
0x00003b90 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003b94 jalr t9 | t9 ();
0x00003b98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003b9c addiu a2, zero, -1 | a2 = -1;
0x00003ba0 move a1, zero | a1 = 0;
0x00003ba4 lw t9, -0x7ed0(gp) | t9 = sym.check_alt_sa_dir;
0x00003ba8 move a0, v0 | a0 = v0;
0x00003bac sb zero, 0x24b(sp) | *(var_24bh) = 0;
0x00003bb0 bal 0x6bfc | sym_check_alt_sa_dir ();
0x00003bb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003bb8 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003bbc b 0x357c | goto label_0;
| label_42:
0x00003bc0 lw t9, -0x7ecc(gp) | t9 = sym.parse_sa_P_opt;
0x00003bc4 lw a3, -0x7fc8(gp) | a3 = *(gp);
0x00003bc8 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00003bcc b 0x3aac |
| } while (1);
| label_46:
0x00003bd0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003bd4 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-s' */
0x00003bd8 addiu a1, a1, 0x2114 | a1 += 0x2114;
0x00003bdc move a0, s0 | a0 = s0;
0x00003be0 jalr t9 | t9 ();
0x00003be4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003be8 beqz v0, 0x3fdc | goto label_48;
| }
0x00003bec lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003bf0 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-e' */
0x00003bf4 addiu a1, a1, 0x2124 | a1 += 0x2124;
0x00003bf8 move a0, s0 | a0 = s0;
0x00003bfc jalr t9 | t9 ();
0x00003c00 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003c04 beqz v0, 0x3fc8 | goto label_49;
| }
0x00003c08 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003c0c lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-i' */
0x00003c10 addiu a1, a1, 0x2134 | a1 += 0x2134;
0x00003c14 move a0, s0 | a0 = s0;
0x00003c18 jalr t9 | t9 ();
0x00003c1c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003c20 bnez v0, 0x4018 | goto label_50;
| }
0x00003c24 lw s0, 4(s1) | s0 = *((s1 + 1));
0x00003c28 addiu v0, s2, 1 | v0 = s2 + 1;
0x00003c2c sw v0, 0x40(sp) | *(var_40h) = v0;
| if (s0 == 0) {
0x00003c30 beqz s0, 0x3d04 | goto label_11;
| }
0x00003c34 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003c38 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
| /* str.0123456789 */
0x00003c3c addiu a1, a1, 0x2104 | a1 += 0x2104;
0x00003c40 move a0, s0 | a0 = s0;
0x00003c44 jalr t9 | t9 ();
0x00003c48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003c4c move a0, s0 | a0 = s0;
0x00003c50 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00003c54 move s1, v0 | s1 = v0;
0x00003c58 jalr t9 | t9 ();
0x00003c5c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 != v0) {
0x00003c60 bne s1, v0, 0x3d04 | goto label_11;
| }
0x00003c64 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x00003c68 addiu s2, s2, 2 | s2 += 2;
0x00003c6c addiu a2, zero, 0xa | a2 = 0xa;
0x00003c70 move a1, zero | a1 = 0;
0x00003c74 move a0, s0 | a0 = s0;
0x00003c78 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003c7c jalr t9 | t9 ();
0x00003c80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003c84 lw v1, -0x7fa0(gp) | v1 = *(gp);
0x00003c88 sw v0, (v1) | *(v1) = v0;
| if (v0 <= 0) {
0x00003c8c blez v0, 0x3d04 | goto label_11;
| }
0x00003c90 lw v1, -0x7fac(gp) | v1 = *(gp);
0x00003c94 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003c98 lw v0, (v1) | v0 = *(v1);
0x00003c9c ori v0, v0, 0x10 | v0 |= 0x10;
0x00003ca0 sw v0, (v1) | *(v1) = v0;
0x00003ca4 b 0x357c | goto label_0;
| label_39:
0x00003ca8 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00003cac lw a1, 0x34(sp) | a1 = *(var_34h);
| if (v0 != 0) {
0x00003cb0 bnez v0, 0x369c | goto label_1;
| }
0x00003cb4 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003cb8 b 0x36cc | goto label_2;
| label_47:
0x00003cbc lw t9, -0x7ee0(gp) | t9 = sym.set_default_file;
0x00003cc0 addiu a2, zero, -1 | a2 = -1;
0x00003cc4 move a1, zero | a1 = 0;
0x00003cc8 addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x00003ccc bal 0x6a38 | sym_set_default_file ();
0x00003cd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003cd4 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003cd8 b 0x357c | goto label_0;
| label_34:
0x00003cdc lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
| if (v0 == 0) {
0x00003ce0 beqz v0, 0x435c | goto label_51;
| }
0x00003ce4 lw s1, -0x7fa0(gp) | s1 = *(gp);
0x00003ce8 lw v0, (s1) | v0 = *(s1);
0x00003cec lb v0, 0x24c(sp) | v0 = *(var_24ch);
| if (v0 == 0) {
0x00003cf0 beqz v0, 0x3d04 | goto label_11;
| }
| label_35:
0x00003cf4 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 == 0) {
0x00003cf8 beqz v0, 0x3728 | goto label_3;
| }
0x00003cfc andi v1, v1, 4 | v1 &= 4;
| if (v0 == 0) {
0x00003d00 beqz v0, 0x372c | goto label_4;
| }
| do {
| label_11:
0x00003d04 lw t9, -0x7efc(gp) | t9 = sym.usage;
| label_16:
0x00003d08 lw a0, (s3) | a0 = *(s3);
0x00003d0c bal 0x4558 | sym_usage ();
| label_37:
0x00003d10 addiu a0, sp, 0x44 | a0 = sp + 0x44;
0x00003d14 jalr t9 | t9 ();
0x00003d18 addiu s2, zero, -1 | s2 = -1;
0x00003d1c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s2) {
0x00003d20 beq v0, s2, 0x4374 | goto label_52;
| }
0x00003d24 lw t9, -0x7cb4(gp) | t9 = sym.imp.fork;
0x00003d28 jalr t9 | t9 ();
0x00003d2c nop |
0x00003d30 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s2) {
0x00003d34 beq v0, s2, 0x4384 | goto label_53;
| }
0x00003d38 lw t9, -0x7bc4(gp) | t9 = sym.imp.dup2;
| if (v0 != 0) {
0x00003d3c beqz v0, 0x3db4 |
0x00003d40 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00003d44 move a1, zero | a1 = 0;
0x00003d48 jalr t9 | t9 ();
0x00003d4c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00003d50 bltz v0, 0x431c | goto label_54;
| }
0x00003d54 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003d58 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00003d5c jalr t9 | t9 ();
0x00003d60 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d64 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003d68 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00003d6c jalr t9 | t9 ();
0x00003d70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d74 lw t9, -0x7ec8(gp) | t9 = sym.read_stats;
0x00003d78 bal 0x647c | sym_read_stats ();
0x00003d7c nop |
0x00003d80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d84 b 0x37a8 | goto label_5;
| label_33:
0x00003d88 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x00003d8c move a1, s0 | a1 = s0;
0x00003d90 bal 0xb208 | sym_set_bitmaps ();
0x00003d94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d98 b 0x36e8 | goto label_6;
| label_36:
0x00003d9c bal 0x1b53c | sym_get_devmap_major ();
0x00003da0 nop |
0x00003da4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003da8 lw v1, -0x7ec4(gp) | v1 = *(gp);
0x00003dac sw v0, (v1) | *(v1) = v0;
0x00003db0 b 0x3734 | goto label_7;
| }
0x00003db4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00003db8 addiu a1, zero, 1 | a1 = 1;
0x00003dbc jalr t9 | t9 ();
0x00003dc0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00003dc4 bltz v0, 0x431c | goto label_54;
| }
0x00003dc8 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003dcc lw s4, -0x7fd8(gp) | s4 = *(gp);
0x00003dd0 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00003dd4 jalr t9 | t9 ();
0x00003dd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003ddc lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003de0 lw s2, -0x7ec0(gp) | s2 = sym.salloc;
0x00003de4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00003de8 jalr t9 | t9 ();
| /* esilref: 'sadc' */
0x00003dec addiu a1, s4, 0x1f74 | a1 = s4 + 0x1f74;
0x00003df0 move t9, s2 | t9 = s2;
0x00003df4 move a0, zero | a0 = 0;
0x00003df8 bal 0x485c | sym_salloc ();
0x00003dfc lw v0, (s1) | v0 = *(s1);
0x00003e00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003e04 bltz v0, 0x3d04 |
| } while (v0 < 0);
0x00003e08 lw a3, -0x7fd8(gp) | a3 = *(gp);
| if (v0 != 0) {
0x00003e0c bnez v0, 0x3ff0 | goto label_55;
| }
0x00003e10 addiu v0, zero, 0x31 | v0 = 0x31;
0x00003e14 addiu s1, sp, 0x44c | s1 = sp + 0x44c;
0x00003e18 move a1, s1 | a1 = s1;
0x00003e1c addiu a0, zero, 1 | a0 = 1;
0x00003e20 sh v0, 0x44c(sp) | *(var_44ch) = v0;
0x00003e24 move t9, s2 | t9 = s2;
0x00003e28 addiu s6, zero, 2 | s6 = 2;
0x00003e2c bal 0x485c | sym_salloc ();
| label_10:
0x00003e30 move a1, s1 | a1 = s1;
0x00003e34 move t9, s2 | t9 = s2;
0x00003e38 move a0, s6 | a0 = s6;
0x00003e3c bal 0x485c | sym_salloc ();
0x00003e40 lw v0, (s5) | v0 = *(s5);
0x00003e44 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003e48 addiu s3, s6, 1 | s3 = s6 + 1;
| if (v0 >= 0) {
0x00003e4c bltz v0, 0x3e90 |
0x00003e50 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00003e54 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00003e58 addiu v0, v0, 1 | v0++;
| /* esilref: '&ld' */
0x00003e5c addiu a3, a3, 0x21c0 | a3 += 0x21c0;
0x00003e60 addiu a2, zero, 0x400 | a2 = 0x400;
0x00003e64 addiu a1, zero, 1 | a1 = 1;
0x00003e68 move a0, s1 | a0 = s1;
0x00003e6c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003e70 jalr t9 | t9 ();
0x00003e74 move a0, s3 | a0 = s3;
0x00003e78 move a1, s1 | a1 = s1;
0x00003e7c move t9, s2 | t9 = s2;
0x00003e80 addiu s6, s6, 2 | s6 += 2;
0x00003e84 bal 0x485c | sym_salloc ();
0x00003e88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003e8c move s3, s6 | s3 = s6;
| }
0x00003e90 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003e94 move a0, s3 | a0 = s3;
0x00003e98 move t9, s2 | t9 = s2;
| /* esilref: '-Z' */
0x00003e9c addiu a1, a1, 0x21c4 | a1 += 0x21c4;
0x00003ea0 bal 0x485c | sym_salloc ();
0x00003ea4 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003ea8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003eac addiu s5, s3, 1 | s5 = s3 + 1;
| if (v0 == 0) {
0x00003eb0 beqz v0, 0x4084 | goto label_56;
| }
0x00003eb4 lw v0, (s0) | v0 = *(s0);
0x00003eb8 andi v0, v0, 0x400 | v0 &= 0x400;
0x00003ebc lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v0 == 0) {
0x00003ec0 bnel v0, zero, 0x4150 | goto label_57;
| }
| label_15:
0x00003ec4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003ec8 move a0, s5 | a0 = s5;
0x00003ecc move t9, s2 | t9 = s2;
| /* esilref: '-S' */
0x00003ed0 addiu a1, a1, 0x21c8 | a1 += 0x21c8;
0x00003ed4 bal 0x485c | sym_salloc ();
0x00003ed8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003edc addiu a0, s5, 1 | a0 = s5 + 1;
0x00003ee0 move t9, s2 | t9 = s2;
0x00003ee4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003ee8 addiu s3, s5, 3 | s3 = s5 + 3;
| /* str.XALL */
0x00003eec addiu a1, a1, 0x21cc | a1 += 0x21cc;
0x00003ef0 bal 0x485c | sym_salloc ();
0x00003ef4 addiu a1, sp, 0x24c | a1 = sp + 0x24c;
0x00003ef8 move t9, s2 | t9 = s2;
0x00003efc addiu a0, s5, 2 | a0 = s5 + 2;
0x00003f00 bal 0x485c | sym_salloc ();
0x00003f04 lw gp, 0x18(sp) | gp = *(var_18h);
| label_13:
0x00003f08 lw s0, -0x7fd0(gp) | s0 = *(gp);
0x00003f0c sll s3, s3, 2 | s3 <<= 2;
0x00003f10 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00003f14 addu v0, s0, s3 | v0 = s0 + s3;
0x00003f18 lw t9, -0x7c74(gp) | t9 = sym.imp.execv;
0x00003f1c move a1, s0 | a1 = s0;
| /* str._usr_libexec_sa_sadc */
0x00003f20 addiu a0, a0, 0x1f64 | a0 += 0x1f64;
0x00003f24 sw zero, (v0) | *(v0) = 0;
0x00003f28 jalr t9 | t9 ();
0x00003f2c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003f30 move a1, s0 | a1 = s0;
0x00003f34 lw t9, -0x7c1c(gp) | t9 = sym.imp.execvp;
| /* esilref: 'sadc' */
0x00003f38 addiu a0, s4, 0x1f74 | a0 = s4 + 0x1f74;
0x00003f3c jalr t9 | t9 ();
0x00003f40 lw gp, 0x18(sp) | gp = *(var_18h);
| /* esilref: 'sadc' */
0x00003f44 addiu a3, s4, 0x1f74 | a3 = s4 + 0x1f74;
0x00003f48 addiu a1, zero, 1 | a1 = 1;
0x00003f4c lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x00003f50 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00003f54 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x00003f58 lw a0, (v0) | a0 = *(v0);
| /* str.Cannot_find_the_data_collector___s__n */
0x00003f5c addiu a2, a2, 0x21d4 | a2 += 0x21d4;
0x00003f60 jalr t9 | t9 ();
0x00003f64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003f68 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00003f6c lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.exec */
0x00003f70 addiu a0, a0, 0x21fc | a0 += 0x21fc;
| label_20:
0x00003f74 jalr t9 | t9 ();
0x00003f78 nop |
0x00003f7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003f80 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00003f84 addiu a0, zero, 4 | a0 = 4;
0x00003f88 jalr t9 | t9 ();
| label_45:
0x00003f8c lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x00003f90 addiu s2, s2, 2 | s2 += 2;
0x00003f94 addiu a2, zero, 0x200 | a2 = aav.0x00000200;
0x00003f98 move a1, s0 | a1 = s0;
0x00003f9c addiu a0, sp, 0x24c | a0 = sp + 0x24c;
0x00003fa0 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003fa4 jalr t9 | t9 ();
0x00003fa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003fac sb zero, 0x44b(sp) | *(var_44bh) = 0;
0x00003fb0 b 0x357c | goto label_0;
| label_40:
0x00003fb4 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00003fb8 lw a1, 0x34(sp) | a1 = *(var_34h);
| if (v0 != 0) {
0x00003fbc bnez v0, 0x369c | goto label_1;
| }
0x00003fc0 lw s0, -0x7fac(gp) | s0 = *(gp);
0x00003fc4 b 0x36d8 | goto label_8;
| label_49:
0x00003fc8 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00003fcc lw t9, -0x7ebc(gp) | t9 = sym.parse_timestamp;
0x00003fd0 lw a2, -0x7f88(gp) | a2 = *(gp);
| /* str.18:00:00 */
0x00003fd4 addiu a3, a3, 0x2128 | a3 += 0x2128;
0x00003fd8 b 0x3aac | goto label_9;
| label_48:
0x00003fdc lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00003fe0 lw t9, -0x7ebc(gp) | t9 = sym.parse_timestamp;
0x00003fe4 lw a2, -0x7f90(gp) | a2 = *(gp);
| /* str.08:00:00 */
0x00003fe8 addiu a3, a3, 0x2118 | a3 += 0x2118;
0x00003fec b 0x3aac | goto label_9;
| label_55:
0x00003ff0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00003ff4 addiu s1, sp, 0x44c | s1 = sp + 0x44c;
0x00003ff8 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* esilref: '&ld' */
0x00003ffc addiu a3, a3, 0x21c0 | a3 += 0x21c0;
0x00004000 addiu a2, zero, 0x400 | a2 = 0x400;
0x00004004 addiu a1, zero, 1 | a1 = 1;
0x00004008 move a0, s1 | a0 = s1;
0x0000400c jalr t9 | t9 ();
0x00004010 addiu s6, zero, 1 | s6 = 1;
0x00004014 b 0x3e30 | goto label_10;
| label_50:
0x00004018 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0000401c lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-m' */
0x00004020 addiu a1, a1, 0x2138 | a1 += 0x2138;
0x00004024 move a0, s0 | a0 = s0;
0x00004028 jalr t9 | t9 ();
0x0000402c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00004030 beqz v0, 0x4138 | goto label_58;
| }
0x00004034 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00004038 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-n' */
0x0000403c addiu a1, a1, 0x213c | a1 += 0x213c;
0x00004040 move a0, s0 | a0 = s0;
0x00004044 jalr t9 | t9 ();
0x00004048 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000404c bnez v0, 0x4170 | goto label_59;
| }
0x00004050 lw v0, 4(s1) | v0 = *((s1 + 1));
0x00004054 addiu s2, s2, 1 | s2++;
0x00004058 sw s2, 0x40(sp) | *(var_40h) = s2;
| if (v0 == 0) {
0x0000405c beqz v0, 0x3d04 | goto label_11;
| }
0x00004060 lw t9, -0x7eb8(gp) | t9 = sym.parse_sar_n_opt;
| label_14:
0x00004064 lw a2, -0x7fc8(gp) | a2 = *(gp);
0x00004068 addiu a1, sp, 0x40 | a1 = sp + 0x40;
0x0000406c move a0, s3 | a0 = s3;
0x00004070 jalr t9 | t9 ();
0x00004074 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00004078 bnez v0, 0x3d04 | goto label_11;
| }
0x0000407c lw s2, 0x40(sp) | s2 = *(var_40h);
0x00004080 b 0x357c | goto label_0;
| label_56:
0x00004084 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00004088 move a0, s5 | a0 = s5;
0x0000408c move t9, s2 | t9 = s2;
| /* esilref: '-S' */
0x00004090 addiu a1, a1, 0x21c8 | a1 += 0x21c8;
0x00004094 bal 0x485c | sym_salloc ();
0x00004098 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000409c lui v0, 0x554e | v0 = 0x554e5f41;
0x000040a0 addiu v0, v0, 0x5f41 |
0x000040a4 lw s0, -0x7fc8(gp) | s0 = *(gp);
0x000040a8 sw v0, 0x44c(sp) | *(var_44ch) = v0;
0x000040ac addiu v0, zero, 0x4c4c | v0 = 0x4c4c;
0x000040b0 addiu s6, s3, 2 | s6 = s3 + 2;
0x000040b4 sh v0, 4(s1) | *(var_4h) = v0;
0x000040b8 sb zero, 6(s1) | *(var_6h) = 0;
0x000040bc addiu fp, s0, 0x9c | fp = s0 + 0x9c;
0x000040c0 addiu s5, zero, 0x2c | s5 = 0x2c;
0x000040c4 b 0x40d4 | goto label_60;
| label_12:
0x000040c8 addiu s0, s0, 4 | s0 += 4;
| do {
0x000040cc move a1, s1 | a1 = s1;
| if (fp == s0) {
0x000040d0 beq fp, s0, 0x4120 | goto label_61;
| }
| label_60:
0x000040d4 lw s7, (s0) | s7 = *(s0);
0x000040d8 lw v0, 4(s7) | v0 = *((s7 + 1));
0x000040dc andi v0, v0, 2 | v0 &= 2;
0x000040e0 beql v0, zero, 0x40cc |
| } while (v0 == 0);
0x000040e4 addiu s0, s0, 4 | s0 += 4;
0x000040e8 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x000040ec move a0, s1 | a0 = s1;
0x000040f0 jalr t9 | t9 ();
0x000040f4 addu v0, s1, v0 | v0 = s1 + v0;
0x000040f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000040fc sb s5, (v0) | *(v0) = s5;
0x00004100 sb zero, 1(v0) | *(var_1h) = 0;
0x00004104 lw a1, 0x50(s7) | a1 = *((s7 + 20));
0x00004108 lw t9, -0x7ca4(gp) | t9 = sym.imp.__strcpy_chk;
0x0000410c addiu a2, zero, 0x400 | a2 = 0x400;
0x00004110 addiu a0, v0, 1 | a0 = v0 + 1;
0x00004114 jalr t9 | t9 ();
0x00004118 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000411c b 0x40c8 | goto label_12;
| label_61:
0x00004120 move t9, s2 | t9 = s2;
0x00004124 move a0, s6 | a0 = s6;
0x00004128 bal 0x485c | sym_salloc ();
0x0000412c addiu s3, s3, 3 | s3 += 3;
0x00004130 lw gp, 0x18(sp) | gp = *(var_18h);
0x00004134 b 0x3f08 | goto label_13;
| label_58:
0x00004138 lw v0, 4(s1) | v0 = *((s1 + 1));
0x0000413c addiu s2, s2, 1 | s2++;
0x00004140 sw s2, 0x40(sp) | *(var_40h) = s2;
| if (v0 == 0) {
0x00004144 beqz v0, 0x3d04 | goto label_11;
| }
0x00004148 lw t9, -0x7eb4(gp) | t9 = sym.parse_sar_m_opt;
0x0000414c b 0x4064 | goto label_14;
| label_57:
0x00004150 move a0, s5 | a0 = s5;
0x00004154 addiu s3, s3, 2 | s3 += 2;
0x00004158 move t9, s2 | t9 = s2;
| /* esilref: '-D' */
0x0000415c addiu a1, a1, 0x20f8 | a1 += 0x20f8;
0x00004160 bal 0x485c | sym_salloc ();
0x00004164 move s5, s3 | s5 = s3;
0x00004168 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000416c b 0x3ec4 | goto label_15;
| label_59:
0x00004170 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00004174 move a0, s0 | a0 = s0;
0x00004178 jalr t9 | t9 ();
0x0000417c move s1, v0 | s1 = v0;
0x00004180 addiu v0, v0, -2 | v0 += -2;
0x00004184 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x00004188 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000418c lbu a0, (s0) | a0 = *(s0);
| if (v0 == 0) {
0x00004190 beqz v0, 0x4228 | goto label_62;
| }
0x00004194 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00004198 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (a0 == v0) {
0x0000419c beq a0, v0, 0x42b4 | goto label_63;
| }
0x000041a0 lw v0, -0x7fa0(gp) | v0 = *(gp);
| label_17:
0x000041a4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x000041a8 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
0x000041ac lw a2, (v0) | a2 = *(v0);
| /* str.0123456789 */
0x000041b0 addiu a1, a1, 0x2104 | a1 += 0x2104;
0x000041b4 sw a2, 0x3c(sp) | *(var_3ch) = a2;
0x000041b8 move a0, s0 | a0 = s0;
0x000041bc sw v0, 0x38(sp) | *(var_38h) = v0;
0x000041c0 jalr t9 | t9 ();
0x000041c4 lw a2, 0x3c(sp) | a2 = *(var_3ch);
0x000041c8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a2 < 0) {
0x000041cc bltz a2, 0x427c | goto label_64;
| }
0x000041d0 lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (s1 != v0) {
0x000041d4 bne s1, v0, 0x3d08 | goto label_16;
| }
| if (a2 == 0) {
0x000041d8 beqz a2, 0x3d08 | goto label_16;
| }
0x000041dc nop |
0x000041e0 lw s1, -0x7f7c(gp) | s1 = *(gp);
0x000041e4 lw v0, (s1) | v0 = *(s1);
0x000041e8 addiu s2, s2, 1 | s2++;
| if (v0 != 0) {
0x000041ec bnez v0, 0x3d04 | goto label_11;
| }
0x000041f0 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x000041f4 addiu a2, zero, 0xa | a2 = 0xa;
0x000041f8 move a1, zero | a1 = 0;
0x000041fc move a0, s0 | a0 = s0;
0x00004200 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00004204 jalr t9 | t9 ();
0x00004208 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000420c sw v0, (s1) | *(s1) = v0;
| if (v0 <= 0) {
0x00004210 blez v0, 0x3d04 | goto label_11;
| }
0x00004214 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00004218 b 0x357c | goto label_0;
| label_23:
0x0000421c lw t9, -0x7eb0(gp) | t9 = sym.which_sadc;
0x00004220 bal 0x4774 | sym_which_sadc ();
0x00004224 nop |
| label_62:
0x00004228 addiu v0, zero, 0x2d | v0 = 0x2d;
0x0000422c lw v0, -0x7fa0(gp) | v0 = *(gp);
| if (a0 != v0) {
0x00004230 bne a0, v0, 0x41a4 | goto label_17;
| }
| label_19:
0x00004234 lw t9, -0x7eac(gp) | t9 = sym.parse_sar_opt;
0x00004238 lw a3, -0x7fac(gp) | a3 = *(gp);
0x0000423c lw a2, -0x7fc8(gp) | a2 = *(gp);
0x00004240 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00004244 addiu a1, sp, 0x40 | a1 = sp + 0x40;
0x00004248 move a0, s3 | a0 = s3;
0x0000424c bal 0x9efc | sym_parse_sar_opt ();
0x00004250 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00004254 beqz v0, 0x3af0 | goto label_18;
| }
0x00004258 addiu v1, zero, 1 | v1 = 1;
0x0000425c lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (v0 == v1) {
0x00004260 beq v0, v1, 0x3d08 | goto label_16;
| }
| label_21:
0x00004264 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00004268 addiu a0, zero, 1 | a0 = 1;
0x0000426c jalr t9 | t9 ();
| label_27:
0x00004270 lw t9, -0x7ea8(gp) | t9 = sym.display_help;
0x00004274 lw a0, (s3) | a0 = *(s3);
0x00004278 bal 0x45c4 | sym_display_help ();
| label_64:
0x0000427c addiu s2, s2, 1 | s2++;
| if (s1 != v0) {
0x00004280 bne s1, v0, 0x3d04 | goto label_11;
| }
0x00004284 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x00004288 addiu a2, zero, 0xa | a2 = 0xa;
0x0000428c move a1, zero | a1 = 0;
0x00004290 move a0, s0 | a0 = s0;
0x00004294 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00004298 jalr t9 | t9 ();
0x0000429c lw v1, 0x38(sp) | v1 = *(var_38h);
0x000042a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000042a4 sw v0, (v1) | *(v1) = v0;
| if (v0 < 0) {
0x000042a8 bltz v0, 0x3d04 | goto label_11;
| }
0x000042ac lw s2, 0x40(sp) | s2 = *(var_40h);
0x000042b0 b 0x357c | goto label_0;
| label_63:
0x000042b4 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
0x000042b8 addiu s0, s0, 1 | s0++;
| /* str.0123456789 */
0x000042bc addiu a1, a1, 0x2104 | a1 += 0x2104;
0x000042c0 move a0, s0 | a0 = s0;
0x000042c4 jalr t9 | t9 ();
0x000042c8 xori v1, s1, 2 | v1 = s1 ^ 2;
0x000042cc addiu a1, zero, 1 | a1 = 1;
0x000042d0 addiu a0, zero, 2 | a0 = 2;
| if (v1 != 0) {
0x000042d4 movz a0, a1, v1 | a0 = a1;
| }
0x000042d8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != a0) {
0x000042dc bne v0, a0, 0x4234 | goto label_19;
| }
0x000042e0 lb v0, 0x4c(sp) | v0 = *(var_4ch);
0x000042e4 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x000042e8 bnez v0, 0x3d04 | goto label_11;
| }
0x000042ec addiu s2, s2, 1 | s2++;
| if (v0 != 0) {
0x000042f0 bnez v0, 0x3d04 | goto label_11;
| }
0x000042f4 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x000042f8 sw s2, 0x40(sp) | *(var_40h) = s2;
0x000042fc addiu a2, zero, 0xa | a2 = 0xa;
0x00004300 move a1, zero | a1 = 0;
0x00004304 move a0, s0 | a0 = s0;
0x00004308 jalr t9 | t9 ();
0x0000430c sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00004310 lw gp, 0x18(sp) | gp = *(var_18h);
0x00004314 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00004318 b 0x357c | goto label_0;
| label_54:
0x0000431c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004320 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.dup2 */
0x00004324 addiu a0, a0, 0x21b8 | a0 += 0x21b8;
0x00004328 b 0x3f74 | goto label_20;
| label_32:
0x0000432c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004330 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x00004334 lw a3, (v0) | a3 = *(v0);
| /* str._f_and__o_options_are_mutually_exclusive_n */
0x00004338 addiu a0, a0, 0x2140 | a0 += 0x2140;
0x0000433c addiu a2, zero, 0x29 | a2 = 0x29;
| do {
0x00004340 addiu a1, zero, 1 | a1 = 1;
0x00004344 jalr t9 | t9 ();
0x00004348 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000434c b 0x4264 | goto label_21;
| label_38:
0x00004350 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x00004354 jalr t9 | t9 ();
0x00004358 nop |
| label_51:
0x0000435c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004360 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x00004364 lw a3, (v0) | a3 = *(v0);
| /* str.Not_reading_from_a_system_activity_file__use__f_option__n */
0x00004368 addiu a0, a0, 0x216c | a0 += 0x216c;
0x0000436c addiu a2, zero, 0x38 | a2 = 0x38;
0x00004370 b 0x4340 |
| } while (1);
| label_52:
0x00004374 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004378 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.pipe */
0x0000437c addiu a0, a0, 0x21a8 | a0 += 0x21a8;
0x00004380 b 0x3f74 | goto label_20;
| label_53:
0x00004384 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004388 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.fork */
0x0000438c addiu a0, a0, 0x21b0 | a0 += 0x21b0;
0x00004390 b 0x3f74 | goto label_20;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x1d8bc */
| #include <stdint.h>
|
; (fcn) sym.ioc_init () | void ioc_init () {
0x0001d8bc lui gp, 2 |
0x0001d8c0 addiu gp, gp, 0x294 |
0x0001d8c4 addu gp, gp, t9 | gp += t9;
0x0001d8c8 lw v0, -0x7bf8(gp) | v0 = *((gp - 7934));
0x0001d8cc addiu sp, sp, -0x248 |
0x0001d8d0 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x0001d8d4 sw s1, 0x224(sp) | *(var_224h) = s1;
0x0001d8d8 sw s0, 0x220(sp) | *(var_220h) = s0;
0x0001d8dc lw s1, -0x7fd8(gp) | s1 = *(gp);
0x0001d8e0 lw s0, -0x7fd8(gp) | s0 = *(gp);
0x0001d8e4 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0001d8e8 lw v0, (v0) | v0 = *(v0);
0x0001d8ec sw gp, 0x30(sp) | *(var_30h) = gp;
0x0001d8f0 sw ra, 0x244(sp) | *(var_244h) = ra;
0x0001d8f4 sw fp, 0x240(sp) | *(var_240h) = fp;
0x0001d8f8 sw s7, 0x23c(sp) | *(var_23ch) = s7;
0x0001d8fc sw s6, 0x238(sp) | *(var_238h) = s6;
0x0001d900 sw s5, 0x234(sp) | *(var_234h) = s5;
0x0001d904 sw s4, 0x230(sp) | *(var_230h) = s4;
0x0001d908 sw s3, 0x22c(sp) | *(var_22ch) = s3;
0x0001d90c sw s2, 0x228(sp) | *(var_228h) = s2;
0x0001d910 addiu a1, s1, 0x34ac | a1 = s1 + 0x34ac;
| /* str._etc_sysconfig_sysstat.ioconf */
0x0001d914 addiu a0, s0, 0x36cc | a0 = s0 + 0x36cc;
0x0001d918 sw v0, 0x21c(sp) | *(var_21ch) = v0;
0x0001d91c jalr t9 | t9 ();
0x0001d920 nop |
0x0001d924 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0001d928 beqz v0, 0x1e08c | goto label_13;
| }
0x0001d92c lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001d930 addiu s7, sp, 0xdc | s7 = sp + 0xdc;
0x0001d934 addiu a2, zero, 0x40 | a2 = 0x40;
| /* str._etc_sysconfig_sysstat.ioconf */
0x0001d938 addiu a1, s0, 0x36cc | a1 = s0 + 0x36cc;
0x0001d93c move a0, s7 | a0 = s7;
0x0001d940 move s6, v0 | s6 = v0;
0x0001d944 jalr t9 | t9 ();
0x0001d948 lw gp, 0x30(sp) | gp = *(var_30h);
| label_12:
0x0001d94c lw v0, -0x7d80(gp) | v0 = *((gp - 8032));
0x0001d950 lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x0001d954 addiu v0, v0, -0x529c | v0 += -0x529c;
0x0001d958 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0001d95c addiu a2, zero, 0x800 | a2 = 0x800;
0x0001d960 move a1, zero | a1 = 0;
0x0001d964 move a0, v0 | a0 = v0;
0x0001d968 sb zero, 0x11b(sp) | *(var_11bh) = 0;
0x0001d96c jalr t9 | t9 ();
0x0001d970 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001d974 move s2, zero | s2 = 0;
0x0001d978 move s0, zero | s0 = 0;
0x0001d97c lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0001d980 sw zero, 0x48(sp) | *(var_48h) = 0;
0x0001d984 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0001d988 lw v0, -0x7d80(gp) | v0 = *((gp - 8032));
0x0001d98c addiu fp, sp, 0x11c | fp = sp + 0x11c;
0x0001d990 addiu v0, v0, -0x4a9c | v0 += -0x4a9c;
0x0001d994 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0001d998 lw v0, -0x7fd8(gp) | v0 = *(gp);
| /* str._s:_Indirect_record__u:_u:_u:..._references_not_yet_seen_major__u_n */
0x0001d99c addiu v0, v0, 0x375c | v0 += 0x375c;
0x0001d9a0 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0001d9a4 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0001d9a8 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0001d9ac lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0001d9b0 addiu v0, v0, 0x21a4 | v0 += 0x21a4;
0x0001d9b4 sw v0, 0x58(sp) | *(var_58h) = v0;
| do {
| label_2:
0x0001d9b8 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
| label_0:
0x0001d9bc move a2, s6 | a2 = s6;
0x0001d9c0 addiu a1, zero, 0xff | a1 = 0xff;
0x0001d9c4 move a0, fp | a0 = fp;
0x0001d9c8 jalr t9 | t9 ();
0x0001d9cc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0001d9d0 beqz v0, 0x1dc38 | goto label_14;
| }
| label_1:
0x0001d9d4 lb v0, 0x11c(sp) | v0 = *(var_11ch);
0x0001d9d8 addiu a0, zero, 0x23 | a0 = 0x23;
0x0001d9dc addiu a0, zero, 0xa | a0 = 0xa;
0x0001d9e0 beq v0, a0, 0x1d9b8 |
| } while (v0 == a0);
0x0001d9e4 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
| if (v0 == a0) {
0x0001d9e8 beq v0, a0, 0x1d9bc | goto label_0;
| }
0x0001d9ec lw t9, -0x7c44(gp) | t9 = sym.imp.malloc;
| if (s2 == 0) {
0x0001d9f0 beqz s2, 0x1ddec | goto label_15;
| }
| label_5:
0x0001d9f4 lw t9, -0x7c44(gp) | t9 = sym.imp.malloc;
| if (s0 == 0) {
0x0001d9f8 beqz s0, 0x1dd88 | goto label_16;
| }
| label_3:
0x0001d9fc lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x0001da00 addiu a2, zero, 0xf0 | a2 = 0xf0;
0x0001da04 move a1, zero | a1 = 0;
0x0001da08 move a0, s2 | a0 = s2;
0x0001da0c jalr t9 | t9 ();
0x0001da10 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001da14 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0001da18 addiu s4, s0, 4 | s4 = s0 + 4;
0x0001da1c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001da20 addiu s5, sp, 0x68 | s5 = sp + 0x68;
0x0001da24 addiu s3, sp, 0x64 | s3 = sp + 0x64;
0x0001da28 addiu s1, sp, 0x9c | s1 = sp + 0x9c;
0x0001da2c sw zero, (s0) | *(s0) = 0;
0x0001da30 sw zero, 4(s0) | *((s0 + 1)) = 0;
0x0001da34 sw zero, 8(s0) | *((s0 + 2)) = 0;
0x0001da38 sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x0001da3c sw zero, 0x10(s0) | *((s0 + 4)) = 0;
0x0001da40 move a0, fp | a0 = fp;
0x0001da44 move a3, s5 | a3 = s5;
0x0001da48 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0001da4c sw s4, 0x10(sp) | *(var_10h) = s4;
0x0001da50 move a2, s3 | a2 = s3;
0x0001da54 addiu a1, v0, 0x3700 | a1 = v0 + 0x3700;
0x0001da58 jalr t9 | t9 ();
0x0001da5c addiu a0, zero, 4 | a0 = 4;
0x0001da60 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == a0) {
0x0001da64 beq v0, a0, 0x1dcb8 | goto label_17;
| }
0x0001da68 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001da6c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001da70 move a0, fp | a0 = fp;
0x0001da74 sw s4, 0x10(sp) | *(var_10h) = s4;
0x0001da78 move a3, s5 | a3 = s5;
0x0001da7c move a2, s3 | a2 = s3;
| /* str._u:_u:_u */
0x0001da80 addiu a1, a1, 0x370c | a1 += 0x370c;
0x0001da84 jalr t9 | t9 ();
0x0001da88 addiu a0, v0, -3 | a0 = v0 + -3;
0x0001da8c sltiu a0, a0, 2 | a0 = (a0 < 2) ? 1 : 0;
0x0001da90 lw gp, 0x30(sp) | gp = *(var_30h);
| if (a0 != 0) {
0x0001da94 bnez a0, 0x1dcbc | goto label_18;
| }
0x0001da98 addiu v0, sp, 0x8c | v0 = sp + 0x8c;
0x0001da9c move v1, v0 | v1 = v0;
0x0001daa0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001daa4 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0001daa8 addiu v0, s2, 0x7c | v0 = s2 + 0x7c;
0x0001daac lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001dab0 addiu a0, s2, 0x80 | a0 = s2 + 0x80;
0x0001dab4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001dab8 addiu s5, sp, 0x6c | s5 = sp + 0x6c;
0x0001dabc addiu v0, sp, 0x7c | v0 = sp + 0x7c;
0x0001dac0 sw a0, 0x24(sp) | *(var_24h) = a0;
0x0001dac4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0001dac8 move a0, fp | a0 = fp;
0x0001dacc sw v1, 0x20(sp) | *(var_20h) = v1;
0x0001dad0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001dad4 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0001dad8 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0001dadc move a3, s2 | a3 = s2;
0x0001dae0 move a2, s3 | a2 = s3;
| /* str._u:__:_:__:_:_u:__:_:_u:__:_:_u:_s */
0x0001dae4 addiu a1, a1, 0x37a4 | a1 += 0x37a4;
0x0001dae8 jalr t9 | t9 ();
0x0001daec addiu a0, zero, 9 | a0 = 9;
0x0001daf0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != a0) {
0x0001daf4 bne v0, a0, 0x1de44 | goto label_19;
| }
0x0001daf8 lw a1, 0x64(sp) | a1 = *(var_64h);
0x0001dafc addiu v0, a1, -1 | v0 = a1 + -1;
0x0001db00 sltiu v0, v0, 0x1fe | v0 = (v0 < 0x1fe) ? 1 : 0;
0x0001db04 lb v0, 0x6c(sp) | v0 = *(var_6ch);
| if (v0 == 0) {
0x0001db08 beqz v0, 0x1df90 | goto label_20;
| }
0x0001db0c addiu a0, zero, 0x78 | a0 = 0x78;
0x0001db10 lw v1, 0x40(sp) | v1 = *(var_40h);
| if (v0 == a0) {
0x0001db14 beq v0, a0, 0x1dee8 | goto label_21;
| }
0x0001db18 addiu a1, zero, 0x2a | a1 = 0x2a;
0x0001db1c addiu a0, s2, 0x20 | a0 = s2 + 0x20;
| if (v0 == a1) {
0x0001db20 beq v0, a1, 0x1dfc8 | goto label_22;
| }
0x0001db24 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0001db28 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001db2c sw s5, 0x14(sp) | *(var_14h) = s5;
0x0001db30 sw s2, 0x10(sp) | *(var_10h) = s2;
| /* str._s_s__d */
0x0001db34 addiu a3, a3, 0x389c | a3 += 0x389c;
0x0001db38 addiu a2, zero, 0x33 | a2 = 0x33;
0x0001db3c addiu a1, zero, 1 | a1 = 1;
0x0001db40 jalr t9 | t9 ();
0x0001db44 lw v0, 0x78(s2) | v0 = *((s2 + 30));
0x0001db48 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001db4c addiu v0, v0, 1 | v0++;
0x0001db50 sw v0, 0x78(s2) | *((s2 + 30)) = v0;
0x0001db54 lb v0, 0x7c(sp) | v0 = *(var_7ch);
0x0001db58 addiu a0, zero, 0x61 | a0 = 0x61;
0x0001db5c sb zero, 0x53(s2) | *((s2 + 83)) = 0;
| if (v0 == a0) {
0x0001db60 beq v0, a0, 0x1dff0 | goto label_23;
| }
| label_8:
0x0001db64 addiu a0, zero, 0x64 | a0 = 0x64;
0x0001db68 addiu a3, s2, 0x53 | a3 = s2 + 0x53;
| if (v0 == a0) {
0x0001db6c beq v0, a0, 0x1e064 | goto label_24;
| }
0x0001db70 addiu a0, zero, 0x25 | a0 = 0x25;
0x0001db74 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
| if (v0 == a0) {
0x0001db78 beq v0, a0, 0x1e048 | goto label_25;
| }
| label_9:
0x0001db7c lb a1, 0x8c(sp) | a1 = *(var_8ch);
0x0001db80 addiu v0, zero, 0x2a | v0 = 0x2a;
0x0001db84 addiu a0, s2, 0x63 | a0 = s2 + 0x63;
| if (a1 == v0) {
0x0001db88 beq a1, v0, 0x1dfc0 | goto label_26;
| }
0x0001db8c lw v0, 0x44(sp) | v0 = *(var_44h);
| label_7:
0x0001db90 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0001db94 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001db98 addiu a1, zero, 1 | a1 = 1;
0x0001db9c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._s__d */
0x0001dba0 addiu a3, a3, 0x38a4 | a3 += 0x38a4;
0x0001dba4 addiu a2, zero, 0x12 | a2 = 0x12;
0x0001dba8 jalr t9 | t9 ();
0x0001dbac lw a0, 0x64(sp) | a0 = *(var_64h);
0x0001dbb0 lw v1, 0x40(sp) | v1 = *(var_40h);
0x0001dbb4 sll v0, a0, 2 | v0 = a0 << 2;
0x0001dbb8 addu v0, v0, v1 | v0 += v1;
0x0001dbbc addiu a1, zero, 1 | a1 = 1;
0x0001dbc0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dbc4 sw s2, 0x10(s0) | *((s0 + 4)) = s2;
0x0001dbc8 sw a1, (s0) | *(s0) = a1;
0x0001dbcc sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x0001dbd0 sw a0, 8(s0) | *((s0 + 2)) = a0;
0x0001dbd4 sw s0, (v0) | *(v0) = s0;
0x0001dbd8 addiu s2, s2, 0x84 | s2 += 0x84;
| do {
0x0001dbdc lw a2, (s1) | a2 = *(s1);
0x0001dbe0 lw a1, 4(s1) | a1 = *(var_4h);
0x0001dbe4 lw a0, 8(s1) | a0 = *(var_8h);
0x0001dbe8 lw v0, 0xc(s1) | v0 = *(var_ch);
0x0001dbec addiu s1, s1, 0x10 | s1 += 0x10;
0x0001dbf0 sw a2, (s2) | *(s2) = a2;
0x0001dbf4 sw a1, 4(s2) | *((s2 + 1)) = a1;
0x0001dbf8 sw a0, 8(s2) | *((s2 + 2)) = a0;
0x0001dbfc sw v0, 0xc(s2) | *((s2 + 3)) = v0;
0x0001dc00 addiu s2, s2, 0x10 | s2 += 0x10;
0x0001dc04 bne s1, s7, 0x1dbdc |
| } while (s1 != s7);
0x0001dc08 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001dc0c lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
0x0001dc10 addiu v0, v0, 1 | v0++;
0x0001dc14 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0001dc18 move a2, s6 | a2 = s6;
0x0001dc1c addiu a1, zero, 0xff | a1 = 0xff;
0x0001dc20 move a0, fp | a0 = fp;
0x0001dc24 jalr t9 | t9 ();
0x0001dc28 move s2, zero | s2 = 0;
0x0001dc2c move s0, zero | s0 = 0;
0x0001dc30 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0001dc34 bnez v0, 0x1d9d4 | goto label_1;
| }
| label_14:
0x0001dc38 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001dc3c move a0, s6 | a0 = s6;
0x0001dc40 jalr t9 | t9 ();
0x0001dc44 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dc48 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001dc4c move a0, s2 | a0 = s2;
0x0001dc50 jalr t9 | t9 ();
0x0001dc54 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dc58 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001dc5c move a0, s0 | a0 = s0;
0x0001dc60 jalr t9 | t9 ();
0x0001dc64 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dc68 addiu a0, zero, 1 | a0 = 1;
0x0001dc6c lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001dc70 lw v1, -0x7d80(gp) | v1 = *((gp - 8032));
0x0001dc74 sw a0, -0x429c(v1) | *((v1 - 4263)) = a0;
| label_4:
0x0001dc78 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0001dc7c lw a0, 0x21c(sp) | a0 = *(var_21ch);
0x0001dc80 lw v1, (v1) | v1 = *(v1);
0x0001dc84 lw ra, 0x244(sp) | ra = *(var_244h);
| if (a0 != v1) {
0x0001dc88 bne a0, v1, 0x1e12c | goto label_27;
| }
0x0001dc8c lw fp, 0x240(sp) | fp = *(var_240h);
0x0001dc90 lw s7, 0x23c(sp) | s7 = *(var_23ch);
0x0001dc94 lw s6, 0x238(sp) | s6 = *(var_238h);
0x0001dc98 lw s5, 0x234(sp) | s5 = *(var_234h);
0x0001dc9c lw s4, 0x230(sp) | s4 = *(var_230h);
0x0001dca0 lw s3, 0x22c(sp) | s3 = *(var_22ch);
0x0001dca4 lw s2, 0x228(sp) | s2 = *(var_228h);
0x0001dca8 lw s1, 0x224(sp) | s1 = *(var_224h);
0x0001dcac lw s0, 0x220(sp) | s0 = *(var_220h);
0x0001dcb0 addiu sp, sp, 0x248 |
0x0001dcb4 jr ra | return v0;
| label_17:
0x0001dcb8 addiu v0, zero, 4 | v0 = 4;
| label_18:
0x0001dcbc lw a1, 0x68(sp) | a1 = *(var_68h);
0x0001dcc0 sltiu a0, a1, 0x200 | a0 = (a1 < aav.0x00000200) ? 1 : 0;
| if (a1 == 0) {
0x0001dcc4 beqz a1, 0x1d9b8 | goto label_2;
| }
0x0001dcc8 lw a2, 0x64(sp) | a2 = *(var_64h);
| if (a0 == 0) {
0x0001dccc beqz a0, 0x1df38 | goto label_28;
| }
0x0001dcd0 sltiu a0, a2, 0x200 | a0 = (a2 < aav.0x00000200) ? 1 : 0;
0x0001dcd4 lw v1, 0x40(sp) | v1 = *(var_40h);
| if (a0 == 0) {
0x0001dcd8 beqz a0, 0x1df64 | goto label_29;
| }
0x0001dcdc sll a0, a1, 2 | a0 = a1 << 2;
0x0001dce0 lwx a3, a0(v1) | __asm ("lwx a3, a0(v1)");
0x0001dce4 addiu t0, zero, 3 | t0 = 3;
| if (a3 == 0) {
0x0001dce8 beqz a3, 0x1e0cc | goto label_30;
| }
| if (v0 == t0) {
0x0001dcec beql v0, t0, 0x1e010 | goto label_31;
| }
0x0001dcf0 lw v0, 0x10(a3) | v0 = *((a3 + 4));
0x0001dcf4 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0001dcf8 lw t9, -0x7c44(gp) | t9 = sym.imp.malloc;
| if (v0 == 0) {
0x0001dcfc beqz v0, 0x1de74 | goto label_32;
| }
| do {
| label_6:
0x0001dd00 lw a3, (s1) | a3 = *(s1);
0x0001dd04 lw a2, 4(s1) | a2 = *(var_4h);
0x0001dd08 lw a1, 8(s1) | a1 = *(var_8h);
0x0001dd0c lw a0, 0xc(s1) | a0 = *(var_ch);
0x0001dd10 swl a3, 3(v0) | __asm ("swl a3, 3(v0)");
0x0001dd14 swr a3, (v0) | __asm ("swr a3, (v0)");
0x0001dd18 swl a2, 7(v0) | __asm ("swl a2, 7(v0)");
0x0001dd1c swr a2, 4(v0) | __asm ("swr a2, 4(v0)");
0x0001dd20 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x0001dd24 swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x0001dd28 swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x0001dd2c addiu s1, s1, 0x10 | s1 += 0x10;
0x0001dd30 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x0001dd34 addiu v0, v0, 0x10 | v0 += 0x10;
0x0001dd38 bne s1, s7, 0x1dd00 |
| } while (s1 != s7);
0x0001dd3c lw a1, 0x68(sp) | a1 = *(var_68h);
0x0001dd40 lw a2, 0x64(sp) | a2 = *(var_64h);
0x0001dd44 sll a0, a1, 2 | a0 = a1 << 2;
| label_10:
0x0001dd48 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001dd4c sll a2, a2, 2 | a2 <<= 2;
0x0001dd50 addu a2, v0, a2 | a2 = v0 + a2;
0x0001dd54 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0001dd58 sw s0, (a2) | *(a2) = s0;
0x0001dd5c addu a3, v1, a0 | a3 = v1 + a0;
0x0001dd60 lwx a0, a0(v0) | __asm ("lwx a0, a0(v0)");
0x0001dd64 lw v0, (a3) | v0 = *(a3);
0x0001dd68 sw a1, 8(s0) | *((s0 + 2)) = a1;
0x0001dd6c lw a0, 0x10(a0) | a0 = *((a0 + 4));
0x0001dd70 addiu v0, v0, 1 | v0++;
0x0001dd74 sw a0, 0x10(s0) | *((s0 + 4)) = a0;
0x0001dd78 sw zero, (s0) | *(s0) = 0;
0x0001dd7c sw v0, (a3) | *(a3) = v0;
0x0001dd80 move s0, zero | s0 = 0;
0x0001dd84 b 0x1d9b8 | goto label_2;
| label_16:
0x0001dd88 addiu a0, zero, 0x14 | a0 = 0x14;
0x0001dd8c jalr t9 | t9 ();
0x0001dd90 move s0, v0 | s0 = v0;
0x0001dd94 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0001dd98 bnez v0, 0x1d9fc | goto label_3;
| }
0x0001dd9c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001dda0 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.malloc */
0x0001dda4 addiu a0, a0, 0x1fc0 | a0 += 0x1fc0;
0x0001dda8 jalr t9 | t9 ();
0x0001ddac lw gp, 0x30(sp) | gp = *(var_30h);
0x0001ddb0 lw t9, -0x7fd8(gp) | t9 = *(gp);
| /* fcn.0001d7d8 */
0x0001ddb4 addiu t9, t9, -0x2828 | t9 += -0x2828;
0x0001ddb8 bal 0x1d7d8 | fcn_0001d7d8 ();
0x0001ddbc nop |
0x0001ddc0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001ddc4 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001ddc8 move a0, s6 | a0 = s6;
0x0001ddcc jalr t9 | t9 ();
0x0001ddd0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001ddd4 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001ddd8 move a0, s2 | a0 = s2;
0x0001dddc jalr t9 | t9 ();
0x0001dde0 lw gp, 0x30(sp) | gp = *(var_30h);
| label_11:
0x0001dde4 move v0, zero | v0 = 0;
0x0001dde8 b 0x1dc78 | goto label_4;
| label_15:
0x0001ddec addiu a0, zero, 0xf0 | a0 = 0xf0;
0x0001ddf0 jalr t9 | t9 ();
0x0001ddf4 move s2, v0 | s2 = v0;
0x0001ddf8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0001ddfc bnez v0, 0x1d9f4 | goto label_5;
| }
0x0001de00 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001de04 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.malloc */
0x0001de08 addiu a0, a0, 0x1fc0 | a0 += 0x1fc0;
0x0001de0c jalr t9 | t9 ();
0x0001de10 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de14 lw t9, -0x7fd8(gp) | t9 = *(gp);
| /* fcn.0001d7d8 */
0x0001de18 addiu t9, t9, -0x2828 | t9 += -0x2828;
0x0001de1c bal 0x1d7d8 | fcn_0001d7d8 ();
0x0001de20 nop |
0x0001de24 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de28 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001de2c move a0, s6 | a0 = s6;
0x0001de30 jalr t9 | t9 ();
0x0001de34 lw gp, 0x30(sp) | gp = *(var_30h);
| if (s0 != 0) {
0x0001de38 bnez s0, 0x1ded0 | goto label_33;
| }
0x0001de3c move v0, zero | v0 = 0;
0x0001de40 b 0x1dc78 | goto label_4;
| label_19:
0x0001de44 lw a0, -0x7be8(gp) | a0 = *((gp - 7930));
0x0001de48 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001de4c lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x0001de50 lw a0, (a0) | a0 = *(a0);
0x0001de54 move a3, s7 | a3 = s7;
0x0001de58 sw fp, 0x14(sp) | *(var_14h) = fp;
0x0001de5c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._s:_Malformed__u_field_record:__s_n */
0x0001de60 addiu a2, a2, 0x37cc | a2 += 0x37cc;
0x0001de64 addiu a1, zero, 1 | a1 = 1;
0x0001de68 jalr t9 | t9 ();
0x0001de6c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de70 b 0x1d9b8 | goto label_2;
| label_32:
0x0001de74 addiu a0, zero, 0x40 | a0 = 0x40;
0x0001de78 jalr t9 | t9 ();
0x0001de7c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de80 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
| if (v0 != 0) {
0x0001de84 bnez v0, 0x1dd00 | goto label_6;
| }
0x0001de88 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001de8c lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.malloc */
0x0001de90 addiu a0, a0, 0x1fc0 | a0 += 0x1fc0;
0x0001de94 jalr t9 | t9 ();
0x0001de98 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de9c lw t9, -0x7fd8(gp) | t9 = *(gp);
| /* fcn.0001d7d8 */
0x0001dea0 addiu t9, t9, -0x2828 | t9 += -0x2828;
0x0001dea4 bal 0x1d7d8 | fcn_0001d7d8 ();
0x0001dea8 nop |
0x0001deac lw gp, 0x30(sp) | gp = *(var_30h);
0x0001deb0 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001deb4 move a0, s6 | a0 = s6;
0x0001deb8 jalr t9 | t9 ();
0x0001debc lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dec0 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001dec4 move a0, s2 | a0 = s2;
0x0001dec8 jalr t9 | t9 ();
0x0001decc lw gp, 0x30(sp) | gp = *(var_30h);
| label_33:
0x0001ded0 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001ded4 move a0, s0 | a0 = s0;
0x0001ded8 jalr t9 | t9 ();
0x0001dedc lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dee0 move v0, zero | v0 = 0;
0x0001dee4 b 0x1dc78 | goto label_4;
| label_21:
0x0001dee8 sll v0, a1, 2 | v0 = a1 << 2;
0x0001deec lwx v0, v0(v1) | __asm ("lwx v0, v0(v1)");
| if (v0 == 0) {
0x0001def0 beql v0, zero, 0x1e104 | goto label_34;
| }
0x0001def4 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001def8 lw s1, 0x10(v0) | s1 = *((v0 + 4));
0x0001defc lw v0, 0xe8(s1) | v0 = *((s1 + 58));
| if (v0 == 0) {
0x0001df00 beql v0, zero, 0x1e01c | goto label_35;
| }
0x0001df04 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0001df08 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df0c lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001df10 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x0001df14 lw a0, (v0) | a0 = *(v0);
0x0001df18 move a3, s7 | a3 = s7;
0x0001df1c sw a1, 0x10(sp) | *(var_10h) = a1;
0x0001df20 sw fp, 0x14(sp) | *(var_14h) = fp;
| /* str._s:_duplicate_x_record_for_major__u___ignored_ninput_line:__s_n */
0x0001df24 addiu a2, a2, 0x3858 | a2 += 0x3858;
0x0001df28 addiu a1, zero, 1 | a1 = 1;
0x0001df2c jalr t9 | t9 ();
0x0001df30 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001df34 b 0x1d9b8 | goto label_2;
| label_28:
0x0001df38 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df3c lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001df40 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x0001df44 lw a0, (v0) | a0 = *(v0);
0x0001df48 move a3, s7 | a3 = s7;
0x0001df4c sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_Indirect_major__u_out_of_range_n */
0x0001df50 addiu a2, a2, 0x3718 | a2 += 0x3718;
0x0001df54 addiu a1, zero, 1 | a1 = 1;
0x0001df58 jalr t9 | t9 ();
0x0001df5c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001df60 b 0x1d9b8 | goto label_2;
| label_29:
0x0001df64 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df68 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0001df6c lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x0001df70 lw a0, (v0) | a0 = *(v0);
0x0001df74 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0001df78 move a3, s7 | a3 = s7;
0x0001df7c addiu a2, v0, 0x3740 | a2 = v0 + 0x3740;
0x0001df80 addiu a1, zero, 1 | a1 = 1;
0x0001df84 jalr t9 | t9 ();
0x0001df88 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001df8c b 0x1d9b8 | goto label_2;
| label_20:
0x0001df90 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df94 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0001df98 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001df9c lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x0001dfa0 lw a0, (v0) | a0 = *(v0);
| /* str.ioc_init */
0x0001dfa4 addiu a3, a3, 0x38c0 | a3 += 0x38c0;
0x0001dfa8 sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_major__u_out_of_range_n */
0x0001dfac addiu a2, a2, 0x37f0 | a2 += 0x37f0;
0x0001dfb0 addiu a1, zero, 1 | a1 = 1;
0x0001dfb4 jalr t9 | t9 ();
0x0001dfb8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dfbc b 0x1d9b8 | goto label_2;
| label_26:
0x0001dfc0 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001dfc4 b 0x1db90 | goto label_7;
| label_22:
0x0001dfc8 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001dfcc addiu a2, zero, 0x32 | a2 = 0x32;
0x0001dfd0 move a1, s2 | a1 = s2;
0x0001dfd4 jalr t9 | t9 ();
0x0001dfd8 lb v0, 0x7c(sp) | v0 = *(var_7ch);
0x0001dfdc addiu a0, zero, 0x61 | a0 = 0x61;
0x0001dfe0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dfe4 sb zero, 0x52(s2) | *((s2 + 82)) = 0;
0x0001dfe8 sb zero, 0x53(s2) | *((s2 + 83)) = 0;
| if (v0 != a0) {
0x0001dfec bne v0, a0, 0x1db64 | goto label_8;
| }
| label_23:
0x0001dff0 lw a0, -0x7d2c(gp) | a0 = sym.ioc_ito26;
0x0001dff4 sb zero, 0x55(s2) | *((s2 + 85)) = 0;
0x0001dff8 sw a0, 0xc4(s2) | *((s2 + 49)) = a0;
0x0001dffc addiu a0, zero, 0x25 | a0 = 0x25;
0x0001e000 sb a0, 0x53(s2) | *((s2 + 83)) = a0;
0x0001e004 addiu a0, zero, 0x73 | a0 = 0x73;
0x0001e008 sb a0, 0x54(s2) | *((s2 + 84)) = a0;
0x0001e00c b 0x1db7c | goto label_9;
| label_31:
0x0001e010 addiu v0, v0, 0x84 | v0 += 0x84;
0x0001e014 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
0x0001e018 b 0x1dd48 | goto label_10;
| label_35:
0x0001e01c lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001e020 sw v0, 0xec(s1) | *((s1 + 59)) = v0;
0x0001e024 addiu a2, zero, 0x20 | a2 = 0x20;
0x0001e028 move a1, s2 | a1 = s2;
0x0001e02c addiu a0, s1, 0xc8 | a0 = s1 + 0xc8;
0x0001e030 jalr t9 | t9 ();
0x0001e034 addiu v0, zero, 1 | v0 = 1;
0x0001e038 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e03c sb zero, 0xe7(s1) | *((s1 + 231)) = 0;
0x0001e040 sw v0, 0xe8(s1) | *((s1 + 58)) = v0;
0x0001e044 b 0x1d9b8 | goto label_2;
| label_25:
0x0001e048 addiu a3, s2, 0x53 | a3 = s2 + 0x53;
0x0001e04c move a0, a3 | a0 = a3;
0x0001e050 addiu a2, zero, 0xf | a2 = 0xf;
0x0001e054 addiu a1, sp, 0x7d | a1 = sp + 0x7d;
0x0001e058 jalr t9 | t9 ();
0x0001e05c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e060 move a3, v0 | a3 = v0;
| label_24:
0x0001e064 lw v0, -0x7d28(gp) | v0 = sym.ioc_ito10;
0x0001e068 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001e06c lw t9, -0x7bbc(gp) | t9 = sym.imp.__strcat_chk;
0x0001e070 sw v0, 0xc4(s2) | *((s2 + 49)) = v0;
0x0001e074 addiu a2, zero, 0x10 | a2 = 0x10;
| /* esilref: '&s' */
0x0001e078 addiu a1, a1, 0x37c8 | a1 += 0x37c8;
0x0001e07c move a0, a3 | a0 = a3;
0x0001e080 jalr t9 | t9 ();
0x0001e084 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e088 b 0x1db7c | goto label_9;
| label_13:
0x0001e08c lw s0, -0x7fd8(gp) | s0 = *(gp);
0x0001e090 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x0001e094 addiu a1, s1, 0x34ac | a1 = s1 + 0x34ac;
| /* str.._sysstat.ioconf */
0x0001e098 addiu a0, s0, 0x36ec | a0 = s0 + 0x36ec;
0x0001e09c jalr t9 | t9 ();
0x0001e0a0 move s6, v0 | s6 = v0;
0x0001e0a4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0001e0a8 beqz v0, 0x1dde4 | goto label_11;
| }
0x0001e0ac lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001e0b0 addiu s7, sp, 0xdc | s7 = sp + 0xdc;
0x0001e0b4 addiu a2, zero, 0x40 | a2 = 0x40;
| /* str.._sysstat.ioconf */
0x0001e0b8 addiu a1, s0, 0x36ec | a1 = s0 + 0x36ec;
0x0001e0bc move a0, s7 | a0 = s7;
0x0001e0c0 jalr t9 | t9 ();
0x0001e0c4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e0c8 b 0x1d94c | goto label_12;
| label_30:
0x0001e0cc lw a0, -0x7be8(gp) | a0 = *((gp - 7930));
0x0001e0d0 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0001e0d4 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0001e0d8 lw a0, (a0) | a0 = *(a0);
0x0001e0dc lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x0001e0e0 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0001e0e4 lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0001e0e8 sw a1, 0x14(sp) | *(var_14h) = a1;
0x0001e0ec sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001e0f0 move a3, s7 | a3 = s7;
0x0001e0f4 addiu a1, zero, 1 | a1 = 1;
0x0001e0f8 jalr t9 | t9 ();
0x0001e0fc lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e100 b 0x1d9b8 | goto label_2;
| label_34:
0x0001e104 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001e108 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk;
0x0001e10c lw a0, (v0) | a0 = *(v0);
0x0001e110 move a3, s7 | a3 = s7;
0x0001e114 sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_type_x_record_for_major__u_must_follow_the_base_record___ignored_n */
0x0001e118 addiu a2, a2, 0x380c | a2 += 0x380c;
0x0001e11c addiu a1, zero, 1 | a1 = 1;
0x0001e120 jalr t9 | t9 ();
0x0001e124 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e128 b 0x1d9b8 | goto label_2;
| label_27:
0x0001e12c lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001e130 jalr t9 | t9 ();
0x0001e134 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x1e138 */
| #include <stdint.h>
|
; (fcn) sym.ioc_name () | void ioc_name () {
0x0001e138 lui gp, 2 |
0x0001e13c addiu gp, gp, -0x5e8 |
0x0001e140 addu gp, gp, t9 | gp += t9;
0x0001e144 sltiu v0, a0, 0x200 | v0 = (a0 < aav.0x00000200) ? 1 : 0;
| if (v0 == 0) {
0x0001e148 beqz v0, 0x1e3e0 | goto label_1;
| }
0x0001e14c nop |
0x0001e150 lui v0, 0x10 | v0 = 0x100000;
0x0001e154 sltu v0, a1, v0 | v0 = (a1 < v0) ? 1 : 0;
| if (v0 == 0) {
0x0001e158 beqz v0, 0x1e3e0 | goto label_1;
| }
0x0001e15c nop |
0x0001e160 lw v0, -0x7d80(gp) | v0 = *((gp - 8032));
0x0001e164 addiu sp, sp, -0x40 |
0x0001e168 lw v0, -0x429c(v0) | v0 = *((v0 - 4263));
0x0001e16c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001e170 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0001e174 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0001e178 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0001e17c sw s6, 0x38(sp) | *(var_38h) = s6;
0x0001e180 sw s5, 0x34(sp) | *(var_34h) = s5;
0x0001e184 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0001e188 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0001e18c sw s2, 0x28(sp) | *(var_28h) = s2;
0x0001e190 move s1, a1 | s1 = a1;
0x0001e194 move s0, a0 | s0 = a0;
0x0001e198 beqz v0, 0x1e2e8 |
| while (v0 != 0) {
0x0001e19c lw s4, -0x7d80(gp) | s4 = *((gp - 8032));
0x0001e1a0 sll s0, s0, 2 | s0 <<= 2;
0x0001e1a4 addiu s4, s4, -0x4a9c | s4 += -0x4a9c;
0x0001e1a8 lwx s5, s0(s4) | __asm ("lwx s5, s0(s4)");
0x0001e1ac andi v0, s1, 0xff | v0 = s1 & 0xff;
| if (s5 == 0) {
0x0001e1b0 beqz s5, 0x1e328 | goto label_2;
| }
0x0001e1b4 lw a3, 0x10(s5) | a3 = *((s5 + 4));
0x0001e1b8 lw a0, 0x7c(a3) | a0 = *((a3 + 31));
0x0001e1bc lw s2, 0x80(a3) | s2 = *((a3 + 32));
0x0001e1c0 mul v1, a0, s2 | __asm ("mul v1, a0, s2");
0x0001e1c4 sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
| if (v1 == 0) {
0x0001e1c8 beql v1, zero, 0x1e32c | goto label_3;
| }
0x0001e1cc lw a0, -0x7d80(gp) | a0 = *((gp - 8032));
0x0001e1d0 lw v1, 0xe8(a3) | v1 = *((a3 + 58));
| if (v1 != 0) {
0x0001e1d4 beql v1, zero, 0x1e1ec |
0x0001e1d8 lw t0, 4(s5) | t0 = *((s5 + 1));
0x0001e1dc lw v1, 0xec(a3) | v1 = *((a3 + 59));
| if (v1 == s1) {
0x0001e1e0 beql v1, s1, 0x1e3e8 | goto label_4;
| }
0x0001e1e4 lw s0, -0x7d80(gp) | s0 = *((gp - 8032));
0x0001e1e8 lw t0, 4(s5) | t0 = *((s5 + 1));
| }
0x0001e1ec sltiu v1, s1, 0x100 | v1 = (s1 < aav.0x00000100) ? 1 : 0;
0x0001e1f0 mul a2, a0, t0 | __asm ("mul a2, a0, t0");
| if (v1 == 0) {
0x0001e1f4 bnez v1, 0x1e220 |
0x0001e1f8 lw v1, 8(s5) | v1 = *((s5 + 2));
0x0001e1fc srl a1, s1, 8 | a1 = s1 >> 8;
0x0001e200 sll t1, v1, 2 | t1 = v1 << 2;
0x0001e204 lw v1, -0x7d80(gp) | v1 = *((gp - 8032));
0x0001e208 mul a0, a1, a0 | __asm ("mul a0, a1, a0");
0x0001e20c addiu v1, v1, -0x529c | v1 += -0x529c;
0x0001e210 lwx v1, t1(v1) | __asm ("lwx v1, t1(v1)");
0x0001e214 addiu v1, v1, 1 | v1++;
0x0001e218 mul a1, v1, a0 | __asm ("mul a1, v1, a0");
0x0001e21c addu a2, a1, a2 | a2 = a1 + a2;
| }
0x0001e220 divu zero, v0, s2 | __asm ("divu zero, v0, s2");
0x0001e224 teq s2, zero, 7 | __asm ("teq s2, zero, 7");
0x0001e228 lw v1, 0x78(a3) | v1 = *((a3 + 30));
0x0001e22c mflo s2 | __asm ("mflo s2");
| if (v1 == 0) {
0x0001e230 beqz v1, 0x1e36c | goto label_5;
| }
| label_0:
0x0001e234 lw s3, -0x7d80(gp) | s3 = *((gp - 8032));
0x0001e238 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001e23c addiu a3, a3, 0x20 | a3 += 0x20;
0x0001e240 addiu a2, zero, 0x30 | a2 = 0x30;
0x0001e244 addiu a1, zero, 1 | a1 = 1;
0x0001e248 sw t0, 0x10(sp) | *(var_10h) = t0;
0x0001e24c addiu a0, s3, -0x52e0 | a0 = s3 + -0x52e0;
0x0001e250 jalr t9 | t9 ();
0x0001e254 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001e258 addiu a0, s3, -0x52e0 | a0 = s3 + -0x52e0;
0x0001e25c lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x0001e260 addiu s3, s3, -0x52e0 | s3 += -0x52e0;
0x0001e264 jalr t9 | t9 ();
0x0001e268 lw s6, 0x10(s5) | s6 = *((s5 + 4));
0x0001e26c move a0, s2 | a0 = s2;
0x0001e270 lw t9, 0xc4(s6) | t9 = *((s6 + 49));
0x0001e274 move s2, v0 | s2 = v0;
0x0001e278 jalr t9 | t9 ();
0x0001e27c lw gp, 0x18(sp) | gp = *(var_18h);
0x0001e280 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001e284 addiu a3, s6, 0x53 | a3 = s6 + 0x53;
0x0001e288 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001e28c addiu a2, zero, -1 | a2 = -1;
0x0001e290 addiu a1, zero, 1 | a1 = 1;
0x0001e294 addu a0, s3, s2 | a0 = s3 + s2;
0x0001e298 jalr t9 | t9 ();
0x0001e29c lwx s0, s0(s4) | __asm ("lwx s0, s0(s4)");
0x0001e2a0 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x0001e2a4 lw v0, 0x80(v0) | v0 = *((v0 + 32));
0x0001e2a8 divu zero, s1, v0 | __asm ("divu zero, s1, v0");
0x0001e2ac teq v0, zero, 7 | __asm ("teq v0, zero, 7");
0x0001e2b0 mfhi v0 | __asm ("mfhi v0");
0x0001e2b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001e2b8 bnez v0, 0x1e374 | goto label_6;
| }
0x0001e2bc lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001e2c0 move v0, s3 | v0 = s3;
0x0001e2c4 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0001e2c8 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0001e2cc lw s4, 0x30(sp) | s4 = *(var_30h);
0x0001e2d0 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0001e2d4 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0001e2d8 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0001e2dc lw s0, 0x20(sp) | s0 = *(var_20h);
0x0001e2e0 addiu sp, sp, 0x40 |
0x0001e2e4 jr ra | return v0;
0x0001e2e8 lw t9, -0x7d24(gp) | t9 = sym.ioc_init;
0x0001e2ec bal 0x1d8bc | sym_ioc_init ();
0x0001e2f0 nop |
0x0001e2f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001e2f8 bnez v0, 0x1e19c |
| }
0x0001e2fc lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001e300 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0001e304 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0001e308 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0001e30c lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0001e310 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0001e314 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0001e318 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0001e31c move v0, zero | v0 = 0;
0x0001e320 addiu sp, sp, 0x40 |
0x0001e324 jr ra | return v0;
| label_2:
0x0001e328 lw a0, -0x7d80(gp) | a0 = *((gp - 8032));
| label_3:
0x0001e32c lui v1, 0x6564 | v1 = 0x65646f6e;
0x0001e330 addiu v1, v1, 0x6f6e |
0x0001e334 addiu v0, a0, -0x52e0 | v0 = a0 + -0x52e0;
0x0001e338 sw v1, -0x52e0(a0) | *((a0 - 5304)) = v1;
0x0001e33c addiu v1, zero, 0x76 | v1 = 0x76;
0x0001e340 sh v1, 4(v0) | *((v0 + 2)) = v1;
| do {
0x0001e344 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001e348 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0001e34c lw s5, 0x34(sp) | s5 = *(var_34h);
0x0001e350 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0001e354 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0001e358 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0001e35c lw s1, 0x24(sp) | s1 = *(var_24h);
0x0001e360 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0001e364 addiu sp, sp, 0x40 |
0x0001e368 jr ra | return v0;
| label_5:
0x0001e36c addu s2, a2, s2 | s2 = a2 + s2;
0x0001e370 b 0x1e234 | goto label_0;
| label_6:
0x0001e374 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x0001e378 move a0, s3 | a0 = s3;
0x0001e37c jalr t9 | t9 ();
0x0001e380 lw v1, 0x10(s5) | v1 = *((s5 + 4));
0x0001e384 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001e388 addu a0, s3, v0 | a0 = s3 + v0;
0x0001e38c lw a1, 0x80(v1) | a1 = *((v1 + 32));
0x0001e390 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001e394 divu zero, s1, a1 | __asm ("divu zero, s1, a1");
0x0001e398 teq a1, zero, 7 | __asm ("teq a1, zero, 7");
0x0001e39c addiu a3, v1, 0x63 | a3 = v1 + 0x63;
0x0001e3a0 addiu a2, zero, -1 | a2 = -1;
0x0001e3a4 addiu a1, zero, 1 | a1 = 1;
0x0001e3a8 mfhi s1 | __asm ("mfhi s1");
0x0001e3ac sw s1, 0x10(sp) | *(var_10h) = s1;
0x0001e3b0 jalr t9 | t9 ();
0x0001e3b4 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001e3b8 move v0, s3 | v0 = s3;
0x0001e3bc lw s6, 0x38(sp) | s6 = *(var_38h);
0x0001e3c0 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0001e3c4 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0001e3c8 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0001e3cc lw s2, 0x28(sp) | s2 = *(var_28h);
0x0001e3d0 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0001e3d4 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0001e3d8 addiu sp, sp, 0x40 |
0x0001e3dc jr ra | return v0;
| label_1:
0x0001e3e0 move v0, zero | v0 = 0;
0x0001e3e4 jr ra | return v0;
| label_4:
0x0001e3e8 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001e3ec addiu a0, s0, -0x52e0 | a0 = s0 + -0x52e0;
0x0001e3f0 addiu s0, s0, -0x52e0 | s0 += -0x52e0;
0x0001e3f4 addiu a2, zero, 0x30 | a2 = 0x30;
0x0001e3f8 addiu a1, a3, 0xc8 | a1 = a3 + 0xc8;
0x0001e3fc jalr t9 | t9 ();
0x0001e400 move v0, s0 | v0 = s0;
0x0001e404 sb zero, 0x2f(s0) | *((s0 + 47)) = 0;
0x0001e408 b 0x1e344 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x5a40 */
| #include <stdint.h>
|
; (fcn) sym.read_header_data () | void read_header_data () {
0x00005a40 lui gp, 4 |
0x00005a44 addiu gp, gp, -0x7ef0 |
0x00005a48 addu gp, gp, t9 | gp += t9;
0x00005a4c addiu sp, sp, -0xd8 |
0x00005a50 addiu a1, zero, 0x4c | a1 = 0x4c;
0x00005a54 sw s6, 0xcc(sp) | *(var_cch) = s6;
0x00005a58 lw s6, -0x7bf8(gp) | s6 = *((gp - 7934));
0x00005a5c sw s4, 0xc4(sp) | *(var_c4h) = s4;
0x00005a60 lw s4, -0x7f74(gp) | s4 = sym.sa_read;
0x00005a64 lw v0, (s6) | v0 = *(s6);
0x00005a68 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00005a6c sw ra, 0xd4(sp) | *(var_d4h) = ra;
0x00005a70 sw s1, 0xb8(sp) | *(var_b8h) = s1;
0x00005a74 sw s0, 0xb4(sp) | *(var_b4h) = s0;
0x00005a78 addiu a0, sp, 0x50 | a0 = sp + 0x50;
0x00005a7c move t9, s4 | t9 = s4;
0x00005a80 sw s7, 0xd0(sp) | *(var_d0h) = s7;
0x00005a84 sw s5, 0xc8(sp) | *(var_c8h) = s5;
0x00005a88 sw s3, 0xc0(sp) | *(var_c0h) = s3;
0x00005a8c sw s2, 0xbc(sp) | *(var_bch) = s2;
0x00005a90 sw v0, 0xac(sp) | *(var_ach) = v0;
0x00005a94 addiu s0, sp, 0x9c | s0 = sp + 0x9c;
0x00005a98 bal 0x51b8 | sym_sa_read ();
0x00005a9c lw gp, 0x20(sp) | gp = *(var_20h);
0x00005aa0 lbu a2, 0x57(sp) | a2 = *(var_57h);
0x00005aa4 lbu a1, 0x56(sp) | a1 = *(var_56h);
0x00005aa8 lbu a0, 0x55(sp) | a0 = *(var_55h);
0x00005aac lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00005ab0 lbu v1, 0x54(sp) | v1 = *(var_54h);
0x00005ab4 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00005ab8 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x00005abc sw a1, 0x18(sp) | *(var_18h) = a1;
0x00005ac0 nop |
0x00005ac4 sw v1, 0x10(sp) | *(var_10h) = v1;
| /* str._d._d._d._d */
0x00005ac8 addiu a3, a3, 0x2064 | a3 += 0x2064;
0x00005acc addiu a2, zero, 0x10 | a2 = 0x10;
0x00005ad0 addiu a1, zero, 1 | a1 = 1;
0x00005ad4 move a0, s0 | a0 = s0;
0x00005ad8 move s1, v0 | s1 = v0;
0x00005adc jalr t9 | t9 ();
0x00005ae0 lbu v0, 0x57(sp) | v0 = *(var_57h);
0x00005ae4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00005ae8 bnez v0, 0x5b08 |
0x00005aec lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00005af0 move a0, s0 | a0 = s0;
0x00005af4 jalr t9 | t9 ();
0x00005af8 addiu v1, sp, 0xb0 | v1 = sp + 0xb0;
0x00005afc addu v0, v1, v0 | v0 = v1 + v0;
0x00005b00 lw gp, 0x20(sp) | gp = *(var_20h);
0x00005b04 sb zero, -0x16(v0) | *((v0 - 22)) = 0;
| }
0x00005b08 lui v0, 0x2175 | v0 = 0x21750000;
| if (s1 != 0) {
0x00005b0c bnez s1, 0x5ce4 | goto label_0;
| }
0x00005b10 lw v1, 0x50(sp) | v1 = *(var_50h);
0x00005b14 ori v0, v0, 0xd596 | v0 |= 0xd596;
0x00005b18 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v1 != v0) {
0x00005b1c bne v1, v0, 0x5cb0 | goto label_1;
| }
0x00005b20 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* str.12.1.6 */
0x00005b24 addiu a1, a1, 0x2070 | a1 += 0x2070;
0x00005b28 move a0, s0 | a0 = s0;
0x00005b2c jalr t9 | t9 ();
0x00005b30 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00005b34 bnez v0, 0x5cb0 | goto label_1;
| }
0x00005b38 lw a0, -0x7f5c(gp) | a0 = *(gp);
0x00005b3c move t9, s4 | t9 = s4;
0x00005b40 addiu a1, zero, 0x148 | a1 = aav.0x00000148;
0x00005b44 bal 0x51b8 | sym_sa_read ();
0x00005b48 move s0, v0 | s0 = v0;
0x00005b4c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00005b50 bnez v0, 0x5cf0 | goto label_2;
| }
0x00005b54 lw s3, -0x7f5c(gp) | s3 = *(gp);
0x00005b58 lw a0, 0x14(s3) | a0 = *((s3 + 5));
0x00005b5c sltiu v0, a0, 0x28 | v0 = (a0 < 0x28) ? 1 : 0;
0x00005b60 addiu v0, zero, 0x24 | v0 = 0x24;
| if (v0 == 0) {
0x00005b64 beqz v0, 0x5ce4 | goto label_0;
| }
0x00005b68 lw v1, 0x34(s3) | v1 = *((s3 + 13));
0x00005b6c addiu v0, zero, 0x18 | v0 = 0x18;
| if (v1 != v0) {
0x00005b70 bne v1, v0, 0x5ce4 | goto label_0;
| }
0x00005b74 lw v1, 0x38(s3) | v1 = *((s3 + 14));
0x00005b78 lw t9, -0x7f70(gp) | t9 = sym.print_read_error;
| if (v1 != v0) {
0x00005b7c bne v1, v0, 0x5ce8 | goto label_3;
| }
0x00005b80 lw s5, -0x7fcc(gp) | s5 = *(gp);
| if (a0 == 0) {
0x00005b84 beqz a0, 0x5c4c | goto label_4;
| }
0x00005b88 lw s2, -0x7fc8(gp) | s2 = *(gp);
0x00005b8c move s1, s5 | s1 = s5;
0x00005b90 addiu s7, sp, 0x2c | s7 = sp + 0x2c;
| do {
0x00005b94 addiu a1, zero, 0x24 | a1 = 0x24;
0x00005b98 move t9, s4 | t9 = s4;
0x00005b9c move a0, s7 | a0 = s7;
0x00005ba0 bal 0x51b8 | sym_sa_read ();
0x00005ba4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00005ba8 bnez v0, 0x5cf0 | goto label_2;
| }
0x00005bac lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x00005bb0 lw a1, 0x2c(sp) | a1 = *(var_2ch_3);
0x00005bb4 move a2, zero | a2 = 0;
0x00005bb8 move a0, s2 | a0 = s2;
0x00005bbc bal 0x67c0 | sym_get_activity_position ();
0x00005bc0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00005bc4 bltz v0, 0x5ce4 | goto label_0;
| }
0x00005bc8 sll v0, v0, 2 | v0 <<= 2;
0x00005bcc lw v1, 0x40(sp) | v1 = *(var_40h_4);
0x00005bd0 lwx v0, v0(s2) | __asm ("lwx v0, v0(s2)");
0x00005bd4 lw a0, 0x8c(v0) | a0 = *((v0 + 35));
0x00005bd8 lw v1, 0x44(sp) | v1 = *(var_44h_2);
| if (a0 != v1) {
0x00005bdc bne a0, v1, 0x5ce4 | goto label_0;
| }
0x00005be0 lw a0, 0x54(v0) | a0 = *((v0 + 21));
0x00005be4 lw v1, 0x48(sp) | v1 = *(var_48h_2);
| if (a0 != v1) {
0x00005be8 bne a0, v1, 0x5ce4 | goto label_0;
| }
0x00005bec lw a0, 0x58(v0) | a0 = *((v0 + 22));
0x00005bf0 lw v1, 0x4c(sp) | v1 = *(var_4ch_3);
| if (a0 != v1) {
0x00005bf4 bne a0, v1, 0x5ce4 | goto label_0;
| }
0x00005bf8 lw a0, 0x5c(v0) | a0 = *((v0 + 23));
0x00005bfc lw a1, 0x34(sp) | a1 = *(var_34h_3);
| if (a0 != v1) {
0x00005c00 bne a0, v1, 0x5ce4 | goto label_0;
| }
0x00005c04 lw v1, 0x38(sp) | v1 = *(var_38h_3);
| if (a1 <= 0) {
0x00005c08 blez a1, 0x5ce4 | goto label_0;
| }
0x00005c0c lw a0, 0x30(sp) | a0 = *(var_30h_3);
| if (v1 <= 0) {
0x00005c10 blez v1, 0x5ce4 | goto label_0;
| }
0x00005c14 lw a2, 8(v0) | a2 = *((v0 + 2));
0x00005c18 addiu s0, s0, 1 | s0++;
| if (a2 != a0) {
0x00005c1c bne a2, a0, 0x5ce4 | goto label_0;
| }
0x00005c20 lw a0, 0x14(s3) | a0 = *((s3 + 5));
0x00005c24 lw a3, 0x2c(sp) | a3 = *(var_2ch_3);
0x00005c28 sltu a2, s0, a0 | a2 = (s0 < a0) ? 1 : 0;
0x00005c2c sw a3, (s1) | *(s1) = a3;
0x00005c30 sw a1, 0x70(v0) | *((v0 + 28)) = a1;
0x00005c34 sw v1, 0x74(v0) | *((v0 + 29)) = v1;
0x00005c38 addiu s1, s1, 4 | s1 += 4;
0x00005c3c bnez a2, 0x5b94 |
| } while (a2 != 0);
0x00005c40 slti v0, s0, 0x27 | v0 = (s0 < 0x27) ? 1 : 0;
0x00005c44 lw t9, -0x7f48(gp) | t9 = sym.reverse_check_act;
| if (v0 == 0) {
0x00005c48 beqz v0, 0x5c6c | goto label_5;
| }
| label_4:
0x00005c4c sll v0, s0, 2 | v0 = s0 << 2;
0x00005c50 addu s5, s5, v0 | s5 += v0;
0x00005c54 addiu v0, zero, 0x27 | v0 = 0x27;
| do {
0x00005c58 addiu s0, s0, 1 | s0++;
0x00005c5c sw zero, (s5) | *(s5) = 0;
0x00005c60 addiu s5, s5, 4 | s5 += 4;
0x00005c64 bne s0, v0, 0x5c58 |
| } while (s0 != v0);
0x00005c68 lw t9, -0x7f48(gp) | t9 = sym.reverse_check_act;
| label_5:
0x00005c6c bal 0x4964 | sym_reverse_check_act ();
0x00005c70 nop |
0x00005c74 lw v1, 0xac(sp) | v1 = *(var_ach);
0x00005c78 lw v0, (s6) | v0 = *(s6);
0x00005c7c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == v0) {
0x00005c80 bne v1, v0, 0x5cfc |
0x00005c84 lw ra, 0xd4(sp) | ra = *(var_d4h);
0x00005c88 lw s7, 0xd0(sp) | s7 = *(var_d0h);
0x00005c8c lw s6, 0xcc(sp) | s6 = *(var_cch);
0x00005c90 lw s5, 0xc8(sp) | s5 = *(var_c8h);
0x00005c94 lw s4, 0xc4(sp) | s4 = *(var_c4h);
0x00005c98 lw s3, 0xc0(sp) | s3 = *(var_c0h);
0x00005c9c lw s2, 0xbc(sp) | s2 = *(var_bch);
0x00005ca0 lw s1, 0xb8(sp) | s1 = *(var_b8h);
0x00005ca4 lw s0, 0xb4(sp) | s0 = *(var_b4h);
0x00005ca8 addiu sp, sp, 0xd8 |
0x00005cac jr ra | return v0;
| label_1:
0x00005cb0 lhu v1, 0x50(sp) | v1 = *(var_50h);
0x00005cb4 ori v0, zero, 0xd596 | v0 = 0xd596;
0x00005cb8 lw t9, -0x7f70(gp) | t9 = sym.print_read_error;
| if (v1 == v0) {
0x00005cbc bne v1, v0, 0x5ce8 |
0x00005cc0 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x00005cc4 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00005cc8 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x00005ccc lw a3, (v0) | a3 = *(v0);
0x00005cd0 addiu a2, zero, 0x3e | a2 = 0x3e;
0x00005cd4 addiu a1, zero, 1 | a1 = 1;
| /* str.Using_a_wrong_data_collector_from_a_different_sysstat_version_n */
0x00005cd8 addiu a0, a0, 0x2078 | a0 += 0x2078;
0x00005cdc jalr t9 | t9 ();
0x00005ce0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_0:
0x00005ce4 lw t9, -0x7f70(gp) | t9 = sym.print_read_error;
| }
| label_3:
0x00005ce8 addiu a0, zero, 2 | a0 = 2;
0x00005cec bal 0x48f8 | sym_print_read_error ();
| label_2:
0x00005cf0 lw t9, -0x7f70(gp) | t9 = sym.print_read_error;
0x00005cf4 addiu a0, zero, 1 | a0 = 1;
0x00005cf8 bal 0x48f8 | sym_print_read_error ();
| }
0x00005cfc lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x00005d00 jalr t9 | t9 ();
0x00005d04 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x51b8 */
| #include <stdint.h>
|
; (fcn) sym.sa_read () | void sa_read () {
0x000051b8 lui gp, 4 |
0x000051bc addiu gp, gp, -0x7668 |
0x000051c0 addu gp, gp, t9 | gp += t9;
| if (a1 == 0) {
0x000051c4 beqz a1, 0x5248 | goto label_0;
| }
0x000051c8 nop |
0x000051cc addiu sp, sp, -0x28 |
0x000051d0 sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x000051d4 sw s1, 0x20(sp) | *(var_20h_2) = s1;
0x000051d8 sw s0, 0x1c(sp) | *(var_1ch_2) = s0;
0x000051dc sw ra, 0x24(sp) | *(var_24h) = ra;
0x000051e0 move s0, a1 | s0 = a1;
0x000051e4 move s1, a0 | s1 = a0;
0x000051e8 b 0x51f4 |
| while (v0 != 0) {
0x000051ec addu s1, s1, v0 | s1 += v0;
| if (s0 == 0) {
0x000051f0 beqz s0, 0x5230 | goto label_1;
| }
0x000051f4 lw t9, -0x7bd8(gp) | t9 = sym.imp.read;
0x000051f8 move a2, s0 | a2 = s0;
0x000051fc move a1, s1 | a1 = s1;
0x00005200 move a0, zero | a0 = 0;
0x00005204 jalr t9 | t9 ();
0x00005208 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 < 0) {
0x0000520c bltz v0, 0x5250 | goto label_2;
| }
0x00005210 subu s0, s0, v0 | __asm ("subu s0, s0, v0");
0x00005214 bnez v0, 0x51ec |
| }
0x00005218 lw ra, 0x24(sp) | ra = *(var_24h);
0x0000521c lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x00005220 lw s0, 0x1c(sp) | s0 = *(var_1ch_2);
0x00005224 addiu v0, zero, 1 | v0 = 1;
0x00005228 addiu sp, sp, 0x28 |
0x0000522c jr ra | return v1;
| label_1:
0x00005230 lw ra, 0x24(sp) | ra = *(var_24h);
0x00005234 lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x00005238 lw s0, 0x1c(sp) | s0 = *(var_1ch_2);
0x0000523c move v0, zero | v0 = 0;
0x00005240 addiu sp, sp, 0x28 |
0x00005244 jr ra | return v1;
| label_0:
0x00005248 move v0, zero | v0 = 0;
0x0000524c jr ra | return v1;
| label_2:
0x00005250 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00005254 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.read */
0x00005258 addiu a0, a0, 0x201c | a0 += 0x201c;
0x0000525c jalr t9 | t9 ();
0x00005260 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00005264 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00005268 addiu a0, zero, 2 | a0 = 2;
0x0000526c jalr t9 | t9 ();
0x00005270 lui gp, 4 |
0x00005274 addiu gp, gp, -0x7720 |
0x00005278 addu gp, gp, t9 | gp += t9;
0x0000527c addiu sp, sp, -0x78 |
0x00005280 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00005284 sw s1, 0x70(sp) | *(var_70h) = s1;
0x00005288 lw s1, -0x7bf8(gp) | s1 = *((gp - 7934));
0x0000528c sw s0, 0x6c(sp) | *(var_6ch) = s0;
0x00005290 lw s0, 0x8c(sp) | s0 = *(var_8ch);
0x00005294 lw v0, (s1) | v0 = *(s1);
0x00005298 lw t9, -0x7ca8(gp) | t9 = sym.imp.__printf_chk;
0x0000529c sw ra, 0x74(sp) | *(var_74h) = ra;
0x000052a0 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x000052a4 move a2, a3 | a2 = a3;
| /* str._n__11s */
0x000052a8 addiu a1, a1, 0x2024 | a1 += 0x2024;
0x000052ac addiu a0, zero, 1 | a0 = 1;
0x000052b0 sw v0, 0x64(sp) | *(var_64h) = v0;
0x000052b4 jalr t9 | t9 ();
0x000052b8 nop |
0x000052bc lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x000052c0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000052c4 sltiu v0, v1, 2 | v0 = (v1 < 2) ? 1 : 0;
0x000052c8 addiu a0, zero, 2 | a0 = 2;
| if (v0 != 0) {
0x000052cc movz a0, v1, v0 | a0 = v1;
| }
0x000052d0 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x000052d4 addiu v0, a0, -1 | v0 = a0 + -1;
0x000052d8 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x000052dc addiu s0, sp, 0x24 | s0 = sp + 0x24;
| /* str.__LINUX_RESTART_t__d_CPU__n */
0x000052e0 addiu a3, a3, 0x202c | a3 += 0x202c;
0x000052e4 addiu a2, zero, 0x40 | a2 = 0x40;
0x000052e8 addiu a1, zero, 1 | a1 = 1;
0x000052ec move a0, s0 | a0 = s0;
0x000052f0 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x000052f4 jalr t9 | t9 ();
0x000052f8 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000052fc move a2, s0 | a2 = s0;
0x00005300 addiu a0, zero, 2 | a0 = 2;
0x00005304 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00005308 lw t9, -0x7f78(gp) | t9 = sym.cprintf_s;
| /* esilref: '&s' */
0x0000530c addiu a1, a1, 0x37c8 | a1 += 0x37c8;
0x00005310 bal 0x1d268 | sym_cprintf_s ();
0x00005314 lw v1, 0x64(sp) | v1 = *(var_64h);
0x00005318 lw v0, (s1) | v0 = *(s1);
0x0000531c lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v1 == v0) {
0x00005320 bne v1, v0, 0x5338 |
0x00005324 lw ra, 0x74(sp) | ra = *(var_74h);
0x00005328 lw s1, 0x70(sp) | s1 = *(var_70h);
0x0000532c lw s0, 0x6c(sp) | s0 = *(var_6ch);
0x00005330 addiu sp, sp, 0x78 |
0x00005334 jr ra | return v1;
| }
0x00005338 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000533c jalr t9 | t9 ();
0x00005340 nop |
0x00005344 lui gp, 4 |
0x00005348 addiu gp, gp, -0x77f4 |
0x0000534c addu gp, gp, t9 | gp += t9;
0x00005350 addiu sp, sp, -0x20 |
0x00005354 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00005358 lw t9, -0x7ca8(gp) | t9 = sym.imp.__printf_chk;
0x0000535c move a2, a3 | a2 = a3;
0x00005360 sw s0, 0x18(sp) | *(var_18h_3) = s0;
0x00005364 sw ra, 0x1c(sp) | *(var_1ch_3) = ra;
0x00005368 sw gp, 0x10(sp) | *(var_10h_4) = gp;
| /* str.__11s */
0x0000536c addiu a1, a1, 0x2048 | a1 += 0x2048;
0x00005370 addiu a0, zero, 1 | a0 = 1;
0x00005374 lw s0, 0x34(sp) | s0 = *(var_34h_2);
0x00005378 jalr t9 | t9 ();
0x0000537c lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00005380 lw ra, 0x1c(sp) | ra = *(var_1ch_3);
0x00005384 move a2, s0 | a2 = s0;
0x00005388 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0000538c lw s0, 0x18(sp) | s0 = *(var_18h_3);
0x00005390 lw t9, -0x7f78(gp) | t9 = sym.cprintf_s;
| /* str.__COM__s_n */
0x00005394 addiu a1, a1, 0x2050 | a1 += 0x2050;
0x00005398 addiu a0, zero, 3 | a0 = 3;
0x0000539c addiu sp, sp, 0x20 |
0x000053a0 b 0x1d268 | return void (*0x1d268)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0xb978 */
| #include <stdint.h>
|
; (fcn) sym.set_record_timestamp_string () | void set_record_timestamp_string () {
0x0000b978 lui gp, 3 |
0x0000b97c addiu gp, gp, 0x21d8 |
0x0000b980 addu gp, gp, t9 | gp += t9;
0x0000b984 addiu sp, sp, -0x38 |
0x0000b988 andi v0, a0, 0x80 | v0 = a0 & 0x80;
0x0000b98c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000b990 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0000b994 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0000b998 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0000b99c sw s1, 0x24(sp) | *(var_24h) = s1;
0x0000b9a0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0000b9a4 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0000b9a8 move s0, a0 | s0 = a0;
0x0000b9ac move s1, a2 | s1 = a2;
0x0000b9b0 move s4, a3 | s4 = a3;
0x0000b9b4 lw s2, 0x48(sp) | s2 = *(arg_48h);
0x0000b9b8 lw s3, 0x4c(sp) | s3 = *(arg_4ch);
| if (v0 != 0) {
0x0000b9bc beqz v0, 0xba14 |
0x0000b9c0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| if (a2 == 0) {
0x0000b9c4 beqz a2, 0xba38 | goto label_0;
| }
0x0000b9c8 lw v1, 0xc(a1) | v1 = *((a1 + 3));
0x0000b9cc lw v0, 8(a1) | v0 = *((a1 + 2));
0x0000b9d0 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0000b9d4 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0000b9d8 move a0, s4 | a0 = s4;
0x0000b9dc sw v0, 0x10(sp) | *(var_10h) = v0;
| /* esilref: '&llu' */
0x0000b9e0 addiu a3, a3, 0x32c4 | a3 += 0x32c4;
0x0000b9e4 addiu a2, zero, -1 | a2 = -1;
0x0000b9e8 addiu a1, zero, 1 | a1 = 1;
0x0000b9ec jalr t9 | t9 ();
0x0000b9f0 sb zero, (s1) | *(s1) = 0;
0x0000b9f4 lw ra, 0x34(sp) | ra = *(var_34h);
0x0000b9f8 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0000b9fc lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000ba00 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000ba04 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000ba08 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000ba0c addiu sp, sp, 0x38 |
0x0000ba10 jr ra | return v0;
| }
0x0000ba14 lw a2, -0x7fd8(gp) | a2 = *(gp);
| if (a2 != 0) {
0x0000ba18 beqz a2, 0xba38 |
0x0000ba1c lw t9, -0x7c60(gp) | t9 = sym.imp.strftime;
0x0000ba20 move a3, s3 | a3 = s3;
| /* str._Y__m__d */
0x0000ba24 addiu a2, a2, 0x3014 | a2 += 0x3014;
0x0000ba28 move a1, s2 | a1 = s2;
0x0000ba2c move a0, s1 | a0 = s1;
0x0000ba30 jalr t9 | t9 ();
0x0000ba34 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_0:
0x0000ba38 andi s0, s0, 0x8000 | s0 &= 0x8000;
0x0000ba3c lw t9, -0x7c60(gp) | t9 = sym.imp.strftime;
0x0000ba40 move a3, s3 | a3 = s3;
| if (s0 == 0) {
0x0000ba44 bnez s0, 0xba78 |
0x0000ba48 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0000ba4c lw ra, 0x34(sp) | ra = *(var_34h);
0x0000ba50 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000ba54 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000ba58 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000ba5c move a1, s2 | a1 = s2;
0x0000ba60 move a0, s4 | a0 = s4;
0x0000ba64 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000ba68 lw s4, 0x30(sp) | s4 = *(var_30h);
| /* str._H:_M:_S */
0x0000ba6c addiu a2, a2, 0x3024 | a2 += 0x3024;
0x0000ba70 addiu sp, sp, 0x38 |
0x0000ba74 jr t9 | t9 ();
| }
0x0000ba78 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0000ba7c lw ra, 0x34(sp) | ra = *(var_34h);
0x0000ba80 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000ba84 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000ba88 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000ba8c move a1, s2 | a1 = s2;
0x0000ba90 move a0, s4 | a0 = s4;
0x0000ba94 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000ba98 lw s4, 0x30(sp) | s4 = *(var_30h);
| /* esilref: '&X' */
0x0000ba9c addiu a2, a2, 0x3020 | a2 += 0x3020;
0x0000baa0 addiu sp, sp, 0x38 |
0x0000baa4 jr t9 | t9 ();
| }
[*] Function sprintf used 11 times sar