[*] Binary protection state of libstdc++.so.6.0.17

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


[*] Function strcpy tear down of libstdc++.so.6.0.17

    ; assembly                                                                       | /* r2dec pseudo code output */
                                                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libstdc++.so.6.0.17 @ 0x5d82c */
                                                                                     | #include <stdint.h>
                                                                                     |  
    ; (fcn) method.std::ios_base._M_call_callbacks_std::ios_base::event_ ()          | void method_std::ios_base_M_call_callbacks_std::ios_base::event_ () {
                                                                                     |     /* std::ios_base::_M_call_callbacks(std::ios_base::event) */
    0x0005d82c lui gp, 0xa                                                           |     
    0x0005d830 addiu gp, gp, 0x2924                                                  |     
    0x0005d834 addu gp, gp, t9                                                       |     gp += t9;
    0x0005d838 addiu sp, sp, -0x28                                                   |     
    0x0005d83c sw s0, 0x18(sp)                                                       |     *(var_18h) = s0;
    0x0005d840 lw s0, 0x18(a0)                                                       |     s0 = *((a0 + 6));
    0x0005d844 sw gp, 0x10(sp)                                                       |     *(var_10h) = gp;
    0x0005d848 sw s2, 0x20(sp)                                                       |     *(var_20h) = s2;
    0x0005d84c sw s1, 0x1c(sp)                                                       |     *(var_1ch) = s1;
    0x0005d850 sw ra, 0x24(sp)                                                       |     *(var_24h) = ra;
    0x0005d854 move s1, a0                                                           |     s1 = a0;
    0x0005d858 move s2, a1                                                           |     s2 = a1;
                                                                                     |     if (s0 == 0) {
    0x0005d85c beqz s0, 0x5d880                                                      |         goto label_0;
                                                                                     |     }
                                                                                     |     do {
    0x0005d860 lw t9, 4(s0)                                                          |         t9 = *((s0 + 1));
    0x0005d864 lw a2, 8(s0)                                                          |         a2 = *((s0 + 2));
    0x0005d868 move a0, s2                                                           |         a0 = s2;
    0x0005d86c move a1, s1                                                           |         a1 = s1;
    0x0005d870 jalr t9                                                               |         t9 ();
    0x0005d874 lw s0, (s0)                                                           |         s0 = *(s0);
    0x0005d878 bnez s0, 0x5d860                                                      |         
                                                                                     |     } while (s0 != 0);
    0x0005d87c nop                                                                   |     
                                                                                     | label_0:
    0x0005d880 lw ra, 0x24(sp)                                                       |     ra = *(var_24h);
    0x0005d884 lw s2, 0x20(sp)                                                       |     s2 = *(var_20h);
    0x0005d888 lw s1, 0x1c(sp)                                                       |     s1 = *(var_1ch);
    0x0005d88c lw s0, 0x18(sp)                                                       |     s0 = *(var_18h);
    0x0005d890 addiu sp, sp, 0x28                                                    |     
    0x0005d894 jr ra                                                                 |     return;
                                                                                     | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libstdc++.so.6.0.17 @ 0x5d8e4 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) method.std::ios_base._M_dispose_callbacks__ ()           | void method_std::ios_base_M_dispose_callbacks_ () {
                                                                     |     /* std::ios_base::_M_dispose_callbacks() */
    0x0005d8e4 lui gp, 0xa                                           |     
    0x0005d8e8 addiu gp, gp, 0x286c                                  |     
    0x0005d8ec addu gp, gp, t9                                       |     gp += t9;
    0x0005d8f0 lw v1, 0x18(a0)                                       |     v1 = *((a0 + 6));
    0x0005d8f4 addiu sp, sp, -0x28                                   |     
    0x0005d8f8 sw gp, 0x10(sp)                                       |     *(var_10h) = gp;
    0x0005d8fc sw s2, 0x20(sp)                                       |     *(var_20h) = s2;
    0x0005d900 sw s0, 0x18(sp)                                       |     *(var_18h) = s0;
    0x0005d904 sw ra, 0x24(sp)                                       |     *(var_24h) = ra;
    0x0005d908 sw s1, 0x1c(sp)                                       |     *(var_1ch) = s1;
    0x0005d90c move s2, a0                                           |     s2 = a0;
    0x0005d910 lw s0, -0x7bb8(gp)                                    |     s0 = *(gp);
                                                                     |     if (v1 == 0) {
    0x0005d914 beqz v1, 0x5d960                                      |         goto label_2;
                                                                     |     }
                                                                     | label_0:
    0x0005d918 addiu v0, v1, 0xc                                     |     v0 = v1 + 0xc;
                                                                     |     if (s0 == 0) {
    0x0005d91c beqz s0, 0x5d97c                                      |         goto label_3;
                                                                     |     }
    0x0005d920 sync                                                  |     __asm ("sync");
                                                                     |     do {
    0x0005d924 ll a1, (v0)                                           |         __asm ("ll a1, (v0)");
    0x0005d928 addiu at, a1, -1                                      |         at = a1 + -1;
    0x0005d92c sc at, (v0)                                           |         __asm ("sc at, (v0)");
    0x0005d930 beqz at, 0x5d924                                      |         
                                                                     |     } while (at == 0);
    0x0005d934 nop                                                   |     
    0x0005d938 sync                                                  |     __asm ("sync");
    0x0005d93c move v0, a1                                           |     v0 = a1;
                                                                     | label_1:
    0x0005d940 lw t9, -0x6e38(gp)                                    |     t9 = *(gp);
    0x0005d944 move a0, v1                                           |     a0 = v1;
                                                                     |     if (v0 != 0) {
    0x0005d948 bnez v0, 0x5d960                                      |         goto label_2;
                                                                     |     }
    0x0005d94c lw s1, (v1)                                           |     s1 = *(v1);
    0x0005d950 jalr t9                                               |     t9 ();
    0x0005d954 lw gp, 0x10(sp)                                       |     gp = *(var_10h);
    0x0005d958 move v1, s1                                           |     v1 = s1;
                                                                     |     if (s1 != 0) {
    0x0005d95c bnez s1, 0x5d918                                      |         goto label_0;
                                                                     |     }
                                                                     | label_2:
    0x0005d960 lw ra, 0x24(sp)                                       |     ra = *(var_24h);
    0x0005d964 sw zero, 0x18(s2)                                     |     *((s2 + 6)) = 0;
    0x0005d968 lw s1, 0x1c(sp)                                       |     s1 = *(var_1ch);
    0x0005d96c lw s2, 0x20(sp)                                       |     s2 = *(var_20h);
    0x0005d970 lw s0, 0x18(sp)                                       |     s0 = *(var_18h);
    0x0005d974 addiu sp, sp, 0x28                                    |     
    0x0005d978 jr ra                                                 |     return v0;
                                                                     | label_3:
    0x0005d97c lw v0, 0xc(v1)                                        |     v0 = *((v1 + 3));
    0x0005d980 addiu a0, v0, -1                                      |     a0 = v0 + -1;
    0x0005d984 sw a0, 0xc(v1)                                        |     *((v1 + 3)) = a0;
    0x0005d988 b 0x5d940                                             |     goto label_1;
                                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libstdc++.so.6.0.17 @ 0x47fb0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) method.std::istream.ignore__ ()      | void method_std::istream_ignore_ () {
                                                 |     /* std::istream::ignore() */
    0x00047fb0 lui gp, 0xc                       |     
    0x00047fb4 addiu gp, gp, -0x7e60             |     
    0x00047fb8 addu gp, gp, t9                   |     gp += t9;
    0x00047fbc addiu sp, sp, -0x30               |     
    0x00047fc0 lw t9, -0x7bb4(gp)                |     t9 = *((gp - 7917));
    0x00047fc4 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00047fc8 sw s0, 0x28(sp)                   |     *(var_28h) = s0;
    0x00047fcc move s0, a0                       |     s0 = a0;
    0x00047fd0 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x00047fd4 move a1, s0                       |     a1 = s0;
    0x00047fd8 sw zero, 4(a0)                    |     *((a0 + 1)) = 0;
    0x00047fdc addiu a2, zero, 1                 |     a2 = 1;
    0x00047fe0 addiu a0, sp, 0x18                |     a0 = sp + 0x18;
    0x00047fe4 jalr t9                           |     t9 ();
    0x00047fe8 lbu v0, 0x18(sp)                  |     v0 = *(var_18h);
    0x00047fec lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 == 0) {
    0x00047ff0 bnez v0, 0x48008                  |         
    0x00047ff4 lw ra, 0x2c(sp)                   |         ra = *(var_2ch);
                                                 | label_0:
    0x00047ff8 move v0, s0                       |         v0 = s0;
    0x00047ffc lw s0, 0x28(sp)                   |         s0 = *(var_28h);
    0x00048000 addiu sp, sp, 0x30                |         
    0x00048004 jr ra                             |         return v0;
                                                 |     }
    0x00048008 lw v0, (s0)                       |     v0 = *(s0);
    0x0004800c lw v0, -0xc(v0)                   |     v0 = *((v0 - 3));
    0x00048010 addu v0, s0, v0                   |     v0 = s0 + v0;
    0x00048014 lw a0, 0x78(v0)                   |     a0 = *((v0 + 30));
    0x00048018 lw v0, 8(a0)                      |     v0 = *((a0 + 2));
    0x0004801c lw v1, 0xc(a0)                    |     v1 = *((a0 + 3));
    0x00048020 sltu v1, v0, v1                   |     v1 = (v0 < v1) ? 1 : 0;
    0x00048024 addiu v0, v0, 1                   |     v0++;
                                                 |     if (v1 == 0) {
    0x00048028 beqz v1, 0x4804c                  |         goto label_1;
                                                 |     }
    0x0004802c sw v0, 8(a0)                      |     *((a0 + 2)) = v0;
                                                 |     do {
    0x00048030 lw ra, 0x2c(sp)                   |         ra = *(var_2ch);
    0x00048034 addiu v0, zero, 1                 |         v0 = 1;
    0x00048038 sw v0, 4(s0)                      |         *((s0 + 1)) = v0;
    0x0004803c move v0, s0                       |         v0 = s0;
    0x00048040 lw s0, 0x28(sp)                   |         s0 = *(var_28h);
    0x00048044 addiu sp, sp, 0x30                |         
    0x00048048 jr ra                             |         return v0;
                                                 | label_1:
    0x0004804c lw t9, -0x7fd4(gp)                |         t9 = *((gp - 8181));
    0x00048050 addiu t9, t9, 0x70b0              |         t9 += 0x70b0;
    0x00048054 bal 0x470b0                       |         entry0 ();
    0x00048058 nop                               |         
    0x0004805c addiu v1, zero, -1                |         v1 = -1;
    0x00048060 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00048064 bne v0, v1, 0x48030               |         
                                                 |     } while (v0 != v1);
    0x00048068 lw v0, (s0)                       |     v0 = *(s0);
    0x0004806c lw t9, -0x76f0(gp)                |     t9 = *((gp - 7612));
    0x00048070 lw a0, -0xc(v0)                   |     a0 = *((v0 - 3));
    0x00048074 addu a0, s0, a0                   |     a0 = s0 + a0;
    0x00048078 lw a1, 0x14(a0)                   |     a1 = *((a0 + 5));
    0x0004807c ori a1, a1, 2                     |     a1 |= 2;
    0x00048080 jalr t9                           |     t9 ();
    0x00048084 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x00048088 b 0x47ff8                         |     goto label_0;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libstdc++.so.6.0.17 @ 0x4814c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) method.std::istream.ignore_int_ ()       | void method_std::istream_ignore_int_ () {
                                                     |     /* std::istream::ignore(int) */
    0x0004814c lui gp, 0xc                           |     
    0x00048150 addiu gp, gp, -0x7ffc                 |     
    0x00048154 addu gp, gp, t9                       |     gp += t9;
    0x00048158 addiu sp, sp, -0x50                   |     
    0x0004815c addiu v0, zero, 1                     |     v0 = 1;
    0x00048160 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00048164 sw ra, 0x4c(sp)                       |     *(var_4ch) = ra;
    0x00048168 sw s7, 0x48(sp)                       |     *(var_48h) = s7;
    0x0004816c sw s6, 0x44(sp)                       |     *(var_44h) = s6;
    0x00048170 sw s5, 0x40(sp)                       |     *(var_40h) = s5;
    0x00048174 sw s4, 0x3c(sp)                       |     *(var_3ch) = s4;
    0x00048178 sw s3, 0x38(sp)                       |     *(var_38h) = s3;
    0x0004817c sw s2, 0x34(sp)                       |     *(var_34h) = s2;
    0x00048180 sw s1, 0x30(sp)                       |     *(var_30h) = s1;
    0x00048184 sw s0, 0x2c(sp)                       |     *(var_2ch) = s0;
    0x00048188 lw t9, -0x7bb4(gp)                    |     t9 = *((gp - 7917));
                                                     |     if (a1 == v0) {
    0x0004818c beq a1, v0, 0x482fc                   |         goto label_4;
                                                     |     }
    0x00048190 move s2, a0                           |     s2 = a0;
    0x00048194 sw zero, 4(a0)                        |     *((a0 + 1)) = 0;
    0x00048198 move s0, a1                           |     s0 = a1;
    0x0004819c addiu a0, sp, 0x18                    |     a0 = sp + 0x18;
    0x000481a0 move a1, s2                           |     a1 = s2;
    0x000481a4 addiu a2, zero, 1                     |     a2 = 1;
    0x000481a8 jalr t9                               |     t9 ();
    0x000481ac lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (s0 <= 0) {
    0x000481b0 blez s0, 0x48284                      |         goto label_5;
                                                     |     }
    0x000481b4 lbu v0, 0x18(sp)                      |     v0 = *(var_18h);
    0x000481b8 move v0, s2                           |     v0 = s2;
                                                     |     if (v0 == 0) {
    0x000481bc beqz v0, 0x48288                      |         goto label_1;
                                                     |     }
    0x000481c0 lw v0, (s2)                           |     v0 = *(s2);
    0x000481c4 lw v0, -0xc(v0)                       |     v0 = *((v0 - 3));
    0x000481c8 addu v0, s2, v0                       |     v0 = s2 + v0;
    0x000481cc lw s1, 0x78(v0)                       |     s1 = *((v0 + 30));
    0x000481d0 lw v0, 8(s1)                          |     v0 = *((s1 + 2));
    0x000481d4 lw v1, 0xc(s1)                        |     v1 = *((s1 + 3));
    0x000481d8 sltu v1, v0, v1                       |     v1 = (v0 < v1) ? 1 : 0;
    0x000481dc lw t9, -0x7fd4(gp)                    |     t9 = *((gp - 8181));
                                                     |     if (v1 == 0) {
    0x000481e0 beqz v1, 0x483ac                      |         goto label_6;
                                                     |     }
    0x000481e4 lbu a1, (v0)                          |     a1 = *(v0);
                                                     | label_3:
    0x000481e8 lw v1, 4(s2)                          |     v1 = *((s2 + 1));
    0x000481ec lw s6, -0x7fd4(gp)                    |     s6 = *((gp - 8181));
    0x000481f0 lw s7, -0x7fd4(gp)                    |     s7 = *((gp - 8181));
    0x000481f4 lui s5, 0x7fff                        |     s5 = 0x7fff0000;
    0x000481f8 move s3, zero                         |     s3 = 0;
    0x000481fc addiu s4, zero, -1                    |     s4 = -1;
    0x00048200 ori s5, s5, 0xffff                    |     s5 |= 0xffff;
                                                     | label_0:
    0x00048204 slt a0, v1, s0                        |     a0 = (v1 < s0) ? 1 : 0;
                                                     |     if (a0 == 0) {
    0x00048208 beqz a0, 0x4825c                      |         goto label_7;
                                                     |     }
    0x0004820c nop                                   |     
                                                     |     do {
    0x00048210 subu a0, s0, v1                       |         __asm ("subu a0, s0, v1");
                                                     |         if (a1 == s4) {
    0x00048214 beq a1, s4, 0x48264                   |             goto label_8;
                                                     |         }
    0x00048218 lw a1, 0xc(s1)                        |         a1 = *((s1 + 3));
    0x0004821c lw v0, 8(s1)                          |         v0 = *((s1 + 2));
    0x00048220 subu a2, a1, v0                       |         __asm ("subu a2, a1, v0");
    0x00048224 slt a3, a2, a0                        |         a3 = (a2 < a0) ? 1 : 0;
                                                     |         if (a3 == 0) {
    0x00048228 movn a0, a2, a3                       |             a0 = a2;
                                                     |         }
    0x0004822c slti a2, a0, 2                        |         a2 = (a0 < 2) ? 1 : 0;
                                                     |         if (a2 != 0) {
    0x00048230 bnez a2, 0x482cc                      |             goto label_9;
                                                     |         }
    0x00048234 nop                                   |         
    0x00048238 addu v0, v0, a0                       |         v0 += a0;
    0x0004823c addu v1, v1, a0                       |         v1 += a0;
    0x00048240 sltu a1, v0, a1                       |         a1 = (v0 < a1) ? 1 : 0;
    0x00048244 sw v0, 8(s1)                          |         *((s1 + 2)) = v0;
    0x00048248 sw v1, 4(s2)                          |         *((s2 + 1)) = v1;
                                                     |         if (a1 == 0) {
    0x0004824c beqz a1, 0x48354                      |             goto label_10;
                                                     |         }
    0x00048250 slt a0, v1, s0                        |         a0 = (v1 < s0) ? 1 : 0;
    0x00048254 lbu a1, (v0)                          |         a1 = *(v0);
    0x00048258 bnez a0, 0x48210                      |         
                                                     |     } while (a0 != 0);
                                                     |     if (s0 == s5) {
                                                     | label_7:
    0x0004825c beq s0, s5, 0x482b4                   |         goto label_11;
                                                     |     }
    0x00048260 nop                                   |     
                                                     |     do {
                                                     | label_8:
    0x00048264 addiu v0, zero, -1                    |         v0 = -1;
                                                     |         if (s3 != 0) {
    0x00048268 beqz s3, 0x4827c                      |             
    0x0004826c lui v0, 0x7fff                        |             v0 = 0x7fffffff;
    0x00048270 ori v0, v0, 0xffff                    |             
    0x00048274 sw v0, 4(s2)                          |             *((s2 + 1)) = v0;
    0x00048278 addiu v0, zero, -1                    |             v0 = -1;
                                                     |         }
    0x0004827c lw t9, -0x76f0(gp)                    |         t9 = *((gp - 7612));
                                                     |         if (a1 == v0) {
    0x00048280 beq a1, v0, 0x48334                   |             goto label_12;
                                                     |         }
                                                     | label_5:
    0x00048284 move v0, s2                           |         v0 = s2;
                                                     | label_1:
    0x00048288 lw ra, 0x4c(sp)                       |         ra = *(var_4ch);
    0x0004828c lw s7, 0x48(sp)                       |         s7 = *(var_48h);
    0x00048290 lw s6, 0x44(sp)                       |         s6 = *(var_44h);
    0x00048294 lw s5, 0x40(sp)                       |         s5 = *(var_40h);
    0x00048298 lw s4, 0x3c(sp)                       |         s4 = *(var_3ch);
    0x0004829c lw s3, 0x38(sp)                       |         s3 = *(var_38h);
    0x000482a0 lw s2, 0x34(sp)                       |         s2 = *(var_34h);
    0x000482a4 lw s1, 0x30(sp)                       |         s1 = *(var_30h);
    0x000482a8 lw s0, 0x2c(sp)                       |         s0 = *(var_2ch);
    0x000482ac addiu sp, sp, 0x50                    |         
    0x000482b0 jr ra                                 |         return v1;
                                                     | label_11:
    0x000482b4 lui v0, 0x8000                        |         v0 = 0x80000000;
    0x000482b8 beq a1, s4, 0x48264                   |         
                                                     |     } while (a1 == s4);
    0x000482bc sw v0, 4(s2)                          |     *((s2 + 1)) = v0;
    0x000482c0 lui v1, 0x8000                        |     v1 = 0x80000000;
    0x000482c4 addiu s3, zero, 1                     |     s3 = 1;
    0x000482c8 b 0x48204                             |     goto label_0;
                                                     | label_9:
    0x000482cc addiu a0, v1, 1                       |     a0 = v1 + 1;
    0x000482d0 sltu v1, v0, a1                       |     v1 = (v0 < a1) ? 1 : 0;
    0x000482d4 sw a0, 4(s2)                          |     *((s2 + 1)) = a0;
                                                     |     if (v1 == 0) {
    0x000482d8 beqz v1, 0x48370                      |         goto label_13;
                                                     |     }
    0x000482dc addiu v0, v0, 1                       |     v0++;
    0x000482e0 sw v0, 8(s1)                          |     *((s1 + 2)) = v0;
                                                     | label_2:
    0x000482e4 sltu a1, v0, a1                       |     a1 = (v0 < a1) ? 1 : 0;
    0x000482e8 addiu t9, s6, 0x70c0                  |     t9 = s6 + aav.0x000070c0;
                                                     |     if (a1 == 0) {
    0x000482ec beqz a1, 0x48394                      |         goto label_14;
                                                     |     }
    0x000482f0 lbu a1, (v0)                          |     a1 = *(v0);
                                                     |     do {
    0x000482f4 lw v1, 4(s2)                          |         v1 = *((s2 + 1));
    0x000482f8 b 0x48204                             |         goto label_0;
                                                     | label_4:
    0x000482fc lw t9, -0x7fc4(gp)                    |         t9 = *((gp - 8177));
    0x00048300 bal 0x47fb0                           |         method ();
    0x00048304 nop                                   |         
    0x00048308 lw ra, 0x4c(sp)                       |         ra = *(var_4ch);
    0x0004830c lw s7, 0x48(sp)                       |         s7 = *(var_48h);
    0x00048310 lw s6, 0x44(sp)                       |         s6 = *(var_44h);
    0x00048314 lw s5, 0x40(sp)                       |         s5 = *(var_40h);
    0x00048318 lw s4, 0x3c(sp)                       |         s4 = *(var_3ch);
    0x0004831c lw s3, 0x38(sp)                       |         s3 = *(var_38h);
    0x00048320 lw s2, 0x34(sp)                       |         s2 = *(var_34h);
    0x00048324 lw s1, 0x30(sp)                       |         s1 = *(var_30h);
    0x00048328 lw s0, 0x2c(sp)                       |         s0 = *(var_2ch);
    0x0004832c addiu sp, sp, 0x50                    |         
    0x00048330 jr ra                                 |         return v1;
                                                     | label_12:
    0x00048334 lw v0, (s2)                           |         v0 = *(s2);
    0x00048338 lw a0, -0xc(v0)                       |         a0 = *((v0 - 3));
    0x0004833c addu a0, s2, a0                       |         a0 = s2 + a0;
    0x00048340 lw a1, 0x14(a0)                       |         a1 = *((a0 + 5));
    0x00048344 ori a1, a1, 2                         |         a1 |= 2;
    0x00048348 jalr t9                               |         t9 ();
    0x0004834c move v0, s2                           |         v0 = s2;
    0x00048350 b 0x48288                             |         goto label_1;
                                                     | label_10:
    0x00048354 addiu t9, s6, 0x70c0                  |         t9 = s6 + aav.0x000070c0;
    0x00048358 move a0, s1                           |         a0 = s1;
    0x0004835c bal 0x470c0                           |         fcn_000470c0 ();
    0x00048360 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00048364 move a1, v0                           |         a1 = v0;
    0x00048368 lw v1, 4(s2)                          |         v1 = *((s2 + 1));
    0x0004836c b 0x48204                             |         goto label_0;
                                                     | label_13:
    0x00048370 addiu t9, s7, 0x70b0                  |         t9 = s7 + 0x70b0;
    0x00048374 move a0, s1                           |         a0 = s1;
    0x00048378 bal 0x470b0                           |         entry0 ();
    0x0004837c lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00048380 addiu a1, zero, -1                    |         a1 = -1;
    0x00048384 beq v0, s4, 0x482f4                   |         
                                                     |     } while (v0 == s4);
    0x00048388 lw v0, 8(s1)                          |     v0 = *((s1 + 2));
    0x0004838c lw a1, 0xc(s1)                        |     a1 = *((s1 + 3));
    0x00048390 b 0x482e4                             |     goto label_2;
                                                     | label_14:
    0x00048394 move a0, s1                           |     a0 = s1;
    0x00048398 bal 0x470c0                           |     fcn_000470c0 ();
    0x0004839c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x000483a0 move a1, v0                           |     a1 = v0;
    0x000483a4 lw v1, 4(s2)                          |     v1 = *((s2 + 1));
    0x000483a8 b 0x48204                             |     goto label_0;
                                                     | label_6:
    0x000483ac addiu t9, t9, 0x70c0                  |     t9 += aav.0x000070c0;
    0x000483b0 move a0, s1                           |     a0 = s1;
    0x000483b4 bal 0x470c0                           |     fcn_000470c0 ();
    0x000483b8 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x000483bc move a1, v0                           |     a1 = v0;
    0x000483c0 b 0x481e8                             |     goto label_3;
                                                     | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libstdc++.so.6.0.17 @ 0x67154 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) method.std::istream.ignore_int__int_ ()      | void method_std::istream_ignore_int_int_ () {
                                                         |     /* std::istream::ignore(int, int) */
    0x00067154 lui gp, 0xa                               |     
    0x00067158 addiu gp, gp, -0x7004                     |     
    0x0006715c addu gp, gp, t9                           |     gp += t9;
    0x00067160 addiu sp, sp, -0x50                       |     
    0x00067164 addiu v0, zero, -1                        |     v0 = -1;
    0x00067168 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x0006716c sw ra, 0x4c(sp)                           |     *(var_4ch) = ra;
    0x00067170 sw fp, 0x48(sp)                           |     *(var_48h) = fp;
    0x00067174 sw s7, 0x44(sp)                           |     *(var_44h) = s7;
    0x00067178 sw s6, 0x40(sp)                           |     *(var_40h) = s6;
    0x0006717c sw s5, 0x3c(sp)                           |     *(var_3ch) = s5;
    0x00067180 sw s4, 0x38(sp)                           |     *(var_38h) = s4;
    0x00067184 sw s3, 0x34(sp)                           |     *(var_34h) = s3;
    0x00067188 sw s2, 0x30(sp)                           |     *(var_30h) = s2;
    0x0006718c sw s1, 0x2c(sp)                           |     *(var_2ch) = s1;
    0x00067190 sw s0, 0x28(sp)                           |     *(var_28h) = s0;
    0x00067194 sw a2, 0x58(sp)                           |     *(arg_58h) = a2;
                                                         |     if (a2 == v0) {
    0x00067198 beq a2, v0, 0x6734c                       |         goto label_6;
                                                         |     }
    0x0006719c lw t9, -0x7bb4(gp)                        |     t9 = *((gp - 7917));
    0x000671a0 move s3, a0                               |     s3 = a0;
    0x000671a4 sw zero, 4(a0)                            |     *((a0 + 1)) = 0;
    0x000671a8 move s0, a1                               |     s0 = a1;
    0x000671ac addiu a0, sp, 0x18                        |     a0 = sp + 0x18;
    0x000671b0 move a1, s3                               |     a1 = s3;
    0x000671b4 addiu a2, zero, 1                         |     a2 = 1;
    0x000671b8 jalr t9                                   |     t9 ();
    0x000671bc lw gp, 0x10(sp)                           |     gp = *(var_10h);
                                                         |     if (s0 <= 0) {
    0x000671c0 blez s0, 0x672c8                          |         goto label_3;
                                                         |     }
    0x000671c4 lbu v0, 0x18(sp)                          |     v0 = *(var_18h);
    0x000671c8 move v0, s3                               |     v0 = s3;
                                                         |     if (v0 == 0) {
    0x000671cc beqz v0, 0x672cc                          |         goto label_2;
                                                         |     }
    0x000671d0 lw v0, (s3)                               |     v0 = *(s3);
    0x000671d4 lw v1, 0x58(sp)                           |     v1 = *(arg_58h);
    0x000671d8 lw v0, -0xc(v0)                           |     v0 = *((v0 - 3));
    0x000671dc seb v1, v1                                |     __asm ("seb v1, v1");
    0x000671e0 sw v1, 0x20(sp)                           |     *(var_20h) = v1;
    0x000671e4 addu v0, s3, v0                           |     v0 = s3 + v0;
    0x000671e8 lw s1, 0x78(v0)                           |     s1 = *((v0 + 30));
    0x000671ec lw v0, 8(s1)                              |     v0 = *((s1 + 2));
    0x000671f0 lw v1, 0xc(s1)                            |     v1 = *((s1 + 3));
    0x000671f4 sltu v1, v0, v1                           |     v1 = (v0 < v1) ? 1 : 0;
    0x000671f8 lw t9, -0x7fd4(gp)                        |     t9 = *((gp - 8181));
                                                         |     if (v1 == 0) {
    0x000671fc beqz v1, 0x67424                          |         goto label_7;
                                                         |     }
    0x00067200 lbu a1, (v0)                              |     a1 = *(v0);
                                                         | label_5:
    0x00067204 lw fp, 4(s3)                              |     fp = *((s3 + 1));
    0x00067208 lui s4, 0x7fff                            |     s4 = 0x7fff0000;
    0x0006720c move s2, zero                             |     s2 = 0;
    0x00067210 ori s4, s4, 0xffff                        |     s4 |= 0xffff;
                                                         | label_1:
    0x00067214 slt a0, fp, s0                            |     a0 = (fp < s0) ? 1 : 0;
                                                         |     if (a0 == 0) {
    0x00067218 beqz a0, 0x67298                          |         goto label_8;
                                                         |     }
    0x0006721c nop                                       |     
                                                         |     do {
    0x00067220 addiu v1, zero, -1                        |         v1 = -1;
    0x00067224 lw v0, 0x58(sp)                           |         v0 = *(arg_58h);
                                                         |         if (a1 == v1) {
    0x00067228 beq a1, v1, 0x672a0                       |             goto label_0;
                                                         |         }
    0x0006722c subu a3, s0, fp                           |         __asm ("subu a3, s0, fp");
                                                         |         if (v0 == a1) {
    0x00067230 beq v0, a1, 0x672a0                       |             goto label_0;
                                                         |         }
    0x00067234 lw s7, 0xc(s1)                            |         s7 = *((s1 + 3));
    0x00067238 lw s6, 8(s1)                              |         s6 = *((s1 + 2));
    0x0006723c subu v0, s7, s6                           |         __asm ("subu v0, s7, s6");
    0x00067240 slt a0, v0, a3                            |         a0 = (v0 < a3) ? 1 : 0;
    0x00067244 move s5, v0                               |         s5 = v0;
                                                         |         if (a0 != 0) {
    0x00067248 movz s5, a3, a0                           |             s5 = a3;
                                                         |         }
    0x0006724c slti v0, s5, 2                            |         v0 = (s5 < 2) ? 1 : 0;
    0x00067250 lw t9, -0x77e4(gp)                        |         t9 = *((gp - 7673));
                                                         |         if (v0 != 0) {
    0x00067254 bnez v0, 0x6731c                          |             goto label_9;
                                                         |         }
    0x00067258 lw a1, 0x20(sp)                           |         a1 = *(var_20h);
    0x0006725c move a2, s5                               |         a2 = s5;
    0x00067260 move a0, s6                               |         a0 = s6;
    0x00067264 jalr t9                                   |         t9 ();
    0x00067268 subu a0, v0, s6                           |         __asm ("subu a0, v0, s6");
                                                         |         if (v0 == 0) {
    0x0006726c movn s5, a0, v0                           |             s5 = a0;
                                                         |         }
    0x00067270 addu t0, s6, s5                           |         t0 = s6 + s5;
    0x00067274 addu fp, fp, s5                           |         fp += s5;
    0x00067278 sltu t1, t0, s7                           |         t1 = (t0 < s7) ? 1 : 0;
    0x0006727c lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x00067280 sw t0, 8(s1)                              |         *((s1 + 2)) = t0;
    0x00067284 sw fp, 4(s3)                              |         *((s3 + 1)) = fp;
                                                         |         if (t1 == 0) {
    0x00067288 beqz t1, 0x673dc                          |             goto label_10;
                                                         |         }
    0x0006728c slt a0, fp, s0                            |         a0 = (fp < s0) ? 1 : 0;
    0x00067290 lbu a1, (t0)                              |         a1 = *(t0);
    0x00067294 bnez a0, 0x67220                          |         
                                                         |     } while (a0 != 0);
                                                         | label_8:
    0x00067298 addiu v1, zero, -1                        |     v1 = -1;
    0x0006729c beq s0, s4, 0x672fc                       |     
                                                         |     while (a1 == v1) {
                                                         | label_0:
    0x000672a0 addiu v0, zero, -1                        |         v0 = -1;
                                                         |         if (s2 != 0) {
    0x000672a4 beqz s2, 0x672b8                          |             
    0x000672a8 lui v0, 0x7fff                            |             v0 = 0x7fffffff;
    0x000672ac ori v0, v0, 0xffff                        |             
    0x000672b0 sw v0, 4(s3)                              |             *((s3 + 1)) = v0;
    0x000672b4 addiu v0, zero, -1                        |             v0 = -1;
                                                         |         }
    0x000672b8 lw v1, 0x58(sp)                           |         v1 = *(arg_58h);
                                                         |         if (a1 == v0) {
    0x000672bc beq a1, v0, 0x67388                       |             goto label_11;
                                                         |         }
    0x000672c0 lui v1, 0x7fff                            |         v1 = 0x7fff0000;
                                                         |         if (v1 == a1) {
    0x000672c4 beq v1, a1, 0x673ac                       |             goto label_12;
                                                         |         }
                                                         | label_3:
    0x000672c8 move v0, s3                               |         v0 = s3;
                                                         | label_2:
    0x000672cc lw ra, 0x4c(sp)                           |         ra = *(var_4ch);
    0x000672d0 lw fp, 0x48(sp)                           |         fp = *(var_48h);
    0x000672d4 lw s7, 0x44(sp)                           |         s7 = *(var_44h);
    0x000672d8 lw s6, 0x40(sp)                           |         s6 = *(var_40h);
    0x000672dc lw s5, 0x3c(sp)                           |         s5 = *(var_3ch);
    0x000672e0 lw s4, 0x38(sp)                           |         s4 = *(var_38h);
    0x000672e4 lw s3, 0x34(sp)                           |         s3 = *(var_34h);
    0x000672e8 lw s2, 0x30(sp)                           |         s2 = *(var_30h);
    0x000672ec lw s1, 0x2c(sp)                           |         s1 = *(var_2ch);
    0x000672f0 lw s0, 0x28(sp)                           |         s0 = *(var_28h);
    0x000672f4 addiu sp, sp, 0x50                        |         
    0x000672f8 jr ra                                     |         return v0;
    0x000672fc lw v0, 0x58(sp)                           |         v0 = *(arg_58h);
    0x00067300 beq a1, v1, 0x672a0                       |         
                                                         |     }
    0x00067304 lui v0, 0x8000                            |     v0 = 0x80000000;
                                                         |     if (v0 == a1) {
    0x00067308 beq v0, a1, 0x672a0                       |         goto label_0;
                                                         |     }
    0x0006730c sw v0, 4(s3)                              |     *((s3 + 1)) = v0;
    0x00067310 lui fp, 0x8000                            |     fp = 0x80000000;
    0x00067314 addiu s2, zero, 1                         |     s2 = 1;
    0x00067318 b 0x67214                                 |     goto label_1;
                                                         | label_9:
    0x0006731c addiu v1, fp, 1                           |     v1 = fp + 1;
    0x00067320 sltu v0, s6, s7                           |     v0 = (s6 < s7) ? 1 : 0;
    0x00067324 sw v1, 4(s3)                              |     *((s3 + 1)) = v1;
                                                         |     if (v0 == 0) {
    0x00067328 beqz v0, 0x673fc                          |         goto label_13;
                                                         |     }
    0x0006732c addiu t0, s6, 1                           |     t0 = s6 + 1;
    0x00067330 sw t0, 8(s1)                              |     *((s1 + 2)) = t0;
                                                         | label_4:
    0x00067334 sltu t1, t0, s7                           |     t1 = (t0 < s7) ? 1 : 0;
    0x00067338 lw v0, -0x7fd4(gp)                        |     v0 = *((gp - 8181));
                                                         |     if (t1 == 0) {
    0x0006733c beqz t1, 0x67454                          |         goto label_14;
                                                         |     }
    0x00067340 lbu a1, (t0)                              |     a1 = *(t0);
                                                         |     do {
    0x00067344 lw fp, 4(s3)                              |         fp = *((s3 + 1));
    0x00067348 b 0x67214                                 |         goto label_1;
                                                         | label_6:
    0x0006734c lw t9, -0x7504(gp)                        |         t9 = *((gp - 7489));
    0x00067350 jalr t9                                   |         t9 ();
    0x00067354 nop                                       |         
    0x00067358 lw ra, 0x4c(sp)                           |         ra = *(var_4ch);
    0x0006735c lw fp, 0x48(sp)                           |         fp = *(var_48h);
    0x00067360 lw s7, 0x44(sp)                           |         s7 = *(var_44h);
    0x00067364 lw s6, 0x40(sp)                           |         s6 = *(var_40h);
    0x00067368 lw s5, 0x3c(sp)                           |         s5 = *(var_3ch);
    0x0006736c lw s4, 0x38(sp)                           |         s4 = *(var_38h);
    0x00067370 lw s3, 0x34(sp)                           |         s3 = *(var_34h);
    0x00067374 lw s2, 0x30(sp)                           |         s2 = *(var_30h);
    0x00067378 lw s1, 0x2c(sp)                           |         s1 = *(var_2ch);
    0x0006737c lw s0, 0x28(sp)                           |         s0 = *(var_28h);
    0x00067380 addiu sp, sp, 0x50                        |         
    0x00067384 jr ra                                     |         return v0;
                                                         | label_11:
    0x00067388 lw v0, (s3)                               |         v0 = *(s3);
    0x0006738c lw t9, -0x76f0(gp)                        |         t9 = *((gp - 7612));
    0x00067390 lw a0, -0xc(v0)                           |         a0 = *((v0 - 3));
    0x00067394 addu a0, s3, a0                           |         a0 = s3 + a0;
    0x00067398 lw a1, 0x14(a0)                           |         a1 = *((a0 + 5));
    0x0006739c ori a1, a1, 2                             |         a1 |= 2;
    0x000673a0 jalr t9                                   |         t9 ();
    0x000673a4 move v0, s3                               |         v0 = s3;
    0x000673a8 b 0x672cc                                 |         goto label_2;
                                                         | label_12:
    0x000673ac lw v0, 4(s3)                              |         v0 = *((s3 + 1));
    0x000673b0 ori v1, v1, 0xffff                        |         v1 |= 0xffff;
    0x000673b4 addiu v0, v0, 1                           |         v0++;
                                                         |         if (v0 != v1) {
    0x000673b8 beq v0, v1, 0x673c0                       |             
    0x000673bc sw v0, 4(s3)                              |             *((s3 + 1)) = v0;
                                                         |         }
    0x000673c0 lw v0, 8(s1)                              |         v0 = *((s1 + 2));
    0x000673c4 lw v1, 0xc(s1)                            |         v1 = *((s1 + 3));
    0x000673c8 sltu v1, v0, v1                           |         v1 = (v0 < v1) ? 1 : 0;
    0x000673cc addiu v0, v0, 1                           |         v0++;
                                                         |         if (v1 == 0) {
    0x000673d0 beqz v1, 0x6743c                          |             goto label_15;
                                                         |         }
    0x000673d4 sw v0, 8(s1)                              |         *((s1 + 2)) = v0;
    0x000673d8 b 0x672c8                                 |         goto label_3;
                                                         | label_10:
    0x000673dc lw v0, -0x7fd4(gp)                        |         v0 = *((gp - 8181));
    0x000673e0 addiu t9, v0, 0x732c                      |         t9 = v0 + 0x732c;
    0x000673e4 move a0, s1                               |         a0 = s1;
    0x000673e8 jalr t9                                   |         t9 ();
    0x000673ec lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x000673f0 move a1, v0                               |         a1 = v0;
    0x000673f4 lw fp, 4(s3)                              |         fp = *((s3 + 1));
    0x000673f8 b 0x67214                                 |         goto label_1;
                                                         | label_13:
    0x000673fc lw v1, -0x7fd4(gp)                        |         v1 = *((gp - 8181));
    0x00067400 addiu t9, v1, 0x733c                      |         t9 = v1 + 0x733c;
    0x00067404 move a0, s1                               |         a0 = s1;
    0x00067408 jalr t9                                   |         t9 ();
    0x0006740c addiu a1, zero, -1                        |         a1 = -1;
    0x00067410 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x00067414 beq v0, a1, 0x67344                       |         
                                                         |     } while (v0 == a1);
    0x00067418 lw t0, 8(s1)                              |     t0 = *((s1 + 2));
    0x0006741c lw s7, 0xc(s1)                            |     s7 = *((s1 + 3));
    0x00067420 b 0x67334                                 |     goto label_4;
                                                         | label_7:
    0x00067424 addiu t9, t9, 0x732c                      |     t9 += 0x732c;
    0x00067428 move a0, s1                               |     a0 = s1;
    0x0006742c jalr t9                                   |     t9 ();
    0x00067430 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x00067434 move a1, v0                               |     a1 = v0;
    0x00067438 b 0x67204                                 |     goto label_5;
                                                         | label_15:
    0x0006743c lw t9, -0x7fd4(gp)                        |     t9 = *((gp - 8181));
    0x00067440 addiu t9, t9, 0x733c                      |     t9 += 0x733c;
    0x00067444 move a0, s1                               |     a0 = s1;
    0x00067448 jalr t9                                   |     t9 ();
    0x0006744c move v0, s3                               |     v0 = s3;
    0x00067450 b 0x672cc                                 |     goto label_2;
                                                         | label_14:
    0x00067454 addiu t9, v0, 0x732c                      |     t9 = v0 + 0x732c;
    0x00067458 move a0, s1                               |     a0 = s1;
    0x0006745c jalr t9                                   |     t9 ();
    0x00067460 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x00067464 move a1, v0                               |     a1 = v0;
    0x00067468 lw fp, 4(s3)                              |     fp = *((s3 + 1));
    0x0006746c b 0x67214                                 |     goto label_1;
                                                         | }
    ; assembly                                                                               | /* r2dec pseudo code output */
                                                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libstdc++.so.6.0.17 @ 0x47da0 */
                                                                                             | #include <stdint.h>
                                                                                             |  
    ; (fcn) method.std::istreambuf_iterator_char__std::char_traits_char___.operator__ ()     | void method_std::istreambuf_iterator_char_std::char_traits_char_operator_ () {
                                                                                             |     /* std::istreambuf_iterator<char, std::char_traits<char> >::operator++() */
    0x00047da0 lui gp, 0xc                                                                   |     
    0x00047da4 addiu gp, gp, -0x7c50                                                         |     
    0x00047da8 addu gp, gp, t9                                                               |     gp += t9;
    0x00047dac lw v1, (a0)                                                                   |     v1 = *(a0);
    0x00047db0 addiu sp, sp, -0x20                                                           |     
    0x00047db4 sw gp, 0x10(sp)                                                               |     *(var_10h) = gp;
    0x00047db8 sw s0, 0x18(sp)                                                               |     *(var_18h) = s0;
    0x00047dbc sw ra, 0x1c(sp)                                                               |     *(var_1ch) = ra;
    0x00047dc0 move s0, a0                                                                   |     s0 = a0;
                                                                                             |     if (v1 == 0) {
    0x00047dc4 beqz v1, 0x47dec                                                              |         goto label_0;
                                                                                             |     }
    0x00047dc8 lw v0, 8(v1)                                                                  |     v0 = *((v1 + 2));
    0x00047dcc lw a0, 0xc(v1)                                                                |     a0 = *((v1 + 3));
    0x00047dd0 sltu a0, v0, a0                                                               |     a0 = (v0 < a0) ? 1 : 0;
    0x00047dd4 lw t9, -0x7fd4(gp)                                                            |     t9 = *((gp - 8181));
                                                                                             |     if (a0 == 0) {
    0x00047dd8 beqz a0, 0x47e00                                                              |         goto label_1;
                                                                                             |     }
    0x00047ddc addiu v0, v0, 1                                                               |     v0++;
    0x00047de0 sw v0, 8(v1)                                                                  |     *((v1 + 2)) = v0;
    0x00047de4 addiu v0, zero, -1                                                            |     v0 = -1;
                                                                                             |     do {
    0x00047de8 sw v0, 4(s0)                                                                  |         *((s0 + 1)) = v0;
                                                                                             | label_0:
    0x00047dec lw ra, 0x1c(sp)                                                               |         ra = *(var_1ch);
    0x00047df0 move v0, s0                                                                   |         v0 = s0;
    0x00047df4 lw s0, 0x18(sp)                                                               |         s0 = *(var_18h);
    0x00047df8 addiu sp, sp, 0x20                                                            |         
    0x00047dfc jr ra                                                                         |         return v0;
                                                                                             | label_1:
    0x00047e00 addiu t9, t9, 0x70b0                                                          |         t9 += 0x70b0;
    0x00047e04 move a0, v1                                                                   |         a0 = v1;
    0x00047e08 bal 0x470b0                                                                   |         entry0 ();
    0x00047e0c addiu v0, zero, -1                                                            |         v0 = -1;
    0x00047e10 b 0x47de8                                                                     |         
                                                                                             |     } while (1);
                                                                                             | }

[*] Function strcpy used 1 times libstdc++.so.6.0.17