[*] Binary protection state of tampering

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


[*] Function fprintf tear down of tampering

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/tampering @ 0x35d0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000035d0 ()              | void fcn_000035d0 () {
    0x000035d0 lui gp, 2                 |     
    0x000035d4 addiu gp, gp, -0x1570     |     
    0x000035d8 addu gp, gp, t9           |     gp += t9;
    0x000035dc lw v0, -0x7e5c(gp)        |     v0 = *((gp - 8087));
    0x000035e0 addiu sp, sp, -0x288      |     
    0x000035e4 lw t9, -0x7fa4(gp)        |     t9 = sym.init_socket;
    0x000035e8 sw s0, 0x260(sp)          |     *(var_260h) = s0;
    0x000035ec sw v0, 0x60(sp)           |     *(var_60h) = v0;
    0x000035f0 lw s0, -0x7fcc(gp)        |     s0 = *((gp - 8179));
    0x000035f4 lw v0, (v0)               |     v0 = *(v0);
    0x000035f8 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x000035fc sw a0, 0x40(sp)           |     *(var_40h) = a0;
    0x00003600 sw ra, 0x284(sp)          |     *(var_284h) = ra;
    0x00003604 sw fp, 0x280(sp)          |     *(var_280h) = fp;
    0x00003608 sw s7, 0x27c(sp)          |     *(var_27ch) = s7;
    0x0000360c sw s6, 0x278(sp)          |     *(var_278h) = s6;
    0x00003610 sw s5, 0x274(sp)          |     *(var_274h) = s5;
    0x00003614 sw s4, 0x270(sp)          |     *(var_270h) = s4;
    0x00003618 sw s3, 0x26c(sp)          |     *(var_26ch) = s3;
    0x0000361c sw s2, 0x268(sp)          |     *(var_268h) = s2;
    0x00003620 sw s1, 0x264(sp)          |     *(var_264h) = s1;
    0x00003624 addiu a0, s0, -0x6ecc     |     a0 = s0 + -0x6ecc;
    0x00003628 sw a1, 0x44(sp)           |     *(var_44h) = a1;
    0x0000362c sw v0, 0x25c(sp)          |     *(var_25ch) = v0;
    0x00003630 bal 0x336c                |     sym_init_socket ();
    0x00003634 nop                       |     
    0x00003638 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 <= 0) {
    0x0000363c blez v0, 0x3dc4           |         goto label_16;
                                         |     }
    0x00003640 lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x00003644 lw t9, -0x7dbc(gp)        |     t9 = sym.imp.system;
    0x00003648 addiu a0, a0, -0x6e84     |     a0 += -0x6e84;
    0x0000364c move s3, v0               |     s3 = v0;
    0x00003650 jalr t9                   |     t9 ();
    0x00003654 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003658 lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x0000365c lw t9, -0x7dbc(gp)        |     t9 = sym.imp.system;
    0x00003660 lw s2, -0x7fcc(gp)        |     s2 = *((gp - 8179));
    0x00003664 addiu a0, a0, -0x6e70     |     a0 += -0x6e70;
    0x00003668 jalr t9                   |     t9 ();
    0x0000366c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003670 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.getpwnam;
    0x00003674 addiu a0, s2, -0x7104     |     a0 = s2 + -0x7104;
    0x00003678 jalr t9                   |     t9 ();
    0x0000367c move s0, v0               |     s0 = v0;
    0x00003680 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003684 beqz v0, 0x43b0           |         goto label_17;
                                         |     }
    0x00003688 lw t9, -0x7db4(gp)        |     t9 = sym.imp.getgrnam;
    0x0000368c addiu a0, s2, -0x7104     |     a0 = s2 + -0x7104;
    0x00003690 jalr t9                   |     t9 ();
    0x00003694 move s1, v0               |     s1 = v0;
    0x00003698 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x0000369c beqz v0, 0x4388           |         goto label_18;
                                         |     }
    0x000036a0 lw t9, -0x7f04(gp)        |     t9 = sym.imp.setgid;
    0x000036a4 lw a0, 8(v0)              |     a0 = *((v0 + 2));
    0x000036a8 jalr t9                   |     t9 ();
    0x000036ac lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 < 0) {
    0x000036b0 bltz v0, 0x4408           |         goto label_19;
                                         |     }
    0x000036b4 lw t9, -0x7e88(gp)        |     t9 = sym.imp.initgroups;
    0x000036b8 lw a1, 8(s1)              |     a1 = *((s1 + 2));
    0x000036bc lw a0, (s0)               |     a0 = *(s0);
    0x000036c0 jalr t9                   |     t9 ();
    0x000036c4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 < 0) {
    0x000036c8 bltz v0, 0x43d8           |         goto label_20;
                                         |     }
    0x000036cc lw t9, -0x7e3c(gp)        |     t9 = sym.imp.setuid;
    0x000036d0 lw a0, 8(s0)              |     a0 = *((s0 + 2));
    0x000036d4 jalr t9                   |     t9 ();
    0x000036d8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 < 0) {
    0x000036dc bltz v0, 0x430c           |         goto label_21;
                                         |     }
    0x000036e0 lw s0, -0x7fc0(gp)        |     s0 = *(gp);
    0x000036e4 lw t9, -0x7df0(gp)        |     t9 = sym.imp.mainloop_start;
    0x000036e8 sw s0, 0x80(sp)           |     *(var_80h) = s0;
    0x000036ec jalr t9                   |     t9 ();
    0x000036f0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000036f4 lw s1, -0x7fb4(gp)        |     s1 = *(gp);
    0x000036f8 lw s2, -0x7fb8(gp)        |     s2 = *(gp);
    0x000036fc lw t9, -0x7fa0(gp)        |     t9 = sym.tamp_event_init;
    0x00003700 sw s1, 0x7c(sp)           |     *(var_7ch) = s1;
    0x00003704 sw s2, 0x78(sp)           |     *(var_78h) = s2;
    0x00003708 bal 0x25b8                |     sym_tamp_event_init ();
    0x0000370c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003710 sb zero, (s0)             |     *(s0) = 0;
    0x00003714 sb zero, (s1)             |     *(s1) = 0;
    0x00003718 lw t9, -0x7f9c(gp)        |     t9 = sym.ct_create;
    0x0000371c sb zero, 0xa8(sp)         |     *(var_a8h_2) = 0;
    0x00003720 sb zero, (s2)             |     *(s2) = 0;
    0x00003724 bal 0x49c0                |     sym_ct_create ();
    0x00003728 sw v0, 0xac(sp)           |     *(var_ach_2) = v0;
    0x0000372c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003730 beqz v0, 0x4130           |         goto label_22;
                                         |     }
    0x00003734 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00003738 addiu v0, zero, 1         |     v0 = 1;
    0x0000373c sllv s4, v0, s3           |     s4 = v0 << s3;
    0x00003740 sw v0, -0x5cbc(a0)        |     *((a0 - 5935)) = v0;
    0x00003744 addiu v0, zero, 0x14      |     v0 = 0x14;
    0x00003748 sw v0, 0x54(sp)           |     *(var_54h) = v0;
    0x0000374c addiu v0, zero, 0x32      |     v0 = 0x32;
    0x00003750 sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x00003754 addiu v0, zero, 1         |     v0 = 1;
    0x00003758 sw v0, 0x58(sp)           |     *(var_58h) = v0;
    0x0000375c addiu v0, sp, 0x9c        |     v0 = sp + 0x9c;
    0x00003760 lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x00003764 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00003768 addiu v0, sp, 0xb4        |     v0 = sp + 0xb4;
    0x0000376c sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00003770 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x00003774 lw v1, -0x687c(v1)        |     v1 = *((v1 - 6687));
    0x00003778 addiu v0, v0, -0x6d38     |     v0 += -0x6d38;
    0x0000377c sw v0, 0x6c(sp)           |     *(var_6ch) = v0;
    0x00003780 lw v0, -0x7fd0(gp)        |     v0 = *((gp - 8180));
    0x00003784 sw v1, 0x50(sp)           |     *(var_50h) = v1;
    0x00003788 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x0000378c addiu v0, v0, 0x2f34      |     v0 += 0x2f34;
    0x00003790 sw a0, 0x28(sp)           |     *(var_28h) = a0;
    0x00003794 sw v1, 0x3c(sp)           |     *(var_3ch) = v1;
    0x00003798 sw v0, 0x84(sp)           |     *(var_84h) = v0;
    0x0000379c lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x000037a0 lw v0, 0x28(sp)           |     v0 = *(var_28h);
    0x000037a4 lw s7, -0x7fcc(gp)        |     s7 = *((gp - 8179));
    0x000037a8 lw v1, -0x6870(v1)        |     v1 = *(v1);
    0x000037ac lw v0, -0x5cbc(v0)        |     v0 = *((v0 - 5935));
    0x000037b0 sw v1, 0x70(sp)           |     *(var_70h) = v1;
    0x000037b4 sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x000037b8 addiu s6, sp, 0xa0        |     s6 = sp + 0xa0;
    0x000037bc addiu fp, sp, 0xdc        |     fp = sp + 0xdc;
    0x000037c0 addiu s5, sp, 0x15c       |     s5 = sp + 0x15c;
                                         |     if (v0 != 0) {
    0x000037c4 bnez v0, 0x3c44           |         goto label_23;
                                         |     }
                                         | label_5:
    0x000037c8 lw t9, -0x7d98(gp)        |     t9 = sym.imp.fps_create;
                                         | label_4:
    0x000037cc lw a1, -0x6874(s7)        |     a1 = *((s7 - 6685));
    0x000037d0 move a0, zero             |     a0 = 0;
    0x000037d4 jalr t9                   |     t9 ();
    0x000037d8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000037dc move a0, v0               |     a0 = v0;
    0x000037e0 lw t9, -0x7dc8(gp)        |     t9 = sym.imp.fps_measure;
    0x000037e4 move s0, v0               |     s0 = v0;
    0x000037e8 jalr t9                   |     t9 ();
    0x000037ec lbu v0, 0xa8(sp)          |     v0 = *(var_a8h_2);
    0x000037f0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x000037f4 bnez v0, 0x3b54           |         goto label_24;
                                         |     }
    0x000037f8 lw t9, -0x7f18(gp)        |     t9 = sym.imp.av_watch_collect;
                                         | label_2:
    0x000037fc sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x00003800 jalr t9                   |     t9 ();
    0x00003804 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         | label_3:
    0x00003808 lw t9, -0x7e7c(gp)        |     t9 = sym.imp.fps_get_remtime;
    0x0000380c move a0, s0               |     a0 = s0;
    0x00003810 move a1, s6               |     a1 = s6;
    0x00003814 jalr t9                   |     t9 ();
    0x00003818 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000381c move a0, s0               |     a0 = s0;
    0x00003820 lw t9, -0x7ed8(gp)        |     t9 = sym.imp.fps_delete;
    0x00003824 addiu s0, s3, 1           |     s0 = s3 + 1;
    0x00003828 jalr t9                   |     t9 ();
    0x0000382c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003830 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003834 lw s2, -0x7fd0(gp)        |     s2 = *((gp - 8180));
    0x00003838 sw v0, 0x64(sp)           |     *(var_64h) = v0;
    0x0000383c lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x00003840 sw v0, 0x74(sp)           |     *(var_74h) = v0;
    0x00003844 addiu v0, sp, 0xac        |     v0 = sp + 0xac;
    0x00003848 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x0000384c addiu v0, sp, 0xa8        |     v0 = sp + 0xa8;
    0x00003850 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00003854 addiu v0, s2, 0x311c      |     v0 = s2 + 0x311c;
    0x00003858 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x0000385c lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x00003860 addiu v0, v0, -0x6c84     |     v0 += -0x6c84;
    0x00003864 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00003868 lw v0, -0x7fcc(gp)        |     v0 = *((gp - 8179));
    0x0000386c addiu v0, v0, -0x6c80     |     v0 += -0x6c80;
    0x00003870 sw v0, 0x68(sp)           |     *(var_68h) = v0;
                                         | label_0:
    0x00003874 move v0, fp               |     v0 = fp;
                                         | label_1:
    0x00003878 sw zero, (v0)             |     *(v0) = 0;
                                         |     do {
    0x0000387c addiu v0, v0, 4           |         v0 += 4;
    0x00003880 sw zero, (v0)             |         *(v0) = 0;
    0x00003884 bnel s5, v0, 0x387c       |         
                                         |     } while (s5 == v0);
    0x00003888 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.__fdelt_chk;
    0x0000388c move a0, s3               |     a0 = s3;
    0x00003890 jalr t9                   |     t9 ();
    0x00003894 sll v0, v0, 2             |     v0 <<= 2;
    0x00003898 addiu v1, sp, 0x260       |     v1 = sp + 0x260;
    0x0000389c addu v0, v1, v0           |     v0 = v1 + v0;
    0x000038a0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000038a4 lw v1, -0x184(v0)         |     v1 = *(v0);
    0x000038a8 sw s6, 0x10(sp)           |     *(var_10h) = s6;
    0x000038ac lw t9, -0x7e78(gp)        |     t9 = sym.imp.select;
    0x000038b0 or v1, v1, s4             |     v1 |= s4;
    0x000038b4 move a3, zero             |     a3 = 0;
    0x000038b8 move a2, zero             |     a2 = 0;
    0x000038bc move a1, fp               |     a1 = fp;
    0x000038c0 move a0, s0               |     a0 = s0;
    0x000038c4 sw v1, -0x184(v0)         |     *(v0) = v1;
    0x000038c8 jalr t9                   |     t9 ();
    0x000038cc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x000038d0 beqz v0, 0x3c1c           |         goto label_25;
                                         |     }
    0x000038d4 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.__fdelt_chk;
                                         |     if (v0 <= 0) {
    0x000038d8 blez v0, 0x3874           |         goto label_0;
                                         |     }
    0x000038dc move a0, s3               |     a0 = s3;
    0x000038e0 jalr t9                   |     t9 ();
    0x000038e4 sll v0, v0, 2             |     v0 <<= 2;
    0x000038e8 addiu v1, sp, 0x260       |     v1 = sp + 0x260;
    0x000038ec addu v0, v1, v0           |     v0 = v1 + v0;
    0x000038f0 lw v0, -0x184(v0)         |     v0 = *(v0);
    0x000038f4 and v0, s4, v0            |     v0 = s4 & v0;
    0x000038f8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x000038fc beqz v0, 0x3874           |         goto label_0;
                                         |     }
    0x00003900 lw t9, -0x7db8(gp)        |     t9 = sym.imp.recv;
    0x00003904 move a3, zero             |     a3 = 0;
    0x00003908 addiu a2, zero, 0xff      |     a2 = 0xff;
    0x0000390c move a1, s5               |     a1 = s5;
    0x00003910 move a0, s3               |     a0 = s3;
    0x00003914 jalr t9                   |     t9 ();
    0x00003918 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 < 0) {
    0x0000391c bltz v0, 0x3f54           |         goto label_26;
                                         |     }
    0x00003920 addiu v1, sp, 0x260       |     v1 = sp + 0x260;
    0x00003924 addu v1, v1, v0           |     v1 += v0;
    0x00003928 lw v0, 0x64(sp)           |     v0 = *(var_64h);
    0x0000392c sb zero, -0x104(v1)       |     *((v1 - 260)) = 0;
    0x00003930 addiu v0, v0, -0x5ff0     |     v0 += -0x5ff0;
    0x00003934 lw v1, 0x48(sp)           |     v1 = *(var_48h);
    0x00003938 sw zero, 0x9c(sp)         |     *(var_9ch_2) = 0;
    0x0000393c addiu t0, v0, 0x20        |     t0 = v0 + 0x20;
                                         |     do {
    0x00003940 lw a3, (v0)               |         a3 = *(v0);
    0x00003944 lw a2, 4(v0)              |         a2 = *((v0 + 1));
    0x00003948 lw a1, 8(v0)              |         a1 = *((v0 + 2));
    0x0000394c lw a0, 0xc(v0)            |         a0 = *((v0 + 3));
    0x00003950 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x00003954 sw a3, (v1)               |         *(v1) = a3;
    0x00003958 sw a2, 4(v1)              |         *((v1 + 1)) = a2;
    0x0000395c sw a1, 8(v1)              |         *((v1 + 2)) = a1;
    0x00003960 sw a0, 0xc(v1)            |         *((v1 + 3)) = a0;
    0x00003964 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x00003968 bne v0, t0, 0x3940        |         
                                         |     } while (v0 != t0);
    0x0000396c lw a0, (v0)               |     a0 = *(v0);
    0x00003970 lw v0, 4(v0)              |     v0 = *((v0 + 1));
    0x00003974 lw t9, -0x7ec0(gp)        |     t9 = sym.imp.strtok_r;
    0x00003978 lw a2, 0x2c(sp)           |     a2 = *(var_2ch);
    0x0000397c lw a1, 0x4c(sp)           |     a1 = *(var_4ch);
    0x00003980 sw a0, (v1)               |     *(v1) = a0;
    0x00003984 sw v0, 4(v1)              |     *((v1 + 1)) = v0;
    0x00003988 move a0, s5               |     a0 = s5;
    0x0000398c jalr t9                   |     t9 ();
    0x00003990 lw s1, 0xb4(sp)           |     s1 = *(var_b4h);
    0x00003994 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s1 == 0) {
    0x00003998 beqz s1, 0x42cc           |         goto label_27;
                                         |     }
    0x0000399c addiu v1, sp, 0xbc        |     v1 = sp + 0xbc;
    0x000039a0 sw s3, 0x88(sp)           |     *(var_88h) = s3;
    0x000039a4 sw s0, 0x8c(sp)           |     *(var_8ch) = s0;
    0x000039a8 move s2, zero             |     s2 = 0;
    0x000039ac move s0, v0               |     s0 = v0;
    0x000039b0 move s3, v1               |     s3 = v1;
    0x000039b4 b 0x39c8                  |     
                                         |     while (v0 != 0) {
    0x000039b8 addiu s3, s3, 8           |         s3 += 8;
    0x000039bc lw s1, -8(s3)             |         s1 = *((s3 - 2));
    0x000039c0 addiu s2, s2, 1           |         s2++;
                                         |         if (s1 == 0) {
    0x000039c4 beqz s1, 0x39f4           |             goto label_28;
                                         |         }
    0x000039c8 lw t9, -0x7e4c(gp)        |         t9 = sym.imp.strlen;
    0x000039cc move a0, s1               |         a0 = s1;
    0x000039d0 jalr t9                   |         t9 ();
    0x000039d4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000039d8 move a2, v0               |         a2 = v0;
    0x000039dc move a1, s1               |         a1 = s1;
    0x000039e0 lw t9, -0x7ee8(gp)        |         t9 = sym.imp.strncmp;
    0x000039e4 move a0, s0               |         a0 = s0;
    0x000039e8 jalr t9                   |         t9 ();
    0x000039ec lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000039f0 bnez v0, 0x39b8           |         
                                         |     }
                                         | label_28:
    0x000039f4 lw s3, 0x88(sp)           |     s3 = *(var_88h);
    0x000039f8 lw s0, 0x8c(sp)           |     s0 = *(var_8ch);
                                         | label_13:
    0x000039fc sll a3, s2, 3             |     a3 = s2 << 3;
    0x00003a00 addiu v0, sp, 0x260       |     v0 = sp + 0x260;
    0x00003a04 lw t9, -0x7ec0(gp)        |     t9 = sym.imp.strtok_r;
    0x00003a08 addu a3, v0, a3           |     a3 = v0 + a3;
    0x00003a0c lw a2, 0x2c(sp)           |     a2 = *(var_2ch);
    0x00003a10 lw a1, 0x68(sp)           |     a1 = *(var_68h);
    0x00003a14 move a0, zero             |     a0 = 0;
    0x00003a18 lw s1, -0x1a8(a3)         |     s1 = *(a3);
    0x00003a1c jalr t9                   |     t9 ();
    0x00003a20 lw v1, 0x9c(sp)           |     v1 = *(var_9ch_2);
    0x00003a24 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003a28 move s2, v0               |     s2 = v0;
                                         |     if (v1 != 0) {
    0x00003a2c beqz v1, 0x3a4c           |         
    0x00003a30 lbu v0, (v1)              |         v0 = *(v1);
    0x00003a34 addiu a0, zero, 0x45      |         a0 = 0x45;
    0x00003a38 lw a1, -0x7fcc(gp)        |         a1 = *((gp - 8179));
                                         |         if (v0 == a0) {
    0x00003a3c beq v0, a0, 0x3ff4        |             goto label_29;
                                         |         }
    0x00003a40 addiu v1, zero, 0x2a      |         v1 = 0x2a;
                                         |         if (v0 == v1) {
    0x00003a44 beql v0, v1, 0x427c       |             goto label_30;
                                         |         }
    0x00003a48 lw s1, -0x7fb0(gp)        |         s1 = *(gp);
                                         |     }
    0x00003a4c lw v0, 0x74(sp)           |     v0 = *(var_74h);
                                         |     if (s2 != 0) {
    0x00003a50 beqz s2, 0x3a90           |         
    0x00003a54 lw t9, -0x7ee8(gp)        |         t9 = sym.imp.strncmp;
    0x00003a58 addiu a2, zero, 8         |         a2 = 8;
    0x00003a5c addiu a1, v0, -0x6c78     |         a1 = v0 + -0x6c78;
    0x00003a60 move a0, s2               |         a0 = s2;
    0x00003a64 jalr t9                   |         t9 ();
    0x00003a68 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x00003a6c beqz v0, 0x3fa4           |             goto label_31;
                                         |         }
    0x00003a70 lw a1, -0x7fcc(gp)        |         a1 = *((gp - 8179));
    0x00003a74 lw t9, -0x7ee8(gp)        |         t9 = sym.imp.strncmp;
    0x00003a78 addiu a2, zero, 5         |         a2 = 5;
    0x00003a7c addiu a1, a1, -0x6c6c     |         a1 += -0x6c6c;
    0x00003a80 move a0, s2               |         a0 = s2;
    0x00003a84 jalr t9                   |         t9 ();
    0x00003a88 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x00003a8c beqz v0, 0x4260           |             goto label_32;
                                         |         }
                                         |     }
    0x00003a90 addiu v0, zero, 2         |     v0 = 2;
    0x00003a94 addiu v0, zero, 3         |     v0 = 3;
                                         |     if (s1 == v0) {
    0x00003a98 beq s1, v0, 0x4220        |         goto label_33;
                                         |     }
    0x00003a9c move v0, fp               |     v0 = fp;
                                         |     if (s1 != v0) {
    0x00003aa0 bne s1, v0, 0x3878        |         goto label_1;
                                         |     }
    0x00003aa4 lw t9, -0x7ec0(gp)        |     t9 = sym.imp.strtok_r;
    0x00003aa8 lw a2, 0x2c(sp)           |     a2 = *(var_2ch);
    0x00003aac lw a1, 0x4c(sp)           |     a1 = *(var_4ch);
    0x00003ab0 move a0, s2               |     a0 = s2;
    0x00003ab4 jalr t9                   |     t9 ();
    0x00003ab8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003abc beqz v0, 0x42d4           |         goto label_34;
                                         |     }
    0x00003ac0 lw t9, -0x7e0c(gp)        |     t9 = sym.imp.strtol;
    0x00003ac4 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x00003ac8 move a1, zero             |     a1 = 0;
    0x00003acc move a0, v0               |     a0 = v0;
    0x00003ad0 jalr t9                   |     t9 ();
    0x00003ad4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003ad8 lw a2, 0x2c(sp)           |     a2 = *(var_2ch);
    0x00003adc lw a1, 0x4c(sp)           |     a1 = *(var_4ch);
    0x00003ae0 lw t9, -0x7ec0(gp)        |     t9 = sym.imp.strtok_r;
    0x00003ae4 move a0, zero             |     a0 = 0;
    0x00003ae8 move s2, v0               |     s2 = v0;
    0x00003aec jalr t9                   |     t9 ();
    0x00003af0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003af4 beqz v0, 0x3874           |         goto label_0;
                                         |     }
    0x00003af8 lw t9, -0x7e0c(gp)        |     t9 = sym.imp.strtol;
    0x00003afc addiu a2, zero, 0xa       |     a2 = 0xa;
    0x00003b00 move a1, zero             |     a1 = 0;
    0x00003b04 move a0, v0               |     a0 = v0;
    0x00003b08 jalr t9                   |     t9 ();
    0x00003b0c move v1, v0               |     v1 = v0;
    0x00003b10 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s2 < 0) {
    0x00003b14 bltz s2, 0x4244           |         goto label_35;
                                         |     }
                                         | label_14:
    0x00003b18 addiu v0, zero, 0xc       |     v0 = 0xc;
    0x00003b1c mul s2, s2, v0            |     __asm ("mul s2, s2, v0");
    0x00003b20 lw s1, 0x80(sp)           |     s1 = *(var_80h);
    0x00003b24 lw t9, -0x7e04(gp)        |     t9 = sym.imp.gettimeofday;
    0x00003b28 sw v1, 0x88(sp)           |     *(var_88h) = v1;
    0x00003b2c move a1, zero             |     a1 = 0;
    0x00003b30 addiu a0, s2, 4           |     a0 = s2 + 4;
    0x00003b34 addu s2, s1, s2           |     s2 = s1 + s2;
    0x00003b38 addu a0, s1, a0           |     a0 = s1 + a0;
    0x00003b3c jalr t9                   |     t9 ();
    0x00003b40 lw v0, 4(s2)              |     v0 = *((s2 + 1));
    0x00003b44 lw v1, 0x88(sp)           |     v1 = *(var_88h);
    0x00003b48 addu v1, v0, v1           |     v1 = v0 + v1;
    0x00003b4c sw v1, 4(s2)              |     *((s2 + 1)) = v1;
    0x00003b50 b 0x4174                  |     goto label_10;
                                         | label_24:
    0x00003b54 lw t9, -0x7f98(gp)        |     t9 = sym.ct_read_acc;
    0x00003b58 lw a0, 0xac(sp)           |     a0 = *(var_ach_2);
    0x00003b5c bal 0x5d0c                |     sym_ct_read_acc ();
    0x00003b60 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 > 0) {
    0x00003b64 bgtz v0, 0x3b74           |         goto label_36;
                                         |     }
    0x00003b68 lw v0, 0x24(sp)           |     v0 = *(var_24h);
    0x00003b6c lw t9, -0x7f18(gp)        |     t9 = sym.imp.av_watch_collect;
                                         |     if (v0 != 0) {
    0x00003b70 bnez v0, 0x37fc           |         goto label_2;
                                         |     }
                                         | label_36:
    0x00003b74 lw v0, 0x44(sp)           |     v0 = *(var_44h);
    0x00003b78 lw t9, -0x7de0(gp)        |     t9 = sym.imp.av_loader_grab;
    0x00003b7c lw a0, (v0)               |     a0 = *(v0);
    0x00003b80 jalr t9                   |     t9 ();
    0x00003b84 move s1, v0               |     s1 = v0;
    0x00003b88 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003b8c beqz v0, 0x3e54           |         goto label_37;
                                         |     }
    0x00003b90 lw t9, -0x7f94(gp)        |     t9 = sym.ct_apply;
    0x00003b94 lw a0, 0xac(sp)           |     a0 = *(var_ach_2);
    0x00003b98 move a1, v0               |     a1 = v0;
    0x00003b9c bal 0x50c0                |     sym_ct_apply ();
    0x00003ba0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003ba4 lw a0, 0xac(sp)           |     a0 = *(var_ach_2);
    0x00003ba8 lw t9, -0x7f98(gp)        |     t9 = sym.ct_read_acc;
    0x00003bac move s2, v0               |     s2 = v0;
    0x00003bb0 bal 0x5d0c                |     sym_ct_read_acc ();
    0x00003bb4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003bb8 move a0, s2               |     a0 = s2;
    0x00003bbc move a1, zero             |     a1 = 0;
    0x00003bc0 lw t9, -0x7f90(gp)        |     t9 = sym.send_tampering_event;
    0x00003bc4 move s2, v0               |     s2 = v0;
    0x00003bc8 bal 0x2b1c                |     sym_send_tampering_event ();
    0x00003bcc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003bd0 lw t9, -0x7f18(gp)        |     t9 = sym.imp.av_watch_collect;
    0x00003bd4 jalr t9                   |     t9 ();
    0x00003bd8 nop                       |     
    0x00003bdc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s2 <= 0) {
    0x00003be0 blez s2, 0x4444           |         goto label_38;
                                         |     }
    0x00003be4 lw t9, -0x7ed0(gp)        |     t9 = sym.imp.fps_set_fps;
    0x00003be8 lw a1, 0x70(sp)           |     a1 = *(var_70h);
    0x00003bec move a0, s0               |     a0 = s0;
    0x00003bf0 jalr t9                   |     t9 ();
    0x00003bf4 lw v0, 0x24(sp)           |     v0 = *(var_24h);
    0x00003bf8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003bfc beqz v0, 0x3db8           |         goto label_39;
                                         |     }
    0x00003c00 addiu v0, v0, -1          |     v0 += -1;
    0x00003c04 sw v0, 0x24(sp)           |     *(var_24h) = v0;
                                         | label_6:
    0x00003c08 lw t9, -0x7df4(gp)        |     t9 = sym.imp.av_image_delete;
    0x00003c0c move a0, s1               |     a0 = s1;
    0x00003c10 jalr t9                   |     t9 ();
    0x00003c14 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003c18 b 0x3808                  |     goto label_3;
                                         | label_25:
    0x00003c1c lw a2, 0x38(sp)           |     a2 = *(var_38h);
    0x00003c20 lw a1, 0x34(sp)           |     a1 = *(var_34h);
    0x00003c24 lw t9, 0x30(sp)           |     t9 = *(var_30h);
    0x00003c28 move a0, zero             |     a0 = 0;
    0x00003c2c jalr t9                   |     t9 ();
    0x00003c30 lw v0, 0x28(sp)           |     v0 = *(var_28h);
    0x00003c34 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003c38 lw v0, -0x5cbc(v0)        |     v0 = *((v0 - 5935));
    0x00003c3c lw t9, -0x7d98(gp)        |     t9 = sym.imp.fps_create;
                                         |     if (v0 == 0) {
    0x00003c40 beqz v0, 0x37cc           |         goto label_4;
                                         |     }
                                         | label_23:
    0x00003c44 lw v0, 0x28(sp)           |     v0 = *(var_28h);
    0x00003c48 lw s1, 0x40(sp)           |     s1 = *(var_40h);
    0x00003c4c lw t9, -0x7eb0(gp)        |     t9 = sym.imp.config_refresh;
    0x00003c50 move a0, s1               |     a0 = s1;
    0x00003c54 sw zero, -0x5cbc(v0)      |     *((v0 - 5935)) = 0;
    0x00003c58 jalr t9                   |     t9 ();
    0x00003c5c nop                       |     
    0x00003c60 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003c64 lw s0, 0x3c(sp)           |     s0 = *(var_3ch);
    0x00003c68 lw v0, 0x6c(sp)           |     v0 = *(var_6ch);
    0x00003c6c lw t9, -0x7eec(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x00003c70 addiu a3, zero, 0x20      |     a3 = 0x20;
    0x00003c74 addiu a2, zero, 1         |     a2 = 1;
    0x00003c78 addiu a1, zero, 0x20      |     a1 = 0x20;
    0x00003c7c addiu a0, s0, -0x5cdc     |     a0 = s0 + -0x5cdc;
    0x00003c80 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00003c84 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00003c88 jalr t9                   |     t9 ();
    0x00003c8c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003c90 addiu v0, sp, 0x97        |     v0 = sp + 0x97;
    0x00003c94 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00003c98 lw a3, -0x7fcc(gp)        |     a3 = *((gp - 8179));
    0x00003c9c lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003ca0 lw t9, -0x7dfc(gp)        |     t9 = sym.imp.config_getbool;
    0x00003ca4 addiu a3, a3, -0x6d28     |     a3 += -0x6d28;
    0x00003ca8 addiu a2, a2, -0x6d24     |     a2 += -0x6d24;
    0x00003cac addiu a1, s0, -0x5cdc     |     a1 = s0 + -0x5cdc;
    0x00003cb0 move a0, s1               |     a0 = s1;
    0x00003cb4 jalr t9                   |     t9 ();
    0x00003cb8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00003cbc beqz v0, 0x3cc8           |         
    0x00003cc0 lbu v0, 0x97(sp)          |         v0 = *(var_97h);
    0x00003cc4 sw v0, 0x58(sp)           |         *(var_58h) = v0;
                                         |     }
    0x00003cc8 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003ccc lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00003cd0 lw t9, -0x7e58(gp)        |     t9 = sym.imp.config_getint;
    0x00003cd4 lw a0, 0x40(sp)           |     a0 = *(var_40h);
    0x00003cd8 addiu a3, sp, 0x98        |     a3 = sp + 0x98;
    0x00003cdc addiu a2, a2, -0x6d0c     |     a2 += -0x6d0c;
    0x00003ce0 addiu a1, v0, -0x5cdc     |     a1 = v0 + -0x5cdc;
    0x00003ce4 jalr t9                   |     t9 ();
    0x00003ce8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00003cec beqz v0, 0x3cf8           |         
    0x00003cf0 lw v0, 0x98(sp)           |         v0 = *(var_98h_2);
    0x00003cf4 sw v0, 0x5c(sp)           |         *(var_5ch) = v0;
                                         |     }
    0x00003cf8 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003cfc lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00003d00 lw t9, -0x7e58(gp)        |     t9 = sym.imp.config_getint;
    0x00003d04 lw a3, 0x2c(sp)           |     a3 = *(var_2ch);
    0x00003d08 lw a0, 0x40(sp)           |     a0 = *(var_40h);
    0x00003d0c addiu a2, a2, -0x6d00     |     a2 += -0x6d00;
    0x00003d10 addiu a1, v0, -0x5cdc     |     a1 = v0 + -0x5cdc;
    0x00003d14 jalr t9                   |     t9 ();
    0x00003d18 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00003d1c beqz v0, 0x3d28           |         
    0x00003d20 lw v0, 0x9c(sp)           |         v0 = *(var_9ch_2);
    0x00003d24 sw v0, 0x54(sp)           |         *(var_54h) = v0;
                                         |     }
    0x00003d28 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003d2c lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00003d30 lw t9, -0x7e58(gp)        |     t9 = sym.imp.config_getint;
    0x00003d34 lw a0, 0x40(sp)           |     a0 = *(var_40h);
    0x00003d38 move a3, s6               |     a3 = s6;
    0x00003d3c addiu a2, a2, -0x6cf4     |     a2 += -0x6cf4;
    0x00003d40 addiu a1, v0, -0x5cdc     |     a1 = v0 + -0x5cdc;
    0x00003d44 jalr t9                   |     t9 ();
    0x00003d48 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00003d4c beqz v0, 0x3d90           |         
    0x00003d50 lw t9, -0x7f8c(gp)        |         t9 = *(gp);
    0x00003d54 lw s0, -0x7fcc(gp)        |         s0 = *((gp - 8179));
    0x00003d58 lw a0, 0xa0(sp)           |         a0 = *(var_a0h_2);
    0x00003d5c bal 0x7120                |         fcn_00007120 ();
    0x00003d60 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003d64 lw a0, -0x6878(s0)        |         a0 = *((s0 - 6686));
    0x00003d68 lw t9, -0x7f88(gp)        |         t9 = *(gp);
    0x00003d6c move a1, v0               |         a1 = v0;
    0x00003d70 bal 0x6ba0                |         fcn_00006ba0 ();
    0x00003d74 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003d78 lw a1, -0x6878(s0)        |         a1 = *((s0 - 6686));
    0x00003d7c lw t9, -0x7f84(gp)        |         t9 = *(gp);
    0x00003d80 move a0, v0               |         a0 = v0;
    0x00003d84 bal 0x6230                |         fcn_00006230 ();
    0x00003d88 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003d8c sw v0, 0x50(sp)           |         *(var_50h) = v0;
                                         |     }
    0x00003d90 lw v0, 0x50(sp)           |     v0 = *(var_50h);
    0x00003d94 lw t9, -0x7f80(gp)        |     t9 = sym.ct_update_params;
    0x00003d98 lw a0, 0xac(sp)           |     a0 = *(var_ach_2);
    0x00003d9c lw a3, 0x54(sp)           |     a3 = *(var_54h);
    0x00003da0 lw a2, 0x5c(sp)           |     a2 = *(var_5ch);
    0x00003da4 lw a1, 0x58(sp)           |     a1 = *(var_58h);
    0x00003da8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00003dac bal 0x5a10                |     sym_ct_update_params ();
    0x00003db0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003db4 b 0x37c8                  |     goto label_5;
                                         | label_39:
    0x00003db8 addiu v0, zero, 9         |     v0 = 9;
    0x00003dbc sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00003dc0 b 0x3c08                  |     goto label_6;
                                         | label_16:
    0x00003dc4 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003dc8 lw a1, -0x7fcc(gp)        |     a1 = *((gp - 8179));
    0x00003dcc lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x00003dd0 lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x00003dd4 addiu a3, zero, 0x17f     |     a3 = 0x17f;
    0x00003dd8 addiu a2, a2, -0x6a4c     |     a2 += -0x6a4c;
    0x00003ddc addiu a1, a1, -0x6ff4     |     a1 += -0x6ff4;
    0x00003de0 addiu a0, a0, -0x6fe8     |     a0 += -0x6fe8;
    0x00003de4 bal 0x4510                |     sym_dbg_add ();
    0x00003de8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003dec addiu a1, s0, -0x6ecc     |     a1 = s0 + -0x6ecc;
    0x00003df0 lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x00003df4 lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x00003df8 addiu a0, a0, -0x6eac     |     a0 += -0x6eac;
    0x00003dfc bal 0x4510                |     sym_dbg_add ();
    0x00003e00 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         | label_9:
    0x00003e04 lw t9, -0x7fc4(gp)        |     t9 = sym.dbg_print;
    0x00003e08 addiu a0, zero, 2         |     a0 = 2;
    0x00003e0c bal 0x45d8                |     sym_dbg_print ();
    0x00003e10 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     do {
    0x00003e14 lw v0, 0x60(sp)           |         v0 = *(var_60h);
    0x00003e18 lw v1, 0x25c(sp)          |         v1 = *(var_25ch);
    0x00003e1c lw v0, (v0)               |         v0 = *(v0);
    0x00003e20 lw ra, 0x284(sp)          |         ra = *(var_284h);
                                         |         if (v1 != v0) {
    0x00003e24 bne v1, v0, 0x4430        |             goto label_40;
                                         |         }
    0x00003e28 lw fp, 0x280(sp)          |         fp = *(var_280h);
    0x00003e2c lw s7, 0x27c(sp)          |         s7 = *(var_27ch);
    0x00003e30 lw s6, 0x278(sp)          |         s6 = *(var_278h);
    0x00003e34 lw s5, 0x274(sp)          |         s5 = *(var_274h);
    0x00003e38 lw s4, 0x270(sp)          |         s4 = *(var_270h);
    0x00003e3c lw s3, 0x26c(sp)          |         s3 = *(var_26ch);
    0x00003e40 lw s2, 0x268(sp)          |         s2 = *(var_268h);
    0x00003e44 lw s1, 0x264(sp)          |         s1 = *(var_264h);
    0x00003e48 lw s0, 0x260(sp)          |         s0 = *(var_260h);
    0x00003e4c addiu sp, sp, 0x288       |         
    0x00003e50 jr ra                     |         return v1;
                                         | label_37:
    0x00003e54 lw a0, -0x7fcc(gp)        |         a0 = *((gp - 8179));
    0x00003e58 lw t9, -0x7fc8(gp)        |         t9 = sym.dbg_add;
    0x00003e5c addiu a0, a0, -0x6ce4     |         a0 += -0x6ce4;
    0x00003e60 bal 0x4510                |         sym_dbg_add ();
    0x00003e64 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003e68 lw t9, -0x7fc4(gp)        |         t9 = sym.dbg_print;
    0x00003e6c move a0, zero             |         a0 = 0;
    0x00003e70 bal 0x45d8                |         sym_dbg_print ();
    0x00003e74 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003e78 addiu v0, zero, 1         |         v0 = 1;
    0x00003e7c lw a3, 0x48(sp)           |         a3 = *(var_48h);
    0x00003e80 lw t9, -0x7fd0(gp)        |         t9 = *((gp - 8180));
    0x00003e84 lw a1, 0x2c(sp)           |         a1 = *(var_2ch);
    0x00003e88 lw a0, 0x40(sp)           |         a0 = *(var_40h);
    0x00003e8c addiu a2, sp, 0xb0        |         a2 = sp + 0xb0;
    0x00003e90 sw v0, 0x9c(sp)           |         *(var_9ch_2) = v0;
    0x00003e94 addiu t9, t9, 0x2d38      |         t9 += fcn.00002d38;
    0x00003e98 sw fp, 0x14(sp)           |         *(var_14h) = fp;
    0x00003e9c sw s6, 0x10(sp)           |         *(var_10h) = s6;
    0x00003ea0 bal 0x2d38                |         fcn_00002d38 ();
    0x00003ea4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003ea8 lw s0, 0x44(sp)           |         s0 = *(var_44h);
    0x00003eac lw t9, -0x7ea0(gp)        |         t9 = sym.imp.av_loader_delete;
    0x00003eb0 lw a0, (s0)               |         a0 = *(s0);
    0x00003eb4 jalr t9                   |         t9 ();
    0x00003eb8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003ebc lw v0, 0xb4(sp)           |         v0 = *(var_b4h);
    0x00003ec0 addiu a3, zero, 0x10      |         a3 = 0x10;
    0x00003ec4 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00003ec8 lw v0, -0x7fcc(gp)        |         v0 = *((gp - 8179));
    0x00003ecc lw t9, -0x7eec(gp)        |         t9 = sym.imp.__snprintf_chk;
    0x00003ed0 addiu v0, v0, -0x6cc8     |         v0 += -0x6cc8;
    0x00003ed4 addiu a2, zero, 1         |         a2 = 1;
    0x00003ed8 addiu a1, zero, 0x10      |         a1 = 0x10;
    0x00003edc move a0, s5               |         a0 = s5;
    0x00003ee0 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00003ee4 jalr t9                   |         t9 ();
    0x00003ee8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003eec lw t9, -0x7f7c(gp)        |         t9 = *(gp);
    0x00003ef0 lw a0, 0xdc(sp)           |         a0 = *(var_dch);
    0x00003ef4 bal 0x70b0                |         fcn_000070b0 ();
    0x00003ef8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003efc lw a0, 0xb0(sp)           |         a0 = *(var_b0h);
    0x00003f00 move a3, v0               |         a3 = v0;
    0x00003f04 lw t9, -0x7da0(gp)        |         t9 = sym.imp.av_loader_create;
    0x00003f08 addiu a2, zero, 7         |         a2 = 7;
    0x00003f0c move a1, s5               |         a1 = s5;
    0x00003f10 jalr t9                   |         t9 ();
    0x00003f14 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003f18 sw v0, (s0)               |         *(s0) = v0;
                                         |         if (v0 == 0) {
    0x00003f1c beqz v0, 0x40b0           |             goto label_41;
                                         |         }
                                         | label_8:
    0x00003f20 lw t9, -0x7fac(gp)        |         t9 = sym.ct_reset;
    0x00003f24 lw a0, 0xac(sp)           |         a0 = *(var_ach_2);
    0x00003f28 bal 0x509c                |         sym_ct_reset ();
    0x00003f2c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003f30 lw t9, -0x7f18(gp)        |         t9 = sym.imp.av_watch_collect;
    0x00003f34 jalr t9                   |         t9 ();
    0x00003f38 nop                       |         
    0x00003f3c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003f40 lw t9, -0x7f78(gp)        |         t9 = sym.ct_delete;
    0x00003f44 lw a0, 0xac(sp)           |         a0 = *(var_ach_2);
    0x00003f48 bal 0x4ed0                |         sym_ct_delete ();
    0x00003f4c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003f50 b 0x3e14                  |         
                                         |     } while (1);
                                         | label_26:
    0x00003f54 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003f58 lw a1, -0x7fcc(gp)        |     a1 = *((gp - 8179));
    0x00003f5c lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x00003f60 lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x00003f64 addiu a3, zero, 0x47f     |     a3 = 0x47f;
    0x00003f68 addiu a2, a2, -0x6a5c     |     a2 += -0x6a5c;
    0x00003f6c addiu a1, a1, -0x6ff4     |     a1 += -0x6ff4;
    0x00003f70 addiu a0, a0, -0x6fe8     |     a0 += -0x6fe8;
    0x00003f74 bal 0x4510                |     sym_dbg_add ();
    0x00003f78 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003f7c lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x00003f80 lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x00003f84 addiu a0, a0, -0x6c94     |     a0 += -0x6c94;
    0x00003f88 bal 0x4510                |     sym_dbg_add ();
    0x00003f8c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003f90 lw t9, -0x7fc4(gp)        |     t9 = sym.dbg_print;
    0x00003f94 addiu a0, zero, 2         |     a0 = 2;
    0x00003f98 bal 0x45d8                |     sym_dbg_print ();
    0x00003f9c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003fa0 b 0x3874                  |     goto label_0;
                                         | label_31:
    0x00003fa4 lw t9, -0x7ec0(gp)        |     t9 = sym.imp.strtok_r;
    0x00003fa8 lw a2, 0x2c(sp)           |     a2 = *(var_2ch);
    0x00003fac lw a1, 0x4c(sp)           |     a1 = *(var_4ch);
    0x00003fb0 move a0, s2               |     a0 = s2;
    0x00003fb4 jalr t9                   |     t9 ();
    0x00003fb8 lw a0, 0x9c(sp)           |     a0 = *(var_9ch_2);
    0x00003fbc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (a0 == 0) {
    0x00003fc0 beqz a0, 0x3874           |         goto label_0;
                                         |     }
    0x00003fc4 lw t9, -0x7e0c(gp)        |     t9 = sym.imp.strtol;
    0x00003fc8 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x00003fcc move a1, zero             |     a1 = 0;
    0x00003fd0 jalr t9                   |     t9 ();
    0x00003fd4 move v1, v0               |     v1 = v0;
                                         | label_11:
    0x00003fd8 addiu v0, zero, 1         |     v0 = 1;
                                         |     if (s1 != 0) {
    0x00003fdc bnez s1, 0x42e0           |         goto label_42;
                                         |     }
    0x00003fe0 lw v0, 0x78(sp)           |     v0 = *(var_78h);
    0x00003fe4 addu v1, v0, v1           |     v1 = v0 + v1;
    0x00003fe8 addiu v0, zero, 1         |     v0 = 1;
    0x00003fec sb v0, (v1)               |     *(v1) = v0;
    0x00003ff0 b 0x4174                  |     goto label_10;
                                         | label_29:
    0x00003ff4 lw t9, -0x7ec0(gp)        |     t9 = sym.imp.strtok_r;
    0x00003ff8 addiu v1, v1, 1           |     v1++;
    0x00003ffc lw a2, 0x2c(sp)           |     a2 = *(var_2ch);
    0x00004000 move a0, zero             |     a0 = 0;
    0x00004004 addiu a1, a1, -0x6c7c     |     a1 += -0x6c7c;
    0x00004008 sw v1, 0x9c(sp)           |     *(var_9ch_2) = v1;
    0x0000400c jalr t9                   |     t9 ();
    0x00004010 move a0, v0               |     a0 = v0;
    0x00004014 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00004018 beqz v0, 0x3874           |         goto label_0;
                                         |     }
    0x0000401c lw t9, -0x7e0c(gp)        |     t9 = sym.imp.strtol;
    0x00004020 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x00004024 move a1, zero             |     a1 = 0;
    0x00004028 jalr t9                   |     t9 ();
    0x0000402c move s2, v0               |     s2 = v0;
    0x00004030 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 < 0) {
    0x00004034 bltz v0, 0x4240           |         goto label_43;
                                         |     }
    0x00004038 addiu v0, zero, 2         |     v0 = 2;
                                         |     if (s1 == 0) {
    0x0000403c beqz s1, 0x4190           |         goto label_44;
                                         |     }
    0x00004040 addiu v0, zero, 3         |     v0 = 3;
                                         |     if (s1 == v0) {
    0x00004044 beq s1, v0, 0x42ac        |         goto label_45;
                                         |     }
    0x00004048 lw s1, -0x7fb0(gp)        |     s1 = *(gp);
                                         |     if (s1 == v0) {
    0x0000404c beq s1, v0, 0x443c        |         goto label_46;
                                         |     }
    0x00004050 move a1, zero             |     a1 = 0;
    0x00004054 sw s3, 0x88(sp)           |     *(var_88h) = s3;
    0x00004058 lw v0, (s1)               |     v0 = *(s1);
    0x0000405c sw s0, 0x8c(sp)           |     *(var_8ch) = s0;
    0x00004060 move s3, s2               |     s3 = s2;
    0x00004064 move s0, a1               |     s0 = a1;
                                         |     if (v0 == 0) {
                                         |         do {
                                         | label_7:
    0x00004068 beql v0, zero, 0x4170     |             goto label_47;
                                         |         }
    0x0000406c lw s3, 0x88(sp)           |         s3 = *(var_88h);
    0x00004070 lw v1, (v0)               |         v1 = *(v0);
    0x00004074 lw s2, 8(v0)              |         s2 = *((v0 + 2));
                                         |         if (v1 == s3) {
    0x00004078 beq v1, s3, 0x4088        |             goto label_48;
                                         |         }
    0x0000407c move s0, v0               |         s0 = v0;
    0x00004080 move v0, s2               |         v0 = s2;
    0x00004084 b 0x4068                  |         
                                         |     } while (1);
                                         | label_48:
    0x00004088 lw t9, -0x7e10(gp)        |     t9 = sym.imp.free;
                                         |     if (s0 != 0) {
    0x0000408c beqz s0, 0x4104           |         
    0x00004090 lw v0, 8(s0)              |         v0 = *((s0 + 2));
    0x00004094 move a0, v0               |         a0 = v0;
    0x00004098 lw v0, 8(v0)              |         v0 = *((v0 + 2));
    0x0000409c sw v0, 8(s0)              |         *((s0 + 2)) = v0;
    0x000040a0 jalr t9                   |         t9 ();
    0x000040a4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000040a8 move v0, s2               |         v0 = s2;
    0x000040ac b 0x4068                  |         goto label_7;
                                         | label_41:
    0x000040b0 lw a2, -0x7fcc(gp)        |         a2 = *((gp - 8179));
    0x000040b4 lw a1, -0x7fcc(gp)        |         a1 = *((gp - 8179));
    0x000040b8 lw a0, -0x7fcc(gp)        |         a0 = *((gp - 8179));
    0x000040bc lw t9, -0x7fc8(gp)        |         t9 = sym.dbg_add;
    0x000040c0 addiu a3, zero, 0x1e9     |         a3 = 0x1e9;
    0x000040c4 addiu a2, a2, -0x6a4c     |         a2 += -0x6a4c;
    0x000040c8 addiu a1, a1, -0x6ff4     |         a1 += -0x6ff4;
    0x000040cc addiu a0, a0, -0x6fe8     |         a0 += -0x6fe8;
    0x000040d0 bal 0x4510                |         sym_dbg_add ();
    0x000040d4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000040d8 move a1, zero             |         a1 = 0;
    0x000040dc lw a0, -0x7fcc(gp)        |         a0 = *((gp - 8179));
    0x000040e0 lw t9, -0x7fc8(gp)        |         t9 = sym.dbg_add;
    0x000040e4 addiu a0, a0, -0x6cc4     |         a0 += -0x6cc4;
    0x000040e8 bal 0x4510                |         sym_dbg_add ();
    0x000040ec lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000040f0 lw t9, -0x7fc4(gp)        |         t9 = sym.dbg_print;
    0x000040f4 addiu a0, zero, 1         |         a0 = 1;
    0x000040f8 bal 0x45d8                |         sym_dbg_print ();
    0x000040fc lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004100 b 0x3f20                  |         goto label_8;
                                         |     }
    0x00004104 lw a0, (s1)               |     a0 = *(s1);
                                         |     if (a0 != 0) {
    0x00004108 beqz a0, 0x411c           |         
    0x0000410c nop                       |         
    0x00004110 lw v0, 8(a0)              |         v0 = *((a0 + 2));
    0x00004114 sw v0, (s1)               |         *(s1) = v0;
    0x00004118 lw t9, -0x7e10(gp)        |         t9 = sym.imp.free;
                                         |     }
    0x0000411c jalr t9                   |     t9 ();
    0x00004120 nop                       |     
    0x00004124 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004128 move v0, s2               |     v0 = s2;
    0x0000412c b 0x4068                  |     goto label_7;
                                         | label_22:
    0x00004130 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00004134 lw a1, -0x7fcc(gp)        |     a1 = *((gp - 8179));
    0x00004138 lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x0000413c lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x00004140 addiu a3, zero, 0x19d     |     a3 = 0x19d;
    0x00004144 addiu a2, a2, -0x6a4c     |     a2 += -0x6a4c;
    0x00004148 addiu a1, a1, -0x6ff4     |     a1 += -0x6ff4;
    0x0000414c addiu a0, a0, -0x6fe8     |     a0 += -0x6fe8;
    0x00004150 bal 0x4510                |     sym_dbg_add ();
    0x00004154 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004158 lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x0000415c lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x00004160 addiu a0, a0, -0x6d68     |     a0 += -0x6d68;
    0x00004164 bal 0x4510                |     sym_dbg_add ();
    0x00004168 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000416c b 0x3e04                  |     goto label_9;
                                         | label_47:
    0x00004170 lw s0, 0x8c(sp)           |     s0 = *(var_8ch);
                                         | label_10:
    0x00004174 lw a2, 0x38(sp)           |     a2 = *(var_38h);
                                         | label_12:
    0x00004178 lw a1, 0x34(sp)           |     a1 = *(var_34h);
    0x0000417c lw t9, 0x30(sp)           |     t9 = *(var_30h);
    0x00004180 addiu a0, zero, 1         |     a0 = 1;
    0x00004184 jalr t9                   |     t9 ();
    0x00004188 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000418c b 0x3874                  |     goto label_0;
                                         | label_44:
    0x00004190 lw t9, -0x7e98(gp)        |     t9 = sym.imp.malloc;
    0x00004194 addiu a0, zero, 0xc       |     a0 = 0xc;
    0x00004198 jalr t9                   |     t9 ();
    0x0000419c lw t9, 0x84(sp)           |     t9 = *(var_84h);
    0x000041a0 move a0, s2               |     a0 = s2;
    0x000041a4 sw s2, (v0)               |     *(v0) = s2;
    0x000041a8 sw v0, 0x88(sp)           |     *(var_88h) = v0;
    0x000041ac jalr t9                   |     t9 ();
    0x000041b0 lw v1, 0x88(sp)           |     v1 = *(var_88h);
    0x000041b4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000041b8 sw s0, 0x88(sp)           |     *(var_88h) = s0;
    0x000041bc sw v0, 4(v1)              |     *((v1 + 1)) = v0;
    0x000041c0 addiu s1, zero, 3         |     s1 = 3;
    0x000041c4 addiu a1, zero, -1        |     a1 = -1;
    0x000041c8 move s0, v1               |     s0 = v1;
                                         |     do {
    0x000041cc lw v0, 4(s0)              |         v0 = *((s0 + 1));
    0x000041d0 addiu s1, s1, -1          |         s1 += -1;
                                         |         if (v0 != a1) {
    0x000041d4 bne v0, a1, 0x4204        |             goto label_49;
                                         |         }
    0x000041d8 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.sleep;
                                         |         if (s1 == 0) {
    0x000041dc beqz s1, 0x4204           |             goto label_49;
                                         |         }
    0x000041e0 addiu a0, zero, 1         |         a0 = 1;
    0x000041e4 jalr t9                   |         t9 ();
    0x000041e8 lw t9, 0x84(sp)           |         t9 = *(var_84h);
    0x000041ec move a0, s2               |         a0 = s2;
    0x000041f0 jalr t9                   |         t9 ();
    0x000041f4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000041f8 sw v0, 4(s0)              |         *((s0 + 1)) = v0;
    0x000041fc addiu a1, zero, -1        |         a1 = -1;
    0x00004200 b 0x41cc                  |         
                                         |     } while (1);
                                         | label_49:
    0x00004204 lw v0, -0x7fb0(gp)        |     v0 = *(gp);
    0x00004208 move v1, s0               |     v1 = s0;
    0x0000420c lw s0, 0x88(sp)           |     s0 = *(var_88h);
    0x00004210 lw a0, (v0)               |     a0 = *(v0);
    0x00004214 sw v1, (v0)               |     *(v0) = v1;
    0x00004218 sw a0, 8(v1)              |     *((v1 + 2)) = a0;
    0x0000421c b 0x4174                  |     goto label_10;
                                         | label_33:
    0x00004220 lw t9, -0x7e0c(gp)        |     t9 = sym.imp.strtol;
    0x00004224 move a0, s2               |     a0 = s2;
    0x00004228 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x0000422c move a1, zero             |     a1 = 0;
    0x00004230 jalr t9                   |     t9 ();
    0x00004234 move s2, v0               |     s2 = v0;
    0x00004238 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 >= 0) {
    0x0000423c bgez v0, 0x42ac           |         goto label_45;
                                         |     }
                                         | label_43:
    0x00004240 addiu v1, zero, -1        |     v1 = -1;
                                         | label_35:
    0x00004244 addiu v0, zero, -1        |     v0 = -1;
    0x00004248 addiu v0, zero, -2        |     v0 = -2;
                                         |     if (s2 == v0) {
    0x0000424c beq s2, v0, 0x4278        |         goto label_50;
                                         |     }
    0x00004250 addiu v0, zero, -3        |     v0 = -3;
                                         |     if (s2 == v0) {
    0x00004254 beq s2, v0, 0x3fd8        |         goto label_11;
                                         |     }
    0x00004258 lw a2, 0x38(sp)           |     a2 = *(var_38h);
                                         |     if (s2 != v0) {
    0x0000425c bne s2, v0, 0x4178        |         goto label_12;
                                         |     }
                                         | label_32:
    0x00004260 addiu v0, zero, 1         |     v0 = 1;
                                         |     if (s1 != 0) {
    0x00004264 bnez s1, 0x42f8           |         goto label_51;
                                         |     }
    0x00004268 lw v1, 0x7c(sp)           |     v1 = *(var_7ch);
    0x0000426c addiu v0, zero, 1         |     v0 = 1;
    0x00004270 sb v0, (v1)               |     *(v1) = v0;
    0x00004274 b 0x4174                  |     goto label_10;
                                         | label_50:
    0x00004278 lw s1, -0x7fb0(gp)        |     s1 = *(gp);
                                         | label_30:
    0x0000427c lw a0, (s1)               |     a0 = *(s1);
    0x00004280 lw a2, 0x38(sp)           |     a2 = *(var_38h);
                                         |     if (a0 == 0) {
    0x00004284 beqz a0, 0x4178           |         goto label_12;
                                         |     }
                                         |     do {
    0x00004288 lw v0, 8(a0)              |         v0 = *((a0 + 2));
    0x0000428c lw t9, -0x7e10(gp)        |         t9 = sym.imp.free;
    0x00004290 sw v0, (s1)               |         *(s1) = v0;
    0x00004294 jalr t9                   |         t9 ();
    0x00004298 lw a0, (s1)               |         a0 = *(s1);
    0x0000429c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000042a0 bnez a0, 0x4288           |         
                                         |     } while (a0 != 0);
    0x000042a4 lw a2, 0x38(sp)           |     a2 = *(var_38h);
    0x000042a8 b 0x4178                  |     goto label_12;
                                         | label_45:
    0x000042ac lw a2, 0x38(sp)           |     a2 = *(var_38h);
                                         |     if (s2 != 0) {
    0x000042b0 bnez s2, 0x4178           |         goto label_12;
                                         |     }
    0x000042b4 lw v1, 0x80(sp)           |     v1 = *(var_80h);
    0x000042b8 addiu v0, zero, 1         |     v0 = 1;
    0x000042bc sb v0, (v1)               |     *(v1) = v0;
    0x000042c0 sw zero, 4(v1)            |     *((v1 + 1)) = 0;
    0x000042c4 sw zero, 8(v1)            |     *((v1 + 2)) = 0;
    0x000042c8 b 0x4174                  |     goto label_10;
                                         | label_27:
    0x000042cc move s2, zero             |     s2 = 0;
    0x000042d0 b 0x39fc                  |     goto label_13;
                                         | label_34:
    0x000042d4 addiu v1, zero, -1        |     v1 = -1;
    0x000042d8 move s2, zero             |     s2 = 0;
    0x000042dc b 0x3b18                  |     goto label_14;
                                         | label_42:
    0x000042e0 lw a2, 0x38(sp)           |     a2 = *(var_38h);
                                         |     if (s1 != v0) {
    0x000042e4 bne s1, v0, 0x4178        |         goto label_12;
                                         |     }
    0x000042e8 lw v0, 0x78(sp)           |     v0 = *(var_78h);
    0x000042ec addu v1, v0, v1           |     v1 = v0 + v1;
    0x000042f0 sb zero, (v1)             |     *(v1) = 0;
    0x000042f4 b 0x4174                  |     goto label_10;
                                         | label_51:
    0x000042f8 lw a2, 0x38(sp)           |     a2 = *(var_38h);
                                         |     if (s1 != v0) {
    0x000042fc bne s1, v0, 0x4178        |         goto label_12;
                                         |     }
    0x00004300 lw v0, 0x7c(sp)           |     v0 = *(var_7ch);
    0x00004304 sb zero, (v0)             |     *(v0) = 0;
    0x00004308 b 0x4174                  |     goto label_10;
                                         | label_21:
    0x0000430c lw v0, -0x7e48(gp)        |     v0 = *((gp - 8082));
    0x00004310 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00004314 lw t9, -0x7da4(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00004318 lw a3, 8(s0)              |     a3 = *((s0 + 2));
    0x0000431c lw a0, (v0)               |     a0 = *(v0);
    0x00004320 addiu a2, a2, -0x6db4     |     a2 += -0x6db4;
    0x00004324 addiu a1, zero, 1         |     a1 = 1;
    0x00004328 jalr t9                   |     t9 ();
    0x0000432c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     do {
                                         | label_15:
    0x00004330 lw a2, -0x7fcc(gp)        |         a2 = *((gp - 8179));
    0x00004334 lw a1, -0x7fcc(gp)        |         a1 = *((gp - 8179));
    0x00004338 lw a0, -0x7fcc(gp)        |         a0 = *((gp - 8179));
    0x0000433c lw t9, -0x7fc8(gp)        |         t9 = sym.dbg_add;
    0x00004340 addiu a3, zero, 0x188     |         a3 = 0x188;
    0x00004344 addiu a2, a2, -0x6a4c     |         a2 += -0x6a4c;
    0x00004348 addiu a1, a1, -0x6ff4     |         a1 += -0x6ff4;
    0x0000434c addiu a0, a0, -0x6fe8     |         a0 += -0x6fe8;
    0x00004350 bal 0x4510                |         sym_dbg_add ();
    0x00004354 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004358 lw a0, -0x7fcc(gp)        |         a0 = *((gp - 8179));
    0x0000435c lw t9, -0x7fc8(gp)        |         t9 = sym.dbg_add;
    0x00004360 addiu a0, a0, -0x6d94     |         a0 += -0x6d94;
    0x00004364 bal 0x4510                |         sym_dbg_add ();
    0x00004368 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0000436c lw t9, -0x7fc4(gp)        |         t9 = sym.dbg_print;
    0x00004370 addiu a0, zero, 2         |         a0 = 2;
    0x00004374 bal 0x45d8                |         sym_dbg_print ();
    0x00004378 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0000437c lw t9, -0x7f10(gp)        |         t9 = sym.imp.exit;
    0x00004380 addiu a0, zero, 1         |         a0 = 1;
    0x00004384 jalr t9                   |         t9 ();
                                         | label_18:
    0x00004388 lw v0, -0x7e48(gp)        |         v0 = *((gp - 8082));
    0x0000438c lw a2, -0x7fcc(gp)        |         a2 = *((gp - 8179));
    0x00004390 lw t9, -0x7da4(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00004394 lw a0, (v0)               |         a0 = *(v0);
    0x00004398 addiu a3, s2, -0x7104     |         a3 = s2 + -0x7104;
    0x0000439c addiu a2, a2, -0x6e34     |         a2 += -0x6e34;
    0x000043a0 addiu a1, zero, 1         |         a1 = 1;
    0x000043a4 jalr t9                   |         t9 ();
    0x000043a8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000043ac b 0x4330                  |         
                                         |     } while (1);
                                         | label_17:
    0x000043b0 lw v0, -0x7e48(gp)        |     v0 = *((gp - 8082));
    0x000043b4 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x000043b8 lw t9, -0x7da4(gp)        |     t9 = sym.imp.__fprintf_chk
    0x000043bc lw a0, (v0)               |     a0 = *(v0);
    0x000043c0 addiu a3, s2, -0x7104     |     a3 = s2 + -0x7104;
    0x000043c4 addiu a2, a2, -0x6e58     |     a2 += -0x6e58;
    0x000043c8 addiu a1, zero, 1         |     a1 = 1;
    0x000043cc jalr t9                   |     t9 ();
    0x000043d0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000043d4 b 0x4330                  |     goto label_15;
                                         | label_20:
    0x000043d8 lw v1, -0x7e48(gp)        |     v1 = *((gp - 8082));
    0x000043dc lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x000043e0 lw v0, 8(s1)              |     v0 = *((s1 + 2));
    0x000043e4 lw t9, -0x7da4(gp)        |     t9 = sym.imp.__fprintf_chk
    0x000043e8 lw a3, (s0)               |     a3 = *(s0);
    0x000043ec lw a0, (v1)               |     a0 = *(v1);
    0x000043f0 addiu a2, a2, -0x6df0     |     a2 += -0x6df0;
    0x000043f4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000043f8 addiu a1, zero, 1         |     a1 = 1;
    0x000043fc jalr t9                   |     t9 ();
    0x00004400 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004404 b 0x4330                  |     goto label_15;
                                         | label_19:
    0x00004408 lw v0, -0x7e48(gp)        |     v0 = *((gp - 8082));
    0x0000440c lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00004410 lw t9, -0x7da4(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00004414 lw a3, 8(s1)              |     a3 = *((s1 + 2));
    0x00004418 lw a0, (v0)               |     a0 = *(v0);
    0x0000441c addiu a2, a2, -0x6e10     |     a2 += -0x6e10;
    0x00004420 addiu a1, zero, 1         |     a1 = 1;
    0x00004424 jalr t9                   |     t9 ();
    0x00004428 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000442c b 0x4330                  |     goto label_15;
                                         | label_40:
    0x00004430 lw t9, -0x7ea4(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00004434 jalr t9                   |     t9 ();
    0x00004438 nop                       |     
                                         | label_46:
    0x0000443c addiu v1, zero, -1        |     v1 = -1;
    0x00004440 b 0x3b18                  |     goto label_14;
                                         | label_38:
    0x00004444 sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x00004448 b 0x3c08                  |     goto label_6;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/tampering @ 0x4450 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00004450 ()              | void fcn_00004450 () {
    0x00004450 lui gp, 2                 |     
    0x00004454 addiu gp, gp, -0x23f0     |     
    0x00004458 addu gp, gp, t9           |     gp += t9;
    0x0000445c addiu sp, sp, -0x28       |     
    0x00004460 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00004464 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x00004468 lw v0, -0x7ecc(gp)        |     v0 = *((gp - 8115));
                                         |     if (a2 == 0) {
    0x0000446c beqz a2, 0x44ac           |         goto label_0;
                                         |     }
    0x00004470 move v0, a2               |     v0 = a2;
                                         |     do {
    0x00004474 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00004478 sll a0, a0, 2             |         a0 <<= 2;
                                         |         /* section..data.rel.ro */
    0x0000447c addiu a3, a3, -0x6010     |         a3 += -0x6010;
    0x00004480 lw a2, -0x7fcc(gp)        |         a2 = *((gp - 8179));
    0x00004484 lw t9, -0x7da4(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00004488 lwx a3, a0(a3)            |         __asm ("lwx a3, a0(a3)");
    0x0000448c sw a1, 0x10(sp)           |         *(var_10h) = a1;
    0x00004490 addiu a2, a2, -0x6860     |         a2 += -0x6860;
    0x00004494 addiu a1, zero, 1         |         a1 = 1;
    0x00004498 move a0, v0               |         a0 = v0;
    0x0000449c jalr t9                   |         t9 ();
    0x000044a0 lw ra, 0x24(sp)           |         ra = *(var_24h);
    0x000044a4 addiu sp, sp, 0x28        |         
    0x000044a8 jr ra                     |         return v0;
                                         | label_0:
    0x000044ac lw v0, (v0)               |         v0 = *(v0);
    0x000044b0 b 0x4474                  |         
                                         |     } while (1);
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/tampering @ 0x336c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.init_socket ()           | void init_socket () {
    0x0000336c lui gp, 2                 |     
    0x00003370 addiu gp, gp, -0x130c     |     
    0x00003374 addu gp, gp, t9           |     gp += t9;
    0x00003378 addiu sp, sp, -0xb0       |     
    0x0000337c lw t9, -0x7dc0(gp)        |     t9 = sym.imp.sd_listen_fds;
    0x00003380 sw s4, 0xa8(sp)           |     *(var_a8h) = s4;
    0x00003384 lw s4, -0x7e5c(gp)        |     s4 = *((gp - 8087));
    0x00003388 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x0000338c sw s3, 0xa4(sp)           |     *(var_a4h) = s3;
    0x00003390 lw v0, (s4)               |     v0 = *(s4);
    0x00003394 sw ra, 0xac(sp)           |     *(var_ach) = ra;
    0x00003398 sw s2, 0xa0(sp)           |     *(var_a0h) = s2;
    0x0000339c sw s1, 0x9c(sp)           |     *(var_9ch) = s1;
    0x000033a0 sw s0, 0x98(sp)           |     *(var_98h) = s0;
    0x000033a4 move s3, a0               |     s3 = a0;
    0x000033a8 sw v0, 0x94(sp)           |     *(var_94h) = v0;
    0x000033ac move a0, zero             |     a0 = 0;
    0x000033b0 jalr t9                   |     t9 ();
    0x000033b4 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 <= 0) {
    0x000033b8 blez v0, 0x3448           |         goto label_1;
                                         |     }
    0x000033bc addiu s2, v0, 2           |     s2 = v0 + 2;
    0x000033c0 addiu s0, zero, 3         |     s0 = 3;
    0x000033c4 addiu s1, zero, -1        |     s1 = -1;
    0x000033c8 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.sd_is_socket_unix;
                                         |     do {
    0x000033cc sw zero, 0x10(sp)         |         *(var_10h_2) = 0;
    0x000033d0 move a3, s3               |         a3 = s3;
    0x000033d4 addiu a2, zero, -1        |         a2 = -1;
    0x000033d8 addiu a1, zero, 1         |         a1 = 1;
    0x000033dc move a0, s0               |         a0 = s0;
    0x000033e0 jalr t9                   |         t9 ();
    0x000033e4 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 > 0) {
    0x000033e8 blez v0, 0x33fc           |             
    0x000033ec addiu v0, zero, -1        |             v0 = -1;
    0x000033f0 lw v0, -0x7e48(gp)        |             v0 = *((gp - 8082));
                                         |             if (s1 != v0) {
    0x000033f4 bne s1, v0, 0x3540        |                 goto label_2;
                                         |             }
    0x000033f8 move s1, s0               |             s1 = s0;
                                         |         }
    0x000033fc addiu s0, s0, 1           |         s0++;
    0x00003400 slt v1, s2, s0            |         v1 = (s2 < s0) ? 1 : 0;
    0x00003404 lw t9, -0x7e6c(gp)        |         t9 = sym.imp.sd_is_socket_unix;
    0x00003408 beqz v1, 0x33cc           |         
                                         |     } while (v1 == 0);
    0x0000340c addiu v0, zero, -1        |     v0 = -1;
    0x00003410 lw t9, -0x7e50(gp)        |     t9 = sym.imp.unlink;
    0x00003414 beq s1, v0, 0x344c        |     
                                         |     while (v0 >= 0) {
                                         | label_0:
    0x00003418 lw a0, 0x94(sp)           |         a0 = *(var_94h);
    0x0000341c lw v1, (s4)               |         v1 = *(s4);
    0x00003420 move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x00003424 bne a0, v1, 0x35c4        |             goto label_3;
                                         |         }
    0x00003428 lw ra, 0xac(sp)           |         ra = *(var_ach);
    0x0000342c lw s4, 0xa8(sp)           |         s4 = *(var_a8h);
    0x00003430 lw s3, 0xa4(sp)           |         s3 = *(var_a4h);
    0x00003434 lw s2, 0xa0(sp)           |         s2 = *(var_a0h);
    0x00003438 lw s1, 0x9c(sp)           |         s1 = *(var_9ch);
    0x0000343c lw s0, 0x98(sp)           |         s0 = *(var_98h);
    0x00003440 addiu sp, sp, 0xb0        |         
    0x00003444 jr ra                     |         return v0;
                                         | label_1:
    0x00003448 lw t9, -0x7e50(gp)        |         t9 = sym.imp.unlink;
    0x0000344c move a0, s3               |         a0 = s3;
    0x00003450 jalr t9                   |         t9 ();
    0x00003454 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00003458 bgez v0, 0x3478           |             
    0x0000345c lw t9, -0x7d84(gp)        |             t9 = sym.imp.__errno_location;
    0x00003460 jalr t9                   |             t9 ();
    0x00003464 nop                       |             
    0x00003468 lw v1, (v0)               |             v1 = *(v0);
    0x0000346c addiu v0, zero, 2         |             v0 = 2;
    0x00003470 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |             if (v1 != v0) {
    0x00003474 bne v1, v0, 0x3570        |                 goto label_4;
                                         |             }
                                         |         }
    0x00003478 lw t9, -0x7e2c(gp)        |         t9 = sym.imp.socket;
    0x0000347c move a2, zero             |         a2 = 0;
    0x00003480 addiu a1, zero, 1         |         a1 = 1;
    0x00003484 addiu a0, zero, 1         |         a0 = 1;
    0x00003488 jalr t9                   |         t9 ();
    0x0000348c move s1, v0               |         s1 = v0;
    0x00003490 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00003494 bltz v0, 0x3568           |             goto label_5;
                                         |         }
    0x00003498 lw t9, -0x7dd4(gp)        |         t9 = sym.imp.memset;
    0x0000349c addiu s0, sp, 0x26        |         s0 = sp + 0x26;
    0x000034a0 addiu a2, zero, 0x6c      |         a2 = 0x6c;
    0x000034a4 move a1, zero             |         a1 = 0;
    0x000034a8 move a0, s0               |         a0 = s0;
    0x000034ac jalr t9                   |         t9 ();
    0x000034b0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000034b4 addiu v0, zero, 1         |         v0 = 1;
    0x000034b8 move a0, s3               |         a0 = s3;
    0x000034bc lw t9, -0x7e4c(gp)        |         t9 = sym.imp.strlen;
    0x000034c0 sh v0, 0x24(sp)           |         *(var_24h_2) = v0;
    0x000034c4 jalr t9                   |         t9 ();
    0x000034c8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000034cc sltiu a2, v0, 0x6c        |         a2 = (v0 < 0x6c) ? 1 : 0;
    0x000034d0 addiu v1, zero, 0x6c      |         v1 = 0x6c;
                                         |         if (a2 != 0) {
    0x000034d4 movz v1, v0, a2           |             v1 = v0;
                                         |         }
    0x000034d8 lw t9, -0x7de4(gp)        |         t9 = sym.imp.__memcpy_chk;
    0x000034dc move a2, v1               |         a2 = v1;
    0x000034e0 addiu a3, zero, 0x6c      |         a3 = 0x6c;
    0x000034e4 move a1, s3               |         a1 = s3;
    0x000034e8 move a0, s0               |         a0 = s0;
    0x000034ec jalr t9                   |         t9 ();
    0x000034f0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000034f4 addiu a2, zero, 0x6e      |         a2 = 0x6e;
    0x000034f8 addiu a1, sp, 0x24        |         a1 = sp + 0x24;
    0x000034fc lw t9, -0x7e60(gp)        |         t9 = sym.imp.bind;
    0x00003500 move a0, s1               |         a0 = s1;
    0x00003504 jalr t9                   |         t9 ();
    0x00003508 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x0000350c bltz v0, 0x3528           |             goto label_6;
                                         |         }
    0x00003510 lw t9, -0x7de8(gp)        |         t9 = sym.imp.chmod;
    0x00003514 addiu a1, zero, 0x1b6     |         a1 = 0x1b6;
    0x00003518 move a0, s3               |         a0 = s3;
    0x0000351c jalr t9                   |         t9 ();
    0x00003520 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00003524 bgez v0, 0x3418           |         
                                         |     }
                                         | label_6:
    0x00003528 lw t9, -0x7e84(gp)        |     t9 = sym.imp.close;
    0x0000352c move a0, s1               |     a0 = s1;
    0x00003530 jalr t9                   |     t9 ();
    0x00003534 addiu s1, zero, -1        |     s1 = -1;
    0x00003538 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000353c b 0x3418                  |     goto label_0;
                                         | label_2:
    0x00003540 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003544 lw t9, -0x7da4(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00003548 lw a0, (v0)               |     a0 = *(v0);
    0x0000354c move a3, s3               |     a3 = s3;
    0x00003550 addiu a2, a2, -0x6f00     |     a2 += -0x6f00;
    0x00003554 addiu a1, zero, 1         |     a1 = 1;
    0x00003558 jalr t9                   |     t9 ();
    0x0000355c addiu s1, zero, -1        |     s1 = -1;
    0x00003560 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00003564 b 0x3418                  |     goto label_0;
                                         | label_5:
    0x00003568 addiu s1, zero, -1        |     s1 = -1;
    0x0000356c b 0x3418                  |     goto label_0;
                                         | label_4:
    0x00003570 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00003574 lw a1, -0x7fcc(gp)        |     a1 = *((gp - 8179));
    0x00003578 lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x0000357c lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x00003580 addiu a3, zero, 0x550     |     a3 = 0x550;
    0x00003584 addiu a2, a2, -0x6a80     |     a2 += -0x6a80;
    0x00003588 addiu a1, a1, -0x6ff4     |     a1 += -0x6ff4;
    0x0000358c addiu a0, a0, -0x6fe8     |     a0 += -0x6fe8;
    0x00003590 bal 0x4510                |     sym_dbg_add ();
    0x00003594 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00003598 addiu s1, zero, -1        |     s1 = -1;
    0x0000359c lw a0, -0x7fcc(gp)        |     a0 = *((gp - 8179));
    0x000035a0 lw t9, -0x7fc8(gp)        |     t9 = sym.dbg_add;
    0x000035a4 addiu a0, a0, -0x6ee0     |     a0 += -0x6ee0;
    0x000035a8 bal 0x4510                |     sym_dbg_add ();
    0x000035ac lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000035b0 lw t9, -0x7fc4(gp)        |     t9 = sym.dbg_print;
    0x000035b4 addiu a0, zero, 2         |     a0 = 2;
    0x000035b8 bal 0x45d8                |     sym_dbg_print ();
    0x000035bc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000035c0 b 0x3418                  |     goto label_0;
                                         | label_3:
    0x000035c4 lw t9, -0x7ea4(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000035c8 jalr t9                   |     t9 ();
    0x000035cc nop                       |     
                                         | }

[*] Function fprintf used 8 times tampering