[*] Binary protection state of sar

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


[*] Function strcat tear down of sar

    ; 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 @ 0x7adc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.parse_timestamp ()           | void parse_timestamp () {
    0x00007adc lui gp, 3                     |     
    0x00007ae0 addiu gp, gp, 0x6074          |     
    0x00007ae4 addu gp, gp, t9               |     gp += t9;
    0x00007ae8 addiu sp, sp, -0x48           |     
    0x00007aec sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x00007af0 lw s1, (a1)                   |     s1 = *(a1);
    0x00007af4 sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x00007af8 addiu v0, s1, 1               |     v0 = s1 + 1;
    0x00007afc lw s3, -0x7bf8(gp)            |     s3 = *((gp - 7934));
    0x00007b00 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x00007b04 sll s0, v0, 2                 |     s0 = v0 << 2;
    0x00007b08 lw v1, (s3)                   |     v1 = *(s3);
    0x00007b0c lwx s0, s0(a0)                |     __asm ("lwx s0, s0(a0)");
    0x00007b10 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00007b14 sw s5, 0x40(sp)               |     *(var_40h) = s5;
    0x00007b18 sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x00007b1c sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x00007b20 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x00007b24 move s4, a2                   |     s4 = a2;
    0x00007b28 move s5, a3                   |     s5 = a3;
    0x00007b2c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00007b30 sw v0, (a1)                   |     *(a1) = v0;
                                             |     if (s0 != 0) {
    0x00007b34 beqz s0, 0x7b60               |         
    0x00007b38 lw t9, -0x7c68(gp)            |         t9 = sym.imp.strlen;
    0x00007b3c move a0, s0                   |         a0 = s0;
    0x00007b40 move s2, a1                   |         s2 = a1;
    0x00007b44 jalr t9                       |         t9 ();
    0x00007b48 addiu v1, zero, 5             |         v1 = 5;
    0x00007b4c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == v1) {
    0x00007b50 beq v0, v1, 0x7bf0            |             goto label_1;
                                             |         }
    0x00007b54 addiu v1, zero, 8             |         v1 = 8;
    0x00007b58 lw t9, -0x7c88(gp)            |         t9 = sym.imp.strncpy;
                                             |         if (v0 == v1) {
    0x00007b5c beq v0, v1, 0x7bc8            |             goto label_2;
                                             |         }
                                             |     }
    0x00007b60 lw t9, -0x7c88(gp)            |     t9 = sym.imp.strncpy;
    0x00007b64 addiu v1, sp, 0x18            |     v1 = sp + 0x18;
    0x00007b68 move a0, v1                   |     a0 = v1;
    0x00007b6c addiu a2, zero, 8             |     a2 = 8;
    0x00007b70 move a1, s5                   |     a1 = s5;
    0x00007b74 jalr t9                       |     t9 ();
    0x00007b78 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00007b7c move v1, v0                   |     v1 = v0;
                                             |     do {
                                             | label_0:
    0x00007b80 lw t9, -0x7e60(gp)            |         t9 = sym.decode_timestamp;
    0x00007b84 move a0, v1                   |         a0 = v1;
    0x00007b88 move a1, s4                   |         a1 = s4;
    0x00007b8c sb zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00007b90 bal 0x79c0                    |         sym_decode_timestamp ();
    0x00007b94 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x00007b98 lw v1, (s3)                   |         v1 = *(s3);
    0x00007b9c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (a0 != v1) {
    0x00007ba0 bne a0, v1, 0x7c3c            |             goto label_3;
                                             |         }
    0x00007ba4 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x00007ba8 lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x00007bac lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x00007bb0 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x00007bb4 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x00007bb8 lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x00007bbc lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x00007bc0 addiu sp, sp, 0x48            |         
    0x00007bc4 jr ra                         |         return v1;
                                             | label_2:
    0x00007bc8 addiu v1, sp, 0x18            |         v1 = sp + 0x18;
    0x00007bcc addiu s1, s1, 2               |         s1 += 2;
    0x00007bd0 move a0, v1                   |         a0 = v1;
    0x00007bd4 sw s1, (s2)                   |         *(s2) = s1;
    0x00007bd8 addiu a2, zero, 8             |         a2 = 8;
    0x00007bdc move a1, s0                   |         a1 = s0;
    0x00007be0 jalr t9                       |         t9 ();
    0x00007be4 move v1, v0                   |         v1 = v0;
    0x00007be8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00007bec b 0x7b80                      |         
                                             |     } while (1);
                                             | label_1:
    0x00007bf0 addiu v1, sp, 0x18            |     v1 = sp + 0x18;
    0x00007bf4 lw t9, -0x7c88(gp)            |     t9 = sym.imp.strncpy;
    0x00007bf8 addiu s1, s1, 2               |     s1 += 2;
    0x00007bfc move a0, v1                   |     a0 = v1;
    0x00007c00 addiu a2, zero, 5             |     a2 = 5;
    0x00007c04 move a1, s0                   |     a1 = s0;
    0x00007c08 sw s1, (s2)                   |     *(s2) = s1;
    0x00007c0c jalr t9                       |     t9 ();
    0x00007c10 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00007c14 addiu a2, zero, 9             |     a2 = 9;
    0x00007c18 move a0, v0                   |     a0 = v0;
    0x00007c1c lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x00007c20 lw t9, -0x7bbc(gp)            |     t9 = sym.imp.__strcat_chk
                                             |     /* esilref: ':00' */
    0x00007c24 addiu a1, a1, 0x2e70          |     a1 += 0x2e70;
    0x00007c28 sb zero, 0x1d(sp)             |     *(var_1dh) = 0;
    0x00007c2c jalr t9                       |     t9 ();
    0x00007c30 move v1, v0                   |     v1 = v0;
    0x00007c34 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00007c38 b 0x7b80                      |     goto label_0;
                                             | label_3:
    0x00007c3c lw t9, -0x7c10(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00007c40 jalr t9                       |     t9 ();
    0x00007c44 nop                           |     
                                             | }

[*] Function strcat used 3 times sar