[*] Binary protection state of libsoap_wsd.so

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


[*] Function strcat tear down of libsoap_wsd.so

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x15d6d4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) entry.fini0 ()                   | void entry_fini0 () {
    0x0015d6d4 lui gp, 0x5b                  |     
    0x0015d6d8 addiu gp, gp, 0x695c          |     
    0x0015d6dc addu gp, gp, t9               |     gp += t9;
    0x0015d6e0 addiu sp, sp, -0x20           |     
    0x0015d6e4 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0015d6e8 lw s0, -0x7fe0(gp)            |     s0 = *((gp - 8184));
    0x0015d6ec sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0015d6f0 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x0015d6f4 lbu v0, -0x4ec0(s0)           |     v0 = *(s0);
    0x0015d6f8 lw v0, 0x3d7c(gp)             |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x0015d6fc bnez v0, 0x15d730             |         
    0x0015d700 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         if (v0 != 0) {
    0x0015d704 beqz v0, 0x15d718             |             
    0x0015d708 lw t9, 0x3d7c(gp)             |             t9 = *(gp);
    0x0015d70c lw a0, (v0)                   |             a0 = *(v0);
    0x0015d710 jalr t9                       |             t9 ();
    0x0015d714 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x0015d718 lw t9, -0x7fd8(gp)            |         t9 = *((gp - 8182));
    0x0015d71c addiu t9, t9, -0x29b0         |         t9 += -aav.0x000029b0;
    0x0015d720 bal 0x15d650                  |         entry0 ();
    0x0015d724 nop                           |         
    0x0015d728 addiu v0, zero, 1             |         v0 = 1;
    0x0015d72c sb v0, -0x4ec0(s0)            |         *(s0) = v0;
                                             |     }
    0x0015d730 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x0015d734 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0015d738 addiu sp, sp, 0x20            |     
    0x0015d73c jr ra                         |     return v0;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1d60d4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.soap_out_tan__Capabilities ()        | void soap_out_tan_Capabilities () {
    0x001d60d4 lui gp, 0x54                          |     
    0x001d60d8 addiu gp, gp, -0x20a4                 |     
    0x001d60dc addu gp, gp, t9                       |     gp += t9;
    0x001d60e0 addiu sp, sp, -0x40                   |     
    0x001d60e4 lw v0, 8(a3)                          |     v0 = *((a3 + 2));
    0x001d60e8 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x001d60ec sw s6, 0x38(sp)                       |     *(var_38h) = s6;
    0x001d60f0 sw s3, 0x2c(sp)                       |     *(var_2ch) = s3;
    0x001d60f4 sw s2, 0x28(sp)                       |     *(var_28h) = s2;
    0x001d60f8 sw s1, 0x24(sp)                       |     *(var_24h) = s1;
    0x001d60fc sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x001d6100 sw ra, 0x3c(sp)                       |     *(var_3ch) = ra;
    0x001d6104 sw s5, 0x34(sp)                       |     *(var_34h) = s5;
    0x001d6108 sw s4, 0x30(sp)                       |     *(var_30h) = s4;
    0x001d610c move s0, a3                           |     s0 = a3;
    0x001d6110 move s1, a0                           |     s1 = a0;
    0x001d6114 move s6, a1                           |     s6 = a1;
    0x001d6118 move s3, a2                           |     s3 = a2;
    0x001d611c lw s2, 0x50(sp)                       |     s2 = *(arg_50h);
                                                     |     if (v0 != 0) {
    0x001d6120 beqz v0, 0x1d6154                     |         
    0x001d6124 lw t9, -0x5828(gp)                    |         t9 = *((gp - 5642));
    0x001d6128 lw a1, (v0)                           |         a1 = *(v0);
    0x001d612c jalr t9                               |         t9 ();
    0x001d6130 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d6134 addiu a3, zero, 1                     |         a3 = 1;
    0x001d6138 move a2, v0                           |         a2 = v0;
    0x001d613c lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d6140 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d6144 addiu a1, a1, 0x1c14                  |         a1 += aav.0x00001c14;
    0x001d6148 move a0, s1                           |         a0 = s1;
    0x001d614c jalr t9                               |         t9 ();
    0x001d6150 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d6154 lw v0, 0xc(s0)                        |     v0 = *((s0 + 3));
    0x001d6158 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001d615c beqz v0, 0x1d6190                     |         
    0x001d6160 lw a1, (v0)                           |         a1 = *(v0);
    0x001d6164 move a0, s1                           |         a0 = s1;
    0x001d6168 jalr t9                               |         t9 ();
    0x001d616c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d6170 addiu a3, zero, 1                     |         a3 = 1;
    0x001d6174 move a2, v0                           |         a2 = v0;
    0x001d6178 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d617c lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d6180 addiu a1, a1, 0x1c20                  |         a1 += aav.0x00001c20;
    0x001d6184 move a0, s1                           |         a0 = s1;
    0x001d6188 jalr t9                               |         t9 ();
    0x001d618c lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d6190 lw v0, 0x10(s0)                       |     v0 = *((s0 + 4));
    0x001d6194 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001d6198 beqz v0, 0x1d61cc                     |         
    0x001d619c lw a1, (v0)                           |         a1 = *(v0);
    0x001d61a0 move a0, s1                           |         a0 = s1;
    0x001d61a4 jalr t9                               |         t9 ();
    0x001d61a8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d61ac addiu a3, zero, 1                     |         a3 = 1;
    0x001d61b0 move a2, v0                           |         a2 = v0;
    0x001d61b4 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d61b8 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d61bc addiu a1, a1, 0x1c38                  |         a1 += aav.0x00001c38;
    0x001d61c0 move a0, s1                           |         a0 = s1;
    0x001d61c4 jalr t9                               |         t9 ();
    0x001d61c8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d61cc lw v0, 0x14(s0)                       |     v0 = *((s0 + 5));
    0x001d61d0 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001d61d4 beqz v0, 0x1d6208                     |         
    0x001d61d8 lw a1, (v0)                           |         a1 = *(v0);
    0x001d61dc move a0, s1                           |         a0 = s1;
    0x001d61e0 jalr t9                               |         t9 ();
    0x001d61e4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d61e8 addiu a3, zero, 1                     |         a3 = 1;
    0x001d61ec move a2, v0                           |         a2 = v0;
    0x001d61f0 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d61f4 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d61f8 addiu a1, a1, 0x1c5c                  |         a1 += aav.0x00001c5c;
    0x001d61fc move a0, s1                           |         a0 = s1;
    0x001d6200 jalr t9                               |         t9 ();
    0x001d6204 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d6208 lw v0, 0x18(s0)                       |     v0 = *((s0 + 6));
    0x001d620c lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001d6210 beqz v0, 0x1d6244                     |         
    0x001d6214 lw a1, (v0)                           |         a1 = *(v0);
    0x001d6218 move a0, s1                           |         a0 = s1;
    0x001d621c jalr t9                               |         t9 ();
    0x001d6220 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d6224 addiu a3, zero, 1                     |         a3 = 1;
    0x001d6228 move a2, v0                           |         a2 = v0;
    0x001d622c lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d6230 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d6234 addiu a1, a1, 0x1c74                  |         a1 += aav.0x00001c74;
    0x001d6238 move a0, s1                           |         a0 = s1;
    0x001d623c jalr t9                               |         t9 ();
    0x001d6240 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d6244 lw s4, -0x7fcc(gp)                    |     s4 = *((gp - 8179));
    0x001d6248 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
    0x001d624c lw t9, -0x1ecc(gp)                    |     t9 = *(gp);
    0x001d6250 addiu s4, s4, -0x2a30                 |     s4 += -aav.0x00002a30;
    0x001d6254 sw s4, 0x10(sp)                       |     *(var_10h) = s4;
    0x001d6258 addiu a3, s0, 0x1c                    |     a3 = s0 + 0x1c;
    0x001d625c addiu a2, zero, -1                    |     a2 = -1;
    0x001d6260 addiu a1, a1, 0x16f4                  |     a1 += aav.0x000016f4;
    0x001d6264 move a0, s1                           |     a0 = s1;
    0x001d6268 jalr t9                               |     t9 ();
    0x001d626c lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x001d6270 beqz v0, 0x1d62a8                     |     
                                                     |     while (v0 != 0) {
                                                     | label_0:
    0x001d6274 lui v0, 1                             |         v0 = 0x10000;
    0x001d6278 lw ra, 0x3c(sp)                       |         ra = *(var_3ch);
    0x001d627c addu s1, s1, v0                       |         s1 += v0;
    0x001d6280 lw s6, 0x38(sp)                       |         s6 = *(var_38h);
    0x001d6284 lw v0, 0x6180(s1)                     |         v0 = *((s1 + 6240));
    0x001d6288 lw s5, 0x34(sp)                       |         s5 = *(var_34h);
    0x001d628c lw s4, 0x30(sp)                       |         s4 = *(var_30h);
    0x001d6290 lw s3, 0x2c(sp)                       |         s3 = *(var_2ch);
    0x001d6294 lw s2, 0x28(sp)                       |         s2 = *(var_28h);
    0x001d6298 lw s1, 0x24(sp)                       |         s1 = *(var_24h);
    0x001d629c lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x001d62a0 addiu sp, sp, 0x40                    |         
    0x001d62a4 jr ra                                 |         return v0;
    0x001d62a8 lw t9, -0x4890(gp)                    |         t9 = *(gp);
    0x001d62ac addiu a3, zero, 0x705                 |         a3 = 0x705;
    0x001d62b0 move a2, s0                           |         a2 = s0;
    0x001d62b4 move a1, s3                           |         a1 = s3;
    0x001d62b8 move a0, s1                           |         a0 = s1;
    0x001d62bc jalr t9                               |         t9 ();
    0x001d62c0 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d62c4 move a3, s2                           |         a3 = s2;
    0x001d62c8 move a2, v0                           |         a2 = v0;
    0x001d62cc lw t9, -0x12f4(gp)                    |         t9 = *(gp);
    0x001d62d0 move a1, s6                           |         a1 = s6;
    0x001d62d4 move a0, s1                           |         a0 = s1;
    0x001d62d8 jalr t9                               |         t9 ();
    0x001d62dc move s2, v0                           |         s2 = v0;
    0x001d62e0 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d62e4 bnez v0, 0x1d6274                     |         
                                                     |     }
    0x001d62e8 lw a3, 4(s0)                          |     a3 = *((s0 + 1));
    0x001d62ec lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     |     if (a3 == 0) {
    0x001d62f0 beqz a3, 0x1d634c                     |         goto label_2;
                                                     |     }
    0x001d62f4 lw v0, (s0)                           |     v0 = *(s0);
    0x001d62f8 lw s5, -0x7fd4(gp)                    |     s5 = *((gp - 8181));
                                                     |     if (v0 <= 0) {
    0x001d62fc blez v0, 0x1d634c                     |         goto label_2;
                                                     |     }
    0x001d6300 move s3, zero                         |     s3 = 0;
    0x001d6304 addiu s5, s5, 0x15d4                  |     s5 += aav.0x000015d4;
    0x001d6308 b 0x1d6310                            |     goto label_3;
                                                     | label_1:
    0x001d630c lw a3, 4(s0)                          |     a3 = *((s0 + 1));
                                                     | label_3:
    0x001d6310 lw t9, -0xde0(gp)                     |     t9 = *(gp);
    0x001d6314 addu a3, a3, s3                       |     a3 += s3;
    0x001d6318 sw s4, 0x10(sp)                       |     *(var_10h) = s4;
    0x001d631c addiu a2, zero, -1                    |     a2 = -1;
    0x001d6320 move a1, s5                           |     a1 = s5;
    0x001d6324 move a0, s1                           |     a0 = s1;
    0x001d6328 jalr t9                               |     t9 ();
    0x001d632c addiu s2, s2, 1                       |     s2++;
    0x001d6330 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x001d6334 bnez v0, 0x1d6274                     |         goto label_0;
                                                     |     }
    0x001d6338 lw v0, (s0)                           |     v0 = *(s0);
    0x001d633c slt v0, s2, v0                        |     v0 = (s2 < v0) ? 1 : 0;
    0x001d6340 addiu s3, s3, 0x34                    |     s3 += 0x34;
                                                     |     if (v0 != 0) {
    0x001d6344 bnez v0, 0x1d630c                     |         goto label_1;
                                                     |     }
    0x001d6348 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     | label_2:
    0x001d634c lw s5, 0x34(sp)                       |     s5 = *(var_34h);
    0x001d6350 lw s4, 0x30(sp)                       |     s4 = *(var_30h);
    0x001d6354 lw s3, 0x2c(sp)                       |     s3 = *(var_2ch);
    0x001d6358 lw s2, 0x28(sp)                       |     s2 = *(var_28h);
    0x001d635c lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x001d6360 move a1, s6                           |     a1 = s6;
    0x001d6364 move a0, s1                           |     a0 = s1;
    0x001d6368 lw s6, 0x38(sp)                       |     s6 = *(var_38h);
    0x001d636c lw s1, 0x24(sp)                       |     s1 = *(var_24h);
    0x001d6370 lw t9, 0x1c18(gp)                     |     t9 = *(gp);
    0x001d6374 addiu sp, sp, 0x40                    |     
    0x001d6378 jr t9                                 |     return t9 ();
                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1de868 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.soap_out_tds__NetworkCapabilities ()         | void soap_out_tds_NetworkCapabilities () {
    0x001de868 lui gp, 0x53                                  |     
    0x001de86c addiu gp, gp, 0x57c8                          |     
    0x001de870 addu gp, gp, t9                               |     gp += t9;
    0x001de874 addiu sp, sp, -0x38                           |     
    0x001de878 lw v0, (a3)                                   |     v0 = *(a3);
    0x001de87c sw gp, 0x18(sp)                               |     *(var_18h) = gp;
    0x001de880 sw s4, 0x30(sp)                               |     *(var_30h) = s4;
    0x001de884 sw s3, 0x2c(sp)                               |     *(var_2ch) = s3;
    0x001de888 sw s2, 0x28(sp)                               |     *(var_28h) = s2;
    0x001de88c sw s1, 0x24(sp)                               |     *(var_24h) = s1;
    0x001de890 sw s0, 0x20(sp)                               |     *(var_20h) = s0;
    0x001de894 sw ra, 0x34(sp)                               |     *(var_34h) = ra;
    0x001de898 move s1, a3                                   |     s1 = a3;
    0x001de89c move s0, a0                                   |     s0 = a0;
    0x001de8a0 move s2, a1                                   |     s2 = a1;
    0x001de8a4 move s4, a2                                   |     s4 = a2;
    0x001de8a8 lw s3, 0x48(sp)                               |     s3 = *(arg_48h);
                                                             |     if (v0 != 0) {
    0x001de8ac beqz v0, 0x1de8e0                             |         
    0x001de8b0 lw t9, -0x5828(gp)                            |         t9 = *((gp - 5642));
    0x001de8b4 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de8b8 jalr t9                                       |         t9 ();
    0x001de8bc lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de8c0 addiu a3, zero, 1                             |         a3 = 1;
    0x001de8c4 move a2, v0                                   |         a2 = v0;
    0x001de8c8 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de8cc lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de8d0 addiu a1, a1, 0x1f7c                          |         a1 += aav.0x00001f7c;
    0x001de8d4 move a0, s0                                   |         a0 = s0;
    0x001de8d8 jalr t9                                       |         t9 ();
    0x001de8dc lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de8e0 lw v0, 4(s1)                                  |     v0 = *((s1 + 1));
    0x001de8e4 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de8e8 beqz v0, 0x1de91c                             |         
    0x001de8ec lw a1, (v0)                                   |         a1 = *(v0);
    0x001de8f0 move a0, s0                                   |         a0 = s0;
    0x001de8f4 jalr t9                                       |         t9 ();
    0x001de8f8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de8fc addiu a3, zero, 1                             |         a3 = 1;
    0x001de900 move a2, v0                                   |         a2 = v0;
    0x001de904 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de908 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de90c addiu a1, a1, 0x3fe4                          |         a1 += aav.0x00003fe4;
    0x001de910 move a0, s0                                   |         a0 = s0;
    0x001de914 jalr t9                                       |         t9 ();
    0x001de918 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de91c lw v0, 8(s1)                                  |     v0 = *((s1 + 2));
    0x001de920 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de924 beqz v0, 0x1de958                             |         
    0x001de928 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de92c move a0, s0                                   |         a0 = s0;
    0x001de930 jalr t9                                       |         t9 ();
    0x001de934 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de938 addiu a3, zero, 1                             |         a3 = 1;
    0x001de93c move a2, v0                                   |         a2 = v0;
    0x001de940 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de944 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de948 addiu a1, a1, 0x1f88                          |         a1 += aav.0x00001f88;
    0x001de94c move a0, s0                                   |         a0 = s0;
    0x001de950 jalr t9                                       |         t9 ();
    0x001de954 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de958 lw v0, 0xc(s1)                                |     v0 = *((s1 + 3));
    0x001de95c lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de960 beqz v0, 0x1de994                             |         
    0x001de964 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de968 move a0, s0                                   |         a0 = s0;
    0x001de96c jalr t9                                       |         t9 ();
    0x001de970 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de974 addiu a3, zero, 1                             |         a3 = 1;
    0x001de978 move a2, v0                                   |         a2 = v0;
    0x001de97c lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de980 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de984 addiu a1, a1, 0x1f94                          |         a1 += aav.0x00001f94;
    0x001de988 move a0, s0                                   |         a0 = s0;
    0x001de98c jalr t9                                       |         t9 ();
    0x001de990 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de994 lw v0, 0x10(s1)                               |     v0 = *((s1 + 4));
    0x001de998 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de99c beqz v0, 0x1de9d0                             |         
    0x001de9a0 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de9a4 move a0, s0                                   |         a0 = s0;
    0x001de9a8 jalr t9                                       |         t9 ();
    0x001de9ac lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de9b0 addiu a3, zero, 1                             |         a3 = 1;
    0x001de9b4 move a2, v0                                   |         a2 = v0;
    0x001de9b8 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de9bc lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de9c0 addiu a1, a1, 0x1f9c                          |         a1 += aav.0x00001f9c;
    0x001de9c4 move a0, s0                                   |         a0 = s0;
    0x001de9c8 jalr t9                                       |         t9 ();
    0x001de9cc lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de9d0 lw v0, 0x14(s1)                               |     v0 = *((s1 + 5));
    0x001de9d4 lw t9, -0x2764(gp)                            |     t9 = *(gp);
                                                             |     if (v0 != 0) {
    0x001de9d8 beqz v0, 0x1dea0c                             |         
    0x001de9dc lw a1, (v0)                                   |         a1 = *(v0);
    0x001de9e0 move a0, s0                                   |         a0 = s0;
    0x001de9e4 jalr t9                                       |         t9 ();
    0x001de9e8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de9ec addiu a3, zero, 1                             |         a3 = 1;
    0x001de9f0 move a2, v0                                   |         a2 = v0;
    0x001de9f4 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de9f8 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de9fc addiu a1, a1, -0x5440                         |         a1 += -aav.0x00005440;
    0x001dea00 move a0, s0                                   |         a0 = s0;
    0x001dea04 jalr t9                                       |         t9 ();
    0x001dea08 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001dea0c lw v0, 0x18(s1)                               |     v0 = *((s1 + 6));
    0x001dea10 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001dea14 beqz v0, 0x1dea48                             |         
    0x001dea18 lw a1, (v0)                                   |         a1 = *(v0);
    0x001dea1c move a0, s0                                   |         a0 = s0;
    0x001dea20 jalr t9                                       |         t9 ();
    0x001dea24 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001dea28 addiu a3, zero, 1                             |         a3 = 1;
    0x001dea2c move a2, v0                                   |         a2 = v0;
    0x001dea30 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001dea34 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001dea38 addiu a1, a1, -0x5d98                         |         a1 += -0x5d98;
    0x001dea3c move a0, s0                                   |         a0 = s0;
    0x001dea40 jalr t9                                       |         t9 ();
    0x001dea44 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001dea48 lw v0, 0x1c(s1)                               |     v0 = *((s1 + 7));
    0x001dea4c lw t9, -0x2764(gp)                            |     t9 = *(gp);
                                                             |     if (v0 != 0) {
    0x001dea50 beqz v0, 0x1dea84                             |         
    0x001dea54 lw a1, (v0)                                   |         a1 = *(v0);
    0x001dea58 move a0, s0                                   |         a0 = s0;
    0x001dea5c jalr t9                                       |         t9 ();
    0x001dea60 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001dea64 addiu a3, zero, 1                             |         a3 = 1;
    0x001dea68 move a2, v0                                   |         a2 = v0;
    0x001dea6c lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001dea70 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001dea74 addiu a1, a1, -0x5d1c                         |         a1 += -0x5d1c;
    0x001dea78 move a0, s0                                   |         a0 = s0;
    0x001dea7c jalr t9                                       |         t9 ();
    0x001dea80 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001dea84 lw v0, 0x20(s1)                               |     v0 = *((s1 + 8));
    0x001dea88 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001dea8c beqz v0, 0x1deac0                             |         
    0x001dea90 lw a1, (v0)                                   |         a1 = *(v0);
    0x001dea94 move a0, s0                                   |         a0 = s0;
    0x001dea98 jalr t9                                       |         t9 ();
    0x001dea9c lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001deaa0 addiu a3, zero, 1                             |         a3 = 1;
    0x001deaa4 move a2, v0                                   |         a2 = v0;
    0x001deaa8 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001deaac lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001deab0 addiu a1, a1, 0x1fb0                          |         a1 += aav.0x00001fb0;
    0x001deab4 move a0, s0                                   |         a0 = s0;
    0x001deab8 jalr t9                                       |         t9 ();
    0x001deabc lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001deac0 lw v0, -0x7fcc(gp)                            |     v0 = *((gp - 8179));
    0x001deac4 lw a1, -0x7fd4(gp)                            |     a1 = *((gp - 8181));
    0x001deac8 lw t9, -0x1ecc(gp)                            |     t9 = *(gp);
    0x001deacc addiu v0, v0, -0x2a30                         |     v0 += -aav.0x00002a30;
    0x001dead0 sw v0, 0x10(sp)                               |     *(var_10h) = v0;
    0x001dead4 addiu a3, s1, 0x24                            |     a3 = s1 + 0x24;
    0x001dead8 addiu a2, zero, -1                            |     a2 = -1;
    0x001deadc addiu a1, a1, 0x16f4                          |     a1 += aav.0x000016f4;
    0x001deae0 move a0, s0                                   |     a0 = s0;
    0x001deae4 jalr t9                                       |     t9 ();
    0x001deae8 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x001deaec beqz v0, 0x1deb1c                             |     
                                                             |     while (v0 != 0) {
    0x001deaf0 lui v0, 1                                     |         v0 = 0x10000;
    0x001deaf4 lw ra, 0x34(sp)                               |         ra = *(var_34h);
    0x001deaf8 addu s0, s0, v0                               |         s0 += v0;
    0x001deafc lw s4, 0x30(sp)                               |         s4 = *(var_30h);
    0x001deb00 lw v0, 0x6180(s0)                             |         v0 = *((s0 + 6240));
    0x001deb04 lw s3, 0x2c(sp)                               |         s3 = *(var_2ch);
    0x001deb08 lw s2, 0x28(sp)                               |         s2 = *(var_28h);
    0x001deb0c lw s1, 0x24(sp)                               |         s1 = *(var_24h);
    0x001deb10 lw s0, 0x20(sp)                               |         s0 = *(var_20h);
    0x001deb14 addiu sp, sp, 0x38                            |         
    0x001deb18 jr ra                                         |         return v0;
    0x001deb1c lw t9, -0x4890(gp)                            |         t9 = *(gp);
    0x001deb20 addiu a3, zero, 0x5c7                         |         a3 = 0x5c7;
    0x001deb24 move a2, s1                                   |         a2 = s1;
    0x001deb28 move a1, s4                                   |         a1 = s4;
    0x001deb2c move a0, s0                                   |         a0 = s0;
    0x001deb30 jalr t9                                       |         t9 ();
    0x001deb34 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001deb38 move a3, s3                                   |         a3 = s3;
    0x001deb3c move a2, v0                                   |         a2 = v0;
    0x001deb40 lw t9, -0x12f4(gp)                            |         t9 = *(gp);
    0x001deb44 move a1, s2                                   |         a1 = s2;
    0x001deb48 move a0, s0                                   |         a0 = s0;
    0x001deb4c jalr t9                                       |         t9 ();
    0x001deb50 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001deb54 bnez v0, 0x1deaf0                             |         
                                                             |     }
    0x001deb58 lw ra, 0x34(sp)                               |     ra = *(var_34h);
    0x001deb5c lw s4, 0x30(sp)                               |     s4 = *(var_30h);
    0x001deb60 lw s3, 0x2c(sp)                               |     s3 = *(var_2ch);
    0x001deb64 lw s1, 0x24(sp)                               |     s1 = *(var_24h);
    0x001deb68 move a1, s2                                   |     a1 = s2;
    0x001deb6c move a0, s0                                   |     a0 = s0;
    0x001deb70 lw s2, 0x28(sp)                               |     s2 = *(var_28h);
    0x001deb74 lw s0, 0x20(sp)                               |     s0 = *(var_20h);
    0x001deb78 lw t9, 0x1c18(gp)                             |     t9 = *(gp);
    0x001deb7c addiu sp, sp, 0x38                            |     
    0x001deb80 jr t9                                         |     return t9 ();
                                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1de3b8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.soap_out_tds__SecurityCapabilities ()        | void soap_out_tds_SecurityCapabilities () {
    0x001de3b8 lui gp, 0x53                                  |     
    0x001de3bc addiu gp, gp, 0x5c78                          |     
    0x001de3c0 addu gp, gp, t9                               |     gp += t9;
    0x001de3c4 addiu sp, sp, -0x38                           |     
    0x001de3c8 lw v0, (a3)                                   |     v0 = *(a3);
    0x001de3cc sw gp, 0x18(sp)                               |     *(var_18h) = gp;
    0x001de3d0 sw s4, 0x30(sp)                               |     *(var_30h) = s4;
    0x001de3d4 sw s3, 0x2c(sp)                               |     *(var_2ch) = s3;
    0x001de3d8 sw s2, 0x28(sp)                               |     *(var_28h) = s2;
    0x001de3dc sw s1, 0x24(sp)                               |     *(var_24h) = s1;
    0x001de3e0 sw s0, 0x20(sp)                               |     *(var_20h) = s0;
    0x001de3e4 sw ra, 0x34(sp)                               |     *(var_34h) = ra;
    0x001de3e8 move s1, a3                                   |     s1 = a3;
    0x001de3ec move s0, a0                                   |     s0 = a0;
    0x001de3f0 move s2, a1                                   |     s2 = a1;
    0x001de3f4 move s4, a2                                   |     s4 = a2;
    0x001de3f8 lw s3, 0x48(sp)                               |     s3 = *(arg_48h);
                                                             |     if (v0 != 0) {
    0x001de3fc beqz v0, 0x1de430                             |         
    0x001de400 lw t9, -0x5828(gp)                            |         t9 = *((gp - 5642));
    0x001de404 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de408 jalr t9                                       |         t9 ();
    0x001de40c lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de410 addiu a3, zero, 1                             |         a3 = 1;
    0x001de414 move a2, v0                                   |         a2 = v0;
    0x001de418 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de41c lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de420 addiu a1, a1, 0x1ea4                          |         a1 += aav.0x00001ea4;
    0x001de424 move a0, s0                                   |         a0 = s0;
    0x001de428 jalr t9                                       |         t9 ();
    0x001de42c lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de430 lw v0, 4(s1)                                  |     v0 = *((s1 + 1));
    0x001de434 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de438 beqz v0, 0x1de46c                             |         
    0x001de43c lw a1, (v0)                                   |         a1 = *(v0);
    0x001de440 move a0, s0                                   |         a0 = s0;
    0x001de444 jalr t9                                       |         t9 ();
    0x001de448 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de44c addiu a3, zero, 1                             |         a3 = 1;
    0x001de450 move a2, v0                                   |         a2 = v0;
    0x001de454 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de458 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de45c addiu a1, a1, 0x1eac                          |         a1 += aav.0x00001eac;
    0x001de460 move a0, s0                                   |         a0 = s0;
    0x001de464 jalr t9                                       |         t9 ();
    0x001de468 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de46c lw v0, 8(s1)                                  |     v0 = *((s1 + 2));
    0x001de470 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de474 beqz v0, 0x1de4a8                             |         
    0x001de478 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de47c move a0, s0                                   |         a0 = s0;
    0x001de480 jalr t9                                       |         t9 ();
    0x001de484 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de488 addiu a3, zero, 1                             |         a3 = 1;
    0x001de48c move a2, v0                                   |         a2 = v0;
    0x001de490 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de494 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de498 addiu a1, a1, 0x1eb4                          |         a1 += aav.0x00001eb4;
    0x001de49c move a0, s0                                   |         a0 = s0;
    0x001de4a0 jalr t9                                       |         t9 ();
    0x001de4a4 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de4a8 lw v0, 0xc(s1)                                |     v0 = *((s1 + 3));
    0x001de4ac lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de4b0 beqz v0, 0x1de4e4                             |         
    0x001de4b4 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de4b8 move a0, s0                                   |         a0 = s0;
    0x001de4bc jalr t9                                       |         t9 ();
    0x001de4c0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de4c4 addiu a3, zero, 1                             |         a3 = 1;
    0x001de4c8 move a2, v0                                   |         a2 = v0;
    0x001de4cc lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de4d0 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de4d4 addiu a1, a1, 0x1ebc                          |         a1 += aav.0x00001ebc;
    0x001de4d8 move a0, s0                                   |         a0 = s0;
    0x001de4dc jalr t9                                       |         t9 ();
    0x001de4e0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de4e4 lw v0, 0x10(s1)                               |     v0 = *((s1 + 4));
    0x001de4e8 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de4ec beqz v0, 0x1de520                             |         
    0x001de4f0 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de4f4 move a0, s0                                   |         a0 = s0;
    0x001de4f8 jalr t9                                       |         t9 ();
    0x001de4fc lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de500 addiu a3, zero, 1                             |         a3 = 1;
    0x001de504 move a2, v0                                   |         a2 = v0;
    0x001de508 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de50c lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de510 addiu a1, a1, 0x1ed4                          |         a1 += aav.0x00001ed4;
    0x001de514 move a0, s0                                   |         a0 = s0;
    0x001de518 jalr t9                                       |         t9 ();
    0x001de51c lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de520 lw v0, 0x14(s1)                               |     v0 = *((s1 + 5));
    0x001de524 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de528 beqz v0, 0x1de55c                             |         
    0x001de52c lw a1, (v0)                                   |         a1 = *(v0);
    0x001de530 move a0, s0                                   |         a0 = s0;
    0x001de534 jalr t9                                       |         t9 ();
    0x001de538 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de53c addiu a3, zero, 1                             |         a3 = 1;
    0x001de540 move a2, v0                                   |         a2 = v0;
    0x001de544 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de548 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de54c addiu a1, a1, 0x1ee8                          |         a1 += aav.0x00001ee8;
    0x001de550 move a0, s0                                   |         a0 = s0;
    0x001de554 jalr t9                                       |         t9 ();
    0x001de558 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de55c lw v0, 0x18(s1)                               |     v0 = *((s1 + 6));
    0x001de560 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de564 beqz v0, 0x1de598                             |         
    0x001de568 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de56c move a0, s0                                   |         a0 = s0;
    0x001de570 jalr t9                                       |         t9 ();
    0x001de574 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de578 addiu a3, zero, 1                             |         a3 = 1;
    0x001de57c move a2, v0                                   |         a2 = v0;
    0x001de580 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de584 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de588 addiu a1, a1, 0x1efc                          |         a1 += aav.0x00001efc;
    0x001de58c move a0, s0                                   |         a0 = s0;
    0x001de590 jalr t9                                       |         t9 ();
    0x001de594 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de598 lw v0, 0x1c(s1)                               |     v0 = *((s1 + 7));
    0x001de59c lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de5a0 beqz v0, 0x1de5d4                             |         
    0x001de5a4 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de5a8 move a0, s0                                   |         a0 = s0;
    0x001de5ac jalr t9                                       |         t9 ();
    0x001de5b0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de5b4 addiu a3, zero, 1                             |         a3 = 1;
    0x001de5b8 move a2, v0                                   |         a2 = v0;
    0x001de5bc lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de5c0 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de5c4 addiu a1, a1, 0x1f04                          |         a1 += aav.0x00001f04;
    0x001de5c8 move a0, s0                                   |         a0 = s0;
    0x001de5cc jalr t9                                       |         t9 ();
    0x001de5d0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de5d4 lw v0, 0x20(s1)                               |     v0 = *((s1 + 8));
    0x001de5d8 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de5dc beqz v0, 0x1de610                             |         
    0x001de5e0 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de5e4 move a0, s0                                   |         a0 = s0;
    0x001de5e8 jalr t9                                       |         t9 ();
    0x001de5ec lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de5f0 addiu a3, zero, 1                             |         a3 = 1;
    0x001de5f4 move a2, v0                                   |         a2 = v0;
    0x001de5f8 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de5fc lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de600 addiu a1, a1, 0x1f18                          |         a1 += aav.0x00001f18;
    0x001de604 move a0, s0                                   |         a0 = s0;
    0x001de608 jalr t9                                       |         t9 ();
    0x001de60c lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de610 lw v0, 0x24(s1)                               |     v0 = *((s1 + 9));
    0x001de614 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de618 beqz v0, 0x1de64c                             |         
    0x001de61c lw a1, (v0)                                   |         a1 = *(v0);
    0x001de620 move a0, s0                                   |         a0 = s0;
    0x001de624 jalr t9                                       |         t9 ();
    0x001de628 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de62c addiu a3, zero, 1                             |         a3 = 1;
    0x001de630 move a2, v0                                   |         a2 = v0;
    0x001de634 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de638 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de63c addiu a1, a1, 0x1f24                          |         a1 += aav.0x00001f24;
    0x001de640 move a0, s0                                   |         a0 = s0;
    0x001de644 jalr t9                                       |         t9 ();
    0x001de648 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de64c lw v0, 0x28(s1)                               |     v0 = *((s1 + 10));
    0x001de650 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de654 beqz v0, 0x1de688                             |         
    0x001de658 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de65c move a0, s0                                   |         a0 = s0;
    0x001de660 jalr t9                                       |         t9 ();
    0x001de664 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de668 addiu a3, zero, 1                             |         a3 = 1;
    0x001de66c move a2, v0                                   |         a2 = v0;
    0x001de670 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de674 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de678 addiu a1, a1, 0x1f30                          |         a1 += aav.0x00001f30;
    0x001de67c move a0, s0                                   |         a0 = s0;
    0x001de680 jalr t9                                       |         t9 ();
    0x001de684 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de688 lw v0, 0x2c(s1)                               |     v0 = *((s1 + 11));
    0x001de68c lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de690 beqz v0, 0x1de6c4                             |         
    0x001de694 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de698 move a0, s0                                   |         a0 = s0;
    0x001de69c jalr t9                                       |         t9 ();
    0x001de6a0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de6a4 addiu a3, zero, 1                             |         a3 = 1;
    0x001de6a8 move a2, v0                                   |         a2 = v0;
    0x001de6ac lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de6b0 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de6b4 addiu a1, a1, 0x1f40                          |         a1 += aav.0x00001f40;
    0x001de6b8 move a0, s0                                   |         a0 = s0;
    0x001de6bc jalr t9                                       |         t9 ();
    0x001de6c0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de6c4 lw v0, 0x30(s1)                               |     v0 = *((s1 + 12));
    0x001de6c8 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de6cc beqz v0, 0x1de700                             |         
    0x001de6d0 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de6d4 move a0, s0                                   |         a0 = s0;
    0x001de6d8 jalr t9                                       |         t9 ();
    0x001de6dc lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de6e0 addiu a3, zero, 1                             |         a3 = 1;
    0x001de6e4 move a2, v0                                   |         a2 = v0;
    0x001de6e8 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de6ec lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de6f0 addiu a1, a1, 0x1f50                          |         a1 += aav.0x00001f50;
    0x001de6f4 move a0, s0                                   |         a0 = s0;
    0x001de6f8 jalr t9                                       |         t9 ();
    0x001de6fc lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de700 lw v0, 0x34(s1)                               |     v0 = *((s1 + 13));
    0x001de704 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de708 beqz v0, 0x1de73c                             |         
    0x001de70c lw a1, (v0)                                   |         a1 = *(v0);
    0x001de710 move a0, s0                                   |         a0 = s0;
    0x001de714 jalr t9                                       |         t9 ();
    0x001de718 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de71c addiu a3, zero, 1                             |         a3 = 1;
    0x001de720 move a2, v0                                   |         a2 = v0;
    0x001de724 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de728 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de72c addiu a1, a1, 0x1f5c                          |         a1 += aav.0x00001f5c;
    0x001de730 move a0, s0                                   |         a0 = s0;
    0x001de734 jalr t9                                       |         t9 ();
    0x001de738 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de73c lw a2, 0x38(s1)                               |     a2 = *((s1 + 14));
    0x001de740 lw a1, -0x7fd4(gp)                            |     a1 = *((gp - 8181));
                                                             |     if (a2 != 0) {
    0x001de744 beqz a2, 0x1de760                             |         
    0x001de748 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de74c addiu a3, zero, 1                             |         a3 = 1;
    0x001de750 addiu a1, a1, 0x1f68                          |         a1 += aav.0x00001f68;
    0x001de754 move a0, s0                                   |         a0 = s0;
    0x001de758 jalr t9                                       |         t9 ();
    0x001de75c lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de760 lw v0, -0x7fcc(gp)                            |     v0 = *((gp - 8179));
    0x001de764 lw a1, -0x7fd4(gp)                            |     a1 = *((gp - 8181));
    0x001de768 lw t9, -0x1ecc(gp)                            |     t9 = *(gp);
    0x001de76c addiu v0, v0, -0x2a30                         |     v0 += -aav.0x00002a30;
    0x001de770 sw v0, 0x10(sp)                               |     *(var_10h) = v0;
    0x001de774 addiu a3, s1, 0x3c                            |     a3 = s1 + 0x3c;
    0x001de778 addiu a2, zero, -1                            |     a2 = -1;
    0x001de77c addiu a1, a1, 0x16f4                          |     a1 += aav.0x000016f4;
    0x001de780 move a0, s0                                   |     a0 = s0;
    0x001de784 jalr t9                                       |     t9 ();
    0x001de788 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x001de78c beqz v0, 0x1de7bc                             |     
                                                             |     while (v0 != 0) {
    0x001de790 lui v0, 1                                     |         v0 = 0x10000;
    0x001de794 lw ra, 0x34(sp)                               |         ra = *(var_34h);
    0x001de798 addu s0, s0, v0                               |         s0 += v0;
    0x001de79c lw s4, 0x30(sp)                               |         s4 = *(var_30h);
    0x001de7a0 lw v0, 0x6180(s0)                             |         v0 = *((s0 + 6240));
    0x001de7a4 lw s3, 0x2c(sp)                               |         s3 = *(var_2ch);
    0x001de7a8 lw s2, 0x28(sp)                               |         s2 = *(var_28h);
    0x001de7ac lw s1, 0x24(sp)                               |         s1 = *(var_24h);
    0x001de7b0 lw s0, 0x20(sp)                               |         s0 = *(var_20h);
    0x001de7b4 addiu sp, sp, 0x38                            |         
    0x001de7b8 jr ra                                         |         return v0;
    0x001de7bc lw t9, -0x4890(gp)                            |         t9 = *(gp);
    0x001de7c0 addiu a3, zero, 0x5c9                         |         a3 = 0x5c9;
    0x001de7c4 move a2, s1                                   |         a2 = s1;
    0x001de7c8 move a1, s4                                   |         a1 = s4;
    0x001de7cc move a0, s0                                   |         a0 = s0;
    0x001de7d0 jalr t9                                       |         t9 ();
    0x001de7d4 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de7d8 move a3, s3                                   |         a3 = s3;
    0x001de7dc move a2, v0                                   |         a2 = v0;
    0x001de7e0 lw t9, -0x12f4(gp)                            |         t9 = *(gp);
    0x001de7e4 move a1, s2                                   |         a1 = s2;
    0x001de7e8 move a0, s0                                   |         a0 = s0;
    0x001de7ec jalr t9                                       |         t9 ();
    0x001de7f0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de7f4 bnez v0, 0x1de790                             |         
                                                             |     }
    0x001de7f8 lw ra, 0x34(sp)                               |     ra = *(var_34h);
    0x001de7fc lw s4, 0x30(sp)                               |     s4 = *(var_30h);
    0x001de800 lw s3, 0x2c(sp)                               |     s3 = *(var_2ch);
    0x001de804 lw s1, 0x24(sp)                               |     s1 = *(var_24h);
    0x001de808 move a1, s2                                   |     a1 = s2;
    0x001de80c move a0, s0                                   |     a0 = s0;
    0x001de810 lw s2, 0x28(sp)                               |     s2 = *(var_28h);
    0x001de814 lw s0, 0x20(sp)                               |     s0 = *(var_20h);
    0x001de818 lw t9, 0x1c18(gp)                             |     t9 = *(gp);
    0x001de81c addiu sp, sp, 0x38                            |     
    0x001de820 jr t9                                         |     return t9 ();
                                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1de058 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.soap_out_tds__SystemCapabilities ()          | void soap_out_tds_SystemCapabilities () {
    0x001de058 lui gp, 0x53                                  |     
    0x001de05c addiu gp, gp, 0x5fd8                          |     
    0x001de060 addu gp, gp, t9                               |     gp += t9;
    0x001de064 addiu sp, sp, -0x38                           |     
    0x001de068 lw v0, (a3)                                   |     v0 = *(a3);
    0x001de06c sw gp, 0x18(sp)                               |     *(var_18h) = gp;
    0x001de070 sw s4, 0x30(sp)                               |     *(var_30h) = s4;
    0x001de074 sw s3, 0x2c(sp)                               |     *(var_2ch) = s3;
    0x001de078 sw s2, 0x28(sp)                               |     *(var_28h) = s2;
    0x001de07c sw s1, 0x24(sp)                               |     *(var_24h) = s1;
    0x001de080 sw s0, 0x20(sp)                               |     *(var_20h) = s0;
    0x001de084 sw ra, 0x34(sp)                               |     *(var_34h) = ra;
    0x001de088 move s1, a3                                   |     s1 = a3;
    0x001de08c move s0, a0                                   |     s0 = a0;
    0x001de090 move s2, a1                                   |     s2 = a1;
    0x001de094 move s4, a2                                   |     s4 = a2;
    0x001de098 lw s3, 0x48(sp)                               |     s3 = *(arg_48h);
                                                             |     if (v0 != 0) {
    0x001de09c beqz v0, 0x1de0d0                             |         
    0x001de0a0 lw t9, -0x5828(gp)                            |         t9 = *((gp - 5642));
    0x001de0a4 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de0a8 jalr t9                                       |         t9 ();
    0x001de0ac lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de0b0 addiu a3, zero, 1                             |         a3 = 1;
    0x001de0b4 move a2, v0                                   |         a2 = v0;
    0x001de0b8 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de0bc lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de0c0 addiu a1, a1, 0x1e1c                          |         a1 += aav.0x00001e1c;
    0x001de0c4 move a0, s0                                   |         a0 = s0;
    0x001de0c8 jalr t9                                       |         t9 ();
    0x001de0cc lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de0d0 lw v0, 4(s1)                                  |     v0 = *((s1 + 1));
    0x001de0d4 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de0d8 beqz v0, 0x1de10c                             |         
    0x001de0dc lw a1, (v0)                                   |         a1 = *(v0);
    0x001de0e0 move a0, s0                                   |         a0 = s0;
    0x001de0e4 jalr t9                                       |         t9 ();
    0x001de0e8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de0ec addiu a3, zero, 1                             |         a3 = 1;
    0x001de0f0 move a2, v0                                   |         a2 = v0;
    0x001de0f4 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de0f8 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de0fc addiu a1, a1, 0x1e30                          |         a1 += aav.0x00001e30;
    0x001de100 move a0, s0                                   |         a0 = s0;
    0x001de104 jalr t9                                       |         t9 ();
    0x001de108 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de10c lw v0, 8(s1)                                  |     v0 = *((s1 + 2));
    0x001de110 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de114 beqz v0, 0x1de148                             |         
    0x001de118 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de11c move a0, s0                                   |         a0 = s0;
    0x001de120 jalr t9                                       |         t9 ();
    0x001de124 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de128 addiu a3, zero, 1                             |         a3 = 1;
    0x001de12c move a2, v0                                   |         a2 = v0;
    0x001de130 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de134 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de138 addiu a1, a1, 0x1e40                          |         a1 += aav.0x00001e40;
    0x001de13c move a0, s0                                   |         a0 = s0;
    0x001de140 jalr t9                                       |         t9 ();
    0x001de144 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de148 lw v0, 0xc(s1)                                |     v0 = *((s1 + 3));
    0x001de14c lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de150 beqz v0, 0x1de184                             |         
    0x001de154 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de158 move a0, s0                                   |         a0 = s0;
    0x001de15c jalr t9                                       |         t9 ();
    0x001de160 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de164 addiu a3, zero, 1                             |         a3 = 1;
    0x001de168 move a2, v0                                   |         a2 = v0;
    0x001de16c lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de170 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de174 addiu a1, a1, 0x1e68                          |         a1 += aav.0x00001e68;
    0x001de178 move a0, s0                                   |         a0 = s0;
    0x001de17c jalr t9                                       |         t9 ();
    0x001de180 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de184 lw v0, 0x10(s1)                               |     v0 = *((s1 + 4));
    0x001de188 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de18c beqz v0, 0x1de1c0                             |         
    0x001de190 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de194 move a0, s0                                   |         a0 = s0;
    0x001de198 jalr t9                                       |         t9 ();
    0x001de19c lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de1a0 addiu a3, zero, 1                             |         a3 = 1;
    0x001de1a4 move a2, v0                                   |         a2 = v0;
    0x001de1a8 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de1ac lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de1b0 addiu a1, a1, 0x1e7c                          |         a1 += aav.0x00001e7c;
    0x001de1b4 move a0, s0                                   |         a0 = s0;
    0x001de1b8 jalr t9                                       |         t9 ();
    0x001de1bc lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de1c0 lw v0, 0x14(s1)                               |     v0 = *((s1 + 5));
    0x001de1c4 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de1c8 beqz v0, 0x1de1fc                             |         
    0x001de1cc lw a1, (v0)                                   |         a1 = *(v0);
    0x001de1d0 move a0, s0                                   |         a0 = s0;
    0x001de1d4 jalr t9                                       |         t9 ();
    0x001de1d8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de1dc addiu a3, zero, 1                             |         a3 = 1;
    0x001de1e0 move a2, v0                                   |         a2 = v0;
    0x001de1e4 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de1e8 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de1ec addiu a1, a1, 0x1e54                          |         a1 += aav.0x00001e54;
    0x001de1f0 move a0, s0                                   |         a0 = s0;
    0x001de1f4 jalr t9                                       |         t9 ();
    0x001de1f8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de1fc lw v0, 0x18(s1)                               |     v0 = *((s1 + 6));
    0x001de200 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de204 beqz v0, 0x1de238                             |         
    0x001de208 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de20c move a0, s0                                   |         a0 = s0;
    0x001de210 jalr t9                                       |         t9 ();
    0x001de214 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de218 addiu a3, zero, 1                             |         a3 = 1;
    0x001de21c move a2, v0                                   |         a2 = v0;
    0x001de220 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de224 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de228 addiu a1, a1, 0x1e50                          |         a1 += aav.0x00001e50;
    0x001de22c move a0, s0                                   |         a0 = s0;
    0x001de230 jalr t9                                       |         t9 ();
    0x001de234 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de238 lw v0, 0x1c(s1)                               |     v0 = *((s1 + 7));
    0x001de23c lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de240 beqz v0, 0x1de274                             |         
    0x001de244 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de248 move a0, s0                                   |         a0 = s0;
    0x001de24c jalr t9                                       |         t9 ();
    0x001de250 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de254 addiu a3, zero, 1                             |         a3 = 1;
    0x001de258 move a2, v0                                   |         a2 = v0;
    0x001de25c lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de260 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de264 addiu a1, a1, 0x1e64                          |         a1 += aav.0x00001e64;
    0x001de268 move a0, s0                                   |         a0 = s0;
    0x001de26c jalr t9                                       |         t9 ();
    0x001de270 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de274 lw v0, 0x20(s1)                               |     v0 = *((s1 + 8));
    0x001de278 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de27c beqz v0, 0x1de2b0                             |         
    0x001de280 lw a1, (v0)                                   |         a1 = *(v0);
    0x001de284 move a0, s0                                   |         a0 = s0;
    0x001de288 jalr t9                                       |         t9 ();
    0x001de28c lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de290 addiu a3, zero, 1                             |         a3 = 1;
    0x001de294 move a2, v0                                   |         a2 = v0;
    0x001de298 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de29c lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de2a0 addiu a1, a1, 0x1e78                          |         a1 += aav.0x00001e78;
    0x001de2a4 move a0, s0                                   |         a0 = s0;
    0x001de2a8 jalr t9                                       |         t9 ();
    0x001de2ac lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de2b0 lw v0, 0x24(s1)                               |     v0 = *((s1 + 9));
    0x001de2b4 lw t9, -0x5828(gp)                            |     t9 = *((gp - 5642));
                                                             |     if (v0 != 0) {
    0x001de2b8 beqz v0, 0x1de2ec                             |         
    0x001de2bc lw a1, (v0)                                   |         a1 = *(v0);
    0x001de2c0 move a0, s0                                   |         a0 = s0;
    0x001de2c4 jalr t9                                       |         t9 ();
    0x001de2c8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de2cc addiu a3, zero, 1                             |         a3 = 1;
    0x001de2d0 move a2, v0                                   |         a2 = v0;
    0x001de2d4 lw a1, -0x7fd4(gp)                            |         a1 = *((gp - 8181));
    0x001de2d8 lw t9, -0x23dc(gp)                            |         t9 = *(gp);
    0x001de2dc addiu a1, a1, 0x1e8c                          |         a1 += aav.0x00001e8c;
    0x001de2e0 move a0, s0                                   |         a0 = s0;
    0x001de2e4 jalr t9                                       |         t9 ();
    0x001de2e8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |     }
    0x001de2ec lw v0, -0x7fcc(gp)                            |     v0 = *((gp - 8179));
    0x001de2f0 lw a1, -0x7fd4(gp)                            |     a1 = *((gp - 8181));
    0x001de2f4 lw t9, -0x1ecc(gp)                            |     t9 = *(gp);
    0x001de2f8 addiu v0, v0, -0x2a30                         |     v0 += -aav.0x00002a30;
    0x001de2fc sw v0, 0x10(sp)                               |     *(var_10h) = v0;
    0x001de300 addiu a3, s1, 0x28                            |     a3 = s1 + 0x28;
    0x001de304 addiu a2, zero, -1                            |     a2 = -1;
    0x001de308 addiu a1, a1, 0x16f4                          |     a1 += aav.0x000016f4;
    0x001de30c move a0, s0                                   |     a0 = s0;
    0x001de310 jalr t9                                       |     t9 ();
    0x001de314 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x001de318 beqz v0, 0x1de348                             |     
                                                             |     while (v0 != 0) {
    0x001de31c lui v0, 1                                     |         v0 = 0x10000;
    0x001de320 lw ra, 0x34(sp)                               |         ra = *(var_34h);
    0x001de324 addu s0, s0, v0                               |         s0 += v0;
    0x001de328 lw s4, 0x30(sp)                               |         s4 = *(var_30h);
    0x001de32c lw v0, 0x6180(s0)                             |         v0 = *((s0 + 6240));
    0x001de330 lw s3, 0x2c(sp)                               |         s3 = *(var_2ch);
    0x001de334 lw s2, 0x28(sp)                               |         s2 = *(var_28h);
    0x001de338 lw s1, 0x24(sp)                               |         s1 = *(var_24h);
    0x001de33c lw s0, 0x20(sp)                               |         s0 = *(var_20h);
    0x001de340 addiu sp, sp, 0x38                            |         
    0x001de344 jr ra                                         |         return v0;
    0x001de348 lw t9, -0x4890(gp)                            |         t9 = *(gp);
    0x001de34c addiu a3, zero, 0x5cb                         |         a3 = 0x5cb;
    0x001de350 move a2, s1                                   |         a2 = s1;
    0x001de354 move a1, s4                                   |         a1 = s4;
    0x001de358 move a0, s0                                   |         a0 = s0;
    0x001de35c jalr t9                                       |         t9 ();
    0x001de360 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de364 move a3, s3                                   |         a3 = s3;
    0x001de368 move a2, v0                                   |         a2 = v0;
    0x001de36c lw t9, -0x12f4(gp)                            |         t9 = *(gp);
    0x001de370 move a1, s2                                   |         a1 = s2;
    0x001de374 move a0, s0                                   |         a0 = s0;
    0x001de378 jalr t9                                       |         t9 ();
    0x001de37c lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x001de380 bnez v0, 0x1de31c                             |         
                                                             |     }
    0x001de384 lw ra, 0x34(sp)                               |     ra = *(var_34h);
    0x001de388 lw s4, 0x30(sp)                               |     s4 = *(var_30h);
    0x001de38c lw s3, 0x2c(sp)                               |     s3 = *(var_2ch);
    0x001de390 lw s1, 0x24(sp)                               |     s1 = *(var_24h);
    0x001de394 move a1, s2                                   |     a1 = s2;
    0x001de398 move a0, s0                                   |     a0 = s0;
    0x001de39c lw s2, 0x28(sp)                               |     s2 = *(var_28h);
    0x001de3a0 lw s0, 0x20(sp)                               |     s0 = *(var_20h);
    0x001de3a4 lw t9, 0x1c18(gp)                             |     t9 = *(gp);
    0x001de3a8 addiu sp, sp, 0x38                            |     
    0x001de3ac jr t9                                         |     return t9 ();
                                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1df350 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.soap_out_tev__Capabilities ()        | void soap_out_tev_Capabilities () {
    0x001df350 lui gp, 0x53                          |     
    0x001df354 addiu gp, gp, 0x4ce0                  |     
    0x001df358 addu gp, gp, t9                       |     gp += t9;
    0x001df35c addiu sp, sp, -0x40                   |     
    0x001df360 lw v0, 8(a3)                          |     v0 = *((a3 + 2));
    0x001df364 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x001df368 sw s6, 0x38(sp)                       |     *(var_38h) = s6;
    0x001df36c sw s3, 0x2c(sp)                       |     *(var_2ch) = s3;
    0x001df370 sw s2, 0x28(sp)                       |     *(var_28h) = s2;
    0x001df374 sw s1, 0x24(sp)                       |     *(var_24h) = s1;
    0x001df378 sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x001df37c sw ra, 0x3c(sp)                       |     *(var_3ch) = ra;
    0x001df380 sw s5, 0x34(sp)                       |     *(var_34h) = s5;
    0x001df384 sw s4, 0x30(sp)                       |     *(var_30h) = s4;
    0x001df388 move s0, a3                           |     s0 = a3;
    0x001df38c move s1, a0                           |     s1 = a0;
    0x001df390 move s6, a1                           |     s6 = a1;
    0x001df394 move s3, a2                           |     s3 = a2;
    0x001df398 lw s2, 0x50(sp)                       |     s2 = *(arg_50h);
                                                     |     if (v0 != 0) {
    0x001df39c beqz v0, 0x1df3d0                     |         
    0x001df3a0 lw t9, -0x5828(gp)                    |         t9 = *((gp - 5642));
    0x001df3a4 lw a1, (v0)                           |         a1 = *(v0);
    0x001df3a8 jalr t9                               |         t9 ();
    0x001df3ac lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df3b0 addiu a3, zero, 1                     |         a3 = 1;
    0x001df3b4 move a2, v0                           |         a2 = v0;
    0x001df3b8 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001df3bc lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001df3c0 addiu a1, a1, 0x1fb8                  |         a1 += aav.0x00001fb8;
    0x001df3c4 move a0, s1                           |         a0 = s1;
    0x001df3c8 jalr t9                               |         t9 ();
    0x001df3cc lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001df3d0 lw v0, 0xc(s0)                        |     v0 = *((s0 + 3));
    0x001df3d4 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001df3d8 beqz v0, 0x1df40c                     |         
    0x001df3dc lw a1, (v0)                           |         a1 = *(v0);
    0x001df3e0 move a0, s1                           |         a0 = s1;
    0x001df3e4 jalr t9                               |         t9 ();
    0x001df3e8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df3ec addiu a3, zero, 1                     |         a3 = 1;
    0x001df3f0 move a2, v0                           |         a2 = v0;
    0x001df3f4 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001df3f8 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001df3fc addiu a1, a1, 0x1fd4                  |         a1 += aav.0x00001fd4;
    0x001df400 move a0, s1                           |         a0 = s1;
    0x001df404 jalr t9                               |         t9 ();
    0x001df408 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001df40c lw v0, 0x10(s0)                       |     v0 = *((s0 + 4));
    0x001df410 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001df414 beqz v0, 0x1df448                     |         
    0x001df418 lw a1, (v0)                           |         a1 = *(v0);
    0x001df41c move a0, s1                           |         a0 = s1;
    0x001df420 jalr t9                               |         t9 ();
    0x001df424 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df428 addiu a3, zero, 1                     |         a3 = 1;
    0x001df42c move a2, v0                           |         a2 = v0;
    0x001df430 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001df434 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001df438 addiu a1, a1, 0x1fe8                  |         a1 += aav.0x00001fe8;
    0x001df43c move a0, s1                           |         a0 = s1;
    0x001df440 jalr t9                               |         t9 ();
    0x001df444 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001df448 lw v0, 0x14(s0)                       |     v0 = *((s0 + 5));
    0x001df44c lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001df450 beqz v0, 0x1df484                     |         
    0x001df454 lw a1, (v0)                           |         a1 = *(v0);
    0x001df458 move a0, s1                           |         a0 = s1;
    0x001df45c jalr t9                               |         t9 ();
    0x001df460 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df464 addiu a3, zero, 1                     |         a3 = 1;
    0x001df468 move a2, v0                           |         a2 = v0;
    0x001df46c lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001df470 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001df474 addiu a1, a1, 0x2018                  |         a1 += aav.0x00002018;
    0x001df478 move a0, s1                           |         a0 = s1;
    0x001df47c jalr t9                               |         t9 ();
    0x001df480 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001df484 lw v0, 0x18(s0)                       |     v0 = *((s0 + 6));
    0x001df488 lw t9, -0x2764(gp)                    |     t9 = *(gp);
                                                     |     if (v0 != 0) {
    0x001df48c beqz v0, 0x1df4c0                     |         
    0x001df490 lw a1, (v0)                           |         a1 = *(v0);
    0x001df494 move a0, s1                           |         a0 = s1;
    0x001df498 jalr t9                               |         t9 ();
    0x001df49c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df4a0 addiu a3, zero, 1                     |         a3 = 1;
    0x001df4a4 move a2, v0                           |         a2 = v0;
    0x001df4a8 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001df4ac lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001df4b0 addiu a1, a1, 0x2030                  |         a1 += aav.0x00002030;
    0x001df4b4 move a0, s1                           |         a0 = s1;
    0x001df4b8 jalr t9                               |         t9 ();
    0x001df4bc lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001df4c0 lw v0, 0x1c(s0)                       |     v0 = *((s0 + 7));
    0x001df4c4 lw t9, -0x2764(gp)                    |     t9 = *(gp);
                                                     |     if (v0 != 0) {
    0x001df4c8 beqz v0, 0x1df4fc                     |         
    0x001df4cc lw a1, (v0)                           |         a1 = *(v0);
    0x001df4d0 move a0, s1                           |         a0 = s1;
    0x001df4d4 jalr t9                               |         t9 ();
    0x001df4d8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df4dc addiu a3, zero, 1                     |         a3 = 1;
    0x001df4e0 move a2, v0                           |         a2 = v0;
    0x001df4e4 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001df4e8 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001df4ec addiu a1, a1, 0x204c                  |         a1 += aav.0x0000204c;
    0x001df4f0 move a0, s1                           |         a0 = s1;
    0x001df4f4 jalr t9                               |         t9 ();
    0x001df4f8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001df4fc lw s4, -0x7fcc(gp)                    |     s4 = *((gp - 8179));
    0x001df500 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
    0x001df504 lw t9, -0x1ecc(gp)                    |     t9 = *(gp);
    0x001df508 addiu s4, s4, -0x2a30                 |     s4 += -aav.0x00002a30;
    0x001df50c sw s4, 0x10(sp)                       |     *(var_10h) = s4;
    0x001df510 addiu a3, s0, 0x20                    |     a3 = s0 + 0x20;
    0x001df514 addiu a2, zero, -1                    |     a2 = -1;
    0x001df518 addiu a1, a1, 0x16f4                  |     a1 += aav.0x000016f4;
    0x001df51c move a0, s1                           |     a0 = s1;
    0x001df520 jalr t9                               |     t9 ();
    0x001df524 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x001df528 beqz v0, 0x1df560                     |     
                                                     |     while (v0 != 0) {
                                                     | label_0:
    0x001df52c lui v0, 1                             |         v0 = 0x10000;
    0x001df530 lw ra, 0x3c(sp)                       |         ra = *(var_3ch);
    0x001df534 addu s1, s1, v0                       |         s1 += v0;
    0x001df538 lw s6, 0x38(sp)                       |         s6 = *(var_38h);
    0x001df53c lw v0, 0x6180(s1)                     |         v0 = *((s1 + 6240));
    0x001df540 lw s5, 0x34(sp)                       |         s5 = *(var_34h);
    0x001df544 lw s4, 0x30(sp)                       |         s4 = *(var_30h);
    0x001df548 lw s3, 0x2c(sp)                       |         s3 = *(var_2ch);
    0x001df54c lw s2, 0x28(sp)                       |         s2 = *(var_28h);
    0x001df550 lw s1, 0x24(sp)                       |         s1 = *(var_24h);
    0x001df554 lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x001df558 addiu sp, sp, 0x40                    |         
    0x001df55c jr ra                                 |         return v0;
    0x001df560 lw t9, -0x4890(gp)                    |         t9 = *(gp);
    0x001df564 addiu a3, zero, 0x5b4                 |         a3 = aav.0x000005b4;
    0x001df568 move a2, s0                           |         a2 = s0;
    0x001df56c move a1, s3                           |         a1 = s3;
    0x001df570 move a0, s1                           |         a0 = s1;
    0x001df574 jalr t9                               |         t9 ();
    0x001df578 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df57c move a3, s2                           |         a3 = s2;
    0x001df580 move a2, v0                           |         a2 = v0;
    0x001df584 lw t9, -0x12f4(gp)                    |         t9 = *(gp);
    0x001df588 move a1, s6                           |         a1 = s6;
    0x001df58c move a0, s1                           |         a0 = s1;
    0x001df590 jalr t9                               |         t9 ();
    0x001df594 move s2, v0                           |         s2 = v0;
    0x001df598 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001df59c bnez v0, 0x1df52c                     |         
                                                     |     }
    0x001df5a0 lw a3, 4(s0)                          |     a3 = *((s0 + 1));
    0x001df5a4 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     |     if (a3 == 0) {
    0x001df5a8 beqz a3, 0x1df604                     |         goto label_2;
                                                     |     }
    0x001df5ac lw v0, (s0)                           |     v0 = *(s0);
    0x001df5b0 lw s5, -0x7fd4(gp)                    |     s5 = *((gp - 8181));
                                                     |     if (v0 <= 0) {
    0x001df5b4 blez v0, 0x1df604                     |         goto label_2;
                                                     |     }
    0x001df5b8 move s3, zero                         |     s3 = 0;
    0x001df5bc addiu s5, s5, 0x15d4                  |     s5 += aav.0x000015d4;
    0x001df5c0 b 0x1df5c8                            |     goto label_3;
                                                     | label_1:
    0x001df5c4 lw a3, 4(s0)                          |     a3 = *((s0 + 1));
                                                     | label_3:
    0x001df5c8 lw t9, -0xde0(gp)                     |     t9 = *(gp);
    0x001df5cc addu a3, a3, s3                       |     a3 += s3;
    0x001df5d0 sw s4, 0x10(sp)                       |     *(var_10h) = s4;
    0x001df5d4 addiu a2, zero, -1                    |     a2 = -1;
    0x001df5d8 move a1, s5                           |     a1 = s5;
    0x001df5dc move a0, s1                           |     a0 = s1;
    0x001df5e0 jalr t9                               |     t9 ();
    0x001df5e4 addiu s2, s2, 1                       |     s2++;
    0x001df5e8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x001df5ec bnez v0, 0x1df52c                     |         goto label_0;
                                                     |     }
    0x001df5f0 lw v0, (s0)                           |     v0 = *(s0);
    0x001df5f4 slt v0, s2, v0                        |     v0 = (s2 < v0) ? 1 : 0;
    0x001df5f8 addiu s3, s3, 0x34                    |     s3 += 0x34;
                                                     |     if (v0 != 0) {
    0x001df5fc bnez v0, 0x1df5c4                     |         goto label_1;
                                                     |     }
    0x001df600 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     | label_2:
    0x001df604 lw s5, 0x34(sp)                       |     s5 = *(var_34h);
    0x001df608 lw s4, 0x30(sp)                       |     s4 = *(var_30h);
    0x001df60c lw s3, 0x2c(sp)                       |     s3 = *(var_2ch);
    0x001df610 lw s2, 0x28(sp)                       |     s2 = *(var_28h);
    0x001df614 lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x001df618 move a1, s6                           |     a1 = s6;
    0x001df61c move a0, s1                           |     a0 = s1;
    0x001df620 lw s6, 0x38(sp)                       |     s6 = *(var_38h);
    0x001df624 lw s1, 0x24(sp)                       |     s1 = *(var_24h);
    0x001df628 lw t9, 0x1c18(gp)                     |     t9 = *(gp);
    0x001df62c addiu sp, sp, 0x40                    |     
    0x001df630 jr t9                                 |     return t9 ();
                                                     | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1d4f50 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.soap_out_tptz__Capabilities ()           | void soap_out_tptz_Capabilities () {
    0x001d4f50 lui gp, 0x54                              |     
    0x001d4f54 addiu gp, gp, -0xf20                      |     
    0x001d4f58 addu gp, gp, t9                           |     gp += t9;
    0x001d4f5c addiu sp, sp, -0x40                       |     
    0x001d4f60 lw v0, 8(a3)                              |     v0 = *((a3 + 2));
    0x001d4f64 sw gp, 0x18(sp)                           |     *(var_18h) = gp;
    0x001d4f68 sw s6, 0x38(sp)                           |     *(var_38h) = s6;
    0x001d4f6c sw s3, 0x2c(sp)                           |     *(var_2ch) = s3;
    0x001d4f70 sw s2, 0x28(sp)                           |     *(var_28h) = s2;
    0x001d4f74 sw s1, 0x24(sp)                           |     *(var_24h) = s1;
    0x001d4f78 sw s0, 0x20(sp)                           |     *(var_20h) = s0;
    0x001d4f7c sw ra, 0x3c(sp)                           |     *(var_3ch) = ra;
    0x001d4f80 sw s5, 0x34(sp)                           |     *(var_34h) = s5;
    0x001d4f84 sw s4, 0x30(sp)                           |     *(var_30h) = s4;
    0x001d4f88 move s0, a3                               |     s0 = a3;
    0x001d4f8c move s1, a0                               |     s1 = a0;
    0x001d4f90 move s6, a1                               |     s6 = a1;
    0x001d4f94 move s3, a2                               |     s3 = a2;
    0x001d4f98 lw s2, 0x50(sp)                           |     s2 = *(arg_50h);
                                                         |     if (v0 != 0) {
    0x001d4f9c beqz v0, 0x1d4fd0                         |         
    0x001d4fa0 lw t9, -0x5828(gp)                        |         t9 = *((gp - 5642));
    0x001d4fa4 lw a1, (v0)                               |         a1 = *(v0);
    0x001d4fa8 jalr t9                                   |         t9 ();
    0x001d4fac lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x001d4fb0 addiu a3, zero, 1                         |         a3 = 1;
    0x001d4fb4 move a2, v0                               |         a2 = v0;
    0x001d4fb8 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x001d4fbc lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x001d4fc0 addiu a1, a1, 0x1b8c                      |         a1 += aav.0x00001b8c;
    0x001d4fc4 move a0, s1                               |         a0 = s1;
    0x001d4fc8 jalr t9                                   |         t9 ();
    0x001d4fcc lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x001d4fd0 lw v0, 0xc(s0)                            |     v0 = *((s0 + 3));
    0x001d4fd4 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x001d4fd8 beqz v0, 0x1d500c                         |         
    0x001d4fdc lw a1, (v0)                               |         a1 = *(v0);
    0x001d4fe0 move a0, s1                               |         a0 = s1;
    0x001d4fe4 jalr t9                                   |         t9 ();
    0x001d4fe8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x001d4fec addiu a3, zero, 1                         |         a3 = 1;
    0x001d4ff0 move a2, v0                               |         a2 = v0;
    0x001d4ff4 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x001d4ff8 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x001d4ffc addiu a1, a1, 0x1b94                      |         a1 += aav.0x00001b94;
    0x001d5000 move a0, s1                               |         a0 = s1;
    0x001d5004 jalr t9                                   |         t9 ();
    0x001d5008 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x001d500c lw v0, 0x10(s0)                           |     v0 = *((s0 + 4));
    0x001d5010 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x001d5014 beqz v0, 0x1d5048                         |         
    0x001d5018 lw a1, (v0)                               |         a1 = *(v0);
    0x001d501c move a0, s1                               |         a0 = s1;
    0x001d5020 jalr t9                                   |         t9 ();
    0x001d5024 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x001d5028 addiu a3, zero, 1                         |         a3 = 1;
    0x001d502c move a2, v0                               |         a2 = v0;
    0x001d5030 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x001d5034 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x001d5038 addiu a1, a1, 0x1b9c                      |         a1 += aav.0x00001b9c;
    0x001d503c move a0, s1                               |         a0 = s1;
    0x001d5040 jalr t9                                   |         t9 ();
    0x001d5044 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x001d5048 lw v0, 0x14(s0)                           |     v0 = *((s0 + 5));
    0x001d504c lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x001d5050 beqz v0, 0x1d5084                         |         
    0x001d5054 lw a1, (v0)                               |         a1 = *(v0);
    0x001d5058 move a0, s1                               |         a0 = s1;
    0x001d505c jalr t9                                   |         t9 ();
    0x001d5060 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x001d5064 addiu a3, zero, 1                         |         a3 = 1;
    0x001d5068 move a2, v0                               |         a2 = v0;
    0x001d506c lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x001d5070 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x001d5074 addiu a1, a1, 0x1bb8                      |         a1 += aav.0x00001bb8;
    0x001d5078 move a0, s1                               |         a0 = s1;
    0x001d507c jalr t9                                   |         t9 ();
    0x001d5080 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x001d5084 lw v0, 0x18(s0)                           |     v0 = *((s0 + 6));
    0x001d5088 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x001d508c beqz v0, 0x1d50c0                         |         
    0x001d5090 lw a1, (v0)                               |         a1 = *(v0);
    0x001d5094 move a0, s1                               |         a0 = s1;
    0x001d5098 jalr t9                                   |         t9 ();
    0x001d509c lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x001d50a0 addiu a3, zero, 1                         |         a3 = 1;
    0x001d50a4 move a2, v0                               |         a2 = v0;
    0x001d50a8 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x001d50ac lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x001d50b0 addiu a1, a1, 0x1bc4                      |         a1 += aav.0x00001bc4;
    0x001d50b4 move a0, s1                               |         a0 = s1;
    0x001d50b8 jalr t9                                   |         t9 ();
    0x001d50bc lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x001d50c0 lw s4, -0x7fcc(gp)                        |     s4 = *((gp - 8179));
    0x001d50c4 lw a1, -0x7fd4(gp)                        |     a1 = *((gp - 8181));
    0x001d50c8 lw t9, -0x1ecc(gp)                        |     t9 = *(gp);
    0x001d50cc addiu s4, s4, -0x2a30                     |     s4 += -aav.0x00002a30;
    0x001d50d0 sw s4, 0x10(sp)                           |     *(var_10h) = s4;
    0x001d50d4 addiu a3, s0, 0x1c                        |     a3 = s0 + 0x1c;
    0x001d50d8 addiu a2, zero, -1                        |     a2 = -1;
    0x001d50dc addiu a1, a1, 0x16f4                      |     a1 += aav.0x000016f4;
    0x001d50e0 move a0, s1                               |     a0 = s1;
    0x001d50e4 jalr t9                                   |     t9 ();
    0x001d50e8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x001d50ec beqz v0, 0x1d5124                         |     
                                                         |     while (v0 != 0) {
                                                         | label_0:
    0x001d50f0 lui v0, 1                                 |         v0 = 0x10000;
    0x001d50f4 lw ra, 0x3c(sp)                           |         ra = *(var_3ch);
    0x001d50f8 addu s1, s1, v0                           |         s1 += v0;
    0x001d50fc lw s6, 0x38(sp)                           |         s6 = *(var_38h);
    0x001d5100 lw v0, 0x6180(s1)                         |         v0 = *((s1 + 6240));
    0x001d5104 lw s5, 0x34(sp)                           |         s5 = *(var_34h);
    0x001d5108 lw s4, 0x30(sp)                           |         s4 = *(var_30h);
    0x001d510c lw s3, 0x2c(sp)                           |         s3 = *(var_2ch);
    0x001d5110 lw s2, 0x28(sp)                           |         s2 = *(var_28h);
    0x001d5114 lw s1, 0x24(sp)                           |         s1 = *(var_24h);
    0x001d5118 lw s0, 0x20(sp)                           |         s0 = *(var_20h);
    0x001d511c addiu sp, sp, 0x40                        |         
    0x001d5120 jr ra                                     |         return v0;
    0x001d5124 lw t9, -0x4890(gp)                        |         t9 = *(gp);
    0x001d5128 addiu a3, zero, 0x727                     |         a3 = 0x727;
    0x001d512c move a2, s0                               |         a2 = s0;
    0x001d5130 move a1, s3                               |         a1 = s3;
    0x001d5134 move a0, s1                               |         a0 = s1;
    0x001d5138 jalr t9                                   |         t9 ();
    0x001d513c lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x001d5140 move a3, s2                               |         a3 = s2;
    0x001d5144 move a2, v0                               |         a2 = v0;
    0x001d5148 lw t9, -0x12f4(gp)                        |         t9 = *(gp);
    0x001d514c move a1, s6                               |         a1 = s6;
    0x001d5150 move a0, s1                               |         a0 = s1;
    0x001d5154 jalr t9                                   |         t9 ();
    0x001d5158 move s2, v0                               |         s2 = v0;
    0x001d515c lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x001d5160 bnez v0, 0x1d50f0                         |         
                                                         |     }
    0x001d5164 lw a3, 4(s0)                              |     a3 = *((s0 + 1));
    0x001d5168 lw ra, 0x3c(sp)                           |     ra = *(var_3ch);
                                                         |     if (a3 == 0) {
    0x001d516c beqz a3, 0x1d51c8                         |         goto label_2;
                                                         |     }
    0x001d5170 lw v0, (s0)                               |     v0 = *(s0);
    0x001d5174 lw s5, -0x7fd4(gp)                        |     s5 = *((gp - 8181));
                                                         |     if (v0 <= 0) {
    0x001d5178 blez v0, 0x1d51c8                         |         goto label_2;
                                                         |     }
    0x001d517c move s3, zero                             |     s3 = 0;
    0x001d5180 addiu s5, s5, 0x15d4                      |     s5 += aav.0x000015d4;
    0x001d5184 b 0x1d518c                                |     goto label_3;
                                                         | label_1:
    0x001d5188 lw a3, 4(s0)                              |     a3 = *((s0 + 1));
                                                         | label_3:
    0x001d518c lw t9, -0xde0(gp)                         |     t9 = *(gp);
    0x001d5190 addu a3, a3, s3                           |     a3 += s3;
    0x001d5194 sw s4, 0x10(sp)                           |     *(var_10h) = s4;
    0x001d5198 addiu a2, zero, -1                        |     a2 = -1;
    0x001d519c move a1, s5                               |     a1 = s5;
    0x001d51a0 move a0, s1                               |     a0 = s1;
    0x001d51a4 jalr t9                                   |     t9 ();
    0x001d51a8 addiu s2, s2, 1                           |     s2++;
    0x001d51ac lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x001d51b0 bnez v0, 0x1d50f0                         |         goto label_0;
                                                         |     }
    0x001d51b4 lw v0, (s0)                               |     v0 = *(s0);
    0x001d51b8 slt v0, s2, v0                            |     v0 = (s2 < v0) ? 1 : 0;
    0x001d51bc addiu s3, s3, 0x34                        |     s3 += 0x34;
                                                         |     if (v0 != 0) {
    0x001d51c0 bnez v0, 0x1d5188                         |         goto label_1;
                                                         |     }
    0x001d51c4 lw ra, 0x3c(sp)                           |     ra = *(var_3ch);
                                                         | label_2:
    0x001d51c8 lw s5, 0x34(sp)                           |     s5 = *(var_34h);
    0x001d51cc lw s4, 0x30(sp)                           |     s4 = *(var_30h);
    0x001d51d0 lw s3, 0x2c(sp)                           |     s3 = *(var_2ch);
    0x001d51d4 lw s2, 0x28(sp)                           |     s2 = *(var_28h);
    0x001d51d8 lw s0, 0x20(sp)                           |     s0 = *(var_20h);
    0x001d51dc move a1, s6                               |     a1 = s6;
    0x001d51e0 move a0, s1                               |     a0 = s1;
    0x001d51e4 lw s6, 0x38(sp)                           |     s6 = *(var_38h);
    0x001d51e8 lw s1, 0x24(sp)                           |     s1 = *(var_24h);
    0x001d51ec lw t9, 0x1c18(gp)                         |     t9 = *(gp);
    0x001d51f0 addiu sp, sp, 0x40                        |     
    0x001d51f4 jr t9                                     |     return t9 ();
                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x230a14 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.soap_out_tr2__Capabilities2 ()           | void soap_out_tr2_Capabilities2 () {
    0x00230a14 lui gp, 0x4e                              |     
    0x00230a18 addiu gp, gp, 0x361c                      |     
    0x00230a1c addu gp, gp, t9                           |     gp += t9;
    0x00230a20 addiu sp, sp, -0x40                       |     
    0x00230a24 lw v0, 0x10(a3)                           |     v0 = *((a3 + 4));
    0x00230a28 sw gp, 0x18(sp)                           |     *(var_18h) = gp;
    0x00230a2c sw s5, 0x34(sp)                           |     *(var_34h) = s5;
    0x00230a30 sw s4, 0x30(sp)                           |     *(var_30h) = s4;
    0x00230a34 sw s3, 0x2c(sp)                           |     *(var_2ch) = s3;
    0x00230a38 sw s1, 0x24(sp)                           |     *(var_24h) = s1;
    0x00230a3c sw s0, 0x20(sp)                           |     *(var_20h) = s0;
    0x00230a40 sw ra, 0x3c(sp)                           |     *(var_3ch) = ra;
    0x00230a44 sw s6, 0x38(sp)                           |     *(var_38h) = s6;
    0x00230a48 sw s2, 0x28(sp)                           |     *(var_28h) = s2;
    0x00230a4c move s0, a3                               |     s0 = a3;
    0x00230a50 move s1, a0                               |     s1 = a0;
    0x00230a54 move s5, a1                               |     s5 = a1;
    0x00230a58 move s4, a2                               |     s4 = a2;
    0x00230a5c lw s3, 0x50(sp)                           |     s3 = *(arg_50h);
                                                         |     if (v0 != 0) {
    0x00230a60 beqz v0, 0x230a94                         |         
    0x00230a64 lw t9, -0x5828(gp)                        |         t9 = *((gp - 5642));
    0x00230a68 lw a1, (v0)                               |         a1 = *(v0);
    0x00230a6c jalr t9                                   |         t9 ();
    0x00230a70 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230a74 addiu a3, zero, 1                         |         a3 = 1;
    0x00230a78 move a2, v0                               |         a2 = v0;
    0x00230a7c lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x00230a80 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x00230a84 addiu a1, a1, -0x3770                     |         a1 += -aav.0x00003770;
    0x00230a88 move a0, s1                               |         a0 = s1;
    0x00230a8c jalr t9                                   |         t9 ();
    0x00230a90 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x00230a94 lw v0, 0x14(s0)                           |     v0 = *((s0 + 5));
    0x00230a98 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x00230a9c beqz v0, 0x230ad0                         |         
    0x00230aa0 lw a1, (v0)                               |         a1 = *(v0);
    0x00230aa4 move a0, s1                               |         a0 = s1;
    0x00230aa8 jalr t9                                   |         t9 ();
    0x00230aac lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230ab0 addiu a3, zero, 1                         |         a3 = 1;
    0x00230ab4 move a2, v0                               |         a2 = v0;
    0x00230ab8 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x00230abc lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x00230ac0 addiu a1, a1, -0xf6c                      |         a1 += -aav.0x00000f6c;
    0x00230ac4 move a0, s1                               |         a0 = s1;
    0x00230ac8 jalr t9                                   |         t9 ();
    0x00230acc lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x00230ad0 lw v0, 0x18(s0)                           |     v0 = *((s0 + 6));
    0x00230ad4 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x00230ad8 beqz v0, 0x230b0c                         |         
    0x00230adc lw a1, (v0)                               |         a1 = *(v0);
    0x00230ae0 move a0, s1                               |         a0 = s1;
    0x00230ae4 jalr t9                                   |         t9 ();
    0x00230ae8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230aec addiu a3, zero, 1                         |         a3 = 1;
    0x00230af0 move a2, v0                               |         a2 = v0;
    0x00230af4 lw a1, -0x7fcc(gp)                        |         a1 = *((gp - 8179));
    0x00230af8 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x00230afc addiu a1, a1, -0x6720                     |         a1 += -0x6720;
    0x00230b00 move a0, s1                               |         a0 = s1;
    0x00230b04 jalr t9                                   |         t9 ();
    0x00230b08 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x00230b0c lw v0, 0x1c(s0)                           |     v0 = *((s0 + 7));
    0x00230b10 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x00230b14 beqz v0, 0x230b48                         |         
    0x00230b18 lw a1, (v0)                               |         a1 = *(v0);
    0x00230b1c move a0, s1                               |         a0 = s1;
    0x00230b20 jalr t9                                   |         t9 ();
    0x00230b24 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230b28 addiu a3, zero, 1                         |         a3 = 1;
    0x00230b2c move a2, v0                               |         a2 = v0;
    0x00230b30 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x00230b34 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x00230b38 addiu a1, a1, 0x61e0                      |         a1 += 0x61e0;
    0x00230b3c move a0, s1                               |         a0 = s1;
    0x00230b40 jalr t9                                   |         t9 ();
    0x00230b44 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x00230b48 lw v0, 0x20(s0)                           |     v0 = *((s0 + 8));
    0x00230b4c lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x00230b50 beqz v0, 0x230b84                         |         
    0x00230b54 lw a1, (v0)                               |         a1 = *(v0);
    0x00230b58 move a0, s1                               |         a0 = s1;
    0x00230b5c jalr t9                                   |         t9 ();
    0x00230b60 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230b64 addiu a3, zero, 1                         |         a3 = 1;
    0x00230b68 move a2, v0                               |         a2 = v0;
    0x00230b6c lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x00230b70 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x00230b74 addiu a1, a1, 0x2878                      |         a1 += aav.0x00002878;
    0x00230b78 move a0, s1                               |         a0 = s1;
    0x00230b7c jalr t9                                   |         t9 ();
    0x00230b80 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x00230b84 lw v0, 0x24(s0)                           |     v0 = *((s0 + 9));
    0x00230b88 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x00230b8c beqz v0, 0x230bc0                         |         
    0x00230b90 lw a1, (v0)                               |         a1 = *(v0);
    0x00230b94 move a0, s1                               |         a0 = s1;
    0x00230b98 jalr t9                                   |         t9 ();
    0x00230b9c lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230ba0 addiu a3, zero, 1                         |         a3 = 1;
    0x00230ba4 move a2, v0                               |         a2 = v0;
    0x00230ba8 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x00230bac lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x00230bb0 addiu a1, a1, 0x5cec                      |         a1 += 0x5cec;
    0x00230bb4 move a0, s1                               |         a0 = s1;
    0x00230bb8 jalr t9                                   |         t9 ();
    0x00230bbc lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x00230bc0 lw v0, 0x28(s0)                           |     v0 = *((s0 + 10));
    0x00230bc4 lw t9, -0x5828(gp)                        |     t9 = *((gp - 5642));
                                                         |     if (v0 != 0) {
    0x00230bc8 beqz v0, 0x230bfc                         |         
    0x00230bcc lw a1, (v0)                               |         a1 = *(v0);
    0x00230bd0 move a0, s1                               |         a0 = s1;
    0x00230bd4 jalr t9                                   |         t9 ();
    0x00230bd8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230bdc addiu a3, zero, 1                         |         a3 = 1;
    0x00230be0 move a2, v0                               |         a2 = v0;
    0x00230be4 lw a1, -0x7fd4(gp)                        |         a1 = *((gp - 8181));
    0x00230be8 lw t9, -0x23dc(gp)                        |         t9 = *(gp);
    0x00230bec addiu a1, a1, 0x288c                      |         a1 += aav.0x0000288c;
    0x00230bf0 move a0, s1                               |         a0 = s1;
    0x00230bf4 jalr t9                                   |         t9 ();
    0x00230bf8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x00230bfc lw s2, -0x7fcc(gp)                        |     s2 = *((gp - 8179));
    0x00230c00 lw a1, -0x7fd4(gp)                        |     a1 = *((gp - 8181));
    0x00230c04 lw t9, -0x1ecc(gp)                        |     t9 = *(gp);
    0x00230c08 addiu s2, s2, -0x2a30                     |     s2 += -aav.0x00002a30;
    0x00230c0c sw s2, 0x10(sp)                           |     *(var_10h) = s2;
    0x00230c10 addiu a3, s0, 0x2c                        |     a3 = s0 + 0x2c;
    0x00230c14 addiu a2, zero, -1                        |     a2 = -1;
    0x00230c18 addiu a1, a1, 0x16f4                      |     a1 += aav.0x000016f4;
    0x00230c1c move a0, s1                               |     a0 = s1;
    0x00230c20 jalr t9                                   |     t9 ();
    0x00230c24 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00230c28 beqz v0, 0x230c60                         |     
                                                         |     while (v0 != 0) {
                                                         | label_0:
    0x00230c2c lui v0, 1                                 |         v0 = 0x10000;
                                                         | label_3:
    0x00230c30 lw ra, 0x3c(sp)                           |         ra = *(var_3ch);
    0x00230c34 addu s1, s1, v0                           |         s1 += v0;
    0x00230c38 lw s6, 0x38(sp)                           |         s6 = *(var_38h);
    0x00230c3c lw v0, 0x6180(s1)                         |         v0 = *((s1 + 6240));
    0x00230c40 lw s5, 0x34(sp)                           |         s5 = *(var_34h);
    0x00230c44 lw s4, 0x30(sp)                           |         s4 = *(var_30h);
    0x00230c48 lw s3, 0x2c(sp)                           |         s3 = *(var_2ch);
    0x00230c4c lw s2, 0x28(sp)                           |         s2 = *(var_28h);
    0x00230c50 lw s1, 0x24(sp)                           |         s1 = *(var_24h);
    0x00230c54 lw s0, 0x20(sp)                           |         s0 = *(var_20h);
    0x00230c58 addiu sp, sp, 0x40                        |         
    0x00230c5c jr ra                                     |         return v0;
    0x00230c60 lw t9, -0x4890(gp)                        |         t9 = *(gp);
    0x00230c64 addiu a3, zero, 0x557                     |         a3 = 0x557;
    0x00230c68 move a2, s0                               |         a2 = s0;
    0x00230c6c move a1, s4                               |         a1 = s4;
    0x00230c70 move a0, s1                               |         a0 = s1;
    0x00230c74 jalr t9                                   |         t9 ();
    0x00230c78 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230c7c move a3, s3                               |         a3 = s3;
    0x00230c80 move a2, v0                               |         a2 = v0;
    0x00230c84 lw t9, -0x12f4(gp)                        |         t9 = *(gp);
    0x00230c88 move a1, s5                               |         a1 = s5;
    0x00230c8c move a0, s1                               |         a0 = s1;
    0x00230c90 jalr t9                                   |         t9 ();
    0x00230c94 move s3, v0                               |         s3 = v0;
    0x00230c98 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00230c9c bnez v0, 0x230c2c                         |         
                                                         |     }
    0x00230ca0 lw v0, (s0)                               |     v0 = *(s0);
    0x00230ca4 lw a1, -0x7fd4(gp)                        |     a1 = *((gp - 8181));
                                                         |     if (v0 == 0) {
    0x00230ca8 beqz v0, 0x230db4                         |         goto label_5;
                                                         |     }
    0x00230cac lw t9, 0x4810(gp)                         |     t9 = *(gp);
    0x00230cb0 sw s2, 0x10(sp)                           |     *(var_10h) = s2;
    0x00230cb4 move a3, s0                               |     a3 = s0;
    0x00230cb8 addiu a2, zero, -1                        |     a2 = -1;
    0x00230cbc addiu a1, a1, 0x2898                      |     a1 += aav.0x00002898;
    0x00230cc0 move a0, s1                               |     a0 = s1;
    0x00230cc4 jalr t9                                   |     t9 ();
    0x00230cc8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00230ccc bnez v0, 0x230c2c                         |         goto label_0;
                                                         |     }
                                                         | label_4:
    0x00230cd0 lw v0, 4(s0)                              |     v0 = *((s0 + 1));
    0x00230cd4 lw a1, -0x7fd4(gp)                        |     a1 = *((gp - 8181));
                                                         |     if (v0 == 0) {
    0x00230cd8 beqz v0, 0x230d94                         |         goto label_6;
                                                         |     }
    0x00230cdc lw t9, -0x1d04(gp)                        |     t9 = *(gp);
    0x00230ce0 sw s2, 0x10(sp)                           |     *(var_10h) = s2;
    0x00230ce4 addiu a3, s0, 4                           |     a3 = s0 + 4;
    0x00230ce8 addiu a2, zero, -1                        |     a2 = -1;
    0x00230cec addiu a1, a1, 0x28b0                      |     a1 += aav.0x000028b0;
    0x00230cf0 move a0, s1                               |     a0 = s1;
    0x00230cf4 jalr t9                                   |     t9 ();
    0x00230cf8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00230cfc bnez v0, 0x230c2c                         |         goto label_0;
                                                         |     }
                                                         | label_2:
    0x00230d00 lw a3, 0xc(s0)                            |     a3 = *((s0 + 3));
    0x00230d04 lw ra, 0x3c(sp)                           |     ra = *(var_3ch);
                                                         |     if (a3 == 0) {
    0x00230d08 beqz a3, 0x230d64                         |         goto label_7;
                                                         |     }
    0x00230d0c lw v0, 8(s0)                              |     v0 = *((s0 + 2));
    0x00230d10 lw s6, -0x7fd4(gp)                        |     s6 = *((gp - 8181));
                                                         |     if (v0 <= 0) {
    0x00230d14 blez v0, 0x230d64                         |         goto label_7;
                                                         |     }
    0x00230d18 move s4, zero                             |     s4 = 0;
    0x00230d1c addiu s6, s6, 0x15d4                      |     s6 += aav.0x000015d4;
    0x00230d20 b 0x230d28                                |     goto label_8;
                                                         | label_1:
    0x00230d24 lw a3, 0xc(s0)                            |     a3 = *((s0 + 3));
                                                         | label_8:
    0x00230d28 lw t9, -0xde0(gp)                         |     t9 = *(gp);
    0x00230d2c addu a3, a3, s4                           |     a3 += s4;
    0x00230d30 sw s2, 0x10(sp)                           |     *(var_10h) = s2;
    0x00230d34 addiu a2, zero, -1                        |     a2 = -1;
    0x00230d38 move a1, s6                               |     a1 = s6;
    0x00230d3c move a0, s1                               |     a0 = s1;
    0x00230d40 jalr t9                                   |     t9 ();
    0x00230d44 addiu s3, s3, 1                           |     s3++;
    0x00230d48 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00230d4c bnez v0, 0x230c2c                         |         goto label_0;
                                                         |     }
    0x00230d50 lw v0, 8(s0)                              |     v0 = *((s0 + 2));
    0x00230d54 slt v0, s3, v0                            |     v0 = (s3 < v0) ? 1 : 0;
    0x00230d58 addiu s4, s4, 0x34                        |     s4 += 0x34;
                                                         |     if (v0 != 0) {
    0x00230d5c bnez v0, 0x230d24                         |         goto label_1;
                                                         |     }
    0x00230d60 lw ra, 0x3c(sp)                           |     ra = *(var_3ch);
                                                         | label_7:
    0x00230d64 lw s6, 0x38(sp)                           |     s6 = *(var_38h);
    0x00230d68 lw s4, 0x30(sp)                           |     s4 = *(var_30h);
    0x00230d6c lw s3, 0x2c(sp)                           |     s3 = *(var_2ch);
    0x00230d70 lw s2, 0x28(sp)                           |     s2 = *(var_28h);
    0x00230d74 lw s0, 0x20(sp)                           |     s0 = *(var_20h);
    0x00230d78 move a1, s5                               |     a1 = s5;
    0x00230d7c move a0, s1                               |     a0 = s1;
    0x00230d80 lw s5, 0x34(sp)                           |     s5 = *(var_34h);
    0x00230d84 lw s1, 0x24(sp)                           |     s1 = *(var_24h);
    0x00230d88 lw t9, 0x1c18(gp)                         |     t9 = *(gp);
    0x00230d8c addiu sp, sp, 0x40                        |     
    0x00230d90 jr t9                                     |     t9 ();
                                                         | label_6:
    0x00230d94 lw t9, -0x2d5c(gp)                        |     t9 = *(gp);
    0x00230d98 addiu a1, a1, 0x28b0                      |     a1 += aav.0x000028b0;
    0x00230d9c move a0, s1                               |     a0 = s1;
    0x00230da0 jalr t9                                   |     t9 ();
    0x00230da4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00230da8 beqz v0, 0x230d00                         |         goto label_2;
                                                         |     }
    0x00230dac lui v0, 1                                 |     v0 = 0x10000;
    0x00230db0 b 0x230c30                                |     goto label_3;
                                                         | label_5:
    0x00230db4 lw t9, -0x2d5c(gp)                        |     t9 = *(gp);
    0x00230db8 addiu a1, a1, 0x2898                      |     a1 += aav.0x00002898;
    0x00230dbc move a0, s1                               |     a0 = s1;
    0x00230dc0 jalr t9                                   |     t9 ();
    0x00230dc4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00230dc8 beqz v0, 0x230cd0                         |         goto label_4;
                                                         |     }
    0x00230dcc lui v0, 1                                 |     v0 = 0x10000;
    0x00230dd0 b 0x230c30                                |     goto label_3;
                                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1d3cb0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.soap_out_trc__Capabilities ()        | void soap_out_trc_Capabilities () {
    0x001d3cb0 lui gp, 0x54                          |     
    0x001d3cb4 addiu gp, gp, 0x380                   |     
    0x001d3cb8 addu gp, gp, t9                       |     gp += t9;
    0x001d3cbc addiu sp, sp, -0x40                   |     
    0x001d3cc0 lw v0, 8(a3)                          |     v0 = *((a3 + 2));
    0x001d3cc4 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x001d3cc8 sw s6, 0x38(sp)                       |     *(var_38h) = s6;
    0x001d3ccc sw s3, 0x2c(sp)                       |     *(var_2ch) = s3;
    0x001d3cd0 sw s2, 0x28(sp)                       |     *(var_28h) = s2;
    0x001d3cd4 sw s1, 0x24(sp)                       |     *(var_24h) = s1;
    0x001d3cd8 sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x001d3cdc sw ra, 0x3c(sp)                       |     *(var_3ch) = ra;
    0x001d3ce0 sw s5, 0x34(sp)                       |     *(var_34h) = s5;
    0x001d3ce4 sw s4, 0x30(sp)                       |     *(var_30h) = s4;
    0x001d3ce8 move s0, a3                           |     s0 = a3;
    0x001d3cec move s1, a0                           |     s1 = a0;
    0x001d3cf0 move s6, a1                           |     s6 = a1;
    0x001d3cf4 move s3, a2                           |     s3 = a2;
    0x001d3cf8 lw s2, 0x50(sp)                       |     s2 = *(arg_50h);
                                                     |     if (v0 != 0) {
    0x001d3cfc beqz v0, 0x1d3d30                     |         
    0x001d3d00 lw t9, -0x5828(gp)                    |         t9 = *((gp - 5642));
    0x001d3d04 lw a1, (v0)                           |         a1 = *(v0);
    0x001d3d08 jalr t9                               |         t9 ();
    0x001d3d0c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3d10 addiu a3, zero, 1                     |         a3 = 1;
    0x001d3d14 move a2, v0                           |         a2 = v0;
    0x001d3d18 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d3d1c lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3d20 addiu a1, a1, 0x1a88                  |         a1 += aav.0x00001a88;
    0x001d3d24 move a0, s1                           |         a0 = s1;
    0x001d3d28 jalr t9                               |         t9 ();
    0x001d3d2c lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3d30 lw v0, 0xc(s0)                        |     v0 = *((s0 + 3));
    0x001d3d34 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001d3d38 beqz v0, 0x1d3d6c                     |         
    0x001d3d3c lw a1, (v0)                           |         a1 = *(v0);
    0x001d3d40 move a0, s1                           |         a0 = s1;
    0x001d3d44 jalr t9                               |         t9 ();
    0x001d3d48 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3d4c addiu a3, zero, 1                     |         a3 = 1;
    0x001d3d50 move a2, v0                           |         a2 = v0;
    0x001d3d54 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d3d58 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3d5c addiu a1, a1, 0x1a9c                  |         a1 += aav.0x00001a9c;
    0x001d3d60 move a0, s1                           |         a0 = s1;
    0x001d3d64 jalr t9                               |         t9 ();
    0x001d3d68 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3d6c lw a2, 0x10(s0)                       |     a2 = *((s0 + 4));
    0x001d3d70 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
                                                     |     if (a2 != 0) {
    0x001d3d74 beqz a2, 0x1d3d90                     |         
    0x001d3d78 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3d7c addiu a3, zero, 1                     |         a3 = 1;
    0x001d3d80 addiu a1, a1, 0x5cf8                  |         a1 += 0x5cf8;
    0x001d3d84 move a0, s1                           |         a0 = s1;
    0x001d3d88 jalr t9                               |         t9 ();
    0x001d3d8c lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3d90 lw v0, 0x14(s0)                       |     v0 = *((s0 + 5));
    0x001d3d94 lw t9, -0xf9c(gp)                     |     t9 = *(gp);
                                                     |     if (v0 != 0) {
    0x001d3d98 beqz v0, 0x1d3dcc                     |         
    0x001d3d9c lw a1, (v0)                           |         a1 = *(v0);
    0x001d3da0 move a0, s1                           |         a0 = s1;
    0x001d3da4 jalr t9                               |         t9 ();
    0x001d3da8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3dac addiu a3, zero, 1                     |         a3 = 1;
    0x001d3db0 move a2, v0                           |         a2 = v0;
    0x001d3db4 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d3db8 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3dbc addiu a1, a1, 0x1aac                  |         a1 += aav.0x00001aac;
    0x001d3dc0 move a0, s1                           |         a0 = s1;
    0x001d3dc4 jalr t9                               |         t9 ();
    0x001d3dc8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3dcc lw v0, 0x18(s0)                       |     v0 = *((s0 + 6));
    0x001d3dd0 lw t9, -0xf9c(gp)                     |     t9 = *(gp);
                                                     |     if (v0 != 0) {
    0x001d3dd4 beqz v0, 0x1d3e08                     |         
    0x001d3dd8 lw a1, (v0)                           |         a1 = *(v0);
    0x001d3ddc move a0, s1                           |         a0 = s1;
    0x001d3de0 jalr t9                               |         t9 ();
    0x001d3de4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3de8 addiu a3, zero, 1                     |         a3 = 1;
    0x001d3dec move a2, v0                           |         a2 = v0;
    0x001d3df0 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d3df4 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3df8 addiu a1, a1, 0x1ab4                  |         a1 += aav.0x00001ab4;
    0x001d3dfc move a0, s1                           |         a0 = s1;
    0x001d3e00 jalr t9                               |         t9 ();
    0x001d3e04 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3e08 lw v0, 0x1c(s0)                       |     v0 = *((s0 + 7));
    0x001d3e0c lw t9, -0xf9c(gp)                     |     t9 = *(gp);
                                                     |     if (v0 != 0) {
    0x001d3e10 beqz v0, 0x1d3e44                     |         
    0x001d3e14 lw a1, (v0)                           |         a1 = *(v0);
    0x001d3e18 move a0, s1                           |         a0 = s1;
    0x001d3e1c jalr t9                               |         t9 ();
    0x001d3e20 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3e24 addiu a3, zero, 1                     |         a3 = 1;
    0x001d3e28 move a2, v0                           |         a2 = v0;
    0x001d3e2c lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d3e30 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3e34 addiu a1, a1, 0x1ac4                  |         a1 += aav.0x00001ac4;
    0x001d3e38 move a0, s1                           |         a0 = s1;
    0x001d3e3c jalr t9                               |         t9 ();
    0x001d3e40 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3e44 lw v0, 0x20(s0)                       |     v0 = *((s0 + 8));
    0x001d3e48 lw t9, -0x2764(gp)                    |     t9 = *(gp);
                                                     |     if (v0 != 0) {
    0x001d3e4c beqz v0, 0x1d3e80                     |         
    0x001d3e50 lw a1, (v0)                           |         a1 = *(v0);
    0x001d3e54 move a0, s1                           |         a0 = s1;
    0x001d3e58 jalr t9                               |         t9 ();
    0x001d3e5c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3e60 addiu a3, zero, 1                     |         a3 = 1;
    0x001d3e64 move a2, v0                           |         a2 = v0;
    0x001d3e68 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d3e6c lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3e70 addiu a1, a1, 0x1ad4                  |         a1 += aav.0x00001ad4;
    0x001d3e74 move a0, s1                           |         a0 = s1;
    0x001d3e78 jalr t9                               |         t9 ();
    0x001d3e7c lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3e80 lw v0, 0x24(s0)                       |     v0 = *((s0 + 9));
    0x001d3e84 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001d3e88 beqz v0, 0x1d3ebc                     |         
    0x001d3e8c lw a1, (v0)                           |         a1 = *(v0);
    0x001d3e90 move a0, s1                           |         a0 = s1;
    0x001d3e94 jalr t9                               |         t9 ();
    0x001d3e98 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3e9c addiu a3, zero, 1                     |         a3 = 1;
    0x001d3ea0 move a2, v0                           |         a2 = v0;
    0x001d3ea4 lw a1, -0x7fcc(gp)                    |         a1 = *((gp - 8179));
    0x001d3ea8 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3eac addiu a1, a1, -0x3f3c                 |         a1 += -aav.0x00003f3c;
    0x001d3eb0 move a0, s1                           |         a0 = s1;
    0x001d3eb4 jalr t9                               |         t9 ();
    0x001d3eb8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3ebc lw v0, 0x28(s0)                       |     v0 = *((s0 + 10));
    0x001d3ec0 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x001d3ec4 beqz v0, 0x1d3ef8                     |         
    0x001d3ec8 lw a1, (v0)                           |         a1 = *(v0);
    0x001d3ecc move a0, s1                           |         a0 = s1;
    0x001d3ed0 jalr t9                               |         t9 ();
    0x001d3ed4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3ed8 addiu a3, zero, 1                     |         a3 = 1;
    0x001d3edc move a2, v0                           |         a2 = v0;
    0x001d3ee0 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x001d3ee4 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3ee8 addiu a1, a1, 0x1ae8                  |         a1 += aav.0x00001ae8;
    0x001d3eec move a0, s1                           |         a0 = s1;
    0x001d3ef0 jalr t9                               |         t9 ();
    0x001d3ef4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3ef8 lw a2, 0x2c(s0)                       |     a2 = *((s0 + 11));
    0x001d3efc lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
                                                     |     if (a2 != 0) {
    0x001d3f00 beqz a2, 0x1d3f1c                     |         
    0x001d3f04 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x001d3f08 addiu a3, zero, 1                     |         a3 = 1;
    0x001d3f0c addiu a1, a1, 0x1afc                  |         a1 += aav.0x00001afc;
    0x001d3f10 move a0, s1                           |         a0 = s1;
    0x001d3f14 jalr t9                               |         t9 ();
    0x001d3f18 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x001d3f1c lw s4, -0x7fcc(gp)                    |     s4 = *((gp - 8179));
    0x001d3f20 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
    0x001d3f24 lw t9, -0x1ecc(gp)                    |     t9 = *(gp);
    0x001d3f28 addiu s4, s4, -0x2a30                 |     s4 += -aav.0x00002a30;
    0x001d3f2c sw s4, 0x10(sp)                       |     *(var_10h) = s4;
    0x001d3f30 addiu a3, s0, 0x30                    |     a3 = s0 + 0x30;
    0x001d3f34 addiu a2, zero, -1                    |     a2 = -1;
    0x001d3f38 addiu a1, a1, 0x16f4                  |     a1 += aav.0x000016f4;
    0x001d3f3c move a0, s1                           |     a0 = s1;
    0x001d3f40 jalr t9                               |     t9 ();
    0x001d3f44 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x001d3f48 beqz v0, 0x1d3f80                     |     
                                                     |     while (v0 != 0) {
                                                     | label_0:
    0x001d3f4c lui v0, 1                             |         v0 = 0x10000;
    0x001d3f50 lw ra, 0x3c(sp)                       |         ra = *(var_3ch);
    0x001d3f54 addu s1, s1, v0                       |         s1 += v0;
    0x001d3f58 lw s6, 0x38(sp)                       |         s6 = *(var_38h);
    0x001d3f5c lw v0, 0x6180(s1)                     |         v0 = *((s1 + 6240));
    0x001d3f60 lw s5, 0x34(sp)                       |         s5 = *(var_34h);
    0x001d3f64 lw s4, 0x30(sp)                       |         s4 = *(var_30h);
    0x001d3f68 lw s3, 0x2c(sp)                       |         s3 = *(var_2ch);
    0x001d3f6c lw s2, 0x28(sp)                       |         s2 = *(var_28h);
    0x001d3f70 lw s1, 0x24(sp)                       |         s1 = *(var_24h);
    0x001d3f74 lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x001d3f78 addiu sp, sp, 0x40                    |         
    0x001d3f7c jr ra                                 |         return v0;
    0x001d3f80 lw t9, -0x4890(gp)                    |         t9 = *(gp);
    0x001d3f84 addiu a3, zero, 0x767                 |         a3 = 0x767;
    0x001d3f88 move a2, s0                           |         a2 = s0;
    0x001d3f8c move a1, s3                           |         a1 = s3;
    0x001d3f90 move a0, s1                           |         a0 = s1;
    0x001d3f94 jalr t9                               |         t9 ();
    0x001d3f98 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3f9c move a3, s2                           |         a3 = s2;
    0x001d3fa0 move a2, v0                           |         a2 = v0;
    0x001d3fa4 lw t9, -0x12f4(gp)                    |         t9 = *(gp);
    0x001d3fa8 move a1, s6                           |         a1 = s6;
    0x001d3fac move a0, s1                           |         a0 = s1;
    0x001d3fb0 jalr t9                               |         t9 ();
    0x001d3fb4 move s2, v0                           |         s2 = v0;
    0x001d3fb8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x001d3fbc bnez v0, 0x1d3f4c                     |         
                                                     |     }
    0x001d3fc0 lw a3, 4(s0)                          |     a3 = *((s0 + 1));
    0x001d3fc4 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     |     if (a3 == 0) {
    0x001d3fc8 beqz a3, 0x1d4024                     |         goto label_2;
                                                     |     }
    0x001d3fcc lw v0, (s0)                           |     v0 = *(s0);
    0x001d3fd0 lw s5, -0x7fd4(gp)                    |     s5 = *((gp - 8181));
                                                     |     if (v0 <= 0) {
    0x001d3fd4 blez v0, 0x1d4024                     |         goto label_2;
                                                     |     }
    0x001d3fd8 move s3, zero                         |     s3 = 0;
    0x001d3fdc addiu s5, s5, 0x15d4                  |     s5 += aav.0x000015d4;
    0x001d3fe0 b 0x1d3fe8                            |     goto label_3;
                                                     | label_1:
    0x001d3fe4 lw a3, 4(s0)                          |     a3 = *((s0 + 1));
                                                     | label_3:
    0x001d3fe8 lw t9, -0xde0(gp)                     |     t9 = *(gp);
    0x001d3fec addu a3, a3, s3                       |     a3 += s3;
    0x001d3ff0 sw s4, 0x10(sp)                       |     *(var_10h) = s4;
    0x001d3ff4 addiu a2, zero, -1                    |     a2 = -1;
    0x001d3ff8 move a1, s5                           |     a1 = s5;
    0x001d3ffc move a0, s1                           |     a0 = s1;
    0x001d4000 jalr t9                               |     t9 ();
    0x001d4004 addiu s2, s2, 1                       |     s2++;
    0x001d4008 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x001d400c bnez v0, 0x1d3f4c                     |         goto label_0;
                                                     |     }
    0x001d4010 lw v0, (s0)                           |     v0 = *(s0);
    0x001d4014 slt v0, s2, v0                        |     v0 = (s2 < v0) ? 1 : 0;
    0x001d4018 addiu s3, s3, 0x34                    |     s3 += 0x34;
                                                     |     if (v0 != 0) {
    0x001d401c bnez v0, 0x1d3fe4                     |         goto label_1;
                                                     |     }
    0x001d4020 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     | label_2:
    0x001d4024 lw s5, 0x34(sp)                       |     s5 = *(var_34h);
    0x001d4028 lw s4, 0x30(sp)                       |     s4 = *(var_30h);
    0x001d402c lw s3, 0x2c(sp)                       |     s3 = *(var_2ch);
    0x001d4030 lw s2, 0x28(sp)                       |     s2 = *(var_28h);
    0x001d4034 lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x001d4038 move a1, s6                           |     a1 = s6;
    0x001d403c move a0, s1                           |     a0 = s1;
    0x001d4040 lw s6, 0x38(sp)                       |     s6 = *(var_38h);
    0x001d4044 lw s1, 0x24(sp)                       |     s1 = *(var_24h);
    0x001d4048 lw t9, 0x1c18(gp)                     |     t9 = *(gp);
    0x001d404c addiu sp, sp, 0x40                    |     
    0x001d4050 jr t9                                 |     return t9 ();
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x25a424 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.soap_out_trt__Capabilities ()        | void soap_out_trt_Capabilities () {
    0x0025a424 lui gp, 0x4c                          |     
    0x0025a428 addiu gp, gp, -0x63f4                 |     
    0x0025a42c addu gp, gp, t9                       |     gp += t9;
    0x0025a430 addiu sp, sp, -0x40                   |     
    0x0025a434 lw v0, 0x10(a3)                       |     v0 = *((a3 + 4));
    0x0025a438 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x0025a43c sw s5, 0x34(sp)                       |     *(var_34h) = s5;
    0x0025a440 sw s4, 0x30(sp)                       |     *(var_30h) = s4;
    0x0025a444 sw s3, 0x2c(sp)                       |     *(var_2ch) = s3;
    0x0025a448 sw s1, 0x24(sp)                       |     *(var_24h) = s1;
    0x0025a44c sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x0025a450 sw ra, 0x3c(sp)                       |     *(var_3ch) = ra;
    0x0025a454 sw s6, 0x38(sp)                       |     *(var_38h) = s6;
    0x0025a458 sw s2, 0x28(sp)                       |     *(var_28h) = s2;
    0x0025a45c move s0, a3                           |     s0 = a3;
    0x0025a460 move s1, a0                           |     s1 = a0;
    0x0025a464 move s5, a1                           |     s5 = a1;
    0x0025a468 move s4, a2                           |     s4 = a2;
    0x0025a46c lw s3, 0x50(sp)                       |     s3 = *(arg_50h);
                                                     |     if (v0 != 0) {
    0x0025a470 beqz v0, 0x25a4a4                     |         
    0x0025a474 lw t9, -0x5828(gp)                    |         t9 = *((gp - 5642));
    0x0025a478 lw a1, (v0)                           |         a1 = *(v0);
    0x0025a47c jalr t9                               |         t9 ();
    0x0025a480 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0025a484 addiu a3, zero, 1                     |         a3 = 1;
    0x0025a488 move a2, v0                           |         a2 = v0;
    0x0025a48c lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x0025a490 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x0025a494 addiu a1, a1, -0x3770                 |         a1 += -aav.0x00003770;
    0x0025a498 move a0, s1                           |         a0 = s1;
    0x0025a49c jalr t9                               |         t9 ();
    0x0025a4a0 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x0025a4a4 lw v0, 0x14(s0)                       |     v0 = *((s0 + 5));
    0x0025a4a8 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x0025a4ac beqz v0, 0x25a4e0                     |         
    0x0025a4b0 lw a1, (v0)                           |         a1 = *(v0);
    0x0025a4b4 move a0, s1                           |         a0 = s1;
    0x0025a4b8 jalr t9                               |         t9 ();
    0x0025a4bc lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0025a4c0 addiu a3, zero, 1                     |         a3 = 1;
    0x0025a4c4 move a2, v0                           |         a2 = v0;
    0x0025a4c8 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x0025a4cc lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x0025a4d0 addiu a1, a1, -0xf6c                  |         a1 += -aav.0x00000f6c;
    0x0025a4d4 move a0, s1                           |         a0 = s1;
    0x0025a4d8 jalr t9                               |         t9 ();
    0x0025a4dc lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x0025a4e0 lw v0, 0x18(s0)                       |     v0 = *((s0 + 6));
    0x0025a4e4 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x0025a4e8 beqz v0, 0x25a51c                     |         
    0x0025a4ec lw a1, (v0)                           |         a1 = *(v0);
    0x0025a4f0 move a0, s1                           |         a0 = s1;
    0x0025a4f4 jalr t9                               |         t9 ();
    0x0025a4f8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0025a4fc addiu a3, zero, 1                     |         a3 = 1;
    0x0025a500 move a2, v0                           |         a2 = v0;
    0x0025a504 lw a1, -0x7fcc(gp)                    |         a1 = *((gp - 8179));
    0x0025a508 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x0025a50c addiu a1, a1, -0x6720                 |         a1 += -0x6720;
    0x0025a510 move a0, s1                           |         a0 = s1;
    0x0025a514 jalr t9                               |         t9 ();
    0x0025a518 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x0025a51c lw v0, 0x1c(s0)                       |     v0 = *((s0 + 7));
    0x0025a520 lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x0025a524 beqz v0, 0x25a558                     |         
    0x0025a528 lw a1, (v0)                           |         a1 = *(v0);
    0x0025a52c move a0, s1                           |         a0 = s1;
    0x0025a530 jalr t9                               |         t9 ();
    0x0025a534 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0025a538 addiu a3, zero, 1                     |         a3 = 1;
    0x0025a53c move a2, v0                           |         a2 = v0;
    0x0025a540 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x0025a544 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x0025a548 addiu a1, a1, 0x61e0                  |         a1 += 0x61e0;
    0x0025a54c move a0, s1                           |         a0 = s1;
    0x0025a550 jalr t9                               |         t9 ();
    0x0025a554 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x0025a558 lw v0, 0x20(s0)                       |     v0 = *((s0 + 8));
    0x0025a55c lw t9, -0x5828(gp)                    |     t9 = *((gp - 5642));
                                                     |     if (v0 != 0) {
    0x0025a560 beqz v0, 0x25a594                     |         
    0x0025a564 lw a1, (v0)                           |         a1 = *(v0);
    0x0025a568 move a0, s1                           |         a0 = s1;
    0x0025a56c jalr t9                               |         t9 ();
    0x0025a570 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0025a574 addiu a3, zero, 1                     |         a3 = 1;
    0x0025a578 move a2, v0                           |         a2 = v0;
    0x0025a57c lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x0025a580 lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x0025a584 addiu a1, a1, 0x3320                  |         a1 += aav.0x00003320;
    0x0025a588 move a0, s1                           |         a0 = s1;
    0x0025a58c jalr t9                               |         t9 ();
    0x0025a590 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x0025a594 lw s2, -0x7fcc(gp)                    |     s2 = *((gp - 8179));
    0x0025a598 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
    0x0025a59c lw t9, -0x1ecc(gp)                    |     t9 = *(gp);
    0x0025a5a0 addiu s2, s2, -0x2a30                 |     s2 += -aav.0x00002a30;
    0x0025a5a4 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x0025a5a8 addiu a3, s0, 0x24                    |     a3 = s0 + 0x24;
    0x0025a5ac addiu a2, zero, -1                    |     a2 = -1;
    0x0025a5b0 addiu a1, a1, 0x16f4                  |     a1 += aav.0x000016f4;
    0x0025a5b4 move a0, s1                           |     a0 = s1;
    0x0025a5b8 jalr t9                               |     t9 ();
    0x0025a5bc lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x0025a5c0 beqz v0, 0x25a5f8                     |     
                                                     |     while (v0 != 0) {
                                                     | label_0:
    0x0025a5c4 lui v0, 1                             |         v0 = 0x10000;
                                                     | label_3:
    0x0025a5c8 lw ra, 0x3c(sp)                       |         ra = *(var_3ch);
    0x0025a5cc addu s1, s1, v0                       |         s1 += v0;
    0x0025a5d0 lw s6, 0x38(sp)                       |         s6 = *(var_38h);
    0x0025a5d4 lw v0, 0x6180(s1)                     |         v0 = *((s1 + 6240));
    0x0025a5d8 lw s5, 0x34(sp)                       |         s5 = *(var_34h);
    0x0025a5dc lw s4, 0x30(sp)                       |         s4 = *(var_30h);
    0x0025a5e0 lw s3, 0x2c(sp)                       |         s3 = *(var_2ch);
    0x0025a5e4 lw s2, 0x28(sp)                       |         s2 = *(var_28h);
    0x0025a5e8 lw s1, 0x24(sp)                       |         s1 = *(var_24h);
    0x0025a5ec lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x0025a5f0 addiu sp, sp, 0x40                    |         
    0x0025a5f4 jr ra                                 |         return v0;
    0x0025a5f8 lw t9, -0x4890(gp)                    |         t9 = *(gp);
    0x0025a5fc addiu a3, zero, 0x117                 |         a3 = 0x117;
    0x0025a600 move a2, s0                           |         a2 = s0;
    0x0025a604 move a1, s4                           |         a1 = s4;
    0x0025a608 move a0, s1                           |         a0 = s1;
    0x0025a60c jalr t9                               |         t9 ();
    0x0025a610 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0025a614 move a3, s3                           |         a3 = s3;
    0x0025a618 move a2, v0                           |         a2 = v0;
    0x0025a61c lw t9, -0x12f4(gp)                    |         t9 = *(gp);
    0x0025a620 move a1, s5                           |         a1 = s5;
    0x0025a624 move a0, s1                           |         a0 = s1;
    0x0025a628 jalr t9                               |         t9 ();
    0x0025a62c move s3, v0                           |         s3 = v0;
    0x0025a630 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0025a634 bnez v0, 0x25a5c4                     |         
                                                     |     }
    0x0025a638 lw v0, (s0)                           |     v0 = *(s0);
    0x0025a63c lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
                                                     |     if (v0 == 0) {
    0x0025a640 beqz v0, 0x25a74c                     |         goto label_5;
                                                     |     }
    0x0025a644 lw t9, -0x94(gp)                      |     t9 = *((gp - 37));
    0x0025a648 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x0025a64c move a3, s0                           |     a3 = s0;
    0x0025a650 addiu a2, zero, -1                    |     a2 = -1;
    0x0025a654 addiu a1, a1, 0x3330                  |     a1 += aav.0x00003330;
    0x0025a658 move a0, s1                           |     a0 = s1;
    0x0025a65c jalr t9                               |     t9 ();
    0x0025a660 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0025a664 bnez v0, 0x25a5c4                     |         goto label_0;
                                                     |     }
                                                     | label_4:
    0x0025a668 lw v0, 4(s0)                          |     v0 = *((s0 + 1));
    0x0025a66c lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
                                                     |     if (v0 == 0) {
    0x0025a670 beqz v0, 0x25a72c                     |         goto label_6;
                                                     |     }
    0x0025a674 lw t9, -0x22c4(gp)                    |     t9 = *(gp);
    0x0025a678 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x0025a67c addiu a3, s0, 4                       |     a3 = s0 + 4;
    0x0025a680 addiu a2, zero, -1                    |     a2 = -1;
    0x0025a684 addiu a1, a1, 0x3348                  |     a1 += aav.0x00003348;
    0x0025a688 move a0, s1                           |     a0 = s1;
    0x0025a68c jalr t9                               |     t9 ();
    0x0025a690 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0025a694 bnez v0, 0x25a5c4                     |         goto label_0;
                                                     |     }
                                                     | label_2:
    0x0025a698 lw a3, 0xc(s0)                        |     a3 = *((s0 + 3));
    0x0025a69c lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     |     if (a3 == 0) {
    0x0025a6a0 beqz a3, 0x25a6fc                     |         goto label_7;
                                                     |     }
    0x0025a6a4 lw v0, 8(s0)                          |     v0 = *((s0 + 2));
    0x0025a6a8 lw s6, -0x7fd4(gp)                    |     s6 = *((gp - 8181));
                                                     |     if (v0 <= 0) {
    0x0025a6ac blez v0, 0x25a6fc                     |         goto label_7;
                                                     |     }
    0x0025a6b0 move s4, zero                         |     s4 = 0;
    0x0025a6b4 addiu s6, s6, 0x15d4                  |     s6 += aav.0x000015d4;
    0x0025a6b8 b 0x25a6c0                            |     goto label_8;
                                                     | label_1:
    0x0025a6bc lw a3, 0xc(s0)                        |     a3 = *((s0 + 3));
                                                     | label_8:
    0x0025a6c0 lw t9, -0xde0(gp)                     |     t9 = *(gp);
    0x0025a6c4 addu a3, a3, s4                       |     a3 += s4;
    0x0025a6c8 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x0025a6cc addiu a2, zero, -1                    |     a2 = -1;
    0x0025a6d0 move a1, s6                           |     a1 = s6;
    0x0025a6d4 move a0, s1                           |     a0 = s1;
    0x0025a6d8 jalr t9                               |     t9 ();
    0x0025a6dc addiu s3, s3, 1                       |     s3++;
    0x0025a6e0 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0025a6e4 bnez v0, 0x25a5c4                     |         goto label_0;
                                                     |     }
    0x0025a6e8 lw v0, 8(s0)                          |     v0 = *((s0 + 2));
    0x0025a6ec slt v0, s3, v0                        |     v0 = (s3 < v0) ? 1 : 0;
    0x0025a6f0 addiu s4, s4, 0x34                    |     s4 += 0x34;
                                                     |     if (v0 != 0) {
    0x0025a6f4 bnez v0, 0x25a6bc                     |         goto label_1;
                                                     |     }
    0x0025a6f8 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     | label_7:
    0x0025a6fc lw s6, 0x38(sp)                       |     s6 = *(var_38h);
    0x0025a700 lw s4, 0x30(sp)                       |     s4 = *(var_30h);
    0x0025a704 lw s3, 0x2c(sp)                       |     s3 = *(var_2ch);
    0x0025a708 lw s2, 0x28(sp)                       |     s2 = *(var_28h);
    0x0025a70c lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x0025a710 move a1, s5                           |     a1 = s5;
    0x0025a714 move a0, s1                           |     a0 = s1;
    0x0025a718 lw s5, 0x34(sp)                       |     s5 = *(var_34h);
    0x0025a71c lw s1, 0x24(sp)                       |     s1 = *(var_24h);
    0x0025a720 lw t9, 0x1c18(gp)                     |     t9 = *(gp);
    0x0025a724 addiu sp, sp, 0x40                    |     
    0x0025a728 jr t9                                 |     t9 ();
                                                     | label_6:
    0x0025a72c lw t9, -0x2d5c(gp)                    |     t9 = *(gp);
    0x0025a730 addiu a1, a1, 0x3348                  |     a1 += aav.0x00003348;
    0x0025a734 move a0, s1                           |     a0 = s1;
    0x0025a738 jalr t9                               |     t9 ();
    0x0025a73c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0025a740 beqz v0, 0x25a698                     |         goto label_2;
                                                     |     }
    0x0025a744 lui v0, 1                             |     v0 = 0x10000;
    0x0025a748 b 0x25a5c8                            |     goto label_3;
                                                     | label_5:
    0x0025a74c lw t9, -0x2d5c(gp)                    |     t9 = *(gp);
    0x0025a750 addiu a1, a1, 0x3330                  |     a1 += aav.0x00003330;
    0x0025a754 move a0, s1                           |     a0 = s1;
    0x0025a758 jalr t9                               |     t9 ();
    0x0025a75c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x0025a760 beqz v0, 0x25a668                     |         goto label_4;
                                                     |     }
    0x0025a764 lui v0, 1                             |     v0 = 0x10000;
    0x0025a768 b 0x25a5c8                            |     goto label_3;
                                                     | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x1fd374 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.soap_out_trt__StreamingCapabilities ()           | void soap_out_trt_StreamingCapabilities () {
    0x001fd374 lui gp, 0x51                                      |     
    0x001fd378 addiu gp, gp, 0x6cbc                              |     
    0x001fd37c addu gp, gp, t9                                   |     gp += t9;
    0x001fd380 addiu sp, sp, -0x40                               |     
    0x001fd384 lw v0, 8(a3)                                      |     v0 = *((a3 + 2));
    0x001fd388 sw gp, 0x18(sp)                                   |     *(var_18h) = gp;
    0x001fd38c sw s6, 0x38(sp)                                   |     *(var_38h) = s6;
    0x001fd390 sw s3, 0x2c(sp)                                   |     *(var_2ch) = s3;
    0x001fd394 sw s2, 0x28(sp)                                   |     *(var_28h) = s2;
    0x001fd398 sw s1, 0x24(sp)                                   |     *(var_24h) = s1;
    0x001fd39c sw s0, 0x20(sp)                                   |     *(var_20h) = s0;
    0x001fd3a0 sw ra, 0x3c(sp)                                   |     *(var_3ch) = ra;
    0x001fd3a4 sw s5, 0x34(sp)                                   |     *(var_34h) = s5;
    0x001fd3a8 sw s4, 0x30(sp)                                   |     *(var_30h) = s4;
    0x001fd3ac move s0, a3                                       |     s0 = a3;
    0x001fd3b0 move s1, a0                                       |     s1 = a0;
    0x001fd3b4 move s6, a1                                       |     s6 = a1;
    0x001fd3b8 move s3, a2                                       |     s3 = a2;
    0x001fd3bc lw s2, 0x50(sp)                                   |     s2 = *(arg_50h);
                                                                 |     if (v0 != 0) {
    0x001fd3c0 beqz v0, 0x1fd3f4                                 |         
    0x001fd3c4 lw t9, -0x5828(gp)                                |         t9 = *((gp - 5642));
    0x001fd3c8 lw a1, (v0)                                       |         a1 = *(v0);
    0x001fd3cc jalr t9                                           |         t9 ();
    0x001fd3d0 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x001fd3d4 addiu a3, zero, 1                                 |         a3 = 1;
    0x001fd3d8 move a2, v0                                       |         a2 = v0;
    0x001fd3dc lw a1, -0x7fd4(gp)                                |         a1 = *((gp - 8181));
    0x001fd3e0 lw t9, -0x23dc(gp)                                |         t9 = *(gp);
    0x001fd3e4 addiu a1, a1, 0x2078                              |         a1 += aav.0x00002078;
    0x001fd3e8 move a0, s1                                       |         a0 = s1;
    0x001fd3ec jalr t9                                           |         t9 ();
    0x001fd3f0 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
                                                                 |     }
    0x001fd3f4 lw v0, 0xc(s0)                                    |     v0 = *((s0 + 3));
    0x001fd3f8 lw t9, -0x5828(gp)                                |     t9 = *((gp - 5642));
                                                                 |     if (v0 != 0) {
    0x001fd3fc beqz v0, 0x1fd430                                 |         
    0x001fd400 lw a1, (v0)                                       |         a1 = *(v0);
    0x001fd404 move a0, s1                                       |         a0 = s1;
    0x001fd408 jalr t9                                           |         t9 ();
    0x001fd40c lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x001fd410 addiu a3, zero, 1                                 |         a3 = 1;
    0x001fd414 move a2, v0                                       |         a2 = v0;
    0x001fd418 lw a1, -0x7fd4(gp)                                |         a1 = *((gp - 8181));
    0x001fd41c lw t9, -0x23dc(gp)                                |         t9 = *(gp);
    0x001fd420 addiu a1, a1, 0x2564                              |         a1 += aav.0x00002564;
    0x001fd424 move a0, s1                                       |         a0 = s1;
    0x001fd428 jalr t9                                           |         t9 ();
    0x001fd42c lw gp, 0x18(sp)                                   |         gp = *(var_18h);
                                                                 |     }
    0x001fd430 lw v0, 0x10(s0)                                   |     v0 = *((s0 + 4));
    0x001fd434 lw t9, -0x5828(gp)                                |     t9 = *((gp - 5642));
                                                                 |     if (v0 != 0) {
    0x001fd438 beqz v0, 0x1fd46c                                 |         
    0x001fd43c lw a1, (v0)                                       |         a1 = *(v0);
    0x001fd440 move a0, s1                                       |         a0 = s1;
    0x001fd444 jalr t9                                           |         t9 ();
    0x001fd448 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x001fd44c addiu a3, zero, 1                                 |         a3 = 1;
    0x001fd450 move a2, v0                                       |         a2 = v0;
    0x001fd454 lw a1, -0x7fd4(gp)                                |         a1 = *((gp - 8181));
    0x001fd458 lw t9, -0x23dc(gp)                                |         t9 = *(gp);
    0x001fd45c addiu a1, a1, 0x1a28                              |         a1 += aav.0x00001a28;
    0x001fd460 move a0, s1                                       |         a0 = s1;
    0x001fd464 jalr t9                                           |         t9 ();
    0x001fd468 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
                                                                 |     }
    0x001fd46c lw v0, 0x14(s0)                                   |     v0 = *((s0 + 5));
    0x001fd470 lw t9, -0x5828(gp)                                |     t9 = *((gp - 5642));
                                                                 |     if (v0 != 0) {
    0x001fd474 beqz v0, 0x1fd4a8                                 |         
    0x001fd478 lw a1, (v0)                                       |         a1 = *(v0);
    0x001fd47c move a0, s1                                       |         a0 = s1;
    0x001fd480 jalr t9                                           |         t9 ();
    0x001fd484 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x001fd488 addiu a3, zero, 1                                 |         a3 = 1;
    0x001fd48c move a2, v0                                       |         a2 = v0;
    0x001fd490 lw a1, -0x7fd4(gp)                                |         a1 = *((gp - 8181));
    0x001fd494 lw t9, -0x23dc(gp)                                |         t9 = *(gp);
    0x001fd498 addiu a1, a1, 0x2088                              |         a1 += aav.0x00002088;
    0x001fd49c move a0, s1                                       |         a0 = s1;
    0x001fd4a0 jalr t9                                           |         t9 ();
    0x001fd4a4 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
                                                                 |     }
    0x001fd4a8 lw v0, 0x18(s0)                                   |     v0 = *((s0 + 6));
    0x001fd4ac lw t9, -0x5828(gp)                                |     t9 = *((gp - 5642));
                                                                 |     if (v0 != 0) {
    0x001fd4b0 beqz v0, 0x1fd4e4                                 |         
    0x001fd4b4 lw a1, (v0)                                       |         a1 = *(v0);
    0x001fd4b8 move a0, s1                                       |         a0 = s1;
    0x001fd4bc jalr t9                                           |         t9 ();
    0x001fd4c0 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x001fd4c4 addiu a3, zero, 1                                 |         a3 = 1;
    0x001fd4c8 move a2, v0                                       |         a2 = v0;
    0x001fd4cc lw a1, -0x7fd4(gp)                                |         a1 = *((gp - 8181));
    0x001fd4d0 lw t9, -0x23dc(gp)                                |         t9 = *(gp);
    0x001fd4d4 addiu a1, a1, 0x256c                              |         a1 += aav.0x0000256c;
    0x001fd4d8 move a0, s1                                       |         a0 = s1;
    0x001fd4dc jalr t9                                           |         t9 ();
    0x001fd4e0 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
                                                                 |     }
    0x001fd4e4 lw s4, -0x7fcc(gp)                                |     s4 = *((gp - 8179));
    0x001fd4e8 lw a1, -0x7fd4(gp)                                |     a1 = *((gp - 8181));
    0x001fd4ec lw t9, -0x1ecc(gp)                                |     t9 = *(gp);
    0x001fd4f0 addiu s4, s4, -0x2a30                             |     s4 += -aav.0x00002a30;
    0x001fd4f4 sw s4, 0x10(sp)                                   |     *(var_10h) = s4;
    0x001fd4f8 addiu a3, s0, 0x1c                                |     a3 = s0 + 0x1c;
    0x001fd4fc addiu a2, zero, -1                                |     a2 = -1;
    0x001fd500 addiu a1, a1, 0x16f4                              |     a1 += aav.0x000016f4;
    0x001fd504 move a0, s1                                       |     a0 = s1;
    0x001fd508 jalr t9                                           |     t9 ();
    0x001fd50c lw gp, 0x18(sp)                                   |     gp = *(var_18h);
    0x001fd510 beqz v0, 0x1fd548                                 |     
                                                                 |     while (v0 != 0) {
                                                                 | label_0:
    0x001fd514 lui v0, 1                                         |         v0 = 0x10000;
    0x001fd518 lw ra, 0x3c(sp)                                   |         ra = *(var_3ch);
    0x001fd51c addu s1, s1, v0                                   |         s1 += v0;
    0x001fd520 lw s6, 0x38(sp)                                   |         s6 = *(var_38h);
    0x001fd524 lw v0, 0x6180(s1)                                 |         v0 = *((s1 + 6240));
    0x001fd528 lw s5, 0x34(sp)                                   |         s5 = *(var_34h);
    0x001fd52c lw s4, 0x30(sp)                                   |         s4 = *(var_30h);
    0x001fd530 lw s3, 0x2c(sp)                                   |         s3 = *(var_2ch);
    0x001fd534 lw s2, 0x28(sp)                                   |         s2 = *(var_28h);
    0x001fd538 lw s1, 0x24(sp)                                   |         s1 = *(var_24h);
    0x001fd53c lw s0, 0x20(sp)                                   |         s0 = *(var_20h);
    0x001fd540 addiu sp, sp, 0x40                                |         
    0x001fd544 jr ra                                             |         return v0;
    0x001fd548 lw t9, -0x4890(gp)                                |         t9 = *(gp);
    0x001fd54c addiu a3, zero, 0x11a                             |         a3 = 0x11a;
    0x001fd550 move a2, s0                                       |         a2 = s0;
    0x001fd554 move a1, s3                                       |         a1 = s3;
    0x001fd558 move a0, s1                                       |         a0 = s1;
    0x001fd55c jalr t9                                           |         t9 ();
    0x001fd560 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x001fd564 move a3, s2                                       |         a3 = s2;
    0x001fd568 move a2, v0                                       |         a2 = v0;
    0x001fd56c lw t9, -0x12f4(gp)                                |         t9 = *(gp);
    0x001fd570 move a1, s6                                       |         a1 = s6;
    0x001fd574 move a0, s1                                       |         a0 = s1;
    0x001fd578 jalr t9                                           |         t9 ();
    0x001fd57c move s2, v0                                       |         s2 = v0;
    0x001fd580 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x001fd584 bnez v0, 0x1fd514                                 |         
                                                                 |     }
    0x001fd588 lw a3, 4(s0)                                      |     a3 = *((s0 + 1));
    0x001fd58c lw ra, 0x3c(sp)                                   |     ra = *(var_3ch);
                                                                 |     if (a3 == 0) {
    0x001fd590 beqz a3, 0x1fd5ec                                 |         goto label_2;
                                                                 |     }
    0x001fd594 lw v0, (s0)                                       |     v0 = *(s0);
    0x001fd598 lw s5, -0x7fd4(gp)                                |     s5 = *((gp - 8181));
                                                                 |     if (v0 <= 0) {
    0x001fd59c blez v0, 0x1fd5ec                                 |         goto label_2;
                                                                 |     }
    0x001fd5a0 move s3, zero                                     |     s3 = 0;
    0x001fd5a4 addiu s5, s5, 0x15d4                              |     s5 += aav.0x000015d4;
    0x001fd5a8 b 0x1fd5b0                                        |     goto label_3;
                                                                 | label_1:
    0x001fd5ac lw a3, 4(s0)                                      |     a3 = *((s0 + 1));
                                                                 | label_3:
    0x001fd5b0 lw t9, -0xde0(gp)                                 |     t9 = *(gp);
    0x001fd5b4 addu a3, a3, s3                                   |     a3 += s3;
    0x001fd5b8 sw s4, 0x10(sp)                                   |     *(var_10h) = s4;
    0x001fd5bc addiu a2, zero, -1                                |     a2 = -1;
    0x001fd5c0 move a1, s5                                       |     a1 = s5;
    0x001fd5c4 move a0, s1                                       |     a0 = s1;
    0x001fd5c8 jalr t9                                           |     t9 ();
    0x001fd5cc addiu s2, s2, 1                                   |     s2++;
    0x001fd5d0 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
                                                                 |     if (v0 != 0) {
    0x001fd5d4 bnez v0, 0x1fd514                                 |         goto label_0;
                                                                 |     }
    0x001fd5d8 lw v0, (s0)                                       |     v0 = *(s0);
    0x001fd5dc slt v0, s2, v0                                    |     v0 = (s2 < v0) ? 1 : 0;
    0x001fd5e0 addiu s3, s3, 0x34                                |     s3 += 0x34;
                                                                 |     if (v0 != 0) {
    0x001fd5e4 bnez v0, 0x1fd5ac                                 |         goto label_1;
                                                                 |     }
    0x001fd5e8 lw ra, 0x3c(sp)                                   |     ra = *(var_3ch);
                                                                 | label_2:
    0x001fd5ec lw s5, 0x34(sp)                                   |     s5 = *(var_34h);
    0x001fd5f0 lw s4, 0x30(sp)                                   |     s4 = *(var_30h);
    0x001fd5f4 lw s3, 0x2c(sp)                                   |     s3 = *(var_2ch);
    0x001fd5f8 lw s2, 0x28(sp)                                   |     s2 = *(var_28h);
    0x001fd5fc lw s0, 0x20(sp)                                   |     s0 = *(var_20h);
    0x001fd600 move a1, s6                                       |     a1 = s6;
    0x001fd604 move a0, s1                                       |     a0 = s1;
    0x001fd608 lw s6, 0x38(sp)                                   |     s6 = *(var_38h);
    0x001fd60c lw s1, 0x24(sp)                                   |     s1 = *(var_24h);
    0x001fd610 lw t9, 0x1c18(gp)                                 |     t9 = *(gp);
    0x001fd614 addiu sp, sp, 0x40                                |     
    0x001fd618 jr t9                                             |     return t9 ();
                                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsoap_wsd.so @ 0x254540 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.soap_out_tt__LensDescription ()      | void soap_out_tt_LensDescription () {
    0x00254540 lui gp, 0x4c                          |     
    0x00254544 addiu gp, gp, -0x510                  |     
    0x00254548 addu gp, gp, t9                       |     gp += t9;
    0x0025454c addiu sp, sp, -0x40                   |     
    0x00254550 lw v0, 0x18(a3)                       |     v0 = *((a3 + 6));
    0x00254554 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x00254558 sw s6, 0x38(sp)                       |     *(var_38h) = s6;
    0x0025455c sw s4, 0x30(sp)                       |     *(var_30h) = s4;
    0x00254560 sw s3, 0x2c(sp)                       |     *(var_2ch) = s3;
    0x00254564 sw s1, 0x24(sp)                       |     *(var_24h) = s1;
    0x00254568 sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x0025456c sw ra, 0x3c(sp)                       |     *(var_3ch) = ra;
    0x00254570 sw s5, 0x34(sp)                       |     *(var_34h) = s5;
    0x00254574 sw s2, 0x28(sp)                       |     *(var_28h) = s2;
    0x00254578 move s0, a3                           |     s0 = a3;
    0x0025457c move s1, a0                           |     s1 = a0;
    0x00254580 move s6, a1                           |     s6 = a1;
    0x00254584 move s4, a2                           |     s4 = a2;
    0x00254588 lw s3, 0x50(sp)                       |     s3 = *(arg_50h);
                                                     |     if (v0 != 0) {
    0x0025458c beqz v0, 0x2545c0                     |         
    0x00254590 lw t9, -0xf9c(gp)                     |         t9 = *(gp);
    0x00254594 lw a1, (v0)                           |         a1 = *(v0);
    0x00254598 jalr t9                               |         t9 ();
    0x0025459c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x002545a0 addiu a3, zero, 1                     |         a3 = 1;
    0x002545a4 move a2, v0                           |         a2 = v0;
    0x002545a8 lw a1, -0x7fd4(gp)                    |         a1 = *((gp - 8181));
    0x002545ac lw t9, -0x23dc(gp)                    |         t9 = *(gp);
    0x002545b0 addiu a1, a1, 0x30bc                  |         a1 += aav.0x000030bc;
    0x002545b4 move a0, s1                           |         a0 = s1;
    0x002545b8 jalr t9                               |         t9 ();
    0x002545bc lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x002545c0 lw s2, -0x7fcc(gp)                    |     s2 = *((gp - 8179));
    0x002545c4 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
    0x002545c8 lw t9, -0x1ecc(gp)                    |     t9 = *(gp);
    0x002545cc addiu s2, s2, -0x2a30                 |     s2 += -aav.0x00002a30;
    0x002545d0 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x002545d4 addiu a3, s0, 0x1c                    |     a3 = s0 + 0x1c;
    0x002545d8 addiu a2, zero, -1                    |     a2 = -1;
    0x002545dc addiu a1, a1, 0x16f4                  |     a1 += aav.0x000016f4;
    0x002545e0 move a0, s1                           |     a0 = s1;
    0x002545e4 jalr t9                               |     t9 ();
    0x002545e8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x002545ec beqz v0, 0x254624                     |     
                                                     |     while (v0 != 0) {
                                                     | label_0:
    0x002545f0 lui v0, 1                             |         v0 = 0x10000;
                                                     | label_4:
    0x002545f4 lw ra, 0x3c(sp)                       |         ra = *(var_3ch);
    0x002545f8 addu s1, s1, v0                       |         s1 += v0;
    0x002545fc lw s6, 0x38(sp)                       |         s6 = *(var_38h);
    0x00254600 lw v0, 0x6180(s1)                     |         v0 = *((s1 + 6240));
    0x00254604 lw s5, 0x34(sp)                       |         s5 = *(var_34h);
    0x00254608 lw s4, 0x30(sp)                       |         s4 = *(var_30h);
    0x0025460c lw s3, 0x2c(sp)                       |         s3 = *(var_2ch);
    0x00254610 lw s2, 0x28(sp)                       |         s2 = *(var_28h);
    0x00254614 lw s1, 0x24(sp)                       |         s1 = *(var_24h);
    0x00254618 lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x0025461c addiu sp, sp, 0x40                    |         
    0x00254620 jr ra                                 |         return v0;
    0x00254624 lw t9, -0x4890(gp)                    |         t9 = *(gp);
    0x00254628 addiu a3, zero, 0x20b                 |         a3 = 0x20b;
    0x0025462c move a2, s0                           |         a2 = s0;
    0x00254630 move a1, s4                           |         a1 = s4;
    0x00254634 move a0, s1                           |         a0 = s1;
    0x00254638 jalr t9                               |         t9 ();
    0x0025463c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00254640 move a3, s3                           |         a3 = s3;
    0x00254644 move a2, v0                           |         a2 = v0;
    0x00254648 lw t9, -0x12f4(gp)                    |         t9 = *(gp);
    0x0025464c move a1, s6                           |         a1 = s6;
    0x00254650 move a0, s1                           |         a0 = s1;
    0x00254654 jalr t9                               |         t9 ();
    0x00254658 move s3, v0                           |         s3 = v0;
    0x0025465c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00254660 bnez v0, 0x2545f0                     |         
                                                     |     }
    0x00254664 lw v0, (s0)                           |     v0 = *(s0);
    0x00254668 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
                                                     |     if (v0 == 0) {
    0x0025466c beqz v0, 0x2547b8                     |         goto label_5;
                                                     |     }
    0x00254670 lw t9, 0x6f04(gp)                     |     t9 = *((gp + 7105));
    0x00254674 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x00254678 move a3, s0                           |     a3 = s0;
    0x0025467c addiu a2, zero, -1                    |     a2 = -1;
    0x00254680 addiu a1, a1, 0x30c8                  |     a1 += aav.0x000030c8;
    0x00254684 move a0, s1                           |     a0 = s1;
    0x00254688 jalr t9                               |     t9 ();
    0x0025468c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x00254690 bnez v0, 0x2545f0                     |         goto label_0;
                                                     |     }
                                                     | label_3:
    0x00254694 lw a3, 8(s0)                          |     a3 = *((s0 + 2));
    0x00254698 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
                                                     |     if (a3 == 0) {
    0x0025469c beqz a3, 0x2546fc                     |         goto label_6;
                                                     |     }
    0x002546a0 lw v0, 4(s0)                          |     v0 = *((s0 + 1));
    0x002546a4 lw t9, -0x9d0(gp)                     |     t9 = *(gp);
                                                     |     if (v0 <= 0) {
    0x002546a8 blez v0, 0x254700                     |         goto label_7;
                                                     |     }
    0x002546ac lw s5, -0x7fd4(gp)                    |     s5 = *((gp - 8181));
    0x002546b0 move s4, zero                         |     s4 = 0;
    0x002546b4 addiu s5, s5, 0x30d4                  |     s5 += aav.0x000030d4;
    0x002546b8 b 0x2546c0                            |     goto label_8;
                                                     | label_1:
    0x002546bc lw a3, 8(s0)                          |     a3 = *((s0 + 2));
                                                     | label_8:
    0x002546c0 lw t9, 0x32fc(gp)                     |     t9 = *(gp);
    0x002546c4 addu a3, a3, s4                       |     a3 += s4;
    0x002546c8 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x002546cc addiu a2, zero, -1                    |     a2 = -1;
    0x002546d0 move a1, s5                           |     a1 = s5;
    0x002546d4 move a0, s1                           |     a0 = s1;
    0x002546d8 jalr t9                               |     t9 ();
    0x002546dc addiu s3, s3, 1                       |     s3++;
    0x002546e0 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x002546e4 bnez v0, 0x2545f0                     |         goto label_0;
                                                     |     }
    0x002546e8 lw v0, 4(s0)                          |     v0 = *((s0 + 1));
    0x002546ec slt v0, s3, v0                        |     v0 = (s3 < v0) ? 1 : 0;
    0x002546f0 addiu s4, s4, 0x2c                    |     s4 += 0x2c;
                                                     |     if (v0 != 0) {
    0x002546f4 bnez v0, 0x2546bc                     |         goto label_1;
                                                     |     }
    0x002546f8 lw a1, -0x7fd4(gp)                    |     a1 = *((gp - 8181));
                                                     | label_6:
    0x002546fc lw t9, -0x9d0(gp)                     |     t9 = *(gp);
                                                     | label_7:
    0x00254700 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x00254704 addiu a3, s0, 0xc                     |     a3 = s0 + 0xc;
    0x00254708 addiu a2, zero, -1                    |     a2 = -1;
    0x0025470c addiu a1, a1, 0x30e4                  |     a1 += aav.0x000030e4;
    0x00254710 move a0, s1                           |     a0 = s1;
    0x00254714 jalr t9                               |     t9 ();
    0x00254718 move s3, v0                           |     s3 = v0;
    0x0025471c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x00254720 bnez v0, 0x2545f0                     |         goto label_0;
                                                     |     }
    0x00254724 lw a3, 0x14(s0)                       |     a3 = *((s0 + 5));
    0x00254728 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     |     if (a3 == 0) {
    0x0025472c beqz a3, 0x254788                     |         goto label_9;
                                                     |     }
    0x00254730 lw v0, 0x10(s0)                       |     v0 = *((s0 + 4));
    0x00254734 lw s5, -0x7fd4(gp)                    |     s5 = *((gp - 8181));
                                                     |     if (v0 <= 0) {
    0x00254738 blez v0, 0x254788                     |         goto label_9;
                                                     |     }
    0x0025473c move s4, zero                         |     s4 = 0;
    0x00254740 addiu s5, s5, 0x15d4                  |     s5 += aav.0x000015d4;
    0x00254744 b 0x25474c                            |     goto label_10;
                                                     | label_2:
    0x00254748 lw a3, 0x14(s0)                       |     a3 = *((s0 + 5));
                                                     | label_10:
    0x0025474c lw t9, -0xde0(gp)                     |     t9 = *(gp);
    0x00254750 addu a3, a3, s4                       |     a3 += s4;
    0x00254754 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x00254758 addiu a2, zero, -1                    |     a2 = -1;
    0x0025475c move a1, s5                           |     a1 = s5;
    0x00254760 move a0, s1                           |     a0 = s1;
    0x00254764 jalr t9                               |     t9 ();
    0x00254768 addiu s3, s3, 1                       |     s3++;
    0x0025476c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x00254770 bnez v0, 0x2545f0                     |         goto label_0;
                                                     |     }
    0x00254774 lw v0, 0x10(s0)                       |     v0 = *((s0 + 4));
    0x00254778 slt v0, s3, v0                        |     v0 = (s3 < v0) ? 1 : 0;
    0x0025477c addiu s4, s4, 0x34                    |     s4 += 0x34;
                                                     |     if (v0 != 0) {
    0x00254780 bnez v0, 0x254748                     |         goto label_2;
                                                     |     }
    0x00254784 lw ra, 0x3c(sp)                       |     ra = *(var_3ch);
                                                     | label_9:
    0x00254788 lw s5, 0x34(sp)                       |     s5 = *(var_34h);
    0x0025478c lw s4, 0x30(sp)                       |     s4 = *(var_30h);
    0x00254790 lw s3, 0x2c(sp)                       |     s3 = *(var_2ch);
    0x00254794 lw s2, 0x28(sp)                       |     s2 = *(var_28h);
    0x00254798 lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x0025479c move a1, s6                           |     a1 = s6;
    0x002547a0 move a0, s1                           |     a0 = s1;
    0x002547a4 lw s6, 0x38(sp)                       |     s6 = *(var_38h);
    0x002547a8 lw s1, 0x24(sp)                       |     s1 = *(var_24h);
    0x002547ac lw t9, 0x1c18(gp)                     |     t9 = *(gp);
    0x002547b0 addiu sp, sp, 0x40                    |     
    0x002547b4 jr t9                                 |     t9 ();
                                                     | label_5:
    0x002547b8 lw t9, -0x2d5c(gp)                    |     t9 = *(gp);
    0x002547bc addiu a1, a1, 0x30c8                  |     a1 += aav.0x000030c8;
    0x002547c0 move a0, s1                           |     a0 = s1;
    0x002547c4 jalr t9                               |     t9 ();
    0x002547c8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x002547cc beqz v0, 0x254694                     |         goto label_3;
                                                     |     }
    0x002547d0 lui v0, 1                             |     v0 = 0x10000;
    0x002547d4 b 0x2545f4                            |     goto label_4;
                                                     | }

[*] Function strcat used 1 times libsoap_wsd.so