[*] Binary protection state of testBackchannelWAV
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of testBackchannelWAV
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/testBackchannelWAV @ 0x4053c0 */
| #include <stdint.h>
|
; (fcn) method.DummySink.afterGettingFrame_unsigned_int__unsigned_int__timeval__unsigned_int_ () | void method_DummySink_afterGettingFrame_unsigned_int_unsigned_int_timeval_unsigned_int_ () {
| /* DummySink::afterGettingFrame(unsigned int, unsigned int, timeval, unsigned int) */
0x004053c0 lui gp, 2 |
0x004053c4 addiu gp, gp, -0x53a0 |
0x004053c8 addu gp, gp, t9 | gp += t9;
0x004053cc addiu sp, sp, -0x50 |
0x004053d0 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x004053d4 sw fp, 0x48(sp) | *(var_48h) = fp;
0x004053d8 sw s1, 0x44(sp) | *(var_44h) = s1;
0x004053dc sw s0, 0x40(sp) | *(var_40h) = s0;
0x004053e0 move fp, sp | fp = sp;
0x004053e4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x004053e8 sw a0, 0x2c(fp) | *(arg_2ch) = a0;
0x004053ec sw a1, 0x28(fp) | *(arg_28h) = a1;
0x004053f0 sw a2, 0x24(fp) | *(arg_24h) = a2;
0x004053f4 sw a3, 0x5c(fp) | *(arg_5ch) = a3;
0x004053f8 lw v0, 0x5c(fp) | v0 = *(arg_5ch);
0x004053fc lw t8, 0x60(fp) | t8 = *(arg_60h);
0x00405400 sw v0, 0x1c(fp) | *(arg_1ch) = v0;
0x00405404 sw t8, 0x20(fp) | *(arg_20h) = t8;
0x00405408 lw t8, 0x64(fp) | t8 = *(arg_64h);
0x0040540c sw t8, 0x18(fp) | *(arg_18h) = t8;
0x00405410 lw t8, -0x7e98(gp) | t8 = *((gp - 8102));
0x00405414 lw t8, (t8) | t8 = *(t8);
0x00405418 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x0040541c lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405420 lw t8, 0x40(t8) | t8 = *((t8 + 16));
| if (t8 != 0) {
0x00405424 beqz t8, 0x4054d0 |
0x00405428 nop |
0x0040542c lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405430 move a0, t8 | a0 = t8;
0x00405434 lw t8, -0x7fac(gp) | t8 = *(gp);
0x00405438 move t9, t8 | t9 = t8;
0x0040543c jalr t9 | t9 ();
0x00405440 nop |
0x00405444 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405448 move t8, v0 | t8 = v0;
0x0040544c lw v0, (t8) | v0 = *(t8);
0x00405450 addiu v0, v0, 0x24 | v0 += 0x24;
0x00405454 lw v0, (v0) | v0 = *(v0);
0x00405458 move a0, t8 | a0 = t8;
0x0040545c lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.Stream__ */
0x00405460 addiu a1, t8, 0x6a98 | a1 = t8 + 0x6a98;
0x00405464 move t9, v0 | t9 = v0;
0x00405468 jalr t9 | t9 ();
0x0040546c nop |
0x00405470 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405474 move t8, v0 | t8 = v0;
0x00405478 lw v0, (t8) | v0 = *(t8);
0x0040547c addiu v0, v0, 0x24 | v0 += 0x24;
0x00405480 lw v0, (v0) | v0 = *(v0);
0x00405484 lw v1, 0x2c(fp) | v1 = *(arg_2ch);
0x00405488 lw v1, 0x40(v1) | v1 = *((v1 + 16));
0x0040548c move a0, t8 | a0 = t8;
0x00405490 move a1, v1 | a1 = v1;
0x00405494 move t9, v0 | t9 = v0;
0x00405498 jalr t9 | t9 ();
0x0040549c nop |
0x004054a0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004054a4 move t8, v0 | t8 = v0;
0x004054a8 lw v0, (t8) | v0 = *(t8);
0x004054ac addiu v0, v0, 0x24 | v0 += 0x24;
0x004054b0 lw v0, (v0) | v0 = *(v0);
0x004054b4 move a0, t8 | a0 = t8;
0x004054b8 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* esilref: '"; ' */
0x004054bc addiu a1, t8, 0x6aa4 | a1 = t8 + 0x6aa4;
0x004054c0 move t9, v0 | t9 = v0;
0x004054c4 jalr t9 | t9 ();
0x004054c8 nop |
0x004054cc lw gp, 0x10(fp) | gp = *(arg_10h);
| }
0x004054d0 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x004054d4 move a0, t8 | a0 = t8;
0x004054d8 lw t8, -0x7fac(gp) | t8 = *(gp);
0x004054dc move t9, t8 | t9 = t8;
0x004054e0 jalr t9 | t9 ();
0x004054e4 nop |
0x004054e8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004054ec move s0, v0 | s0 = v0;
0x004054f0 lw t8, (s0) | t8 = *(s0);
0x004054f4 addiu t8, t8, 0x24 | t8 += 0x24;
0x004054f8 lw s1, (t8) | s1 = *(t8);
0x004054fc lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405500 lw t8, 0x3c(t8) | t8 = *((t8 + 15));
0x00405504 move a0, t8 | a0 = t8;
0x00405508 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0040550c move t9, t8 | t9 = t8;
0x00405510 jalr t9 | t9 ();
0x00405514 nop |
0x00405518 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040551c move t8, v0 | t8 = v0;
0x00405520 move a0, s0 | a0 = s0;
0x00405524 move a1, t8 | a1 = t8;
0x00405528 move t9, s1 | t9 = s1;
0x0040552c jalr t9 | t9 ();
0x00405530 nop |
0x00405534 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405538 move t8, v0 | t8 = v0;
0x0040553c lw v0, (t8) | v0 = *(t8);
0x00405540 addiu v0, v0, 0x24 | v0 += 0x24;
0x00405544 lw v0, (v0) | v0 = *(v0);
0x00405548 move a0, t8 | a0 = t8;
0x0040554c lw t8, -0x7fdc(gp) | t8 = *(gp);
0x00405550 addiu a1, t8, 0x67b0 | a1 = t8 + 0x67b0;
0x00405554 move t9, v0 | t9 = v0;
0x00405558 jalr t9 | t9 ();
0x0040555c nop |
0x00405560 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405564 move s0, v0 | s0 = v0;
0x00405568 lw t8, (s0) | t8 = *(s0);
0x0040556c addiu t8, t8, 0x24 | t8 += 0x24;
0x00405570 lw s1, (t8) | s1 = *(t8);
0x00405574 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405578 lw t8, 0x3c(t8) | t8 = *((t8 + 15));
0x0040557c move a0, t8 | a0 = t8;
0x00405580 lw t8, -0x7fd0(gp) | t8 = *(gp);
0x00405584 move t9, t8 | t9 = t8;
0x00405588 jalr t9 | t9 ();
0x0040558c nop |
0x00405590 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405594 move t8, v0 | t8 = v0;
0x00405598 move a0, s0 | a0 = s0;
0x0040559c move a1, t8 | a1 = t8;
0x004055a0 move t9, s1 | t9 = s1;
0x004055a4 jalr t9 | t9 ();
0x004055a8 nop |
0x004055ac lw gp, 0x10(fp) | gp = *(arg_10h);
0x004055b0 move t8, v0 | t8 = v0;
0x004055b4 lw v0, (t8) | v0 = *(t8);
0x004055b8 addiu v0, v0, 0x24 | v0 += 0x24;
0x004055bc lw v0, (v0) | v0 = *(v0);
0x004055c0 move a0, t8 | a0 = t8;
0x004055c4 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.:_tReceived_ */
0x004055c8 addiu a1, t8, 0x6aa8 | a1 = t8 + 0x6aa8;
0x004055cc move t9, v0 | t9 = v0;
0x004055d0 jalr t9 | t9 ();
0x004055d4 nop |
0x004055d8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004055dc move t8, v0 | t8 = v0;
0x004055e0 lw v0, (t8) | v0 = *(t8);
0x004055e4 addiu v0, v0, 0x2c | v0 += 0x2c;
0x004055e8 lw v0, (v0) | v0 = *(v0);
0x004055ec move a0, t8 | a0 = t8;
0x004055f0 lw a1, 0x28(fp) | a1 = *(arg_28h);
0x004055f4 move t9, v0 | t9 = v0;
0x004055f8 jalr t9 | t9 ();
0x004055fc nop |
0x00405600 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405604 move t8, v0 | t8 = v0;
0x00405608 lw v0, (t8) | v0 = *(t8);
0x0040560c addiu v0, v0, 0x24 | v0 += 0x24;
0x00405610 lw v0, (v0) | v0 = *(v0);
0x00405614 move a0, t8 | a0 = t8;
0x00405618 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str._bytes */
0x0040561c addiu a1, t8, 0x6ab4 | a1 = t8 + 0x6ab4;
0x00405620 move t9, v0 | t9 = v0;
0x00405624 jalr t9 | t9 ();
0x00405628 nop |
0x0040562c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405630 lw t8, 0x24(fp) | t8 = *(arg_24h);
| if (t8 != 0) {
0x00405634 beqz t8, 0x4056d8 |
0x00405638 nop |
0x0040563c lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405640 move a0, t8 | a0 = t8;
0x00405644 lw t8, -0x7fac(gp) | t8 = *(gp);
0x00405648 move t9, t8 | t9 = t8;
0x0040564c jalr t9 | t9 ();
0x00405650 nop |
0x00405654 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405658 move t8, v0 | t8 = v0;
0x0040565c lw v0, (t8) | v0 = *(t8);
0x00405660 addiu v0, v0, 0x24 | v0 += 0x24;
0x00405664 lw v0, (v0) | v0 = *(v0);
0x00405668 move a0, t8 | a0 = t8;
0x0040566c lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.__with_ */
0x00405670 addiu a1, t8, 0x6abc | a1 = t8 + 0x6abc;
0x00405674 move t9, v0 | t9 = v0;
0x00405678 jalr t9 | t9 ();
0x0040567c nop |
0x00405680 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405684 move t8, v0 | t8 = v0;
0x00405688 lw v0, (t8) | v0 = *(t8);
0x0040568c addiu v0, v0, 0x2c | v0 += 0x2c;
0x00405690 lw v0, (v0) | v0 = *(v0);
0x00405694 move a0, t8 | a0 = t8;
0x00405698 lw a1, 0x24(fp) | a1 = *(arg_24h);
0x0040569c move t9, v0 | t9 = v0;
0x004056a0 jalr t9 | t9 ();
0x004056a4 nop |
0x004056a8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004056ac move t8, v0 | t8 = v0;
0x004056b0 lw v0, (t8) | v0 = *(t8);
0x004056b4 addiu v0, v0, 0x24 | v0 += 0x24;
0x004056b8 lw v0, (v0) | v0 = *(v0);
0x004056bc move a0, t8 | a0 = t8;
0x004056c0 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str._bytes_truncated_ */
0x004056c4 addiu a1, t8, 0x6ac4 | a1 = t8 + 0x6ac4;
0x004056c8 move t9, v0 | t9 = v0;
0x004056cc jalr t9 | t9 ();
0x004056d0 nop |
0x004056d4 lw gp, 0x10(fp) | gp = *(arg_10h);
| }
0x004056d8 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004056dc addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x004056e0 move a0, v0 | a0 = v0;
0x004056e4 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* str._06u */
0x004056e8 addiu a1, v0, 0x6ad8 | a1 = v0 + 0x6ad8;
0x004056ec move a2, t8 | a2 = t8;
0x004056f0 lw t8, -0x7f04(gp) | t8 = sym.imp.sprintf
0x004056f4 move t9, t8 | t9 = t8;
0x004056f8 jalr t9 | t9 ();
0x004056fc nop |
0x00405700 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405704 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405708 move a0, t8 | a0 = t8;
0x0040570c lw t8, -0x7fac(gp) | t8 = *(gp);
0x00405710 move t9, t8 | t9 = t8;
0x00405714 jalr t9 | t9 ();
0x00405718 nop |
0x0040571c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405720 move t8, v0 | t8 = v0;
0x00405724 lw v0, (t8) | v0 = *(t8);
0x00405728 addiu v0, v0, 0x24 | v0 += 0x24;
0x0040572c lw v0, (v0) | v0 = *(v0);
0x00405730 move a0, t8 | a0 = t8;
0x00405734 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.._tPresentation_time:_ */
0x00405738 addiu a1, t8, 0x6ae0 | a1 = t8 + 0x6ae0;
0x0040573c move t9, v0 | t9 = v0;
0x00405740 jalr t9 | t9 ();
0x00405744 nop |
0x00405748 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040574c move t8, v0 | t8 = v0;
0x00405750 lw v0, (t8) | v0 = *(t8);
0x00405754 addiu v0, v0, 0x28 | v0 += 0x28;
0x00405758 lw v0, (v0) | v0 = *(v0);
0x0040575c lw v1, 0x1c(fp) | v1 = *(arg_1ch);
0x00405760 move a0, t8 | a0 = t8;
0x00405764 move a1, v1 | a1 = v1;
0x00405768 move t9, v0 | t9 = v0;
0x0040576c jalr t9 | t9 ();
0x00405770 nop |
0x00405774 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405778 move t8, v0 | t8 = v0;
0x0040577c lw v0, (t8) | v0 = *(t8);
0x00405780 addiu v0, v0, 0x24 | v0 += 0x24;
0x00405784 lw v0, (v0) | v0 = *(v0);
0x00405788 move a0, t8 | a0 = t8;
0x0040578c lw t8, -0x7fdc(gp) | t8 = *(gp);
0x00405790 addiu a1, t8, 0x6af8 | a1 = t8 + 0x6af8;
0x00405794 move t9, v0 | t9 = v0;
0x00405798 jalr t9 | t9 ();
0x0040579c nop |
0x004057a0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004057a4 move t8, v0 | t8 = v0;
0x004057a8 lw v0, (t8) | v0 = *(t8);
0x004057ac addiu v0, v0, 0x24 | v0 += 0x24;
0x004057b0 lw v0, (v0) | v0 = *(v0);
0x004057b4 addiu v1, fp, 0x34 | v1 = fp + 0x34;
0x004057b8 move a0, t8 | a0 = t8;
0x004057bc move a1, v1 | a1 = v1;
0x004057c0 move t9, v0 | t9 = v0;
0x004057c4 jalr t9 | t9 ();
0x004057c8 nop |
0x004057cc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004057d0 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x004057d4 lw t8, 0x3c(t8) | t8 = *((t8 + 15));
0x004057d8 move a0, t8 | a0 = t8;
0x004057dc lw t8, -0x7f38(gp) | t8 = *(gp);
0x004057e0 move t9, t8 | t9 = t8;
0x004057e4 jalr t9 | t9 ();
0x004057e8 nop |
0x004057ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004057f0 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x004057f4 beqz t8, 0x405858 |
0x004057f8 nop |
0x004057fc lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405800 lw t8, 0x3c(t8) | t8 = *((t8 + 15));
0x00405804 move a0, t8 | a0 = t8;
0x00405808 lw t8, -0x7f38(gp) | t8 = *(gp);
0x0040580c move t9, t8 | t9 = t8;
0x00405810 jalr t9 | t9 ();
0x00405814 nop |
0x00405818 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040581c move t8, v0 | t8 = v0;
0x00405820 lw v0, (t8) | v0 = *(t8);
0x00405824 addiu v0, v0, 0x60 | v0 += 0x60;
0x00405828 lw v0, (v0) | v0 = *(v0);
0x0040582c move a0, t8 | a0 = t8;
0x00405830 move t9, v0 | t9 = v0;
0x00405834 jalr t9 | t9 ();
0x00405838 nop |
0x0040583c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405840 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00405844 bnez t8, 0x405858 | goto label_0;
| }
0x00405848 nop |
0x0040584c addiu t8, zero, 1 | t8 = 1;
0x00405850 b 0x40585c | goto label_1;
0x00405854 nop |
| }
| label_0:
0x00405858 move t8, zero | t8 = 0;
| if (t8 != 0) {
| label_1:
0x0040585c beqz t8, 0x4058ac |
0x00405860 nop |
0x00405864 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00405868 move a0, t8 | a0 = t8;
0x0040586c lw t8, -0x7fac(gp) | t8 = *(gp);
0x00405870 move t9, t8 | t9 = t8;
0x00405874 jalr t9 | t9 ();
0x00405878 nop |
0x0040587c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405880 move t8, v0 | t8 = v0;
0x00405884 lw v0, (t8) | v0 = *(t8);
0x00405888 addiu v0, v0, 0x24 | v0 += 0x24;
0x0040588c lw v0, (v0) | v0 = *(v0);
0x00405890 move a0, t8 | a0 = t8;
0x00405894 lw t8, -0x7fdc(gp) | t8 = *(gp);
0x00405898 addiu a1, t8, 0x6afc | a1 = t8 + 0x6afc;
0x0040589c move t9, v0 | t9 = v0;
0x004058a0 jalr t9 | t9 ();
0x004058a4 nop |
0x004058a8 lw gp, 0x10(fp) | gp = *(arg_10h);
| }
0x004058ac lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x004058b0 move a0, t8 | a0 = t8;
0x004058b4 lw t8, -0x7fac(gp) | t8 = *(gp);
0x004058b8 move t9, t8 | t9 = t8;
0x004058bc jalr t9 | t9 ();
0x004058c0 nop |
0x004058c4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004058c8 move t8, v0 | t8 = v0;
0x004058cc lw v0, (t8) | v0 = *(t8);
0x004058d0 addiu v0, v0, 0x24 | v0 += 0x24;
0x004058d4 lw v0, (v0) | v0 = *(v0);
0x004058d8 move a0, t8 | a0 = t8;
0x004058dc lw t8, -0x7fdc(gp) | t8 = *(gp);
0x004058e0 addiu a1, t8, 0x6860 | a1 = t8 + 0x6860;
0x004058e4 move t9, v0 | t9 = v0;
0x004058e8 jalr t9 | t9 ();
0x004058ec nop |
0x004058f0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004058f4 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x004058f8 lw t8, (t8) | t8 = *(t8);
0x004058fc addiu t8, t8, 0x30 | t8 += 0x30;
0x00405900 lw t8, (t8) | t8 = *(t8);
0x00405904 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00405908 move t9, t8 | t9 = t8;
0x0040590c jalr t9 | t9 ();
0x00405910 nop |
0x00405914 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405918 lw t8, -0x7e98(gp) | t8 = *((gp - 8102));
0x0040591c lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00405920 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00405924 beq v0, t8, 0x40593c |
0x00405928 nop |
0x0040592c lw t8, -0x7ed4(gp) | t8 = sym.imp.__stack_chk_fail;
0x00405930 move t9, t8 | t9 = t8;
0x00405934 jalr t9 | t9 ();
0x00405938 nop |
| }
0x0040593c move sp, fp |
0x00405940 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x00405944 lw fp, 0x48(sp) | fp = *(var_48h);
0x00405948 lw s1, 0x44(sp) | s1 = *(var_44h);
0x0040594c lw s0, 0x40(sp) | s0 = *(var_40h);
0x00405950 addiu sp, sp, 0x50 |
0x00405954 jr ra | return v0;
0x00405958 nop |
| }
[*] Function sprintf used 2 times testBackchannelWAV