[*] Binary protection state of axisns

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


[*] Function printf tear down of axisns

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/axisns @ 0x357c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0000357c ()              | void fcn_0000357c () {
                                         | label_7:
    0x0000357c lui gp, 2                 |     
    0x00003580 addiu gp, gp, -0x55c      |     
    0x00003584 addu gp, gp, t9           |     gp += t9;
    0x00003588 addiu sp, sp, -0x140      |     
    0x0000358c lw t9, -0x7d9c(gp)        |     t9 = sym.imp.getprotobyname;
    0x00003590 sw s1, 0x11c(sp)          |     *(var_11ch) = s1;
    0x00003594 lw s1, -0x7e40(gp)        |     s1 = *((gp - 8080));
    0x00003598 sw s2, 0x120(sp)          |     *(var_120h) = s2;
    0x0000359c move s2, a0               |     s2 = a0;
    0x000035a0 lw v0, (s1)               |     v0 = *(s1);
    0x000035a4 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x000035a8 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x000035ac sw ra, 0x13c(sp)          |     *(var_13ch) = ra;
    0x000035b0 sw fp, 0x138(sp)          |     *(var_138h) = fp;
    0x000035b4 sw s7, 0x134(sp)          |     *(var_134h) = s7;
    0x000035b8 sw s6, 0x130(sp)          |     *(var_130h) = s6;
    0x000035bc sw s5, 0x12c(sp)          |     *(var_12ch) = s5;
    0x000035c0 sw s4, 0x128(sp)          |     *(var_128h) = s4;
    0x000035c4 sw s3, 0x124(sp)          |     *(var_124h) = s3;
    0x000035c8 sw s0, 0x118(sp)          |     *(var_118h) = s0;
    0x000035cc addiu a0, a0, -0x72d8     |     a0 += -0x72d8;
    0x000035d0 sw v0, 0x114(sp)          |     *(var_114h) = v0;
    0x000035d4 sw a1, 0x24(sp)           |     *(var_24h) = a1;
    0x000035d8 jalr t9                   |     t9 ();
    0x000035dc nop                       |     
    0x000035e0 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x000035e4 beqz v0, 0x3864           |         goto label_22;
                                         |     }
    0x000035e8 lw a2, 8(v0)              |     a2 = *((v0 + 2));
                                         | label_3:
    0x000035ec lw t9, -0x7e00(gp)        |     t9 = sym.imp.socket;
    0x000035f0 addiu a1, zero, 3         |     a1 = 3;
    0x000035f4 addiu a0, zero, 2         |     a0 = 2;
    0x000035f8 jalr t9                   |     t9 ();
    0x000035fc move s0, v0               |     s0 = v0;
    0x00003600 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 >= 0) {
    0x00003604 bltz v0, 0x366c           |         
    0x00003608 lw t9, -0x7f0c(gp)        |         t9 = sym.imp.gethostbyname;
    0x0000360c addiu v0, zero, 2         |         v0 = 2;
    0x00003610 move a0, s2               |         a0 = s2;
    0x00003614 sh zero, 0x36(sp)         |         *(var_36h) = 0;
    0x00003618 sh zero, 0x38(sp)         |         *(var_38h_3) = 0;
    0x0000361c sh zero, 0x3a(sp)         |         *(var_3ah) = 0;
    0x00003620 sh zero, 0x3c(sp)         |         *(var_3ch_4) = 0;
    0x00003624 sh zero, 0x3e(sp)         |         *(var_3eh) = 0;
    0x00003628 sh zero, 0x40(sp)         |         *(var_40h_4) = 0;
    0x0000362c sh zero, 0x42(sp)         |         *(var_42h) = 0;
    0x00003630 sh v0, 0x34(sp)           |         *(var_34h_3) = v0;
    0x00003634 jalr t9                   |         t9 ();
    0x00003638 lw a0, 8(v0)              |         a0 = *((v0 + 2));
    0x0000363c addiu v1, zero, 2         |         v1 = 2;
    0x00003640 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (a0 == v1) {
    0x00003644 beq a0, v1, 0x36c8        |             goto label_23;
                                         |         }
    0x00003648 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x0000364c lw t9, -0x7fd0(gp)        |         t9 = sym.log_err;
    0x00003650 addiu a0, a0, -0x72d0     |         a0 += -0x72d0;
    0x00003654 bal 0x754c                |         sym_log_err ();
    0x00003658 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_0:
    0x0000365c lw t9, -0x7e68(gp)        |         t9 = sym.imp.close;
                                         | label_4:
    0x00003660 move a0, s0               |         a0 = s0;
    0x00003664 jalr t9                   |         t9 ();
    0x00003668 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |     }
    0x0000366c lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003670 lw t9, -0x7fdc(gp)        |     t9 = sym.log_warn;
    0x00003674 move a1, s2               |     a1 = s2;
    0x00003678 addiu a0, a0, -0x7280     |     a0 += -0x7280;
    0x0000367c bal 0x7498                |     sym_log_warn ();
    0x00003680 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00003684 move s2, zero             |     s2 = 0;
                                         | label_2:
    0x00003688 lw a0, 0x114(sp)          |     a0 = *(var_114h);
    0x0000368c lw v1, (s1)               |     v1 = *(s1);
    0x00003690 move v0, s2               |     v0 = s2;
                                         |     if (a0 != v1) {
    0x00003694 bne a0, v1, 0x38b4        |         goto label_24;
                                         |     }
    0x00003698 lw ra, 0x13c(sp)          |     ra = *(var_13ch);
    0x0000369c lw fp, 0x138(sp)          |     fp = *(var_138h);
    0x000036a0 lw s7, 0x134(sp)          |     s7 = *(var_134h);
    0x000036a4 lw s6, 0x130(sp)          |     s6 = *(var_130h);
    0x000036a8 lw s5, 0x12c(sp)          |     s5 = *(var_12ch);
    0x000036ac lw s4, 0x128(sp)          |     s4 = *(var_128h);
    0x000036b0 lw s3, 0x124(sp)          |     s3 = *(var_124h);
    0x000036b4 lw s2, 0x120(sp)          |     s2 = *(var_120h);
    0x000036b8 lw s1, 0x11c(sp)          |     s1 = *(var_11ch);
    0x000036bc lw s0, 0x118(sp)          |     s0 = *(var_118h);
    0x000036c0 addiu sp, sp, 0x140       |     
    0x000036c4 jr ra                     |     return v0;
                                         | label_23:
    0x000036c8 lw v0, 0x10(v0)           |     v0 = *((v0 + 4));
    0x000036cc lw t9, -0x7ec0(gp)        |     t9 = sym.imp.setsockopt;
    0x000036d0 addiu s4, zero, 4         |     s4 = 4;
    0x000036d4 lw v0, (v0)               |     v0 = *(v0);
    0x000036d8 addiu s3, sp, 0x24        |     s3 = sp + 0x24;
    0x000036dc move a3, s3               |     a3 = s3;
    0x000036e0 lwl v1, 3(v0)             |     __asm ("lwl v1, 3(v0)");
    0x000036e4 addiu a2, zero, 0x21      |     a2 = 0x21;
    0x000036e8 move a1, zero             |     a1 = 0;
    0x000036ec lwr v1, (v0)              |     __asm ("lwr v1, (v0)");
    0x000036f0 move a0, s0               |     a0 = s0;
    0x000036f4 sw v1, 0x38(sp)           |     *(var_38h_3) = v1;
    0x000036f8 sw s4, 0x10(sp)           |     *(var_10h_4) = s4;
    0x000036fc jalr t9                   |     t9 ();
    0x00003700 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00003704 move a3, s3               |     a3 = s3;
    0x00003708 addiu a2, zero, 2         |     a2 = 2;
    0x0000370c lw t9, -0x7ec0(gp)        |     t9 = sym.imp.setsockopt;
    0x00003710 move a1, zero             |     a1 = 0;
    0x00003714 move a0, s0               |     a0 = s0;
    0x00003718 sw s4, 0x10(sp)           |     *(var_10h_4) = s4;
    0x0000371c jalr t9                   |     t9 ();
    0x00003720 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00003724 addiu v0, zero, 5         |     v0 = 5;
    0x00003728 addiu s4, zero, 8         |     s4 = 8;
    0x0000372c lw t9, -0x7ec0(gp)        |     t9 = sym.imp.setsockopt;
    0x00003730 sw s4, 0x10(sp)           |     *(var_10h_4) = s4;
    0x00003734 addiu a3, sp, 0x2c        |     a3 = sp + 0x2c;
    0x00003738 addiu a2, zero, 0x1006    |     a2 = 0x1006;
    0x0000373c ori a1, zero, 0xffff      |     a1 = 0xffff;
    0x00003740 move a0, s0               |     a0 = s0;
    0x00003744 sw v0, 0x2c(sp)           |     *(var_2ch_4) = v0;
    0x00003748 sw zero, 0x30(sp)         |     *(var_30h_3) = 0;
    0x0000374c jalr t9                   |     t9 ();
    0x00003750 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00003754 bltz v0, 0x3894           |         goto label_25;
                                         |     }
    0x00003758 lw t9, -0x7d98(gp)        |     t9 = sym.imp.memset;
    0x0000375c addiu s3, sp, 0x54        |     s3 = sp + 0x54;
    0x00003760 move a1, zero             |     a1 = 0;
    0x00003764 addiu a2, zero, 0xc0      |     a2 = 0xc0;
    0x00003768 move a0, s3               |     a0 = s3;
    0x0000376c jalr t9                   |     t9 ();
    0x00003770 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00003774 sb s4, 0x54(sp)           |     *(var_54h_4) = s4;
    0x00003778 move v1, zero             |     v1 = 0;
    0x0000377c addiu a1, sp, 0x114       |     a1 = sp + 0x114;
                                         |     do {
    0x00003780 addiu v0, v0, 2           |         v0 += 2;
    0x00003784 lhu a0, -2(v0)            |         a0 = *((v0 - 1));
    0x00003788 addu v1, v1, a0           |         v1 += a0;
    0x0000378c bne v0, a1, 0x3780        |         
                                         |     } while (v0 != a1);
    0x00003790 sra v0, v1, 0x10          |     v0 = v1 >> 0x10;
    0x00003794 andi v1, v1, 0xffff       |     v1 &= 0xffff;
    0x00003798 addu v1, v0, v1           |     v1 = v0 + v1;
    0x0000379c sra v0, v1, 0x10          |     v0 = v1 >> 0x10;
    0x000037a0 addu v1, v1, v0           |     v1 += v0;
    0x000037a4 addiu v0, zero, 0x10      |     v0 = 0x10;
    0x000037a8 nor v1, zero, v1          |     __asm ("nor v1, zero, v1");
    0x000037ac lw t9, -0x7d8c(gp)        |     t9 = sym.imp.sendto;
    0x000037b0 sw v0, 0x14(sp)           |     *(var_14h_3) = v0;
    0x000037b4 addiu v0, sp, 0x34        |     v0 = sp + 0x34;
    0x000037b8 sh v1, 0x56(sp)           |     *(var_56h) = v1;
    0x000037bc sw v0, 0x10(sp)           |     *(var_10h_4) = v0;
    0x000037c0 move a3, zero             |     a3 = 0;
    0x000037c4 addiu a2, zero, 0xc0      |     a2 = 0xc0;
    0x000037c8 move a1, s3               |     a1 = s3;
    0x000037cc move a0, s0               |     a0 = s0;
    0x000037d0 jalr t9                   |     t9 ();
    0x000037d4 addiu v1, zero, 0xc0      |     v1 = 0xc0;
    0x000037d8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != v1) {
    0x000037dc bne v0, v1, 0x365c        |         goto label_0;
                                         |     }
    0x000037e0 addiu s6, sp, 0x28        |     s6 = sp + 0x28;
    0x000037e4 addiu s5, sp, 0x44        |     s5 = sp + 0x44;
    0x000037e8 addiu s4, zero, 0x10      |     s4 = 0x10;
    0x000037ec addiu s7, zero, 0xb       |     s7 = 0xb;
    0x000037f0 addiu fp, zero, 4         |     fp = 4;
    0x000037f4 lw t9, -0x7f14(gp)        |     t9 = sym.imp.recvfrom;
                                         |     do {
                                         | label_5:
    0x000037f8 sw s6, 0x14(sp)           |         *(var_14h_3) = s6;
                                         | label_1:
    0x000037fc sw s5, 0x10(sp)           |         *(var_10h_4) = s5;
    0x00003800 move a3, zero             |         a3 = 0;
    0x00003804 addiu a2, zero, 0xc0      |         a2 = 0xc0;
    0x00003808 move a1, s3               |         a1 = s3;
    0x0000380c move a0, s0               |         a0 = s0;
    0x00003810 sw s4, 0x28(sp)           |         *(var_28h_3) = s4;
    0x00003814 jalr t9                   |         t9 ();
    0x00003818 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x0000381c bltz v0, 0x386c           |             goto label_26;
                                         |         }
    0x00003820 slti v0, v0, 0x4c         |         v0 = (v0 < 0x4c) ? 1 : 0;
    0x00003824 lw t9, -0x7f14(gp)        |         t9 = sym.imp.recvfrom;
    0x00003828 bnez v0, 0x37f8           |         
                                         |     } while (v0 != 0);
    0x0000382c lw v0, 0x54(sp)           |     v0 = *(var_54h_4);
    0x00003830 addiu v1, sp, 0x118       |     v1 = sp + 0x118;
    0x00003834 andi v0, v0, 0xf          |     v0 &= 0xf;
    0x00003838 sll v0, v0, 2             |     v0 <<= 2;
    0x0000383c addu v0, v1, v0           |     v0 = v1 + v0;
    0x00003840 lbu v0, -0xc4(v0)         |     v0 = *((v0 - 196));
    0x00003844 sw s6, 0x14(sp)           |     *(var_14h_3) = s6;
                                         |     if (v0 == 0) {
    0x00003848 bnel v0, zero, 0x37fc     |         goto label_1;
                                         |     }
    0x0000384c addiu s2, zero, 1         |     s2 = 1;
                                         | label_6:
    0x00003850 lw t9, -0x7e68(gp)        |     t9 = sym.imp.close;
    0x00003854 move a0, s0               |     a0 = s0;
    0x00003858 jalr t9                   |     t9 ();
    0x0000385c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00003860 b 0x3688                  |     goto label_2;
                                         | label_22:
    0x00003864 addiu a2, zero, 1         |     a2 = 1;
    0x00003868 b 0x35ec                  |     goto label_3;
                                         | label_26:
    0x0000386c lw t9, -0x7d24(gp)        |     t9 = sym.imp.__errno_location;
    0x00003870 jalr t9                   |     t9 ();
    0x00003874 nop                       |     
    0x00003878 lw v0, (v0)               |     v0 = *(v0);
    0x0000387c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == s7) {
    0x00003880 beq v0, s7, 0x38ac        |         goto label_27;
                                         |     }
    0x00003884 lw t9, -0x7e68(gp)        |     t9 = sym.imp.close;
                                         |     if (v0 == fp) {
    0x00003888 bnel v0, fp, 0x3660       |         goto label_4;
                                         |     }
    0x0000388c lw t9, -0x7f14(gp)        |     t9 = sym.imp.recvfrom;
    0x00003890 b 0x37f8                  |     goto label_5;
                                         | label_25:
    0x00003894 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003898 lw t9, -0x7fdc(gp)        |     t9 = sym.log_warn;
    0x0000389c addiu a0, a0, -0x7294     |     a0 += -0x7294;
    0x000038a0 bal 0x7498                |     sym_log_warn ();
    0x000038a4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000038a8 b 0x365c                  |     goto label_0;
                                         | label_27:
    0x000038ac move s2, zero             |     s2 = 0;
    0x000038b0 b 0x3850                  |     goto label_6;
                                         | label_24:
    0x000038b4 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000038b8 jalr t9                   |     t9 ();
    0x000038bc nop                       |     
                                         | label_18:
    0x000038c0 lui gp, 2                 |     
    0x000038c4 addiu gp, gp, -0x8a0      |     
    0x000038c8 addu gp, gp, t9           |     gp += t9;
    0x000038cc addiu sp, sp, -0x60       |     
    0x000038d0 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x000038d4 sw s5, 0x54(sp)           |     *(var_54h) = s5;
    0x000038d8 lw s5, -0x7e40(gp)        |     s5 = *((gp - 8080));
    0x000038dc sw s6, 0x58(sp)           |     *(var_58h) = s6;
    0x000038e0 lw s6, -0x7fd4(gp)        |     s6 = *((gp - 8181));
    0x000038e4 lw v0, (s5)               |     v0 = *(s5);
    0x000038e8 lw t9, -0x7d84(gp)        |     t9 = sym.imp.strncpy;
    0x000038ec sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x000038f0 sw s1, 0x44(sp)           |     *(var_44h) = s1;
    0x000038f4 sw ra, 0x5c(sp)           |     *(var_5ch) = ra;
    0x000038f8 sw s4, 0x50(sp)           |     *(var_50h) = s4;
    0x000038fc sw s3, 0x4c(sp)           |     *(var_4ch) = s3;
    0x00003900 sw s2, 0x48(sp)           |     *(var_48h) = s2;
    0x00003904 sw s0, 0x40(sp)           |     *(var_40h) = s0;
    0x00003908 move s1, a0               |     s1 = a0;
    0x0000390c addiu a2, zero, 0x10      |     a2 = 0x10;
    0x00003910 addiu a1, a1, -0x67a4     |     a1 += -0x67a4;
    0x00003914 addiu a0, s6, -0x4850     |     a0 = s6 + -0x4850;
    0x00003918 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x0000391c jalr t9                   |     t9 ();
    0x00003920 nop                       |     
    0x00003924 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s1 == 0) {
    0x00003928 beqz s1, 0x3a60           |         goto label_28;
                                         |     }
    0x0000392c lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x00003930 lw t9, -0x7fcc(gp)        |     t9 = sym.get_interface_address;
    0x00003934 addiu s2, sp, 0x20        |     s2 = sp + 0x20;
    0x00003938 lw a0, -0x4894(v0)        |     a0 = *((v0 - 4645));
    0x0000393c move a1, s2               |     a1 = s2;
    0x00003940 bal 0x7ad8                |     sym_get_interface_address ();
    0x00003944 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003948 beqz v0, 0x3acc           |         goto label_29;
                                         |     }
    0x0000394c addiu s0, sp, 0x2c        |     s0 = sp + 0x2c;
                                         | label_8:
    0x00003950 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.strcmp;
    0x00003954 move a1, s1               |     a1 = s1;
    0x00003958 move a0, s0               |     a0 = s0;
    0x0000395c jalr t9                   |     t9 ();
    0x00003960 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003964 beqz v0, 0x3a60           |         goto label_28;
                                         |     }
    0x00003968 lw s2, -0x7fc8(gp)        |     s2 = *((gp - 8178));
    0x0000396c addiu a1, zero, 0xff      |     a1 = 0xff;
    0x00003970 addiu s2, s2, 0x357c      |     s2 += fcn.0000357c;
    0x00003974 move t9, s2               |     t9 = s2;
    0x00003978 move a0, s1               |     a0 = s1;
    0x0000397c bal 0x357c                |     fcn_0000357c ();
                                         |     goto label_7;
    0x00003980 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 <= 0) {
    0x00003984 blez v0, 0x3af0           |         goto label_30;
                                         |     }
    0x00003988 addiu s0, zero, 1         |     s0 = 1;
    0x0000398c addiu s3, zero, 1         |     s3 = 1;
    0x00003990 addiu s4, zero, 0x100     |     s4 = 0x100;
    0x00003994 b 0x39a4                  |     
                                         |     while (v0 != s3) {
    0x00003998 addiu s0, s0, 1           |         s0++;
    0x0000399c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
                                         |         if (s0 == s4) {
    0x000039a0 beq s0, s4, 0x39c0        |             goto label_31;
                                         |         }
    0x000039a4 move a1, s0               |         a1 = s0;
    0x000039a8 move t9, s2               |         t9 = s2;
    0x000039ac move a0, s1               |         a0 = s1;
    0x000039b0 bal 0x357c                |         fcn_0000357c ();
                                         |         goto label_7;
    0x000039b4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000039b8 bne v0, s3, 0x3998        |         
                                         |     }
    0x000039bc lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         | label_31:
    0x000039c0 lw t9, -0x7edc(gp)        |     t9 = sym.imp.__snprintf_chk
    0x000039c4 addiu s2, sp, 0x24        |     s2 = sp + 0x24;
    0x000039c8 addiu v0, v0, -0x71c8     |     v0 += -0x71c8;
    0x000039cc addiu a3, zero, 5         |     a3 = 5;
    0x000039d0 addiu a2, zero, 1         |     a2 = 1;
    0x000039d4 addiu a1, zero, 5         |     a1 = 5;
    0x000039d8 move a0, s2               |     a0 = s2;
    0x000039dc sw s0, 0x14(sp)           |     *(var_14h_2) = s0;
    0x000039e0 sw v0, 0x10(sp)           |     *(var_10h_3) = v0;
    0x000039e4 jalr t9                   |     t9 ();
    0x000039e8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000039ec move a1, s2               |     a1 = s2;
    0x000039f0 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x000039f4 lw t9, -0x7fc4(gp)        |     t9 = sym.set_parameter;
    0x000039f8 addiu a0, a0, -0x7268     |     a0 += -0x7268;
    0x000039fc bal 0x778c                |     sym_set_parameter ();
    0x00003a00 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003a04 move a1, s1               |     a1 = s1;
    0x00003a08 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003a0c lw t9, -0x7fc4(gp)        |     t9 = sym.set_parameter;
    0x00003a10 addiu a0, a0, -0x7240     |     a0 += -0x7240;
    0x00003a14 bal 0x778c                |     sym_set_parameter ();
    0x00003a18 lw v1, 0x3c(sp)           |     v1 = *(var_3ch);
    0x00003a1c lw v0, (s5)               |     v0 = *(s5);
    0x00003a20 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v1 != v0) {
    0x00003a24 bne v1, v0, 0x3b44        |         goto label_32;
                                         |     }
    0x00003a28 lw ra, 0x5c(sp)           |     ra = *(var_5ch);
    0x00003a2c lw s5, 0x54(sp)           |     s5 = *(var_54h);
    0x00003a30 lw s4, 0x50(sp)           |     s4 = *(var_50h);
    0x00003a34 lw s3, 0x4c(sp)           |     s3 = *(var_4ch);
    0x00003a38 lw s2, 0x48(sp)           |     s2 = *(var_48h);
    0x00003a3c lw s0, 0x40(sp)           |     s0 = *(var_40h);
    0x00003a40 move a1, s1               |     a1 = s1;
    0x00003a44 addiu a0, s6, -0x4850     |     a0 = s6 + -0x4850;
    0x00003a48 lw s1, 0x44(sp)           |     s1 = *(var_44h);
    0x00003a4c lw s6, 0x58(sp)           |     s6 = *(var_58h);
    0x00003a50 lw t9, -0x7d84(gp)        |     t9 = sym.imp.strncpy;
    0x00003a54 addiu a2, zero, 0x10      |     a2 = 0x10;
    0x00003a58 addiu sp, sp, 0x60        |     
    0x00003a5c jr t9                     |     t9 ();
                                         | label_28:
    0x00003a60 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00003a64 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003a68 lw t9, -0x7fc4(gp)        |     t9 = sym.set_parameter;
    0x00003a6c addiu a1, a1, -0x726c     |     a1 += -0x726c;
    0x00003a70 addiu a0, a0, -0x7268     |     a0 += -0x7268;
    0x00003a74 bal 0x778c                |     sym_set_parameter ();
    0x00003a78 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003a7c lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00003a80 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003a84 lw t9, -0x7fc4(gp)        |     t9 = sym.set_parameter;
    0x00003a88 addiu a1, a1, -0x7248     |     a1 += -0x7248;
    0x00003a8c addiu a0, a0, -0x7240     |     a0 += -0x7240;
    0x00003a90 bal 0x778c                |     sym_set_parameter ();
    0x00003a94 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     do {
    0x00003a98 lw v1, 0x3c(sp)           |         v1 = *(var_3ch);
    0x00003a9c lw v0, (s5)               |         v0 = *(s5);
    0x00003aa0 lw ra, 0x5c(sp)           |         ra = *(var_5ch);
                                         |         if (v1 != v0) {
    0x00003aa4 bne v1, v0, 0x3b44        |             goto label_32;
                                         |         }
    0x00003aa8 lw s6, 0x58(sp)           |         s6 = *(var_58h);
    0x00003aac lw s5, 0x54(sp)           |         s5 = *(var_54h);
    0x00003ab0 lw s4, 0x50(sp)           |         s4 = *(var_50h);
    0x00003ab4 lw s3, 0x4c(sp)           |         s3 = *(var_4ch);
    0x00003ab8 lw s2, 0x48(sp)           |         s2 = *(var_48h);
    0x00003abc lw s1, 0x44(sp)           |         s1 = *(var_44h);
    0x00003ac0 lw s0, 0x40(sp)           |         s0 = *(var_40h);
    0x00003ac4 addiu sp, sp, 0x60        |         
    0x00003ac8 jr ra                     |         return v0;
                                         | label_29:
    0x00003acc lw t9, -0x7d30(gp)        |         t9 = sym.imp.inet_ntop;
    0x00003ad0 addiu s0, sp, 0x2c        |         s0 = sp + 0x2c;
    0x00003ad4 addiu a3, zero, 0x10      |         a3 = 0x10;
    0x00003ad8 move a2, s0               |         a2 = s0;
    0x00003adc move a1, s2               |         a1 = s2;
    0x00003ae0 addiu a0, zero, 2         |         a0 = 2;
    0x00003ae4 jalr t9                   |         t9 ();
    0x00003ae8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003aec b 0x3950                  |         goto label_8;
                                         | label_30:
    0x00003af0 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00003af4 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00003af8 lw t9, -0x7fc4(gp)        |         t9 = sym.set_parameter;
    0x00003afc addiu a1, a1, -0x726c     |         a1 += -0x726c;
    0x00003b00 addiu a0, a0, -0x7268     |         a0 += -0x7268;
    0x00003b04 bal 0x778c                |         sym_set_parameter ();
    0x00003b08 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003b0c lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00003b10 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00003b14 lw t9, -0x7fc4(gp)        |         t9 = sym.set_parameter;
    0x00003b18 addiu a1, a1, -0x7248     |         a1 += -0x7248;
    0x00003b1c addiu a0, a0, -0x7240     |         a0 += -0x7240;
    0x00003b20 bal 0x778c                |         sym_set_parameter ();
    0x00003b24 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003b28 move a1, s1               |         a1 = s1;
    0x00003b2c lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00003b30 lw t9, -0x7fc0(gp)        |         t9 = sym.log_info;
    0x00003b34 addiu a0, a0, -0x721c     |         a0 += -0x721c;
    0x00003b38 bal 0x73e4                |         sym_log_info ();
    0x00003b3c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003b40 b 0x3a98                  |         
                                         |     } while (1);
                                         | label_32:
    0x00003b44 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00003b48 jalr t9                   |     t9 ();
    0x00003b4c nop                       |     
    0x00003b50 lui gp, 2                 |     
    0x00003b54 addiu gp, gp, -0xb30      |     
    0x00003b58 addu gp, gp, t9           |     gp += t9;
    0x00003b5c addiu sp, sp, -0x228      |     
    0x00003b60 lw t9, -0x7fbc(gp)        |     t9 = sym.get_parameter;
    0x00003b64 sw s1, 0x204(sp)          |     *(var_204h) = s1;
    0x00003b68 lw s1, -0x7e40(gp)        |     s1 = *((gp - 8080));
    0x00003b6c sw s0, 0x200(sp)          |     *(var_200h) = s0;
    0x00003b70 move s0, a0               |     s0 = a0;
    0x00003b74 lw v0, (s1)               |     v0 = *(s1);
    0x00003b78 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003b7c sw gp, 0x70(sp)           |     *(var_70h) = gp;
    0x00003b80 sw s6, 0x218(sp)          |     *(var_218h) = s6;
    0x00003b84 sw s5, 0x214(sp)          |     *(var_214h) = s5;
    0x00003b88 sw s2, 0x208(sp)          |     *(var_208h) = s2;
    0x00003b8c sw ra, 0x224(sp)          |     *(var_224h) = ra;
    0x00003b90 sw fp, 0x220(sp)          |     *(var_220h) = fp;
    0x00003b94 sw s7, 0x21c(sp)          |     *(var_21ch) = s7;
    0x00003b98 sw s4, 0x210(sp)          |     *(var_210h) = s4;
    0x00003b9c sw s3, 0x20c(sp)          |     *(var_20ch) = s3;
    0x00003ba0 addiu a0, a0, -0x71c4     |     a0 += -0x71c4;
    0x00003ba4 sw v0, 0x1fc(sp)          |     *(var_1fch) = v0;
    0x00003ba8 move s6, a1               |     s6 = a1;
    0x00003bac move s5, a2               |     s5 = a2;
    0x00003bb0 move s2, a3               |     s2 = a3;
    0x00003bb4 bal 0x7690                |     sym_get_parameter ();
    0x00003bb8 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x00003bbc beqz v0, 0x4368           |         goto label_33;
                                         |     }
    0x00003bc0 lbu t9, 0x13(s2)          |     t9 = *((s2 + 19));
    0x00003bc4 lbu t8, 0x12(s2)          |     t8 = *((s2 + 18));
    0x00003bc8 lbu t7, 0x11(s2)          |     t7 = *((s2 + 17));
    0x00003bcc lbu t6, 0x10(s2)          |     t6 = *((s2 + 16));
    0x00003bd0 lbu t5, 0xf(s2)           |     t5 = *((s2 + 15));
    0x00003bd4 lbu t4, 0xe(s2)           |     t4 = *((s2 + 14));
    0x00003bd8 lbu t3, 0xd(s2)           |     t3 = *((s2 + 13));
    0x00003bdc lbu t2, 0xc(s2)           |     t2 = *((s2 + 12));
    0x00003be0 lbu t1, 0xb(s2)           |     t1 = *((s2 + 11));
    0x00003be4 lbu t0, 0xa(s2)           |     t0 = *((s2 + 10));
    0x00003be8 lbu a3, 9(s2)             |     a3 = *((s2 + 9));
    0x00003bec lbu a2, 8(s2)             |     a2 = *((s2 + 8));
    0x00003bf0 lbu a1, 7(s2)             |     a1 = *((s2 + 7));
    0x00003bf4 lbu a0, 6(s2)             |     a0 = *((s2 + 6));
    0x00003bf8 lbu v1, 5(s2)             |     v1 = *((s2 + 5));
    0x00003bfc move s3, v0               |     s3 = v0;
    0x00003c00 lbu v0, 4(s2)             |     v0 = *((s2 + 4));
    0x00003c04 sw t9, 0x68(sp)           |     *(var_68h_2) = t9;
    0x00003c08 sw t8, 0x64(sp)           |     *(var_64h_2) = t8;
    0x00003c0c sw t7, 0x60(sp)           |     *(var_60h_2) = t7;
    0x00003c10 sw t6, 0x5c(sp)           |     *(var_5ch_4) = t6;
    0x00003c14 sw t5, 0x58(sp)           |     *(var_58h_3) = t5;
    0x00003c18 sw t4, 0x54(sp)           |     *(var_54h_3) = t4;
    0x00003c1c sw t3, 0x50(sp)           |     *(var_50h_3) = t3;
    0x00003c20 sw t2, 0x4c(sp)           |     *(var_4ch_3) = t2;
    0x00003c24 sw t1, 0x48(sp)           |     *(var_48h_3) = t1;
    0x00003c28 sw t0, 0x44(sp)           |     *(var_44h_3) = t0;
    0x00003c2c sw a3, 0x40(sp)           |     *(var_40h_3) = a3;
    0x00003c30 sw a2, 0x3c(sp)           |     *(var_3ch_3) = a2;
    0x00003c34 sw a1, 0x38(sp)           |     *(var_38h_2) = a1;
    0x00003c38 sw a0, 0x34(sp)           |     *(var_34h_2) = a0;
    0x00003c3c sw v1, 0x30(sp)           |     *(var_30h_2) = v1;
    0x00003c40 sw s6, 0x6c(sp)           |     *(var_6ch_2) = s6;
    0x00003c44 sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x00003c48 lbu v0, (s2)              |     v0 = *(s2);
    0x00003c4c lbu a1, 3(s2)             |     a1 = *((s2 + 3));
    0x00003c50 lbu a0, 2(s2)             |     a0 = *((s2 + 2));
    0x00003c54 lbu v1, 1(s2)             |     v1 = *((s2 + 1));
    0x00003c58 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x00003c5c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00003c60 lw s4, -0x7fd4(gp)        |     s4 = *((gp - 8181));
    0x00003c64 lw t9, -0x7edc(gp)        |     t9 = sym.imp.__snprintf_chk
    0x00003c68 addiu v0, v0, -0x71a4     |     v0 += -0x71a4;
    0x00003c6c sw a1, 0x28(sp)           |     *(var_28h_2) = a1;
    0x00003c70 sw a0, 0x24(sp)           |     *(var_24h_3) = a0;
    0x00003c74 sw s5, 0x18(sp)           |     *(var_18h_4) = s5;
    0x00003c78 sw v1, 0x20(sp)           |     *(var_20h_2) = v1;
    0x00003c7c sw s3, 0x14(sp)           |     *(var_14h) = s3;
    0x00003c80 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00003c84 addiu a3, zero, 0x400     |     a3 = 0x400;
    0x00003c88 addiu a2, zero, 1         |     a2 = 1;
    0x00003c8c addiu a1, zero, 0x400     |     a1 = 0x400;
    0x00003c90 addiu a0, s4, -0x4ce0     |     a0 = s4 + -0x4ce0;
    0x00003c94 jalr t9                   |     t9 ();
    0x00003c98 move s5, v0               |     s5 = v0;
    0x00003c9c slti v0, v0, 0x400        |     v0 = (v0 < 0x400) ? 1 : 0;
    0x00003ca0 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x00003ca4 beqz v0, 0x3e44           |         goto label_34;
                                         |     }
    0x00003ca8 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
                                         |     if (s5 == 0) {
    0x00003cac beqz s5, 0x3e58           |         goto label_35;
                                         |     }
    0x00003cb0 lw t9, -0x7fc0(gp)        |     t9 = sym.log_info;
    0x00003cb4 move a1, s3               |     a1 = s3;
    0x00003cb8 move a2, s6               |     a2 = s6;
    0x00003cbc addiu a0, a0, -0x7118     |     a0 += -0x7118;
    0x00003cc0 bal 0x73e4                |     sym_log_info ();
    0x00003cc4 lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00003cc8 move a0, s3               |     a0 = s3;
    0x00003ccc addiu s3, sp, 0xa4        |     s3 = sp + 0xa4;
    0x00003cd0 lw t9, -0x7dd4(gp)        |     t9 = sym.imp.free;
    0x00003cd4 addiu fp, sp, 0x124       |     fp = sp + 0x124;
    0x00003cd8 jalr t9                   |     t9 ();
    0x00003cdc lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00003ce0 move v0, s3               |     v0 = s3;
    0x00003ce4 sw zero, (v0)             |     *(v0) = 0;
                                         |     do {
    0x00003ce8 addiu v0, v0, 4           |         v0 += 4;
    0x00003cec sw zero, (v0)             |         *(v0) = 0;
    0x00003cf0 bnel fp, v0, 0x3ce8       |         
                                         |     } while (fp == v0);
    0x00003cf4 lw t9, -0x7f48(gp)        |     t9 = sym.imp.__fdelt_chk;
    0x00003cf8 lui s6, 0x8000            |     s6 = 0x80000000;
    0x00003cfc move a0, s0               |     a0 = s0;
    0x00003d00 addiu s6, s6, 0x1f        |     s6 += 0x1f;
    0x00003d04 jalr t9                   |     t9 ();
    0x00003d08 and a0, s0, s6            |     a0 = s0 & s6;
    0x00003d0c lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (a0 < 0) {
    0x00003d10 bgez a0, 0x3d24           |         
    0x00003d14 addiu a0, a0, -1          |         a0 += -1;
    0x00003d18 addiu a1, zero, -0x20     |         a1 = -0x20;
    0x00003d1c or a0, a0, a1             |         a0 |= a1;
    0x00003d20 addiu a0, a0, 1           |         a0++;
                                         |     }
    0x00003d24 sll v0, v0, 2             |     v0 <<= 2;
    0x00003d28 addiu v1, sp, 0x200       |     v1 = sp + 0x200;
    0x00003d2c addu v0, v1, v0           |     v0 = v1 + v0;
    0x00003d30 addiu s6, zero, 1         |     s6 = 1;
    0x00003d34 lw a1, -0x15c(v0)         |     a1 = *((v0 - 87));
    0x00003d38 sllv s6, s6, a0           |     s6 <<= a0;
    0x00003d3c or a0, a1, s6             |     a0 = a1 | s6;
    0x00003d40 sw a0, -0x15c(v0)         |     *((v0 - 87)) = a0;
    0x00003d44 addiu v0, zero, 0xa       |     v0 = 0xa;
    0x00003d48 sw v0, 0x9c(sp)           |     *(var_9ch) = v0;
    0x00003d4c addiu v0, sp, 0x9c        |     v0 = sp + 0x9c;
    0x00003d50 sw zero, 0xa0(sp)         |     *(var_a0h) = 0;
    0x00003d54 addiu s2, s0, 1           |     s2 = s0 + 1;
    0x00003d58 sw v0, 0x7c(sp)           |     *(var_7ch) = v0;
    0x00003d5c addiu s7, zero, -1        |     s7 = -1;
                                         |     do {
    0x00003d60 lw v0, 0x7c(sp)           |         v0 = *(var_7ch);
    0x00003d64 lw t9, -0x7e60(gp)        |         t9 = sym.imp.select;
    0x00003d68 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00003d6c move a3, zero             |         a3 = 0;
    0x00003d70 move a2, s3               |         a2 = s3;
    0x00003d74 move a1, zero             |         a1 = 0;
    0x00003d78 move a0, s2               |         a0 = s2;
    0x00003d7c jalr t9                   |         t9 ();
    0x00003d80 lw gp, 0x70(sp)           |         gp = *(var_70h);
                                         |         if (v0 != s7) {
    0x00003d84 beq v0, s7, 0x3e20        |             
                                         |             if (v0 != 0) {
    0x00003d88 beql v0, zero, 0x3dd0     |                 
    0x00003d8c addiu s2, zero, 2         |                 s2 = 2;
    0x00003d90 addiu v0, sp, 0x98        |                 v0 = sp + 0x98;
    0x00003d94 lw t9, -0x7ef0(gp)        |                 t9 = sym.imp.getsockopt;
    0x00003d98 sw v0, 0x10(sp)           |                 *(var_10h_2) = v0;
    0x00003d9c addiu v0, zero, 4         |                 v0 = 4;
    0x00003da0 addiu a3, sp, 0x94        |                 a3 = sp + 0x94;
    0x00003da4 addiu a2, zero, 0x1007    |                 a2 = 0x1007;
    0x00003da8 ori a1, zero, 0xffff      |                 a1 = 0xffff;
    0x00003dac move a0, s0               |                 a0 = s0;
    0x00003db0 sw v0, 0x98(sp)           |                 *(var_98h) = v0;
    0x00003db4 jalr t9                   |                 t9 ();
    0x00003db8 lw gp, 0x70(sp)           |                 gp = *(var_70h);
                                         |                 if (v0 < 0) {
    0x00003dbc bltz v0, 0x3e3c           |                     goto label_11;
                                         |                 }
    0x00003dc0 lw v0, 0x94(sp)           |                 v0 = *(var_94h);
    0x00003dc4 lw t9, -0x7ea8(gp)        |                 t9 = sym.imp.send;
                                         |                 if (v0 == 0) {
    0x00003dc8 beqz v0, 0x3e70           |                     goto label_36;
                                         |                 }
                                         | label_15:
    0x00003dcc addiu s2, zero, 2         |                 s2 = 2;
                                         |             }
                                         | label_9:
    0x00003dd0 lw t9, -0x7e68(gp)        |             t9 = sym.imp.close;
    0x00003dd4 move a0, s0               |             a0 = s0;
    0x00003dd8 jalr t9                   |             t9 ();
    0x00003ddc lw gp, 0x70(sp)           |             gp = *(var_70h);
                                         | label_10:
    0x00003de0 lw a0, 0x1fc(sp)          |             a0 = *(var_1fch);
    0x00003de4 lw v1, (s1)               |             v1 = *(s1);
    0x00003de8 move v0, s2               |             v0 = s2;
                                         |             if (a0 != v1) {
    0x00003dec bne a0, v1, 0x43a8        |                 goto label_37;
                                         |             }
    0x00003df0 lw ra, 0x224(sp)          |             ra = *(var_224h);
    0x00003df4 lw fp, 0x220(sp)          |             fp = *(var_220h);
    0x00003df8 lw s7, 0x21c(sp)          |             s7 = *(var_21ch);
    0x00003dfc lw s6, 0x218(sp)          |             s6 = *(var_218h);
    0x00003e00 lw s5, 0x214(sp)          |             s5 = *(var_214h);
    0x00003e04 lw s4, 0x210(sp)          |             s4 = *(var_210h);
    0x00003e08 lw s3, 0x20c(sp)          |             s3 = *(var_20ch);
    0x00003e0c lw s2, 0x208(sp)          |             s2 = *(var_208h);
    0x00003e10 lw s1, 0x204(sp)          |             s1 = *(var_204h);
    0x00003e14 lw s0, 0x200(sp)          |             s0 = *(var_200h);
    0x00003e18 addiu sp, sp, 0x228       |             
    0x00003e1c jr ra                     |             return v0;
                                         |         }
    0x00003e20 lw t9, -0x7d24(gp)        |         t9 = sym.imp.__errno_location;
    0x00003e24 jalr t9                   |         t9 ();
    0x00003e28 nop                       |         
    0x00003e2c lw v0, (v0)               |         v0 = *(v0);
    0x00003e30 addiu v1, zero, 4         |         v1 = 4;
    0x00003e34 lw gp, 0x70(sp)           |         gp = *(var_70h);
    0x00003e38 beq v0, v1, 0x3d60        |         
                                         |     } while (v0 == v1);
                                         |     do {
                                         | label_11:
    0x00003e3c addiu s2, zero, 1         |         s2 = 1;
    0x00003e40 b 0x3dd0                  |         goto label_9;
                                         | label_34:
    0x00003e44 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00003e48 lw t9, -0x7fd0(gp)        |         t9 = sym.log_err;
    0x00003e4c addiu a0, a0, -0x7130     |         a0 += -0x7130;
    0x00003e50 bal 0x754c                |         sym_log_err ();
    0x00003e54 lw gp, 0x70(sp)           |         gp = *(var_70h);
                                         | label_35:
    0x00003e58 lw t9, -0x7dd4(gp)        |         t9 = sym.imp.free;
    0x00003e5c move a0, s3               |         a0 = s3;
    0x00003e60 jalr t9                   |         t9 ();
    0x00003e64 addiu s2, zero, -1        |         s2 = -1;
    0x00003e68 lw gp, 0x70(sp)           |         gp = *(var_70h);
    0x00003e6c b 0x3de0                  |         goto label_10;
                                         | label_36:
    0x00003e70 move a3, zero             |         a3 = 0;
    0x00003e74 move a2, s5               |         a2 = s5;
    0x00003e78 addiu a1, s4, -0x4ce0     |         a1 = s4 + -0x4ce0;
    0x00003e7c move a0, s0               |         a0 = s0;
    0x00003e80 jalr t9                   |         t9 ();
    0x00003e84 lw gp, 0x70(sp)           |         gp = *(var_70h);
    0x00003e88 bltz v0, 0x3e3c           |         
                                         |     } while (v0 < 0);
    0x00003e8c move v0, fp               |     v0 = fp;
    0x00003e90 addiu s5, sp, 0x1a4       |     s5 = sp + 0x1a4;
    0x00003e94 sw zero, (v0)             |     *(v0) = 0;
                                         |     do {
    0x00003e98 addiu v0, v0, 4           |         v0 += 4;
    0x00003e9c sw zero, (v0)             |         *(v0) = 0;
    0x00003ea0 bnel s5, v0, 0x3e98       |         
                                         |     } while (s5 == v0);
    0x00003ea4 lw t9, -0x7f48(gp)        |     t9 = sym.imp.__fdelt_chk;
    0x00003ea8 move a0, s0               |     a0 = s0;
    0x00003eac jalr t9                   |     t9 ();
    0x00003eb0 sll v0, v0, 2             |     v0 <<= 2;
    0x00003eb4 addiu v1, sp, 0x200       |     v1 = sp + 0x200;
    0x00003eb8 addu v0, v1, v0           |     v0 = v1 + v0;
    0x00003ebc lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00003ec0 lw a0, -0xdc(v0)          |     a0 = *((v0 - 55));
    0x00003ec4 sw zero, 0x80(sp)         |     *(var_80h) = 0;
    0x00003ec8 or s6, a0, s6             |     s6 = a0 | s6;
    0x00003ecc sw s6, -0xdc(v0)          |     *((v0 - 55)) = s6;
    0x00003ed0 addiu s7, zero, 0xa       |     s7 = 0xa;
    0x00003ed4 addiu s6, zero, -1        |     s6 = -1;
    0x00003ed8 addiu s3, zero, 4         |     s3 = 4;
    0x00003edc addiu s4, s4, -0x4ce0     |     s4 += -0x4ce0;
                                         | label_17:
    0x00003ee0 lw v0, 0x7c(sp)           |     v0 = *(var_7ch);
                                         | label_12:
    0x00003ee4 lw t9, -0x7e60(gp)        |     t9 = sym.imp.select;
    0x00003ee8 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00003eec move a3, zero             |     a3 = 0;
    0x00003ef0 move a2, zero             |     a2 = 0;
    0x00003ef4 move a1, fp               |     a1 = fp;
    0x00003ef8 move a0, s2               |     a0 = s2;
    0x00003efc sw s7, 0x9c(sp)           |     *(var_9ch) = s7;
    0x00003f00 sw zero, 0xa0(sp)         |     *(var_a0h) = 0;
    0x00003f04 jalr t9                   |     t9 ();
    0x00003f08 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == s6) {
    0x00003f0c beq v0, s6, 0x415c        |         goto label_38;
                                         |     }
    0x00003f10 lw v0, 0x80(sp)           |     v0 = *(var_80h);
                                         |     if (v0 == 0) {
    0x00003f14 beqz v0, 0x414c           |         goto label_39;
                                         |     }
    0x00003f18 lw t9, -0x7db8(gp)        |     t9 = sym.imp.read;
    0x00003f1c addiu v1, zero, 0x400     |     v1 = 0x400;
    0x00003f20 subu a2, v1, v0           |     __asm ("subu a2, v1, v0");
    0x00003f24 addu a1, s4, v0           |     a1 = s4 + v0;
    0x00003f28 move a0, s0               |     a0 = s0;
    0x00003f2c jalr t9                   |     t9 ();
    0x00003f30 lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00003f34 move t1, s4               |     t1 = s4;
                                         |     if (v0 < 0) {
    0x00003f38 bltz v0, 0x3e3c           |         goto label_11;
                                         |     }
    0x00003f3c lw v1, 0x80(sp)           |     v1 = *(var_80h);
    0x00003f40 addu v1, v1, v0           |     v1 += v0;
    0x00003f44 sltiu a0, v1, 0x400       |     a0 = (v1 < 0x400) ? 1 : 0;
    0x00003f48 sw v1, 0x80(sp)           |     *(var_80h) = v1;
                                         |     if (a0 == 0) {
    0x00003f4c beqz a0, 0x3f58           |         goto label_16;
                                         |     }
    0x00003f50 lw v0, 0x7c(sp)           |     v0 = *(var_7ch);
                                         |     if (v0 != 0) {
    0x00003f54 bnez v0, 0x3ee4           |         goto label_12;
                                         |     }
                                         | label_16:
    0x00003f58 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x00003f5c lw v0, 0x80(sp)           |     v0 = *(var_80h);
    0x00003f60 lw s6, -0x7fd8(gp)        |     s6 = *((gp - 8182));
    0x00003f64 addu a3, t1, v0           |     a3 = t1 + v0;
    0x00003f68 addiu v0, v1, -0x70bc     |     v0 = v1 + -0x70bc;
    0x00003f6c lw a2, -0x70bc(v1)        |     a2 = *((v1 - 7215));
    0x00003f70 lw a1, 4(v0)              |     a1 = *((v0 + 1));
    0x00003f74 lw a0, 8(v0)              |     a0 = *((v0 + 2));
    0x00003f78 lhu v1, 0xc(v0)           |     v1 = *((v0 + 6));
    0x00003f7c lbu v0, 0xe(v0)           |     v0 = *((v0 + 14));
    0x00003f80 sb zero, -1(a3)           |     *((a3 - 1)) = 0;
    0x00003f84 sb v0, 0x1ba(sp)          |     *(var_1bah) = v0;
    0x00003f88 addiu v0, zero, -1        |     v0 = -1;
    0x00003f8c sw v0, 0x8c(sp)           |     *(var_8ch) = v0;
    0x00003f90 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00003f94 sw a2, 0x1ac(sp)          |     *(var_1ach) = a2;
    0x00003f98 addiu v0, v0, -0x7104     |     v0 += -0x7104;
    0x00003f9c sw v0, 0x7c(sp)           |     *(var_7ch) = v0;
    0x00003fa0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00003fa4 sw a1, 0x1b0(sp)          |     *(var_1b0h) = a1;
    0x00003fa8 addiu v0, v0, -0x70f0     |     v0 += -0x70f0;
    0x00003fac sw v0, 0x80(sp)           |     *(var_80h) = v0;
    0x00003fb0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00003fb4 sw a0, 0x1b4(sp)          |     *(var_1b4h) = a0;
    0x00003fb8 sw v0, 0x84(sp)           |     *(var_84h) = v0;
    0x00003fbc addiu v0, s6, -0x70e8     |     v0 = s6 + -0x70e8;
    0x00003fc0 sh v1, 0x1b8(sp)          |     *(var_1b8h) = v1;
    0x00003fc4 addiu s2, zero, 1         |     s2 = 1;
    0x00003fc8 move fp, t1               |     fp = t1;
    0x00003fcc addiu s7, sp, 0x1ac       |     s7 = sp + 0x1ac;
    0x00003fd0 sw v0, 0x88(sp)           |     *(var_88h) = v0;
    0x00003fd4 b 0x4030                  |     
                                         |     while (s2 == 0) {
    0x00003fd8 lw t9, -0x7d7c(gp)        |         t9 = sym.imp.strchr;
                                         |         if (fp == s6) {
    0x00003fdc beq fp, s6, 0x41cc        |             goto label_40;
                                         |         }
    0x00003fe0 sb zero, (s6)             |         *(s6) = 0;
    0x00003fe4 addiu a1, zero, 0x3a      |         a1 = 0x3a;
    0x00003fe8 move a0, fp               |         a0 = fp;
    0x00003fec jalr t9                   |         t9 ();
    0x00003ff0 move s2, v0               |         s2 = v0;
    0x00003ff4 lw gp, 0x70(sp)           |         gp = *(var_70h);
                                         |         if (v0 == 0) {
    0x00003ff8 beqz v0, 0x41bc           |             goto label_41;
                                         |         }
    0x00003ffc lw t9, -0x7e58(gp)        |         t9 = sym.imp.strcasecmp;
    0x00004000 move a0, fp               |         a0 = fp;
    0x00004004 sb zero, (v0)             |         *(v0) = 0;
    0x00004008 move a1, s7               |         a1 = s7;
    0x0000400c jalr t9                   |         t9 ();
    0x00004010 addiu a0, zero, 0x3a      |         a0 = 0x3a;
    0x00004014 lw gp, 0x70(sp)           |         gp = *(var_70h);
    0x00004018 sb a0, (s2)               |         *(s2) = a0;
                                         |         if (v0 == 0) {
    0x0000401c beqz v0, 0x40f4           |             goto label_42;
                                         |         }
                                         | label_13:
    0x00004020 addiu v0, zero, 0xd       |         v0 = 0xd;
                                         | label_14:
    0x00004024 sb v0, (s6)               |         *(s6) = v0;
    0x00004028 move s2, zero             |         s2 = 0;
    0x0000402c move fp, s3               |         fp = s3;
    0x00004030 lw t9, -0x7d7c(gp)        |         t9 = sym.imp.strchr;
    0x00004034 addiu a1, zero, 0xd       |         a1 = 0xd;
    0x00004038 move a0, fp               |         a0 = fp;
    0x0000403c jalr t9                   |         t9 ();
    0x00004040 move s6, v0               |         s6 = v0;
    0x00004044 lw gp, 0x70(sp)           |         gp = *(var_70h);
                                         |         if (v0 == 0) {
    0x00004048 beqz v0, 0x417c           |             goto label_43;
                                         |         }
    0x0000404c lb a0, 1(v0)              |         a0 = *((v0 + 1));
    0x00004050 addiu v0, zero, 0xa       |         v0 = 0xa;
                                         |         if (a0 != v0) {
    0x00004054 bne a0, v0, 0x417c        |             goto label_43;
                                         |         }
    0x00004058 nop                       |         
    0x0000405c addiu s3, s6, 2           |         s3 = s6 + 2;
    0x00004060 beqz s2, 0x3fd8           |         
                                         |     }
    0x00004064 lw t9, -0x7d6c(gp)        |     t9 = sym.imp.__isoc99_sscanf;
    0x00004068 addiu v0, sp, 0x1bc       |     v0 = sp + 0x1bc;
    0x0000406c addiu s4, sp, 0x1a8       |     s4 = sp + segment.ABIFLAGS;
    0x00004070 lw a1, 0x7c(sp)           |     a1 = *(var_7ch);
    0x00004074 sb zero, (s6)             |     *(s6) = 0;
    0x00004078 move a3, s4               |     a3 = s4;
    0x0000407c sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004080 move a2, s5               |     a2 = s5;
    0x00004084 move a0, fp               |     a0 = fp;
    0x00004088 jalr t9                   |     t9 ();
    0x0000408c move s2, v0               |     s2 = v0;
    0x00004090 addiu v0, zero, 3         |     v0 = 3;
    0x00004094 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (s2 != v0) {
    0x00004098 bne s2, v0, 0x41bc        |         goto label_41;
                                         |     }
    0x0000409c lw t9, -0x7f1c(gp)        |     t9 = sym.imp.strcmp;
    0x000040a0 lw a1, 0x80(sp)           |     a1 = *(var_80h);
    0x000040a4 move a0, s4               |     a0 = s4;
    0x000040a8 jalr t9                   |     t9 ();
    0x000040ac lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x000040b0 beqz v0, 0x4388           |         goto label_44;
                                         |     }
    0x000040b4 lw v0, 0x84(sp)           |     v0 = *(var_84h);
    0x000040b8 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.strcmp;
    0x000040bc addiu a1, v0, -0x70ec     |     a1 = v0 + -0x70ec;
    0x000040c0 move a0, s4               |     a0 = s4;
    0x000040c4 jalr t9                   |     t9 ();
    0x000040c8 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x000040cc beqz v0, 0x4398           |         goto label_45;
                                         |     }
    0x000040d0 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.strcmp;
    0x000040d4 lw a1, 0x88(sp)           |     a1 = *(var_88h);
    0x000040d8 move a0, s4               |     a0 = s4;
    0x000040dc jalr t9                   |     t9 ();
    0x000040e0 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x000040e4 beqz v0, 0x4020           |         goto label_13;
                                         |     }
    0x000040e8 addiu v0, zero, 0xd       |     v0 = 0xd;
    0x000040ec sb v0, (s6)               |     *(s6) = v0;
    0x000040f0 b 0x3dd0                  |     goto label_9;
                                         | label_42:
    0x000040f4 lw t9, -0x7e04(gp)        |     t9 = sym.imp.__ctype_b_loc;
    0x000040f8 addiu s2, s2, 1           |     s2++;
    0x000040fc jalr t9                   |     t9 ();
    0x00004100 lw a1, (v0)               |     a1 = *(v0);
    0x00004104 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     do {
    0x00004108 lb a0, (s2)               |         a0 = *(s2);
    0x0000410c sll v0, a0, 1             |         v0 = a0 << 1;
    0x00004110 addu v0, a1, v0           |         v0 = a1 + v0;
    0x00004114 lhu v0, (v0)              |         v0 = *(v0);
    0x00004118 andi v0, v0, 0x2000       |         v0 &= 0x2000;
    0x0000411c addiu s2, s2, 1           |         s2++;
    0x00004120 bnel v0, zero, 0x4108     |         
                                         |     } while (v0 == 0);
    0x00004124 addiu v0, zero, 0xd       |     v0 = 0xd;
                                         |     if (a0 == 0) {
    0x00004128 beqz a0, 0x4024           |         goto label_14;
                                         |     }
    0x0000412c lw t9, -0x7dc4(gp)        |     t9 = sym.get_last_state;
    0x00004130 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x00004134 move a1, zero             |     a1 = 0;
    0x00004138 move a0, s2               |     a0 = s2;
    0x0000413c jalr t9                   |     t9 ();
    0x00004140 sw v0, 0x8c(sp)           |     *(var_8ch) = v0;
    0x00004144 lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00004148 b 0x4020                  |     goto label_13;
                                         | label_39:
    0x0000414c lw t1, -0x7fd4(gp)        |     t1 = *((gp - 8181));
                                         |     if (v0 == 0) {
    0x00004150 beqz v0, 0x3dcc           |         goto label_15;
                                         |     }
    0x00004154 addiu t1, t1, -0x4ce0     |     t1 += -0x4ce0;
    0x00004158 b 0x3f58                  |     goto label_16;
                                         | label_38:
    0x0000415c lw t9, -0x7d24(gp)        |     t9 = sym.imp.__errno_location;
    0x00004160 jalr t9                   |     t9 ();
    0x00004164 nop                       |     
    0x00004168 lw v0, (v0)               |     v0 = *(v0);
    0x0000416c lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == s3) {
    0x00004170 beq v0, s3, 0x3ee0        |         goto label_17;
                                         |     }
    0x00004174 addiu s2, zero, 1         |     s2 = 1;
    0x00004178 b 0x3dd0                  |     goto label_9;
                                         | label_43:
    0x0000417c lw v0, 0x8c(sp)           |     v0 = *(var_8ch);
                                         |     if (s2 != 0) {
    0x00004180 bnez s2, 0x41b4           |         goto label_46;
                                         |     }
    0x00004184 addiu v0, zero, 0xd       |     v0 = 0xd;
                                         |     if (v0 > 0) {
    0x00004188 bgtz v0, 0x41b4           |         goto label_46;
                                         |     }
    0x0000418c lb v1, (fp)               |     v1 = *(fp);
    0x00004190 addiu s2, zero, 3         |     s2 = 3;
                                         |     if (v1 == v0) {
    0x00004194 bnel v1, v0, 0x3dd0       |         goto label_9;
                                         |     }
    0x00004198 lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
                                         |     do {
                                         | label_19:
    0x0000419c addiu t9, t9, 0x38c0      |         t9 += 0x38c0;
    0x000041a0 move a0, zero             |         a0 = 0;
    0x000041a4 bal 0x38c0                |         fcn_38c0 ();
                                         |         goto label_18;
    0x000041a8 move s2, zero             |         s2 = 0;
    0x000041ac lw gp, 0x70(sp)           |         gp = *(var_70h);
    0x000041b0 b 0x3dd0                  |         goto label_9;
                                         | label_46:
    0x000041b4 addiu s2, zero, 3         |         s2 = 3;
    0x000041b8 b 0x3dd0                  |         goto label_9;
                                         | label_41:
    0x000041bc addiu v0, zero, 0xd       |         v0 = 0xd;
    0x000041c0 sb v0, (s6)               |         *(s6) = v0;
    0x000041c4 addiu s2, zero, 3         |         s2 = 3;
    0x000041c8 b 0x3dd0                  |         goto label_9;
                                         | label_40:
    0x000041cc lw v0, 0x8c(sp)           |         v0 = *(var_8ch);
    0x000041d0 lw t9, -0x7fc8(gp)        |         t9 = *((gp - 8178));
    0x000041d4 blez v0, 0x419c           |         
                                         |     } while (v0 <= 0);
    0x000041d8 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
                                         |     if (s3 == 0) {
    0x000041dc beqz s3, 0x419c           |         goto label_19;
                                         |     }
    0x000041e0 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.strncmp;
    0x000041e4 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x000041e8 addiu a1, a1, -0x70e4     |     a1 += -0x70e4;
    0x000041ec move a0, s3               |     a0 = s3;
    0x000041f0 jalr t9                   |     t9 ();
    0x000041f4 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 != 0) {
    0x000041f8 bnez v0, 0x4350           |         goto label_47;
                                         |     }
    0x000041fc lw t9, -0x7d7c(gp)        |     t9 = sym.imp.strchr;
    0x00004200 addiu s4, fp, 0xc         |     s4 = fp + 0xc;
    0x00004204 addiu a1, zero, 0xd       |     a1 = 0xd;
    0x00004208 move a0, s4               |     a0 = s4;
    0x0000420c jalr t9                   |     t9 ();
    0x00004210 move s5, v0               |     s5 = v0;
    0x00004214 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x00004218 beqz v0, 0x4370           |         goto label_48;
                                         |     }
    0x0000421c lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
    0x00004220 sb zero, (v0)             |     *(v0) = 0;
    0x00004224 addiu t9, t9, 0x38c0      |     t9 += 0x38c0;
    0x00004228 move a0, s4               |     a0 = s4;
    0x0000422c bal 0x38c0                |     fcn_38c0 ();
                                         |     goto label_18;
    0x00004230 addiu v0, zero, 0xd       |     v0 = 0xd;
    0x00004234 lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00004238 sb v0, (s5)               |     *(s5) = v0;
                                         | label_21:
    0x0000423c lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00004240 lw t9, -0x7e78(gp)        |     t9 = sym.imp.strstr;
    0x00004244 move a0, s3               |     a0 = s3;
    0x00004248 addiu a1, a1, -0x70d8     |     a1 += -0x70d8;
    0x0000424c jalr t9                   |     t9 ();
    0x00004250 move s3, v0               |     s3 = v0;
    0x00004254 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x00004258 beqz v0, 0x3dd0           |         goto label_9;
                                         |     }
    0x0000425c addiu s6, v0, 0xa         |     s6 = v0 + 0xa;
    0x00004260 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
                                         |     if (s6 == 0) {
    0x00004264 beqz s6, 0x3dd0           |         goto label_9;
                                         |     }
    0x00004268 lw t9, -0x7e04(gp)        |     t9 = sym.imp.__ctype_b_loc;
    0x0000426c sw v0, 0x7c(sp)           |     *(var_7ch) = v0;
    0x00004270 jalr t9                   |     t9 ();
    0x00004274 lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00004278 move s5, v0               |     s5 = v0;
    0x0000427c lb v0, 0xa(s3)            |     v0 = *((s3 + 10));
    0x00004280 lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
    0x00004284 addiu s3, s3, -0x70cc     |     s3 += -0x70cc;
                                         | label_20:
    0x00004288 lw a0, (s5)               |     a0 = *(s5);
    0x0000428c b 0x4294                  |     
                                         |     while (v0 == 0) {
    0x00004290 lb v0, (s6)               |         v0 = *(s6);
    0x00004294 sll v0, v0, 1             |         v0 <<= 1;
    0x00004298 addu v0, a0, v0           |         v0 = a0 + v0;
    0x0000429c lhu v0, (v0)              |         v0 = *(v0);
    0x000042a0 andi v0, v0, 0x2000       |         v0 &= 0x2000;
    0x000042a4 addiu s6, s6, 1           |         s6++;
    0x000042a8 bnel v0, zero, 0x4290     |         
                                         |     }
    0x000042ac lw t9, -0x7d7c(gp)        |     t9 = sym.imp.strchr;
    0x000042b0 addiu a1, zero, 0x3d      |     a1 = 0x3d;
    0x000042b4 move a0, s6               |     a0 = s6;
    0x000042b8 jalr t9                   |     t9 ();
    0x000042bc move s4, v0               |     s4 = v0;
    0x000042c0 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 == 0) {
    0x000042c4 beqz v0, 0x3dd0           |         goto label_9;
                                         |     }
    0x000042c8 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.strchr;
    0x000042cc addiu fp, v0, 1           |     fp = v0 + 1;
    0x000042d0 sb zero, (v0)             |     *(v0) = 0;
    0x000042d4 addiu a1, zero, 0xd       |     a1 = 0xd;
    0x000042d8 move a0, fp               |     a0 = fp;
    0x000042dc jalr t9                   |     t9 ();
    0x000042e0 move s7, v0               |     s7 = v0;
    0x000042e4 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 != 0) {
    0x000042e8 beqz v0, 0x42f0           |         
    0x000042ec sb zero, (v0)             |         *(v0) = 0;
                                         |     }
    0x000042f0 lw t9, -0x7e9c(gp)        |     t9 = sym.imp.strncasecmp;
    0x000042f4 addiu a2, zero, 0xe       |     a2 = 0xe;
    0x000042f8 move a1, s3               |     a1 = s3;
    0x000042fc move a0, s6               |     a0 = s6;
    0x00004300 jalr t9                   |     t9 ();
    0x00004304 lw gp, 0x70(sp)           |     gp = *(var_70h);
                                         |     if (v0 != 0) {
    0x00004308 beqz v0, 0x431c           |         
    0x0000430c lw v0, 0x7c(sp)           |         v0 = *(var_7ch);
    0x00004310 lw v0, -0x4830(v0)        |         v0 = *((v0 - 4620));
    0x00004314 addiu v0, zero, 0x3d      |         v0 = 0x3d;
                                         |         if (v0 == 0) {
    0x00004318 beqz v0, 0x4334           |             goto label_49;
                                         |         }
                                         |     }
    0x0000431c lw t9, -0x7fc4(gp)        |     t9 = sym.set_parameter;
    0x00004320 move a1, fp               |     a1 = fp;
    0x00004324 move a0, s6               |     a0 = s6;
    0x00004328 bal 0x778c                |     sym_set_parameter ();
    0x0000432c lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00004330 addiu v0, zero, 0x3d      |     v0 = 0x3d;
                                         | label_49:
    0x00004334 sb v0, (s4)               |     *(s4) = v0;
                                         |     if (s7 == 0) {
    0x00004338 beqz s7, 0x3dd0           |         goto label_9;
                                         |     }
    0x0000433c addiu v0, zero, 0xd       |     v0 = 0xd;
    0x00004340 sb v0, (s7)               |     *(s7) = v0;
    0x00004344 move s6, s7               |     s6 = s7;
    0x00004348 addiu v0, zero, 0xd       |     v0 = 0xd;
    0x0000434c b 0x4288                  |     goto label_20;
                                         | label_47:
    0x00004350 lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
    0x00004354 addiu t9, t9, 0x38c0      |     t9 += 0x38c0;
    0x00004358 move a0, zero             |     a0 = 0;
    0x0000435c bal 0x38c0                |     fcn_38c0 ();
                                         |     goto label_18;
    0x00004360 lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00004364 b 0x423c                  |     goto label_21;
                                         | label_33:
    0x00004368 addiu s2, zero, -1        |     s2 = -1;
    0x0000436c b 0x3de0                  |     goto label_10;
                                         | label_48:
    0x00004370 lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
    0x00004374 addiu t9, t9, 0x38c0      |     t9 += 0x38c0;
    0x00004378 move a0, s4               |     a0 = s4;
    0x0000437c bal 0x38c0                |     fcn_38c0 ();
                                         |     goto label_18;
    0x00004380 lw gp, 0x70(sp)           |     gp = *(var_70h);
    0x00004384 b 0x423c                  |     goto label_21;
                                         | label_44:
    0x00004388 addiu v0, zero, 0xd       |     v0 = 0xd;
    0x0000438c sb v0, (s6)               |     *(s6) = v0;
    0x00004390 addiu s2, zero, 4         |     s2 = 4;
    0x00004394 b 0x3dd0                  |     goto label_9;
                                         | label_45:
    0x00004398 addiu v0, zero, 0xd       |     v0 = 0xd;
    0x0000439c sb v0, (s6)               |     *(s6) = v0;
    0x000043a0 addiu s2, zero, 5         |     s2 = 5;
    0x000043a4 b 0x3dd0                  |     goto label_9;
                                         | label_37:
    0x000043a8 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000043ac jalr t9                   |     t9 ();
    0x000043b0 nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/axisns @ 0x46dc */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000046dc ()              | void fcn_000046dc () {
    0x000046dc lui gp, 2                 |     
    0x000046e0 addiu gp, gp, -0x16bc     |     
    0x000046e4 addu gp, gp, t9           |     gp += t9;
    0x000046e8 addiu sp, sp, -0x3e0      |     
    0x000046ec lw t9, -0x7fcc(gp)        |     t9 = sym.get_interface_address;
    0x000046f0 sw s6, 0x3d0(sp)          |     *(var_3d0h) = s6;
    0x000046f4 lw s6, -0x7e40(gp)        |     s6 = *((gp - 8080));
    0x000046f8 sw s0, 0x3b8(sp)          |     *(var_3b8h) = s0;
    0x000046fc lw s0, -0x7fd4(gp)        |     s0 = *((gp - 8181));
    0x00004700 lw v0, (s6)               |     v0 = *(s6);
    0x00004704 sw s3, 0x3c4(sp)          |     *(var_3c4h) = s3;
    0x00004708 sw s1, 0x3bc(sp)          |     *(var_3bch) = s1;
    0x0000470c addiu s3, sp, 0x5c        |     s3 = sp + 0x5c;
    0x00004710 move s1, a0               |     s1 = a0;
    0x00004714 lw a0, -0x4894(s0)        |     a0 = *((s0 - 4645));
    0x00004718 sw gp, 0x38(sp)           |     *(var_38h) = gp;
    0x0000471c sw fp, 0x3d8(sp)          |     *(var_3d8h) = fp;
    0x00004720 sw s2, 0x3c0(sp)          |     *(var_3c0h) = s2;
    0x00004724 sw ra, 0x3dc(sp)          |     *(var_3dch) = ra;
    0x00004728 sw s7, 0x3d4(sp)          |     *(var_3d4h) = s7;
    0x0000472c sw s5, 0x3cc(sp)          |     *(var_3cch) = s5;
    0x00004730 sw s4, 0x3c8(sp)          |     *(var_3c8h) = s4;
    0x00004734 move fp, a1               |     fp = a1;
    0x00004738 sw a3, 0x3ec(sp)          |     *(arg_3ech) = a3;
    0x0000473c move a1, s3               |     a1 = s3;
    0x00004740 sw v0, 0x3b4(sp)          |     *(var_3b4h) = v0;
    0x00004744 move s2, a2               |     s2 = a2;
    0x00004748 bal 0x7ad8                |     sym_get_interface_address ();
    0x0000474c lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 < 0) {
    0x00004750 bltz v0, 0x5058           |         goto label_13;
                                         |     }
    0x00004754 lw t9, -0x7fb8(gp)        |     t9 = sym.bdi_get_prod_and_ver;
    0x00004758 addiu v0, sp, 0x64        |     v0 = sp + 0x64;
    0x0000475c sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00004760 move a0, v0               |     a0 = v0;
    0x00004764 bal 0x602c                |     sym_bdi_get_prod_and_ver ();
    0x00004768 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 == 0) {
    0x0000476c beqz v0, 0x4c60           |         goto label_14;
                                         |     }
                                         | label_1:
    0x00004770 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
                                         |     if (s1 == 0) {
    0x00004774 beqz s1, 0x4a1c           |         goto label_15;
                                         |     }
                                         | label_5:
    0x00004778 lw t9, -0x7fb4(gp)        |     t9 = sym.get_serial_number;
                                         | label_4:
    0x0000477c addiu s4, sp, 0x180       |     s4 = sp + 0x180;
    0x00004780 move a0, s4               |     a0 = s4;
    0x00004784 bal 0x7a94                |     sym_get_serial_number ();
    0x00004788 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 < 0) {
    0x0000478c bltz v0, 0x5078           |         goto label_16;
                                         |     }
    0x00004790 lw t9, -0x7fb0(gp)        |     t9 = sym.get_shared_secret;
    0x00004794 addiu s7, sp, 0x174       |     s7 = sp + segment.INTERP;
    0x00004798 move a0, s7               |     a0 = s7;
    0x0000479c bal 0x7c70                |     sym_get_shared_secret ();
    0x000047a0 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 < 0) {
    0x000047a4 bltz v0, 0x5094           |         goto label_17;
                                         |     }
    0x000047a8 lw t9, -0x7fac(gp)        |     t9 = sym.get_httpd_port;
    0x000047ac addiu a0, sp, 0x5a        |     a0 = sp + 0x5a;
    0x000047b0 bal 0x7998                |     sym_get_httpd_port ();
    0x000047b4 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 < 0) {
    0x000047b8 bltz v0, 0x50b0           |         goto label_18;
                                         |     }
    0x000047bc lw s1, -0x7fd4(gp)        |     s1 = *((gp - 8181));
    0x000047c0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000047c4 lw t0, -0x7fd8(gp)        |     t0 = *((gp - 8182));
    0x000047c8 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x000047cc lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x000047d0 lw a3, -0x7fd8(gp)        |     a3 = *((gp - 8182));
    0x000047d4 lw t9, -0x7fa8(gp)        |     t9 = sym.dbus_client_get_property_and_unpack;
    0x000047d8 addiu v0, v0, -0x6ee4     |     v0 += -0x6ee4;
    0x000047dc addiu s0, s1, -0x4868     |     s0 = s1 + -0x4868;
    0x000047e0 addiu a2, t0, -0x6f20     |     a2 = t0 + -0x6f20;
    0x000047e4 sw t0, 0x44(sp)           |     *(var_44h) = t0;
    0x000047e8 addiu a1, v1, -0x6f04     |     a1 = v1 + -0x6f04;
    0x000047ec sw v1, 0x40(sp)           |     *(var_40h_2) = v1;
    0x000047f0 sw s0, 0x14(sp)           |     *(var_14h) = s0;
    0x000047f4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000047f8 addiu a3, a3, -0x6f28     |     a3 += -0x6f28;
    0x000047fc addiu a0, s5, -0x6ef4     |     a0 = s5 + -0x6ef4;
    0x00004800 sw zero, 0x60(sp)         |     *(var_60h) = 0;
    0x00004804 sw zero, -0x4868(s1)      |     *((s1 - 4634)) = 0;
    0x00004808 bal 0x7154                |     sym_dbus_client_get_property_and_unpack ();
    0x0000480c lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004810 lw v1, 0x40(sp)           |     v1 = *(var_40h_2);
    0x00004814 lw t0, 0x44(sp)           |     t0 = *(var_44h);
                                         |     if (v0 == 0) {
    0x00004818 beqz v0, 0x4c78           |         goto label_19;
                                         |     }
    0x0000481c lw v0, -0x4868(s1)        |     v0 = *((s1 - 4634));
    0x00004820 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
                                         |     if (v0 != 0) {
    0x00004824 bnez v0, 0x4c8c           |         goto label_20;
                                         |     }
    0x00004828 sb zero, 8(s0)            |     *((s0 + 8)) = 0;
    0x0000482c sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00004830 addiu v0, sp, 0x60        |     v0 = sp + 0x60;
    0x00004834 sw v0, 0x40(sp)           |     *(var_40h_2) = v0;
                                         | label_12:
    0x00004838 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x0000483c lw t9, -0x7fbc(gp)        |     t9 = sym.get_parameter;
    0x00004840 addiu a0, a0, -0x6e78     |     a0 += -0x6e78;
    0x00004844 bal 0x7690                |     sym_get_parameter ();
    0x00004848 sw v0, 0x60(sp)           |     *(var_60h) = v0;
    0x0000484c lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 != 0) {
    0x00004850 beqz v0, 0x4884           |         
    0x00004854 lw t9, -0x7dc4(gp)        |         t9 = sym.get_last_state;
    0x00004858 move a0, v0               |         a0 = v0;
    0x0000485c addiu a2, zero, 0xa       |         a2 = 0xa;
    0x00004860 move a1, zero             |         a1 = 0;
    0x00004864 jalr t9                   |         t9 ();
    0x00004868 addiu v1, v0, -1          |         v1 = v0 + -1;
    0x0000486c ori a0, zero, 0xffff      |         a0 = 0xffff;
    0x00004870 sltu v1, v1, a0           |         v1 = (v1 < a0) ? 1 : 0;
    0x00004874 lw gp, 0x38(sp)           |         gp = *(var_38h);
                                         |         if (v1 != 0) {
    0x00004878 bnez v1, 0x4d30           |             goto label_21;
                                         |         }
    0x0000487c lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
                                         |         if (v0 != 0) {
    0x00004880 bnez v0, 0x4fd4           |             goto label_22;
                                         |         }
                                         |     }
                                         | label_2:
    0x00004884 sw zero, -0x4868(s1)      |     *((s1 - 4634)) = 0;
    0x00004888 sw zero, 4(s0)            |     *((s0 + 1)) = 0;
    0x0000488c sb zero, 8(s0)            |     *((s0 + 8)) = 0;
                                         | label_7:
    0x00004890 lw t9, -0x7d30(gp)        |     t9 = sym.imp.inet_ntop;
    0x00004894 addiu s5, sp, 0x190       |     s5 = sp + 0x190;
    0x00004898 addiu a3, zero, 0x10      |     a3 = 0x10;
    0x0000489c move a2, s5               |     a2 = s5;
    0x000048a0 move a1, s3               |     a1 = s3;
    0x000048a4 addiu a0, zero, 2         |     a0 = 2;
    0x000048a8 jalr t9                   |     t9 ();
    0x000048ac lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (fp == 0) {
    0x000048b0 beqz fp, 0x4aa8           |         goto label_23;
                                         |     }
    0x000048b4 lhu v0, 0x5a(sp)          |     v0 = *(var_5ah);
    0x000048b8 lw t0, 4(s0)              |     t0 = *((s0 + 1));
    0x000048bc sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x000048c0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000048c4 lw v1, 0x44(sp)           |     v1 = *(var_44h);
    0x000048c8 addiu v0, v0, -0x6fa0     |     v0 += -0x6fa0;
    0x000048cc sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x000048d0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000048d4 addiu t1, sp, 0xb9        |     t1 = sp + 0xb9;
    0x000048d8 addiu v0, v0, -0x6c14     |     v0 += -0x6c14;
    0x000048dc sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000048e0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000048e4 addiu v1, v1, -0x4860     |     v1 += -0x4860;
    0x000048e8 lw t9, -0x7edc(gp)        |     t9 = sym.imp.__snprintf_chk
    0x000048ec addiu s3, sp, 0x1b4       |     s3 = sp + aav.0x000001b4;
    0x000048f0 sw t1, 0x34(sp)           |     *(var_34h) = t1;
    0x000048f4 addiu v0, v0, -0x6c0c     |     v0 += -0x6c0c;
    0x000048f8 addiu t1, sp, 0x68        |     t1 = sp + 0x68;
    0x000048fc addiu a3, zero, 0x200     |     a3 = 0x200;
    0x00004900 sw t1, 0x30(sp)           |     *(var_30h) = t1;
    0x00004904 sw t0, 0x2c(sp)           |     *(var_2ch) = t0;
    0x00004908 sw v1, 0x28(sp)           |     *(var_28h) = v1;
    0x0000490c sw v1, 0x50(sp)           |     *(var_50h) = v1;
    0x00004910 addiu a2, zero, 1         |     a2 = 1;
    0x00004914 addiu a1, zero, 0x200     |     a1 = 0x200;
    0x00004918 move a0, s3               |     a0 = s3;
    0x0000491c sw s5, 0x20(sp)           |     *(var_20h_2) = s5;
    0x00004920 sw s4, 0x1c(sp)           |     *(var_1ch) = s4;
    0x00004924 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00004928 jalr t9                   |     t9 ();
    0x0000492c lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004930 move a1, s7               |     a1 = s7;
    0x00004934 move s7, v0               |     s7 = v0;
    0x00004938 lw t9, -0x7ef4(gp)        |     t9 = sym.imp.g_hmac_new;
    0x0000493c addiu v0, zero, 0x14      |     v0 = 0x14;
    0x00004940 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x00004944 addiu a0, zero, 1         |     a0 = 1;
    0x00004948 sw v0, 0x60(sp)           |     *(var_60h) = v0;
    0x0000494c jalr t9                   |     t9 ();
    0x00004950 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004954 move a2, s7               |     a2 = s7;
    0x00004958 move a0, v0               |     a0 = v0;
    0x0000495c lw t9, -0x7de4(gp)        |     t9 = sym.imp.g_hmac_update;
    0x00004960 move a1, s3               |     a1 = s3;
    0x00004964 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00004968 jalr t9                   |     t9 ();
    0x0000496c lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004970 lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
    0x00004974 lw a2, 0x40(sp)           |     a2 = *(var_40h_2);
    0x00004978 lw t9, -0x7f00(gp)        |     t9 = sym.imp.g_hmac_get_digest;
    0x0000497c addiu s7, sp, 0x1a0       |     s7 = sp + 0x1a0;
    0x00004980 move a1, s7               |     a1 = s7;
    0x00004984 move a0, v0               |     a0 = v0;
    0x00004988 sw v0, 0x40(sp)           |     *(var_40h_2) = v0;
    0x0000498c jalr t9                   |     t9 ();
    0x00004990 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004994 lw v0, 0x40(sp)           |     v0 = *(var_40h_2);
    0x00004998 lw t9, -0x7ec8(gp)        |     t9 = sym.imp.g_hmac_unref;
    0x0000499c move a0, v0               |     a0 = v0;
    0x000049a0 jalr t9                   |     t9 ();
    0x000049a4 lbu a1, 8(s0)             |     a1 = *((s0 + 8));
    0x000049a8 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x000049ac lhu a0, 0x5a(sp)          |     a0 = *(var_5ah);
    0x000049b0 lw v0, 4(s0)              |     v0 = *((s0 + 1));
                                         |     if (a1 != 0) {
    0x000049b4 bnez a1, 0x4f3c           |         goto label_24;
                                         |     }
                                         |     if (v0 <= 0) {
                                         |         do {
    0x000049b8 blez v0, 0x4f4c           |             goto label_25;
                                         |         }
    0x000049bc nop                       |         
    0x000049c0 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
                                         |         if (fp != 0) {
    0x000049c4 bnez fp, 0x4f14           |             goto label_26;
                                         |         }
    0x000049c8 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x000049cc addiu a1, a1, -0x706c     |         a1 += -0x706c;
                                         | label_8:
    0x000049d0 sw a0, 0x10(sp)           |         *(var_10h) = a0;
    0x000049d4 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x000049d8 lw t9, -0x7fc0(gp)        |         t9 = sym.log_info;
    0x000049dc sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000049e0 move a3, s5               |         a3 = s5;
    0x000049e4 move a2, s4               |         a2 = s4;
    0x000049e8 addiu a0, a0, -0x6de8     |         a0 += -0x6de8;
    0x000049ec bal 0x73e4                |         sym_log_info ();
    0x000049f0 lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
    0x000049f4 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x000049f8 sw v0, 0x50(sp)           |         *(var_50h) = v0;
                                         |         if (s2 == 0) {
    0x000049fc beqz s2, 0x4bf0           |             goto label_27;
                                         |         }
                                         | label_0:
    0x00004a00 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00004a04 lw t9, -0x7fc8(gp)        |         t9 = *((gp - 8178));
    0x00004a08 addiu t9, t9, 0x32f8      |         t9 += fcn.000032f8;
    0x00004a0c addiu a0, a0, -0x7418     |         a0 += -0x7418;
    0x00004a10 bal 0x32f8                |         fcn_000032f8 ();
    0x00004a14 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004a18 b 0x4bf0                  |         goto label_27;
                                         | label_15:
    0x00004a1c lw t9, -0x7fbc(gp)        |         t9 = sym.get_parameter;
    0x00004a20 addiu a0, a0, -0x6fbc     |         a0 += -0x6fbc;
    0x00004a24 lw s1, 0x5c(sp)           |         s1 = *(var_5ch);
    0x00004a28 bal 0x7690                |         sym_get_parameter ();
    0x00004a2c move s0, v0               |         s0 = v0;
    0x00004a30 lw gp, 0x38(sp)           |         gp = *(var_38h);
                                         |         if (v0 != 0) {
    0x00004a34 beqz v0, 0x4a68           |             
    0x00004a38 lw a1, -0x7fd8(gp)        |             a1 = *((gp - 8182));
    0x00004a3c lw t9, -0x7f1c(gp)        |             t9 = sym.imp.strcmp;
    0x00004a40 addiu a1, a1, -0x6fa0     |             a1 += -0x6fa0;
    0x00004a44 move a0, v0               |             a0 = v0;
    0x00004a48 jalr t9                   |             t9 ();
    0x00004a4c lw gp, 0x38(sp)           |             gp = *(var_38h);
    0x00004a50 move s4, v0               |             s4 = v0;
    0x00004a54 lw t9, -0x7dd4(gp)        |             t9 = sym.imp.free;
    0x00004a58 move a0, s0               |             a0 = s0;
    0x00004a5c jalr t9                   |             t9 ();
    0x00004a60 lw gp, 0x38(sp)           |             gp = *(var_38h);
                                         |             if (s4 == 0) {
    0x00004a64 beqz s4, 0x4cd4           |                 goto label_28;
                                         |             }
                                         |         }
                                         | label_3:
    0x00004a68 move v0, zero             |         v0 = 0;
                                         | label_6:
    0x00004a6c lw a0, 0x3b4(sp)          |         a0 = *(var_3b4h);
    0x00004a70 lw v1, (s6)               |         v1 = *(s6);
    0x00004a74 lw ra, 0x3dc(sp)          |         ra = *(var_3dch);
                                         |         if (a0 != v1) {
    0x00004a78 bne a0, v1, 0x50ec        |             goto label_29;
                                         |         }
    0x00004a7c lw fp, 0x3d8(sp)          |         fp = *(var_3d8h);
    0x00004a80 lw s7, 0x3d4(sp)          |         s7 = *(var_3d4h);
    0x00004a84 lw s6, 0x3d0(sp)          |         s6 = *(var_3d0h);
    0x00004a88 lw s5, 0x3cc(sp)          |         s5 = *(var_3cch);
    0x00004a8c lw s4, 0x3c8(sp)          |         s4 = *(var_3c8h);
    0x00004a90 lw s3, 0x3c4(sp)          |         s3 = *(var_3c4h);
    0x00004a94 lw s2, 0x3c0(sp)          |         s2 = *(var_3c0h);
    0x00004a98 lw s1, 0x3bc(sp)          |         s1 = *(var_3bch);
    0x00004a9c lw s0, 0x3b8(sp)          |         s0 = *(var_3b8h);
    0x00004aa0 addiu sp, sp, 0x3e0       |         
    0x00004aa4 jr ra                     |         return v0;
                                         | label_23:
    0x00004aa8 lhu v0, 0x5a(sp)          |         v0 = *(var_5ah);
    0x00004aac lw t0, 4(s0)              |         t0 = *((s0 + 1));
    0x00004ab0 sw v0, 0x24(sp)           |         *(var_24h) = v0;
    0x00004ab4 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00004ab8 lw v1, 0x44(sp)           |         v1 = *(var_44h);
    0x00004abc addiu v0, v0, -0x6c18     |         v0 += -0x6c18;
    0x00004ac0 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00004ac4 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00004ac8 addiu t1, sp, 0xb9        |         t1 = sp + 0xb9;
    0x00004acc addiu v0, v0, -0x6c14     |         v0 += -0x6c14;
    0x00004ad0 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00004ad4 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00004ad8 addiu v1, v1, -0x4860     |         v1 += -0x4860;
    0x00004adc lw t9, -0x7edc(gp)        |         t9 = sym.imp.__snprintf_chk
    0x00004ae0 addiu s3, sp, 0x1b4       |         s3 = sp + aav.0x000001b4;
    0x00004ae4 sw t1, 0x34(sp)           |         *(var_34h) = t1;
    0x00004ae8 addiu v0, v0, -0x6c0c     |         v0 += -0x6c0c;
    0x00004aec addiu t1, sp, 0x68        |         t1 = sp + 0x68;
    0x00004af0 addiu a3, zero, 0x200     |         a3 = 0x200;
    0x00004af4 sw t1, 0x30(sp)           |         *(var_30h) = t1;
    0x00004af8 sw t0, 0x2c(sp)           |         *(var_2ch) = t0;
    0x00004afc sw v1, 0x28(sp)           |         *(var_28h) = v1;
    0x00004b00 sw v1, 0x50(sp)           |         *(var_50h) = v1;
    0x00004b04 addiu a2, zero, 1         |         a2 = 1;
    0x00004b08 addiu a1, zero, 0x200     |         a1 = 0x200;
    0x00004b0c move a0, s3               |         a0 = s3;
    0x00004b10 sw s5, 0x20(sp)           |         *(var_20h_2) = s5;
    0x00004b14 sw s4, 0x1c(sp)           |         *(var_1ch) = s4;
    0x00004b18 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00004b1c jalr t9                   |         t9 ();
    0x00004b20 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004b24 move a1, s7               |         a1 = s7;
    0x00004b28 move s7, v0               |         s7 = v0;
    0x00004b2c lw t9, -0x7ef4(gp)        |         t9 = sym.imp.g_hmac_new;
    0x00004b30 addiu v0, zero, 0x14      |         v0 = 0x14;
    0x00004b34 addiu a2, zero, 0xa       |         a2 = 0xa;
    0x00004b38 addiu a0, zero, 1         |         a0 = 1;
    0x00004b3c sw v0, 0x60(sp)           |         *(var_60h) = v0;
    0x00004b40 jalr t9                   |         t9 ();
    0x00004b44 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004b48 move a2, s7               |         a2 = s7;
    0x00004b4c move a0, v0               |         a0 = v0;
    0x00004b50 lw t9, -0x7de4(gp)        |         t9 = sym.imp.g_hmac_update;
    0x00004b54 move a1, s3               |         a1 = s3;
    0x00004b58 sw v0, 0x4c(sp)           |         *(var_4ch) = v0;
    0x00004b5c jalr t9                   |         t9 ();
    0x00004b60 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004b64 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
    0x00004b68 lw a2, 0x40(sp)           |         a2 = *(var_40h_2);
    0x00004b6c lw t9, -0x7f00(gp)        |         t9 = sym.imp.g_hmac_get_digest;
    0x00004b70 addiu s7, sp, 0x1a0       |         s7 = sp + 0x1a0;
    0x00004b74 move a1, s7               |         a1 = s7;
    0x00004b78 move a0, v0               |         a0 = v0;
    0x00004b7c sw v0, 0x40(sp)           |         *(var_40h_2) = v0;
    0x00004b80 jalr t9                   |         t9 ();
    0x00004b84 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004b88 lw v0, 0x40(sp)           |         v0 = *(var_40h_2);
    0x00004b8c lw t9, -0x7ec8(gp)        |         t9 = sym.imp.g_hmac_unref;
    0x00004b90 move a0, v0               |         a0 = v0;
    0x00004b94 jalr t9                   |         t9 ();
    0x00004b98 lbu a1, 8(s0)             |         a1 = *((s0 + 8));
    0x00004b9c lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004ba0 lhu a0, 0x5a(sp)          |         a0 = *(var_5ah);
    0x00004ba4 lw v0, 4(s0)              |         v0 = *((s0 + 1));
    0x00004ba8 beqz a1, 0x49b8           |         
                                         |     } while (a1 == 0);
    0x00004bac lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00004bb0 lw v1, 0x50(sp)           |     v1 = *(var_50h);
    0x00004bb4 addiu a1, a1, -0x706c     |     a1 += -0x706c;
                                         | label_10:
    0x00004bb8 sw a0, 0x10(sp)           |     *(var_10h) = a0;
    0x00004bbc lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00004bc0 lw t9, -0x7fc0(gp)        |     t9 = sym.log_info;
    0x00004bc4 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x00004bc8 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x00004bcc sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004bd0 move a3, s5               |     a3 = s5;
    0x00004bd4 move a2, s4               |     a2 = s4;
    0x00004bd8 addiu a0, a0, -0x6e04     |     a0 += -0x6e04;
    0x00004bdc bal 0x73e4                |     sym_log_info ();
    0x00004be0 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         | label_11:
    0x00004be4 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x00004be8 sw v0, 0x50(sp)           |     *(var_50h) = v0;
                                         |     if (s2 != 0) {
    0x00004bec bnez s2, 0x4a00           |         goto label_0;
                                         |     }
                                         | label_27:
    0x00004bf0 addiu v0, zero, 2         |     v0 = 2;
    0x00004bf4 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00004bf8 lw v0, -0x7fc8(gp)        |     v0 = *((gp - 8178));
    0x00004bfc lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x00004c00 addiu v0, v0, 0x43b4      |     v0 += fcn.000043b4;
    0x00004c04 sw v0, 0x40(sp)           |     *(var_40h_2) = v0;
    0x00004c08 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00004c0c lw fp, -0x7fd4(gp)        |     fp = *((gp - 8181));
    0x00004c10 addiu v0, v0, -0x6d24     |     v0 += -0x6d24;
    0x00004c14 addiu s5, s5, -0x6590     |     s5 += -0x6590;
    0x00004c18 sw v0, 0x54(sp)           |     *(var_54h) = v0;
    0x00004c1c lw t9, 0x40(sp)           |     t9 = *(var_40h_2);
    0x00004c20 move a1, s7               |     a1 = s7;
    0x00004c24 move a0, s3               |     a0 = s3;
    0x00004c28 jalr t9                   |     t9 ();
    0x00004c2c move s4, v0               |     s4 = v0;
    0x00004c30 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (s2 != 0) {
    0x00004c34 beqz s2, 0x4c44           |         
    0x00004c38 lw v0, -0x4874(fp)        |         v0 = *(var_4874h);
    0x00004c3c lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
                                         |         if (v0 == 0) {
    0x00004c40 bnel v0, zero, 0x503c     |             goto label_30;
                                         |         }
                                         |     }
    0x00004c44 sltiu v0, s4, 7           |     v0 = (s4 < 7) ? 1 : 0;
    0x00004c48 sll v0, s4, 2             |     v0 = s4 << 2;
                                         |     if (v0 == 0) {
    0x00004c4c beqz v0, 0x4f1c           |         goto label_31;
                                         |     }
    0x00004c50 lwx v0, v0(s5)            |     __asm ("lwx v0, v0(s5)");
    0x00004c54 addu v0, v0, gp           |     v0 += gp;
    0x00004c58 jr v0                     |     v0 ();
    0x00004c5c nop                       |     
                                         | label_14:
    0x00004c60 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00004c64 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x00004c68 addiu a0, a0, -0x6fec     |     a0 += -0x6fec;
    0x00004c6c bal 0x754c                |     sym_log_err ();
    0x00004c70 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004c74 b 0x4770                  |     goto label_1;
                                         | label_19:
    0x00004c78 addiu v0, sp, 0x60        |     v0 = sp + 0x60;
    0x00004c7c sw v0, 0x40(sp)           |     *(var_40h_2) = v0;
    0x00004c80 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x00004c84 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00004c88 b 0x4884                  |     goto label_2;
                                         | label_20:
    0x00004c8c addiu v0, sp, 0x60        |     v0 = sp + 0x60;
    0x00004c90 sw v0, 0x40(sp)           |     *(var_40h_2) = v0;
    0x00004c94 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004c98 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00004c9c lw a3, -0x7fd8(gp)        |     a3 = *((gp - 8182));
    0x00004ca0 lw t9, -0x7fa8(gp)        |     t9 = sym.dbus_client_get_property_and_unpack;
    0x00004ca4 addiu v0, v0, -0x6180     |     v0 += -0x6180;
    0x00004ca8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00004cac addiu a3, a3, -0x6ee0     |     a3 += -0x6ee0;
    0x00004cb0 addiu a2, t0, -0x6f20     |     a2 = t0 + -0x6f20;
    0x00004cb4 addiu a1, v1, -0x6f04     |     a1 = v1 + -0x6f04;
    0x00004cb8 addiu a0, s5, -0x6ef4     |     a0 = s5 + -0x6ef4;
    0x00004cbc bal 0x7154                |     sym_dbus_client_get_property_and_unpack ();
    0x00004cc0 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 != 0) {
    0x00004cc4 bnez v0, 0x4f80           |         goto label_32;
                                         |     }
    0x00004cc8 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x00004ccc sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00004cd0 b 0x4884                  |     goto label_2;
                                         | label_28:
    0x00004cd4 lw t9, -0x7fa4(gp)        |     t9 = sym.get_last_state;
    0x00004cd8 lw a0, 0x3ec(sp)          |     a0 = *(arg_3ech);
    0x00004cdc addiu a1, sp, 0xe4        |     a1 = sp + 0xe4;
    0x00004ce0 bal 0x7dc4                |     sym_get_last_state ();
    0x00004ce4 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 < 0) {
    0x00004ce8 bltz v0, 0x4a68           |         goto label_3;
                                         |     }
    0x00004cec lw v0, 0xe4(sp)           |     v0 = *(var_e4h);
    0x00004cf0 lw t9, -0x7fb4(gp)        |     t9 = sym.get_serial_number;
                                         |     if (s1 != v0) {
    0x00004cf4 bne s1, v0, 0x477c        |         goto label_4;
                                         |     }
    0x00004cf8 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.strcmp;
    0x00004cfc addiu a1, sp, 0x68        |     a1 = sp + 0x68;
    0x00004d00 addiu a0, sp, 0xe8        |     a0 = sp + 0xe8;
    0x00004d04 jalr t9                   |     t9 ();
    0x00004d08 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 != 0) {
    0x00004d0c bnez v0, 0x4778           |         goto label_5;
                                         |     }
    0x00004d10 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.strcmp;
    0x00004d14 addiu a1, sp, 0xb9        |     a1 = sp + 0xb9;
    0x00004d18 addiu a0, sp, 0x139       |     a0 = sp + 0x139;
    0x00004d1c jalr t9                   |     t9 ();
    0x00004d20 lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (v0 != 0) {
    0x00004d24 bnez v0, 0x4778           |         goto label_5;
                                         |     }
    0x00004d28 move v0, zero             |     v0 = 0;
    0x00004d2c b 0x4a6c                  |     goto label_6;
                                         | label_21:
    0x00004d30 lw t9, -0x7dd4(gp)        |     t9 = sym.imp.free;
    0x00004d34 lw a0, 0x60(sp)           |     a0 = *(var_60h);
    0x00004d38 sw v0, 4(s0)              |     *((s0 + 1)) = v0;
    0x00004d3c jalr t9                   |     t9 ();
    0x00004d40 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004d44 b 0x4890                  |     goto label_7;
                                         |     do {
    0x00004d64 sltu v0, zero, s4         |         v0 = (0 < s4) ? 1 : 0;
    0x00004d68 negu v0, v0               |         __asm ("negu v0, v0");
    0x00004d6c b 0x4a6c                  |         goto label_6;
                                         | label_9:
    0x00004d88 lw t9, -0x7e94(gp)        |         t9 = sym.imp.sleep;
    0x00004d8c addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00004d90 jalr t9                   |         t9 ();
    0x00004d94 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004d98 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00004d9c lw t9, -0x7fc8(gp)        |         t9 = *((gp - 8178));
    0x00004da0 addiu t9, t9, 0x32f8      |         t9 += fcn.000032f8;
    0x00004da4 addiu a0, a0, -0x6dc4     |         a0 += -0x6dc4;
    0x00004da8 bal 0x32f8                |         fcn_000032f8 ();
    0x00004dac lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004db0 addiu s0, sp, 0xe4        |         s0 = sp + 0xe4;
    0x00004db4 move a2, zero             |         a2 = 0;
    0x00004db8 lw t9, -0x7df4(gp)        |         t9 = sym.imp.sigaction;
    0x00004dbc move a1, s0               |         a1 = s0;
    0x00004dc0 addiu a0, zero, 2         |         a0 = 2;
    0x00004dc4 sw zero, 0xe8(sp)         |         *(var_e8h) = 0;
    0x00004dc8 jalr t9                   |         t9 ();
    0x00004dcc lw gp, 0x38(sp)           |         gp = *(var_38h);
                                         |         if (v0 < 0) {
    0x00004dd0 bltz v0, 0x4e0c           |             goto label_33;
                                         |         }
    0x00004dd4 lw t9, -0x7df4(gp)        |         t9 = sym.imp.sigaction;
    0x00004dd8 move a2, zero             |         a2 = 0;
    0x00004ddc move a1, s0               |         a1 = s0;
    0x00004de0 addiu a0, zero, 3         |         a0 = 3;
    0x00004de4 jalr t9                   |         t9 ();
    0x00004de8 lw gp, 0x38(sp)           |         gp = *(var_38h);
                                         |         if (v0 < 0) {
    0x00004dec bltz v0, 0x4e0c           |             goto label_33;
                                         |         }
    0x00004df0 lw t9, -0x7df4(gp)        |         t9 = sym.imp.sigaction;
    0x00004df4 move a2, zero             |         a2 = 0;
    0x00004df8 move a1, s0               |         a1 = s0;
    0x00004dfc addiu a0, zero, 0xf       |         a0 = 0xf;
    0x00004e00 jalr t9                   |         t9 ();
    0x00004e04 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004e08 bgez v0, 0x4d64           |         
                                         |     } while (v0 >= 0);
                                         | label_33:
    0x00004e0c lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00004e10 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x00004e14 addiu a0, a0, -0x6c3c     |     a0 += -0x6c3c;
    0x00004e18 bal 0x754c                |     sym_log_err ();
    0x00004e1c lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004e20 addiu v0, zero, -1        |     v0 = -1;
    0x00004e24 b 0x4a6c                  |     goto label_6;
                                         | label_26:
    0x00004f14 addiu a1, a1, -0x7058     |     a1 += -0x7058;
    0x00004f18 b 0x49d0                  |     goto label_8;
                                         | label_31:
    0x00004f1c lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00004f20 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x00004f24 addiu a0, a0, -0x6c5c     |     a0 += -0x6c5c;
    0x00004f28 bal 0x754c                |     sym_log_err ();
    0x00004f2c lw gp, 0x38(sp)           |     gp = *(var_38h);
                                         |     if (s2 != 0) {
    0x00004f30 bnez s2, 0x4d88           |         goto label_9;
                                         |     }
    0x00004f34 addiu v0, zero, -1        |     v0 = -1;
    0x00004f38 b 0x4a6c                  |     goto label_6;
                                         | label_24:
    0x00004f3c lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00004f40 lw v1, 0x50(sp)           |     v1 = *(var_50h);
    0x00004f44 addiu a1, a1, -0x7058     |     a1 += -0x7058;
    0x00004f48 b 0x4bb8                  |     goto label_10;
                                         | label_25:
    0x00004f4c lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
                                         |     if (fp != 0) {
    0x00004f50 bnez fp, 0x4fcc           |         goto label_34;
                                         |     }
    0x00004f54 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00004f58 addiu a1, a1, -0x706c     |     a1 += -0x706c;
                                         |     do {
    0x00004f5c sw a0, 0x10(sp)           |         *(var_10h) = a0;
    0x00004f60 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00004f64 lw t9, -0x7fc0(gp)        |         t9 = sym.log_info;
    0x00004f68 move a3, s5               |         a3 = s5;
    0x00004f6c move a2, s4               |         a2 = s4;
    0x00004f70 addiu a0, a0, -0x6dd4     |         a0 += -0x6dd4;
    0x00004f74 bal 0x73e4                |         sym_log_info ();
    0x00004f78 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004f7c b 0x4be4                  |         goto label_11;
                                         | label_32:
    0x00004f80 lw v0, -0x7fd4(gp)        |         v0 = *((gp - 8181));
    0x00004f84 lw s5, 0x60(sp)           |         s5 = *(var_60h);
    0x00004f88 lw t9, -0x7d84(gp)        |         t9 = sym.imp.strncpy;
    0x00004f8c addiu a2, zero, 0x10      |         a2 = 0x10;
    0x00004f90 move a1, s5               |         a1 = s5;
    0x00004f94 addiu a0, v0, -0x4860     |         a0 = v0 + -0x4860;
    0x00004f98 sw v0, 0x44(sp)           |         *(var_44h) = v0;
    0x00004f9c jalr t9                   |         t9 ();
    0x00004fa0 lw gp, 0x38(sp)           |         gp = *(var_38h);
    0x00004fa4 move a0, s5               |         a0 = s5;
    0x00004fa8 lw t9, -0x7dd4(gp)        |         t9 = sym.imp.free;
    0x00004fac sb zero, 0x17(s0)         |         *((s0 + 23)) = 0;
    0x00004fb0 jalr t9                   |         t9 ();
    0x00004fb4 lb v0, 8(s0)              |         v0 = *((s0 + 8));
    0x00004fb8 lw gp, 0x38(sp)           |         gp = *(var_38h);
                                         |         if (v0 == 0) {
    0x00004fbc beqz v0, 0x5024           |             goto label_35;
                                         |         }
    0x00004fc0 addiu v0, zero, 1         |         v0 = 1;
    0x00004fc4 sw v0, -0x4868(s1)        |         *((s1 - 4634)) = v0;
    0x00004fc8 b 0x4838                  |         goto label_12;
                                         | label_34:
    0x00004fcc addiu a1, a1, -0x7058     |         a1 += -0x7058;
    0x00004fd0 b 0x4f5c                  |         
                                         |     } while (1);
                                         | label_22:
    0x00004fd4 lw t9, -0x7fc0(gp)        |     t9 = sym.log_info;
    0x00004fd8 addiu a0, a0, -0x6e58     |     a0 += -0x6e58;
    0x00004fdc bal 0x73e4                |     sym_log_info ();
    0x00004fe0 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00004fe4 b 0x4884                  |     goto label_2;
                                         | label_35:
    0x00005024 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00005028 lw t9, -0x7fc0(gp)        |     t9 = sym.log_info;
    0x0000502c addiu a0, a0, -0x6ecc     |     a0 += -0x6ecc;
    0x00005030 bal 0x73e4                |     sym_log_info ();
    0x00005034 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00005038 b 0x4884                  |     goto label_2;
                                         | label_30:
    0x0000503c lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
    0x00005040 addiu t9, t9, 0x32f8      |     t9 += fcn.000032f8;
    0x00005044 addiu a0, a0, -0x6dc4     |     a0 += -0x6dc4;
    0x00005048 bal 0x32f8                |     fcn_000032f8 ();
    0x0000504c lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00005050 addiu v0, zero, -1        |     v0 = -1;
    0x00005054 b 0x4a6c                  |     goto label_6;
                                         | label_13:
    0x00005058 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x0000505c lw t9, -0x7fc0(gp)        |     t9 = sym.log_info;
    0x00005060 lw a1, -0x4894(s0)        |     a1 = *((s0 - 4645));
    0x00005064 addiu a0, a0, -0x7044     |     a0 += -0x7044;
    0x00005068 bal 0x73e4                |     sym_log_info ();
    0x0000506c lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x00005070 addiu v0, zero, -1        |     v0 = -1;
    0x00005074 b 0x4a6c                  |     goto label_6;
                                         | label_16:
    0x00005078 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x0000507c lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x00005080 addiu a0, a0, -0x6f9c     |     a0 += -0x6f9c;
    0x00005084 bal 0x754c                |     sym_log_err ();
    0x00005088 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x0000508c addiu v0, zero, -1        |     v0 = -1;
    0x00005090 b 0x4a6c                  |     goto label_6;
                                         | label_17:
    0x00005094 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00005098 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x0000509c addiu a0, a0, -0x6f70     |     a0 += -0x6f70;
    0x000050a0 bal 0x754c                |     sym_log_err ();
    0x000050a4 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x000050a8 addiu v0, zero, -1        |     v0 = -1;
    0x000050ac b 0x4a6c                  |     goto label_6;
                                         | label_18:
    0x000050b0 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x000050b4 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x000050b8 addiu a0, a0, -0x6f50     |     a0 += -0x6f50;
    0x000050bc bal 0x754c                |     sym_log_err ();
    0x000050c0 lw gp, 0x38(sp)           |     gp = *(var_38h);
    0x000050c4 addiu v0, zero, -1        |     v0 = -1;
    0x000050c8 b 0x4a6c                  |     goto label_6;
                                         | label_29:
    0x000050ec lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000050f0 jalr t9                   |     t9 ();
    0x000050f4 nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/axisns @ 0x50f8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000050f8 ()              | void fcn_000050f8 () {
    0x000050f8 lui gp, 2                 |     
    0x000050fc addiu gp, gp, -0x20d8     |     
    0x00005100 addu gp, gp, t9           |     gp += t9;
    0x00005104 addiu sp, sp, -0x280      |     
    0x00005108 lw t9, -0x7fb4(gp)        |     t9 = sym.get_serial_number;
    0x0000510c sw s2, 0x270(sp)          |     *(var_270h) = s2;
    0x00005110 lw s2, -0x7e40(gp)        |     s2 = *((gp - 8080));
    0x00005114 sw s0, 0x268(sp)          |     *(var_268h) = s0;
    0x00005118 addiu s0, sp, 0x40        |     s0 = sp + 0x40;
    0x0000511c lw v0, (s2)               |     v0 = *(s2);
    0x00005120 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00005124 sw s3, 0x274(sp)          |     *(var_274h) = s3;
    0x00005128 sw ra, 0x27c(sp)          |     *(var_27ch) = ra;
    0x0000512c sw s4, 0x278(sp)          |     *(var_278h) = s4;
    0x00005130 sw s1, 0x26c(sp)          |     *(var_26ch) = s1;
    0x00005134 move s3, a0               |     s3 = a0;
    0x00005138 sw v0, 0x264(sp)          |     *(var_264h) = v0;
    0x0000513c move a0, s0               |     a0 = s0;
    0x00005140 bal 0x7a94                |     sym_get_serial_number ();
    0x00005144 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00005148 bltz v0, 0x5320           |         goto label_1;
                                         |     }
    0x0000514c lw t9, -0x7fb0(gp)        |     t9 = sym.get_shared_secret;
    0x00005150 addiu s4, sp, 0x34        |     s4 = sp + 0x34;
    0x00005154 move a0, s4               |     a0 = s4;
    0x00005158 bal 0x7c70                |     sym_get_shared_secret ();
    0x0000515c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00005160 bltz v0, 0x533c           |         goto label_2;
                                         |     }
    0x00005164 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00005168 lw t9, -0x7edc(gp)        |     t9 = sym.imp.__snprintf_chk
    0x0000516c addiu v0, v0, -0x6c14     |     v0 += -0x6c14;
    0x00005170 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00005174 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00005178 addiu s1, sp, 0x64        |     s1 = sp + 0x64;
    0x0000517c addiu v0, v0, -0x6b38     |     v0 += -0x6b38;
    0x00005180 addiu a3, zero, 0x200     |     a3 = 0x200;
    0x00005184 addiu a2, zero, 1         |     a2 = 1;
    0x00005188 addiu a1, zero, 0x200     |     a1 = 0x200;
    0x0000518c move a0, s1               |     a0 = s1;
    0x00005190 sw s0, 0x18(sp)           |     *(var_18h_2) = s0;
    0x00005194 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00005198 jalr t9                   |     t9 ();
    0x0000519c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000051a0 move a1, s4               |     a1 = s4;
    0x000051a4 move s4, v0               |     s4 = v0;
    0x000051a8 lw t9, -0x7ef4(gp)        |     t9 = sym.imp.g_hmac_new;
    0x000051ac addiu v0, zero, 0x14      |     v0 = 0x14;
    0x000051b0 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x000051b4 addiu a0, zero, 1         |     a0 = 1;
    0x000051b8 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x000051bc jalr t9                   |     t9 ();
    0x000051c0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000051c4 move a0, v0               |     a0 = v0;
    0x000051c8 move a2, s4               |     a2 = s4;
    0x000051cc lw t9, -0x7de4(gp)        |     t9 = sym.imp.g_hmac_update;
    0x000051d0 move a1, s1               |     a1 = s1;
    0x000051d4 move s0, v0               |     s0 = v0;
    0x000051d8 jalr t9                   |     t9 ();
    0x000051dc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000051e0 addiu s4, sp, 0x50        |     s4 = sp + 0x50;
    0x000051e4 addiu a2, sp, 0x30        |     a2 = sp + 0x30;
    0x000051e8 lw t9, -0x7f00(gp)        |     t9 = sym.imp.g_hmac_get_digest;
    0x000051ec move a1, s4               |     a1 = s4;
    0x000051f0 move a0, s0               |     a0 = s0;
    0x000051f4 jalr t9                   |     t9 ();
    0x000051f8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000051fc lw t9, -0x7ec8(gp)        |     t9 = sym.imp.g_hmac_unref;
    0x00005200 move a0, s0               |     a0 = s0;
    0x00005204 jalr t9                   |     t9 ();
    0x00005208 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000520c move a1, zero             |     a1 = 0;
    0x00005210 lw t9, -0x7e64(gp)        |     t9 = sym.imp.ftruncate;
    0x00005214 move a0, s3               |     a0 = s3;
    0x00005218 jalr t9                   |     t9 ();
    0x0000521c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00005220 bltz v0, 0x5358           |         goto label_3;
                                         |     }
    0x00005224 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00005228 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x0000522c lw t9, -0x7fc4(gp)        |     t9 = sym.set_parameter;
    0x00005230 addiu a1, a1, -0x6c18     |     a1 += -0x6c18;
    0x00005234 addiu a0, a0, -0x6fbc     |     a0 += -0x6fbc;
    0x00005238 bal 0x778c                |     sym_set_parameter ();
    0x0000523c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00005240 addiu v1, zero, 1         |     v1 = 1;
    0x00005244 move a1, s4               |     a1 = s4;
    0x00005248 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x0000524c lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
    0x00005250 move a0, s1               |     a0 = s1;
    0x00005254 sw v1, -0x4ff0(v0)        |     *((v0 - 5116)) = v1;
    0x00005258 addiu t9, t9, 0x43b4      |     t9 += fcn.000043b4;
    0x0000525c bal 0x43b4                |     fcn_000043b4 ();
    0x00005260 nop                       |     
    0x00005264 addiu v1, zero, 2         |     v1 = 2;
    0x00005268 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == v1) {
    0x0000526c beq v0, v1, 0x52cc        |         goto label_4;
                                         |     }
    0x00005270 addiu v1, zero, 4         |     v1 = 4;
    0x00005274 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
                                         |     if (v0 == v1) {
    0x00005278 beq v0, v1, 0x5308        |         goto label_5;
                                         |     }
    0x0000527c lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
                                         |     if (v0 == 0) {
    0x00005280 beqz v0, 0x52e8           |         goto label_6;
                                         |     }
    0x00005284 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00005288 addiu v0, zero, -1        |     v0 = -1;
    0x0000528c sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x00005290 addiu a0, a0, -0x6a5c     |     a0 += -0x6a5c;
    0x00005294 bal 0x754c                |     sym_log_err ();
    0x00005298 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000529c lw v0, 0x2c(sp)           |     v0 = *(var_2ch_2);
                                         |     do {
                                         | label_0:
    0x000052a0 lw a0, 0x264(sp)          |         a0 = *(var_264h);
    0x000052a4 lw v1, (s2)               |         v1 = *(s2);
    0x000052a8 lw ra, 0x27c(sp)          |         ra = *(var_27ch);
                                         |         if (a0 != v1) {
    0x000052ac bne a0, v1, 0x5374        |             goto label_7;
                                         |         }
    0x000052b0 lw s4, 0x278(sp)          |         s4 = *(var_278h);
    0x000052b4 lw s3, 0x274(sp)          |         s3 = *(var_274h);
    0x000052b8 lw s2, 0x270(sp)          |         s2 = *(var_270h);
    0x000052bc lw s1, 0x26c(sp)          |         s1 = *(var_26ch);
    0x000052c0 lw s0, 0x268(sp)          |         s0 = *(var_268h);
    0x000052c4 addiu sp, sp, 0x280       |         
    0x000052c8 jr ra                     |         return v0;
                                         | label_4:
    0x000052cc lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x000052d0 lw t9, -0x7fd0(gp)        |         t9 = sym.log_err;
    0x000052d4 addiu a0, a0, -0x6ab0     |         a0 += -0x6ab0;
    0x000052d8 bal 0x754c                |         sym_log_err ();
    0x000052dc lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000052e0 addiu v0, zero, -1        |         v0 = -1;
    0x000052e4 b 0x52a0                  |         
                                         |     } while (1);
                                         | label_6:
    0x000052e8 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x000052ec lw t9, -0x7fc0(gp)        |     t9 = sym.log_info;
    0x000052f0 sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x000052f4 addiu a0, a0, -0x6ad0     |     a0 += -0x6ad0;
    0x000052f8 bal 0x73e4                |     sym_log_info ();
    0x000052fc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00005300 lw v0, 0x2c(sp)           |     v0 = *(var_2ch_2);
    0x00005304 b 0x52a0                  |     goto label_0;
                                         | label_5:
    0x00005308 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x0000530c addiu a0, a0, -0x6a88     |     a0 += -0x6a88;
    0x00005310 bal 0x754c                |     sym_log_err ();
    0x00005314 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00005318 addiu v0, zero, -1        |     v0 = -1;
    0x0000531c b 0x52a0                  |     goto label_0;
                                         | label_1:
    0x00005320 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00005324 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x00005328 addiu a0, a0, -0x6b98     |     a0 += -0x6b98;
    0x0000532c bal 0x754c                |     sym_log_err ();
    0x00005330 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00005334 addiu v0, zero, -1        |     v0 = -1;
    0x00005338 b 0x52a0                  |     goto label_0;
                                         | label_2:
    0x0000533c lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00005340 lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x00005344 addiu a0, a0, -0x6b64     |     a0 += -0x6b64;
    0x00005348 bal 0x754c                |     sym_log_err ();
    0x0000534c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00005350 addiu v0, zero, -1        |     v0 = -1;
    0x00005354 b 0x52a0                  |     goto label_0;
                                         | label_3:
    0x00005358 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x0000535c lw t9, -0x7fd0(gp)        |     t9 = sym.log_err;
    0x00005360 addiu a0, a0, -0x6b04     |     a0 += -0x6b04;
    0x00005364 bal 0x754c                |     sym_log_err ();
    0x00005368 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000536c addiu v0, zero, -1        |     v0 = -1;
    0x00005370 b 0x52a0                  |     goto label_0;
                                         | label_7:
    0x00005374 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00005378 jalr t9                   |     t9 ();
    0x0000537c nop                       |     
                                         | }

[*] Function printf used 6 times axisns