[*] 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