[*] Binary protection state of sar

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function strcpy 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;
                                         | }

[*] Function strcpy used 2 times sar