[*] Binary protection state of libgroupsock.so.8.1.0

  
  	No RELRO       No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   Symbols


[*] Function sprintf tear down of libgroupsock.so.8.1.0

    ; assembly                                                                                                           | /* r2dec pseudo code output */
                                                                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libgroupsock.so.8.1.0 @ 0xb838 */
                                                                                                                         | #include <stdint.h>
                                                                                                                         |  
    ; (fcn) method.GroupsockLookupTable.AddNew_UsageEnvironment__NetAddress__NetAddress__Port__unsigned_char_ ()         | void method_GroupsockLookupTable_AddNew_UsageEnvironment_NetAddress_NetAddress_Port_unsigned_char_ () {
                                                                                                                         |     /* GroupsockLookupTable::AddNew(UsageEnvironment&, NetAddress, NetAddress, Port, unsigned char) */
    0x0000b838 lui gp, 2                                                                                                 |     
    0x0000b83c addiu gp, gp, -0xd28                                                                                      |     
    0x0000b840 addu gp, gp, t9                                                                                           |     gp += t9;
    0x0000b844 addiu sp, sp, -0x150                                                                                      |     
    0x0000b848 sw ra, 0x14c(sp)                                                                                          |     *(var_14ch) = ra;
    0x0000b84c sw s7, 0x148(sp)                                                                                          |     *(var_148h) = s7;
    0x0000b850 sw s6, 0x144(sp)                                                                                          |     *(var_144h) = s6;
    0x0000b854 sw s5, 0x140(sp)                                                                                          |     *(var_140h) = s5;
    0x0000b858 sw s4, 0x13c(sp)                                                                                          |     *(var_13ch) = s4;
    0x0000b85c sw s3, 0x138(sp)                                                                                          |     *(var_138h) = s3;
    0x0000b860 sw s2, 0x134(sp)                                                                                          |     *(var_134h) = s2;
    0x0000b864 sw s1, 0x130(sp)                                                                                          |     *(var_130h) = s1;
    0x0000b868 sw s0, 0x12c(sp)                                                                                          |     *(var_12ch) = s0;
    0x0000b86c move s7, a0                                                                                               |     s7 = a0;
    0x0000b870 lw t9, -0x7e54(gp)                                                                                        |     t9 = *(gp);
    0x0000b874 move a0, a3                                                                                               |     a0 = a3;
    0x0000b878 sw gp, 0x18(sp)                                                                                           |     *(var_18h) = gp;
    0x0000b87c move s3, a3                                                                                               |     s3 = a3;
    0x0000b880 lhu s5, 0x160(sp)                                                                                         |     s5 = *(arg_160h);
    0x0000b884 move s1, a1                                                                                               |     s1 = a1;
    0x0000b888 lbu s2, 0x164(sp)                                                                                         |     s2 = *(arg_164h);
    0x0000b88c move s4, a2                                                                                               |     s4 = a2;
    0x0000b890 jalr t9                                                                                                   |     t9 ();
    0x0000b894 addiu a0, zero, 0x158                                                                                     |     a0 = 0x158;
    0x0000b898 lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
    0x0000b89c lw t9, -0x7f60(gp)                                                                                        |     t9 = sym.imp.operator_new_unsigned_int_;
                                                                                                                         |     if (v0 != 0) {
    0x0000b8a0 bnez v0, 0xb974                                                                                           |         goto label_0;
                                                                                                                         |     }
    0x0000b8a4 jalr t9                                                                                                   |     t9 ();
    0x0000b8a8 nop                                                                                                       |     
    0x0000b8ac move a1, s1                                                                                               |     a1 = s1;
    0x0000b8b0 lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
    0x0000b8b4 move a0, v0                                                                                               |     a0 = v0;
    0x0000b8b8 sw s2, 0x10(sp)                                                                                           |     *(var_10h) = s2;
    0x0000b8bc move a2, s4                                                                                               |     a2 = s4;
    0x0000b8c0 lw t9, -0x7df4(gp)                                                                                        |     t9 = *(gp);
    0x0000b8c4 move a3, s5                                                                                               |     a3 = s5;
    0x0000b8c8 move s0, v0                                                                                               |     s0 = v0;
    0x0000b8cc jalr t9                                                                                                   |     t9 ();
    0x0000b8d0 lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
                                                                                                                         |     do {
    0x0000b8d4 move v0, s0                                                                                               |         v0 = s0;
                                                                                                                         |         if (s0 != 0) {
    0x0000b8d8 beqz s0, 0xb948                                                                                           |             
    0x0000b8dc lw s2, 4(s0)                                                                                              |             s2 = *((s0 + 1));
    0x0000b8e0 lw t9, -0x7fd4(gp)                                                                                        |             t9 = *(gp);
                                                                                                                         |             if (s2 < 0) {
    0x0000b8e4 bltz s2, 0xb948                                                                                           |                 goto label_1;
                                                                                                                         |             }
    0x0000b8e8 addiu t9, t9, -0x6500                                                                                     |             t9 += -0x6500;
    0x0000b8ec move a0, s1                                                                                               |             a0 = s1;
    0x0000b8f0 jalr t9                                                                                                   |             t9 ();
    0x0000b8f4 move a1, s2                                                                                               |             a1 = s2;
    0x0000b8f8 lw s6, (v0)                                                                                               |             s6 = *(v0);
    0x0000b8fc lw t8, (s6)                                                                                               |             t8 = *(s6);
    0x0000b900 lw t9, 0x10(t8)                                                                                           |             t9 = *((t8 + 4));
    0x0000b904 move a0, s6                                                                                               |             a0 = s6;
    0x0000b908 jalr t9                                                                                                   |             t9 ();
    0x0000b90c lw gp, 0x18(sp)                                                                                           |             gp = *(var_18h);
                                                                                                                         |             if (v0 == 0) {
    0x0000b910 beqz v0, 0xb9a8                                                                                           |                 goto label_2;
                                                                                                                         |             }
    0x0000b914 lw a1, -0x7fd4(gp)                                                                                        |             a1 = *(gp);
    0x0000b918 addiu s3, sp, 0x20                                                                                        |             s3 = sp + 0x20;
    0x0000b91c lw t9, -0x7ef0(gp)                                                                                        |             t9 = sym.imp.sprintf
    0x0000b920 move a0, s3                                                                                               |             a0 = s3;
    0x0000b924 addiu a1, a1, -0x4c4                                                                                      |             a1 += -0x4c4;
    0x0000b928 move a2, s2                                                                                               |             a2 = s2;
    0x0000b92c jalr t9                                                                                                   |             t9 ();
    0x0000b930 move a0, s1                                                                                               |             a0 = s1;
    0x0000b934 lw t8, (s1)                                                                                               |             t8 = *(s1);
    0x0000b938 lw t9, 4(t8)                                                                                              |             t9 = *((t8 + 1));
    0x0000b93c move a1, s3                                                                                               |             a1 = s3;
    0x0000b940 jalr t9                                                                                                   |             t9 ();
    0x0000b944 move v0, s0                                                                                               |             v0 = s0;
                                                                                                                         |         }
                                                                                                                         | label_1:
    0x0000b948 lw ra, 0x14c(sp)                                                                                          |         ra = *(var_14ch);
    0x0000b94c lw s7, 0x148(sp)                                                                                          |         s7 = *(var_148h);
    0x0000b950 lw s6, 0x144(sp)                                                                                          |         s6 = *(var_144h);
    0x0000b954 lw s5, 0x140(sp)                                                                                          |         s5 = *(var_140h);
    0x0000b958 lw s4, 0x13c(sp)                                                                                          |         s4 = *(var_13ch);
    0x0000b95c lw s3, 0x138(sp)                                                                                          |         s3 = *(var_138h);
    0x0000b960 lw s2, 0x134(sp)                                                                                          |         s2 = *(var_134h);
    0x0000b964 lw s1, 0x130(sp)                                                                                          |         s1 = *(var_130h);
    0x0000b968 lw s0, 0x12c(sp)                                                                                          |         s0 = *(var_12ch);
    0x0000b96c addiu sp, sp, 0x150                                                                                       |         
    0x0000b970 jr ra                                                                                                     |         return v0;
                                                                                                                         | label_0:
    0x0000b974 jalr t9                                                                                                   |         t9 ();
    0x0000b978 nop                                                                                                       |         
    0x0000b97c move a1, s1                                                                                               |         a1 = s1;
    0x0000b980 lw gp, 0x18(sp)                                                                                           |         gp = *(var_18h);
    0x0000b984 move a0, v0                                                                                               |         a0 = v0;
    0x0000b988 sh s5, 0x10(sp)                                                                                           |         *(var_10h) = s5;
    0x0000b98c move a2, s4                                                                                               |         a2 = s4;
    0x0000b990 lw t9, -0x7f6c(gp)                                                                                        |         t9 = *(gp);
    0x0000b994 move a3, s3                                                                                               |         a3 = s3;
    0x0000b998 move s0, v0                                                                                               |         s0 = v0;
    0x0000b99c jalr t9                                                                                                   |         t9 ();
    0x0000b9a0 lw gp, 0x18(sp)                                                                                           |         gp = *(var_18h);
    0x0000b9a4 b 0xb8d4                                                                                                  |         
                                                                                                                         |     } while (1);
                                                                                                                         | label_2:
    0x0000b9a8 lw t8, (s6)                                                                                               |     t8 = *(s6);
    0x0000b9ac move a1, s2                                                                                               |     a1 = s2;
    0x0000b9b0 move a0, s6                                                                                               |     a0 = s6;
    0x0000b9b4 addiu s1, sp, 0xa4                                                                                        |     s1 = sp + 0xa4;
    0x0000b9b8 lw t9, 8(t8)                                                                                              |     t9 = *((t8 + 2));
    0x0000b9bc move a2, s0                                                                                               |     a2 = s0;
    0x0000b9c0 addiu s2, sp, 0x20                                                                                        |     s2 = sp + 0x20;
    0x0000b9c4 jalr t9                                                                                                   |     t9 ();
    0x0000b9c8 move a0, s1                                                                                               |     a0 = s1;
    0x0000b9cc lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
    0x0000b9d0 lw t9, -0x7d04(gp)                                                                                        |     t9 = *(gp);
    0x0000b9d4 move a1, s4                                                                                               |     a1 = s4;
    0x0000b9d8 jalr t9                                                                                                   |     t9 ();
    0x0000b9dc move a0, s2                                                                                               |     a0 = s2;
    0x0000b9e0 lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
    0x0000b9e4 lw t9, -0x7d04(gp)                                                                                        |     t9 = *(gp);
    0x0000b9e8 move a1, s3                                                                                               |     a1 = s3;
    0x0000b9ec jalr t9                                                                                                   |     t9 ();
    0x0000b9f0 lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
    0x0000b9f4 lw t9, -0x7e2c(gp)                                                                                        |     t9 = *(gp);
    0x0000b9f8 move a0, s7                                                                                               |     a0 = s7;
    0x0000b9fc sw s0, 0x10(sp)                                                                                           |     *(var_10h) = s0;
    0x0000ba00 move a1, s1                                                                                               |     a1 = s1;
    0x0000ba04 move a2, s2                                                                                               |     a2 = s2;
    0x0000ba08 move a3, s5                                                                                               |     a3 = s5;
    0x0000ba0c jalr t9                                                                                                   |     t9 ();
    0x0000ba10 lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
    0x0000ba14 lw t9, -0x7f5c(gp)                                                                                        |     t9 = *(gp);
    0x0000ba18 move a0, s2                                                                                               |     a0 = s2;
    0x0000ba1c jalr t9                                                                                                   |     t9 ();
    0x0000ba20 lw gp, 0x18(sp)                                                                                           |     gp = *(var_18h);
    0x0000ba24 lw t9, -0x7f5c(gp)                                                                                        |     t9 = *(gp);
    0x0000ba28 move a0, s1                                                                                               |     a0 = s1;
    0x0000ba2c jalr t9                                                                                                   |     t9 ();
    0x0000ba30 move v0, s0                                                                                               |     v0 = s0;
    0x0000ba34 lw ra, 0x14c(sp)                                                                                          |     ra = *(var_14ch);
    0x0000ba38 lw s7, 0x148(sp)                                                                                          |     s7 = *(var_148h);
    0x0000ba3c lw s6, 0x144(sp)                                                                                          |     s6 = *(var_144h);
    0x0000ba40 lw s5, 0x140(sp)                                                                                          |     s5 = *(var_140h);
    0x0000ba44 lw s4, 0x13c(sp)                                                                                          |     s4 = *(var_13ch);
    0x0000ba48 lw s3, 0x138(sp)                                                                                          |     s3 = *(var_138h);
    0x0000ba4c lw s2, 0x134(sp)                                                                                          |     s2 = *(var_134h);
    0x0000ba50 lw s1, 0x130(sp)                                                                                          |     s1 = *(var_130h);
    0x0000ba54 lw s0, 0x12c(sp)                                                                                          |     s0 = *(var_12ch);
    0x0000ba58 addiu sp, sp, 0x150                                                                                       |     
    0x0000ba5c jr ra                                                                                                     |     return v0;
                                                                                                                         | }
    ; assembly                                                                           | /* r2dec pseudo code output */
                                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libgroupsock.so.8.1.0 @ 0xdab8 */
                                                                                         | #include <stdint.h>
                                                                                         |  
    ; (fcn) method.NetAddress.NetAddress_unsigned_char_const__unsigned_int_ ()           | void method_NetAddress_NetAddress_unsigned_char_const_unsigned_int_ () {
                                                                                         |     /* NetAddress::NetAddress(unsigned char const*, unsigned int) */
    0x0000dab8 lui gp, 2                                                                 |     
    0x0000dabc addiu gp, gp, -0x2fa8                                                     |     
    0x0000dac0 addu gp, gp, t9                                                           |     gp += t9;
    0x0000dac4 addiu sp, sp, -0x140                                                      |     
    0x0000dac8 sw ra, 0x13c(sp)                                                          |     *(var_13ch) = ra;
    0x0000dacc sw fp, 0x138(sp)                                                          |     *(var_138h) = fp;
    0x0000dad0 sw s7, 0x134(sp)                                                          |     *(var_134h) = s7;
    0x0000dad4 sw s6, 0x130(sp)                                                          |     *(var_130h) = s6;
    0x0000dad8 sw s5, 0x12c(sp)                                                          |     *(var_12ch) = s5;
    0x0000dadc sw s4, 0x128(sp)                                                          |     *(var_128h) = s4;
    0x0000dae0 sw s3, 0x124(sp)                                                          |     *(var_124h) = s3;
    0x0000dae4 sw s2, 0x120(sp)                                                          |     *(var_120h) = s2;
    0x0000dae8 sw s1, 0x11c(sp)                                                          |     *(var_11ch) = s1;
    0x0000daec sw s0, 0x118(sp)                                                          |     *(var_118h) = s0;
    0x0000daf0 move fp, a0                                                               |     fp = a0;
    0x0000daf4 lw t8, -0x7ee4(gp)                                                        |     t8 = *(gp);
    0x0000daf8 move s5, a1                                                               |     s5 = a1;
    0x0000dafc sw gp, 0x10(sp)                                                           |     *(var_10h) = gp;
    0x0000db00 move s0, a2                                                               |     s0 = a2;
    0x0000db04 lw t9, -0x7e6c(gp)                                                        |     t9 = *(gp);
    0x0000db08 addiu t8, t8, 8                                                           |     t8 += 8;
    0x0000db0c sw t8, (a0)                                                               |     *(a0) = t8;
    0x0000db10 addiu s4, sp, 0x18                                                        |     s4 = sp + 0x18;
    0x0000db14 jalr t9                                                                   |     t9 ();
    0x0000db18 move a0, s4                                                               |     a0 = s4;
    0x0000db1c lw gp, 0x10(sp)                                                           |     gp = *(var_10h);
    0x0000db20 move a1, zero                                                             |     a1 = 0;
    0x0000db24 lw t9, -0x7eac(gp)                                                        |     t9 = sym.imp.memset;
    0x0000db28 addiu a2, zero, 0x100                                                     |     a2 = aav.0x00000100;
    0x0000db2c jalr t9                                                                   |     t9 ();
    0x0000db30 addiu t8, zero, 4                                                         |     t8 = 4;
    0x0000db34 lw gp, 0x10(sp)                                                           |     gp = *(var_10h);
                                                                                         |     if (s0 != t8) {
    0x0000db38 beq s0, t8, 0xdb74                                                        |         
    0x0000db3c addiu t8, zero, 0x10                                                      |         t8 = 0x10;
    0x0000db40 lw ra, 0x13c(sp)                                                          |         ra = *(var_13ch);
                                                                                         |         if (s0 == t8) {
    0x0000db44 beq s0, t8, 0xdc14                                                        |             goto label_1;
                                                                                         |         }
    0x0000db48 lw fp, 0x138(sp)                                                          |         fp = *(var_138h);
    0x0000db4c lw s7, 0x134(sp)                                                          |         s7 = *(var_134h);
    0x0000db50 lw s6, 0x130(sp)                                                          |         s6 = *(var_130h);
    0x0000db54 lw s5, 0x12c(sp)                                                          |         s5 = *(var_12ch);
    0x0000db58 lw s4, 0x128(sp)                                                          |         s4 = *(var_128h);
    0x0000db5c lw s3, 0x124(sp)                                                          |         s3 = *(var_124h);
    0x0000db60 lw s2, 0x120(sp)                                                          |         s2 = *(var_120h);
    0x0000db64 lw s1, 0x11c(sp)                                                          |         s1 = *(var_11ch);
    0x0000db68 lw s0, 0x118(sp)                                                          |         s0 = *(var_118h);
    0x0000db6c addiu sp, sp, 0x140                                                       |         
    0x0000db70 jr ra                                                                     |         return;
                                                                                         |     }
    0x0000db74 lw s6, -0x7fd4(gp)                                                        |     s6 = *(gp);
    0x0000db78 move s1, s5                                                               |     s1 = s5;
    0x0000db7c addiu s2, zero, 1                                                         |     s2 = 1;
    0x0000db80 move s0, s4                                                               |     s0 = s4;
    0x0000db84 addiu s6, s6, -0x324                                                      |     s6 += -0x324;
    0x0000db88 addiu s7, zero, 0x2e                                                      |     s7 = 0x2e;
                                                                                         |     do {
                                                                                         | label_0:
    0x0000db8c lw t9, -0x7ef0(gp)                                                        |         t9 = sym.imp.sprintf
    0x0000db90 move a0, s4                                                               |         a0 = s4;
    0x0000db94 move a1, s6                                                               |         a1 = s6;
    0x0000db98 addiu s3, s0, 1                                                           |         s3 = s0 + 1;
                                                                                         |         if (s5 == s1) {
    0x0000db9c beq s5, s1, 0xdc1c                                                        |             goto label_2;
                                                                                         |         }
    0x0000dba0 lbu a2, (s1)                                                              |         a2 = *(s1);
    0x0000dba4 sb s7, (s0)                                                               |         *(s0) = s7;
    0x0000dba8 sb zero, 1(s0)                                                            |         *(var_1h) = 0;
    0x0000dbac jalr t9                                                                   |         t9 ();
    0x0000dbb0 sltiu t8, s2, 4                                                           |         t8 = (s2 < 4) ? 1 : 0;
    0x0000dbb4 lw gp, 0x10(sp)                                                           |         gp = *(var_10h);
    0x0000dbb8 addu s0, s3, v0                                                           |         s0 = s3 + v0;
                                                                                         |         if (t8 == 0) {
    0x0000dbbc beqz t8, 0xdbcc                                                           |             goto label_3;
                                                                                         |         }
    0x0000dbc0 addiu s2, s2, 1                                                           |         s2++;
    0x0000dbc4 addiu s1, s1, 1                                                           |         s1++;
    0x0000dbc8 b 0xdb8c                                                                  |         
                                                                                         |     } while (1);
                                                                                         | label_3:
    0x0000dbcc addiu a3, zero, 2                                                         |     a3 = 2;
                                                                                         |     do {
    0x0000dbd0 lw t9, -0x7d08(gp)                                                        |         t9 = *(gp);
    0x0000dbd4 move a0, fp                                                               |         a0 = fp;
    0x0000dbd8 move a1, s4                                                               |         a1 = s4;
    0x0000dbdc addiu a2, zero, 4                                                         |         a2 = 4;
    0x0000dbe0 jalr t9                                                                   |         t9 ();
    0x0000dbe4 lw ra, 0x13c(sp)                                                          |         ra = *(var_13ch);
    0x0000dbe8 lw fp, 0x138(sp)                                                          |         fp = *(var_138h);
    0x0000dbec lw s7, 0x134(sp)                                                          |         s7 = *(var_134h);
    0x0000dbf0 lw s6, 0x130(sp)                                                          |         s6 = *(var_130h);
    0x0000dbf4 lw s5, 0x12c(sp)                                                          |         s5 = *(var_12ch);
    0x0000dbf8 lw s4, 0x128(sp)                                                          |         s4 = *(var_128h);
    0x0000dbfc lw s3, 0x124(sp)                                                          |         s3 = *(var_124h);
    0x0000dc00 lw s2, 0x120(sp)                                                          |         s2 = *(var_120h);
    0x0000dc04 lw s1, 0x11c(sp)                                                          |         s1 = *(var_11ch);
    0x0000dc08 lw s0, 0x118(sp)                                                          |         s0 = *(var_118h);
    0x0000dc0c addiu sp, sp, 0x140                                                       |         
    0x0000dc10 jr ra                                                                     |         return;
                                                                                         | label_1:
    0x0000dc14 addiu a3, zero, 0xa                                                       |         a3 = 0xa;
    0x0000dc18 b 0xdbd0                                                                  |         
                                                                                         |     } while (1);
                                                                                         | label_2:
    0x0000dc1c move a0, s4                                                               |     a0 = s4;
    0x0000dc20 lbu a2, (s5)                                                              |     a2 = *(s5);
    0x0000dc24 move a1, s6                                                               |     a1 = s6;
    0x0000dc28 addiu s2, s2, 1                                                           |     s2++;
    0x0000dc2c addiu s1, s1, 1                                                           |     s1++;
    0x0000dc30 jalr t9                                                                   |     t9 ();
    0x0000dc34 lw gp, 0x10(sp)                                                           |     gp = *(var_10h);
    0x0000dc38 addu s0, s0, v0                                                           |     s0 += v0;
    0x0000dc3c b 0xdb8c                                                                  |     goto label_0;
                                                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libgroupsock.so.8.1.0 @ 0x7824 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.ourIPv4Address_UsageEnvironment_ ()      | void ourIPv4Address_UsageEnvironment_ () {
                                                         |     /* ourIPv4Address(UsageEnvironment&) */
    0x00007824 lui gp, 2                                 |     
    0x00007828 addiu gp, gp, 0x32ec                      |     
    0x0000782c addu gp, gp, t9                           |     gp += t9;
    0x00007830 addiu sp, sp, -0x530                      |     
    0x00007834 sw ra, 0x52c(sp)                          |     *(var_52ch) = ra;
    0x00007838 sw fp, 0x528(sp)                          |     *(var_528h) = fp;
    0x0000783c sw s7, 0x524(sp)                          |     *(var_524h) = s7;
    0x00007840 sw s6, 0x520(sp)                          |     *(var_520h) = s6;
    0x00007844 sw s5, 0x51c(sp)                          |     *(var_51ch) = s5;
    0x00007848 sw s4, 0x518(sp)                          |     *(var_518h) = s4;
    0x0000784c sw s3, 0x514(sp)                          |     *(var_514h) = s3;
    0x00007850 sw s2, 0x510(sp)                          |     *(var_510h) = s2;
    0x00007854 sw s1, 0x50c(sp)                          |     *(var_50ch) = s1;
    0x00007858 sw s0, 0x508(sp)                          |     *(var_508h) = s0;
    0x0000785c move s2, a0                               |     s2 = a0;
    0x00007860 lw s0, -0x7fe4(gp)                        |     s0 = *((gp - 8185));
    0x00007864 sw gp, 0x20(sp)                           |     *(var_20h) = gp;
    0x00007868 lb t8, 0x3140(s0)                         |     t8 = *((s0 + 12608));
    0x0000786c move s5, a1                               |     s5 = a1;
                                                         |     if (t8 == 0) {
    0x00007870 beqz t8, 0x7b58                           |         goto label_7;
                                                         |     }
    0x00007874 lw s3, -0x7fe4(gp)                        |     s3 = *((gp - 8185));
                                                         |     do {
                                                         | label_0:
    0x00007878 lw t9, -0x7cf4(gp)                        |         t9 = *(gp);
    0x0000787c addiu s1, sp, 0x448                       |         s1 = sp + 0x448;
    0x00007880 move a0, s1                               |         a0 = s1;
    0x00007884 jalr t9                                   |         t9 ();
    0x00007888 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x0000788c lw t9, -0x7f34(gp)                        |         t9 = *(gp);
                                                         |         /* obj.ourIPv4Address_UsageEnvironment_::ourAddress */
    0x00007890 addiu a0, s3, 0x3038                      |         a0 = s3 + 0x3038;
    0x00007894 jalr t9                                   |         t9 ();
    0x00007898 lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (v0 != 0) {
    0x0000789c beqz v0, 0x7b04                           |             
    0x000078a0 lw v0, -0x7fd4(gp)                        |             v0 = *(gp);
    0x000078a4 addiu s6, sp, 0x3c4                       |             s6 = sp + 0x3c4;
    0x000078a8 lw t9, -0x7de8(gp)                        |             t9 = *(gp);
    0x000078ac move a0, s6                               |             a0 = s6;
    0x000078b0 addiu a1, v0, -0x79c                      |             a1 = v0 + -0x79c;
    0x000078b4 addiu a2, zero, 2                         |             a2 = 2;
    0x000078b8 jalr t9                                   |             t9 ();
    0x000078bc lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x000078c0 lw a1, -0x7fd4(gp)                        |             a1 = *(gp);
    0x000078c4 addiu s0, sp, 0x340                       |             s0 = sp + 0x340;
    0x000078c8 lw t8, -0x7eb4(gp)                        |             t8 = *(gp);
    0x000078cc move a0, s0                               |             a0 = s0;
    0x000078d0 lw t9, -0x7de8(gp)                        |             t9 = *(gp);
    0x000078d4 addiu a1, a1, -0x748                      |             a1 += -aav.0x00000748;
    0x000078d8 addiu a2, zero, 2                         |             a2 = 2;
    0x000078dc sb zero, (t8)                             |             *(t8) = 0;
    0x000078e0 jalr t9                                   |             t9 ();
    0x000078e4 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x000078e8 lw t9, -0x7d40(gp)                        |             t9 = *(gp);
    0x000078ec move a0, s1                               |             a0 = s1;
    0x000078f0 move a1, s0                               |             a1 = s0;
    0x000078f4 jalr t9                                   |             t9 ();
    0x000078f8 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x000078fc lw t9, -0x7f5c(gp)                        |             t9 = *(gp);
    0x00007900 move a0, s0                               |             a0 = s0;
    0x00007904 jalr t9                                   |             t9 ();
    0x00007908 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x0000790c lw t9, -0x7dec(gp)                        |             t9 = *(gp);
    0x00007910 move a0, s0                               |             a0 = s0;
    0x00007914 addiu a1, zero, 0x3e4b                    |             a1 = 0x3e4b;
    0x00007918 jalr t9                                   |             t9 ();
    0x0000791c lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007920 lhu a1, 0x340(sp)                         |             a1 = *(var_340h);
    0x00007924 move a0, s5                               |             a0 = s5;
    0x00007928 lw t9, -0x7e48(gp)                        |             t9 = sym.setupDatagramSocket_UsageEnvironment__Port__int_;
    0x0000792c addiu a2, zero, 2                         |             a2 = 2;
    0x00007930 jalr t9                                   |             t9 ();
    0x00007934 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007938 move s0, v0                               |             s0 = v0;
                                                         |             if (v0 >= 0) {
    0x0000793c bltz v0, 0x79d8                           |                 
    0x00007940 addiu s4, sp, 0x2bc                       |                 s4 = sp + aav.0x000002bc;
    0x00007944 move a1, s1                               |                 a1 = s1;
    0x00007948 lw t9, -0x7d04(gp)                        |                 t9 = *(gp);
    0x0000794c move a0, s4                               |                 a0 = s4;
    0x00007950 jalr t9                                   |                 t9 ();
    0x00007954 lw gp, 0x20(sp)                           |                 gp = *(var_20h);
    0x00007958 lw t9, -0x7d70(gp)                        |                 t9 = sym.socketJoinGroup_UsageEnvironment__int__NetAddress_;
    0x0000795c move a0, s5                               |                 a0 = s5;
    0x00007960 move a1, s0                               |                 a1 = s0;
    0x00007964 move a2, s4                               |                 a2 = s4;
    0x00007968 jalr t9                                   |                 t9 ();
    0x0000796c lw gp, 0x20(sp)                           |                 gp = *(var_20h);
    0x00007970 lw t9, -0x7f5c(gp)                        |                 t9 = *(gp);
    0x00007974 move a0, s4                               |                 a0 = s4;
    0x00007978 move s4, v0                               |                 s4 = v0;
    0x0000797c jalr t9                                   |                 t9 ();
    0x00007980 lw gp, 0x20(sp)                           |                 gp = *(var_20h);
                                                         |                 if (s4 != 0) {
    0x00007984 bnez s4, 0x7c28                           |                     goto label_8;
                                                         |                 }
                                                         | label_4:
    0x00007988 addiu s7, sp, 0x1b4                       |                 s7 = sp + 0x1b4;
                                                         | label_5:
    0x0000798c lw t9, -0x7d04(gp)                        |                 t9 = *(gp);
    0x00007990 move a0, s7                               |                 a0 = s7;
    0x00007994 move a1, s1                               |                 a1 = s1;
    0x00007998 jalr t9                                   |                 t9 ();
    0x0000799c lw gp, 0x20(sp)                           |                 gp = *(var_20h);
    0x000079a0 lw t9, -0x7e5c(gp)                        |                 t9 = sym.socketLeaveGroup_UsageEnvironment__int__NetAddress_;
    0x000079a4 move a0, s5                               |                 a0 = s5;
    0x000079a8 move a1, s0                               |                 a1 = s0;
    0x000079ac move a2, s7                               |                 a2 = s7;
    0x000079b0 jalr t9                                   |                 t9 ();
    0x000079b4 lw gp, 0x20(sp)                           |                 gp = *(var_20h);
    0x000079b8 lw t9, -0x7f5c(gp)                        |                 t9 = *(gp);
    0x000079bc move a0, s7                               |                 a0 = s7;
    0x000079c0 jalr t9                                   |                 t9 ();
    0x000079c4 lw gp, 0x20(sp)                           |                 gp = *(var_20h);
    0x000079c8 lw t9, -0x7fa4(gp)                        |                 t9 = sym.imp.close;
    0x000079cc move a0, s0                               |                 a0 = s0;
    0x000079d0 jalr t9                                   |                 t9 ();
    0x000079d4 lw gp, 0x20(sp)                           |                 gp = *(var_20h);
                                                         |             }
    0x000079d8 lw v0, -0x7eb4(gp)                        |             v0 = *(gp);
    0x000079dc lbu t8, (v0)                              |             t8 = *(v0);
    0x000079e0 addiu s4, sp, 0x130                       |             s4 = sp + aav.0x00000130;
                                                         |             if (t8 == 0) {
    0x000079e4 beqz t8, 0x7bac                           |                 goto label_9;
                                                         |             }
                                                         | label_1:
    0x000079e8 lw t9, -0x7d04(gp)                        |             t9 = *(gp);
    0x000079ec move a0, s4                               |             a0 = s4;
    0x000079f0 move a1, s6                               |             a1 = s6;
    0x000079f4 jalr t9                                   |             t9 ();
    0x000079f8 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x000079fc lw t9, -0x7cf0(gp)                        |             t9 = *(gp);
    0x00007a00 move a0, s6                               |             a0 = s6;
    0x00007a04 jalr t9                                   |             t9 ();
    0x00007a08 lw gp, 0x20(sp)                           |             gp = *(var_20h);
                                                         |             if (v0 == 0) {
    0x00007a0c beqz v0, 0x7c0c                           |                 goto label_10;
                                                         |             }
                                                         | label_2:
    0x00007a10 addiu v0, sp, 0xac                        |             v0 = sp + 0xac;
    0x00007a14 move a1, s4                               |             a1 = s4;
    0x00007a18 lw t9, -0x7d04(gp)                        |             t9 = *(gp);
    0x00007a1c move a0, v0                               |             a0 = v0;
    0x00007a20 sw v0, 0x500(sp)                          |             *(var_500h) = v0;
    0x00007a24 jalr t9                                   |             t9 ();
    0x00007a28 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007a2c addiu s0, sp, 0x4cc                       |             s0 = sp + 0x4cc;
    0x00007a30 lw a1, 0x500(sp)                          |             a1 = *(var_500h);
    0x00007a34 lw t9, -0x7f2c(gp)                        |             t9 = *(gp);
    0x00007a38 move a0, s0                               |             a0 = s0;
    0x00007a3c jalr t9                                   |             t9 ();
    0x00007a40 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007a44 lw a1, -0x7fd4(gp)                        |             a1 = *(gp);
    0x00007a48 addiu s7, sp, 0x1b4                       |             s7 = sp + 0x1b4;
    0x00007a4c lw t9, -0x7ef0(gp)                        |             t9 = sym.imp.sprintf
    0x00007a50 move a0, s7                               |             a0 = s7;
    0x00007a54 addiu a1, a1, -0x718                      |             a1 += -0x718;
    0x00007a58 addiu a2, sp, 0x4d0                       |             a2 = sp + 0x4d0;
    0x00007a5c jalr t9                                   |             t9 ();
    0x00007a60 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007a64 lw t9, -0x7dd0(gp)                        |             t9 = *(gp);
    0x00007a68 move a0, s0                               |             a0 = s0;
    0x00007a6c jalr t9                                   |             t9 ();
    0x00007a70 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007a74 lw t9, -0x7f5c(gp)                        |             t9 = *(gp);
    0x00007a78 lw a0, 0x500(sp)                          |             a0 = *(var_500h);
    0x00007a7c jalr t9                                   |             t9 ();
    0x00007a80 lw t8, (s5)                               |             t8 = *(s5);
    0x00007a84 move a0, s5                               |             a0 = s5;
    0x00007a88 lw t9, 4(t8)                              |             t9 = *((t8 + 1));
    0x00007a8c move a1, s7                               |             a1 = s7;
    0x00007a90 jalr t9                                   |             t9 ();
    0x00007a94 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007a98 addiu fp, sp, 0x28                        |             fp = sp + 0x28;
    0x00007a9c lw t9, -0x7cf4(gp)                        |             t9 = *(gp);
    0x00007aa0 move a0, fp                               |             a0 = fp;
    0x00007aa4 jalr t9                                   |             t9 ();
    0x00007aa8 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007aac lw t9, -0x7d40(gp)                        |             t9 = *(gp);
    0x00007ab0 move a0, s4                               |             a0 = s4;
    0x00007ab4 move a1, fp                               |             a1 = fp;
    0x00007ab8 jalr t9                                   |             t9 ();
    0x00007abc lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007ac0 lw t9, -0x7f5c(gp)                        |             t9 = *(gp);
    0x00007ac4 move a0, fp                               |             a0 = fp;
    0x00007ac8 jalr t9                                   |             t9 ();
    0x00007acc lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007ad0 lw t9, -0x7d40(gp)                        |             t9 = *(gp);
                                                         |             /* obj.ourIPv4Address_UsageEnvironment_::ourAddress */
                                                         | label_3:
    0x00007ad4 addiu a0, s3, 0x3038                      |             a0 = s3 + 0x3038;
    0x00007ad8 move a1, s4                               |             a1 = s4;
    0x00007adc jalr t9                                   |             t9 ();
    0x00007ae0 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007ae4 lw t9, -0x7f5c(gp)                        |             t9 = *(gp);
    0x00007ae8 move a0, s4                               |             a0 = s4;
    0x00007aec jalr t9                                   |             t9 ();
    0x00007af0 lw gp, 0x20(sp)                           |             gp = *(var_20h);
    0x00007af4 lw t9, -0x7f5c(gp)                        |             t9 = *(gp);
    0x00007af8 move a0, s6                               |             a0 = s6;
    0x00007afc jalr t9                                   |             t9 ();
    0x00007b00 lw gp, 0x20(sp)                           |             gp = *(var_20h);
                                                         |         }
    0x00007b04 lw t9, -0x7d04(gp)                        |         t9 = *(gp);
    0x00007b08 move a0, s2                               |         a0 = s2;
                                                         |         /* obj.ourIPv4Address_UsageEnvironment_::ourAddress */
    0x00007b0c addiu a1, s3, 0x3038                      |         a1 = s3 + 0x3038;
    0x00007b10 jalr t9                                   |         t9 ();
    0x00007b14 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00007b18 lw t9, -0x7f5c(gp)                        |         t9 = *(gp);
    0x00007b1c move a0, s1                               |         a0 = s1;
    0x00007b20 jalr t9                                   |         t9 ();
    0x00007b24 move v0, s2                               |         v0 = s2;
    0x00007b28 lw ra, 0x52c(sp)                          |         ra = *(var_52ch);
    0x00007b2c lw fp, 0x528(sp)                          |         fp = *(var_528h);
    0x00007b30 lw s7, 0x524(sp)                          |         s7 = *(var_524h);
    0x00007b34 lw s6, 0x520(sp)                          |         s6 = *(var_520h);
    0x00007b38 lw s5, 0x51c(sp)                          |         s5 = *(var_51ch);
    0x00007b3c lw s4, 0x518(sp)                          |         s4 = *(var_518h);
    0x00007b40 lw s3, 0x514(sp)                          |         s3 = *(var_514h);
    0x00007b44 lw s2, 0x510(sp)                          |         s2 = *(var_510h);
    0x00007b48 lw s1, 0x50c(sp)                          |         s1 = *(var_50ch);
    0x00007b4c lw s0, 0x508(sp)                          |         s0 = *(var_508h);
    0x00007b50 addiu sp, sp, 0x530                       |         
    0x00007b54 jr ra                                     |         return v0;
                                                         | label_7:
    0x00007b58 lw t9, -0x7fa0(gp)                        |         t9 = sym.imp.__cxa_guard_acquire;
                                                         |         /* obj.guard_variable_for_ourIPv4Address_UsageEnvironment_::ourAddress */
    0x00007b5c addiu a0, s0, 0x3140                      |         a0 = s0 + 0x3140;
    0x00007b60 jalr t9                                   |         t9 ();
    0x00007b64 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00007b68 lw s3, -0x7fe4(gp)                        |         s3 = *((gp - 8185));
    0x00007b6c beqz v0, 0x7878                           |         
                                                         |     } while (v0 == 0);
    0x00007b70 lw t9, -0x7cf4(gp)                        |     t9 = *(gp);
                                                         |     /* obj.ourIPv4Address_UsageEnvironment_::ourAddress */
    0x00007b74 addiu a0, s3, 0x3038                      |     a0 = s3 + 0x3038;
    0x00007b78 jalr t9                                   |     t9 ();
    0x00007b7c lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007b80 lw t9, -0x7ef4(gp)                        |     t9 = sym.imp.__cxa_guard_release;
                                                         |     /* obj.guard_variable_for_ourIPv4Address_UsageEnvironment_::ourAddress */
    0x00007b84 addiu a0, s0, 0x3140                      |     a0 = s0 + 0x3140;
    0x00007b88 jalr t9                                   |     t9 ();
    0x00007b8c lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007b90 lw t9, -0x7e64(gp)                        |     t9 = sym.imp.__cxa_atexit;
    0x00007b94 lw a0, -0x7f5c(gp)                        |     a0 = *(gp);
    0x00007b98 lw a2, -0x7fe0(gp)                        |     a2 = *(gp);
                                                         |     /* obj.ourIPv4Address_UsageEnvironment_::ourAddress */
    0x00007b9c addiu a1, s3, 0x3038                      |     a1 = s3 + 0x3038;
    0x00007ba0 jalr t9                                   |     t9 ();
    0x00007ba4 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007ba8 b 0x7878                                  |     goto label_0;
                                                         | label_9:
    0x00007bac lw t9, -0x7eac(gp)                        |     t9 = sym.imp.memset;
    0x00007bb0 move a1, zero                             |     a1 = 0;
    0x00007bb4 move a0, s4                               |     a0 = s4;
    0x00007bb8 addiu a2, zero, 0x64                      |     a2 = 0x64;
    0x00007bbc jalr t9                                   |     t9 ();
    0x00007bc0 move a0, s4                               |     a0 = s4;
    0x00007bc4 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007bc8 lw t9, -0x7eec(gp)                        |     t9 = sym.imp.gethostname;
    0x00007bcc addiu a1, zero, 0x64                      |     a1 = 0x64;
    0x00007bd0 jalr t9                                   |     t9 ();
    0x00007bd4 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00007bd8 bnez v0, 0x7be8                           |         
    0x00007bdc lb t8, 0x130(sp)                          |         t8 = *(var_130h);
    0x00007be0 addiu s7, sp, 0x1b4                       |         s7 = sp + 0x1b4;
                                                         |         if (t8 != 0) {
    0x00007be4 bnez t8, 0x7d8c                           |             goto label_11;
                                                         |         }
                                                         |     }
    0x00007be8 lw t8, (s5)                               |     t8 = *(s5);
    0x00007bec move a0, s5                               |     a0 = s5;
    0x00007bf0 lw a1, -0x7fd4(gp)                        |     a1 = *(gp);
    0x00007bf4 move a2, zero                             |     a2 = 0;
    0x00007bf8 lw t9, 0x10(t8)                           |     t9 = *((t8 + 4));
    0x00007bfc addiu a1, a1, -0x738                      |     a1 += -0x738;
    0x00007c00 jalr t9                                   |     t9 ();
    0x00007c04 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007c08 b 0x79e8                                  |     goto label_1;
                                                         | label_10:
    0x00007c0c lw t9, -0x7f34(gp)                        |     t9 = *(gp);
    0x00007c10 move a0, s6                               |     a0 = s6;
    0x00007c14 jalr t9                                   |     t9 ();
    0x00007c18 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 != 0) {
    0x00007c1c bnez v0, 0x7a10                           |         goto label_2;
                                                         |     }
    0x00007c20 lw t9, -0x7d40(gp)                        |     t9 = *(gp);
    0x00007c24 b 0x7ad4                                  |     goto label_3;
                                                         | label_8:
    0x00007c28 lw v0, -0x7fd4(gp)                        |     v0 = *(gp);
    0x00007c2c addiu fp, sp, 0x238                       |     fp = sp + aav.0x00000238;
    0x00007c30 lw t9, -0x7d04(gp)                        |     t9 = *(gp);
    0x00007c34 move a0, fp                               |     a0 = fp;
    0x00007c38 addiu t8, v0, -0x6ec                      |     t8 = v0 + -0x6ec;
    0x00007c3c move a1, s1                               |     a1 = s1;
    0x00007c40 lw a2, -0x6ec(v0)                         |     a2 = *((v0 - 443));
    0x00007c44 lw v1, 4(t8)                              |     v1 = *((t8 + 1));
    0x00007c48 lhu v0, 8(t8)                             |     v0 = *((t8 + 4));
    0x00007c4c lbu t8, 0xa(t8)                           |     t8 = *((t8 + 10));
    0x00007c50 sw a2, 0x130(sp)                          |     *(var_130h) = a2;
    0x00007c54 sw v1, 0x134(sp)                          |     *(var_134h) = v1;
    0x00007c58 sh v0, 0x138(sp)                          |     *(var_138h) = v0;
    0x00007c5c sb t8, 0x13a(sp)                          |     *(var_13ah) = t8;
    0x00007c60 jalr t9                                   |     t9 ();
    0x00007c64 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007c68 addiu s4, sp, 0x130                       |     s4 = sp + aav.0x00000130;
    0x00007c6c addiu t8, zero, 0xb                       |     t8 = 0xb;
    0x00007c70 lw t9, -0x7f44(gp)                        |     t9 = sym.writeSocket_UsageEnvironment__int__NetAddress__Port__unsigned_char__unsigned_char__unsigned_int_;
    0x00007c74 move a0, s5                               |     a0 = s5;
    0x00007c78 lhu a3, 0x340(sp)                         |     a3 = *(var_340h);
    0x00007c7c move a1, s0                               |     a1 = s0;
    0x00007c80 sw zero, 0x10(sp)                         |     *(var_10h) = 0;
    0x00007c84 move a2, fp                               |     a2 = fp;
    0x00007c88 sw s4, 0x14(sp)                           |     *(var_14h) = s4;
    0x00007c8c sw t8, 0x18(sp)                           |     *(var_18h) = t8;
    0x00007c90 jalr t9                                   |     t9 ();
    0x00007c94 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007c98 lw t9, -0x7f5c(gp)                        |     t9 = *(gp);
    0x00007c9c move a0, fp                               |     a0 = fp;
    0x00007ca0 move s7, v0                               |     s7 = v0;
    0x00007ca4 jalr t9                                   |     t9 ();
    0x00007ca8 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (s7 == 0) {
    0x00007cac beqz s7, 0x7988                           |         goto label_4;
                                                         |     }
    0x00007cb0 addiu fp, sp, 0x28                        |     fp = sp + 0x28;
    0x00007cb4 addiu v0, sp, 0xa8                        |     v0 = sp + 0xa8;
    0x00007cb8 move t8, fp                               |     t8 = fp;
                                                         |     do {
    0x00007cbc sw zero, (t8)                             |         *(t8) = 0;
    0x00007cc0 addiu t8, t8, 4                           |         t8 += 4;
    0x00007cc4 addiu v1, zero, 1                         |         v1 = 1;
    0x00007cc8 bne t8, v0, 0x7cbc                        |         
                                                         |     } while (t8 != v0);
    0x00007ccc srl t8, s0, 5                             |     t8 = s0 >> 5;
    0x00007cd0 sll t8, t8, 2                             |     t8 <<= 2;
    0x00007cd4 addiu s7, sp, 0x1b4                       |     s7 = sp + 0x1b4;
    0x00007cd8 addu t8, fp, t8                           |     t8 = fp + t8;
    0x00007cdc sllv v1, v1, s0                           |     v1 <<= s0;
    0x00007ce0 lw v0, (t8)                               |     v0 = *(t8);
    0x00007ce4 addiu a0, s0, 1                           |     a0 = s0 + 1;
    0x00007ce8 sw s7, 0x10(sp)                           |     *(var_10h) = s7;
    0x00007cec move a1, fp                               |     a1 = fp;
    0x00007cf0 or v0, v1, v0                             |     v0 = v1 | v0;
    0x00007cf4 lw t9, -0x7dac(gp)                        |     t9 = sym.imp.select;
    0x00007cf8 sw v0, (t8)                               |     *(t8) = v0;
    0x00007cfc addiu t8, zero, 5                         |     t8 = 5;
    0x00007d00 move a2, zero                             |     a2 = 0;
    0x00007d04 move a3, zero                             |     a3 = 0;
    0x00007d08 sw t8, 0x1b4(sp)                          |     *(var_1b4h) = t8;
    0x00007d0c sw zero, 0x1b8(sp)                        |     *(var_1b8h) = 0;
    0x00007d10 jalr t9                                   |     t9 ();
    0x00007d14 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 <= 0) {
    0x00007d18 blez v0, 0x798c                           |         goto label_5;
                                                         |     }
    0x00007d1c addiu v0, sp, 0xac                        |     v0 = sp + 0xac;
    0x00007d20 move a0, s5                               |     a0 = s5;
    0x00007d24 lw t9, -0x7d10(gp)                        |     t9 = sym.readSocket_UsageEnvironment__int__unsigned_char__unsigned_int__NetAddress_;
    0x00007d28 move a1, s0                               |     a1 = s0;
    0x00007d2c sw v0, 0x500(sp)                          |     *(var_500h) = v0;
    0x00007d30 move a2, v0                               |     a2 = v0;
    0x00007d34 sw s6, 0x10(sp)                           |     *(var_10h) = s6;
    0x00007d38 addiu a3, zero, 0x14                      |     a3 = 0x14;
    0x00007d3c jalr t9                                   |     t9 ();
    0x00007d40 addiu t8, zero, 0xb                       |     t8 = 0xb;
    0x00007d44 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 != t8) {
    0x00007d48 bne v0, t8, 0x798c                        |         goto label_5;
                                                         |     }
    0x00007d4c lw t9, -0x7e40(gp)                        |     t9 = sym.imp.strncmp;
    0x00007d50 move a1, s4                               |     a1 = s4;
    0x00007d54 lw a0, 0x500(sp)                          |     a0 = *(var_500h);
    0x00007d58 addiu a2, zero, 0xb                       |     a2 = 0xb;
    0x00007d5c jalr t9                                   |     t9 ();
    0x00007d60 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 != 0) {
    0x00007d64 bnez v0, 0x798c                           |         goto label_5;
                                                         |     }
    0x00007d68 lw t9, -0x7cf0(gp)                        |     t9 = *(gp);
    0x00007d6c move a0, s6                               |     a0 = s6;
    0x00007d70 jalr t9                                   |     t9 ();
    0x00007d74 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00007d78 beqz v0, 0x7ea0                           |         goto label_12;
                                                         |     }
    0x00007d7c lw t8, -0x7eb4(gp)                        |     t8 = *(gp);
    0x00007d80 move v0, zero                             |     v0 = 0;
    0x00007d84 sb v0, (t8)                               |     *(t8) = v0;
    0x00007d88 b 0x798c                                  |     goto label_5;
                                                         | label_11:
    0x00007d8c move a1, s4                               |     a1 = s4;
    0x00007d90 lw t9, -0x7f84(gp)                        |     t9 = *(gp);
    0x00007d94 move a0, s7                               |     a0 = s7;
    0x00007d98 jalr t9                                   |     t9 ();
    0x00007d9c lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007da0 addiu fp, sp, 0x238                       |     fp = sp + aav.0x00000238;
    0x00007da4 move a1, s7                               |     a1 = s7;
    0x00007da8 lw t9, -0x7fa8(gp)                        |     t9 = *(gp);
    0x00007dac move a0, fp                               |     a0 = fp;
    0x00007db0 jalr t9                                   |     t9 ();
    0x00007db4 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007db8 lw v0, -0x7fd4(gp)                        |     v0 = *(gp);
    0x00007dbc addiu t8, sp, 0xac                        |     t8 = sp + 0xac;
    0x00007dc0 lw t9, -0x7de8(gp)                        |     t9 = *(gp);
    0x00007dc4 move a0, t8                               |     a0 = t8;
    0x00007dc8 sw t8, 0x500(sp)                          |     *(var_500h) = t8;
    0x00007dcc addiu a1, v0, -0x79c                      |     a1 = v0 + -0x79c;
    0x00007dd0 addiu a2, zero, 2                         |     a2 = 2;
    0x00007dd4 jalr t9                                   |     t9 ();
    0x00007dd8 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007ddc addiu s0, sp, 0x28                        |     s0 = sp + 0x28;
    0x00007de0 b 0x7df4                                  |     
                                                         |     while (v0 != 0) {
                                                         | label_6:
    0x00007de4 lw t9, -0x7f5c(gp)                        |         t9 = *(gp);
    0x00007de8 move a0, s0                               |         a0 = s0;
    0x00007dec jalr t9                                   |         t9 ();
    0x00007df0 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00007df4 lw t9, -0x7f88(gp)                        |         t9 = *(gp);
    0x00007df8 move a0, fp                               |         a0 = fp;
    0x00007dfc jalr t9                                   |         t9 ();
    0x00007e00 lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (v0 == 0) {
    0x00007e04 beqz v0, 0x7e68                           |             goto label_13;
                                                         |         }
    0x00007e08 lw t9, -0x7d04(gp)                        |         t9 = *(gp);
    0x00007e0c move a0, s0                               |         a0 = s0;
    0x00007e10 move a1, v0                               |         a1 = v0;
    0x00007e14 jalr t9                                   |         t9 ();
    0x00007e18 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00007e1c lw t9, -0x7cf0(gp)                        |         t9 = *(gp);
    0x00007e20 move a0, s0                               |         a0 = s0;
    0x00007e24 jalr t9                                   |         t9 ();
    0x00007e28 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00007e2c bnez v0, 0x7de4                           |         
                                                         |     }
    0x00007e30 lw t9, -0x7f34(gp)                        |     t9 = *(gp);
    0x00007e34 move a0, s0                               |     a0 = s0;
    0x00007e38 jalr t9                                   |     t9 ();
    0x00007e3c lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 != 0) {
    0x00007e40 bnez v0, 0x7de4                           |         goto label_6;
                                                         |     }
    0x00007e44 lw t9, -0x7d40(gp)                        |     t9 = *(gp);
    0x00007e48 move a1, s0                               |     a1 = s0;
    0x00007e4c lw a0, 0x500(sp)                          |     a0 = *(var_500h);
    0x00007e50 jalr t9                                   |     t9 ();
    0x00007e54 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007e58 lw t9, -0x7f5c(gp)                        |     t9 = *(gp);
    0x00007e5c move a0, s0                               |     a0 = s0;
    0x00007e60 jalr t9                                   |     t9 ();
    0x00007e64 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         | label_13:
    0x00007e68 lw t9, -0x7d40(gp)                        |     t9 = *(gp);
    0x00007e6c move a0, s6                               |     a0 = s6;
    0x00007e70 lw a1, 0x500(sp)                          |     a1 = *(var_500h);
    0x00007e74 jalr t9                                   |     t9 ();
    0x00007e78 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007e7c lw t9, -0x7f5c(gp)                        |     t9 = *(gp);
    0x00007e80 lw a0, 0x500(sp)                          |     a0 = *(var_500h);
    0x00007e84 jalr t9                                   |     t9 ();
    0x00007e88 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007e8c lw t9, -0x7df8(gp)                        |     t9 = *(gp);
    0x00007e90 move a0, s7                               |     a0 = s7;
    0x00007e94 jalr t9                                   |     t9 ();
    0x00007e98 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007e9c b 0x79e8                                  |     goto label_1;
                                                         | label_12:
    0x00007ea0 lw t9, -0x7f34(gp)                        |     t9 = *(gp);
    0x00007ea4 move a0, s6                               |     a0 = s6;
    0x00007ea8 jalr t9                                   |     t9 ();
    0x00007eac lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00007eb0 lw t8, -0x7eb4(gp)                        |     t8 = *(gp);
    0x00007eb4 sltiu v0, v0, 1                           |     v0 = (v0 < 1) ? 1 : 0;
    0x00007eb8 sb v0, (t8)                               |     *(t8) = v0;
    0x00007ebc b 0x798c                                  |     goto label_5;
                                                         | }
    ; assembly                                                           | /* r2dec pseudo code output */
                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libgroupsock.so.8.1.0 @ 0x86a8 */
                                                                         | #include <stdint.h>
                                                                         |  
    ; (fcn) sym.setupDatagramSocket_UsageEnvironment__Port__int_ ()      | void setupDatagramSocket_UsageEnvironment_Port_int_ () {
                                                                         |     /* setupDatagramSocket(UsageEnvironment&, Port, int) */
    0x000086a8 lui gp, 2                                                 |     
    0x000086ac addiu gp, gp, 0x2468                                      |     
    0x000086b0 addu gp, gp, t9                                           |     gp += t9;
    0x000086b4 addiu sp, sp, -0x1e8                                      |     
    0x000086b8 sw ra, 0x1e4(sp)                                          |     *(var_1e4h) = ra;
    0x000086bc sw s7, 0x1e0(sp)                                          |     *(var_1e0h) = s7;
    0x000086c0 sw s6, 0x1dc(sp)                                          |     *(var_1dch) = s6;
    0x000086c4 sw s5, 0x1d8(sp)                                          |     *(var_1d8h) = s5;
    0x000086c8 sw s4, 0x1d4(sp)                                          |     *(var_1d4h) = s4;
    0x000086cc sw s3, 0x1d0(sp)                                          |     *(var_1d0h) = s3;
    0x000086d0 sw s2, 0x1cc(sp)                                          |     *(var_1cch) = s2;
    0x000086d4 sw s1, 0x1c8(sp)                                          |     *(var_1c8h) = s1;
    0x000086d8 sw s0, 0x1c4(sp)                                          |     *(var_1c4h) = s0;
    0x000086dc move s2, a0                                               |     s2 = a0;
    0x000086e0 lw t9, -0x7fd8(gp)                                        |     t9 = *((gp - 8182));
    0x000086e4 addiu a0, zero, 1                                         |     a0 = 1;
    0x000086e8 sw gp, 0x18(sp)                                           |     *(var_18h) = gp;
    0x000086ec move s4, a1                                               |     s4 = a1;
    0x000086f0 addiu t9, t9, 0x5734                                      |     t9 += sym.createSocket_int__int_;
    0x000086f4 move a1, a2                                               |     a1 = a2;
    0x000086f8 move s1, a2                                               |     s1 = a2;
    0x000086fc jalr t9                                                   |     t9 ();
    0x00008700 move s0, v0                                               |     s0 = v0;
    0x00008704 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 < 0) {
    0x00008708 bltz v0, 0x8a24                                           |         goto label_7;
                                                                         |     }
    0x0000870c lw t9, -0x7dc4(gp)                                        |     t9 = sym.groupsockPriv_UsageEnvironment_;
    0x00008710 move a0, s2                                               |     a0 = s2;
    0x00008714 addiu s5, sp, 0x1b0                                       |     s5 = sp + 0x1b0;
    0x00008718 addiu s3, zero, 4                                         |     s3 = 4;
    0x0000871c jalr t9                                                   |     t9 ();
    0x00008720 move a0, s2                                               |     a0 = s2;
    0x00008724 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008728 lw t8, 4(v0)                                              |     t8 = *((v0 + 1));
    0x0000872c lw t9, -0x7ce4(gp)                                        |     t9 = sym.reclaimGroupsockPriv_UsageEnvironment_;
    0x00008730 sw t8, 0x1b0(sp)                                          |     *(var_1b0h) = t8;
    0x00008734 jalr t9                                                   |     t9 ();
    0x00008738 move a0, s0                                               |     a0 = s0;
    0x0000873c lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008740 ori a1, zero, 0xffff                                      |     a1 = 0xffff;
    0x00008744 sw s3, 0x10(sp)                                           |     *(var_10h) = s3;
    0x00008748 addiu a2, zero, 4                                         |     a2 = 4;
    0x0000874c lw t9, -0x7e18(gp)                                        |     t9 = sym.imp.setsockopt;
    0x00008750 move a3, s5                                               |     a3 = s5;
    0x00008754 jalr t9                                                   |     t9 ();
    0x00008758 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 < 0) {
    0x0000875c bltz v0, 0x8b10                                           |         goto label_8;
                                                                         |     }
    0x00008760 lw t9, -0x7e18(gp)                                        |     t9 = sym.imp.setsockopt;
    0x00008764 move a0, s0                                               |     a0 = s0;
    0x00008768 sw s3, 0x10(sp)                                           |     *(var_10h) = s3;
    0x0000876c ori a1, zero, 0xffff                                      |     a1 = 0xffff;
    0x00008770 addiu a2, zero, 0x200                                     |     a2 = 0x200;
    0x00008774 move a3, s5                                               |     a3 = s5;
    0x00008778 jalr t9                                                   |     t9 ();
    0x0000877c lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 < 0) {
    0x00008780 bltz v0, 0x8b74                                           |         goto label_9;
                                                                         |     }
    0x00008784 addiu t8, zero, 2                                         |     t8 = 2;
    0x00008788 addiu t8, zero, 0xa                                       |     t8 = 0xa;
                                                                         |     if (s1 == t8) {
    0x0000878c beq s1, t8, 0x8a70                                        |         goto label_10;
                                                                         |     }
    0x00008790 lw t9, -0x7e18(gp)                                        |     t9 = sym.imp.setsockopt;
                                                                         |     if (s1 == t8) {
    0x00008794 beq s1, t8, 0x88f0                                        |         goto label_11;
                                                                         |     }
                                                                         | label_1:
    0x00008798 lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x0000879c addiu s3, sp, 0x128                                       |     s3 = sp + aav.0x00000128;
    0x000087a0 lw t9, -0x7de8(gp)                                        |     t9 = *(gp);
    0x000087a4 move a0, s3                                               |     a0 = s3;
    0x000087a8 addiu a1, a1, -0x79c                                      |     a1 += -0x79c;
    0x000087ac move a2, s1                                               |     a2 = s1;
    0x000087b0 andi s6, s4, 0xffff                                       |     s6 = s4 & 0xffff;
    0x000087b4 jalr t9                                                   |     t9 ();
    0x000087b8 srl s6, s6, 8                                             |     s6 >>= 8;
    0x000087bc sll t8, s4, 8                                             |     t8 = s4 << 8;
    0x000087c0 or s6, s6, t8                                             |     s6 |= t8;
    0x000087c4 andi s6, s6, 0xffff                                       |     s6 &= 0xffff;
    0x000087c8 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (s6 == 0) {
    0x000087cc beqz s6, 0x8950                                           |         goto label_12;
                                                                         |     }
    0x000087d0 addiu s5, sp, 0x20                                        |     s5 = sp + 0x20;
                                                                         | label_4:
    0x000087d4 lw t9, -0x7ef8(gp)                                        |     t9 = *(gp);
    0x000087d8 move a0, s5                                               |     a0 = s5;
    0x000087dc move a1, s3                                               |     a1 = s3;
    0x000087e0 addiu a3, sp, 0x1ac                                       |     a3 = sp + 0x1ac;
    0x000087e4 move a2, s4                                               |     a2 = s4;
    0x000087e8 sw zero, 0x1ac(sp)                                        |     *(var_1ach) = 0;
    0x000087ec jalr t9                                                   |     t9 ();
    0x000087f0 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x000087f4 lw t9, -0x7e04(gp)                                        |     t9 = sym.imp.bind;
    0x000087f8 move a0, s0                                               |     a0 = s0;
    0x000087fc move a1, s5                                               |     a1 = s5;
    0x00008800 addiu a2, zero, 0x80                                      |     a2 = 0x80;
    0x00008804 jalr t9                                                   |     t9 ();
    0x00008808 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 != 0) {
    0x0000880c bnez v0, 0x89d4                                           |         goto label_13;
                                                                         |     }
                                                                         | label_3:
    0x00008810 lw a0, -0x7fb4(gp)                                        |     a0 = *(gp);
    0x00008814 lw t9, -0x7e54(gp)                                        |     t9 = *(gp);
    0x00008818 jalr t9                                                   |     t9 ();
    0x0000881c nop                                                       |     
    0x00008820 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 != 0) {
    0x00008824 bnez v0, 0x886c                                           |         goto label_14;
                                                                         |     }
                                                                         | label_0:
    0x00008828 move v0, s0                                               |     v0 = s0;
                                                                         |     do {
                                                                         | label_5:
    0x0000882c lw t9, -0x7f5c(gp)                                        |         t9 = *(gp);
    0x00008830 move a0, s3                                               |         a0 = s3;
    0x00008834 sw v0, 0x1b8(sp)                                          |         *(var_1b8h) = v0;
    0x00008838 jalr t9                                                   |         t9 ();
    0x0000883c lw v0, 0x1b8(sp)                                          |         v0 = *(var_1b8h);
                                                                         | label_2:
    0x00008840 lw ra, 0x1e4(sp)                                          |         ra = *(var_1e4h);
    0x00008844 lw s7, 0x1e0(sp)                                          |         s7 = *(var_1e0h);
    0x00008848 lw s6, 0x1dc(sp)                                          |         s6 = *(var_1dch);
    0x0000884c lw s5, 0x1d8(sp)                                          |         s5 = *(var_1d8h);
    0x00008850 lw s4, 0x1d4(sp)                                          |         s4 = *(var_1d4h);
    0x00008854 lw s3, 0x1d0(sp)                                          |         s3 = *(var_1d0h);
    0x00008858 lw s2, 0x1cc(sp)                                          |         s2 = *(var_1cch);
    0x0000885c lw s1, 0x1c8(sp)                                          |         s1 = *(var_1c8h);
    0x00008860 lw s0, 0x1c4(sp)                                          |         s0 = *(var_1c4h);
    0x00008864 addiu sp, sp, 0x1e8                                       |         
    0x00008868 jr ra                                                     |         return v0;
                                                                         | label_14:
    0x0000886c addiu t8, zero, 2                                         |         t8 = 2;
    0x00008870 addiu t8, zero, 0xa                                       |         t8 = 0xa;
                                                                         |         if (s1 == t8) {
    0x00008874 beq s1, t8, 0x8ab8                                        |             goto label_15;
                                                                         |         }
    0x00008878 move v0, s0                                               |         v0 = s0;
    0x0000887c bne s1, t8, 0x882c                                        |         
                                                                         |     } while (s1 != t8);
    0x00008880 lw t9, -0x7f58(gp)                                        |     t9 = sym.ourOutputInterfaceName_UsageEnvironment_;
    0x00008884 move a0, s2                                               |     a0 = s2;
    0x00008888 jalr t9                                                   |     t9 ();
    0x0000888c lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008890 lw t9, -0x7e0c(gp)                                        |     t9 = sym.imp.if_nametoindex;
    0x00008894 move a0, v0                                               |     a0 = v0;
    0x00008898 jalr t9                                                   |     t9 ();
    0x0000889c addiu t8, zero, 4                                         |     t8 = 4;
    0x000088a0 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x000088a4 move a0, s0                                               |     a0 = s0;
    0x000088a8 sw t8, 0x10(sp)                                           |     *(var_10h) = t8;
    0x000088ac addiu a1, zero, 0x29                                      |     a1 = 0x29;
    0x000088b0 lw t9, -0x7e18(gp)                                        |     t9 = sym.imp.setsockopt;
    0x000088b4 addiu a2, zero, 0x11                                      |     a2 = 0x11;
    0x000088b8 addiu a3, sp, 0x20                                        |     a3 = sp + 0x20;
    0x000088bc sw v0, 0x20(sp)                                           |     *(var_20h) = v0;
    0x000088c0 jalr t9                                                   |     t9 ();
    0x000088c4 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 >= 0) {
    0x000088c8 bgez v0, 0x8828                                           |         goto label_0;
                                                                         |     }
    0x000088cc lw t8, (s2)                                               |     t8 = *(s2);
    0x000088d0 move a0, s2                                               |     a0 = s2;
    0x000088d4 lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x000088d8 move a2, zero                                             |     a2 = 0;
    0x000088dc lw t9, 0x10(t8)                                           |     t9 = *((t8 + 4));
    0x000088e0 addiu a1, a1, -0x648                                      |     a1 += -0x648;
    0x000088e4 jalr t9                                                   |     t9 ();
    0x000088e8 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x000088ec b 0x8a0c                                                  |     goto label_16;
                                                                         | label_11:
    0x000088f0 addiu t8, zero, 1                                         |     t8 = 1;
    0x000088f4 sw s3, 0x10(sp)                                           |     *(var_10h) = s3;
    0x000088f8 move a0, s0                                               |     a0 = s0;
    0x000088fc addiu a1, zero, 0x29                                      |     a1 = 0x29;
    0x00008900 addiu a2, zero, 0x13                                      |     a2 = 0x13;
    0x00008904 addiu a3, sp, 0x20                                        |     a3 = sp + 0x20;
    0x00008908 sw t8, 0x20(sp)                                           |     *(var_20h) = t8;
    0x0000890c jalr t9                                                   |     t9 ();
    0x00008910 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 >= 0) {
    0x00008914 bgez v0, 0x8798                                           |         goto label_1;
                                                                         |     }
    0x00008918 lw t8, (s2)                                               |     t8 = *(s2);
    0x0000891c move a0, s2                                               |     a0 = s2;
    0x00008920 lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x00008924 move a2, zero                                             |     a2 = 0;
    0x00008928 lw t9, 0x10(t8)                                           |     t9 = *((t8 + 4));
    0x0000892c addiu a1, a1, -0x670                                      |     a1 += -0x670;
                                                                         | label_6:
    0x00008930 jalr t9                                                   |     t9 ();
    0x00008934 nop                                                       |     
    0x00008938 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x0000893c lw t9, -0x7fa4(gp)                                        |     t9 = sym.imp.close;
    0x00008940 move a0, s0                                               |     a0 = s0;
    0x00008944 jalr t9                                                   |     t9 ();
    0x00008948 addiu v0, zero, -1                                        |     v0 = -1;
    0x0000894c b 0x8840                                                  |     goto label_2;
                                                                         | label_12:
    0x00008950 lw a0, -0x7f3c(gp)                                        |     a0 = *(gp);
    0x00008954 lw t9, -0x7e54(gp)                                        |     t9 = *(gp);
    0x00008958 jalr t9                                                   |     t9 ();
    0x0000895c nop                                                       |     
    0x00008960 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 == 0) {
    0x00008964 beqz v0, 0x8810                                           |         goto label_3;
                                                                         |     }
    0x00008968 addiu s7, sp, 0xa4                                        |     s7 = sp + 0xa4;
    0x0000896c lw a1, -0x7f3c(gp)                                        |     a1 = *(gp);
    0x00008970 lw t9, -0x7d04(gp)                                        |     t9 = *(gp);
    0x00008974 move a0, s7                                               |     a0 = s7;
    0x00008978 jalr t9                                                   |     t9 ();
    0x0000897c lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008980 addiu s5, sp, 0x20                                        |     s5 = sp + 0x20;
    0x00008984 move a1, s7                                               |     a1 = s7;
    0x00008988 lw t9, -0x7e9c(gp)                                        |     t9 = sym.ourConvertIPAddress_NetAddress__int_;
    0x0000898c move a0, s5                                               |     a0 = s5;
    0x00008990 move a2, s1                                               |     a2 = s1;
    0x00008994 jalr t9                                                   |     t9 ();
    0x00008998 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x0000899c lw t9, -0x7d40(gp)                                        |     t9 = *(gp);
    0x000089a0 move a0, s3                                               |     a0 = s3;
    0x000089a4 move a1, s5                                               |     a1 = s5;
    0x000089a8 jalr t9                                                   |     t9 ();
    0x000089ac lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x000089b0 lw t9, -0x7f5c(gp)                                        |     t9 = *(gp);
    0x000089b4 move a0, s5                                               |     a0 = s5;
    0x000089b8 jalr t9                                                   |     t9 ();
    0x000089bc lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x000089c0 lw t9, -0x7f5c(gp)                                        |     t9 = *(gp);
    0x000089c4 move a0, s7                                               |     a0 = s7;
    0x000089c8 jalr t9                                                   |     t9 ();
    0x000089cc lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x000089d0 b 0x87d4                                                  |     goto label_4;
                                                                         | label_13:
    0x000089d4 lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x000089d8 addiu s1, sp, 0xa4                                        |     s1 = sp + 0xa4;
    0x000089dc lw t9, -0x7ef0(gp)                                        |     t9 = sym.imp.sprintf
    0x000089e0 move a0, s1                                               |     a0 = s1;
    0x000089e4 addiu a1, a1, -0x7bc                                      |     a1 += -0x7bc;
    0x000089e8 move a2, s6                                               |     a2 = s6;
    0x000089ec jalr t9                                                   |     t9 ();
    0x000089f0 move a0, s2                                               |     a0 = s2;
    0x000089f4 lw t8, (s2)                                               |     t8 = *(s2);
    0x000089f8 move a1, s1                                               |     a1 = s1;
    0x000089fc lw t9, 0x10(t8)                                           |     t9 = *((t8 + 4));
    0x00008a00 move a2, zero                                             |     a2 = 0;
    0x00008a04 jalr t9                                                   |     t9 ();
    0x00008a08 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         | label_16:
    0x00008a0c lw t9, -0x7fa4(gp)                                        |     t9 = sym.imp.close;
    0x00008a10 move a0, s0                                               |     a0 = s0;
    0x00008a14 jalr t9                                                   |     t9 ();
    0x00008a18 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008a1c addiu v0, zero, -1                                        |     v0 = -1;
    0x00008a20 b 0x882c                                                  |     goto label_5;
                                                                         | label_7:
    0x00008a24 lw t8, (s2)                                               |     t8 = *(s2);
    0x00008a28 move a0, s2                                               |     a0 = s2;
    0x00008a2c lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x00008a30 move a2, zero                                             |     a2 = 0;
    0x00008a34 lw t9, 0x10(t8)                                           |     t9 = *((t8 + 4));
    0x00008a38 addiu a1, a1, -0x6e0                                      |     a1 += -0x6e0;
    0x00008a3c jalr t9                                                   |     t9 ();
    0x00008a40 move v0, s0                                               |     v0 = s0;
    0x00008a44 lw ra, 0x1e4(sp)                                          |     ra = *(var_1e4h);
    0x00008a48 lw s7, 0x1e0(sp)                                          |     s7 = *(var_1e0h);
    0x00008a4c lw s6, 0x1dc(sp)                                          |     s6 = *(var_1dch);
    0x00008a50 lw s5, 0x1d8(sp)                                          |     s5 = *(var_1d8h);
    0x00008a54 lw s4, 0x1d4(sp)                                          |     s4 = *(var_1d4h);
    0x00008a58 lw s3, 0x1d0(sp)                                          |     s3 = *(var_1d0h);
    0x00008a5c lw s2, 0x1cc(sp)                                          |     s2 = *(var_1cch);
    0x00008a60 lw s1, 0x1c8(sp)                                          |     s1 = *(var_1c8h);
    0x00008a64 lw s0, 0x1c4(sp)                                          |     s0 = *(var_1c4h);
    0x00008a68 addiu sp, sp, 0x1e8                                       |     
    0x00008a6c jr ra                                                     |     return v0;
                                                                         | label_10:
    0x00008a70 lw t9, -0x7e18(gp)                                        |     t9 = sym.imp.setsockopt;
    0x00008a74 addiu t8, zero, 1                                         |     t8 = 1;
    0x00008a78 move a0, s0                                               |     a0 = s0;
    0x00008a7c sw t8, 0x10(sp)                                           |     *(var_10h) = t8;
    0x00008a80 move a1, zero                                             |     a1 = 0;
    0x00008a84 addiu a2, zero, 0x22                                      |     a2 = 0x22;
    0x00008a88 addiu a3, sp, 0x20                                        |     a3 = sp + 0x20;
    0x00008a8c sb t8, 0x20(sp)                                           |     *(var_20h) = t8;
    0x00008a90 jalr t9                                                   |     t9 ();
    0x00008a94 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 >= 0) {
    0x00008a98 bgez v0, 0x8798                                           |         goto label_1;
                                                                         |     }
    0x00008a9c lw t8, (s2)                                               |     t8 = *(s2);
    0x00008aa0 move a0, s2                                               |     a0 = s2;
    0x00008aa4 lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x00008aa8 move a2, zero                                             |     a2 = 0;
    0x00008aac lw t9, 0x10(t8)                                           |     t9 = *((t8 + 4));
    0x00008ab0 addiu a1, a1, -0x698                                      |     a1 += -0x698;
    0x00008ab4 b 0x8930                                                  |     goto label_6;
                                                                         | label_15:
    0x00008ab8 addiu s5, sp, 0x20                                        |     s5 = sp + 0x20;
    0x00008abc lw a1, -0x7fb4(gp)                                        |     a1 = *(gp);
    0x00008ac0 lw t9, -0x7d04(gp)                                        |     t9 = *(gp);
    0x00008ac4 move a0, s5                                               |     a0 = s5;
    0x00008ac8 jalr t9                                                   |     t9 ();
    0x00008acc lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008ad0 addiu t8, zero, 0x84                                      |     t8 = 0x84;
    0x00008ad4 move a0, s0                                               |     a0 = s0;
    0x00008ad8 lw t9, -0x7e18(gp)                                        |     t9 = sym.imp.setsockopt;
    0x00008adc move a1, zero                                             |     a1 = 0;
    0x00008ae0 sw t8, 0x10(sp)                                           |     *(var_10h) = t8;
    0x00008ae4 addiu a2, zero, 0x20                                      |     a2 = 0x20;
    0x00008ae8 move a3, s5                                               |     a3 = s5;
    0x00008aec jalr t9                                                   |     t9 ();
    0x00008af0 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
                                                                         |     if (v0 >= 0) {
    0x00008af4 bltz v0, 0x8b2c                                           |         
    0x00008af8 lw t9, -0x7f5c(gp)                                        |         t9 = *(gp);
    0x00008afc move a0, s5                                               |         a0 = s5;
    0x00008b00 jalr t9                                                   |         t9 ();
    0x00008b04 lw gp, 0x18(sp)                                           |         gp = *(var_18h);
    0x00008b08 move v0, s0                                               |         v0 = s0;
    0x00008b0c b 0x882c                                                  |         goto label_5;
                                                                         | label_8:
    0x00008b10 lw t8, (s2)                                               |         t8 = *(s2);
    0x00008b14 move a0, s2                                               |         a0 = s2;
    0x00008b18 lw a1, -0x7fd4(gp)                                        |         a1 = *(gp);
    0x00008b1c move a2, zero                                             |         a2 = 0;
    0x00008b20 lw t9, 0x10(t8)                                           |         t9 = *((t8 + 4));
    0x00008b24 addiu a1, a1, -0x7e0                                      |         a1 += -aav.0x000007e0;
    0x00008b28 b 0x8930                                                  |         goto label_6;
                                                                         |     }
    0x00008b2c lw t8, (s2)                                               |     t8 = *(s2);
    0x00008b30 move a0, s2                                               |     a0 = s2;
    0x00008b34 lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x00008b38 move a2, zero                                             |     a2 = 0;
    0x00008b3c lw t9, 0x10(t8)                                           |     t9 = *((t8 + 4));
    0x00008b40 addiu a1, a1, -0x648                                      |     a1 += -0x648;
    0x00008b44 jalr t9                                                   |     t9 ();
    0x00008b48 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008b4c lw t9, -0x7fa4(gp)                                        |     t9 = sym.imp.close;
    0x00008b50 move a0, s0                                               |     a0 = s0;
    0x00008b54 jalr t9                                                   |     t9 ();
    0x00008b58 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008b5c lw t9, -0x7f5c(gp)                                        |     t9 = *(gp);
    0x00008b60 move a0, s5                                               |     a0 = s5;
    0x00008b64 jalr t9                                                   |     t9 ();
    0x00008b68 lw gp, 0x18(sp)                                           |     gp = *(var_18h);
    0x00008b6c addiu v0, zero, -1                                        |     v0 = -1;
    0x00008b70 b 0x882c                                                  |     goto label_5;
                                                                         | label_9:
    0x00008b74 lw t8, (s2)                                               |     t8 = *(s2);
    0x00008b78 move a0, s2                                               |     a0 = s2;
    0x00008b7c lw a1, -0x7fd4(gp)                                        |     a1 = *(gp);
    0x00008b80 move a2, zero                                             |     a2 = 0;
    0x00008b84 lw t9, 0x10(t8)                                           |     t9 = *((t8 + 4));
    0x00008b88 addiu a1, a1, -0x6bc                                      |     a1 += -0x6bc;
    0x00008b8c b 0x8930                                                  |     goto label_6;
                                                                         | }
    ; assembly                                                                       | /* r2dec pseudo code output */
                                                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libgroupsock.so.8.1.0 @ 0x6f58 */
                                                                                     | #include <stdint.h>
                                                                                     |  
    ; (fcn) sym.setupStreamSocket_UsageEnvironment__Port__int__unsigned_char_ ()     | void setupStreamSocket_UsageEnvironment_Port_int_unsigned_char_ () {
                                                                                     |     /* setupStreamSocket(UsageEnvironment&, Port, int, unsigned char) */
    0x00006f58 lui gp, 2                                                             |     
    0x00006f5c addiu gp, gp, 0x3bb8                                                  |     
    0x00006f60 addu gp, gp, t9                                                       |     gp += t9;
    0x00006f64 addiu sp, sp, -0x260                                                  |     
    0x00006f68 sw ra, 0x25c(sp)                                                      |     *(var_25ch) = ra;
    0x00006f6c sw fp, 0x258(sp)                                                      |     *(var_258h) = fp;
    0x00006f70 sw s7, 0x254(sp)                                                      |     *(var_254h) = s7;
    0x00006f74 sw s6, 0x250(sp)                                                      |     *(var_250h) = s6;
    0x00006f78 sw s5, 0x24c(sp)                                                      |     *(var_24ch) = s5;
    0x00006f7c sw s4, 0x248(sp)                                                      |     *(var_248h) = s4;
    0x00006f80 sw s3, 0x244(sp)                                                      |     *(var_244h) = s3;
    0x00006f84 sw s2, 0x240(sp)                                                      |     *(var_240h) = s2;
    0x00006f88 sw s1, 0x23c(sp)                                                      |     *(var_23ch) = s1;
    0x00006f8c sw s0, 0x238(sp)                                                      |     *(var_238h) = s0;
    0x00006f90 move s1, a0                                                           |     s1 = a0;
    0x00006f94 lw t9, -0x7fd8(gp)                                                    |     t9 = *((gp - 8182));
    0x00006f98 addiu a0, zero, 2                                                     |     a0 = 2;
    0x00006f9c sw gp, 0x18(sp)                                                       |     *(var_18h) = gp;
    0x00006fa0 move s2, a1                                                           |     s2 = a1;
    0x00006fa4 addiu t9, t9, 0x5734                                                  |     t9 += sym.createSocket_int__int_;
    0x00006fa8 move a1, a2                                                           |     a1 = a2;
    0x00006fac move s3, a2                                                           |     s3 = a2;
    0x00006fb0 andi s5, a3, 0xff                                                     |     s5 = a3 & 0xff;
    0x00006fb4 jalr t9                                                               |     t9 ();
    0x00006fb8 move s0, v0                                                           |     s0 = v0;
    0x00006fbc lw gp, 0x18(sp)                                                       |     gp = *(var_18h);
                                                                                     |     if (v0 < 0) {
    0x00006fc0 bltz v0, 0x71c4                                                       |         goto label_2;
                                                                                     |     }
    0x00006fc4 lw t9, -0x7dc4(gp)                                                    |     t9 = sym.groupsockPriv_UsageEnvironment_;
    0x00006fc8 move a0, s1                                                           |     a0 = s1;
    0x00006fcc jalr t9                                                               |     t9 ();
    0x00006fd0 move a0, s1                                                           |     a0 = s1;
    0x00006fd4 lw gp, 0x18(sp)                                                       |     gp = *(var_18h);
    0x00006fd8 lw t8, 4(v0)                                                          |     t8 = *((v0 + 1));
    0x00006fdc lw t9, -0x7ce4(gp)                                                    |     t9 = sym.reclaimGroupsockPriv_UsageEnvironment_;
    0x00006fe0 sw t8, 0x230(sp)                                                      |     *(var_230h) = t8;
    0x00006fe4 jalr t9                                                               |     t9 ();
    0x00006fe8 addiu t8, zero, 4                                                     |     t8 = 4;
    0x00006fec lw gp, 0x18(sp)                                                       |     gp = *(var_18h);
    0x00006ff0 move a0, s0                                                           |     a0 = s0;
    0x00006ff4 sw t8, 0x10(sp)                                                       |     *(var_10h) = t8;
    0x00006ff8 ori a1, zero, 0xffff                                                  |     a1 = 0xffff;
    0x00006ffc lw t9, -0x7e18(gp)                                                    |     t9 = sym.imp.setsockopt;
    0x00007000 addiu a2, zero, 4                                                     |     a2 = 4;
    0x00007004 addiu a3, sp, 0x230                                                   |     a3 = sp + aav.0x00000230;
    0x00007008 jalr t9                                                               |     t9 ();
    0x0000700c lw gp, 0x18(sp)                                                       |     gp = *(var_18h);
                                                                                     |     if (v0 < 0) {
    0x00007010 bltz v0, 0x7274                                                       |         goto label_3;
                                                                                     |     }
    0x00007014 andi s6, s2, 0xffff                                                   |     s6 = s2 & 0xffff;
    0x00007018 srl s6, s6, 8                                                         |     s6 >>= 8;
    0x0000701c sll t8, s2, 8                                                         |     t8 = s2 << 8;
    0x00007020 or s6, s6, t8                                                         |     s6 |= t8;
    0x00007024 andi s6, s6, 0xffff                                                   |     s6 &= 0xffff;
    0x00007028 lw t9, -0x7e54(gp)                                                    |     t9 = *(gp);
    0x0000702c beqz s6, 0x7158                                                       |     
                                                                                     |     while (v0 != 0) {
    0x00007030 lw a1, -0x7fd4(gp)                                                    |         a1 = *(gp);
    0x00007034 addiu s4, sp, 0x128                                                   |         s4 = sp + aav.0x00000128;
    0x00007038 lw t9, -0x7de8(gp)                                                    |         t9 = *(gp);
    0x0000703c move a0, s4                                                           |         a0 = s4;
    0x00007040 addiu a1, a1, -0x79c                                                  |         a1 += -0x79c;
    0x00007044 move a2, s3                                                           |         a2 = s3;
    0x00007048 jalr t9                                                               |         t9 ();
    0x0000704c lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
    0x00007050 lw a0, -0x7f3c(gp)                                                    |         a0 = *(gp);
    0x00007054 lw t9, -0x7e54(gp)                                                    |         t9 = *(gp);
    0x00007058 jalr t9                                                               |         t9 ();
    0x0000705c nop                                                                   |         
    0x00007060 lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
                                                                                     |         if (v0 != 0) {
    0x00007064 beqz v0, 0x70d0                                                       |             
    0x00007068 addiu s7, sp, 0xa4                                                    |             s7 = sp + 0xa4;
    0x0000706c lw a1, -0x7f3c(gp)                                                    |             a1 = *(gp);
    0x00007070 lw t9, -0x7d04(gp)                                                    |             t9 = *(gp);
    0x00007074 move a0, s7                                                           |             a0 = s7;
    0x00007078 jalr t9                                                               |             t9 ();
    0x0000707c lw gp, 0x18(sp)                                                       |             gp = *(var_18h);
    0x00007080 addiu fp, sp, 0x20                                                    |             fp = sp + 0x20;
    0x00007084 move a1, s7                                                           |             a1 = s7;
    0x00007088 lw t9, -0x7e9c(gp)                                                    |             t9 = sym.ourConvertIPAddress_NetAddress__int_;
    0x0000708c move a0, fp                                                           |             a0 = fp;
    0x00007090 move a2, s3                                                           |             a2 = s3;
    0x00007094 jalr t9                                                               |             t9 ();
    0x00007098 lw gp, 0x18(sp)                                                       |             gp = *(var_18h);
    0x0000709c lw t9, -0x7d40(gp)                                                    |             t9 = *(gp);
    0x000070a0 move a0, s4                                                           |             a0 = s4;
    0x000070a4 move a1, fp                                                           |             a1 = fp;
    0x000070a8 jalr t9                                                               |             t9 ();
    0x000070ac lw gp, 0x18(sp)                                                       |             gp = *(var_18h);
    0x000070b0 lw t9, -0x7f5c(gp)                                                    |             t9 = *(gp);
    0x000070b4 move a0, fp                                                           |             a0 = fp;
    0x000070b8 jalr t9                                                               |             t9 ();
    0x000070bc lw gp, 0x18(sp)                                                       |             gp = *(var_18h);
    0x000070c0 lw t9, -0x7f5c(gp)                                                    |             t9 = *(gp);
    0x000070c4 move a0, s7                                                           |             a0 = s7;
    0x000070c8 jalr t9                                                               |             t9 ();
    0x000070cc lw gp, 0x18(sp)                                                       |             gp = *(var_18h);
                                                                                     |         }
    0x000070d0 addiu s3, sp, 0x1ac                                                   |         s3 = sp + 0x1ac;
    0x000070d4 move a1, s4                                                           |         a1 = s4;
    0x000070d8 lw t9, -0x7ef8(gp)                                                    |         t9 = *(gp);
    0x000070dc move a0, s3                                                           |         a0 = s3;
    0x000070e0 move a2, s2                                                           |         a2 = s2;
    0x000070e4 addiu a3, sp, 0x22c                                                   |         a3 = sp + 0x22c;
    0x000070e8 sw zero, 0x22c(sp)                                                    |         *(var_22ch) = 0;
    0x000070ec jalr t9                                                               |         t9 ();
    0x000070f0 lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
    0x000070f4 lw t9, -0x7e04(gp)                                                    |         t9 = sym.imp.bind;
    0x000070f8 move a0, s0                                                           |         a0 = s0;
    0x000070fc move a1, s3                                                           |         a1 = s3;
    0x00007100 addiu a2, zero, 0x80                                                  |         a2 = 0x80;
    0x00007104 jalr t9                                                               |         t9 ();
    0x00007108 lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
                                                                                     |         if (v0 != 0) {
    0x0000710c bnez v0, 0x7214                                                       |             goto label_4;
                                                                                     |         }
    0x00007110 lw t9, -0x7f5c(gp)                                                    |         t9 = *(gp);
    0x00007114 move a0, s4                                                           |         a0 = s4;
    0x00007118 jalr t9                                                               |         t9 ();
    0x0000711c lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
                                                                                     |         if (s5 != 0) {
    0x00007120 bnez s5, 0x7174                                                       |             goto label_5;
                                                                                     |         }
                                                                                     | label_1:
    0x00007124 move v0, s0                                                           |         v0 = s0;
                                                                                     | label_0:
    0x00007128 lw ra, 0x25c(sp)                                                      |         ra = *(var_25ch);
    0x0000712c lw fp, 0x258(sp)                                                      |         fp = *(var_258h);
    0x00007130 lw s7, 0x254(sp)                                                      |         s7 = *(var_254h);
    0x00007134 lw s6, 0x250(sp)                                                      |         s6 = *(var_250h);
    0x00007138 lw s5, 0x24c(sp)                                                      |         s5 = *(var_24ch);
    0x0000713c lw s4, 0x248(sp)                                                      |         s4 = *(var_248h);
    0x00007140 lw s3, 0x244(sp)                                                      |         s3 = *(var_244h);
    0x00007144 lw s2, 0x240(sp)                                                      |         s2 = *(var_240h);
    0x00007148 lw s1, 0x23c(sp)                                                      |         s1 = *(var_23ch);
    0x0000714c lw s0, 0x238(sp)                                                      |         s0 = *(var_238h);
    0x00007150 addiu sp, sp, 0x260                                                   |         
    0x00007154 jr ra                                                                 |         return v0;
    0x00007158 lw a0, -0x7f3c(gp)                                                    |         a0 = *(gp);
    0x0000715c jalr t9                                                               |         t9 ();
    0x00007160 nop                                                                   |         
    0x00007164 lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
    0x00007168 bnez v0, 0x7030                                                       |         
                                                                                     |     }
    0x0000716c move v0, s0                                                           |     v0 = s0;
                                                                                     |     if (s5 == 0) {
    0x00007170 beqz s5, 0x7128                                                       |         goto label_0;
                                                                                     |     }
                                                                                     | label_5:
    0x00007174 lw t9, -0x7ecc(gp)                                                    |     t9 = sym.makeSocketNonBlocking_int_;
    0x00007178 move a0, s0                                                           |     a0 = s0;
    0x0000717c jalr t9                                                               |     t9 ();
    0x00007180 lw gp, 0x18(sp)                                                       |     gp = *(var_18h);
                                                                                     |     if (v0 != 0) {
    0x00007184 bnez v0, 0x7124                                                       |         goto label_1;
                                                                                     |     }
    0x00007188 lw t8, (s1)                                                           |     t8 = *(s1);
    0x0000718c move a0, s1                                                           |     a0 = s1;
    0x00007190 lw a1, -0x7fd4(gp)                                                    |     a1 = *(gp);
    0x00007194 move a2, zero                                                         |     a2 = 0;
    0x00007198 lw t9, 0x10(t8)                                                       |     t9 = *((t8 + 4));
    0x0000719c addiu a1, a1, -0x798                                                  |     a1 += -0x798;
                                                                                     |     do {
    0x000071a0 jalr t9                                                               |         t9 ();
    0x000071a4 nop                                                                   |         
    0x000071a8 move a0, s0                                                           |         a0 = s0;
    0x000071ac lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
    0x000071b0 lw t9, -0x7fa4(gp)                                                    |         t9 = sym.imp.close;
    0x000071b4 addiu s0, zero, -1                                                    |         s0 = -1;
    0x000071b8 jalr t9                                                               |         t9 ();
    0x000071bc move v0, s0                                                           |         v0 = s0;
    0x000071c0 b 0x7128                                                              |         goto label_0;
                                                                                     | label_2:
    0x000071c4 lw t8, (s1)                                                           |         t8 = *(s1);
    0x000071c8 move a0, s1                                                           |         a0 = s1;
    0x000071cc lw a1, -0x7fd4(gp)                                                    |         a1 = *(gp);
    0x000071d0 move a2, zero                                                         |         a2 = 0;
    0x000071d4 lw t9, 0x10(t8)                                                       |         t9 = *((t8 + 4));
    0x000071d8 addiu a1, a1, -0x804                                                  |         a1 += -aav.0x00000804;
    0x000071dc jalr t9                                                               |         t9 ();
    0x000071e0 move v0, s0                                                           |         v0 = s0;
    0x000071e4 lw ra, 0x25c(sp)                                                      |         ra = *(var_25ch);
    0x000071e8 lw fp, 0x258(sp)                                                      |         fp = *(var_258h);
    0x000071ec lw s7, 0x254(sp)                                                      |         s7 = *(var_254h);
    0x000071f0 lw s6, 0x250(sp)                                                      |         s6 = *(var_250h);
    0x000071f4 lw s5, 0x24c(sp)                                                      |         s5 = *(var_24ch);
    0x000071f8 lw s4, 0x248(sp)                                                      |         s4 = *(var_248h);
    0x000071fc lw s3, 0x244(sp)                                                      |         s3 = *(var_244h);
    0x00007200 lw s2, 0x240(sp)                                                      |         s2 = *(var_240h);
    0x00007204 lw s1, 0x23c(sp)                                                      |         s1 = *(var_23ch);
    0x00007208 lw s0, 0x238(sp)                                                      |         s0 = *(var_238h);
    0x0000720c addiu sp, sp, 0x260                                                   |         
    0x00007210 jr ra                                                                 |         return v0;
                                                                                     | label_4:
    0x00007214 lw a1, -0x7fd4(gp)                                                    |         a1 = *(gp);
    0x00007218 addiu s2, sp, 0x20                                                    |         s2 = sp + 0x20;
    0x0000721c lw t9, -0x7ef0(gp)                                                    |         t9 = sym.imp.sprintf
    0x00007220 move a0, s2                                                           |         a0 = s2;
    0x00007224 addiu a1, a1, -0x7bc                                                  |         a1 += -0x7bc;
    0x00007228 move a2, s6                                                           |         a2 = s6;
    0x0000722c jalr t9                                                               |         t9 ();
    0x00007230 move a0, s1                                                           |         a0 = s1;
    0x00007234 lw t8, (s1)                                                           |         t8 = *(s1);
    0x00007238 move a1, s2                                                           |         a1 = s2;
    0x0000723c lw t9, 0x10(t8)                                                       |         t9 = *((t8 + 4));
    0x00007240 move a2, zero                                                         |         a2 = 0;
    0x00007244 jalr t9                                                               |         t9 ();
    0x00007248 lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
    0x0000724c lw t9, -0x7fa4(gp)                                                    |         t9 = sym.imp.close;
    0x00007250 move a0, s0                                                           |         a0 = s0;
    0x00007254 jalr t9                                                               |         t9 ();
    0x00007258 lw gp, 0x18(sp)                                                       |         gp = *(var_18h);
    0x0000725c lw t9, -0x7f5c(gp)                                                    |         t9 = *(gp);
    0x00007260 move a0, s4                                                           |         a0 = s4;
    0x00007264 addiu s0, zero, -1                                                    |         s0 = -1;
    0x00007268 jalr t9                                                               |         t9 ();
    0x0000726c move v0, s0                                                           |         v0 = s0;
    0x00007270 b 0x7128                                                              |         goto label_0;
                                                                                     | label_3:
    0x00007274 lw t8, (s1)                                                           |         t8 = *(s1);
    0x00007278 move a0, s1                                                           |         a0 = s1;
    0x0000727c lw a1, -0x7fd4(gp)                                                    |         a1 = *(gp);
    0x00007280 move a2, zero                                                         |         a2 = 0;
    0x00007284 lw t9, 0x10(t8)                                                       |         t9 = *((t8 + 4));
    0x00007288 addiu a1, a1, -0x7e0                                                  |         a1 += -aav.0x000007e0;
    0x0000728c b 0x71a0                                                              |         
                                                                                     |     } while (1);
                                                                                     | }
    ; assembly                                                                                           | /* r2dec pseudo code output */
                                                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libgroupsock.so.8.1.0 @ 0x5df0 */
                                                                                                         | #include <stdint.h>
                                                                                                         |  
    ; (fcn) sym.writeSocket_UsageEnvironment__int__NetAddress__Port__unsigned_char__unsigned_int_ ()     | void writeSocket_UsageEnvironment_int_NetAddress_Port_unsigned_char_unsigned_int_ () {
                                                                                                         |     /* writeSocket(UsageEnvironment&, int, NetAddress, Port, unsigned char*, unsigned int) */
    0x00005df0 lui gp, 2                                                                                 |     
    0x00005df4 addiu gp, gp, 0x4d20                                                                      |     
    0x00005df8 addu gp, gp, t9                                                                           |     gp += t9;
    0x00005dfc addiu sp, sp, -0x120                                                                      |     
    0x00005e00 sw ra, 0x11c(sp)                                                                          |     *(var_11ch) = ra;
    0x00005e04 sw s3, 0x118(sp)                                                                          |     *(var_118h) = s3;
    0x00005e08 sw s2, 0x114(sp)                                                                          |     *(var_114h) = s2;
    0x00005e0c sw s1, 0x110(sp)                                                                          |     *(var_110h) = s1;
    0x00005e10 sw s0, 0x10c(sp)                                                                          |     *(var_10ch) = s0;
    0x00005e14 addiu s1, sp, 0x20                                                                        |     s1 = sp + 0x20;
    0x00005e18 lw t9, -0x7ef8(gp)                                                                        |     t9 = *(gp);
    0x00005e1c move s2, a1                                                                               |     s2 = a1;
    0x00005e20 sw gp, 0x18(sp)                                                                           |     *(var_18h) = gp;
    0x00005e24 move a1, a2                                                                               |     a1 = a2;
    0x00005e28 move s3, a0                                                                               |     s3 = a0;
    0x00005e2c sw zero, 0x104(sp)                                                                        |     *(var_104h) = 0;
    0x00005e30 move a2, a3                                                                               |     a2 = a3;
    0x00005e34 addiu a3, sp, 0x104                                                                       |     a3 = sp + aav.0x00000104;
    0x00005e38 move a0, s1                                                                               |     a0 = s1;
    0x00005e3c lw s0, 0x134(sp)                                                                          |     s0 = *(arg_134h);
    0x00005e40 jalr t9                                                                                   |     t9 ();
    0x00005e44 addiu t8, zero, 0x80                                                                      |     t8 = 0x80;
    0x00005e48 lw gp, 0x18(sp)                                                                           |     gp = *(var_18h);
    0x00005e4c move a0, s2                                                                               |     a0 = s2;
    0x00005e50 lw a1, 0x130(sp)                                                                          |     a1 = *(arg_130h);
    0x00005e54 move a2, s0                                                                               |     a2 = s0;
    0x00005e58 lw t9, -0x7e50(gp)                                                                        |     t9 = sym.imp.sendto;
    0x00005e5c move a3, zero                                                                             |     a3 = 0;
    0x00005e60 sw s1, 0x10(sp)                                                                           |     *(var_10h) = s1;
    0x00005e64 sw t8, 0x14(sp)                                                                           |     *(var_14h) = t8;
    0x00005e68 jalr t9                                                                                   |     t9 ();
    0x00005e6c lw gp, 0x18(sp)                                                                           |     gp = *(var_18h);
                                                                                                         |     if (v0 == s0) {
    0x00005e70 bne v0, s0, 0x5e94                                                                        |         
    0x00005e74 lw ra, 0x11c(sp)                                                                          |         ra = *(var_11ch);
    0x00005e78 addiu v0, zero, 1                                                                         |         v0 = 1;
    0x00005e7c lw s3, 0x118(sp)                                                                          |         s3 = *(var_118h);
    0x00005e80 lw s2, 0x114(sp)                                                                          |         s2 = *(var_114h);
    0x00005e84 lw s1, 0x110(sp)                                                                          |         s1 = *(var_110h);
    0x00005e88 lw s0, 0x10c(sp)                                                                          |         s0 = *(var_10ch);
    0x00005e8c addiu sp, sp, 0x120                                                                       |         
    0x00005e90 jr ra                                                                                     |         return v0;
                                                                                                         |     }
    0x00005e94 lw a1, -0x7fd4(gp)                                                                        |     a1 = *(gp);
    0x00005e98 addiu s1, sp, 0xa0                                                                        |     s1 = sp + 0xa0;
    0x00005e9c lw t9, -0x7ef0(gp)                                                                        |     t9 = sym.imp.sprintf
    0x00005ea0 move a0, s1                                                                               |     a0 = s1;
    0x00005ea4 move a2, s2                                                                               |     a2 = s2;
    0x00005ea8 sw s0, 0x10(sp)                                                                           |     *(var_10h) = s0;
    0x00005eac move a3, v0                                                                               |     a3 = v0;
    0x00005eb0 addiu a1, a1, -0x964                                                                      |     a1 += -0x964;
    0x00005eb4 jalr t9                                                                                   |     t9 ();
    0x00005eb8 move a0, s3                                                                               |     a0 = s3;
    0x00005ebc lw t8, (s3)                                                                               |     t8 = *(s3);
    0x00005ec0 move a1, s1                                                                               |     a1 = s1;
    0x00005ec4 lw t9, 0x10(t8)                                                                           |     t9 = *((t8 + 4));
    0x00005ec8 move a2, zero                                                                             |     a2 = 0;
    0x00005ecc jalr t9                                                                                   |     t9 ();
    0x00005ed0 move v0, zero                                                                             |     v0 = 0;
    0x00005ed4 lw ra, 0x11c(sp)                                                                          |     ra = *(var_11ch);
    0x00005ed8 lw s3, 0x118(sp)                                                                          |     s3 = *(var_118h);
    0x00005edc lw s2, 0x114(sp)                                                                          |     s2 = *(var_114h);
    0x00005ee0 lw s1, 0x110(sp)                                                                          |     s1 = *(var_110h);
    0x00005ee4 lw s0, 0x10c(sp)                                                                          |     s0 = *(var_10ch);
    0x00005ee8 addiu sp, sp, 0x120                                                                       |     
    0x00005eec jr ra                                                                                     |     return v0;
                                                                                                         | }

[*] Function sprintf used 7 times libgroupsock.so.8.1.0