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