[*] Binary protection state of ld-uClibc-0.9.33.so

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


[*] Function printf tear down of ld-uClibc-0.9.33.so

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x2f50 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00002f50 ()              | void fcn_00002f50 () {
    0x00002f50 lui gp, 2                 |     
    0x00002f54 addiu gp, gp, -0x3f40     |     
    0x00002f58 addu gp, gp, t9           |     gp += t9;
    0x00002f5c addiu sp, sp, -0x28       |     
    0x00002f60 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x00002f64 sw fp, 0x20(sp)           |     *(var_20h) = fp;
    0x00002f68 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x00002f6c move fp, sp               |     fp = sp;
    0x00002f70 lw t8, -0x7fb8(gp)        |     t8 = *(gp);
    0x00002f74 move s0, a0               |     s0 = a0;
    0x00002f78 lw v0, 0x20(a0)           |     v0 = *((a0 + 8));
    0x00002f7c lw t8, (t8)               |     t8 = *(t8);
    0x00002f80 sltu t8, t8, v0           |     t8 = (t8 < v0) ? 1 : 0;
    0x00002f84 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00002f88 beqz t8, 0x2fc0           |     
                                         |     while (a0 != 0) {
    0x00002f8c lw a1, -0x7fe4(gp)        |         a1 = *((gp - 8185));
    0x00002f90 addiu a0, zero, 2         |         a0 = 2;
    0x00002f94 lw t9, -0x7f94(gp)        |         t9 = sym._dl_dprintf
    0x00002f98 addiu a1, a1, 0x6394      |         a1 += str.cannot_allocate_memory_in_static_TLS_block;
    0x00002f9c jalr t9                   |         t9 ();
    0x00002fa0 addiu a0, zero, 0x1e      |         a0 = 0x1e;
    0x00002fa4 lw gp, 0x10(fp)           |         gp = *(var_10h);
    0x00002fa8 addiu v0, zero, 0xfa1     |         v0 = 0xfa1;
    0x00002fac syscall                   |         __asm ("syscall");
    0x00002fb0 lw t8, -0x7fc0(gp)        |         t8 = *(gp);
                                         |         if (a3 != 0) {
    0x00002fb4 beqz a3, 0x2fc4           |             
    0x00002fb8 lw t8, -0x7fdc(gp)        |             t8 = *(gp);
    0x00002fbc sw v0, (t8)               |             *(t8) = v0;
    0x00002fc0 lw t8, -0x7fc0(gp)        |             t8 = *(gp);
                                         |         }
    0x00002fc4 lw v0, 0x20(s0)           |         v0 = *((s0 + 8));
    0x00002fc8 lw v1, (t8)               |         v1 = *(t8);
    0x00002fcc lw a0, -0x7fbc(gp)        |         a0 = *(gp);
    0x00002fd0 addu v1, v0, v1           |         v1 = v0 + v1;
    0x00002fd4 negu v0, v0               |         __asm ("negu v0, v0");
    0x00002fd8 addiu v1, v1, -1          |         v1 += -1;
    0x00002fdc and v1, v1, v0            |         v1 &= v0;
    0x00002fe0 lw v0, 0x1c(s0)           |         v0 = *((s0 + 7));
    0x00002fe4 lw a0, (a0)               |         a0 = *(a0);
    0x00002fe8 addu v0, v1, v0           |         v0 = v1 + v0;
    0x00002fec sltu a0, a0, v0           |         a0 = (a0 < v0) ? 1 : 0;
    0x00002ff0 bnez a0, 0x2f8c           |         
                                         |     }
    0x00002ff4 nop                       |     
    0x00002ff8 sw v0, (t8)               |     *(t8) = v0;
    0x00002ffc lhu t8, 0x4a(s0)          |     t8 = *((s0 + 37));
    0x00003000 andi t8, t8, 1            |     t8 &= 1;
    0x00003004 sw v1, 0x28(s0)           |     *((s0 + 10)) = v1;
                                         |     if (t8 != 0) {
    0x00003008 beqz t8, 0x305c           |         
                                         |     }
    0x0000305c lbu t8, 0x30(s0)          |     t8 = *((s0 + 48));
    0x00003060 move sp, fp               |     
    0x00003064 lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x00003068 ori t8, t8, 1             |     t8 |= 1;
    0x0000306c lw fp, 0x20(sp)           |     fp = *(var_20h);
    0x00003070 sb t8, 0x30(s0)           |     *((s0 + 48)) = t8;
    0x00003074 lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x00003078 addiu sp, sp, 0x28        |     
    0x0000307c jr ra                     |     return v1;
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x248c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.__dl_runtime_pltresolve ()       | void dl_runtime_pltresolve () {
    0x0000248c lui gp, 2                         |     
    0x00002490 addiu gp, gp, -0x347c             |     
    0x00002494 addu gp, gp, t9                   |     gp += t9;
    0x00002498 addiu sp, sp, -0x38               |     
    0x0000249c sw ra, 0x34(sp)                   |     *(var_34h) = ra;
    0x000024a0 sw fp, 0x30(sp)                   |     *(var_30h) = fp;
    0x000024a4 sw s3, 0x2c(sp)                   |     *(var_2ch) = s3;
    0x000024a8 sw s2, 0x28(sp)                   |     *(var_28h) = s2;
    0x000024ac sw s1, 0x24(sp)                   |     *(var_24h) = s1;
    0x000024b0 sw s0, 0x20(sp)                   |     *(var_20h) = s0;
    0x000024b4 move s0, a0                       |     s0 = a0;
    0x000024b8 lw t8, 0xc4(a0)                   |     t8 = *((a0 + 49));
    0x000024bc move fp, sp                       |     fp = sp;
    0x000024c0 lw v0, 0x80(a0)                   |     v0 = *((a0 + 32));
    0x000024c4 move a2, s0                       |     a2 = s0;
    0x000024c8 addu a1, a1, t8                   |     a1 += t8;
    0x000024cc addiu a3, zero, 1                 |     a3 = 1;
    0x000024d0 lw t8, 4(a1)                      |     t8 = *((a1 + 1));
    0x000024d4 lw s2, 0x7c(a0)                   |     s2 = *((a0 + 31));
    0x000024d8 srl t8, t8, 8                     |     t8 >>= 8;
    0x000024dc lw s3, (a0)                       |     s3 = *(a0);
    0x000024e0 sll t8, t8, 4                     |     t8 <<= 4;
    0x000024e4 lw t9, -0x7f9c(gp)                |     t9 = sym._dl_find_hash;
    0x000024e8 addu t8, t8, v0                   |     t8 += v0;
    0x000024ec lw t8, (t8)                       |     t8 = *(t8);
    0x000024f0 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x000024f4 addu s2, s2, t8                   |     s2 += t8;
    0x000024f8 lw t8, (a1)                       |     t8 = *(a1);
    0x000024fc move a0, s2                       |     a0 = s2;
    0x00002500 addu s3, s3, t8                   |     s3 += t8;
    0x00002504 lw t8, -0x7fb4(gp)                |     t8 = *(gp);
    0x00002508 lw a1, (t8)                       |     a1 = *(t8);
    0x0000250c sw zero, 0x10(sp)                 |     *(var_10h) = 0;
    0x00002510 addiu a1, a1, 0x3c                |     a1 += 0x3c;
    0x00002514 jalr t9                           |     t9 ();
    0x00002518 lw gp, 0x18(fp)                   |     gp = *(var_18h);
    0x0000251c move s1, v0                       |     s1 = v0;
                                                 |     if (v0 == 0) {
    0x00002520 bnez v0, 0x2568                   |         
    0x00002524 lw t8, -0x7f90(gp)                |         t8 = *(gp);
    0x00002528 addiu a0, zero, 2                 |         a0 = 2;
    0x0000252c lw a1, -0x7fe4(gp)                |         a1 = *((gp - 8185));
    0x00002530 move a3, s2                       |         a3 = s2;
    0x00002534 lw a2, (t8)                       |         a2 = *(t8);
    0x00002538 lw t8, 4(s0)                      |         t8 = *((s0 + 1));
    0x0000253c addiu a1, a1, 0x6344              |         a1 += str._s:_cant_resolve_symbol__s_in_lib__s._n;
    0x00002540 lw t9, -0x7f94(gp)                |         t9 = sym._dl_dprintf
    0x00002544 sw t8, 0x10(sp)                   |         *(var_10h) = t8;
    0x00002548 jalr t9                           |         t9 ();
    0x0000254c addiu a0, zero, 1                 |         a0 = 1;
    0x00002550 lw gp, 0x18(fp)                   |         gp = *(var_18h);
    0x00002554 addiu v0, zero, 0xfa1             |         v0 = 0xfa1;
    0x00002558 syscall                           |         __asm ("syscall");
    0x0000255c lw t8, -0x7fdc(gp)                |         t8 = *(gp);
                                                 |         if (a3 == 0) {
    0x00002560 beqz a3, 0x2568                   |             goto label_0;
                                                 |         }
    0x00002564 sw v0, (t8)                       |         *(t8) = v0;
                                                 |     }
                                                 | label_0:
    0x00002568 sw s1, (s3)                       |     *(s3) = s1;
    0x0000256c move sp, fp                       |     
    0x00002570 move v0, s1                       |     v0 = s1;
    0x00002574 lw ra, 0x34(sp)                   |     ra = *(var_34h);
    0x00002578 lw fp, 0x30(sp)                   |     fp = *(var_30h);
    0x0000257c lw s3, 0x2c(sp)                   |     s3 = *(var_2ch);
    0x00002580 lw s2, 0x28(sp)                   |     s2 = *(var_28h);
    0x00002584 lw s1, 0x24(sp)                   |     s1 = *(var_24h);
    0x00002588 lw s0, 0x20(sp)                   |     s0 = *(var_20h);
    0x0000258c addiu sp, sp, 0x38                |     
    0x00002590 jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x237c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.__dl_runtime_resolve ()      | void dl_runtime_resolve () {
    0x0000237c lui gp, 2                     |     
    0x00002380 addiu gp, gp, -0x336c         |     
    0x00002384 addu gp, gp, t9               |     gp += t9;
    0x00002388 addiu sp, sp, -0x40           |     
    0x0000238c sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00002390 sw fp, 0x38(sp)               |     *(var_38h) = fp;
    0x00002394 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x00002398 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0000239c sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x000023a0 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x000023a4 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x000023a8 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x000023ac addiu s1, a1, -0x7ff0         |     s1 = a1 + -0x7ff0;
    0x000023b0 lw a2, 4(s1)                  |     a2 = *((s1 + 1));
    0x000023b4 sll v0, a0, 4                 |     v0 = a0 << 4;
    0x000023b8 lw t9, -0x7f9c(gp)            |     t9 = sym._dl_find_hash;
    0x000023bc move fp, sp                   |     fp = sp;
    0x000023c0 lw t8, 0x80(a2)               |     t8 = *((a2 + 32));
    0x000023c4 move s2, a0                   |     s2 = a0;
    0x000023c8 lw s3, 0x7c(a2)               |     s3 = *((a2 + 31));
    0x000023cc addiu a3, zero, 1             |     a3 = 1;
    0x000023d0 addu t8, v0, t8               |     t8 = v0 + t8;
    0x000023d4 lw t8, (t8)                   |     t8 = *(t8);
    0x000023d8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000023dc addu s3, s3, t8               |     s3 += t8;
    0x000023e0 lw t8, -0x7fb4(gp)            |     t8 = *(gp);
    0x000023e4 move a0, s3                   |     a0 = s3;
    0x000023e8 lw s4, 0xf4(a2)               |     s4 = *((a2 + 61));
    0x000023ec lw a1, (t8)                   |     a1 = *(t8);
    0x000023f0 lw s5, 0xf8(a2)               |     s5 = *((a2 + 62));
    0x000023f4 addiu a1, a1, 0x3c            |     a1 += 0x3c;
    0x000023f8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000023fc jalr t9                       |     t9 ();
    0x00002400 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00002404 move s0, v0                   |     s0 = v0;
                                             |     if (v0 == 0) {
    0x00002408 bnez v0, 0x2448               |         
    0x0000240c lw t8, -0x7f90(gp)            |         t8 = *(gp);
    0x00002410 addiu a0, zero, 2             |         a0 = 2;
    0x00002414 lw a1, -0x7fe4(gp)            |         a1 = *((gp - 8185));
    0x00002418 move a3, s3                   |         a3 = s3;
    0x0000241c lw t9, -0x7f94(gp)            |         t9 = sym._dl_dprintf
    0x00002420 lw a2, (t8)                   |         a2 = *(t8);
    0x00002424 addiu a1, a1, 0x6324          |         a1 += str._s:_cant_resolve_symbol__s_n;
    0x00002428 jalr t9                       |         t9 ();
    0x0000242c addiu a0, zero, 1             |         a0 = 1;
    0x00002430 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00002434 addiu v0, zero, 0xfa1         |         v0 = 0xfa1;
    0x00002438 syscall                       |         __asm ("syscall");
    0x0000243c lw t8, -0x7fdc(gp)            |         t8 = *(gp);
                                             |         if (a3 == 0) {
    0x00002440 beqz a3, 0x2448               |             goto label_0;
                                             |         }
    0x00002444 sw v0, (t8)                   |         *(t8) = v0;
                                             |     }
                                             | label_0:
    0x00002448 subu s4, s5, s4               |     __asm ("subu s4, s5, s4");
    0x0000244c move v0, s0                   |     v0 = s0;
    0x00002450 addu s2, s4, s2               |     s2 = s4 + s2;
    0x00002454 sll s2, s2, 2                 |     s2 <<= 2;
    0x00002458 addu s1, s1, s2               |     s1 += s2;
    0x0000245c sw s0, (s1)                   |     *(s1) = s0;
    0x00002460 move sp, fp                   |     
    0x00002464 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x00002468 lw fp, 0x38(sp)               |     fp = *(var_38h);
    0x0000246c lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x00002470 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00002474 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00002478 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0000247c lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00002480 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00002484 addiu sp, sp, 0x40            |     
    0x00002488 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x35d4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym._dl_add_to_slotinfo ()       | void dl_add_to_slotinfo () {
    0x000035d4 lui gp, 2                     |     
    0x000035d8 addiu gp, gp, -0x45c4         |     
    0x000035dc addu gp, gp, t9               |     gp += t9;
    0x000035e0 addiu sp, sp, -0x30           |     
    0x000035e4 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000035e8 sw fp, 0x28(sp)               |     *(var_28h) = fp;
    0x000035ec sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x000035f0 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x000035f4 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000035f8 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000035fc move fp, sp                   |     fp = sp;
    0x00003600 lw t8, -0x7fc4(gp)            |     t8 = *(gp);
    0x00003604 move s2, a0                   |     s2 = a0;
    0x00003608 lw s1, 0x2c(a0)               |     s1 = *((a0 + 11));
    0x0000360c lw s0, (t8)                   |     s0 = *(t8);
    0x00003610 sw gp, 0x10(sp)               |     *(var_10h) = gp;
                                             |     do {
    0x00003614 lw t8, (s0)                   |         t8 = *(s0);
    0x00003618 sltu v0, s1, t8               |         v0 = (s1 < t8) ? 1 : 0;
                                             |         if (v0 != 0) {
    0x0000361c bnez v0, 0x363c               |             goto label_1;
                                             |         }
    0x00003620 nop                           |         
    0x00003624 subu s1, s1, t8               |         __asm ("subu s1, s1, t8");
    0x00003628 lw t8, 4(s0)                  |         t8 = *((s0 + 1));
    0x0000362c lw t9, -0x7f84(gp)            |         t9 = sym._dl_malloc;
                                             |         if (t8 == 0) {
    0x00003630 beqz t8, 0x3688               |             goto label_2;
                                             |         }
    0x00003634 move s0, t8                   |         s0 = t8;
    0x00003638 b 0x3614                      |         
                                             |     } while (1);
                                             |     do {
                                             | label_1:
    0x0000363c sll t8, s1, 2                 |         t8 = s1 << 2;
    0x00003640 sll s1, s1, 4                 |         s1 <<= 4;
    0x00003644 subu s1, s1, t8               |         __asm ("subu s1, s1, t8");
    0x00003648 lw t8, -0x7f64(gp)            |         t8 = *(gp);
    0x0000364c addu s0, s0, s1               |         s0 += s1;
    0x00003650 sw s2, 0x10(s0)               |         *((s0 + 4)) = s2;
    0x00003654 lw v0, (t8)                   |         v0 = *(t8);
    0x00003658 addiu v0, v0, 1               |         v0++;
    0x0000365c sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
    0x00003660 sw v0, (t8)                   |         *(t8) = v0;
    0x00003664 move sp, fp                   |         
    0x00003668 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x0000366c lw fp, 0x28(sp)               |         fp = *(var_28h);
    0x00003670 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x00003674 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x00003678 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x0000367c lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x00003680 addiu sp, sp, 0x30            |         
    0x00003684 jr ra                         |         return v0;
                                             | label_2:
    0x00003688 addiu a0, zero, 0x2f0         |         a0 = 0x2f0;
    0x0000368c move s3, s0                   |         s3 = s0;
    0x00003690 jalr t9                       |         t9 ();
    0x00003694 lw gp, 0x10(fp)               |         gp = *(var_10h);
    0x00003698 move s0, v0                   |         s0 = v0;
    0x0000369c sw v0, 4(s3)                  |         *((s3 + 1)) = v0;
                                             |         if (v0 == 0) {
    0x000036a0 bnez v0, 0x36e8               |             
    0x000036a4 lw t8, -0x7f64(gp)            |             t8 = *(gp);
    0x000036a8 addiu a0, zero, 2             |             a0 = 2;
    0x000036ac lw a1, -0x7fe4(gp)            |             a1 = *((gp - 8185));
    0x000036b0 lw v0, (t8)                   |             v0 = *(t8);
    0x000036b4 lw t9, -0x7f94(gp)            |             t9 = sym._dl_dprintf
    0x000036b8 addiu a1, a1, 0x6400          |             a1 += str.cannot_create_TLS_data_structures:_ABORT_n;
    0x000036bc addiu v0, v0, 1               |             v0++;
    0x000036c0 sw v0, (t8)                   |             *(t8) = v0;
    0x000036c4 jalr t9                       |             t9 ();
    0x000036c8 addiu a0, zero, 0x7f          |             a0 = 0x7f;
    0x000036cc lw gp, 0x10(fp)               |             gp = *(var_10h);
    0x000036d0 addiu v0, zero, 0xfa1         |             v0 = 0xfa1;
    0x000036d4 syscall                       |             __asm ("syscall");
    0x000036d8 addiu t8, zero, 0x3e          |             t8 = 0x3e;
                                             |             if (a3 == 0) {
    0x000036dc beqz a3, 0x36ec               |                 goto label_3;
                                             |             }
    0x000036e0 lw t8, -0x7fdc(gp)            |             t8 = *(gp);
    0x000036e4 sw v0, (t8)                   |             *(t8) = v0;
                                             |         }
    0x000036e8 addiu t8, zero, 0x3e          |         t8 = 0x3e;
                                             | label_3:
    0x000036ec addiu v0, s0, 0x2f0           |         v0 = s0 + 0x2f0;
    0x000036f0 sw t8, (s0)                   |         *(s0) = t8;
    0x000036f4 addiu t8, s0, 8               |         t8 = s0 + 8;
    0x000036f8 sw zero, 4(s0)                |         *((s0 + 1)) = 0;
                                             | label_0:
    0x000036fc addiu t8, t8, 1               |         t8++;
    0x00003700 beq t8, v0, 0x363c            |         
                                             |     } while (t8 == v0);
    0x00003704 sb zero, -1(t8)               |     *((t8 - 1)) = 0;
    0x00003708 b 0x36fc                      |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x4d9c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym._dl_get_ready_to_run ()      | void dl_get_ready_to_run () {
    0x00004d9c lui gp, 2                     |     
    0x00004da0 addiu gp, gp, -0x5d8c         |     
    0x00004da4 addu gp, gp, t9               |     gp += t9;
    0x00004da8 addiu sp, sp, -0x1a0          |     
    0x00004dac sw ra, 0x19c(sp)              |     *(var_19ch) = ra;
    0x00004db0 sw fp, 0x198(sp)              |     *(var_198h) = fp;
    0x00004db4 sw s7, 0x194(sp)              |     *(var_194h) = s7;
    0x00004db8 sw s6, 0x190(sp)              |     *(var_190h) = s6;
    0x00004dbc sw s5, 0x18c(sp)              |     *(var_18ch) = s5;
    0x00004dc0 sw s4, 0x188(sp)              |     *(var_188h) = s4;
    0x00004dc4 sw s3, 0x184(sp)              |     *(var_184h) = s3;
    0x00004dc8 sw s2, 0x180(sp)              |     *(var_180h) = s2;
    0x00004dcc sw s1, 0x17c(sp)              |     *(var_17ch) = s1;
    0x00004dd0 sw s0, 0x178(sp)              |     *(var_178h) = s0;
    0x00004dd4 move fp, sp                   |     fp = sp;
    0x00004dd8 addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x00004ddc move s1, a2                   |     s1 = a2;
    0x00004de0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00004de4 move s0, t8                   |     s0 = t8;
    0x00004de8 sw a0, 0x1a0(fp)              |     *(arg_1a0h) = a0;
    0x00004dec addiu v0, fp, 0x148           |     v0 = fp + 0x148;
    0x00004df0 sw a3, 0x1ac(fp)              |     *(arg_1ach) = a3;
                                             |     do {
    0x00004df4 addiu t8, t8, 1               |         t8++;
    0x00004df8 sb zero, -1(t8)               |         *(var_20h) = 0;
    0x00004dfc bne t8, v0, 0x4df4            |         
                                             |     } while (t8 != v0);
    0x00004e00 lw v0, 0x34(s1)               |     v0 = *((s1 + 13));
    0x00004e04 addiu t8, zero, 0x1000        |     t8 = 0x1000;
    0x00004e08 lw v1, -0x7fd8(gp)            |     v1 = *((gp - 8182));
                                             |     if (v0 == 0) {
    0x00004e0c movn t8, v0, v0               |         t8 = v0;
                                             |     }
    0x00004e10 lw v0, -0x7f98(gp)            |     v0 = *(gp);
    0x00004e14 sw t8, 0x71d0(v1)             |     *((v1 + 7284)) = t8;
    0x00004e18 sw t8, (v0)                   |     *(v0) = t8;
    0x00004e1c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00004e20 sw zero, 0x71cc(t8)           |     *((t8 + 29132)) = 0;
    0x00004e24 lw t8, 0x1b0(fp)              |     t8 = *(arg_1b0h);
    0x00004e28 lw t8, (t8)                   |     t8 = *(t8);
    0x00004e2c lw v0, -0x7f90(gp)            |     v0 = *(gp);
                                             |     if (t8 != 0) {
    0x00004e30 beqz t8, 0x4e38               |         
    0x00004e34 sw t8, (v0)                   |         *(v0) = t8;
                                             |     }
    0x00004e38 lw v0, 0x4c(s1)               |     v0 = *((s1 + 19));
    0x00004e3c lw t8, -0x7f20(gp)            |     t8 = *(gp);
    0x00004e40 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
                                             |     if (v0 == t8) {
    0x00004e44 bne v0, t8, 0x4e7c            |         
    0x00004e48 lw a1, -0x7fe4(gp)            |         a1 = *((gp - 8185));
    0x00004e4c addiu a0, zero, 2             |         a0 = 2;
    0x00004e50 lw t9, -0x7f94(gp)            |         t9 = sym._dl_dprintf
    0x00004e54 addiu a1, a1, 0x6578          |         a1 += str.Standalone_execution_is_not_enabled_n;
    0x00004e58 jalr t9                       |         t9 ();
    0x00004e5c addiu a0, zero, 1             |         a0 = 1;
    0x00004e60 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00004e64 addiu v0, zero, 0xfa1         |         v0 = 0xfa1;
    0x00004e68 syscall                       |         __asm ("syscall");
    0x00004e6c lw a0, -0x7fe4(gp)            |         a0 = *((gp - 8185));
                                             |         if (a3 == 0) {
    0x00004e70 beqz a3, 0x4e7c               |             goto label_13;
                                             |         }
    0x00004e74 lw t8, -0x7fdc(gp)            |         t8 = *(gp);
    0x00004e78 sw v0, (t8)                   |         *(t8) = v0;
                                             |     }
                                             | label_13:
    0x00004e7c lw t9, -0x7f1c(gp)            |     t9 = sym._dl_getenv;
    0x00004e80 lw a1, 0x1ac(fp)              |     a1 = *(arg_1ach);
    0x00004e84 addiu a0, a0, 0x65a0          |     a0 += str.LD_BIND_NOW;
    0x00004e88 sw zero, 0x154(fp)            |     *(var_154h) = 0;
    0x00004e8c jalr t9                       |     t9 ();
    0x00004e90 addiu t8, zero, 2             |     t8 = 2;
                                             |     if (v0 != 0) {
    0x00004e94 movz t8, zero, v0             |         t8 = 0;
                                             |     }
    0x00004e98 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00004e9c lw v0, 0x5c(s1)               |     v0 = *((s1 + 23));
    0x00004ea0 sw t8, 0x158(fp)              |     *(var_158h) = t8;
    0x00004ea4 addiu t8, zero, -1            |     t8 = -1;
    0x00004ea8 lw ra, -0x7f18(gp)            |     ra = *(gp);
    0x00004eac beq v0, t8, 0x4ec8            |     
                                             |     while (a2 != a1) {
                                             | label_0:
    0x00004eb0 lw t8, 0x5c(s1)               |         t8 = *((s1 + 23));
    0x00004eb4 addiu v0, zero, -1            |         v0 = -1;
    0x00004eb8 lw s2, -0x7fe4(gp)            |         s2 = *((gp - 8185));
                                             |         if (t8 != v0) {
    0x00004ebc bne t8, v0, 0x4f68            |             goto label_14;
                                             |         }
    0x00004ec0 addiu t8, zero, 1             |         t8 = 1;
    0x00004ec4 b 0x4f88                      |         goto label_15;
    0x00004ec8 addiu v0, zero, 0xfb8         |         v0 = 0xfb8;
    0x00004ecc syscall                       |         __asm ("syscall");
    0x00004ed0 move a2, v0                   |         a2 = v0;
                                             |         if (a3 != 0) {
    0x00004ed4 beqz a3, 0x4ee4               |             
    0x00004ed8 lw t8, -0x7fdc(gp)            |             t8 = *(gp);
    0x00004edc addiu a2, zero, -1            |             a2 = -1;
    0x00004ee0 sw v0, (t8)                   |             *(t8) = v0;
                                             |         }
    0x00004ee4 addiu v0, zero, 0xfd1         |         v0 = 0xfd1;
    0x00004ee8 syscall                       |         __asm ("syscall");
    0x00004eec move a1, v0                   |         a1 = v0;
                                             |         if (a3 != 0) {
    0x00004ef0 beqz a3, 0x4f00               |             
    0x00004ef4 lw t8, -0x7fdc(gp)            |             t8 = *(gp);
    0x00004ef8 addiu a1, zero, -1            |             a1 = -1;
    0x00004efc sw v0, (t8)                   |             *(t8) = v0;
                                             |         }
    0x00004f00 addiu v0, zero, 0xfcf         |         v0 = 0xfcf;
    0x00004f04 syscall                       |         __asm ("syscall");
    0x00004f08 move a0, v0                   |         a0 = v0;
                                             |         if (a3 != 0) {
    0x00004f0c beqz a3, 0x4f1c               |             
    0x00004f10 lw t8, -0x7fdc(gp)            |             t8 = *(gp);
    0x00004f14 addiu a0, zero, -1            |             a0 = -1;
    0x00004f18 sw v0, (t8)                   |             *(t8) = v0;
                                             |         }
    0x00004f1c addiu v0, zero, 0xfd2         |         v0 = 0xfd2;
    0x00004f20 syscall                       |         __asm ("syscall");
    0x00004f24 lw t8, -0x7fdc(gp)            |         t8 = *(gp);
                                             |         if (a3 != 0) {
    0x00004f28 beqz a3, 0x4f34               |             
    0x00004f2c sw v0, (t8)                   |             *(t8) = v0;
    0x00004f30 addiu v0, zero, -1            |             v0 = -1;
                                             |         }
    0x00004f34 bne a2, a1, 0x4eb0            |         
                                             |     }
    0x00004f38 nop                           |     
    0x00004f3c lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
                                             |     if (a0 != v0) {
    0x00004f40 bne a0, v0, 0x4eb0            |         goto label_0;
                                             |     }
                                             |     do {
    0x00004f44 lw t9, -0x7f1c(gp)            |         t9 = sym._dl_getenv;
    0x00004f48 lw a1, 0x1ac(fp)              |         a1 = *(arg_1ach);
    0x00004f4c sw zero, (ra)                 |         *(ra) = 0;
    0x00004f50 addiu a0, a0, 0x65ac          |         a0 += 0x65ac;
    0x00004f54 jalr t9                       |         t9 ();
    0x00004f58 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00004f5c lw t8, -0x7f24(gp)            |         t8 = *(gp);
    0x00004f60 sw v0, (t8)                   |         *(t8) = v0;
    0x00004f64 b 0x4fdc                      |         goto label_16;
                                             | label_14:
    0x00004f68 lw v0, 0x64(s1)               |         v0 = *((s1 + 25));
    0x00004f6c addiu t8, zero, 1             |         t8 = 1;
                                             |         if (t8 != v0) {
    0x00004f70 bne t8, v0, 0x4f88            |             goto label_15;
                                             |         }
    0x00004f74 lw v0, 0x6c(s1)               |         v0 = *((s1 + 27));
    0x00004f78 lw t8, 0x74(s1)               |         t8 = *((s1 + 29));
    0x00004f7c lw a0, -0x7fe4(gp)            |         a0 = *((gp - 8185));
    0x00004f80 beq v0, t8, 0x4f44            |         
                                             |     } while (v0 == t8);
    0x00004f84 addiu t8, zero, 1             |     t8 = 1;
                                             | label_15:
    0x00004f88 sw t8, (ra)                   |     *(ra) = t8;
    0x00004f8c addiu s2, s2, 0x6660          |     s2 += str.LD_PRELOAD;
    0x00004f90 lw t9, -0x7f14(gp)            |     t9 = sym._dl_unsetenv;
                                             | label_1:
    0x00004f94 move a0, s2                   |     a0 = s2;
    0x00004f98 lw a1, 0x1ac(fp)              |     a1 = *(arg_1ach);
    0x00004f9c jalr t9                       |     t9 ();
    0x00004fa0 addiu t8, s2, -1              |     t8 = s2 + -1;
    0x00004fa4 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00004fa8 addiu t8, t8, 1               |     t8++;
                                             |     do {
    0x00004fac lbu v0, (t8)                  |         v0 = *(t8);
    0x00004fb0 addiu t8, t8, 1               |         t8++;
    0x00004fb4 bnez v0, 0x4fac               |         
                                             |     } while (v0 != 0);
    0x00004fb8 addiu t8, t8, -1              |     t8 += -1;
    0x00004fbc addiu s2, t8, 1               |     s2 = t8 + 1;
    0x00004fc0 lbu t8, 1(t8)                 |     t8 = *((t8 + 1));
    0x00004fc4 lw t9, -0x7f14(gp)            |     t9 = sym._dl_unsetenv;
                                             |     if (t8 != 0) {
    0x00004fc8 bnez t8, 0x4f94               |         goto label_1;
                                             |     }
    0x00004fcc lw t8, -0x7f24(gp)            |     t8 = *(gp);
    0x00004fd0 addiu v0, zero, 2             |     v0 = 2;
    0x00004fd4 sw v0, 0x158(fp)              |     *(var_158h) = v0;
    0x00004fd8 sw zero, (t8)                 |     *(t8) = 0;
                                             | label_16:
    0x00004fdc lw v0, -0x7f10(gp)            |     v0 = sym._dl_initial_error_catch_tsd;
    0x00004fe0 addiu a1, zero, 6             |     a1 = 6;
    0x00004fe4 lw t8, -0x7f0c(gp)            |     t8 = *(gp);
    0x00004fe8 lw v1, 0x1c(s1)               |     v1 = *((s1 + 7));
    0x00004fec sw v0, (t8)                   |     *(t8) = v0;
    0x00004ff0 lw v0, -0x7f08(gp)            |     v0 = *((gp - 8130));
    0x00004ff4 lw t8, -0x7f60(gp)            |     t8 = *(gp);
    0x00004ff8 lw a0, 0x2c(s1)               |     a0 = *((s1 + 11));
    0x00004ffc sw v0, (t8)                   |     *(t8) = v0;
    0x00005000 move t8, v1                   |     t8 = v1;
    0x00005004 move v0, zero                 |     v0 = 0;
                                             |     do {
    0x00005008 lw s6, -0x7fe4(gp)            |         s6 = *((gp - 8185));
                                             |         if (v0 == a0) {
    0x0000500c beq v0, a0, 0x5034            |             goto label_17;
                                             |         }
    0x00005010 lw a2, (t8)                   |         a2 = *(t8);
    0x00005014 addiu v0, v0, 1               |         v0++;
                                             |         if (a2 == a1) {
    0x00005018 bne a2, a1, 0x502c            |             
    0x0000501c lw t8, 8(t8)                  |             t8 = *((t8 + 2));
    0x00005020 subu v1, v1, t8               |             __asm ("subu v1, v1, t8");
    0x00005024 sw v1, 0x20(fp)               |             *(var_20h) = v1;
    0x00005028 b 0x5034                      |             
                                             |         } else {
    0x0000502c addiu t8, t8, 0x20            |             t8 += 0x20;
    0x00005030 b 0x5008                      |             
                                             |         } while (1);
                                             |     }
                                             | label_17:
    0x00005034 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00005038 move s3, zero                 |     s3 = 0;
    0x0000503c addiu s6, s6, 0x2eec          |     s6 += fcn.00002eec;
    0x00005040 move t9, s6                   |     t9 = s6;
    0x00005044 move s5, zero                 |     s5 = 0;
    0x00005048 jalr t9                       |     t9 ();
    0x0000504c lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005050 move s4, v0                   |     s4 = v0;
    0x00005054 lw s2, 0x1c(s1)               |     s2 = *((s1 + 7));
    0x00005058 lw s6, -0x7fb4(gp)            |     s6 = *(gp);
    0x0000505c sw zero, 0x160(fp)            |     *(var_160h) = 0;
    0x00005060 sw zero, 0x15c(fp)            |     *(var_15ch) = 0;
                                             | label_2:
    0x00005064 lw t8, 0x2c(s1)               |     t8 = *((s1 + 11));
    0x00005068 sltu t8, s3, t8               |     t8 = (s3 < t8) ? 1 : 0;
    0x0000506c lui v0, 0x6474                |     v0 = 0x64740000;
                                             |     if (t8 == 0) {
    0x00005070 beqz t8, 0x52ec               |         goto label_18;
                                             |     }
    0x00005074 lw t8, (s2)                   |     t8 = *(s2);
    0x00005078 ori v0, v0, 0xe552            |     v0 |= 0xe552;
                                             |     if (t8 == v0) {
    0x0000507c bne t8, v0, 0x5094            |         
    0x00005080 nop                           |         
    0x00005084 lw v1, 8(s2)                  |         v1 = *((s2 + 2));
    0x00005088 lw t9, 0x14(s2)               |         t9 = *((s2 + 5));
    0x0000508c sw v1, 0x15c(fp)              |         *(var_15ch) = v1;
    0x00005090 sw t9, 0x160(fp)              |         *(var_160h) = t9;
                                             |     }
    0x00005094 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (s5 == 0) {
    0x00005098 bnez s5, 0x50b8               |         
    0x0000509c addiu v0, zero, 1             |         v0 = 1;
    0x000050a0 addiu v0, zero, 2             |         v0 = 2;
                                             |         if (t8 != v0) {
    0x000050a4 bne t8, v0, 0x50b8            |             goto label_19;
                                             |         }
    0x000050a8 lw s5, 8(s2)                  |         s5 = *((s2 + 2));
    0x000050ac lw t8, (s0)                   |         t8 = *(s0);
    0x000050b0 addu s5, s5, t8               |         s5 += t8;
    0x000050b4 b 0x525c                      |         goto label_20;
                                             |     }
                                             | label_19:
    0x000050b8 addiu s7, s0, 0x68            |     s7 = s0 + 0x68;
                                             |     if (t8 != v0) {
    0x000050bc bne t8, v0, 0x525c            |         goto label_20;
                                             |     }
    0x000050c0 lw a3, (s0)                   |     a3 = *(s0);
    0x000050c4 lw a0, 8(s2)                  |     a0 = *((s2 + 2));
    0x000050c8 move a1, s7                   |     a1 = s7;
    0x000050cc lw t9, -0x7f3c(gp)            |     t9 = sym._dl_parse_dynamic_info;
    0x000050d0 move a2, s4                   |     a2 = s4;
    0x000050d4 addu a0, a3, a0               |     a0 = a3 + a0;
    0x000050d8 jalr t9                       |     t9 ();
    0x000050dc lw t8, 0xc0(s0)               |     t8 = *(var_c0h);
    0x000050e0 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             |     if (t8 == 0) {
    0x000050e4 beqz t8, 0x5168               |         goto label_21;
                                             |     }
    0x000050e8 lw ra, 0x1c(s1)               |     ra = *((s1 + 7));
    0x000050ec move s3, zero                 |     s3 = 0;
                                             |     do {
    0x000050f0 lw t8, 0x2c(s1)               |         t8 = *((s1 + 11));
    0x000050f4 sltu t8, s3, t8               |         t8 = (s3 < t8) ? 1 : 0;
    0x000050f8 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (t8 == 0) {
    0x000050fc beqz t8, 0x5168               |             goto label_21;
                                             |         }
    0x00005100 lw t8, (ra)                   |         t8 = *(ra);
                                             |         if (t8 == v0) {
    0x00005104 bne t8, v0, 0x515c            |             
    0x00005108 nop                           |             
    0x0000510c lw t8, 0x18(ra)               |             t8 = *((ra + 6));
    0x00005110 andi t8, t8, 2                |             t8 &= 2;
    0x00005114 lw v1, -0x7f98(gp)            |             v1 = *(gp);
                                             |             if (t8 != 0) {
    0x00005118 bnez t8, 0x515c               |                 goto label_22;
                                             |             }
    0x0000511c addiu a2, zero, 7             |             a2 = 7;
    0x00005120 lw v0, 8(ra)                  |             v0 = *((ra + 2));
    0x00005124 lw a0, (v1)                   |             a0 = *(v1);
    0x00005128 lw t8, (s0)                   |             t8 = *(s0);
    0x0000512c addiu a1, a0, -1              |             a1 = a0 + -1;
    0x00005130 negu a0, a0                   |             __asm ("negu a0, a0");
    0x00005134 addu t8, v0, t8               |             t8 = v0 + t8;
    0x00005138 lw v0, 0x10(ra)               |             v0 = *((ra + 4));
    0x0000513c and a1, t8, a1                |             a1 = t8 & a1;
    0x00005140 and a0, t8, a0                |             a0 = t8 & a0;
    0x00005144 addu a1, a1, v0               |             a1 += v0;
    0x00005148 addiu v0, zero, 0x101d        |             v0 = 0x101d;
    0x0000514c syscall                       |             __asm ("syscall");
    0x00005150 lw t8, -0x7fdc(gp)            |             t8 = *(gp);
                                             |             if (a3 == 0) {
    0x00005154 beqz a3, 0x515c               |                 goto label_22;
                                             |             }
    0x00005158 sw v0, (t8)                   |             *(t8) = v0;
                                             |         }
                                             | label_22:
    0x0000515c addiu s3, s3, 1               |         s3++;
    0x00005160 addiu ra, ra, 0x20            |         ra += 0x20;
    0x00005164 b 0x50f0                      |         
                                             |     } while (1);
                                             | label_21:
    0x00005168 lw t8, 0x10(s2)               |     t8 = *((s2 + 4));
    0x0000516c move a2, s7                   |     a2 = s7;
    0x00005170 lw t9, -0x7f90(gp)            |     t9 = *(gp);
    0x00005174 lw a1, (s0)                   |     a1 = *(s0);
    0x00005178 lw a3, 8(s2)                  |     a3 = *((s2 + 2));
    0x0000517c sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x00005180 lw a0, (t9)                   |     a0 = *(t9);
    0x00005184 lw t9, -0x7f44(gp)            |     t9 = sym._dl_add_elf_hash_table;
    0x00005188 addu a3, a1, a3               |     a3 = a1 + a3;
    0x0000518c jalr t9                       |     t9 ();
    0x00005190 addiu a0, zero, 0x18          |     a0 = 0x18;
    0x00005194 lw t8, (s6)                   |     t8 = *(s6);
    0x00005198 move s0, v0                   |     s0 = v0;
    0x0000519c addiu v0, zero, 1             |     v0 = 1;
    0x000051a0 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x000051a4 sw v0, 0x38(t8)               |     *((t8 + 56)) = v0;
    0x000051a8 lw v0, 0x1c(s1)               |     v0 = *((s1 + 7));
    0x000051ac lw t9, -0x7fe4(gp)            |     t9 = *((gp - 8185));
    0x000051b0 sw v0, 0x108(t8)              |     *(t8) = v0;
    0x000051b4 lw v0, 0x2c(s1)               |     v0 = *((s1 + 11));
    0x000051b8 addiu t9, t9, 0x2eec          |     t9 += fcn.00002eec;
    0x000051bc sw v0, 0x104(t8)              |     *((t8 + 260)) = v0;
    0x000051c0 jalr t9                       |     t9 ();
    0x000051c4 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x000051c8 lw t8, (s6)                   |     t8 = *(s6);
    0x000051cc lw v1, -0x7f04(gp)            |     v1 = *(gp);
    0x000051d0 lw t9, 0x158(fp)              |     t9 = *(var_158h);
    0x000051d4 sw v0, 0x154(fp)              |     *(var_154h) = v0;
    0x000051d8 sw v0, (v1)                   |     *(v1) = v0;
    0x000051dc sw t8, (v0)                   |     *(v0) = t8;
    0x000051e0 ori v0, t9, 4                 |     v0 = t9 | 4;
    0x000051e4 sw v0, 0x4c(s0)               |     *((s0 + 19)) = v0;
    0x000051e8 lhu v0, 0x48(s0)              |     v0 = *((s0 + 36));
    0x000051ec sw s5, 0x34(s0)               |     *((s0 + 13)) = s5;
    0x000051f0 addiu v0, v0, 1               |     v0++;
    0x000051f4 sh v0, 0x48(s0)               |     *((s0 + 36)) = v0;
    0x000051f8 lw v0, 0x74(s0)               |     v0 = *((s0 + 29));
    0x000051fc addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == 0) {
    0x00005200 beqz v0, 0x525c               |         goto label_20;
                                             |     }
    0x00005204 lw a0, 0x38(t8)               |     a0 = *((t8 + 14));
    0x00005208 lw v1, -0x7f34(gp)            |     v1 = sym._dl_runtime_resolve;
                                             |     if (a0 == v1) {
    0x0000520c beq a0, v1, 0x525c            |         goto label_20;
                                             |     }
    0x00005210 sw t8, 4(v0)                  |     *((v0 + 1)) = t8;
    0x00005214 sw v1, (v0)                   |     *(v0) = v1;
    0x00005218 lw v1, 0x100(t8)              |     v1 = *((t8 + 64));
    0x0000521c lw a0, -0x7f30(gp)            |     a0 = sym._dl_runtime_pltresolve;
                                             |     if (v1 != 0) {
    0x00005220 beqz v1, 0x522c               |         
    0x00005224 sw t8, 4(v1)                  |         *((v1 + 1)) = t8;
    0x00005228 sw a0, (v1)                   |         *(v1) = a0;
                                             |     }
    0x0000522c addiu v0, v0, 8               |     v0 += 8;
    0x00005230 addiu v1, zero, 2             |     v1 = 2;
                                             |     do {
    0x00005234 lw a0, 0xf8(t8)               |         a0 = *((t8 + 62));
    0x00005238 sltu a0, v1, a0               |         a0 = (v1 < a0) ? 1 : 0;
    0x0000523c addiu v1, v1, 1               |         v1++;
                                             |         if (a0 == 0) {
    0x00005240 beqz a0, 0x525c               |             goto label_20;
                                             |         }
    0x00005244 lw a1, (v0)                   |         a1 = *(v0);
    0x00005248 lw a0, (t8)                   |         a0 = *(t8);
    0x0000524c addiu v0, v0, 4               |         v0 += 4;
    0x00005250 addu a0, a1, a0               |         a0 = a1 + a0;
    0x00005254 sw a0, -4(v0)                 |         *((v0 - 1)) = a0;
    0x00005258 b 0x5234                      |         
                                             |     } while (1);
                                             | label_20:
    0x0000525c lw t8, (s2)                   |     t8 = *(s2);
    0x00005260 addiu v0, zero, 3             |     v0 = 3;
    0x00005264 addiu v0, zero, 7             |     v0 = 7;
                                             |     if (t8 == v0) {
    0x00005268 bne t8, v0, 0x5284            |         
    0x0000526c lw v0, 8(s2)                  |         v0 = *((s2 + 2));
    0x00005270 lw t8, (s0)                   |         t8 = *(s0);
    0x00005274 addu t8, v0, t8               |         t8 = v0 + t8;
    0x00005278 lw v0, 0x1a0(fp)              |         v0 = *(arg_1a0h);
    0x0000527c sw t8, 4(v0)                  |         *((v0 + 1)) = t8;
    0x00005280 b 0x52e0                      |         
                                             |     } else {
    0x00005284 addiu s3, s3, 1               |         s3++;
                                             |         if (t8 != v0) {
    0x00005288 bne t8, v0, 0x52e4            |             goto label_23;
                                             |         }
    0x0000528c lw t8, 0x14(s2)               |         t8 = *((s2 + 5));
    0x00005290 addiu s3, s3, -1              |         s3 += -1;
                                             |         if (t8 == 0) {
    0x00005294 beqz t8, 0x52ec               |             goto label_18;
                                             |         }
    0x00005298 sw t8, 0x1c(s0)               |         *(var_1ch_2) = t8;
    0x0000529c lw t8, 0x1c(s2)               |         t8 = *((s2 + 7));
    0x000052a0 lw v0, 8(s2)                  |         v0 = *((s2 + 2));
    0x000052a4 sw t8, 0x20(s0)               |         *(var_20h_2) = t8;
                                             |         if (t8 == 0) {
    0x000052a8 bnez t8, 0x52b4               |             
    0x000052ac sw zero, 0x24(s0)             |             *(var_24h) = 0;
    0x000052b0 b 0x52c0                      |             
                                             |         } else {
    0x000052b4 addiu t8, t8, -1              |             t8 += -1;
    0x000052b8 and t8, t8, v0                |             t8 &= v0;
    0x000052bc sw t8, 0x24(s0)               |             *(var_24h) = t8;
                                             |         }
    0x000052c0 lw t8, 0x10(s2)               |         t8 = *((s2 + 4));
    0x000052c4 sw v0, 0x14(s0)               |         *(var_14h) = v0;
    0x000052c8 lw v0, -0x7fcc(gp)            |         v0 = *(gp);
    0x000052cc sw t8, 0x18(s0)               |         *(var_18h_3) = t8;
    0x000052d0 addiu t8, zero, 1             |         t8 = 1;
    0x000052d4 sw t8, 0x2c(s0)               |         *(var_2ch) = t8;
    0x000052d8 sw t8, (v0)                   |         *(v0) = t8;
    0x000052dc b 0x52ec                      |         goto label_18;
                                             |     }
    0x000052e0 addiu s3, s3, 1               |     s3++;
                                             | label_23:
    0x000052e4 addiu s2, s2, 0x20            |     s2 += 0x20;
    0x000052e8 b 0x5064                      |     goto label_2;
                                             | label_18:
    0x000052ec lw t8, 0x160(fp)              |     t8 = *(var_160h);
    0x000052f0 lw v1, 0x15c(fp)              |     v1 = *(var_15ch);
    0x000052f4 sw t8, 0x110(s0)              |     *(var_110h) = t8;
    0x000052f8 lw t8, 0x14(s0)               |     t8 = *(var_14h);
    0x000052fc sw v1, 0x10c(s0)              |     *(var_10ch) = v1;
                                             |     if (t8 != 0) {
    0x00005300 beqz t8, 0x5310               |         
    0x00005304 lw v0, (s0)                   |         v0 = *(s0);
    0x00005308 addu t8, t8, v0               |         t8 += v0;
    0x0000530c sw t8, 0x14(s0)               |         *(var_14h) = t8;
                                             |     }
    0x00005310 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
    0x00005314 move s5, zero                 |     s5 = 0;
    0x00005318 lw t9, -0x7f1c(gp)            |     t9 = sym._dl_getenv;
    0x0000531c lw a1, 0x1ac(fp)              |     a1 = *(arg_1ach);
    0x00005320 addiu a0, a0, 0x65bc          |     a0 += 0x65bc;
    0x00005324 jalr t9                       |     t9 ();
    0x00005328 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0000532c beqz v0, 0x5364               |         
    0x00005330 lw a1, -0x7fe4(gp)            |         a1 = *((gp - 8185));
    0x00005334 addiu a0, zero, 2             |         a0 = 2;
    0x00005338 lw t9, -0x7f94(gp)            |         t9 = sym._dl_dprintf
    0x0000533c addiu a1, a1, 0x663c          |         a1 += str.Use_the_ldd_provided_by_uClibc_n;
    0x00005340 jalr t9                       |         t9 ();
    0x00005344 addiu a0, zero, 1             |         a0 = 1;
    0x00005348 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x0000534c addiu v0, zero, 0xfa1         |         v0 = 0xfa1;
    0x00005350 syscall                       |         __asm ("syscall");
    0x00005354 addiu s5, zero, 1             |         s5 = 1;
                                             |         if (a3 == 0) {
    0x00005358 beqz a3, 0x5364               |             goto label_24;
                                             |         }
    0x0000535c lw t8, -0x7fdc(gp)            |         t8 = *(gp);
    0x00005360 sw v0, (t8)                   |         *(t8) = v0;
                                             |     }
                                             | label_24:
    0x00005364 lw s2, -0x7fb4(gp)            |     s2 = *(gp);
    0x00005368 addiu t8, zero, 1             |     t8 = 1;
    0x0000536c lw t9, 0x158(fp)              |     t9 = *(var_158h);
    0x00005370 move s0, zero                 |     s0 = 0;
    0x00005374 lw s6, 0x3c(s1)               |     s6 = *((s1 + 15));
    0x00005378 lw s3, (s2)                   |     s3 = *(s2);
    0x0000537c ori t9, t9, 4                 |     t9 |= 4;
    0x00005380 sw t8, (s4)                   |     *(s4) = t8;
    0x00005384 lw v1, -0x7f00(gp)            |     v1 = sym._dl_debug_state;
    0x00005388 lw v0, -0x7efc(gp)            |     v0 = *(gp);
    0x0000538c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00005390 sw s3, 4(s4)                  |     *((s4 + 1)) = s3;
    0x00005394 sw s6, 0x10(s4)               |     *((s4 + 4)) = s6;
    0x00005398 sw v1, 8(s4)                  |     *((s4 + 2)) = v1;
    0x0000539c sw s4, (v0)                   |     *(v0) = s4;
    0x000053a0 sw zero, 0x71c0(t8)           |     *((t8 + 29120)) = 0;
    0x000053a4 sw t9, 0x15c(fp)              |     *(var_15ch) = t9;
                                             | label_4:
    0x000053a8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (s3 == 0) {
    0x000053ac beqz s3, 0x5554               |         goto label_25;
                                             |     }
    0x000053b0 lw s4, 8(s3)                  |     s4 = *((s3 + 2));
    0x000053b4 lw t8, 0x71c0(v0)             |     t8 = *((v0 + 7280));
    0x000053b8 nop                           |     
    0x000053bc sw t8, 0x71c0(v0)             |     *((v0 + 7280)) = t8;
                                             | label_3:
    0x000053c0 lw t8, (s4)                   |     t8 = *(s4);
    0x000053c4 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (t8 == 0) {
    0x000053c8 beqz t8, 0x554c               |         goto label_26;
                                             |     }
    0x000053cc nop                           |     
    0x000053d0 nop                           |     
    0x000053d4 lw t8, 0x7c(s3)               |     t8 = *((s3 + 31));
    0x000053d8 lw v1, 4(s4)                  |     v1 = *((s4 + 1));
    0x000053dc addu v1, v1, t8               |     v1 += t8;
    0x000053e0 addiu t8, v1, -1              |     t8 = v1 + -1;
    0x000053e4 addiu t8, t8, 1               |     t8++;
                                             |     do {
    0x000053e8 lbu v0, (t8)                  |         v0 = *(t8);
    0x000053ec addiu t8, t8, 1               |         t8++;
    0x000053f0 bnez v0, 0x53e8               |         
                                             |     } while (v0 != 0);
    0x000053f4 addiu t8, t8, -1              |     t8 += -1;
    0x000053f8 addiu v0, zero, 0x2f          |     v0 = 0x2f;
                                             |     do {
    0x000053fc addiu a0, zero, 0x2f          |         a0 = 0x2f;
                                             |         if (t8 == v1) {
    0x00005400 beq t8, v1, 0x541c            |             goto label_27;
                                             |         }
    0x00005404 addiu t8, t8, -1              |         t8 += -1;
    0x00005408 lbu a0, (t8)                  |         a0 = *(t8);
    0x0000540c addiu a0, zero, 0x2f          |         a0 = 0x2f;
                                             |         if (a0 != v0) {
    0x00005410 bne a0, v0, 0x541c            |             goto label_27;
                                             |         }
    0x00005414 sb zero, (t8)                 |         *(t8) = 0;
    0x00005418 b 0x53fc                      |         
                                             |     } while (1);
                                             |     do {
                                             | label_27:
    0x0000541c lw t9, -0x7fe4(gp)            |         t9 = *((gp - 8185));
                                             |         if (t8 == v1) {
    0x00005420 beq t8, v1, 0x5444            |             goto label_28;
                                             |         }
    0x00005424 lbu a1, -1(t8)                |         a1 = *((t8 - 1));
    0x00005428 addiu v0, t8, -1              |         v0 = t8 + -1;
                                             |         if (a1 == a0) {
    0x0000542c beq a1, a0, 0x5438            |             goto label_29;
                                             |         }
    0x00005430 move t8, v0                   |         t8 = v0;
    0x00005434 b 0x541c                      |         
                                             |     } while (1);
                                             | label_29:
    0x00005438 xor v0, v0, v1                |     v0 ^= v1;
                                             |     if (v0 != 0) {
    0x0000543c movz t8, v1, v0               |         t8 = v1;
                                             |     }
    0x00005440 lw t9, -0x7fe4(gp)            |     t9 = *((gp - 8185));
                                             | label_28:
    0x00005444 addiu t8, t8, -1              |     t8 += -1;
    0x00005448 addiu a1, t9, 0x6567          |     a1 = t9 + 0x6567;
    0x0000544c addiu t8, t8, 1               |     t8++;
                                             |     do {
    0x00005450 addiu a1, a1, 1               |         a1++;
    0x00005454 lbu a0, (t8)                  |         a0 = *(t8);
    0x00005458 lbu v0, (a1)                  |         v0 = *(a1);
                                             |         if (a0 == 0) {
    0x0000545c bnez a0, 0x5468               |             
    0x00005460 negu v0, v0                   |             __asm ("negu v0, v0");
    0x00005464 b 0x5478                      |             goto label_30;
                                             |         }
    0x00005468 addiu t8, t8, 1               |         t8++;
    0x0000546c beq a0, v0, 0x5450            |         
                                             |     } while (a0 == v0);
    0x00005470 addiu t8, t8, -1              |     t8 += -1;
    0x00005474 subu v0, a0, v0               |     __asm ("subu v0, a0, v0");
                                             | label_30:
    0x00005478 lw t9, -0x7ef8(gp)            |     t9 = sym._dl_load_shared_library;
                                             |     if (v0 == 0) {
    0x0000547c bnez v0, 0x54bc               |         
    0x00005480 lw v0, -0x7fe4(gp)            |         v0 = *((gp - 8185));
                                             |         if (s0 == 0) {
    0x00005484 bnez s0, 0x54a8               |             
    0x00005488 move a1, s6                   |             a1 = s6;
    0x0000548c lw a0, 0x1a0(fp)              |             a0 = *(arg_1a0h);
    0x00005490 move a2, s1                   |             a2 = s1;
    0x00005494 addiu t9, v0, 0x3b4c          |             t9 = v0 + fcn.00003b4c;
    0x00005498 lw a3, 0x154(fp)              |             a3 = *(var_154h);
    0x0000549c jalr t9                       |             t9 ();
    0x000054a0 lw gp, 0x18(fp)               |             gp = *(var_18h);
    0x000054a4 move s0, v0                   |             s0 = v0;
                                             |         }
    0x000054a8 lhu t8, 0x48(s0)              |         t8 = *((s0 + 36));
    0x000054ac move s7, s0                   |         s7 = s0;
    0x000054b0 addiu t8, t8, 1               |         t8++;
    0x000054b4 sh t8, 0x48(s0)               |         *((s0 + 36)) = t8;
    0x000054b8 b 0x5524                      |         
                                             |     } else {
    0x000054bc move a3, v1                   |         a3 = v1;
    0x000054c0 sw v1, 0x164(fp)              |         *(var_164h) = v1;
    0x000054c4 move a0, zero                 |         a0 = 0;
    0x000054c8 sw s5, 0x10(sp)               |         *(var_10h) = s5;
    0x000054cc addiu a1, fp, 0x154           |         a1 = fp + 0x154;
    0x000054d0 move a2, s3                   |         a2 = s3;
    0x000054d4 jalr t9                       |         t9 ();
    0x000054d8 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x000054dc move s7, v0                   |         s7 = v0;
    0x000054e0 lw v1, 0x164(fp)              |         v1 = *(var_164h);
                                             |         if (v0 != 0) {
    0x000054e4 bnez v0, 0x5524               |             goto label_31;
                                             |         }
    0x000054e8 lw t8, -0x7f90(gp)            |         t8 = *(gp);
    0x000054ec addiu a0, zero, 2             |         a0 = 2;
    0x000054f0 lw a1, -0x7fe4(gp)            |         a1 = *((gp - 8185));
    0x000054f4 move a3, v1                   |         a3 = v1;
    0x000054f8 lw t9, -0x7f94(gp)            |         t9 = sym._dl_dprintf
    0x000054fc lw a2, (t8)                   |         a2 = *(t8);
    0x00005500 addiu a1, a1, 0x65d4          |         a1 += str._s:_cant_load_library__s_n;
    0x00005504 jalr t9                       |         t9 ();
    0x00005508 addiu a0, zero, 0x10          |         a0 = 0x10;
    0x0000550c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00005510 addiu v0, zero, 0xfa1         |         v0 = 0xfa1;
    0x00005514 syscall                       |         __asm ("syscall");
    0x00005518 lw t8, -0x7fdc(gp)            |         t8 = *(gp);
                                             |         if (a3 == 0) {
    0x0000551c beqz a3, 0x5524               |             goto label_31;
                                             |         }
    0x00005520 sw v0, (t8)                   |         *(t8) = v0;
                                             |     }
                                             | label_31:
    0x00005524 addiu sp, sp, -0x10           |     
    0x00005528 lw v0, 0x58(s3)               |     v0 = *((s3 + 22));
    0x0000552c addiu t8, sp, 0x18            |     t8 = sp + 0x18;
    0x00005530 lw v1, 0x15c(fp)              |     v1 = *(var_15ch);
    0x00005534 sw s7, 0x1c(sp)               |     *(var_1ch) = s7;
    0x00005538 sw v0, 0x18(sp)               |     *(var_18h_2) = v0;
    0x0000553c sw t8, 0x58(s3)               |     *((s3 + 22)) = t8;
    0x00005540 sw v1, 0x4c(s7)               |     *((s7 + 19)) = v1;
    0x00005544 addiu s4, s4, 8               |     s4 += 8;
    0x00005548 b 0x53c0                      |     goto label_3;
                                             | label_26:
    0x0000554c lw s3, 0xc(s3)                |     s3 = *((s3 + 3));
    0x00005550 b 0x53a8                      |     goto label_4;
                                             | label_25:
    0x00005554 lw s4, (s2)                   |     s4 = *(s2);
    0x00005558 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x0000555c lw v0, 0x38(s4)               |     v0 = *((s4 + 14));
    0x00005560 lw s3, 0x71c0(t8)             |     s3 = *((t8 + 7280));
    0x00005564 addiu t8, zero, 1             |     t8 = 1;
    0x00005568 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
                                             |     if (v0 == t8) {
    0x0000556c bne v0, t8, 0x5580            |         
    0x00005570 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00005574 addiu v0, s3, -1              |         v0 = s3 + -1;
    0x00005578 lw s4, 0xc(s4)                |         s4 = *((s4 + 3));
    0x0000557c sw v0, 0x71c0(t8)             |         *((t8 + 29120)) = v0;
                                             |     }
    0x00005580 lw a0, 0x71c0(t9)             |     a0 = *((t9 + 7280));
    0x00005584 lw t9, -0x7f84(gp)            |     t9 = sym._dl_malloc;
    0x00005588 sll a0, a0, 2                 |     a0 <<= 2;
    0x0000558c jalr t9                       |     t9 ();
    0x00005590 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005594 move t8, v0                   |     t8 = v0;
    0x00005598 lw v1, -0x7fd8(gp)            |     v1 = *((gp - 8182));
    0x0000559c sw v0, 0x71c8(v1)             |     *((v1 + 7282)) = v0;
                                             |     if (s4 == 0) {
                                             |         do {
    0x000055a0 beqz s4, 0x55b8               |             goto label_32;
                                             |         }
    0x000055a4 nop                           |         
    0x000055a8 sw s4, (t8)                   |         *(t8) = s4;
    0x000055ac addiu t8, t8, 4               |         t8 += 4;
    0x000055b0 lw s4, 0xc(s4)                |         s4 = *((s4 + 3));
    0x000055b4 b 0x55a0                      |         
                                             |     } while (1);
                                             | label_32:
    0x000055b8 lw t8, (s2)                   |     t8 = *(s2);
    0x000055bc lw v1, 0xc(t8)                |     v1 = *((t8 + 3));
    0x000055c0 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x000055c4 lw t1, 0x71c0(t8)             |     t1 = *((t8 + 7280));
                                             | label_8:
    0x000055c8 move t8, zero                 |     t8 = 0;
                                             |     if (v1 == 0) {
    0x000055cc beqz v1, 0x5658               |         goto label_33;
                                             |     }
                                             |     do {
    0x000055d0 sll a0, t8, 2                 |         a0 = t8 << 2;
    0x000055d4 addu a0, v0, a0               |         a0 = v0 + a0;
    0x000055d8 lw a1, (a0)                   |         a1 = *(a0);
    0x000055dc addiu a0, t8, 1               |         a0 = t8 + 1;
                                             |         if (a1 == v1) {
    0x000055e0 beq a1, v1, 0x5600            |             goto label_34;
                                             |         }
    0x000055e4 move t8, a0                   |         t8 = a0;
    0x000055e8 b 0x55d0                      |         
                                             |     } while (1);
                                             | label_5:
    0x000055ec sll a1, t8, 2                 |     a1 = t8 << 2;
    0x000055f0 addiu t8, t8, 1               |     t8++;
    0x000055f4 addu a1, v0, a1               |     a1 = v0 + a1;
    0x000055f8 sw a3, (a1)                   |     *(a1) = a3;
                                             |     do {
    0x000055fc addiu a0, a0, 1               |         a0++;
                                             | label_34:
    0x00005600 sltu a1, a0, t1               |         a1 = (a0 < t1) ? 1 : 0;
    0x00005604 sll t0, a0, 2                 |         t0 = a0 << 2;
                                             |         if (a1 == 0) {
    0x00005608 beqz a1, 0x5650               |             goto label_35;
                                             |         }
    0x0000560c addu a1, v0, t0               |         a1 = v0 + t0;
    0x00005610 lw a3, (a1)                   |         a3 = *(a1);
    0x00005614 lw a1, 0x58(a3)               |         a1 = *((a3 + 22));
                                             | label_7:
    0x00005618 beqz a1, 0x55fc               |         
                                             |     } while (a1 == 0);
    0x0000561c nop                           |     
    0x00005620 lw a2, 4(a1)                  |     a2 = *((a1 + 1));
    0x00005624 subu a2, a0, t8               |     __asm ("subu a2, a0, t8");
                                             |     if (a2 != v1) {
    0x00005628 bne a2, v1, 0x5648            |         goto label_36;
                                             |     }
    0x0000562c addu a1, v0, t0               |     a1 = v0 + t0;
                                             | label_6:
    0x00005630 addiu a1, a1, -4              |     a1 += -4;
                                             |     if (a2 == 0) {
    0x00005634 beqz a2, 0x55ec               |         goto label_5;
                                             |     }
    0x00005638 lw t0, (a1)                   |     t0 = *(a1);
    0x0000563c addiu a2, a2, -1              |     a2 += -1;
    0x00005640 sw t0, 4(a1)                  |     *((a1 + 1)) = t0;
    0x00005644 b 0x5630                      |     goto label_6;
                                             | label_36:
    0x00005648 lw a1, (a1)                   |     a1 = *(a1);
    0x0000564c b 0x5618                      |     goto label_7;
                                             | label_35:
    0x00005650 lw v1, 0xc(v1)                |     v1 = *((v1 + 3));
    0x00005654 b 0x55c8                      |     goto label_8;
                                             | label_33:
    0x00005658 addiu t8, zero, 3             |     t8 = 3;
                                             |     if (s0 == 0) {
    0x0000565c bnez s0, 0x5698               |         
    0x00005660 lw t9, -0x7fe4(gp)            |         t9 = *((gp - 8185));
    0x00005664 move a1, s6                   |         a1 = s6;
    0x00005668 lw a0, 0x1a0(fp)              |         a0 = *(arg_1a0h);
    0x0000566c move a2, s1                   |         a2 = s1;
    0x00005670 lw a3, 0x154(fp)              |         a3 = *(var_154h);
    0x00005674 addiu t9, t9, 0x3b4c          |         t9 += fcn.00003b4c;
    0x00005678 addiu s3, s3, 1               |         s3++;
    0x0000567c jalr t9                       |         t9 ();
    0x00005680 lhu t8, 0x48(v0)              |         t8 = *((v0 + 36));
    0x00005684 move s0, v0                   |         s0 = v0;
    0x00005688 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x0000568c addiu t8, t8, 1               |         t8++;
    0x00005690 sh t8, 0x48(v0)               |         *((v0 + 36)) = t8;
    0x00005694 addiu t8, zero, 3             |         t8 = 3;
                                             |     }
    0x00005698 sll s4, s3, 2                 |     s4 = s3 << 2;
    0x0000569c lw t9, -0x7f84(gp)            |     t9 = sym._dl_malloc;
    0x000056a0 move a0, s4                   |     a0 = s4;
    0x000056a4 sh t8, 0x4a(s0)               |     *((s0 + 37)) = t8;
    0x000056a8 jalr t9                       |     t9 ();
    0x000056ac lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x000056b0 move v1, v0                   |     v1 = v0;
    0x000056b4 lw t8, (s2)                   |     t8 = *(s2);
    0x000056b8 lw s7, -0x7fd8(gp)            |     s7 = *((gp - 8182));
    0x000056bc sw v0, 0x71c4(s7)             |     *((s7 + 7281)) = v0;
                                             |     do {
    0x000056c0 move a0, s4                   |         a0 = s4;
                                             |         if (t8 == 0) {
    0x000056c4 beqz t8, 0x56d8               |             goto label_37;
                                             |         }
    0x000056c8 sw t8, (v1)                   |         *(v1) = t8;
    0x000056cc addiu v1, v1, 4               |         v1 += 4;
    0x000056d0 lw t8, 0xc(t8)                |         t8 = *((t8 + 3));
    0x000056d4 b 0x56c0                      |         
                                             |     } while (1);
                                             | label_37:
    0x000056d8 lw s0, (s2)                   |     s0 = *(s2);
    0x000056dc lw t9, -0x7f84(gp)            |     t9 = sym._dl_malloc;
    0x000056e0 addiu s6, zero, 4             |     s6 = 4;
    0x000056e4 sw v0, 0x3c(s0)               |     *((s0 + 15)) = v0;
    0x000056e8 addiu s0, s0, 0x3c            |     s0 += 0x3c;
    0x000056ec sw s3, 4(s0)                  |     *((s0 + 1)) = s3;
    0x000056f0 jalr t9                       |     t9 ();
    0x000056f4 addiu a3, zero, -0x21         |     a3 = -0x21;
    0x000056f8 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x000056fc move s5, v0                   |     s5 = v0;
    0x00005700 lw t8, (s2)                   |     t8 = *(s2);
    0x00005704 lw a2, -0x7fe4(gp)            |     a2 = *((gp - 8185));
    0x00005708 lw s4, 0xc(t8)                |     s4 = *((t8 + 3));
                                             | label_9:
    0x0000570c lw t8, 0x71c4(s7)             |     t8 = *((s7 + 7281));
                                             |     if (s4 == 0) {
    0x00005710 beqz s4, 0x57c4               |         goto label_38;
                                             |     }
    0x00005714 addiu t9, a2, 0x10a8          |     t9 = a2 + fcn.000010a8;
    0x00005718 move a0, s5                   |     a0 = s5;
    0x0000571c addu t8, t8, s6               |     t8 += s6;
    0x00005720 lw a1, (t8)                   |     a1 = *(t8);
    0x00005724 sw a2, 0x168(fp)              |     *(var_168h) = a2;
    0x00005728 sw a3, 0x16c(fp)              |     *(var_16ch) = a3;
    0x0000572c jalr t9                       |     t9 ();
    0x00005730 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005734 sll v1, v0, 2                 |     v1 = v0 << 2;
    0x00005738 move a0, v1                   |     a0 = v1;
    0x0000573c sw v1, 0x164(fp)              |     *(var_164h) = v1;
    0x00005740 lw t9, -0x7f84(gp)            |     t9 = sym._dl_malloc;
    0x00005744 sw v0, 0x170(fp)              |     *(var_170h) = v0;
    0x00005748 jalr t9                       |     t9 ();
    0x0000574c lw t8, 0x170(fp)              |     t8 = *(var_170h);
    0x00005750 lw v1, 0x164(fp)              |     v1 = *(var_164h);
    0x00005754 lw a2, 0x168(fp)              |     a2 = *(var_168h);
    0x00005758 lw a3, 0x16c(fp)              |     a3 = *(var_16ch);
    0x0000575c lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005760 sw t8, 0x40(s4)               |     *((s4 + 16)) = t8;
    0x00005764 move t8, zero                 |     t8 = 0;
    0x00005768 sw v0, 0x3c(s4)               |     *((s4 + 15)) = v0;
                                             |     do {
    0x0000576c addu a0, s5, t8               |         a0 = s5 + t8;
                                             |         if (t8 == v1) {
    0x00005770 beq t8, v1, 0x5788            |             goto label_39;
                                             |         }
    0x00005774 lbu a1, (a0)                  |         a1 = *(a0);
    0x00005778 addu a0, v0, t8               |         a0 = v0 + t8;
    0x0000577c addiu t8, t8, 1               |         t8++;
    0x00005780 sb a1, (a0)                   |         *(a0) = a1;
    0x00005784 b 0x576c                      |         
                                             |     } while (1);
                                             | label_39:
    0x00005788 lw v1, 0x71c4(s7)             |     v1 = *((s7 + 7281));
    0x0000578c addiu t8, zero, 1             |     t8 = 1;
                                             |     do {
    0x00005790 sltu v0, t8, s3               |         v0 = (t8 < s3) ? 1 : 0;
    0x00005794 sll v0, t8, 2                 |         v0 = t8 << 2;
                                             |         if (v0 == 0) {
    0x00005798 beqz v0, 0x57b8               |             goto label_40;
                                             |         }
    0x0000579c addiu t8, t8, 1               |         t8++;
    0x000057a0 addu v0, v1, v0               |         v0 = v1 + v0;
    0x000057a4 lw v0, (v0)                   |         v0 = *(v0);
    0x000057a8 lhu a0, 0x4a(v0)              |         a0 = *((v0 + 37));
    0x000057ac and a0, a0, a3                |         a0 &= a3;
    0x000057b0 sh a0, 0x4a(v0)               |         *((v0 + 37)) = a0;
    0x000057b4 b 0x5790                      |         
                                             |     } while (1);
                                             | label_40:
    0x000057b8 lw s4, 0xc(s4)                |     s4 = *((s4 + 3));
    0x000057bc addiu s6, s6, 4               |     s6 += 4;
    0x000057c0 b 0x570c                      |     goto label_9;
                                             | label_38:
    0x000057c4 lw t9, -0x7fa0(gp)            |     t9 = sym._dl_free;
    0x000057c8 move a0, s5                   |     a0 = s5;
    0x000057cc jalr t9                       |     t9 ();
    0x000057d0 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x000057d4 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
    0x000057d8 lw t9, -0x7ef4(gp)            |     t9 = sym.init_tls;
    0x000057dc lbu s5, 0x71dc(s4)            |     s5 = *((s4 + 29148));
    0x000057e0 jalr t9                       |     t9 ();
    0x000057e4 move a1, zero                 |     a1 = 0;
    0x000057e8 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x000057ec move s3, v0                   |     s3 = v0;
    0x000057f0 move a2, zero                 |     a2 = 0;
    0x000057f4 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
    0x000057f8 addiu a0, a0, 0x65f4          |     a0 += str._dev_urandom;
    0x000057fc addiu v0, zero, 0xfa5         |     v0 = 0xfa5;
    0x00005800 syscall                       |     __asm ("syscall");
    0x00005804 move ra, v0                   |     ra = v0;
                                             |     if (a3 != 0) {
    0x00005808 beqz a3, 0x5818               |         
    0x0000580c lw t8, -0x7fdc(gp)            |         t8 = *(gp);
    0x00005810 sw v0, (t8)                   |         *(t8) = v0;
    0x00005814 b 0x586c                      |         
                                             |     } else {
    0x00005818 move a0, v0                   |         a0 = v0;
                                             |         if (v0 < 0) {
    0x0000581c bltz v0, 0x586c               |             goto label_41;
                                             |         }
    0x00005820 addiu a1, fp, 0x150           |         a1 = fp + 0x150;
    0x00005824 addiu a2, zero, 4             |         a2 = 4;
    0x00005828 addiu v0, zero, 0xfa3         |         v0 = 0xfa3;
    0x0000582c syscall                       |         __asm ("syscall");
    0x00005830 move a1, v0                   |         a1 = v0;
                                             |         if (a3 != 0) {
    0x00005834 beqz a3, 0x5844               |             
    0x00005838 lw t8, -0x7fdc(gp)            |             t8 = *(gp);
    0x0000583c addiu a1, zero, -1            |             a1 = -1;
    0x00005840 sw v0, (t8)                   |             *(t8) = v0;
                                             |         }
    0x00005844 move a0, ra                   |         a0 = ra;
    0x00005848 addiu v0, zero, 0xfa6         |         v0 = 0xfa6;
    0x0000584c syscall                       |         __asm ("syscall");
    0x00005850 addiu t8, zero, 4             |         t8 = 4;
                                             |         if (a3 != 0) {
    0x00005854 beqz a3, 0x5864               |             
    0x00005858 lw t8, -0x7fdc(gp)            |             t8 = *(gp);
    0x0000585c sw v0, (t8)                   |             *(t8) = v0;
    0x00005860 addiu t8, zero, 4             |             t8 = 4;
                                             |         }
    0x00005864 lw t8, 0x150(fp)              |         t8 = *(var_150h);
                                             |         if (a1 == t8) {
    0x00005868 beq a1, t8, 0x58bc            |             goto label_42;
                                             |         }
                                             |     }
                                             | label_41:
    0x0000586c lui t8, 0xff0a                |     t8 = 0xff0a0000;
    0x00005870 addiu a0, fp, 0x148           |     a0 = fp + 0x148;
    0x00005874 addiu t8, t8, 0xd00           |     t8 += 0xd00;
    0x00005878 move a1, zero                 |     a1 = 0;
    0x0000587c sw t8, 0x150(fp)              |     *(var_150h) = t8;
    0x00005880 addiu v0, zero, 0xfee         |     v0 = 0xfee;
    0x00005884 syscall                       |     __asm ("syscall");
    0x00005888 addiu t8, zero, -1            |     t8 = -1;
                                             |     if (a3 != 0) {
    0x0000588c beqz a3, 0x589c               |         
    0x00005890 lw t8, -0x7fdc(gp)            |         t8 = *(gp);
    0x00005894 sw v0, (t8)                   |         *(t8) = v0;
    0x00005898 b 0x58b8                      |         
                                             |     } else {
    0x0000589c lw v0, 0x148(fp)              |         v0 = *(var_148h);
                                             |         if (v0 == t8) {
    0x000058a0 beq v0, t8, 0x58b8            |             goto label_43;
                                             |         }
    0x000058a4 lw t8, 0x14c(fp)              |         t8 = *(var_14ch);
    0x000058a8 xor t8, v0, t8                |         t8 = v0 ^ t8;
    0x000058ac lw v0, 0x150(fp)              |         v0 = *(var_150h);
    0x000058b0 xor t8, v0, t8                |         t8 = v0 ^ t8;
    0x000058b4 sw t8, 0x150(fp)              |         *(var_150h) = t8;
                                             |     }
                                             | label_43:
    0x000058b8 lw t8, 0x150(fp)              |     t8 = *(var_150h);
                                             | label_42:
    0x000058bc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000058c0 lw t9, 0x158(fp)              |     t9 = *(var_158h);
    0x000058c4 sw t8, 0x71bc(v0)             |     *((v0 + 7279)) = t8;
    0x000058c8 lw v0, -0x7ef0(gp)            |     v0 = *(gp);
    0x000058cc sltiu a1, t9, 1               |     a1 = (t9 < 1) ? 1 : 0;
    0x000058d0 lw a0, (s2)                   |     a0 = *(s2);
    0x000058d4 lw t9, -0x7eec(gp)            |     t9 = sym._dl_perform_mips_global_got_relocations;
    0x000058d8 sw t8, (v0)                   |     *(v0) = t8;
    0x000058dc jalr t9                       |     t9 ();
    0x000058e0 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x000058e4 lw t8, -0x7f04(gp)            |     t8 = *(gp);
    0x000058e8 lw a0, (t8)                   |     a0 = *(t8);
    0x000058ec lw t9, -0x7f54(gp)            |     t9 = sym._dl_fixup;
                                             |     if (a0 != 0) {
    0x000058f0 beqz a0, 0x5920               |         
    0x000058f4 move a1, s0                   |         a1 = s0;
    0x000058f8 lw a2, 0x158(fp)              |         a2 = *(var_158h);
    0x000058fc jalr t9                       |         t9 ();
    0x00005900 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00005904 beqz v0, 0x5920               |             goto label_44;
                                             |         }
    0x00005908 addiu a0, zero, -1            |         a0 = -1;
    0x0000590c addiu v0, zero, 0xfa1         |         v0 = 0xfa1;
    0x00005910 syscall                       |         __asm ("syscall");
    0x00005914 lw t8, -0x7fdc(gp)            |         t8 = *(gp);
                                             |         if (a3 == 0) {
    0x00005918 beqz a3, 0x5920               |             goto label_44;
                                             |         }
    0x0000591c sw v0, (t8)                   |         *(t8) = v0;
                                             |     }
                                             | label_44:
    0x00005920 lw s6, (s2)                   |     s6 = *(s2);
                                             |     if (s6 == 0) {
                                             |         do {
    0x00005924 beqz s6, 0x594c               |             goto label_45;
                                             |         }
    0x00005928 nop                           |         
    0x0000592c lw t8, 0x110(s6)              |         t8 = *(s6);
    0x00005930 lw t9, -0x7ee8(gp)            |         t9 = sym._dl_protect_relro;
                                             |         if (t8 != 0) {
    0x00005934 beqz t8, 0x5944               |             
    0x00005938 move a0, s6                   |             a0 = s6;
    0x0000593c jalr t9                       |             t9 ();
    0x00005940 lw gp, 0x18(fp)               |             gp = *(var_18h);
                                             |         }
    0x00005944 lw s6, 0xc(s6)                |         s6 = *((s6 + 3));
    0x00005948 b 0x5924                      |         
                                             |     } while (1);
                                             | label_45:
    0x0000594c lw t9, -0x7f68(gp)            |     t9 = sym._dl_allocate_tls_init;
                                             |     if (s5 == 0) {
    0x00005950 bnez s5, 0x5974               |         
    0x00005954 lw t8, -0x7fcc(gp)            |         t8 = *(gp);
    0x00005958 lw t8, (t8)                   |         t8 = *(t8);
    0x0000595c lw t8, -0x7f64(gp)            |         t8 = *(gp);
                                             |         if (t8 == 0) {
    0x00005960 beqz t8, 0x5974               |             goto label_46;
                                             |         }
    0x00005964 lw v0, (t8)                   |         v0 = *(t8);
    0x00005968 addiu v0, v0, 1               |         v0++;
    0x0000596c sw v0, (t8)                   |         *(t8) = v0;
    0x00005970 lw t9, -0x7f68(gp)            |         t9 = sym._dl_allocate_tls_init;
                                             |     }
                                             | label_46:
    0x00005974 move a0, s3                   |     a0 = s3;
    0x00005978 jalr t9                       |     t9 ();
    0x0000597c lbu t8, 0x71dc(s4)            |     t8 = *((s4 + 29148));
    0x00005980 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             |     if (t8 == 0) {
    0x00005984 bnez t8, 0x59b8               |         
    0x00005988 addiu a0, s3, 0x7000          |         a0 = s3 + 0x7000;
    0x0000598c addiu v0, zero, 0x10bb        |         v0 = 0x10bb;
    0x00005990 syscall                       |         __asm ("syscall");
    0x00005994 lw a0, -0x7fe4(gp)            |         a0 = *((gp - 8185));
                                             |         if (a3 == 0) {
    0x00005998 beqz a3, 0x59bc               |             goto label_47;
                                             |         }
    0x0000599c addiu a0, zero, 0x1e          |         a0 = 0x1e;
    0x000059a0 addiu v0, zero, 0xfa1         |         v0 = 0xfa1;
    0x000059a4 syscall                       |         __asm ("syscall");
    0x000059a8 lw a0, -0x7fe4(gp)            |         a0 = *((gp - 8185));
                                             |         if (a3 == 0) {
    0x000059ac beqz a3, 0x59bc               |             goto label_47;
                                             |         }
    0x000059b0 lw t8, -0x7fdc(gp)            |         t8 = *(gp);
    0x000059b4 sw v0, (t8)                   |         *(t8) = v0;
                                             |     }
    0x000059b8 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
                                             | label_47:
    0x000059bc move a1, s0                   |     a1 = s0;
    0x000059c0 lw t9, -0x7f9c(gp)            |     t9 = sym._dl_find_hash;
    0x000059c4 move a2, zero                 |     a2 = 0;
    0x000059c8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000059cc addiu a0, a0, 0x6604          |     a0 += str.__environ;
    0x000059d0 move a3, zero                 |     a3 = 0;
    0x000059d4 jalr t9                       |     t9 ();
    0x000059d8 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000059dc beqz v0, 0x59e8               |         
    0x000059e0 lw v1, 0x1ac(fp)              |         v1 = *(arg_1ach);
    0x000059e4 sw v1, (v0)                   |         *(v0) = v1;
                                             |     }
    0x000059e8 lw ra, (s2)                   |     ra = *(s2);
    0x000059ec addiu s7, zero, 4             |     s7 = 4;
    0x000059f0 lw s5, -0x7f98(gp)            |     s5 = *(gp);
    0x000059f4 lw s6, -0x7fdc(gp)            |     s6 = *(gp);
                                             | label_10:
    0x000059f8 lw t9, -0x7efc(gp)            |     t9 = *(gp);
                                             |     if (ra == 0) {
    0x000059fc beqz ra, 0x5aa4               |         goto label_48;
                                             |     }
    0x00005a00 lw s3, 0x108(ra)              |     s3 = *(ra);
    0x00005a04 move s4, zero                 |     s4 = 0;
                                             |     do {
    0x00005a08 lw t8, 0x104(ra)              |         t8 = *((ra + 65));
    0x00005a0c sltu t8, s4, t8               |         t8 = (s4 < t8) ? 1 : 0;
    0x00005a10 addiu t9, zero, 1             |         t9 = 1;
                                             |         if (t8 == 0) {
    0x00005a14 beqz t8, 0x5a9c               |             goto label_49;
                                             |         }
    0x00005a18 lw t8, (s3)                   |         t8 = *(s3);
                                             |         if (t8 == t9) {
    0x00005a1c bne t8, t9, 0x5a90            |             
    0x00005a20 nop                           |             
    0x00005a24 lw t8, 0x18(s3)               |             t8 = *((s3 + 6));
    0x00005a28 andi v0, t8, 2                |             v0 = t8 & 2;
                                             |             if (v0 != 0) {
    0x00005a2c bnez v0, 0x5a90               |                 goto label_50;
                                             |             }
    0x00005a30 nop                           |             
    0x00005a34 lw v0, 0xc0(ra)               |             v0 = *((ra + 48));
    0x00005a38 srl a2, t8, 2                 |             a2 = t8 >> 2;
                                             |             if (v0 == 0) {
    0x00005a3c beqz v0, 0x5a90               |                 goto label_50;
                                             |             }
    0x00005a40 lw v1, (s5)                   |             v1 = *(s5);
    0x00005a44 lw v0, 8(s3)                  |             v0 = *((s3 + 2));
    0x00005a48 andi t8, t8, 1                |             t8 &= 1;
    0x00005a4c lw a3, (ra)                   |             a3 = *(ra);
    0x00005a50 negu a0, v1                   |             __asm ("negu a0, v1");
    0x00005a54 addiu v1, v1, -1              |             v1 += -1;
    0x00005a58 andi a2, a2, 1                |             a2 &= 1;
    0x00005a5c addu a3, v0, a3               |             a3 = v0 + a3;
    0x00005a60 and v0, v0, v1                |             v0 &= v1;
    0x00005a64 lw a1, 0x10(s3)               |             a1 = *((s3 + 4));
    0x00005a68 move v1, s7                   |             v1 = s7;
                                             |             if (t8 != 0) {
    0x00005a6c movz v1, zero, t8             |                 v1 = 0;
                                             |             }
    0x00005a70 and a0, a3, a0                |             a0 = a3 & a0;
    0x00005a74 addu a1, v0, a1               |             a1 = v0 + a1;
    0x00005a78 or a2, a2, v1                 |             a2 |= v1;
    0x00005a7c addiu v0, zero, 0x101d        |             v0 = 0x101d;
    0x00005a80 syscall                       |             __asm ("syscall");
                                             |             if (a3 == 0) {
    0x00005a84 beqz a3, 0x5a90               |                 goto label_50;
                                             |             }
    0x00005a88 nop                           |             
    0x00005a8c sw v0, (s6)                   |             *(s6) = v0;
                                             |         }
                                             | label_50:
    0x00005a90 addiu s4, s4, 1               |         s4++;
    0x00005a94 addiu s3, s3, 0x20            |         s3 += 0x20;
    0x00005a98 b 0x5a08                      |         
                                             |     } while (1);
                                             | label_49:
    0x00005a9c lw ra, 0xc(ra)                |     ra = *((ra + 3));
    0x00005aa0 b 0x59f8                      |     goto label_10;
                                             | label_48:
    0x00005aa4 addiu v0, zero, 1             |     v0 = 1;
    0x00005aa8 lw t8, (t9)                   |     t8 = *(t9);
    0x00005aac lw t9, -0x7f00(gp)            |     t9 = sym._dl_debug_state;
    0x00005ab0 sw v0, 0xc(t8)                |     *((t8 + 12)) = v0;
    0x00005ab4 jalr t9                       |     t9 ();
    0x00005ab8 lw t8, (s2)                   |     t8 = *(s2);
    0x00005abc lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005ac0 lw v0, 0xe8(t8)               |     v0 = *((t8 + 58));
    0x00005ac4 lw s3, 0xec(t8)               |     s3 = *((t8 + 59));
    0x00005ac8 lw s4, (t8)                   |     s4 = *(t8);
    0x00005acc bnez v0, 0x5ae0               |     
                                             |     while (s2 == s3) {
    0x00005ad0 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x00005ad4 lw s3, 0x71c0(v0)             |         s3 = *((v0 + 7280));
    0x00005ad8 sll s4, s3, 2                 |         s4 = s3 << 2;
    0x00005adc b 0x5b30                      |         goto label_51;
    0x00005ae0 srl s3, s3, 2                 |         s3 >>= 2;
    0x00005ae4 addu s4, s4, v0               |         s4 += v0;
    0x00005ae8 move s2, zero                 |         s2 = 0;
                                             | label_11:
    0x00005aec sll t8, s2, 2                 |         t8 = s2 << 2;
    0x00005af0 beq s2, s3, 0x5ad0            |         
                                             |     }
    0x00005af4 addu t8, t8, s4               |     t8 += s4;
    0x00005af8 lw t9, (t8)                   |     t9 = *(t8);
    0x00005afc addiu s2, s2, 1               |     s2++;
    0x00005b00 jalr t9                       |     t9 ();
    0x00005b04 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005b08 b 0x5aec                      |     goto label_11;
                                             |     do {
    0x00005b0c lw v1, -0x7fd8(gp)            |         v1 = *((gp - 8182));
    0x00005b10 lw t8, 0x71c8(v1)             |         t8 = *((v1 + 7282));
    0x00005b14 addu t8, t8, s4               |         t8 += s4;
    0x00005b18 lw s2, (t8)                   |         s2 = *(t8);
    0x00005b1c lhu t8, 0x4a(s2)              |         t8 = *((s2 + 37));
    0x00005b20 andi v0, t8, 4                |         v0 = t8 & 4;
    0x00005b24 sw zero, 0x58(s2)             |         *((s2 + 22)) = 0;
                                             |         if (v0 == 0) {
    0x00005b28 beqz v0, 0x5b40               |             goto label_52;
                                             |         }
                                             | label_12:
    0x00005b2c addiu s3, s3, -1              |         s3 += -1;
                                             | label_51:
    0x00005b30 addiu s4, s4, -4              |         s4 += -4;
    0x00005b34 bnez s3, 0x5b0c               |         
                                             |     } while (s3 != 0);
    0x00005b38 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
    0x00005b3c b 0x5b7c                      |     goto label_53;
                                             | label_52:
    0x00005b40 ori t8, t8, 4                 |     t8 |= 4;
    0x00005b44 sh t8, 0x4a(s2)               |     *((s2 + 37)) = t8;
    0x00005b48 lw t8, 0x98(s2)               |     t8 = *((s2 + 38));
    0x00005b4c lw t9, -0x7fb0(gp)            |     t9 = sym._dl_run_init_array;
                                             |     if (t8 != 0) {
    0x00005b50 beqz t8, 0x5b6c               |         
    0x00005b54 lw t9, (s2)                   |         t9 = *(s2);
    0x00005b58 addu t9, t8, t9               |         t9 = t8 + t9;
    0x00005b5c jalr t9                       |         t9 ();
    0x00005b60 nop                           |         
    0x00005b64 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00005b68 lw t9, -0x7fb0(gp)            |         t9 = sym._dl_run_init_array;
                                             |     }
    0x00005b6c move a0, s2                   |     a0 = s2;
    0x00005b70 jalr t9                       |     t9 ();
    0x00005b74 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005b78 b 0x5b2c                      |     goto label_12;
                                             | label_53:
    0x00005b7c move a1, s0                   |     a1 = s0;
    0x00005b80 lw t9, -0x7f9c(gp)            |     t9 = sym._dl_find_hash;
    0x00005b84 move a2, zero                 |     a2 = 0;
    0x00005b88 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00005b8c addiu a0, a0, 0x6610          |     a0 += str.malloc;
    0x00005b90 addiu a3, zero, 1             |     a3 = 1;
    0x00005b94 jalr t9                       |     t9 ();
    0x00005b98 move a1, s0                   |     a1 = s0;
    0x00005b9c lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005ba0 move a2, zero                 |     a2 = 0;
    0x00005ba4 addiu a3, zero, 1             |     a3 = 1;
    0x00005ba8 lw t8, -0x7f8c(gp)            |     t8 = *(gp);
    0x00005bac lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
    0x00005bb0 lw t9, -0x7f9c(gp)            |     t9 = sym._dl_find_hash;
    0x00005bb4 sw v0, (t8)                   |     *(t8) = v0;
    0x00005bb8 addiu a0, a0, 0x6618          |     a0 += str.calloc;
    0x00005bbc sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00005bc0 jalr t9                       |     t9 ();
    0x00005bc4 move a1, s0                   |     a1 = s0;
    0x00005bc8 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005bcc move a2, zero                 |     a2 = 0;
    0x00005bd0 addiu a3, zero, 1             |     a3 = 1;
    0x00005bd4 lw t8, -0x7f88(gp)            |     t8 = *(gp);
    0x00005bd8 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
    0x00005bdc lw t9, -0x7f9c(gp)            |     t9 = sym._dl_find_hash;
    0x00005be0 sw v0, (t8)                   |     *(t8) = v0;
    0x00005be4 addiu a0, a0, 0x6620          |     a0 += str.realloc;
    0x00005be8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00005bec jalr t9                       |     t9 ();
    0x00005bf0 move a1, s0                   |     a1 = s0;
    0x00005bf4 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005bf8 move a2, zero                 |     a2 = 0;
    0x00005bfc addiu a3, zero, 1             |     a3 = 1;
    0x00005c00 lw t8, -0x7fd4(gp)            |     t8 = *(gp);
    0x00005c04 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
    0x00005c08 lw t9, -0x7f9c(gp)            |     t9 = sym._dl_find_hash;
    0x00005c0c sw v0, (t8)                   |     *(t8) = v0;
    0x00005c10 addiu a0, a0, 0x6628          |     a0 += str.free;
    0x00005c14 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00005c18 jalr t9                       |     t9 ();
    0x00005c1c move a1, s0                   |     a1 = s0;
    0x00005c20 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005c24 move a2, zero                 |     a2 = 0;
    0x00005c28 addiu a3, zero, 1             |     a3 = 1;
    0x00005c2c lw t8, -0x7fa8(gp)            |     t8 = *(gp);
    0x00005c30 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
    0x00005c34 lw t9, -0x7f9c(gp)            |     t9 = sym._dl_find_hash;
    0x00005c38 sw v0, (t8)                   |     *(t8) = v0;
    0x00005c3c addiu a0, a0, 0x6630          |     a0 += str.memalign;
    0x00005c40 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00005c44 jalr t9                       |     t9 ();
    0x00005c48 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00005c4c lw t8, -0x7f74(gp)            |     t8 = *(gp);
    0x00005c50 lw t9, -0x7efc(gp)            |     t9 = *(gp);
    0x00005c54 sw v0, (t8)                   |     *(t8) = v0;
    0x00005c58 lw t8, (t9)                   |     t8 = *(t9);
    0x00005c5c lw t9, -0x7f00(gp)            |     t9 = sym._dl_debug_state;
    0x00005c60 sw zero, 0xc(t8)              |     *((t8 + 12)) = 0;
    0x00005c64 jalr t9                       |     t9 ();
    0x00005c68 move sp, fp                   |     
    0x00005c6c lw v0, 0x4c(s1)               |     v0 = *((s1 + 19));
    0x00005c70 lw ra, 0x19c(sp)              |     ra = *(var_19ch);
    0x00005c74 lw fp, 0x198(sp)              |     fp = *(var_198h);
    0x00005c78 lw s7, 0x194(sp)              |     s7 = *(var_194h);
    0x00005c7c lw s6, 0x190(sp)              |     s6 = *(var_190h);
    0x00005c80 lw s5, 0x18c(sp)              |     s5 = *(var_18ch);
    0x00005c84 lw s4, 0x188(sp)              |     s4 = *(var_188h);
    0x00005c88 lw s3, 0x184(sp)              |     s3 = *(var_184h);
    0x00005c8c lw s2, 0x180(sp)              |     s2 = *(var_180h);
    0x00005c90 lw s1, 0x17c(sp)              |     s1 = *(var_17ch);
    0x00005c94 lw s0, 0x178(sp)              |     s0 = *(var_178h);
    0x00005c98 addiu sp, sp, 0x1a0           |     
    0x00005c9c jr ra                         |     return v0;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x3ed0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym._dl_load_elf_shared_library ()       | void dl_load_elf_shared_library () {
    0x00003ed0 lui gp, 2                             |     
    0x00003ed4 addiu gp, gp, -0x4ec0                 |     
    0x00003ed8 addu gp, gp, t9                       |     gp += t9;
    0x00003edc addiu sp, sp, -0x1a8                  |     
    0x00003ee0 sw ra, 0x1a4(sp)                      |     *(var_1a4h) = ra;
    0x00003ee4 sw fp, 0x1a0(sp)                      |     *(var_1a0h) = fp;
    0x00003ee8 sw s7, 0x19c(sp)                      |     *(var_19ch) = s7;
    0x00003eec sw s6, 0x198(sp)                      |     *(var_198h) = s6;
    0x00003ef0 sw s5, 0x194(sp)                      |     *(var_194h) = s5;
    0x00003ef4 sw s4, 0x190(sp)                      |     *(var_190h) = s4;
    0x00003ef8 sw s3, 0x18c(sp)                      |     *(var_18ch) = s3;
    0x00003efc sw s2, 0x188(sp)                      |     *(var_188h) = s2;
    0x00003f00 sw s1, 0x184(sp)                      |     *(var_184h) = s1;
    0x00003f04 sw s0, 0x180(sp)                      |     *(var_180h) = s0;
    0x00003f08 move fp, sp                           |     fp = sp;
    0x00003f0c move s2, a0                           |     s2 = a0;
    0x00003f10 sw a1, 0x1ac(fp)                      |     *(arg_1ach) = a1;
    0x00003f14 sw a2, 0x1b0(fp)                      |     *(arg_1b0h) = a2;
    0x00003f18 move a0, a2                           |     a0 = a2;
    0x00003f1c sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x00003f20 move a1, zero                         |     a1 = 0;
    0x00003f24 move a2, zero                         |     a2 = 0;
    0x00003f28 addiu v0, zero, 0xfa5                 |     v0 = 0xfa5;
    0x00003f2c syscall                               |     __asm ("syscall");
    0x00003f30 move s1, v0                           |     s1 = v0;
                                                     |     if (a3 != 0) {
    0x00003f34 beqz a3, 0x3f44                       |         
    0x00003f38 lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
    0x00003f3c sw v0, (t8)                           |         *(t8) = v0;
    0x00003f40 b 0x3f4c                              |         
                                                     |     } else {
    0x00003f44 move a0, v0                           |         a0 = v0;
                                                     |         if (v0 >= 0) {
    0x00003f48 bgez v0, 0x3f58                       |             goto label_11;
                                                     |         }
                                                     |     }
    0x00003f4c addiu v0, zero, 1                     |     v0 = 1;
    0x00003f50 lw t8, -0x7f40(gp)                    |     t8 = *(gp);
    0x00003f54 b 0x3ff0                              |     goto label_12;
                                                     | label_11:
    0x00003f58 addiu a1, fp, 0xbc                    |     a1 = fp + 0xbc;
    0x00003f5c addiu v0, zero, 0x100c                |     v0 = 0x100c;
    0x00003f60 syscall                               |     __asm ("syscall");
    0x00003f64 lw t8, -0x7fdc(gp)                    |     t8 = *(gp);
                                                     |     if (a3 != 0) {
    0x00003f68 beqz a3, 0x3f74                       |         
    0x00003f6c sw v0, (t8)                           |         *(t8) = v0;
    0x00003f70 b 0x3f7c                              |         
                                                     |         if (v0 >= 0) {
                                                     |         } else {
    0x00003f74 bgez v0, 0x3ffc                       |             goto label_13;
                                                     |         }
    0x00003f78 nop                                   |         
                                                     |     }
    0x00003f7c addiu v0, zero, 1                     |     v0 = 1;
    0x00003f80 b 0x4108                              |     goto label_14;
                                                     | label_0:
    0x00003f84 lhu v1, 0x10(s0)                      |     v1 = *((s0 + 8));
    0x00003f88 addiu v0, zero, 3                     |     v0 = 3;
    0x00003f8c addiu t8, zero, 5                     |     t8 = 5;
                                                     |     if (v1 == v0) {
    0x00003f90 beq v1, v0, 0x416c                    |         goto label_15;
                                                     |     }
                                                     | label_1:
    0x00003f94 lw v0, -0x7f40(gp)                    |     v0 = *(gp);
    0x00003f98 addiu a0, zero, 2                     |     a0 = 2;
    0x00003f9c lw a1, -0x7fe4(gp)                    |     a1 = *((gp - 8185));
    0x00003fa0 sw t8, (v0)                           |     *(v0) = t8;
    0x00003fa4 lw t8, -0x7f90(gp)                    |     t8 = *(gp);
    0x00003fa8 addiu a1, a1, 0x64c0                  |     a1 += str._s:__s_is_not_an_ELF_executable_for_MIPS_n;
    0x00003fac lw t9, -0x7f94(gp)                    |     t9 = sym._dl_dprintf
    0x00003fb0 lw a2, (t8)                           |     a2 = *(t8);
    0x00003fb4 lw a3, 0x1b0(fp)                      |     a3 = *(arg_1b0h);
    0x00003fb8 jalr t9                               |     t9 ();
    0x00003fbc lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     | label_2:
    0x00003fc0 move a0, s1                           |     a0 = s1;
    0x00003fc4 addiu v0, zero, 0xfa6                 |     v0 = 0xfa6;
    0x00003fc8 syscall                               |     __asm ("syscall");
    0x00003fcc move a0, s0                           |     a0 = s0;
                                                     |     if (a3 != 0) {
    0x00003fd0 beqz a3, 0x3fdc                       |         
    0x00003fd4 lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
    0x00003fd8 sw v0, (t8)                           |         *(t8) = v0;
                                                     |     }
    0x00003fdc lw a1, (s2)                           |     a1 = *(s2);
    0x00003fe0 addiu v0, zero, 0xffb                 |     v0 = 0xffb;
    0x00003fe4 syscall                               |     __asm ("syscall");
                                                     | label_8:
    0x00003fe8 lw t8, -0x7fdc(gp)                    |     t8 = *(gp);
                                                     |     if (a3 != 0) {
    0x00003fec beqz a3, 0x3ff4                       |         
                                                     | label_12:
    0x00003ff0 sw v0, (t8)                           |         *(t8) = v0;
                                                     |     }
    0x00003ff4 move s1, zero                         |     s1 = 0;
    0x00003ff8 b 0x4968                              |     goto label_16;
                                                     | label_13:
    0x00003ffc andi t8, s2, 1                        |     t8 = s2 & 1;
    0x00004000 lw t8, -0x7fb4(gp)                    |     t8 = *(gp);
                                                     |     if (t8 != 0) {
    0x00004004 beqz t8, 0x4018                       |         
    0x00004008 lw t8, 0xd0(fp)                       |         t8 = *(var_d0h);
    0x0000400c andi t8, t8, 0x800                    |         t8 &= 0x800;
    0x00004010 lw t8, -0x7fb4(gp)                    |         t8 = *(gp);
                                                     |         if (t8 == 0) {
    0x00004014 beqz t8, 0x46a0                       |             goto label_17;
                                                     |         }
                                                     |     }
    0x00004018 lw v0, 0xbc(fp)                       |     v0 = *(var_bch);
    0x0000401c lw s0, (t8)                           |     s0 = *(t8);
    0x00004020 lw t8, 0xcc(fp)                       |     t8 = *(var_cch);
                                                     |     if (s0 == 0) {
                                                     |         do {
    0x00004024 beqz s0, 0x4078                       |             goto label_18;
                                                     |         }
    0x00004028 nop                                   |         
    0x0000402c lw v1, 0x118(s0)                      |         v1 = *((s0 + 70));
                                                     |         if (v1 == v0) {
    0x00004030 bne v1, v0, 0x4070                    |             
    0x00004034 nop                                   |             
    0x00004038 lw v1, 0x11c(s0)                      |             v1 = *(s0);
                                                     |             if (v1 != 0) {
    0x0000403c bnez v1, 0x4070                       |                 goto label_19;
                                                     |             }
    0x00004040 nop                                   |             
    0x00004044 lw v1, 0x120(s0)                      |             v1 = *(s0);
                                                     |             if (v1 != t8) {
    0x00004048 bne v1, t8, 0x4070                    |                 goto label_19;
                                                     |             }
    0x0000404c nop                                   |             
    0x00004050 lhu t8, 0x48(s0)                      |             t8 = *((s0 + 36));
    0x00004054 move a0, s1                           |             a0 = s1;
    0x00004058 addiu t8, t8, 1                       |             t8++;
    0x0000405c sh t8, 0x48(s0)                       |             *((s0 + 36)) = t8;
    0x00004060 addiu v0, zero, 0xfa6                 |             v0 = 0xfa6;
    0x00004064 syscall                               |             __asm ("syscall");
    0x00004068 move s1, s0                           |             s1 = s0;
    0x0000406c b 0x490c                              |             goto label_20;
                                                     |         }
                                                     | label_19:
    0x00004070 lw s0, 0xc(s0)                        |         s0 = *((s0 + 3));
    0x00004074 b 0x4024                              |         
                                                     |     } while (1);
                                                     | label_18:
    0x00004078 andi s2, s2, 2                        |     s2 &= 2;
    0x0000407c move a0, s1                           |     a0 = s1;
                                                     |     if (s2 != 0) {
    0x00004080 bnez s2, 0x46a0                       |         goto label_17;
                                                     |     }
    0x00004084 lw s2, -0x7f98(gp)                    |     s2 = *(gp);
    0x00004088 lui a3, 0x400                         |     a3 = 0x4000000;
    0x0000408c move a0, zero                         |     a0 = 0;
    0x00004090 addiu a2, zero, 3                     |     a2 = 3;
    0x00004094 lw a1, (s2)                           |     a1 = *(s2);
    0x00004098 addiu a3, a3, 0x802                   |     a3 += 0x802;
    0x0000409c addiu v0, zero, -1                    |     v0 = -1;
    0x000040a0 addiu sp, sp, -0x20                   |     
    0x000040a4 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x000040a8 sw s0, 0x14(sp)                       |     *(var_14h) = s0;
    0x000040ac addiu v0, zero, 0xffa                 |     v0 = 0xffa;
    0x000040b0 syscall                               |     __asm ("syscall");
    0x000040b4 addiu sp, sp, 0x20                    |     
    0x000040b8 move s0, v0                           |     s0 = v0;
                                                     |     if (a3 != 0) {
    0x000040bc beqz a3, 0x40cc                       |         
    0x000040c0 lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
    0x000040c4 addiu s0, zero, -1                    |         s0 = -1;
    0x000040c8 sw v0, (t8)                           |         *(t8) = v0;
                                                     |     }
    0x000040cc addiu t8, zero, -1                    |     t8 = -1;
    0x000040d0 move a0, s1                           |     a0 = s1;
                                                     |     if (s0 == t8) {
    0x000040d4 bne s0, t8, 0x4110                    |         
    0x000040d8 lw t8, -0x7f90(gp)                    |         t8 = *(gp);
    0x000040dc addiu a0, zero, 2                     |         a0 = 2;
    0x000040e0 lw a1, -0x7fe4(gp)                    |         a1 = *((gp - 8185));
    0x000040e4 addiu a3, zero, 0x1fc                 |         a3 = 0x1fc;
    0x000040e8 lw s5, 0x1b0(fp)                      |         s5 = *(arg_1b0h);
    0x000040ec lw t9, -0x7f94(gp)                    |         t9 = sym._dl_dprintf
    0x000040f0 addiu a1, a1, 0x6488                  |         a1 += str._s:_i:_cant_map__s_n;
    0x000040f4 lw a2, (t8)                           |         a2 = *(t8);
    0x000040f8 sw s5, 0x10(sp)                       |         *(var_10h_2) = s5;
    0x000040fc jalr t9                               |         t9 ();
    0x00004100 addiu v0, zero, 6                     |         v0 = 6;
    0x00004104 lw gp, 0x18(fp)                       |         gp = *(var_18h);
                                                     | label_14:
    0x00004108 lw t8, -0x7f40(gp)                    |         t8 = *(gp);
    0x0000410c b 0x4698                              |         goto label_21;
                                                     |     }
    0x00004110 lw a2, (s2)                           |     a2 = *(s2);
    0x00004114 move a1, s0                           |     a1 = s0;
    0x00004118 addiu v0, zero, 0xfa3                 |     v0 = 0xfa3;
    0x0000411c syscall                               |     __asm ("syscall");
    0x00004120 lui t8, 0x464c                        |     t8 = 0x464c0000;
                                                     |     if (a3 != 0) {
    0x00004124 beqz a3, 0x4134                       |         
    0x00004128 lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
    0x0000412c sw v0, (t8)                           |         *(t8) = v0;
    0x00004130 lui t8, 0x464c                        |         t8 = 0x464c0000;
                                                     |     }
    0x00004134 lw v0, (s0)                           |     v0 = *(s0);
    0x00004138 addiu t8, t8, 0x457f                  |     t8 += 0x457f;
    0x0000413c addiu a0, zero, 2                     |     a0 = 2;
                                                     |     if (v0 == t8) {
    0x00004140 beq v0, t8, 0x3f84                    |         goto label_0;
                                                     |     }
    0x00004144 lw t8, -0x7f90(gp)                    |     t8 = *(gp);
    0x00004148 lw a1, -0x7fe4(gp)                    |     a1 = *((gp - 8185));
    0x0000414c lw t9, -0x7f94(gp)                    |     t9 = sym._dl_dprintf
    0x00004150 lw a2, (t8)                           |     a2 = *(t8);
    0x00004154 addiu a1, a1, 0x64a0                  |     a1 += str._s:__s_is_not_an_ELF_file_n;
    0x00004158 lw a3, 0x1b0(fp)                      |     a3 = *(arg_1b0h);
    0x0000415c jalr t9                               |     t9 ();
    0x00004160 addiu v0, zero, 3                     |     v0 = 3;
    0x00004164 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x00004168 b 0x4330                              |     goto label_22;
                                                     | label_15:
    0x0000416c lhu v0, 0x12(s0)                      |     v0 = *((s0 + 9));
    0x00004170 addiu t8, zero, 8                     |     t8 = 8;
    0x00004174 andi v0, v0, 0xfffd                   |     v0 &= 0xfffd;
    0x00004178 addiu t8, zero, 4                     |     t8 = 4;
                                                     |     if (v0 != t8) {
    0x0000417c bne v0, t8, 0x3f94                    |         goto label_1;
                                                     |     }
    0x00004180 lw s4, 0x1c(s0)                       |     s4 = *((s0 + 7));
    0x00004184 addiu s6, zero, 1                     |     s6 = 1;
    0x00004188 lw v0, -0x7fe4(gp)                    |     v0 = *((gp - 8185));
    0x0000418c lui v1, 0x100                         |     v1 = 0x1000000;
    0x00004190 lw s7, -0x7f90(gp)                    |     s7 = *(gp);
    0x00004194 addu s4, s0, s4                       |     s4 = s0 + s4;
    0x00004198 sw s6, 0x154(fp)                      |     *(var_154h) = s6;
    0x0000419c move s5, zero                         |     s5 = 0;
    0x000041a0 move s6, zero                         |     s6 = 0;
    0x000041a4 addiu s3, zero, -1                    |     s3 = -1;
    0x000041a8 sw zero, 0x158(fp)                    |     *(var_158h) = 0;
    0x000041ac addiu v0, v0, 0x64ec                  |     v0 += str._s:__s_has_more_than_one_dynamic_section_n;
    0x000041b0 sw zero, 0x150(fp)                    |     *(var_150h) = 0;
    0x000041b4 addiu v1, v1, 1                       |     v1++;
                                                     |     do {
    0x000041b8 lhu t8, 0x2c(s0)                      |         t8 = *((s0 + 22));
    0x000041bc slt t8, s6, t8                        |         t8 = (s6 < t8) ? 1 : 0;
    0x000041c0 addiu t8, zero, 2                     |         t8 = 2;
                                                     |         if (t8 == 0) {
    0x000041c4 beqz t8, 0x4288                       |             goto label_23;
                                                     |         }
    0x000041c8 lw a0, (s4)                           |         a0 = *(s4);
    0x000041cc lw t8, 0x150(fp)                      |         t8 = *(var_150h);
                                                     |         if (a0 == t8) {
    0x000041d0 bne a0, t8, 0x420c                    |             
    0x000041d4 move a1, v0                           |             a1 = v0;
                                                     |             if (t8 != 0) {
    0x000041d8 beqz t8, 0x4204                       |                 
    0x000041dc lw a2, (s7)                           |                 a2 = *(s7);
    0x000041e0 lw t9, -0x7f94(gp)                    |                 t9 = sym._dl_dprintf
    0x000041e4 addiu a0, zero, 2                     |                 a0 = 2;
    0x000041e8 lw a3, 0x1b0(fp)                      |                 a3 = *(arg_1b0h);
    0x000041ec sw v0, 0x178(fp)                      |                 *(var_178h) = v0;
    0x000041f0 sw v1, 0x17c(fp)                      |                 *(var_17ch) = v1;
    0x000041f4 jalr t9                               |                 t9 ();
    0x000041f8 lw gp, 0x18(fp)                       |                 gp = *(var_18h);
    0x000041fc lw v1, 0x17c(fp)                      |                 v1 = *(var_17ch);
    0x00004200 lw v0, 0x178(fp)                      |                 v0 = *(var_178h);
                                                     |             }
    0x00004204 lw a0, 8(s4)                          |             a0 = *((s4 + 2));
    0x00004208 sw a0, 0x150(fp)                      |             *(var_150h) = a0;
                                                     |         }
    0x0000420c lw t8, (s4)                           |         t8 = *(s4);
    0x00004210 addiu a0, zero, 1                     |         a0 = 1;
    0x00004214 addiu a0, zero, 7                     |         a0 = 7;
                                                     |         if (t8 == a0) {
    0x00004218 bne t8, a0, 0x4264                    |             
    0x0000421c addiu a0, zero, -1                    |             a0 = -1;
    0x00004220 lw t8, 8(s4)                          |             t8 = *((s4 + 2));
                                                     |             if (s3 == a0) {
    0x00004224 bne s3, a0, 0x4234                    |                 
    0x00004228 sltu a0, t8, v1                       |                 a0 = (t8 < v1) ? 1 : 0;
                                                     |                 if (a0 == 0) {
    0x0000422c beqz a0, 0x4248                       |                     goto label_24;
                                                     |                 }
    0x00004230 nop                                   |                 
                                                     |             }
    0x00004234 lw a0, 0x154(fp)                      |             a0 = *(var_154h);
    0x00004238 sltu a0, t8, s3                       |             a0 = (t8 < s3) ? 1 : 0;
                                                     |             if (a0 != 0) {
    0x0000423c beqz a0, 0x4250                       |                 
                                                     |                 if (a0 == 0) {
    0x00004240 movn s3, t8, a0                       |                     s3 = t8;
                                                     |                 }
    0x00004244 b 0x4250                              |                 goto label_25;
                                                     | label_24:
    0x00004248 move s3, t8                           |                 s3 = t8;
    0x0000424c sw zero, 0x154(fp)                    |                 *(var_154h) = 0;
                                                     |             }
                                                     | label_25:
    0x00004250 lw a0, 0x14(s4)                       |             a0 = *((s4 + 5));
    0x00004254 addu t8, a0, t8                       |             t8 = a0 + t8;
    0x00004258 sltu a0, s5, t8                       |             a0 = (s5 < t8) ? 1 : 0;
                                                     |             if (a0 == 0) {
    0x0000425c movn s5, t8, a0                       |                 s5 = t8;
                                                     |             }
    0x00004260 b 0x427c                              |             
                                                     |             if (t8 != a0) {
                                                     |             } else {
    0x00004264 bne t8, a0, 0x427c                    |                 goto label_26;
                                                     |             }
    0x00004268 nop                                   |             
    0x0000426c lw t8, 0x14(s4)                       |             t8 = *((s4 + 5));
                                                     |             if (t8 == 0) {
    0x00004270 beqz t8, 0x4280                       |                 goto label_27;
                                                     |             }
    0x00004274 nop                                   |             
    0x00004278 sw s4, 0x158(fp)                      |             *(var_158h) = s4;
                                                     |         }
                                                     | label_26:
    0x0000427c addiu s4, s4, 0x20                    |         s4 += 0x20;
                                                     | label_27:
    0x00004280 addiu s6, s6, 1                       |         s6++;
    0x00004284 b 0x41b8                              |         
                                                     |     } while (1);
                                                     | label_23:
    0x00004288 lw v0, (s2)                           |     v0 = *(s2);
    0x0000428c move a0, zero                         |     a0 = 0;
    0x00004290 lw s6, 0x154(fp)                      |     s6 = *(var_154h);
    0x00004294 move a2, zero                         |     a2 = 0;
    0x00004298 negu t8, v0                           |     __asm ("negu t8, v0");
    0x0000429c addiu v0, v0, -1                      |     v0 += -1;
    0x000042a0 addu s5, v0, s5                       |     s5 = v0 + s5;
    0x000042a4 and s3, s3, t8                        |     s3 &= t8;
    0x000042a8 and t8, s5, t8                        |     t8 = s5 & t8;
                                                     |     if (s6 != 0) {
    0x000042ac movz a0, s3, s6                       |         a0 = s3;
                                                     |     }
    0x000042b0 subu t8, t8, s3                       |     __asm ("subu t8, t8, s3");
    0x000042b4 addiu a3, zero, 0x802                 |     a3 = 0x802;
    0x000042b8 sw t8, 0x16c(fp)                      |     *(var_16ch) = t8;
    0x000042bc move a1, t8                           |     a1 = t8;
    0x000042c0 move ra, zero                         |     ra = 0;
    0x000042c4 addiu v0, zero, -1                    |     v0 = -1;
    0x000042c8 addiu sp, sp, -0x20                   |     
    0x000042cc sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x000042d0 sw ra, 0x14(sp)                       |     *(var_14h) = ra;
    0x000042d4 addiu v0, zero, 0xffa                 |     v0 = 0xffa;
    0x000042d8 syscall                               |     __asm ("syscall");
    0x000042dc addiu sp, sp, 0x20                    |     
    0x000042e0 move s7, v0                           |     s7 = v0;
                                                     |     if (a3 != 0) {
    0x000042e4 beqz a3, 0x42f4                       |         
    0x000042e8 lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
    0x000042ec addiu s7, zero, -1                    |         s7 = -1;
    0x000042f0 sw v0, (t8)                           |         *(t8) = v0;
                                                     |     }
    0x000042f4 addiu t8, zero, -1                    |     t8 = -1;
    0x000042f8 lw s5, 0x154(fp)                      |     s5 = *(var_154h);
                                                     |     if (s7 != t8) {
    0x000042fc bne s7, t8, 0x433c                    |         goto label_28;
                                                     |     }
                                                     | label_3:
    0x00004300 lw t8, -0x7f90(gp)                    |     t8 = *(gp);
                                                     |     do {
    0x00004304 addiu a0, zero, 2                     |         a0 = 2;
    0x00004308 lw a1, -0x7fe4(gp)                    |         a1 = *((gp - 8185));
    0x0000430c addiu a3, zero, 0x264                 |         a3 = 0x264;
    0x00004310 lw s5, 0x1b0(fp)                      |         s5 = *(arg_1b0h);
    0x00004314 lw t9, -0x7f94(gp)                    |         t9 = sym._dl_dprintf
    0x00004318 addiu a1, a1, 0x6488                  |         a1 += str._s:_i:_cant_map__s_n;
    0x0000431c lw a2, (t8)                           |         a2 = *(t8);
    0x00004320 sw s5, 0x10(sp)                       |         *(var_10h_2) = s5;
    0x00004324 jalr t9                               |         t9 ();
    0x00004328 addiu v0, zero, 6                     |         v0 = 6;
    0x0000432c lw gp, 0x18(fp)                       |         gp = *(var_18h);
                                                     | label_22:
    0x00004330 lw t8, -0x7f40(gp)                    |         t8 = *(gp);
    0x00004334 sw v0, (t8)                           |         *(t8) = v0;
    0x00004338 b 0x3fc0                              |         goto label_2;
                                                     | label_28:
    0x0000433c move s6, zero                         |         s6 = 0;
    0x00004340 lw ra, 0x1c(s0)                       |         ra = *((s0 + 7));
    0x00004344 subu s3, s7, s3                       |         __asm ("subu s3, s7, s3");
    0x00004348 lw t8, -0x7fd8(gp)                    |         t8 = *((gp - 8182));
                                                     |         if (s5 == 0) {
    0x0000434c movn s6, s7, s5                       |             s6 = s7;
                                                     |         }
    0x00004350 addu ra, s0, ra                       |         ra = s0 + ra;
    0x00004354 sw s3, 0x15c(fp)                      |         *(var_15ch) = s3;
    0x00004358 sw s3, 0x71b8(t8)                     |         *((t8 + 29112)) = s3;
    0x0000435c sw s6, 0x174(fp)                      |         *(var_174h) = s6;
    0x00004360 sw zero, 0x168(fp)                    |         *(var_168h) = 0;
    0x00004364 sw zero, 0x164(fp)                    |         *(var_164h) = 0;
    0x00004368 sw zero, 0x160(fp)                    |         *(var_160h) = 0;
                                                     | label_7:
    0x0000436c lhu t8, 0x2c(s0)                      |         t8 = *((s0 + 22));
    0x00004370 lw s6, 0x160(fp)                      |         s6 = *(var_160h);
    0x00004374 slt t8, s6, t8                        |         t8 = (s6 < t8) ? 1 : 0;
    0x00004378 lui s6, 0x6474                        |         s6 = 0x64740000;
                                                     |         if (t8 == 0) {
    0x0000437c beqz t8, 0x4630                       |             goto label_29;
                                                     |         }
    0x00004380 lw t8, (ra)                           |         t8 = *(ra);
    0x00004384 ori s6, s6, 0xe552                    |         s6 |= 0xe552;
    0x00004388 addiu v0, zero, 1                     |         v0 = 1;
                                                     |         if (t8 == s6) {
    0x0000438c bne t8, s6, 0x43a4                    |             
    0x00004390 lw s5, 8(ra)                          |             s5 = *((ra + 2));
    0x00004394 lw s6, 0x14(ra)                       |             s6 = *((ra + 5));
    0x00004398 sw s5, 0x164(fp)                      |             *(var_164h) = s5;
    0x0000439c sw s6, 0x168(fp)                      |             *(var_168h) = s6;
    0x000043a0 b 0x461c                              |             goto label_30;
                                                     |         }
    0x000043a4 lw s5, 0x160(fp)                      |         s5 = *(var_160h);
                                                     |         if (t8 != v0) {
    0x000043a8 bne t8, v0, 0x4620                    |             goto label_31;
                                                     |         }
    0x000043ac lw s6, 0x18(ra)                       |         s6 = *((ra + 6));
    0x000043b0 lw a0, 8(ra)                          |         a0 = *((ra + 2));
    0x000043b4 andi v0, s6, 2                        |         v0 = s6 & 2;
    0x000043b8 lw t8, 0x10(ra)                       |         t8 = *((ra + 4));
    0x000043bc lw v1, 4(ra)                          |         v1 = *((ra + 1));
                                                     |         if (v0 == 0) {
    0x000043c0 beqz v0, 0x4578                       |             goto label_32;
                                                     |         }
    0x000043c4 lw v0, -0x7fd8(gp)                    |         v0 = *((gp - 8182));
    0x000043c8 ori s6, s6, 2                         |         s6 |= 2;
    0x000043cc lw s5, (s2)                           |         s5 = *(s2);
    0x000043d0 addiu a2, zero, 4                     |         a2 = 4;
    0x000043d4 lw s4, 0x71b8(v0)                     |         s4 = *((v0 + 7278));
    0x000043d8 addiu a3, zero, 0x12                  |         a3 = 0x12;
    0x000043dc lw v0, 0x154(fp)                      |         v0 = *(var_154h);
                                                     |         if (v0 == 0) {
    0x000043e0 movn s4, s7, v0                       |             s4 = s7;
                                                     |         }
    0x000043e4 negu v0, s5                           |         __asm ("negu v0, s5");
    0x000043e8 addiu s5, s5, -1                      |         s5 += -1;
    0x000043ec and a1, a0, v0                        |         a1 = a0 & v0;
    0x000043f0 and s5, a0, s5                        |         s5 = a0 & s5;
    0x000043f4 lui a0, 0x7fff                        |         a0 = 0x7fff0000;
    0x000043f8 addu s5, s5, t8                       |         s5 += t8;
    0x000043fc srl t8, s6, 2                         |         t8 = s6 >> 2;
    0x00004400 ori a0, a0, 0xffff                    |         a0 |= 0xffff;
    0x00004404 addu s4, s4, a1                       |         s4 += a1;
    0x00004408 andi s6, s6, 1                        |         s6 &= 1;
    0x0000440c andi t8, t8, 1                        |         t8 &= 1;
                                                     |         if (s6 != 0) {
    0x00004410 movz a2, zero, s6                     |             a2 = 0;
                                                     |         }
    0x00004414 ori t8, t8, 2                         |         t8 |= 2;
    0x00004418 and v0, v0, a0                        |         v0 &= a0;
    0x0000441c sw t8, 0x170(fp)                      |         *(var_170h) = t8;
    0x00004420 and v0, v0, v1                        |         v0 &= v1;
    0x00004424 move a0, s4                           |         a0 = s4;
    0x00004428 move a1, s5                           |         a1 = s5;
    0x0000442c or a2, a2, t8                         |         a2 |= t8;
    0x00004430 addiu sp, sp, -0x20                   |         
    0x00004434 sw s1, 0x10(sp)                       |         *(var_10h) = s1;
    0x00004438 sw v0, 0x14(sp)                       |         *(var_14h) = v0;
    0x0000443c addiu v0, zero, 0xffa                 |         v0 = 0xffa;
    0x00004440 syscall                               |         __asm ("syscall");
    0x00004444 addiu sp, sp, 0x20                    |         
    0x00004448 move s3, v0                           |         s3 = v0;
                                                     |         if (a3 != 0) {
    0x0000444c beqz a3, 0x445c                       |             
    0x00004450 lw t8, -0x7fdc(gp)                    |             t8 = *(gp);
    0x00004454 addiu s3, zero, -1                    |             s3 = -1;
    0x00004458 sw v0, (t8)                           |             *(t8) = v0;
                                                     |         }
    0x0000445c addiu v0, zero, -1                    |         v0 = -1;
    0x00004460 lw a0, 0x15c(fp)                      |         a0 = *(var_15ch);
                                                     |         if (s3 != v0) {
    0x00004464 bne s3, v0, 0x4488                    |             goto label_33;
                                                     |         }
                                                     | label_4:
    0x00004468 lw a1, 0x16c(fp)                      |         a1 = *(var_16ch);
                                                     | label_6:
    0x0000446c addiu v0, zero, 0xffb                 |         v0 = 0xffb;
    0x00004470 syscall                               |         __asm ("syscall");
    0x00004474 lw t8, -0x7f90(gp)                    |         t8 = *(gp);
    0x00004478 beqz a3, 0x4304                       |         
                                                     |     } while (a3 == 0);
    0x0000447c lw t8, -0x7fdc(gp)                    |     t8 = *(gp);
    0x00004480 sw v0, (t8)                           |     *(t8) = v0;
    0x00004484 b 0x4300                              |     goto label_3;
                                                     |     if (s4 == 0) {
                                                     | label_33:
    0x00004488 beqz s4, 0x4498                       |         goto label_34;
                                                     |     }
    0x0000448c nop                                   |     
    0x00004490 lw a0, 0x15c(fp)                      |     a0 = *(var_15ch);
                                                     |     if (s4 != s3) {
    0x00004494 bne s4, s3, 0x4468                    |         goto label_4;
                                                     |     }
                                                     | label_34:
    0x00004498 lw a0, 0x10(ra)                       |     a0 = *((ra + 4));
    0x0000449c addu s5, s3, s5                       |     s5 = s3 + s5;
    0x000044a0 lw v0, (s2)                           |     v0 = *(s2);
    0x000044a4 lw v1, 8(ra)                          |     v1 = *((ra + 2));
    0x000044a8 addiu t8, v0, -1                      |     t8 = v0 + -1;
    0x000044ac negu v0, v0                           |     __asm ("negu v0, v0");
    0x000044b0 addu v1, a0, v1                       |     v1 = a0 + v1;
    0x000044b4 addu t8, t8, v1                       |     t8 += v1;
    0x000044b8 and t8, t8, v0                        |     t8 &= v0;
    0x000044bc lw v0, 0x14(ra)                       |     v0 = *((ra + 5));
    0x000044c0 subu v1, t8, v1                       |     __asm ("subu v1, t8, v1");
    0x000044c4 subu v0, v0, a0                       |     __asm ("subu v0, v0, a0");
    0x000044c8 sltu a0, v0, v1                       |     a0 = (v0 < v1) ? 1 : 0;
                                                     |     if (a0 != 0) {
    0x000044cc movz v0, v1, a0                       |         v0 = v1;
                                                     |     }
    0x000044d0 addu v0, s5, v0                       |     v0 = s5 + v0;
                                                     |     do {
    0x000044d4 addiu s5, s5, 1                       |         s5++;
                                                     |         if (s5 == v0) {
    0x000044d8 beq s5, v0, 0x44e4                    |             goto label_35;
                                                     |         }
    0x000044dc sb zero, -1(s5)                       |         *((s5 - 1)) = 0;
    0x000044e0 b 0x44d4                              |         
                                                     |     } while (1);
                                                     | label_35:
    0x000044e4 lw v0, 8(ra)                          |     v0 = *((ra + 2));
    0x000044e8 lw a1, 0x14(ra)                       |     a1 = *((ra + 5));
    0x000044ec addu a1, a1, v0                       |     a1 += v0;
    0x000044f0 sltu v0, t8, a1                       |     v0 = (t8 < a1) ? 1 : 0;
    0x000044f4 lw s5, 0x174(fp)                      |     s5 = *(var_174h);
                                                     |     if (v0 == 0) {
    0x000044f8 bnez v0, 0x450c                       |         
                                                     | label_5:
    0x000044fc lw s5, 0x160(fp)                      |         s5 = *(var_160h);
                                                     |         if (s3 != 0) {
    0x00004500 bnez s3, 0x4620                       |             goto label_31;
                                                     |         }
    0x00004504 lw a0, 0x15c(fp)                      |         a0 = *(var_15ch);
    0x00004508 b 0x4468                              |         goto label_4;
                                                     |     }
    0x0000450c addiu a2, zero, 4                     |     a2 = 4;
                                                     |     if (s6 != 0) {
    0x00004510 movz a2, zero, s6                     |         a2 = 0;
                                                     |     }
    0x00004514 subu a1, a1, t8                       |     __asm ("subu a1, a1, t8");
    0x00004518 lw s6, 0x170(fp)                      |     s6 = *(var_170h);
    0x0000451c addu s4, s5, t8                       |     s4 = s5 + t8;
    0x00004520 move a0, s4                           |     a0 = s4;
    0x00004524 addiu a3, zero, 0x812                 |     a3 = 0x812;
    0x00004528 or a2, a2, s6                         |     a2 |= s6;
    0x0000452c addiu s5, zero, -1                    |     s5 = -1;
    0x00004530 move s6, zero                         |     s6 = 0;
    0x00004534 addiu sp, sp, -0x20                   |     
    0x00004538 sw s5, 0x10(sp)                       |     *(var_10h) = s5;
    0x0000453c sw s6, 0x14(sp)                       |     *(var_14h) = s6;
    0x00004540 addiu v0, zero, 0xffa                 |     v0 = 0xffa;
    0x00004544 syscall                               |     __asm ("syscall");
    0x00004548 addiu sp, sp, 0x20                    |     
    0x0000454c addiu v1, zero, -1                    |     v1 = -1;
                                                     |     if (a3 != 0) {
    0x00004550 beqz a3, 0x4560                       |         
    0x00004554 lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
    0x00004558 sw v0, (t8)                           |         *(t8) = v0;
    0x0000455c addiu v0, zero, -1                    |         v0 = -1;
                                                     |     }
    0x00004560 lw a0, 0x15c(fp)                      |     a0 = *(var_15ch);
                                                     |     if (v0 == v1) {
    0x00004564 beq v0, v1, 0x4468                    |         goto label_4;
                                                     |     }
                                                     |     if (s4 == v0) {
    0x00004568 beq s4, v0, 0x44fc                    |         goto label_5;
                                                     |     }
    0x0000456c nop                                   |     
    0x00004570 lw a1, 0x16c(fp)                      |     a1 = *(var_16ch);
    0x00004574 b 0x446c                              |     goto label_6;
                                                     | label_32:
    0x00004578 lw s5, -0x7fd8(gp)                    |     s5 = *((gp - 8182));
    0x0000457c addiu a3, zero, 0x12                  |     a3 = 0x12;
    0x00004580 lw a1, (s2)                           |     a1 = *(s2);
    0x00004584 lw s3, 0x71b8(s5)                     |     s3 = *((s5 + 7278));
    0x00004588 lw s5, 0x154(fp)                      |     s5 = *(var_154h);
    0x0000458c negu v0, a1                           |     __asm ("negu v0, a1");
    0x00004590 and a2, a0, v0                        |     a2 = a0 & v0;
    0x00004594 addiu a1, a1, -1                      |     a1 += -1;
                                                     |     if (s5 == 0) {
    0x00004598 movn s3, s7, s5                       |         s3 = s7;
                                                     |     }
    0x0000459c and a1, a0, a1                        |     a1 = a0 & a1;
    0x000045a0 addu s3, s3, a2                       |     s3 += a2;
    0x000045a4 addiu a0, zero, 4                     |     a0 = 4;
    0x000045a8 srl a2, s6, 2                         |     a2 = s6 >> 2;
    0x000045ac lui s5, 0x7fff                        |     s5 = 0x7fff0000;
    0x000045b0 andi s6, s6, 1                        |     s6 &= 1;
    0x000045b4 addu a1, a1, t8                       |     a1 += t8;
                                                     |     if (s6 != 0) {
    0x000045b8 movz a0, zero, s6                     |         a0 = 0;
                                                     |     }
    0x000045bc ori s5, s5, 0xffff                    |     s5 |= 0xffff;
    0x000045c0 move s6, a0                           |     s6 = a0;
    0x000045c4 and v0, v0, s5                        |     v0 &= s5;
    0x000045c8 andi a2, a2, 1                        |     a2 &= 1;
    0x000045cc and v0, v0, v1                        |     v0 &= v1;
    0x000045d0 move a0, s3                           |     a0 = s3;
    0x000045d4 or a2, a2, s6                         |     a2 |= s6;
    0x000045d8 addiu sp, sp, -0x20                   |     
    0x000045dc sw s1, 0x10(sp)                       |     *(var_10h) = s1;
    0x000045e0 sw v0, 0x14(sp)                       |     *(var_14h) = v0;
    0x000045e4 addiu v0, zero, 0xffa                 |     v0 = 0xffa;
    0x000045e8 syscall                               |     __asm ("syscall");
    0x000045ec addiu sp, sp, 0x20                    |     
    0x000045f0 addiu t8, zero, -1                    |     t8 = -1;
                                                     |     if (a3 != 0) {
    0x000045f4 beqz a3, 0x4604                       |         
    0x000045f8 lw s6, -0x7fdc(gp)                    |         s6 = *(gp);
    0x000045fc sw v0, (s6)                           |         *(s6) = v0;
    0x00004600 addiu v0, zero, -1                    |         v0 = -1;
                                                     |     }
    0x00004604 lw a0, 0x15c(fp)                      |     a0 = *(var_15ch);
                                                     |     if (v0 == t8) {
    0x00004608 beq v0, t8, 0x4468                    |         goto label_4;
                                                     |     }
    0x0000460c lw s5, 0x160(fp)                      |     s5 = *(var_160h);
                                                     |     if (s3 == 0) {
    0x00004610 beqz s3, 0x4620                       |         goto label_31;
                                                     |     }
    0x00004614 lw a1, 0x16c(fp)                      |     a1 = *(var_16ch);
                                                     |     if (s3 != v0) {
    0x00004618 bne s3, v0, 0x446c                    |         goto label_6;
                                                     |     }
                                                     | label_30:
    0x0000461c lw s5, 0x160(fp)                      |     s5 = *(var_160h);
                                                     | label_31:
    0x00004620 addiu ra, ra, 0x20                    |     ra += 0x20;
    0x00004624 addiu s5, s5, 1                       |     s5++;
    0x00004628 sw s5, 0x160(fp)                      |     *(var_160h) = s5;
    0x0000462c b 0x436c                              |     goto label_7;
                                                     | label_29:
    0x00004630 lw s6, 0x150(fp)                      |     s6 = *(var_150h);
    0x00004634 lw s5, 0x15c(fp)                      |     s5 = *(var_15ch);
    0x00004638 addu t8, s5, s6                       |     t8 = s5 + s6;
    0x0000463c lw s5, 0x154(fp)                      |     s5 = *(var_154h);
                                                     |     if (s5 == 0) {
    0x00004640 movn s6, t8, s5                       |         s6 = t8;
                                                     |     }
    0x00004644 sw s6, 0x150(fp)                      |     *(var_150h) = s6;
                                                     |     if (s6 == 0) {
    0x00004648 bnez s6, 0x46b0                       |         
    0x0000464c lw t8, -0x7f40(gp)                    |         t8 = *(gp);
    0x00004650 addiu v0, zero, 7                     |         v0 = 7;
    0x00004654 lw a1, -0x7fe4(gp)                    |         a1 = *((gp - 8185));
    0x00004658 addiu a0, zero, 2                     |         a0 = 2;
    0x0000465c sw v0, (t8)                           |         *(t8) = v0;
    0x00004660 lw t8, -0x7f90(gp)                    |         t8 = *(gp);
    0x00004664 addiu a1, a1, 0x6518                  |         a1 += str._s:__s_is_missing_a_dynamic_section_n;
    0x00004668 lw t9, -0x7f94(gp)                    |         t9 = sym._dl_dprintf
    0x0000466c lw a2, (t8)                           |         a2 = *(t8);
    0x00004670 lw a3, 0x1b0(fp)                      |         a3 = *(arg_1b0h);
    0x00004674 jalr t9                               |         t9 ();
    0x00004678 move a0, s0                           |         a0 = s0;
    0x0000467c lw gp, 0x18(fp)                       |         gp = *(var_18h);
    0x00004680 lw a1, (s2)                           |         a1 = *(s2);
    0x00004684 addiu v0, zero, 0xffb                 |         v0 = 0xffb;
    0x00004688 syscall                               |         __asm ("syscall");
    0x0000468c move a0, s1                           |         a0 = s1;
                                                     |         if (a3 != 0) {
    0x00004690 beqz a3, 0x46a0                       |             
    0x00004694 lw t8, -0x7fdc(gp)                    |             t8 = *(gp);
                                                     | label_21:
    0x00004698 sw v0, (t8)                           |             *(t8) = v0;
    0x0000469c move a0, s1                           |             a0 = s1;
                                                     |         }
                                                     | label_17:
    0x000046a0 addiu v0, zero, 0xfa6                 |         v0 = 0xfa6;
    0x000046a4 syscall                               |         __asm ("syscall");
    0x000046a8 b 0x3fe8                              |         goto label_8;
    0x000046ac nop                                   |         
                                                     |     }
    0x000046b0 addiu t8, fp, 0x20                    |     t8 = fp + 0x20;
    0x000046b4 addiu v0, fp, 0xbc                    |     v0 = fp + 0xbc;
    0x000046b8 move s4, t8                           |     s4 = t8;
                                                     |     do {
    0x000046bc addiu t8, t8, 1                       |         t8++;
    0x000046c0 sb zero, -1(t8)                       |         *(var_20h_2) = 0;
    0x000046c4 bne t8, v0, 0x46bc                    |         
                                                     |     } while (t8 != v0);
    0x000046c8 lw t9, -0x7f3c(gp)                    |     t9 = sym._dl_parse_dynamic_info;
    0x000046cc move a1, s4                           |     a1 = s4;
    0x000046d0 lw a0, 0x150(fp)                      |     a0 = *(var_150h);
    0x000046d4 move a2, zero                         |     a2 = 0;
    0x000046d8 lw a3, 0x15c(fp)                      |     a3 = *(var_15ch);
    0x000046dc jalr t9                               |     t9 ();
    0x000046e0 lw t8, 0x78(fp)                       |     t8 = *(var_78h);
    0x000046e4 move s5, v0                           |     s5 = v0;
    0x000046e8 lw gp, 0x18(fp)                       |     gp = *(var_18h);
                                                     |     if (t8 != 0) {
    0x000046ec bnez t8, 0x4710                       |         goto label_36;
                                                     |     }
    0x000046f0 move a0, s1                           |     a0 = s1;
                                                     |     do {
    0x000046f4 addiu v0, zero, 0xfa6                 |         v0 = 0xfa6;
    0x000046f8 syscall                               |         __asm ("syscall");
    0x000046fc lw t9, -0x7f44(gp)                    |         t9 = sym._dl_add_elf_hash_table;
                                                     |         if (a3 == 0) {
    0x00004700 beqz a3, 0x47a0                       |             goto label_37;
                                                     |         }
    0x00004704 lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
    0x00004708 sw v0, (t8)                           |         *(t8) = v0;
    0x0000470c b 0x47a0                              |         goto label_37;
                                                     | label_36:
    0x00004710 lw ra, 0x1c(s0)                       |         ra = *((s0 + 7));
    0x00004714 move s3, zero                         |         s3 = 0;
    0x00004718 addiu s6, zero, 1                     |         s6 = 1;
    0x0000471c addu ra, s0, ra                       |         ra = s0 + ra;
                                                     | label_9:
    0x00004720 lhu t8, 0x2c(s0)                      |         t8 = *((s0 + 22));
    0x00004724 slt t8, s3, t8                        |         t8 = (s3 < t8) ? 1 : 0;
    0x00004728 move a0, s1                           |         a0 = s1;
    0x0000472c beqz t8, 0x46f4                       |         
                                                     |     } while (t8 == 0);
    0x00004730 lw t8, (ra)                           |     t8 = *(ra);
                                                     |     if (t8 == s6) {
    0x00004734 bne t8, s6, 0x4794                    |         
    0x00004738 nop                                   |         
    0x0000473c lw t8, 0x18(ra)                       |         t8 = *((ra + 6));
    0x00004740 andi t8, t8, 2                        |         t8 &= 2;
    0x00004744 lw t8, -0x7fd8(gp)                    |         t8 = *((gp - 8182));
                                                     |         if (t8 != 0) {
    0x00004748 bnez t8, 0x4794                       |             goto label_38;
                                                     |         }
    0x0000474c addiu a2, zero, 7                     |         a2 = 7;
    0x00004750 lw v0, 0x154(fp)                      |         v0 = *(var_154h);
    0x00004754 lw a0, 0x71b8(t8)                     |         a0 = *((t8 + 7278));
    0x00004758 lw t8, 8(ra)                          |         t8 = *((ra + 2));
                                                     |         if (v0 == 0) {
    0x0000475c movn a0, s7, v0                       |             a0 = s7;
                                                     |         }
    0x00004760 lw v0, (s2)                           |         v0 = *(s2);
    0x00004764 lw v1, 0x10(ra)                       |         v1 = *((ra + 4));
    0x00004768 addiu a1, v0, -1                      |         a1 = v0 + -1;
    0x0000476c negu v0, v0                           |         __asm ("negu v0, v0");
    0x00004770 and a1, t8, a1                        |         a1 = t8 & a1;
    0x00004774 and t8, t8, v0                        |         t8 &= v0;
    0x00004778 addu a1, a1, v1                       |         a1 += v1;
    0x0000477c addu a0, a0, t8                       |         a0 += t8;
    0x00004780 addiu v0, zero, 0x101d                |         v0 = 0x101d;
    0x00004784 syscall                               |         __asm ("syscall");
    0x00004788 lw v1, -0x7fdc(gp)                    |         v1 = *(gp);
                                                     |         if (a3 == 0) {
    0x0000478c beqz a3, 0x4794                       |             goto label_38;
                                                     |         }
    0x00004790 sw v0, (v1)                           |         *(v1) = v0;
                                                     |     }
                                                     | label_38:
    0x00004794 addiu s3, s3, 1                       |     s3++;
    0x00004798 addiu ra, ra, 0x20                    |     ra += 0x20;
    0x0000479c b 0x4720                              |     goto label_9;
                                                     | label_37:
    0x000047a0 move a2, s4                           |     a2 = s4;
    0x000047a4 lw a0, 0x1b0(fp)                      |     a0 = *(arg_1b0h);
    0x000047a8 lw a1, 0x15c(fp)                      |     a1 = *(var_15ch);
    0x000047ac lw a3, 0x150(fp)                      |     a3 = *(var_150h);
    0x000047b0 sw zero, 0x10(sp)                     |     *(var_10h_2) = 0;
    0x000047b4 jalr t9                               |     t9 ();
    0x000047b8 lw t8, 0xbc(fp)                       |     t8 = *(var_bch);
    0x000047bc move s1, v0                           |     s1 = v0;
    0x000047c0 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x000047c4 sw t8, 0x118(v0)                      |     *((v0 + 70)) = t8;
    0x000047c8 lw t8, 0xcc(fp)                       |     t8 = *(var_cch);
    0x000047cc lw s6, 0x164(fp)                      |     s6 = *(var_164h);
    0x000047d0 sw t8, 0x120(v0)                      |     *(v0) = t8;
    0x000047d4 lw t8, 0x1c(s0)                       |     t8 = *((s0 + 7));
    0x000047d8 sw s6, 0x10c(v0)                      |     *((v0 + 67)) = s6;
    0x000047dc addu t8, s7, t8                       |     t8 = s7 + t8;
    0x000047e0 sw t8, 0x108(v0)                      |     *(v0) = t8;
    0x000047e4 lhu t8, 0x2c(s0)                      |     t8 = *((s0 + 22));
    0x000047e8 lw s6, 0x168(fp)                      |     s6 = *(var_168h);
    0x000047ec sw t8, 0x104(v0)                      |     *((v0 + 65)) = t8;
    0x000047f0 lw t8, 0x4c(v0)                       |     t8 = *((v0 + 19));
    0x000047f4 sw s7, 0x34(v0)                       |     *((v0 + 13)) = s7;
    0x000047f8 or s5, t8, s5                         |     s5 = t8 | s5;
    0x000047fc sw s6, 0x110(v0)                      |     *(v0) = s6;
    0x00004800 sw s5, 0x4c(v0)                       |     *((v0 + 19)) = s5;
    0x00004804 lw s5, 0x158(fp)                      |     s5 = *(var_158h);
    0x00004808 sw zero, 0x11c(v0)                    |     *(v0) = 0;
                                                     |     if (s5 != 0) {
    0x0000480c beqz s5, 0x487c                       |         
    0x00004810 addiu t8, zero, -1                    |         t8 = -1;
    0x00004814 sw t8, 0x28(v0)                       |         *((v0 + 10)) = t8;
    0x00004818 lw t8, 0x14(s5)                       |         t8 = *((s5 + 5));
    0x0000481c sw t8, 0x1c(v0)                       |         *((v0 + 7)) = t8;
    0x00004820 lw t8, 0x1c(s5)                       |         t8 = *((s5 + 7));
    0x00004824 sw t8, 0x20(v0)                       |         *((v0 + 8)) = t8;
    0x00004828 lw v0, 8(s5)                          |         v0 = *((s5 + 2));
                                                     |         if (t8 == 0) {
    0x0000482c bnez t8, 0x4838                       |             
    0x00004830 sw zero, 0x24(s1)                     |             *((s1 + 9)) = 0;
    0x00004834 b 0x4844                              |             
                                                     |         } else {
    0x00004838 addiu t8, t8, -1                      |             t8 += -1;
    0x0000483c and t8, t8, v0                        |             t8 &= v0;
    0x00004840 sw t8, 0x24(s1)                       |             *((s1 + 9)) = t8;
                                                     |         }
    0x00004844 lw s6, 0x158(fp)                      |         s6 = *(var_158h);
    0x00004848 lw t9, -0x7f38(gp)                    |         t9 = *(gp);
    0x0000484c lw t8, 0x10(s6)                       |         t8 = *((s6 + 4));
    0x00004850 sw v0, 0x14(s1)                       |         *((s1 + 5)) = v0;
    0x00004854 sw t8, 0x18(s1)                       |         *((s1 + 6)) = t8;
    0x00004858 jalr t9                               |         t9 ();
    0x0000485c lw t8, 0x14(s1)                       |         t8 = *((s1 + 5));
    0x00004860 lw gp, 0x18(fp)                       |         gp = *(var_18h);
    0x00004864 sw v0, 0x2c(s1)                       |         *((s1 + 11)) = v0;
                                                     |         if (t8 == 0) {
    0x00004868 beqz t8, 0x487c                       |             goto label_39;
                                                     |         }
    0x0000486c lw v0, 8(s6)                          |         v0 = *((s6 + 2));
    0x00004870 lw t8, (s1)                           |         t8 = *(s1);
    0x00004874 addu t8, v0, t8                       |         t8 = v0 + t8;
    0x00004878 sw t8, 0x14(s1)                       |         *((s1 + 5)) = t8;
                                                     |     }
                                                     | label_39:
    0x0000487c lw s5, 0x1ac(fp)                      |     s5 = *(arg_1ach);
    0x00004880 lw s3, (s5)                           |     s3 = *(s5);
    0x00004884 lw t9, -0x7f84(gp)                    |     t9 = sym._dl_malloc;
                                                     |     if (s3 == 0) {
    0x00004888 beqz s3, 0x48d8                       |         goto label_40;
                                                     |     }
    0x0000488c addiu a0, zero, 0x18                  |     a0 = 0x18;
    0x00004890 jalr t9                               |     t9 ();
    0x00004894 lw gp, 0x18(fp)                       |     gp = *(var_18h);
    0x00004898 sw v0, 0x10(s3)                       |     *((s3 + 4)) = v0;
    0x0000489c lw t8, (s5)                           |     t8 = *(s5);
    0x000048a0 lw t8, 0x10(t8)                       |     t8 = *((t8 + 4));
    0x000048a4 addiu v0, t8, 0x18                    |     v0 = t8 + 0x18;
                                                     |     do {
    0x000048a8 addiu t8, t8, 1                       |         t8++;
                                                     |         if (t8 == v0) {
    0x000048ac beq t8, v0, 0x48b8                    |             goto label_41;
                                                     |         }
    0x000048b0 sb zero, -1(t8)                       |         *((t8 - 1)) = 0;
    0x000048b4 b 0x48a8                              |         
                                                     |     } while (1);
                                                     | label_41:
    0x000048b8 lw s6, 0x1ac(fp)                      |     s6 = *(arg_1ach);
    0x000048bc lw t8, (s6)                           |     t8 = *(s6);
    0x000048c0 lw v0, 0x10(t8)                       |     v0 = *((t8 + 4));
    0x000048c4 sw t8, 0x14(v0)                       |     *((v0 + 5)) = t8;
    0x000048c8 lw t8, (s6)                           |     t8 = *(s6);
    0x000048cc lw t8, 0x10(t8)                       |     t8 = *((t8 + 4));
    0x000048d0 sw t8, (s6)                           |     *(s6) = t8;
    0x000048d4 lw s5, 0x1ac(fp)                      |     s5 = *(arg_1ach);
                                                     | label_40:
    0x000048d8 lw t8, (s5)                           |     t8 = *(s5);
    0x000048dc sw s1, (t8)                           |     *(t8) = s1;
    0x000048e0 lhu t8, 0x48(s1)                      |     t8 = *((s1 + 36));
    0x000048e4 sw zero, 0x38(s1)                     |     *((s1 + 14)) = 0;
    0x000048e8 addiu t8, t8, 1                       |     t8++;
    0x000048ec sh t8, 0x48(s1)                       |     *((s1 + 36)) = t8;
    0x000048f0 lw t8, 0x2c(fp)                       |     t8 = *(var_2ch);
    0x000048f4 lw v0, -0x7f34(gp)                    |     v0 = sym._dl_runtime_resolve;
    0x000048f8 bnez t8, 0x491c                       |     
                                                     |     while (v1 == 0) {
    0x000048fc move a0, s0                           |         a0 = s0;
    0x00004900 lw a1, (s2)                           |         a1 = *(s2);
    0x00004904 addiu v0, zero, 0xffb                 |         v0 = 0xffb;
    0x00004908 syscall                               |         __asm ("syscall");
                                                     | label_20:
    0x0000490c lw t8, -0x7fdc(gp)                    |         t8 = *(gp);
                                                     |         if (a3 == 0) {
    0x00004910 beqz a3, 0x4968                       |             goto label_16;
                                                     |         }
    0x00004914 sw v0, (t8)                           |         *(t8) = v0;
    0x00004918 b 0x4968                              |         goto label_16;
    0x0000491c sw s1, 4(t8)                          |         *((t8 + 4)) = s1;
    0x00004920 sw v0, (t8)                           |         *(t8) = v0;
    0x00004924 lw v0, 0x100(s1)                      |         v0 = *((s1 + 64));
    0x00004928 lw v1, -0x7f30(gp)                    |         v1 = sym._dl_runtime_pltresolve;
                                                     |         if (v0 != 0) {
    0x0000492c beqz v0, 0x4938                       |             
    0x00004930 sw s1, 4(v0)                          |             *((v0 + 1)) = s1;
    0x00004934 sw v1, (v0)                           |             *(v0) = v1;
                                                     |         }
    0x00004938 addiu t8, t8, 8                       |         t8 += 8;
    0x0000493c addiu v0, zero, 2                     |         v0 = 2;
                                                     | label_10:
    0x00004940 lw v1, 0xf8(s1)                       |         v1 = *((s1 + 62));
    0x00004944 sltu v1, v0, v1                       |         v1 = (v0 < v1) ? 1 : 0;
    0x00004948 addiu v0, v0, 1                       |         v0++;
    0x0000494c beqz v1, 0x48fc                       |         
                                                     |     }
    0x00004950 lw a0, (t8)                           |     a0 = *(t8);
    0x00004954 lw v1, (s1)                           |     v1 = *(s1);
    0x00004958 addiu t8, t8, 4                       |     t8 += 4;
    0x0000495c addu v1, a0, v1                       |     v1 = a0 + v1;
    0x00004960 sw v1, -4(t8)                         |     *((t8 - 4)) = v1;
    0x00004964 b 0x4940                              |     goto label_10;
                                                     | label_16:
    0x00004968 move sp, fp                           |     
    0x0000496c move v0, s1                           |     v0 = s1;
    0x00004970 lw ra, 0x1a4(sp)                      |     ra = *(var_1a4h);
    0x00004974 lw fp, 0x1a0(sp)                      |     fp = *(var_1a0h);
    0x00004978 lw s7, 0x19c(sp)                      |     s7 = *(var_19ch);
    0x0000497c lw s6, 0x198(sp)                      |     s6 = *(var_198h);
    0x00004980 lw s5, 0x194(sp)                      |     s5 = *(var_194h);
    0x00004984 lw s4, 0x190(sp)                      |     s4 = *(var_190h);
    0x00004988 lw s3, 0x18c(sp)                      |     s3 = *(var_18ch);
    0x0000498c lw s2, 0x188(sp)                      |     s2 = *(var_188h);
    0x00004990 lw s1, 0x184(sp)                      |     s1 = *(var_184h);
    0x00004994 lw s0, 0x180(sp)                      |     s0 = *(var_180h);
    0x00004998 addiu sp, sp, 0x1a8                   |     
    0x0000499c jr ra                                 |     return v0;
                                                     | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x2594 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym._dl_malloc ()            | void dl_malloc () {
    0x00002594 lui gp, 2                 |     
    0x00002598 addiu gp, gp, -0x3584     |     
    0x0000259c addu gp, gp, t9           |     gp += t9;
    0x000025a0 addiu sp, sp, -0x30       |     
    0x000025a4 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x000025a8 sw fp, 0x28(sp)           |     *(var_28h) = fp;
    0x000025ac sw s3, 0x24(sp)           |     *(var_24h) = s3;
    0x000025b0 sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x000025b4 sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x000025b8 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x000025bc move fp, sp               |     fp = sp;
    0x000025c0 lw t8, -0x7f8c(gp)        |     t8 = *(gp);
    0x000025c4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000025c8 lw t9, (t8)               |     t9 = *(t8);
    0x000025cc lw ra, 0x2c(fp)           |     ra = *(var_2ch);
                                         |     if (t9 != 0) {
    0x000025d0 beqz t9, 0x25f4           |         
    0x000025d4 move sp, fp               |         
    0x000025d8 lw fp, 0x28(sp)           |         fp = *(var_28h);
    0x000025dc lw s3, 0x24(sp)           |         s3 = *(var_24h);
    0x000025e0 lw s2, 0x20(sp)           |         s2 = *(var_20h);
    0x000025e4 lw s1, 0x1c(sp)           |         s1 = *(var_1ch);
    0x000025e8 lw s0, 0x18(sp)           |         s0 = *(var_18h);
    0x000025ec addiu sp, sp, 0x30        |         
    0x000025f0 jr t9                     |         t9 ();
                                         |     }
    0x000025f4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000025f8 move s0, a0               |     s0 = a0;
    0x000025fc lw s1, -0x7fd8(gp)        |     s1 = *((gp - 8182));
    0x00002600 lw t8, -0x7f98(gp)        |     t8 = *(gp);
    0x00002604 lw a0, 0x71d0(s1)         |     a0 = *((s1 + 7284));
    0x00002608 lw v1, 0x71cc(v0)         |     v1 = *((v0 + 7283));
    0x0000260c lw t8, (t8)               |     t8 = *(t8);
    0x00002610 subu v1, a0, v1           |     __asm ("subu v1, a0, v1");
    0x00002614 addu v1, v1, s0           |     v1 += s0;
    0x00002618 sltu v1, t8, v1           |     v1 = (t8 < v1) ? 1 : 0;
    0x0000261c move s3, v0               |     s3 = v0;
                                         |     if (v1 != 0) {
    0x00002620 beqz v1, 0x26c8           |         
    0x00002624 sltu v0, s0, t8           |         v0 = (s0 < t8) ? 1 : 0;
    0x00002628 move a1, s0               |         a1 = s0;
                                         |         if (v0 != 0) {
    0x0000262c beqz v0, 0x263c           |             
    0x00002630 addiu a1, t8, -1          |             a1 = t8 + -1;
    0x00002634 addu a1, a1, s0           |             a1 += s0;
    0x00002638 and a1, a1, t8            |             a1 &= t8;
                                         |         }
    0x0000263c lui a3, 0x400             |         a3 = 0x4000000;
    0x00002640 move a0, zero             |         a0 = 0;
    0x00002644 addiu a2, zero, 3         |         a2 = 3;
    0x00002648 addiu a3, a3, 0x802       |         a3 += 0x802;
    0x0000264c move s2, zero             |         s2 = 0;
    0x00002650 addiu v0, zero, -1        |         v0 = -1;
    0x00002654 addiu sp, sp, -0x20       |         
    0x00002658 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x0000265c sw s2, 0x14(sp)           |         *(var_14h) = s2;
    0x00002660 addiu v0, zero, 0xffa     |         v0 = 0xffa;
    0x00002664 syscall                   |         __asm ("syscall");
    0x00002668 addiu sp, sp, 0x20        |         
    0x0000266c addiu t8, zero, -1        |         t8 = -1;
                                         |         if (a3 != 0) {
    0x00002670 beqz a3, 0x2684           |             
    0x00002674 lw t8, -0x7fdc(gp)        |             t8 = *(gp);
    0x00002678 sw v0, (t8)               |             *(t8) = v0;
    0x0000267c addiu v0, zero, -1        |             v0 = -1;
    0x00002680 addiu t8, zero, -1        |             t8 = -1;
                                         |         }
    0x00002684 sw v0, 0x71d0(s1)         |         *((s1 + 7284)) = v0;
    0x00002688 sw v0, 0x71cc(s3)         |         *((s3 + 7283)) = v0;
                                         |         if (v0 != t8) {
    0x0000268c bne v0, t8, 0x26c8        |             goto label_0;
                                         |         }
    0x00002690 lw t8, -0x7f90(gp)        |         t8 = *(gp);
    0x00002694 addiu a0, zero, 2         |         a0 = 2;
    0x00002698 lw a1, -0x7fe4(gp)        |         a1 = *((gp - 8185));
    0x0000269c lw t9, -0x7f94(gp)        |         t9 = sym._dl_dprintf
    0x000026a0 lw a2, (t8)               |         a2 = *(t8);
    0x000026a4 addiu a1, a1, 0x6370      |         a1 += str._s:_mmap_of_a_spare_page_failed__n;
    0x000026a8 jalr t9                   |         t9 ();
    0x000026ac addiu a0, zero, 0x14      |         a0 = 0x14;
    0x000026b0 lw gp, 0x10(fp)           |         gp = *(var_10h);
    0x000026b4 addiu v0, zero, 0xfa1     |         v0 = 0xfa1;
    0x000026b8 syscall                   |         __asm ("syscall");
    0x000026bc lw t8, -0x7fdc(gp)        |         t8 = *(gp);
                                         |         if (a3 == 0) {
    0x000026c0 beqz a3, 0x26c8           |             goto label_0;
                                         |         }
    0x000026c4 sw v0, (t8)               |         *(t8) = v0;
                                         |     }
                                         | label_0:
    0x000026c8 lw v0, 0x71d0(s1)         |     v0 = *((s1 + 7284));
    0x000026cc addiu t8, zero, -4        |     t8 = -4;
    0x000026d0 move sp, fp               |     
    0x000026d4 addu s0, v0, s0           |     s0 = v0 + s0;
    0x000026d8 addiu s0, s0, 3           |     s0 += 3;
    0x000026dc and s0, s0, t8            |     s0 &= t8;
    0x000026e0 lw ra, 0x2c(sp)           |     ra = *(var_2ch);
    0x000026e4 sw s0, 0x71d0(s1)         |     *((s1 + 7284)) = s0;
    0x000026e8 lw fp, 0x28(sp)           |     fp = *(var_28h);
    0x000026ec lw s3, 0x24(sp)           |     s3 = *(var_24h);
    0x000026f0 lw s2, 0x20(sp)           |     s2 = *(var_20h);
    0x000026f4 lw s1, 0x1c(sp)           |     s1 = *(var_1ch);
    0x000026f8 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x000026fc addiu sp, sp, 0x30        |     
    0x00002700 jr ra                     |     return v0;
                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x3080 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym._dl_parse_relocation_information ()      | void dl_parse_relocation_information () {
    0x00003080 lui gp, 2                                 |     
    0x00003084 addiu gp, gp, -0x4070                     |     
    0x00003088 addu gp, gp, t9                           |     gp += t9;
    0x0000308c addiu sp, sp, -0x68                       |     
    0x00003090 sw ra, 0x64(sp)                           |     *(var_64h) = ra;
    0x00003094 sw fp, 0x60(sp)                           |     *(var_60h) = fp;
    0x00003098 sw s7, 0x5c(sp)                           |     *(var_5ch) = s7;
    0x0000309c sw s6, 0x58(sp)                           |     *(var_58h) = s6;
    0x000030a0 sw s5, 0x54(sp)                           |     *(var_54h) = s5;
    0x000030a4 sw s4, 0x50(sp)                           |     *(var_50h) = s4;
    0x000030a8 sw s3, 0x4c(sp)                           |     *(var_4ch) = s3;
    0x000030ac sw s2, 0x48(sp)                           |     *(var_48h) = s2;
    0x000030b0 sw s1, 0x44(sp)                           |     *(var_44h) = s1;
    0x000030b4 sw s0, 0x40(sp)                           |     *(var_40h) = s0;
    0x000030b8 move fp, sp                               |     fp = sp;
    0x000030bc lw s0, (a0)                               |     s0 = *(a0);
    0x000030c0 srl a3, a3, 3                             |     a3 >>= 3;
    0x000030c4 sw gp, 0x18(sp)                           |     *(var_18h) = gp;
    0x000030c8 move s3, a1                               |     s3 = a1;
    0x000030cc lw v0, 0x80(s0)                           |     v0 = *((s0 + 32));
    0x000030d0 move s1, a2                               |     s1 = a2;
    0x000030d4 lw t8, 0x7c(s0)                           |     t8 = *((s0 + 31));
    0x000030d8 move s2, zero                             |     s2 = 0;
    0x000030dc sw v0, 0x2c(fp)                           |     *(var_2ch) = v0;
    0x000030e0 lw v0, 0x74(s0)                           |     v0 = *((s0 + 29));
    0x000030e4 sw a3, 0x28(fp)                           |     *(var_28h) = a3;
    0x000030e8 sw t8, 0x30(fp)                           |     *(var_30h) = t8;
    0x000030ec sw v0, 0x34(fp)                           |     *(var_34h) = v0;
                                                         | label_0:
    0x000030f0 lw v0, 0x28(fp)                           |     v0 = *(var_28h);
    0x000030f4 lw v0, 0x30(fp)                           |     v0 = *(var_30h);
                                                         |     if (s2 == v0) {
    0x000030f8 beq s2, v0, 0x3410                        |         goto label_1;
                                                         |     }
    0x000030fc lw t8, (s0)                               |     t8 = *(s0);
    0x00003100 lw t1, 4(s1)                              |     t1 = *((s1 + 1));
    0x00003104 lw v1, (s1)                               |     v1 = *(s1);
    0x00003108 srl s6, t1, 8                             |     s6 = t1 >> 8;
    0x0000310c addu s7, v1, t8                           |     s7 = v1 + t8;
    0x00003110 sll t0, s6, 4                             |     t0 = s6 << 4;
    0x00003114 lw t8, 0x2c(fp)                           |     t8 = *(var_2ch);
    0x00003118 andi s4, t1, 0xff                         |     s4 = t1 & 0xff;
    0x0000311c addu t0, t8, t0                           |     t0 = t8 + t0;
    0x00003120 lw t2, (t0)                               |     t2 = *(t0);
    0x00003124 addu s5, v0, t2                           |     s5 = v0 + t2;
    0x00003128 addiu v0, s4, -0x7e                       |     v0 = s4 + -0x7e;
    0x0000312c sltiu v0, v0, 2                           |     v0 = (v0 < 2) ? 1 : 0;
    0x00003130 addiu t3, zero, 2                         |     t3 = 2;
    0x00003134 bnez v0, 0x3140                           |     
                                                         |     while (v0 == t3) {
    0x00003138 move v0, zero                             |         v0 = 0;
    0x0000313c b 0x31a8                                  |         goto label_2;
    0x00003140 xori v0, s4, 0x7f                         |         v0 = s4 ^ 0x7f;
    0x00003144 move t8, zero                             |         t8 = 0;
    0x00003148 sltiu a3, v0, 1                           |         a3 = (v0 < 1) ? 1 : 0;
                                                         |         if (v0 == 0) {
    0x0000314c movn t8, t3, v0                           |             t8 = t3;
                                                         |         }
    0x00003150 addiu a0, fp, 0x20                        |         a0 = fp + 0x20;
    0x00003154 lw t9, -0x7f9c(gp)                        |         t9 = sym._dl_find_hash;
    0x00003158 move a1, s3                               |         a1 = s3;
    0x0000315c sw t0, 0x20(fp)                           |         *(var_20h) = t0;
    0x00003160 move a2, s0                               |         a2 = s0;
    0x00003164 sw a0, 0x10(sp)                           |         *(var_10h) = a0;
    0x00003168 or a3, a3, t8                             |         a3 |= t8;
    0x0000316c sw t0, 0x38(fp)                           |         *(var_38h) = t0;
    0x00003170 move a0, s5                               |         a0 = s5;
    0x00003174 sw t3, 0x3c(fp)                           |         *(var_3ch) = t3;
    0x00003178 sw zero, 0x24(fp)                         |         *(var_24h) = 0;
    0x0000317c jalr t9                                   |         t9 ();
    0x00003180 lw gp, 0x18(fp)                           |         gp = *(var_18h);
    0x00003184 lw t0, 0x38(fp)                           |         t0 = *(var_38h);
    0x00003188 lw t3, 0x3c(fp)                           |         t3 = *(var_3ch);
                                                         |         if (v0 != 0) {
    0x0000318c bnez v0, 0x31a8                           |             goto label_2;
                                                         |         }
    0x00003190 lbu v0, 0xc(t0)                           |         v0 = *((t0 + 12));
    0x00003194 srl v0, v0, 4                             |         v0 >>= 4;
    0x00003198 beq v0, t3, 0x3138                        |         
                                                         |     }
    0x0000319c nop                                       |     
    0x000031a0 addiu v0, zero, 1                         |     v0 = 1;
    0x000031a4 b 0x3414                                  |     goto label_3;
                                                         | label_2:
    0x000031a8 slti a0, s4, 0x28                         |     a0 = (s4 < 0x28) ? 1 : 0;
                                                         |     if (s6 == 0) {
    0x000031ac bnez s6, 0x31b4                           |         
    0x000031b0 lw v0, 4(t0)                              |         v0 = *((t0 + 1));
                                                         |     }
    0x000031b4 slti a0, s4, 0x26                         |     a0 = (s4 < 0x26) ? 1 : 0;
                                                         |     if (a0 != 0) {
    0x000031b8 beqz a0, 0x31dc                           |         
                                                         |         if (a0 == 0) {
    0x000031bc beqz a0, 0x321c                           |             goto label_4;
                                                         |         }
    0x000031c0 nop                                       |         
    0x000031c4 addiu v0, zero, 3                         |         v0 = 3;
                                                         |         if (s4 == 0) {
    0x000031c8 beqz s4, 0x3404                           |             goto label_5;
                                                         |         }
    0x000031cc lw v0, -0x7f90(gp)                        |         v0 = *(gp);
                                                         |         if (s4 == v0) {
    0x000031d0 beq s4, v0, 0x3304                        |             goto label_6;
                                                         |         }
    0x000031d4 addiu a0, zero, 2                         |         a0 = 2;
    0x000031d8 b 0x3394                                  |         goto label_7;
                                                         |     }
    0x000031dc addiu a0, zero, 0x33                      |     a0 = 0x33;
    0x000031e0 slti a0, s4, 0x34                         |     a0 = (s4 < 0x34) ? 1 : 0;
                                                         |     if (s4 != a0) {
    0x000031e4 beq s4, a0, 0x335c                        |         
    0x000031e8 addiu a0, zero, 0x7e                      |         a0 = 0x7e;
                                                         |         if (a0 != 0) {
    0x000031ec beqz a0, 0x3204                           |             
    0x000031f0 addiu a0, zero, 0x2f                      |             a0 = 0x2f;
                                                         |             if (s4 == a0) {
    0x000031f4 beq s4, a0, 0x321c                        |                 goto label_4;
                                                         |             }
    0x000031f8 nop                                       |             
    0x000031fc lw v0, -0x7f90(gp)                        |             v0 = *(gp);
    0x00003200 b 0x3390                                  |             goto label_8;
                                                         |         }
    0x00003204 addiu a0, zero, 0x7f                      |         a0 = 0x7f;
                                                         |         if (s4 == a0) {
    0x00003208 beq s4, a0, 0x3364                        |             goto label_9;
                                                         |         }
                                                         |         if (s4 == a0) {
    0x0000320c beq s4, a0, 0x335c                        |             goto label_10;
                                                         |         }
    0x00003210 nop                                       |         
    0x00003214 lw v0, -0x7f90(gp)                        |         v0 = *(gp);
    0x00003218 b 0x3390                                  |         goto label_8;
                                                         | label_4:
    0x0000321c lbu a0, 0xc(t0)                           |         a0 = *((t0 + 12));
    0x00003220 move s6, s0                               |         s6 = s0;
    0x00003224 sw t0, 0x20(fp)                           |         *(var_20h) = t0;
    0x00003228 addiu t0, s4, -0x26                       |         t0 = s4 + -0x26;
    0x0000322c srl a0, a0, 4                             |         a0 >>= 4;
    0x00003230 sw zero, 0x24(fp)                         |         *(var_24h) = 0;
                                                         |         if (a0 != 0) {
    0x00003234 beqz a0, 0x3280                           |             
    0x00003238 sltiu v0, t0, 2                           |             v0 = (t0 < 2) ? 1 : 0;
    0x0000323c xori t8, s4, 0x2f                         |             t8 = s4 ^ 0x2f;
                                                         |             if (v0 == 0) {
    0x00003240 bnez v0, 0x324c                           |                 
    0x00003244 sltiu a3, t8, 1                           |                 a3 = (t8 < 1) ? 1 : 0;
    0x00003248 b 0x3250                                  |                 
                                                         |             } else {
    0x0000324c addiu a3, zero, 1                         |                 a3 = 1;
                                                         |             }
    0x00003250 lw t9, -0x7f9c(gp)                        |             t9 = sym._dl_find_hash;
    0x00003254 addiu t8, fp, 0x20                        |             t8 = fp + 0x20;
    0x00003258 sw t0, 0x38(fp)                           |             *(var_38h) = t0;
    0x0000325c move a0, s5                               |             a0 = s5;
    0x00003260 sw t8, 0x10(sp)                           |             *(var_10h) = t8;
    0x00003264 move a1, s3                               |             a1 = s3;
    0x00003268 move a2, s0                               |             a2 = s0;
    0x0000326c jalr t9                                   |             t9 ();
    0x00003270 lw s6, 0x24(fp)                           |             s6 = *(var_24h);
    0x00003274 lw gp, 0x18(fp)                           |             gp = *(var_18h);
    0x00003278 lw t0, 0x38(fp)                           |             t0 = *(var_38h);
                                                         |             if (s6 == 0) {
    0x0000327c movz s6, s0, s6                           |                 s6 = s0;
                                                         |                 goto label_11;
                                                         |             }
                                                         |         }
                                                         | label_11:
    0x00003280 sltiu t8, t0, 0xb                         |         t8 = (t0 < 0xb) ? 1 : 0;
    0x00003284 addiu t8, zero, 1                         |         t8 = 1;
                                                         |         if (t8 == 0) {
    0x00003288 beqz t8, 0x3404                           |             goto label_5;
                                                         |         }
    0x0000328c sllv t0, t8, t0                           |         t0 = t8 << t0;
    0x00003290 andi t8, t0, 0xa                          |         t8 = t0 & 0xa;
                                                         |         if (t8 == 0) {
    0x00003294 bnez t8, 0x32c0                           |             
    0x00003298 nop                                       |             
    0x0000329c andi t8, t0, 5                            |             t8 = t0 & 5;
    0x000032a0 andi t0, t0, 0x600                        |             t0 &= 0x600;
                                                         |             if (t8 == 0) {
    0x000032a4 bnez t8, 0x32b8                           |                 
    0x000032a8 addiu t8, zero, -1                        |                 t8 = -1;
                                                         |                 if (t0 != 0) {
    0x000032ac bnez t0, 0x32cc                           |                     goto label_12;
                                                         |                 }
    0x000032b0 addiu s2, s2, 1                           |                 s2++;
    0x000032b4 b 0x3408                                  |                 goto label_13;
                                                         |             }
    0x000032b8 lw t8, 0x2c(s6)                           |             t8 = *((s6 + 11));
    0x000032bc b 0x3354                                  |             
                                                         |         } else {
    0x000032c0 lw t8, (s7)                               |             t8 = *(s7);
    0x000032c4 addiu t8, t8, -0x8000                     |             t8 += -0x8000;
    0x000032c8 b 0x32fc                                  |             goto label_14;
                                                         | label_12:
    0x000032cc lw a0, 0x28(s6)                           |             a0 = *((s6 + 10));
    0x000032d0 lw t9, -0x7f58(gp)                        |             t9 = *(gp);
                                                         |             if (a0 == t8) {
    0x000032d4 bne a0, t8, 0x32ec                        |                 
    0x000032d8 move a0, s6                               |                 a0 = s6;
    0x000032dc sw v0, 0x38(fp)                           |                 *(var_38h) = v0;
    0x000032e0 jalr t9                                   |                 t9 ();
    0x000032e4 lw gp, 0x18(fp)                           |                 gp = *(var_18h);
    0x000032e8 lw v0, 0x38(fp)                           |                 v0 = *(var_38h);
                                                         |             }
    0x000032ec lw t8, 0x28(s6)                           |             t8 = *((s6 + 10));
    0x000032f0 lw a0, (s7)                               |             a0 = *(s7);
    0x000032f4 addiu t8, t8, -0x7000                     |             t8 += -0x7000;
    0x000032f8 addu t8, t8, a0                           |             t8 += a0;
                                                         | label_14:
    0x000032fc addu v0, t8, v0                           |             v0 = t8 + v0;
    0x00003300 b 0x335c                                  |             goto label_10;
                                                         | label_6:
    0x00003304 lw t8, (s7)                               |             t8 = *(s7);
                                                         |             if (s6 != 0) {
    0x00003308 beqz s6, 0x334c                           |                 
    0x0000330c lw v0, 0xf4(s0)                           |                 v0 = *((s0 + 61));
    0x00003310 sltu a0, s6, v0                           |                 a0 = (s6 < v0) ? 1 : 0;
                                                         |                 if (a0 != 0) {
    0x00003314 beqz a0, 0x332c                           |                     
    0x00003318 nop                                       |                     
    0x0000331c lw a0, (s0)                               |                     a0 = *(s0);
    0x00003320 lw v0, 4(t0)                              |                     v0 = *((t0 + 1));
    0x00003324 addu v0, a0, v0                           |                     v0 = a0 + v0;
    0x00003328 b 0x3350                                  |                     
                                                         |                 } else {
    0x0000332c lw a0, 0xf8(s0)                           |                     a0 = *((s0 + 62));
                                                         |                 }
    0x00003330 subu v0, a0, v0                           |                 __asm ("subu v0, a0, v0");
    0x00003334 addu t1, v0, s6                           |                 t1 = v0 + s6;
    0x00003338 lw v0, 0x34(fp)                           |                 v0 = *(var_34h);
    0x0000333c sll t1, t1, 2                             |                 t1 <<= 2;
    0x00003340 addu t1, v0, t1                           |                 t1 = v0 + t1;
    0x00003344 lw v0, (t1)                               |                 v0 = *(t1);
    0x00003348 b 0x3350                                  |                 
                                                         |             } else {
    0x0000334c lw v0, (s0)                               |                 v0 = *(s0);
                                                         |             }
    0x00003350 addu t8, t8, v0                           |             t8 += v0;
                                                         |         }
    0x00003354 sw t8, (s7)                               |         *(s7) = t8;
    0x00003358 b 0x3404                                  |         goto label_5;
                                                         |     }
                                                         | label_10:
    0x0000335c sw v0, (s7)                               |     *(s7) = v0;
    0x00003360 b 0x3404                                  |     goto label_5;
                                                         | label_9:
    0x00003364 move t8, zero                             |     t8 = 0;
                                                         |     if (v0 == 0) {
    0x00003368 beqz v0, 0x3404                           |         goto label_5;
                                                         |     }
    0x0000336c lw a0, 8(t0)                              |     a0 = *((t0 + 2));
                                                         |     if (t8 == a0) {
                                                         |         do {
    0x00003370 beq t8, a0, 0x3404                        |             goto label_5;
                                                         |         }
    0x00003374 nop                                       |         
    0x00003378 addu a1, t8, v0                           |         a1 = t8 + v0;
    0x0000337c lbu a2, (a1)                              |         a2 = *(a1);
    0x00003380 addu a1, t8, s7                           |         a1 = t8 + s7;
    0x00003384 addiu t8, t8, 1                           |         t8++;
    0x00003388 sb a2, (a1)                               |         *(a1) = a2;
    0x0000338c b 0x3370                                  |         
                                                         |     } while (1);
                                                         | label_8:
    0x00003390 addiu a0, zero, 2                         |     a0 = 2;
                                                         | label_7:
    0x00003394 lw a1, -0x7fe4(gp)                        |     a1 = *((gp - 8185));
    0x00003398 lw t9, -0x7f94(gp)                        |     t9 = sym._dl_dprintf
    0x0000339c lw a2, (v0)                               |     a2 = *(v0);
    0x000033a0 addiu a1, a1, 0x63c0                      |     a1 += str._n_s:_;
    0x000033a4 jalr t9                                   |     t9 ();
    0x000033a8 lw gp, 0x18(fp)                           |     gp = *(var_18h);
                                                         |     if (s6 != 0) {
    0x000033ac beqz s6, 0x33cc                           |         
    0x000033b0 lw t8, -0x7fe4(gp)                        |         t8 = *((gp - 8185));
    0x000033b4 addiu a0, zero, 2                         |         a0 = 2;
    0x000033b8 lw t9, -0x7f94(gp)                        |         t9 = sym._dl_dprintf
    0x000033bc move a2, s5                               |         a2 = s5;
    0x000033c0 addiu a1, t8, 0x63c8                      |         a1 = t8 + str.symbol__s:_;
    0x000033c4 jalr t9                                   |         t9 ();
    0x000033c8 lw gp, 0x18(fp)                           |         gp = *(var_18h);
                                                         |     }
    0x000033cc lw a1, -0x7fe4(gp)                        |     a1 = *((gp - 8185));
    0x000033d0 addiu a0, zero, 2                         |     a0 = 2;
    0x000033d4 lw t9, -0x7f94(gp)                        |     t9 = sym._dl_dprintf
    0x000033d8 move a2, s4                               |     a2 = s4;
    0x000033dc lw a3, 4(s0)                              |     a3 = *((s0 + 1));
    0x000033e0 addiu a1, a1, 0x63d8                      |     a1 += str.cant_handle_reloc_type__x_in_lib__s_n;
    0x000033e4 jalr t9                                   |     t9 ();
    0x000033e8 addiu a0, zero, 1                         |     a0 = 1;
    0x000033ec lw gp, 0x18(fp)                           |     gp = *(var_18h);
    0x000033f0 addiu v0, zero, 0xfa1                     |     v0 = 0xfa1;
    0x000033f4 syscall                                   |     __asm ("syscall");
    0x000033f8 lw t8, -0x7fdc(gp)                        |     t8 = *(gp);
                                                         |     if (a3 != 0) {
    0x000033fc beqz a3, 0x3404                           |         
    0x00003400 sw v0, (t8)                               |         *(t8) = v0;
                                                         |     }
                                                         | label_5:
    0x00003404 addiu s2, s2, 1                           |     s2++;
                                                         | label_13:
    0x00003408 addiu s1, s1, 8                           |     s1 += 8;
    0x0000340c b 0x30f0                                  |     goto label_0;
                                                         | label_1:
    0x00003410 move v0, zero                             |     v0 = 0;
                                                         | label_3:
    0x00003414 move sp, fp                               |     
    0x00003418 lw ra, 0x64(sp)                           |     ra = *(var_64h);
    0x0000341c lw fp, 0x60(sp)                           |     fp = *(var_60h);
    0x00003420 lw s7, 0x5c(sp)                           |     s7 = *(var_5ch);
    0x00003424 lw s6, 0x58(sp)                           |     s6 = *(var_58h);
    0x00003428 invalid                                   |     
    0x0000342c lw s4, 0x50(sp)                           |     s4 = *(var_50h);
    0x00003430 lw s3, 0x4c(sp)                           |     s3 = *(var_4ch);
    0x00003434 lw s2, 0x48(sp)                           |     s2 = *(var_48h);
    0x00003438 lw s1, 0x44(sp)                           |     s1 = *(var_44h);
    0x0000343c lw s0, 0x40(sp)                           |     s0 = *(var_40h);
    0x00003440 addiu sp, sp, 0x68                        |     
    0x00003444 jr ra                                     |     return v0;
                                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/ld-uClibc-0.9.33.so @ 0x38c0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym._dl_protect_relro ()     | void dl_protect_relro () {
    0x000038c0 lui gp, 2                 |     
    0x000038c4 addiu gp, gp, -0x48b0     |     
    0x000038c8 addu gp, gp, t9           |     gp += t9;
    0x000038cc addiu sp, sp, -0x28       |     
    0x000038d0 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x000038d4 sw fp, 0x20(sp)           |     *(var_20h) = fp;
    0x000038d8 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x000038dc move s0, a0               |     s0 = a0;
    0x000038e0 lw t8, (a0)               |     t8 = *(a0);
    0x000038e4 move fp, sp               |     fp = sp;
    0x000038e8 lw v0, 0x10c(a0)          |     v0 = *((a0 + 67));
    0x000038ec lw a1, 0x110(s0)          |     a1 = *(s0);
    0x000038f0 addu v0, v0, t8           |     v0 += t8;
    0x000038f4 lw t8, -0x7f98(gp)        |     t8 = *(gp);
    0x000038f8 addu a1, v0, a1           |     a1 = v0 + a1;
    0x000038fc sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00003900 lw t8, (t8)               |     t8 = *(t8);
    0x00003904 negu t8, t8               |     __asm ("negu t8, t8");
    0x00003908 and a0, t8, v0            |     a0 = t8 & v0;
    0x0000390c and a1, a1, t8            |     a1 &= t8;
    0x00003910 addiu a2, zero, 1         |     a2 = 1;
                                         |     if (a0 != a1) {
    0x00003914 beq a0, a1, 0x3970        |         
    0x00003918 subu a1, a1, a0           |         __asm ("subu a1, a1, a0");
    0x0000391c addiu v0, zero, 0x101d    |         v0 = 0x101d;
    0x00003920 syscall                   |         __asm ("syscall");
    0x00003924 lw t8, -0x7fdc(gp)        |         t8 = *(gp);
                                         |         if (a3 != 0) {
    0x00003928 beqz a3, 0x3934           |             
    0x0000392c sw v0, (t8)               |             *(t8) = v0;
    0x00003930 b 0x393c                  |             
                                         |             if (v0 >= 0) {
                                         |             } else {
    0x00003934 bgez v0, 0x3970           |                 goto label_0;
                                         |             }
    0x00003938 nop                       |             
                                         |         }
    0x0000393c lw a1, -0x7fe4(gp)        |         a1 = *((gp - 8185));
    0x00003940 addiu a0, zero, 2         |         a0 = 2;
    0x00003944 lw t9, -0x7f94(gp)        |         t9 = sym._dl_dprintf
    0x00003948 lw a2, 4(s0)              |         a2 = *((s0 + 1));
    0x0000394c addiu a1, a1, 0x6448      |         a1 += str._s:_cannot_apply_additional_memory_protection_after_relocation;
    0x00003950 jalr t9                   |         t9 ();
    0x00003954 move a0, zero             |         a0 = 0;
    0x00003958 lw gp, 0x10(fp)           |         gp = *(var_10h);
    0x0000395c addiu v0, zero, 0xfa1     |         v0 = 0xfa1;
    0x00003960 syscall                   |         __asm ("syscall");
    0x00003964 lw t8, -0x7fdc(gp)        |         t8 = *(gp);
                                         |         if (a3 == 0) {
    0x00003968 beqz a3, 0x3970           |             goto label_0;
                                         |         }
    0x0000396c sw v0, (t8)               |         *(t8) = v0;
                                         |     }
                                         | label_0:
    0x00003970 move sp, fp               |     
    0x00003974 lw ra, 0x24(fp)           |     ra = *(var_24h);
    0x00003978 lw fp, 0x20(sp)           |     fp = *(var_20h);
    0x0000397c lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x00003980 addiu sp, sp, 0x28        |     
    0x00003984 jr ra                     |     return v0;
                                         | }

[*] Function printf used 19 times ld-uClibc-0.9.33.so