[*] Binary protection state of libt20.so

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


[*] Function printf tear down of libt20.so

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libt20.so @ 0x2a294 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.srs_human_print_rtmp_packet4 ()          | void srs_human_print_rtmp_packet4 () {
    0x0002a294 lui gp, 7                                 |     
    0x0002a298 addiu gp, gp, -0x7624                     |     
    0x0002a29c addu gp, gp, t9                           |     gp += t9;
    0x0002a2a0 addiu sp, sp, -0xb0                       |     
    0x0002a2a4 sw s5, 0x94(sp)                           |     *(var_94h) = s5;
    0x0002a2a8 lw v1, 0xd4(sp)                           |     v1 = *(arg_d4h);
    0x0002a2ac lw s5, 0xcc(sp)                           |     s5 = *(arg_cch);
    0x0002a2b0 sw s6, 0x98(sp)                           |     *(var_98h) = s6;
    0x0002a2b4 sw gp, 0x50(sp)                           |     *(var_50h) = gp;
    0x0002a2b8 seb s6, a0                                |     __asm ("seb s6, a0");
    0x0002a2bc slt a0, v1, s5                            |     a0 = (v1 < s5) ? 1 : 0;
    0x0002a2c0 sw s7, 0x9c(sp)                           |     *(var_9ch) = s7;
    0x0002a2c4 sw s4, 0x90(sp)                           |     *(var_90h) = s4;
    0x0002a2c8 sw s3, 0x8c(sp)                           |     *(var_8ch) = s3;
    0x0002a2cc sw s2, 0x88(sp)                           |     *(var_88h) = s2;
    0x0002a2d0 sw s1, 0x84(sp)                           |     *(var_84h) = s1;
    0x0002a2d4 sw s0, 0x80(sp)                           |     *(var_80h) = s0;
    0x0002a2d8 move s4, a1                               |     s4 = a1;
    0x0002a2dc sw ra, 0xa4(sp)                           |     *(var_a4h) = ra;
    0x0002a2e0 sw fp, 0xa0(sp)                           |     *(var_a0h) = fp;
    0x0002a2e4 sdc1 f20, 0xa8(sp)                        |     __asm ("sdc1 f20, 0xa8(sp)");
    0x0002a2e8 move s3, a2                               |     s3 = a2;
    0x0002a2ec move s2, a3                               |     s2 = a3;
    0x0002a2f0 lw s7, 0xc8(sp)                           |     s7 = *(arg_c8h);
    0x0002a2f4 lw a1, 0xd0(sp)                           |     a1 = *(arg_d0h);
    0x0002a2f8 lw s0, 0xd8(sp)                           |     s0 = *(arg_d8h);
    0x0002a2fc lw s1, 0xdc(sp)                           |     s1 = *(arg_dch);
                                                         |     if (a0 == 0) {
    0x0002a300 bnez a0, 0x2a318                          |         
    0x0002a304 mtc1 zero, f0                             |         __asm ("mtc1 zero, f0");
                                                         |         if (s5 == v1) {
    0x0002a308 bnel s5, v1, 0x2a370                      |             goto label_0;
                                                         |         }
    0x0002a30c sltu a0, a1, s7                           |         a0 = (a1 < s7) ? 1 : 0;
                                                         |         if (a0 == 0) {
    0x0002a310 beql a0, zero, 0x2a370                    |             goto label_0;
                                                         |         }
    0x0002a314 mtc1 zero, f0                             |         __asm ("mtc1 zero, f0");
                                                         |     }
    0x0002a318 lw t9, -0x7300(gp)                        |     t9 = sym._MIPS_STUBS_;
    0x0002a31c subu a0, s7, a1                           |     __asm ("subu a0, s7, a1");
    0x0002a320 sltu a1, s7, a0                           |     a1 = (s7 < a0) ? 1 : 0;
    0x0002a324 subu v1, s5, v1                           |     __asm ("subu v1, s5, v1");
    0x0002a328 subu a1, v1, a1                           |     __asm ("subu a1, v1, a1");
    0x0002a32c jalr t9                                   |     t9 ();
    0x0002a330 lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a334 mov.d f20, f0                             |     __asm ("mov.d f20, f0");
    0x0002a338 move a0, s0                               |     a0 = s0;
    0x0002a33c lw t9, -0x7300(gp)                        |     t9 = sym._MIPS_STUBS_;
    0x0002a340 move a1, s1                               |     a1 = s1;
    0x0002a344 jalr t9                                   |     t9 ();
    0x0002a348 div.d f0, f20, f0                         |     __asm ("div.d f0, f20, f0");
    0x0002a34c mtc1 zero, f20                            |     __asm ("mtc1 zero, f20");
    0x0002a350 mtc1 zero, f21                            |     __asm ("mtc1 zero, f21");
    0x0002a354 c.lt.d f20, f0                            |     __asm ("c.lt.d f20, f0");
    0x0002a358 bc1f 0x2a378                              |     __asm ("bc1f 0x2a378");
    0x0002a35c lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a360 lw v1, -0x7fcc(gp)                        |     v1 = *(gp);
    0x0002a364 ldc1 f20, 0x1b78(v1)                      |     __asm ("ldc1 f20, 0x1b78(v1)");
    0x0002a368 div.d f20, f20, f0                        |     __asm ("div.d f20, f20, f0");
    0x0002a36c b 0x2a378                                 |     goto label_1;
                                                         | label_0:
    0x0002a370 mtc1 zero, f1                             |     __asm ("mtc1 zero, f1");
    0x0002a374 mov.d f20, f0                             |     __asm ("mov.d f20, f0");
                                                         | label_1:
    0x0002a378 lw v0, 0xc0(sp)                           |     v0 = *(arg_c0h);
    0x0002a37c subu fp, s4, v0                           |     __asm ("subu fp, s4, v0");
                                                         |     if (v0 != 0) {
    0x0002a380 movz fp, zero, v0                         |         fp = 0;
                                                         |     }
                                                         |     if (s5 <= 0) {
    0x0002a384 bgtz s5, 0x2a398                          |         
    0x0002a388 move s7, zero                             |         s7 = 0;
                                                         |         if (s5 == 0) {
    0x0002a38c bnel s5, zero, 0x2a3b8                    |             goto label_2;
                                                         |         }
                                                         |         if (s7 == 0) {
    0x0002a390 beql s7, zero, 0x2a3b8                    |             goto label_2;
                                                         |         }
    0x0002a394 move s7, zero                             |         s7 = 0;
                                                         |     }
    0x0002a398 lw t9, -0x7c08(gp)                        |     t9 = sym.srs_utils_time_ms;
    0x0002a39c swc1 f0, 0x78(sp)                         |     __asm ("swc1 f0, (var_78h)");
    0x0002a3a0 swc1 f1, 0x7c(sp)                         |     __asm ("swc1 f1, (var_7ch)");
    0x0002a3a4 jalr t9                                   |     t9 ();
    0x0002a3a8 subu s7, v0, s7                           |     __asm ("subu s7, v0, s7");
    0x0002a3ac lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a3b0 lwc1 f0, 0x78(sp)                         |     __asm ("lwc1 f0, (var_78h)");
    0x0002a3b4 lwc1 f1, 0x7c(sp)                         |     __asm ("lwc1 f1, (var_7ch)");
                                                         | label_2:
    0x0002a3b8 lw t9, -0x7e18(gp)                        |     t9 = sym.srs_utils_parse_timestamp;
    0x0002a3bc addiu v0, sp, 0x60                        |     v0 = sp + 0x60;
    0x0002a3c0 swc1 f0, 0x78(sp)                         |     __asm ("swc1 f0, (var_78h)");
    0x0002a3c4 swc1 f1, 0x7c(sp)                         |     __asm ("swc1 f1, (var_7ch)");
    0x0002a3c8 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x0002a3cc move a0, s4                               |     a0 = s4;
    0x0002a3d0 move a1, s6                               |     a1 = s6;
    0x0002a3d4 move a2, s3                               |     a2 = s3;
    0x0002a3d8 move a3, s2                               |     a3 = s2;
    0x0002a3dc jalr t9                                   |     t9 ();
    0x0002a3e0 lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a3e4 lwc1 f0, 0x78(sp)                         |     __asm ("lwc1 f0, (var_78h)");
    0x0002a3e8 lwc1 f1, 0x7c(sp)                         |     __asm ("lwc1 f1, (var_7ch)");
    0x0002a3ec lw t9, -0x7a20(gp)                        |     t9 = sym.srs_human_format_time;
    0x0002a3f0 lw s5, -0x7fcc(gp)                        |     s5 = *(gp);
                                                         |     if (v0 != 0) {
    0x0002a3f4 beqz v0, 0x2a46c                          |         
    0x0002a3f8 jalr t9                                   |         t9 ();
    0x0002a3fc nop                                       |         
    0x0002a400 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a404 move a1, v0                               |         a1 = v0;
    0x0002a408 lw t9, -0x7ecc(gp)                        |         t9 = sym.imp.printf
                                                         |         /* str.__s__ */
    0x0002a40c addiu a0, s5, 0xfe0                       |         a0 = s5 + 0xfe0;
    0x0002a410 jalr t9                                   |         t9 ();
    0x0002a414 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a418 lw t9, -0x7c54(gp)                        |         t9 = sym.srs_human_flv_tag_type2string;
    0x0002a41c move a0, s6                               |         a0 = s6;
    0x0002a420 jalr t9                                   |         t9 ();
    0x0002a424 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a428 lwc1 f0, 0x78(sp)                         |         __asm ("lwc1 f0, (var_78h)");
    0x0002a42c lwc1 f1, 0x7c(sp)                         |         __asm ("lwc1 f1, (var_7ch)");
    0x0002a430 lw a0, -0x7fcc(gp)                        |         a0 = *(gp);
    0x0002a434 lw t9, -0x7ecc(gp)                        |         t9 = sym.imp.printf
    0x0002a438 sdc1 f0, 0x10(sp)                         |         __asm ("sdc1 f0, 0x10(sp)");
    0x0002a43c sdc1 f20, 0x18(sp)                        |         __asm ("sdc1 f20, 0x18(sp)");
    0x0002a440 sw v0, 0x20(sp)                           |         *(var_20h) = v0;
    0x0002a444 sw s4, 0x24(sp)                           |         *(var_24h) = s4;
    0x0002a448 sw s7, 0x28(sp)                           |         *(var_28h) = s7;
    0x0002a44c sw fp, 0x2c(sp)                           |         *(var_2ch) = fp;
    0x0002a450 sw s2, 0x30(sp)                           |         *(var_30h) = s2;
                                                         |         /* str.Rtmp_packet_id_lld__.1f__.1f__type_s__dts_d__ndiff_d__diff_d__size_d__DecodeError */
    0x0002a454 addiu a0, a0, 0xfe8                       |         a0 += 0xfe8;
    0x0002a458 move a2, s0                               |         a2 = s0;
    0x0002a45c move a3, s1                               |         a3 = s1;
    0x0002a460 jalr t9                                   |         t9 ();
    0x0002a464 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a468 b 0x2a884                                 |         goto label_3;
                                                         |     }
    0x0002a46c addiu v0, zero, 9                         |     v0 = 9;
    0x0002a470 addiu v0, zero, 8                         |     v0 = 8;
                                                         |     if (s6 == v0) {
    0x0002a474 bne s6, v0, 0x2a588                       |         
    0x0002a478 swc1 f0, 0x78(sp)                         |         __asm ("swc1 f0, (var_78h)");
    0x0002a47c swc1 f1, 0x7c(sp)                         |         __asm ("swc1 f1, (var_7ch)");
    0x0002a480 jalr t9                                   |         t9 ();
    0x0002a484 lw gp, 0x50(sp)                           |         gp = *(var_50h);
                                                         |         /* str.__s__ */
    0x0002a488 addiu a0, s5, 0xfe0                       |         a0 = s5 + 0xfe0;
    0x0002a48c lw t9, -0x7ecc(gp)                        |         t9 = sym.imp.printf
    0x0002a490 move a1, v0                               |         a1 = v0;
    0x0002a494 jalr t9                                   |         t9 ();
    0x0002a498 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a49c lw t9, -0x7c54(gp)                        |         t9 = sym.srs_human_flv_tag_type2string;
    0x0002a4a0 addiu a0, zero, 9                         |         a0 = 9;
    0x0002a4a4 jalr t9                                   |         t9 ();
    0x0002a4a8 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a4ac lw v1, 0x60(sp)                           |         v1 = *(var_60h);
    0x0002a4b0 move a1, s2                               |         a1 = s2;
    0x0002a4b4 lw t9, -0x7888(gp)                        |         t9 = *(gp);
    0x0002a4b8 sw v1, 0x70(sp)                           |         *(var_70h) = v1;
    0x0002a4bc move a0, s3                               |         a0 = s3;
    0x0002a4c0 sw v0, 0x74(sp)                           |         *(var_74h) = v0;
    0x0002a4c4 jalr t9                                   |         t9 ();
    0x0002a4c8 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a4cc lw t9, -0x7394(gp)                        |         t9 = sym.srs_human_flv_video_codec_id2string;
    0x0002a4d0 move a0, v0                               |         a0 = v0;
    0x0002a4d4 jalr t9                                   |         t9 ();
    0x0002a4d8 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a4dc move a1, s2                               |         a1 = s2;
    0x0002a4e0 move a0, s3                               |         a0 = s3;
    0x0002a4e4 lw t9, -0x78cc(gp)                        |         t9 = *(gp);
    0x0002a4e8 move s6, v0                               |         s6 = v0;
    0x0002a4ec jalr t9                                   |         t9 ();
    0x0002a4f0 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a4f4 lw t9, -0x77e0(gp)                        |         t9 = *(gp);
    0x0002a4f8 move a0, v0                               |         a0 = v0;
    0x0002a4fc jalr t9                                   |         t9 ();
    0x0002a500 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a504 move a1, s2                               |         a1 = s2;
    0x0002a508 move a0, s3                               |         a0 = s3;
    0x0002a50c lw t9, -0x76d8(gp)                        |         t9 = sym.srs_utils_flv_video_frame_type;
    0x0002a510 move s5, v0                               |         s5 = v0;
    0x0002a514 jalr t9                                   |         t9 ();
    0x0002a518 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a51c lw t9, -0x78e0(gp)                        |         t9 = *(gp);
    0x0002a520 move a0, v0                               |         a0 = v0;
    0x0002a524 jalr t9                                   |         t9 ();
    0x0002a528 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a52c lw a2, 0x74(sp)                           |         a2 = *(var_74h);
    0x0002a530 lwc1 f0, 0x78(sp)                         |         __asm ("lwc1 f0, (var_78h)");
    0x0002a534 lw a0, -0x7fcc(gp)                        |         a0 = *(gp);
    0x0002a538 lwc1 f1, 0x7c(sp)                         |         __asm ("lwc1 f1, (var_7ch)");
    0x0002a53c lw v1, 0x70(sp)                           |         v1 = *(var_70h);
    0x0002a540 lw t9, -0x7ecc(gp)                        |         t9 = sym.imp.printf
    0x0002a544 sw a2, 0x20(sp)                           |         *(var_20h) = a2;
    0x0002a548 sdc1 f0, 0x10(sp)                         |         __asm ("sdc1 f0, 0x10(sp)");
    0x0002a54c sdc1 f20, 0x18(sp)                        |         __asm ("sdc1 f20, 0x18(sp)");
    0x0002a550 sw s4, 0x24(sp)                           |         *(var_24h) = s4;
    0x0002a554 sw v1, 0x28(sp)                           |         *(var_28h) = v1;
    0x0002a558 sw s7, 0x2c(sp)                           |         *(var_2ch) = s7;
    0x0002a55c sw fp, 0x30(sp)                           |         *(var_30h) = fp;
    0x0002a560 sw s2, 0x34(sp)                           |         *(var_34h) = s2;
    0x0002a564 sw s6, 0x38(sp)                           |         *(var_38h) = s6;
    0x0002a568 sw s5, 0x3c(sp)                           |         *(var_3ch) = s5;
    0x0002a56c sw v0, 0x40(sp)                           |         *(var_40h) = v0;
                                                         |         /* str.Video_packet_id_lld__.1f__.1f__type_s__dts_d__pts_d__ndiff_d__diff_d__size_d___s__s__s_ */
    0x0002a570 addiu a0, a0, 0x1040                      |         a0 += 0x1040;
    0x0002a574 move a2, s0                               |         a2 = s0;
    0x0002a578 move a3, s1                               |         a3 = s1;
    0x0002a57c jalr t9                                   |         t9 ();
    0x0002a580 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a584 b 0x2a884                                 |         goto label_3;
                                                         |     }
    0x0002a588 addiu v0, zero, 0x12                      |     v0 = 0x12;
                                                         |     if (s6 == v0) {
    0x0002a58c bne s6, v0, 0x2a700                       |         
    0x0002a590 swc1 f0, 0x78(sp)                         |         __asm ("swc1 f0, (var_78h)");
    0x0002a594 swc1 f1, 0x7c(sp)                         |         __asm ("swc1 f1, (var_7ch)");
    0x0002a598 jalr t9                                   |         t9 ();
    0x0002a59c lw gp, 0x50(sp)                           |         gp = *(var_50h);
                                                         |         /* str.__s__ */
    0x0002a5a0 addiu a0, s5, 0xfe0                       |         a0 = s5 + 0xfe0;
    0x0002a5a4 lw t9, -0x7ecc(gp)                        |         t9 = sym.imp.printf
    0x0002a5a8 move a1, v0                               |         a1 = v0;
    0x0002a5ac jalr t9                                   |         t9 ();
    0x0002a5b0 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a5b4 lw t9, -0x7c54(gp)                        |         t9 = sym.srs_human_flv_tag_type2string;
    0x0002a5b8 addiu a0, zero, 8                         |         a0 = 8;
    0x0002a5bc jalr t9                                   |         t9 ();
    0x0002a5c0 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a5c4 lw a3, 0x60(sp)                           |         a3 = *(var_60h);
    0x0002a5c8 move a1, s2                               |         a1 = s2;
    0x0002a5cc lw t9, -0x7d14(gp)                        |         t9 = sym.srs_utils_flv_audio_sound_format;
    0x0002a5d0 sw a3, 0x6c(sp)                           |         *(var_6ch) = a3;
    0x0002a5d4 move a0, s3                               |         a0 = s3;
    0x0002a5d8 sw v0, 0x68(sp)                           |         *(var_68h) = v0;
    0x0002a5dc jalr t9                                   |         t9 ();
    0x0002a5e0 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a5e4 lw t9, -0x7fb0(gp)                        |         t9 = sym.srs_human_flv_audio_sound_format2string;
    0x0002a5e8 move a0, v0                               |         a0 = v0;
    0x0002a5ec jalr t9                                   |         t9 ();
    0x0002a5f0 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a5f4 move a1, s2                               |         a1 = s2;
    0x0002a5f8 move a0, s3                               |         a0 = s3;
    0x0002a5fc lw t9, -0x7344(gp)                        |         t9 = sym.srs_utils_flv_audio_sound_rate;
    0x0002a600 sw v0, 0x74(sp)                           |         *(var_74h) = v0;
    0x0002a604 jalr t9                                   |         t9 ();
    0x0002a608 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a60c lw t9, -0x7960(gp)                        |         t9 = *(gp);
    0x0002a610 move a0, v0                               |         a0 = v0;
    0x0002a614 jalr t9                                   |         t9 ();
    0x0002a618 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a61c move a1, s2                               |         a1 = s2;
    0x0002a620 move a0, s3                               |         a0 = s3;
    0x0002a624 lw t9, -0x7ab8(gp)                        |         t9 = sym.srs_utils_flv_audio_sound_size;
    0x0002a628 sw v0, 0x70(sp)                           |         *(var_70h) = v0;
    0x0002a62c jalr t9                                   |         t9 ();
    0x0002a630 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a634 lw t9, -0x7a18(gp)                        |         t9 = sym.srs_human_flv_audio_sound_size2string;
    0x0002a638 move a0, v0                               |         a0 = v0;
    0x0002a63c jalr t9                                   |         t9 ();
    0x0002a640 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a644 move a1, s2                               |         a1 = s2;
    0x0002a648 move a0, s3                               |         a0 = s3;
    0x0002a64c lw t9, -0x7f90(gp)                        |         t9 = sym.srs_utils_flv_audio_sound_type;
    0x0002a650 move s6, v0                               |         s6 = v0;
    0x0002a654 jalr t9                                   |         t9 ();
    0x0002a658 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a65c lw t9, -0x7d88(gp)                        |         t9 = sym.srs_human_flv_audio_sound_type2string;
    0x0002a660 move a0, v0                               |         a0 = v0;
    0x0002a664 jalr t9                                   |         t9 ();
    0x0002a668 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a66c move a1, s2                               |         a1 = s2;
    0x0002a670 move a0, s3                               |         a0 = s3;
    0x0002a674 lw t9, -0x793c(gp)                        |         t9 = sym.srs_utils_flv_audio_aac_packet_type;
    0x0002a678 move s5, v0                               |         s5 = v0;
    0x0002a67c jalr t9                                   |         t9 ();
    0x0002a680 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a684 lw t9, -0x72f0(gp)                        |         t9 = sym.srs_human_flv_audio_aac_packet_type2string;
    0x0002a688 move a0, v0                               |         a0 = v0;
    0x0002a68c jalr t9                                   |         t9 ();
    0x0002a690 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a694 lw a3, 0x6c(sp)                           |         a3 = *(var_6ch);
    0x0002a698 lw a2, 0x74(sp)                           |         a2 = *(var_74h);
    0x0002a69c lw a0, -0x7fcc(gp)                        |         a0 = *(gp);
    0x0002a6a0 lwc1 f0, 0x78(sp)                         |         __asm ("lwc1 f0, (var_78h)");
    0x0002a6a4 lwc1 f1, 0x7c(sp)                         |         __asm ("lwc1 f1, (var_7ch)");
    0x0002a6a8 lw t0, 0x68(sp)                           |         t0 = *(var_68h);
    0x0002a6ac lw v1, 0x70(sp)                           |         v1 = *(var_70h);
    0x0002a6b0 lw t9, -0x7ecc(gp)                        |         t9 = sym.imp.printf
    0x0002a6b4 sw a3, 0x28(sp)                           |         *(var_28h) = a3;
    0x0002a6b8 sw a2, 0x38(sp)                           |         *(var_38h) = a2;
    0x0002a6bc sdc1 f0, 0x10(sp)                         |         __asm ("sdc1 f0, 0x10(sp)");
    0x0002a6c0 sdc1 f20, 0x18(sp)                        |         __asm ("sdc1 f20, 0x18(sp)");
    0x0002a6c4 sw t0, 0x20(sp)                           |         *(var_20h) = t0;
    0x0002a6c8 sw s4, 0x24(sp)                           |         *(var_24h) = s4;
    0x0002a6cc sw s7, 0x2c(sp)                           |         *(var_2ch) = s7;
    0x0002a6d0 sw fp, 0x30(sp)                           |         *(var_30h) = fp;
    0x0002a6d4 sw s2, 0x34(sp)                           |         *(var_34h) = s2;
    0x0002a6d8 sw v1, 0x3c(sp)                           |         *(var_3ch) = v1;
    0x0002a6dc sw s6, 0x40(sp)                           |         *(var_40h) = s6;
    0x0002a6e0 sw s5, 0x44(sp)                           |         *(var_44h) = s5;
    0x0002a6e4 sw v0, 0x48(sp)                           |         *(var_48h) = v0;
                                                         |         /* str.Audio_packet_id_lld__.1f__.1f__type_s__dts_d__pts_d__ndiff_d__diff_d__size_d___s__s__s__s__s_ */
    0x0002a6e8 addiu a0, a0, 0x10a0                      |         a0 += 0x10a0;
    0x0002a6ec move a2, s0                               |         a2 = s0;
    0x0002a6f0 move a3, s1                               |         a3 = s1;
    0x0002a6f4 jalr t9                                   |         t9 ();
    0x0002a6f8 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a6fc b 0x2a884                                 |         goto label_3;
                                                         |     }
    0x0002a700 swc1 f0, 0x78(sp)                         |     __asm ("swc1 f0, (var_78h)");
    0x0002a704 swc1 f1, 0x7c(sp)                         |     __asm ("swc1 f1, (var_7ch)");
                                                         |     if (s6 != v0) {
    0x0002a708 bne s6, v0, 0x2a81c                       |         goto label_4;
                                                         |     }
    0x0002a70c jalr t9                                   |     t9 ();
    0x0002a710 nop                                       |     
    0x0002a714 lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a718 move a1, v0                               |     a1 = v0;
    0x0002a71c lw t9, -0x7ecc(gp)                        |     t9 = sym.imp.printf
                                                         |     /* str.__s__ */
    0x0002a720 addiu a0, s5, 0xfe0                       |     a0 = s5 + 0xfe0;
    0x0002a724 jalr t9                                   |     t9 ();
    0x0002a728 lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a72c lw t9, -0x7c54(gp)                        |     t9 = sym.srs_human_flv_tag_type2string;
    0x0002a730 addiu a0, zero, 0x12                      |     a0 = 0x12;
    0x0002a734 jalr t9                                   |     t9 ();
    0x0002a738 lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a73c lwc1 f0, 0x78(sp)                         |     __asm ("lwc1 f0, (var_78h)");
    0x0002a740 lwc1 f1, 0x7c(sp)                         |     __asm ("lwc1 f1, (var_7ch)");
    0x0002a744 lw a0, -0x7fcc(gp)                        |     a0 = *(gp);
    0x0002a748 lw t9, -0x7ecc(gp)                        |     t9 = sym.imp.printf
    0x0002a74c move a2, s0                               |     a2 = s0;
    0x0002a750 move a3, s1                               |     a3 = s1;
    0x0002a754 sdc1 f0, 0x10(sp)                         |     __asm ("sdc1 f0, 0x10(sp)");
                                                         |     /* str.Data_packet_id_lld__.1f__.1f__type_s__time_d__ndiff_d__diff_d__size_d */
    0x0002a758 addiu a0, a0, 0x1108                      |     a0 += aav.0x00001108;
    0x0002a75c sdc1 f20, 0x18(sp)                        |     __asm ("sdc1 f20, 0x18(sp)");
    0x0002a760 sw v0, 0x20(sp)                           |     *(var_20h) = v0;
    0x0002a764 sw s4, 0x24(sp)                           |     *(var_24h) = s4;
    0x0002a768 sw s7, 0x28(sp)                           |     *(var_28h) = s7;
    0x0002a76c sw fp, 0x2c(sp)                           |     *(var_2ch) = fp;
    0x0002a770 sw s2, 0x30(sp)                           |     *(var_30h) = s2;
    0x0002a774 jalr t9                                   |     t9 ();
    0x0002a778 lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a77c addiu a0, zero, 0xa                       |     a0 = 0xa;
    0x0002a780 lw t9, -0x74f4(gp)                        |     t9 = sym.imp.putchar;
    0x0002a784 move s0, zero                             |     s0 = 0;
    0x0002a788 jalr t9                                   |     t9 ();
    0x0002a78c lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a790 lw s1, -0x7fd4(gp)                        |     s1 = *(gp);
                                                         |     /* esilref: '&s' */
    0x0002a794 addiu s1, s1, -0x7700                     |     s1 += -0x7700;
    0x0002a798 b 0x2a808                                 |     
                                                         |     while (v0 != 0) {
    0x0002a79c sw zero, 0x5c(sp)                         |         *(var_5ch) = 0;
    0x0002a7a0 addu a0, s3, s0                           |         a0 = s3 + s0;
    0x0002a7a4 subu a1, s2, s0                           |         __asm ("subu a1, s2, s0");
    0x0002a7a8 addiu a2, sp, 0x5c                        |         a2 = sp + 0x5c;
    0x0002a7ac jalr t9                                   |         t9 ();
    0x0002a7b0 lw gp, 0x50(sp)                           |         gp = *(var_50h);
                                                         |         if (v0 == 0) {
    0x0002a7b4 beqz v0, 0x2a890                          |             goto label_5;
                                                         |         }
    0x0002a7b8 lw t9, -0x74c8(gp)                        |         t9 = sym.srs_human_amf0_print;
    0x0002a7bc lw v1, 0x5c(sp)                           |         v1 = *(var_5ch);
    0x0002a7c0 move a0, v0                               |         a0 = v0;
    0x0002a7c4 addiu a1, sp, 0x58                        |         a1 = sp + 0x58;
    0x0002a7c8 move a2, zero                             |         a2 = 0;
    0x0002a7cc sw zero, 0x58(sp)                         |         *(var_58h) = 0;
    0x0002a7d0 addu s0, s0, v1                           |         s0 += v1;
    0x0002a7d4 jalr t9                                   |         t9 ();
    0x0002a7d8 lw gp, 0x50(sp)                           |         gp = *(var_50h);
    0x0002a7dc move a0, s1                               |         a0 = s1;
    0x0002a7e0 lw t9, -0x7ecc(gp)                        |         t9 = sym.imp.printf
    0x0002a7e4 move a1, v0                               |         a1 = v0;
    0x0002a7e8 jalr t9                                   |         t9 ();
    0x0002a7ec lw a0, 0x58(sp)                           |         a0 = *(var_58h);
    0x0002a7f0 lw gp, 0x50(sp)                           |         gp = *(var_50h);
                                                         |         if (a0 != 0) {
    0x0002a7f4 beqz a0, 0x2a808                          |             
    0x0002a7f8 lw t9, -0x7cbc(gp)                        |             t9 = sym.imp.operator_delete___void_;
    0x0002a7fc jalr t9                                   |             t9 ();
    0x0002a800 nop                                       |             
    0x0002a804 lw gp, 0x50(sp)                           |             gp = *(var_50h);
                                                         |         }
    0x0002a808 slt v0, s0, s2                            |         v0 = (s0 < s2) ? 1 : 0;
    0x0002a80c lw t9, -0x7798(gp)                        |         t9 = sym.srs_amf0_parse;
    0x0002a810 bnez v0, 0x2a79c                          |         
                                                         |     }
    0x0002a814 lw ra, 0xa4(sp)                           |     ra = *(var_a4h);
    0x0002a818 b 0x2a894                                 |     goto label_6;
                                                         | label_4:
    0x0002a81c jalr t9                                   |     t9 ();
    0x0002a820 nop                                       |     
    0x0002a824 lw gp, 0x50(sp)                           |     gp = *(var_50h);
                                                         |     /* str.__s__ */
    0x0002a828 addiu a0, s5, 0xfe0                       |     a0 = s5 + 0xfe0;
    0x0002a82c lw t9, -0x7ecc(gp)                        |     t9 = sym.imp.printf
    0x0002a830 move a1, v0                               |     a1 = v0;
    0x0002a834 jalr t9                                   |     t9 ();
    0x0002a838 lw gp, 0x50(sp)                           |     gp = *(var_50h);
    0x0002a83c lwc1 f0, 0x78(sp)                         |     __asm ("lwc1 f0, (var_78h)");
    0x0002a840 lwc1 f1, 0x7c(sp)                         |     __asm ("lwc1 f1, (var_7ch)");
    0x0002a844 lw a0, -0x7fcc(gp)                        |     a0 = *(gp);
    0x0002a848 lw v0, 0x60(sp)                           |     v0 = *(var_60h);
    0x0002a84c lw t9, -0x7ecc(gp)                        |     t9 = sym.imp.printf
    0x0002a850 sdc1 f0, 0x10(sp)                         |     __asm ("sdc1 f0, 0x10(sp)");
    0x0002a854 sdc1 f20, 0x18(sp)                        |     __asm ("sdc1 f20, 0x18(sp)");
    0x0002a858 sw s6, 0x20(sp)                           |     *(var_20h) = s6;
    0x0002a85c sw s4, 0x24(sp)                           |     *(var_24h) = s4;
    0x0002a860 sw v0, 0x28(sp)                           |     *(var_28h) = v0;
    0x0002a864 sw s7, 0x2c(sp)                           |     *(var_2ch) = s7;
    0x0002a868 sw fp, 0x30(sp)                           |     *(var_30h) = fp;
    0x0002a86c sw s2, 0x34(sp)                           |     *(var_34h) = s2;
                                                         |     /* str.Rtmp_packet_id_lld__.1f__.1f__type_x__dts_d__pts_d__ndiff_d__diff_d__size_d */
    0x0002a870 addiu a0, a0, 0x1154                      |     a0 += 0x1154;
    0x0002a874 move a2, s0                               |     a2 = s0;
    0x0002a878 move a3, s1                               |     a3 = s1;
    0x0002a87c jalr t9                                   |     t9 ();
    0x0002a880 lw gp, 0x50(sp)                           |     gp = *(var_50h);
                                                         | label_3:
    0x0002a884 lw t9, -0x74f4(gp)                        |     t9 = sym.imp.putchar;
    0x0002a888 addiu a0, zero, 0xa                       |     a0 = 0xa;
    0x0002a88c jalr t9                                   |     t9 ();
                                                         | label_5:
    0x0002a890 lw ra, 0xa4(sp)                           |     ra = *(var_a4h);
                                                         | label_6:
    0x0002a894 lw fp, 0xa0(sp)                           |     fp = *(var_a0h);
    0x0002a898 lw s7, 0x9c(sp)                           |     s7 = *(var_9ch);
    0x0002a89c lw s6, 0x98(sp)                           |     s6 = *(var_98h);
    0x0002a8a0 lw s5, 0x94(sp)                           |     s5 = *(var_94h);
    0x0002a8a4 lw s4, 0x90(sp)                           |     s4 = *(var_90h);
    0x0002a8a8 lw s3, 0x8c(sp)                           |     s3 = *(var_8ch);
    0x0002a8ac lw s2, 0x88(sp)                           |     s2 = *(var_88h);
    0x0002a8b0 lw s1, 0x84(sp)                           |     s1 = *(var_84h);
    0x0002a8b4 lw s0, 0x80(sp)                           |     s0 = *(var_80h);
    0x0002a8b8 ldc1 f20, 0xa8(sp)                        |     __asm ("ldc1 f20, (var_a8h)");
    0x0002a8bc move v0, zero                             |     v0 = 0;
    0x0002a8c0 addiu sp, sp, 0xb0                        |     
    0x0002a8c4 jr ra                                     |     return v0;
                                                         | }

[*] Function printf used 12 times libt20.so