[*] Binary protection state of libliveMedia.so.52.0.3
No RELRO No Canary found NX disabled DSO No RPATH No RUNPATH Symbols
[*] Function fprintf tear down of libliveMedia.so.52.0.3
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libliveMedia.so.52.0.3 @ 0x65280 */
| #include <stdint.h>
|
; (fcn) method.RTSPClient.connectToServer_int__unsigned_short_ () | void method_RTSPClient_connectToServer_int_unsigned_short_ () {
| /* RTSPClient::connectToServer(int, unsigned short) */
0x00065280 lui gp, 5 |
0x00065284 addiu gp, gp, -0x4e50 |
0x00065288 addu gp, gp, t9 | gp += t9;
0x0006528c addiu sp, sp, -0x188 |
0x00065290 sw ra, 0x184(sp) | *(var_184h) = ra;
0x00065294 sw fp, 0x180(sp) | *(var_180h) = fp;
0x00065298 sw s7, 0x17c(sp) | *(var_17ch) = s7;
0x0006529c sw s6, 0x178(sp) | *(var_178h) = s6;
0x000652a0 sw s5, 0x174(sp) | *(var_174h) = s5;
0x000652a4 sw s4, 0x170(sp) | *(var_170h) = s4;
0x000652a8 sw s3, 0x16c(sp) | *(var_16ch) = s3;
0x000652ac sw s2, 0x168(sp) | *(var_168h) = s2;
0x000652b0 sw s1, 0x164(sp) | *(var_164h) = s1;
0x000652b4 sw s0, 0x160(sp) | *(var_160h) = s0;
0x000652b8 andi s4, a2, 0xffff | s4 = a2 & 0xffff;
0x000652bc lw t9, -0x762c(gp) | t9 = *(gp);
0x000652c0 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x000652c4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000652c8 move s0, a0 | s0 = a0;
0x000652cc move s7, a1 | s7 = a1;
0x000652d0 sw zero, 0x158(sp) | *(var_158h) = 0;
0x000652d4 move a0, s1 | a0 = s1;
0x000652d8 addiu s2, s0, 0x54 | s2 = s0 + 0x54;
0x000652dc move a1, s4 | a1 = s4;
0x000652e0 addiu s3, sp, 0xa4 | s3 = sp + 0xa4;
0x000652e4 jalr t9 | t9 ();
0x000652e8 move a0, s3 | a0 = s3;
0x000652ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000652f0 move a1, s2 | a1 = s2;
0x000652f4 lhu a2, 0x20(sp) | a2 = *(var_20h);
0x000652f8 lw t9, -0x7520(gp) | t9 = *(gp);
0x000652fc addiu a3, sp, 0x158 | a3 = sp + aav.0x00000158;
0x00065300 jalr t9 | t9 ();
0x00065304 lw t8, 0x30(s0) | t8 = *((s0 + 12));
0x00065308 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 > 0) {
0x0006530c blez t8, 0x653e0 |
0x00065310 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00065314 addiu s5, sp, 0x124 | s5 = sp + aav.0x00000124;
0x00065318 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0006531c lw t8, (a0) | t8 = *(a0);
0x00065320 lw t9, 0x24(t8) | t9 = *((t8 + 9));
| /* str.Opening_connection_to_ */
0x00065324 addiu a1, a1, -0x213c | a1 += -0x213c;
0x00065328 jalr t9 | t9 ();
0x0006532c move a0, s1 | a0 = s1;
0x00065330 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065334 move a1, s2 | a1 = s2;
0x00065338 lw t8, (v0) | t8 = *(v0);
0x0006533c move s6, v0 | s6 = v0;
0x00065340 lw t9, -0x7328(gp) | t9 = *(gp);
0x00065344 lw fp, 0x24(t8) | fp = *((t8 + 9));
0x00065348 jalr t9 | t9 ();
0x0006534c move a0, s5 | a0 = s5;
0x00065350 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065354 lw t9, -0x7dec(gp) | t9 = *(gp);
0x00065358 move a1, s1 | a1 = s1;
0x0006535c jalr t9 | t9 ();
0x00065360 move a0, s6 | a0 = s6;
0x00065364 move t9, fp | t9 = fp;
0x00065368 addiu a1, sp, 0x128 | a1 = sp + aav.0x00000128;
0x0006536c jalr t9 | t9 ();
0x00065370 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065374 lw t8, (v0) | t8 = *(v0);
0x00065378 move a0, v0 | a0 = v0;
0x0006537c lw a1, -0x7fd0(gp) | a1 = *(gp);
0x00065380 lw t9, 0x24(t8) | t9 = *((t8 + 9));
| /* str.__port_ */
0x00065384 addiu a1, a1, -0x2124 | a1 += -0x2124;
0x00065388 jalr t9 | t9 ();
0x0006538c lw t8, (v0) | t8 = *(v0);
0x00065390 move a0, v0 | a0 = v0;
0x00065394 lw t9, 0x28(t8) | t9 = *((t8 + 10));
0x00065398 move a1, s4 | a1 = s4;
0x0006539c jalr t9 | t9 ();
0x000653a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000653a4 lw t8, (v0) | t8 = *(v0);
0x000653a8 move a0, v0 | a0 = v0;
0x000653ac lw a1, -0x7fd0(gp) | a1 = *(gp);
0x000653b0 lw t9, 0x24(t8) | t9 = *((t8 + 9));
| /* str...._n */
0x000653b4 addiu a1, a1, -0x211c | a1 += -0x211c;
0x000653b8 jalr t9 | t9 ();
0x000653bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000653c0 lw t9, -0x7478(gp) | t9 = *(gp);
0x000653c4 move a0, s5 | a0 = s5;
0x000653c8 jalr t9 | t9 ();
0x000653cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000653d0 lw t9, -0x742c(gp) | t9 = *(gp);
0x000653d4 move a0, s1 | a0 = s1;
0x000653d8 jalr t9 | t9 ();
0x000653dc lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x000653e0 lw t9, -0x7f00(gp) | t9 = *(gp);
0x000653e4 move a0, s2 | a0 = s2;
0x000653e8 jalr t9 | t9 ();
0x000653ec addiu t8, zero, 0xa | t8 = 0xa;
0x000653f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == t8) {
0x000653f4 beq v0, t8, 0x65554 | goto label_2;
| }
| label_0:
0x000653f8 lw t9, -0x6e14(gp) | t9 = sym.imp.connect;
0x000653fc move a0, s7 | a0 = s7;
0x00065400 move a1, s3 | a1 = s3;
0x00065404 addiu a2, zero, 0x80 | a2 = 0x80;
0x00065408 jalr t9 | t9 ();
0x0006540c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00065410 bnez v0, 0x6549c | goto label_3;
| }
0x00065414 lw t8, 0x30(s0) | t8 = *((s0 + 12));
0x00065418 lw a1, -0x7fd0(gp) | a1 = *(gp);
| if (t8 <= 0) {
0x0006541c blez t8, 0x65468 | goto label_4;
| }
0x00065420 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00065424 lw t8, (a0) | t8 = *(a0);
0x00065428 lw t9, 0x24(t8) | t9 = *((t8 + 9));
| /* str....local_connection_opened_n */
0x0006542c addiu a1, a1, -0x20c8 | a1 += -0x20c8;
0x00065430 jalr t9 | t9 ();
0x00065434 addiu v0, zero, 1 | v0 = 1;
| do {
| label_1:
0x00065438 lw ra, 0x184(sp) | ra = *(var_184h);
0x0006543c lw fp, 0x180(sp) | fp = *(var_180h);
0x00065440 lw s7, 0x17c(sp) | s7 = *(var_17ch);
0x00065444 lw s6, 0x178(sp) | s6 = *(var_178h);
0x00065448 lw s5, 0x174(sp) | s5 = *(var_174h);
0x0006544c lw s4, 0x170(sp) | s4 = *(var_170h);
0x00065450 lw s3, 0x16c(sp) | s3 = *(var_16ch);
0x00065454 lw s2, 0x168(sp) | s2 = *(var_168h);
0x00065458 lw s1, 0x164(sp) | s1 = *(var_164h);
0x0006545c lw s0, 0x160(sp) | s0 = *(var_160h);
0x00065460 addiu sp, sp, 0x188 |
0x00065464 jr ra | return v0;
| label_4:
0x00065468 lw ra, 0x184(sp) | ra = *(var_184h);
0x0006546c addiu v0, zero, 1 | v0 = 1;
0x00065470 lw fp, 0x180(sp) | fp = *(var_180h);
0x00065474 lw s7, 0x17c(sp) | s7 = *(var_17ch);
0x00065478 lw s6, 0x178(sp) | s6 = *(var_178h);
0x0006547c lw s5, 0x174(sp) | s5 = *(var_174h);
0x00065480 lw s4, 0x170(sp) | s4 = *(var_170h);
0x00065484 lw s3, 0x16c(sp) | s3 = *(var_16ch);
0x00065488 lw s2, 0x168(sp) | s2 = *(var_168h);
0x0006548c lw s1, 0x164(sp) | s1 = *(var_164h);
0x00065490 lw s0, 0x160(sp) | s0 = *(var_160h);
0x00065494 addiu sp, sp, 0x188 |
0x00065498 jr ra | return v0;
| label_3:
0x0006549c lw a0, 4(s0) | a0 = *((s0 + 1));
0x000654a0 lw t8, (a0) | t8 = *(a0);
0x000654a4 lw t9, 0x20(t8) | t9 = *((t8 + 8));
0x000654a8 jalr t9 | t9 ();
0x000654ac nop |
0x000654b0 addiu t8, zero, 0x96 | t8 = 0x96;
0x000654b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == t8) {
0x000654b8 beq v0, t8, 0x655cc | goto label_5;
| }
0x000654bc addiu t8, zero, 0xb | t8 = 0xb;
0x000654c0 move a2, zero | a2 = 0;
| if (v0 == t8) {
0x000654c4 beq v0, t8, 0x655cc | goto label_5;
| }
0x000654c8 lw a0, 4(s0) | a0 = *((s0 + 1));
0x000654cc lw a1, -0x7fd0(gp) | a1 = *(gp);
0x000654d0 lw t8, (a0) | t8 = *(a0);
0x000654d4 lw t9, 0x10(t8) | t9 = *((t8 + 4));
| /* str.connect___failed:_ */
0x000654d8 addiu a1, a1, -0x20dc | a1 += -0x20dc;
0x000654dc jalr t9 | t9 ();
0x000654e0 lw t8, 0x30(s0) | t8 = *((s0 + 12));
0x000654e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (t8 <= 0) {
0x000654e8 blez t8, 0x65624 | goto label_6;
| }
0x000654ec lw a0, 4(s0) | a0 = *((s0 + 1));
0x000654f0 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x000654f4 lw t8, (a0) | t8 = *(a0);
0x000654f8 lw t9, 0x24(t8) | t9 = *((t8 + 9));
| /* esilref: '...' */
0x000654fc addiu a1, a1, -0x22c4 | a1 += -0x22c4;
0x00065500 jalr t9 | t9 ();
0x00065504 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00065508 move s0, v0 | s0 = v0;
0x0006550c lw v0, (v0) | v0 = *(v0);
0x00065510 lw t8, (a0) | t8 = *(a0);
0x00065514 lw t9, (t8) | t9 = *(t8);
0x00065518 lw s1, 0x24(v0) | s1 = *((v0 + 9));
0x0006551c jalr t9 | t9 ();
0x00065520 move a0, s0 | a0 = s0;
0x00065524 move t9, s1 | t9 = s1;
0x00065528 move a1, v0 | a1 = v0;
0x0006552c jalr t9 | t9 ();
0x00065530 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065534 move a0, v0 | a0 = v0;
0x00065538 lw t8, (v0) | t8 = *(v0);
0x0006553c lw a1, -0x7fd0(gp) | a1 = *(gp);
0x00065540 lw t9, 0x24(t8) | t9 = *((t8 + 9));
0x00065544 addiu a1, a1, -0x1758 | a1 += -0x1758;
0x00065548 jalr t9 | t9 ();
0x0006554c addiu v0, zero, -1 | v0 = -1;
0x00065550 b 0x65438 |
| } while (1);
| label_2:
0x00065554 lw t9, -0x6f5c(gp) | t9 = *(gp);
0x00065558 move a0, s2 | a0 = s2;
0x0006555c jalr t9 | t9 ();
0x00065560 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00065564 bnez v0, 0x653f8 | goto label_0;
| }
0x00065568 lw t9, -0x6f04(gp) | t9 = sym.imp.ourOutputInterfaceName_UsageEnvironment_;
0x0006556c lw a0, 4(s0) | a0 = *((s0 + 1));
0x00065570 jalr t9 | t9 ();
0x00065574 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065578 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0006557c beqz v0, 0x6562c | goto label_7;
| }
0x00065580 lw t9, -0x7ecc(gp) | t9 = sym.imp.strlen;
0x00065584 move a0, v0 | a0 = v0;
0x00065588 jalr t9 | t9 ();
0x0006558c move a0, s7 | a0 = s7;
0x00065590 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065594 ori a1, zero, 0xffff | a1 = 0xffff;
0x00065598 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006559c addiu a2, zero, 0x19 | a2 = 0x19;
0x000655a0 lw t9, -0x7aa8(gp) | t9 = sym.imp.setsockopt;
0x000655a4 move a3, s1 | a3 = s1;
0x000655a8 jalr t9 | t9 ();
0x000655ac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x000655b0 bgez v0, 0x653f8 | goto label_0;
| }
0x000655b4 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x000655b8 lw t9, -0x7418(gp) | t9 = sym.imp.perror;
| /* str.setsockopt__ */
0x000655bc addiu a0, a0, -0x20ec | a0 += -aav.0x000020ec;
0x000655c0 jalr t9 | t9 ();
0x000655c4 move v0, zero | v0 = 0;
0x000655c8 b 0x65438 | goto label_1;
| label_5:
0x000655cc lw t8, 4(s0) | t8 = *((s0 + 1));
0x000655d0 move a1, s7 | a1 = s7;
0x000655d4 lw a3, -0x74b0(gp) | a3 = *(gp);
0x000655d8 lw a0, 0xc(t8) | a0 = *((t8 + 3));
0x000655dc lw t8, (a0) | t8 = *(a0);
0x000655e0 sw s0, 0x10(sp) | *(var_10h) = s0;
0x000655e4 lw t9, 0x14(t8) | t9 = *((t8 + 5));
0x000655e8 addiu a2, zero, 0xc | a2 = 0xc;
0x000655ec jalr t9 | t9 ();
0x000655f0 move v0, zero | v0 = 0;
0x000655f4 lw ra, 0x184(sp) | ra = *(var_184h);
0x000655f8 lw fp, 0x180(sp) | fp = *(var_180h);
0x000655fc lw s7, 0x17c(sp) | s7 = *(var_17ch);
0x00065600 lw s6, 0x178(sp) | s6 = *(var_178h);
0x00065604 lw s5, 0x174(sp) | s5 = *(var_174h);
0x00065608 lw s4, 0x170(sp) | s4 = *(var_170h);
0x0006560c lw s3, 0x16c(sp) | s3 = *(var_16ch);
0x00065610 lw s2, 0x168(sp) | s2 = *(var_168h);
0x00065614 lw s1, 0x164(sp) | s1 = *(var_164h);
0x00065618 lw s0, 0x160(sp) | s0 = *(var_160h);
0x0006561c addiu sp, sp, 0x188 |
0x00065620 jr ra | return v0;
| label_6:
0x00065624 addiu v0, zero, -1 | v0 = -1;
0x00065628 b 0x65438 | goto label_1;
| label_7:
0x0006562c lw t8, -0x6d54(gp) | t8 = *((gp - 6997));
0x00065630 addiu a3, zero, 0x390 | a3 = aav.0x00000390;
0x00065634 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x00065638 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0006563c lw t9, -0x76f0(gp) | t9 = sym.imp.fprintf
| /* str.In__s:_d:_output_interface_is_invalid._n */
0x00065640 addiu a1, a1, -0x2114 | a1 += -0x2114;
0x00065644 lw a0, (t8) | a0 = *(t8);
| /* method.RTSPClient.connectToServer_int__unsigned_short_::__FUNCTION__ */
0x00065648 addiu a2, a2, -0x1a60 | a2 += -0x1a60;
0x0006564c jalr t9 | t9 ();
0x00065650 move v0, zero | v0 = 0;
0x00065654 b 0x65438 | goto label_1;
| }
Error: no data available.
Please analyze the function/binary first.
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libliveMedia.so.52.0.3 @ 0x64324 */
| #include <stdint.h>
|
; (fcn) method.RTSPClient.parseRTSPURL_UsageEnvironment__char_const__char__char__NetAddress__unsigned_short__char_const_ () | void method_RTSPClient_parseRTSPURL_UsageEnvironment_char_const_char_char_NetAddress_unsigned_short_char_const_ () {
| /* RTSPClient::parseRTSPURL(UsageEnvironment&, char const*, char*&, char*&, NetAddress&, unsigned short&, char const**) */
0x00064324 lui gp, 5 |
0x00064328 addiu gp, gp, -0x3ef4 |
0x0006432c addu gp, gp, t9 | gp += t9;
0x00064330 addiu sp, sp, -0xc8 |
0x00064334 sw ra, 0xc4(sp) | *(var_c4h) = ra;
0x00064338 sw fp, 0xc0(sp) | *(var_c0h) = fp;
0x0006433c sw s7, 0xbc(sp) | *(var_bch) = s7;
0x00064340 sw s6, 0xb8(sp) | *(var_b8h) = s6;
0x00064344 sw s5, 0xb4(sp) | *(var_b4h) = s5;
0x00064348 sw s4, 0xb0(sp) | *(var_b0h) = s4;
0x0006434c sw s3, 0xac(sp) | *(var_ach) = s3;
0x00064350 sw s2, 0xa8(sp) | *(var_a8h) = s2;
0x00064354 sw s1, 0xa4(sp) | *(var_a4h) = s1;
0x00064358 sw s0, 0xa0(sp) | *(var_a0h) = s0;
0x0006435c move s4, a1 | s4 = a1;
0x00064360 lw s0, -0x7fd0(gp) | s0 = *(gp);
0x00064364 move s3, a0 | s3 = a0;
0x00064368 lw t9, -0x745c(gp) | t9 = sym.imp.strncasecmp;
0x0006436c move s6, a2 | s6 = a2;
0x00064370 sw gp, 0x20(sp) | *(var_20h) = gp;
| /* str.rtsp:__ */
0x00064374 addiu a1, s0, -0x2280 | a1 = s0 + -0x2280;
0x00064378 move a0, s4 | a0 = s4;
0x0006437c addiu a2, zero, 7 | a2 = 7;
0x00064380 move s5, a3 | s5 = a3;
0x00064384 jalr t9 | t9 ();
0x00064388 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0006438c bnez v0, 0x64588 | goto label_9;
| }
0x00064390 lw t9, -0x7450(gp) | t9 = *(gp);
0x00064394 move a0, s4 | a0 = s4;
0x00064398 addiu a1, zero, 0x5b | a1 = 0x5b;
0x0006439c jalr t9 | t9 ();
0x000643a0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000643a4 beqz v0, 0x646c8 | goto label_10;
| }
0x000643a8 lw t9, -0x7450(gp) | t9 = *(gp);
0x000643ac move a0, s4 | a0 = s4;
0x000643b0 addiu a1, zero, 0x5d | a1 = 0x5d;
0x000643b4 jalr t9 | t9 ();
0x000643b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000643bc sltu s7, zero, v0 | s7 = (0 < v0) ? 1 : 0;
| label_3:
0x000643c0 sw zero, (s5) | *(s5) = 0;
0x000643c4 sw zero, (s6) | *(s6) = 0;
0x000643c8 lb t8, 7(s4) | t8 = *((s4 + 7));
0x000643cc addiu s1, s4, 7 | s1 = s4 + 7;
| if (t8 == 0) {
0x000643d0 beqz t8, 0x64418 | goto label_11;
| }
0x000643d4 addiu v0, zero, 0x2f | v0 = 0x2f;
0x000643d8 addiu v1, zero, 0x3a | v1 = 0x3a;
| if (t8 == v0) {
0x000643dc beq t8, v0, 0x64418 | goto label_11;
| }
0x000643e0 move s0, s1 | s0 = s1;
0x000643e4 move s2, zero | s2 = 0;
0x000643e8 addiu a1, zero, 0x40 | a1 = 0x40;
0x000643ec addiu a0, zero, 0x2f | a0 = 0x2f;
| do {
| if (t8 == v1) {
0x000643f0 beq t8, v1, 0x644f4 | goto label_12;
| }
0x000643f4 nop |
| if (t8 == a1) {
0x000643f8 beq t8, a1, 0x645b4 | goto label_13;
| }
0x000643fc nop |
| label_0:
0x00064400 addiu s0, s0, 1 | s0++;
0x00064404 lb t8, (s0) | t8 = *(s0);
| if (t8 == 0) {
0x00064408 beqz t8, 0x64418 | goto label_11;
| }
0x0006440c nop |
0x00064410 bne t8, a0, 0x643f0 |
| } while (t8 != a0);
0x00064414 nop |
| label_11:
0x00064418 lw t9, -0x7450(gp) | t9 = *(gp);
| if (s7 != 0) {
0x0006441c bnez s7, 0x64634 | goto label_14;
| }
| label_1:
0x00064420 addiu s0, sp, 0x28 | s0 = sp + 0x28;
0x00064424 move v1, zero | v1 = 0;
0x00064428 move v0, s0 | v0 = s0;
0x0006442c addiu a3, zero, 0x3a | a3 = 0x3a;
0x00064430 addiu t0, zero, 0x2f | t0 = 0x2f;
0x00064434 addiu a0, zero, 0x64 | a0 = 0x64;
0x00064438 b 0x6445c |
| while (t8 != 0) {
| if (t8 == a3) {
0x0006443c beq t8, a3, 0x64468 | goto label_15;
| }
0x00064440 nop |
0x00064444 addiu v1, v1, 1 | v1++;
| if (t8 == t0) {
0x00064448 beq t8, t0, 0x64468 | goto label_15;
| }
0x0006444c addiu v0, v0, 1 | v0++;
0x00064450 addiu s1, s1, 1 | s1++;
0x00064454 sb t8, -1(v0) | *(var_28h) = t8;
| if (v1 == a0) {
0x00064458 beq v1, a0, 0x646d0 | goto label_16;
| }
0x0006445c lb t8, (s1) | t8 = *(s1);
0x00064460 bnez t8, 0x6443c |
| }
0x00064464 nop |
| label_15:
0x00064468 sb zero, (v0) | *(v0) = 0;
| label_2:
0x0006446c lw t9, -0x71e0(gp) | t9 = *(gp);
0x00064470 addiu s2, sp, 0x8c | s2 = sp + 0x8c;
0x00064474 move a0, s2 | a0 = s2;
0x00064478 move a1, s0 | a1 = s0;
0x0006447c jalr t9 | t9 ();
0x00064480 lw t8, 0x90(sp) | t8 = *(var_90h);
0x00064484 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 != 0) {
0x00064488 bnez t8, 0x644fc | goto label_17;
| }
0x0006448c lw t8, (s3) | t8 = *(s3);
0x00064490 move a0, s3 | a0 = s3;
0x00064494 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x00064498 move a2, s0 | a2 = s0;
0x0006449c lw a3, -0x7fd0(gp) | a3 = *(gp);
0x000644a0 lw t9, 0xc(t8) | t9 = *((t8 + 3));
| /* str.Failed_to_find_network_address_for__ */
0x000644a4 addiu a1, a1, -0x2210 | a1 += -0x2210;
0x000644a8 addiu a3, a3, -0x1b00 | a3 += -0x1b00;
0x000644ac jalr t9 | t9 ();
0x000644b0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_6:
0x000644b4 lw t9, -0x72b4(gp) | t9 = *(gp);
0x000644b8 move a0, s2 | a0 = s2;
0x000644bc jalr t9 | t9 ();
0x000644c0 lw ra, 0xc4(sp) | ra = *(var_c4h);
| do {
| label_4:
0x000644c4 move v0, zero | v0 = 0;
0x000644c8 lw fp, 0xc0(sp) | fp = *(var_c0h);
0x000644cc lw s7, 0xbc(sp) | s7 = *(var_bch);
0x000644d0 lw s6, 0xb8(sp) | s6 = *(var_b8h);
0x000644d4 lw s5, 0xb4(sp) | s5 = *(var_b4h);
0x000644d8 lw s4, 0xb0(sp) | s4 = *(var_b0h);
0x000644dc lw s3, 0xac(sp) | s3 = *(var_ach);
0x000644e0 lw s2, 0xa8(sp) | s2 = *(var_a8h);
0x000644e4 lw s1, 0xa4(sp) | s1 = *(var_a4h);
0x000644e8 lw s0, 0xa0(sp) | s0 = *(var_a0h);
0x000644ec addiu sp, sp, 0xc8 |
0x000644f0 jr ra | return v0;
| if (s2 != 0) {
| label_12:
0x000644f4 movz s2, s0, s2 | s2 = s0;
| }
0x000644f8 b 0x64400 | goto label_0;
| label_17:
0x000644fc lw t9, -0x7a90(gp) | t9 = *(gp);
0x00064500 move a0, s2 | a0 = s2;
0x00064504 jalr t9 | t9 ();
0x00064508 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006450c lw a0, 0xd8(sp) | a0 = *(arg_d8h);
0x00064510 lw t9, -0x7348(gp) | t9 = *(gp);
0x00064514 move a1, v0 | a1 = v0;
0x00064518 jalr t9 | t9 ();
0x0006451c lw gp, 0x20(sp) | gp = *(var_20h);
0x00064520 lw v0, 0xdc(sp) | v0 = *(arg_dch);
0x00064524 addiu t8, zero, 0x22a | t8 = 0x22a;
0x00064528 sh t8, (v0) | *(v0) = t8;
0x0006452c addiu t8, zero, 0x3a | t8 = 0x3a;
0x00064530 lb v0, (s1) | v0 = *(s1);
0x00064534 lw a1, -0x7fd0(gp) | a1 = *(gp);
| if (v0 == t8) {
0x00064538 beq v0, t8, 0x64734 | goto label_18;
| }
| label_7:
0x0006453c lw v0, 0xe0(sp) | v0 = *(arg_e0h);
| label_8:
0x00064540 lw t9, -0x72b4(gp) | t9 = *(gp);
| if (v0 != 0) {
0x00064544 beqz v0, 0x6454c |
0x00064548 sw s1, (v0) | *(v0) = s1;
| }
0x0006454c move a0, s2 | a0 = s2;
0x00064550 jalr t9 | t9 ();
0x00064554 addiu v0, zero, 1 | v0 = 1;
0x00064558 lw ra, 0xc4(sp) | ra = *(var_c4h);
0x0006455c lw fp, 0xc0(sp) | fp = *(var_c0h);
0x00064560 lw s7, 0xbc(sp) | s7 = *(var_bch);
0x00064564 lw s6, 0xb8(sp) | s6 = *(var_b8h);
0x00064568 lw s5, 0xb4(sp) | s5 = *(var_b4h);
0x0006456c lw s4, 0xb0(sp) | s4 = *(var_b0h);
0x00064570 lw s3, 0xac(sp) | s3 = *(var_ach);
0x00064574 lw s2, 0xa8(sp) | s2 = *(var_a8h);
0x00064578 lw s1, 0xa4(sp) | s1 = *(var_a4h);
0x0006457c lw s0, 0xa0(sp) | s0 = *(var_a0h);
0x00064580 addiu sp, sp, 0xc8 |
0x00064584 jr ra | return v0;
| label_9:
0x00064588 lw t8, (s3) | t8 = *(s3);
0x0006458c move a0, s3 | a0 = s3;
0x00064590 lw a1, -0x7fd0(gp) | a1 = *(gp);
| /* str.rtsp:__ */
0x00064594 addiu a2, s0, -0x2280 | a2 = s0 + -0x2280;
0x00064598 lw a3, -0x7fd0(gp) | a3 = *(gp);
0x0006459c lw t9, 0xc(t8) | t9 = *((t8 + 3));
| /* str.URL_is_not_of_the_form__ */
0x000645a0 addiu a1, a1, -0x2278 | a1 += -aav.0x00002278;
0x000645a4 addiu a3, a3, -0x1b00 | a3 += -0x1b00;
0x000645a8 jalr t9 | t9 ();
0x000645ac lw ra, 0xc4(sp) | ra = *(var_c4h);
0x000645b0 b 0x644c4 |
| } while (1);
| label_13:
0x000645b4 lw t9, -0x7a58(gp) | t9 = sym.imp.operator_new___unsigned_int_;
| if (s2 == 0) {
0x000645b8 beqz s2, 0x646f0 | goto label_19;
| }
0x000645bc subu fp, s2, s1 | __asm ("subu fp, s2, s1");
0x000645c0 addiu a0, fp, 1 | a0 = fp + 1;
0x000645c4 jalr t9 | t9 ();
0x000645c8 move a1, s1 | a1 = s1;
0x000645cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000645d0 move a0, v0 | a0 = v0;
0x000645d4 sw v0, (s6) | *(s6) = v0;
0x000645d8 lw t8, -0x7fc0(gp) | t8 = *((gp - 8176));
| /* sym.copyUsernameOrPasswordStringFromURL_char__char_const__unsigned_int_ */
0x000645dc addiu s6, t8, 0x8e8 | s6 = t8 + aav.0x000008e8;
0x000645e0 move t9, s6 | t9 = s6;
0x000645e4 move a2, fp | a2 = fp;
0x000645e8 jalr t9 | t9 ();
0x000645ec sltu t8, s2, s0 | t8 = (s2 < s0) ? 1 : 0;
0x000645f0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (t8 != 0) {
0x000645f4 beqz t8, 0x645fc |
0x000645f8 addiu s2, s2, 1 | s2++;
| }
0x000645fc subu fp, s0, s2 | __asm ("subu fp, s0, s2");
0x00064600 addiu a0, fp, 1 | a0 = fp + 1;
| label_5:
0x00064604 lw t9, -0x7a58(gp) | t9 = sym.imp.operator_new___unsigned_int_;
0x00064608 addiu s1, s0, 1 | s1 = s0 + 1;
0x0006460c jalr t9 | t9 ();
0x00064610 move a1, s2 | a1 = s2;
0x00064614 sw v0, (s5) | *(s5) = v0;
0x00064618 move a0, v0 | a0 = v0;
0x0006461c move t9, s6 | t9 = s6;
0x00064620 move a2, fp | a2 = fp;
0x00064624 jalr t9 | t9 ();
0x00064628 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s7 == 0) {
0x0006462c beqz s7, 0x64420 | goto label_1;
| }
0x00064630 lw t9, -0x7450(gp) | t9 = *(gp);
| label_14:
0x00064634 move a0, s4 | a0 = s4;
0x00064638 addiu a1, zero, 0x5b | a1 = 0x5b;
0x0006463c addiu s0, sp, 0x28 | s0 = sp + 0x28;
0x00064640 jalr t9 | t9 ();
0x00064644 move a0, s4 | a0 = s4;
0x00064648 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006464c addiu a1, zero, 0x5d | a1 = 0x5d;
0x00064650 lw t9, -0x7450(gp) | t9 = *(gp);
0x00064654 move s5, v0 | s5 = v0;
0x00064658 jalr t9 | t9 ();
0x0006465c move a0, s0 | a0 = s0;
0x00064660 lw gp, 0x20(sp) | gp = *(var_20h);
0x00064664 subu v0, v0, s5 | __asm ("subu v0, v0, s5");
0x00064668 addiu s2, v0, -1 | s2 = v0 + -1;
0x0006466c addiu a1, s5, 1 | a1 = s5 + 1;
0x00064670 lw t9, -0x7604(gp) | t9 = sym.imp.strncpy;
0x00064674 move a2, s2 | a2 = s2;
0x00064678 addu s2, s0, s2 | s2 = s0 + s2;
0x0006467c jalr t9 | t9 ();
0x00064680 lw gp, 0x20(sp) | gp = *(var_20h);
0x00064684 lw t8, -0x6d54(gp) | t8 = *((gp - 6997));
0x00064688 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0006468c lw a2, -0x7fd0(gp) | a2 = *(gp);
0x00064690 lw a3, -0x7fd0(gp) | a3 = *(gp);
| /* str.In__s:_s:_d:_url___s__parseBuffer___s_n */
0x00064694 addiu a1, a1, -0x224c | a1 += -aav.0x0000224c;
0x00064698 lw a0, (t8) | a0 = *(t8);
0x0006469c addiu t8, zero, 0x141 | t8 = 0x141;
0x000646a0 lw t9, -0x76f0(gp) | t9 = sym.imp.fprintf
| /* str.RTSPClient.cpp */
0x000646a4 addiu a2, a2, -0x2220 | a2 += -0x2220;
0x000646a8 sw t8, 0x10(sp) | *(var_10h) = t8;
| /* method.RTSPClient.parseRTSPURL_UsageEnvironment__char_const__char__char__NetAddress__unsigned_short__char_const_::__FUNCTION__ */
0x000646ac addiu a3, a3, -0x1a50 | a3 += -0x1a50;
0x000646b0 sw s4, 0x14(sp) | *(var_14h) = s4;
0x000646b4 sw s0, 0x18(sp) | *(var_18h) = s0;
0x000646b8 sb zero, (s2) | *(s2) = 0;
0x000646bc jalr t9 | t9 ();
0x000646c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000646c4 b 0x6446c | goto label_2;
| label_10:
0x000646c8 move s7, zero | s7 = 0;
0x000646cc b 0x643c0 | goto label_3;
| label_16:
0x000646d0 lw t8, (s3) | t8 = *(s3);
0x000646d4 move a0, s3 | a0 = s3;
0x000646d8 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x000646dc lw t9, 4(t8) | t9 = *((t8 + 1));
| /* str.URL_is_too_long */
0x000646e0 addiu a1, a1, -0x225c | a1 += -0x225c;
0x000646e4 jalr t9 | t9 ();
0x000646e8 lw ra, 0xc4(sp) | ra = *(var_c4h);
0x000646ec b 0x644c4 | goto label_4;
| label_19:
0x000646f0 subu s2, s0, s1 | __asm ("subu s2, s0, s1");
0x000646f4 addiu a0, s2, 1 | a0 = s2 + 1;
0x000646f8 move fp, zero | fp = 0;
0x000646fc jalr t9 | t9 ();
0x00064700 move a2, s2 | a2 = s2;
0x00064704 lw gp, 0x20(sp) | gp = *(var_20h);
0x00064708 move a0, v0 | a0 = v0;
0x0006470c sw v0, (s6) | *(s6) = v0;
0x00064710 move a1, s1 | a1 = s1;
0x00064714 lw t8, -0x7fc0(gp) | t8 = *((gp - 8176));
| /* sym.copyUsernameOrPasswordStringFromURL_char__char_const__unsigned_int_ */
0x00064718 addiu s6, t8, 0x8e8 | s6 = t8 + aav.0x000008e8;
0x0006471c move t9, s6 | t9 = s6;
0x00064720 move s2, s0 | s2 = s0;
0x00064724 jalr t9 | t9 ();
0x00064728 addiu a0, zero, 1 | a0 = 1;
0x0006472c lw gp, 0x20(sp) | gp = *(var_20h);
0x00064730 b 0x64604 | goto label_5;
| label_18:
0x00064734 addiu s0, s1, 1 | s0 = s1 + 1;
0x00064738 lw t9, -0x6ec0(gp) | t9 = sym.imp.sscanf;
0x0006473c move a0, s0 | a0 = s0;
| /* esilref: '&d' */
0x00064740 addiu a1, a1, -0x4890 | a1 += -aav.0x00004890;
0x00064744 addiu a2, sp, 0x98 | a2 = sp + 0x98;
0x00064748 jalr t9 | t9 ();
0x0006474c addiu t8, zero, 1 | t8 = 1;
0x00064750 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != t8) {
0x00064754 beq v0, t8, 0x64778 |
0x00064758 lw t8, (s3) | t8 = *(s3);
0x0006475c move a0, s3 | a0 = s3;
0x00064760 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x00064764 lw t9, 4(t8) | t9 = *((t8 + 1));
| /* str.No_port_number_follows_: */
0x00064768 addiu a1, a1, -0x21e8 | a1 += -aav.0x000021e8;
0x0006476c jalr t9 | t9 ();
0x00064770 lw gp, 0x20(sp) | gp = *(var_20h);
0x00064774 b 0x644b4 | goto label_6;
| }
0x00064778 lw t8, 0x98(sp) | t8 = *(var_98h);
0x0006477c ori v0, zero, 0xffff | v0 = 0xffff;
0x00064780 addiu v1, t8, -1 | v1 = t8 + -1;
0x00064784 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x00064788 lw t9, 0xdc(sp) | t9 = *(arg_dch);
| if (v0 == 0) {
0x0006478c beqz v0, 0x647d4 | goto label_20;
| }
0x00064790 sh t8, (t9) | *(t9) = t8;
0x00064794 lbu t8, 1(s1) | t8 = *((s1 + 1));
0x00064798 addiu t8, t8, -0x30 | t8 += -0x30;
0x0006479c andi t8, t8, 0xff | t8 &= 0xff;
0x000647a0 sltiu t8, t8, 0xa | t8 = (t8 < 0xa) ? 1 : 0;
0x000647a4 move s1, s0 | s1 = s0;
| if (t8 == 0) {
0x000647a8 beqz t8, 0x6453c | goto label_7;
| }
0x000647ac addiu s1, s1, 1 | s1++;
| do {
0x000647b0 lbu t8, (s1) | t8 = *(s1);
0x000647b4 addiu t8, t8, -0x30 | t8 += -0x30;
0x000647b8 andi t8, t8, 0xff | t8 &= 0xff;
0x000647bc sltiu t8, t8, 0xa | t8 = (t8 < 0xa) ? 1 : 0;
0x000647c0 addiu s1, s1, 1 | s1++;
0x000647c4 bnez t8, 0x647b0 |
| } while (t8 != 0);
0x000647c8 addiu s1, s1, -1 | s1 += -1;
0x000647cc lw v0, 0xe0(sp) | v0 = *(arg_e0h);
0x000647d0 b 0x64540 | goto label_8;
| label_20:
0x000647d4 lw t8, (s3) | t8 = *(s3);
0x000647d8 move a0, s3 | a0 = s3;
0x000647dc lw a1, -0x7fd0(gp) | a1 = *(gp);
0x000647e0 lw t9, 4(t8) | t9 = *((t8 + 1));
| /* str.Bad_port_number */
0x000647e4 addiu a1, a1, -0x21cc | a1 += -0x21cc;
0x000647e8 jalr t9 | t9 ();
0x000647ec lw gp, 0x20(sp) | gp = *(var_20h);
0x000647f0 b 0x644b4 | goto label_6;
| }
Error: no data available.
Please analyze the function/binary first.
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libliveMedia.so.52.0.3 @ 0x45250 */
| #include <stdint.h>
|
; (fcn) method.StreamReplicator.deliverReceivedFrame__ () | void method_StreamReplicator_deliverReceivedFrame_ () {
| /* StreamReplicator::deliverReceivedFrame() */
0x00045250 lui gp, 7 |
0x00045254 addiu gp, gp, -0x4e20 |
0x00045258 addu gp, gp, t9 | gp += t9;
0x0004525c addiu sp, sp, -0x40 |
0x00045260 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00045264 sw s4, 0x38(sp) | *(var_38h) = s4;
0x00045268 sw s3, 0x34(sp) | *(var_34h) = s3;
0x0004526c sw s2, 0x30(sp) | *(var_30h) = s2;
0x00045270 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x00045274 sw s0, 0x28(sp) | *(var_28h) = s0;
0x00045278 lw s0, 0x48(a0) | s0 = *((a0 + 18));
0x0004527c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00045280 move s1, a0 | s1 = a0;
| if (s0 == 0) {
0x00045284 beqz s0, 0x45330 | goto label_2;
| }
0x00045288 lw s4, -0x7fd0(gp) | s4 = *(gp);
0x0004528c lw s3, -0x7fd0(gp) | s3 = *(gp);
0x00045290 lw s2, -0x6d54(gp) | s2 = *((gp - 6997));
| /* str.StreamReplicator::deliverReceivedFrame___Internal_Error_1__n */
0x00045294 addiu s4, s4, -0x4a40 | s4 += -0x4a40;
| /* str.StreamReplicator::deliverReceivedFrame___Internal_Error_2__d__d___n */
0x00045298 addiu s3, s3, -0x4a04 | s3 += -0x4a04;
0x0004529c b 0x452b8 |
| while (t8 != 0) {
0x000452a0 lw t9, -0x7b2c(gp) | t9 = *(gp);
0x000452a4 move a0, s0 | a0 = s0;
0x000452a8 jalr t9 | t9 ();
0x000452ac lw s0, 0x48(s1) | s0 = *((s1 + 18));
0x000452b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == 0) {
0x000452b4 beqz s0, 0x45330 | goto label_2;
| }
| label_0:
0x000452b8 lw t8, 0x64(s0) | t8 = *((s0 + 25));
0x000452bc lw a1, 0x44(s1) | a1 = *((s1 + 17));
0x000452c0 sw t8, 0x48(s1) | *((s1 + 18)) = t8;
0x000452c4 sw zero, 0x64(s0) | *((s0 + 25)) = 0;
| if (a1 == 0) {
0x000452c8 beqz a1, 0x45364 | goto label_3;
| }
| label_1:
0x000452cc lw t9, -0x7f20(gp) | t9 = *(gp);
0x000452d0 move a0, s0 | a0 = s0;
0x000452d4 jalr t9 | t9 ();
0x000452d8 addiu v0, zero, 1 | v0 = 1;
0x000452dc lw a2, 0x3c(s1) | a2 = *((s1 + 15));
0x000452e0 lw t8, 0x60(s0) | t8 = *((s0 + 24));
0x000452e4 lw a3, 0x38(s1) | a3 = *((s1 + 14));
0x000452e8 addiu a2, a2, 1 | a2++;
0x000452ec subu v0, v0, t8 | __asm ("subu v0, v0, t8");
0x000452f0 sltu t8, a2, a3 | t8 = (a2 < a3) ? 1 : 0;
0x000452f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000452f8 sw v0, 0x60(s0) | *((s0 + 24)) = v0;
0x000452fc sw a2, 0x3c(s1) | *((s1 + 15)) = a2;
0x00045300 bnez t8, 0x452a0 |
| }
0x00045304 lw t9, -0x76f0(gp) | t9 = sym.imp.fprintf
0x00045308 move a1, s3 | a1 = s3;
0x0004530c lw a0, (s2) | a0 = *(s2);
0x00045310 jalr t9 | t9 ();
0x00045314 lw gp, 0x20(sp) | gp = *(var_20h);
0x00045318 lw t9, -0x7b2c(gp) | t9 = *(gp);
0x0004531c move a0, s0 | a0 = s0;
0x00045320 jalr t9 | t9 ();
0x00045324 lw s0, 0x48(s1) | s0 = *((s1 + 18));
0x00045328 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != 0) {
0x0004532c bnez s0, 0x452b8 | goto label_0;
| }
| label_2:
0x00045330 lw t8, 0x38(s1) | t8 = *((s1 + 14));
0x00045334 lw v0, 0x3c(s1) | v0 = *((s1 + 15));
0x00045338 addiu t8, t8, -1 | t8 += -1;
| if (v0 == t8) {
0x0004533c beq v0, t8, 0x45388 | goto label_4;
| }
0x00045340 nop |
| do {
0x00045344 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00045348 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0004534c lw s3, 0x34(sp) | s3 = *(var_34h);
0x00045350 lw s2, 0x30(sp) | s2 = *(var_30h);
0x00045354 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00045358 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0004535c addiu sp, sp, 0x40 |
0x00045360 jr ra | return v0;
| label_3:
0x00045364 lw t9, -0x7558(gp) | t9 = sym.imp.fwrite;
0x00045368 addiu a1, zero, 1 | a1 = 1;
0x0004536c lw a3, (s2) | a3 = *(s2);
0x00045370 move a0, s4 | a0 = s4;
0x00045374 addiu a2, zero, 0x3b | a2 = 0x3b;
0x00045378 jalr t9 | t9 ();
0x0004537c lw gp, 0x20(sp) | gp = *(var_20h);
0x00045380 lw a1, 0x44(s1) | a1 = *((s1 + 17));
0x00045384 b 0x452cc | goto label_1;
| label_4:
0x00045388 lw s2, 0x44(s1) | s2 = *((s1 + 17));
0x0004538c addiu v0, zero, 1 | v0 = 1;
0x00045390 beqz s2, 0x45344 |
| } while (s2 == 0);
0x00045394 lw v1, 0x60(s2) | v1 = *((s2 + 24));
0x00045398 lw a0, 0x40(s1) | a0 = *((s1 + 16));
0x0004539c lw t8, 0x4c(s1) | t8 = *((s1 + 19));
0x000453a0 subu v1, v0, v1 | __asm ("subu v1, v0, v1");
0x000453a4 subu v0, v0, a0 | __asm ("subu v0, v0, a0");
0x000453a8 sw zero, 0x44(s1) | *((s1 + 17)) = 0;
0x000453ac sw v1, 0x60(s2) | *((s2 + 24)) = v1;
0x000453b0 sw v0, 0x40(s1) | *((s1 + 16)) = v0;
0x000453b4 sw zero, 0x3c(s1) | *((s1 + 15)) = 0;
| if (t8 != 0) {
0x000453b8 beqz t8, 0x45428 |
0x000453bc lw v0, 0x64(t8) | v0 = *((t8 + 25));
0x000453c0 lw a0, 0x2c(s1) | a0 = *((s1 + 11));
0x000453c4 sw t8, 0x44(s1) | *((s1 + 17)) = t8;
0x000453c8 sw v0, 0x4c(s1) | *((s1 + 19)) = v0;
0x000453cc sw zero, 0x64(t8) | *((t8 + 100)) = 0;
| if (a0 == 0) {
0x000453d0 beqz a0, 0x45428 | goto label_5;
| }
0x000453d4 lw a1, 0x2c(t8) | a1 = *((t8 + 11));
0x000453d8 lw a2, 0x30(t8) | a2 = *((t8 + 12));
0x000453dc lw t8, -0x777c(gp) | t8 = *(gp);
0x000453e0 lw t9, -0x7f80(gp) | t9 = *(gp);
0x000453e4 lw a3, -0x7ae8(gp) | a3 = *(gp);
0x000453e8 sw s1, 0x10(sp) | *(var_10h) = s1;
0x000453ec sw t8, 0x14(sp) | *(var_14h) = t8;
0x000453f0 sw s1, 0x18(sp) | *(var_18h) = s1;
0x000453f4 jalr t9 | t9 ();
0x000453f8 lw s0, 0x48(s1) | s0 = *((s1 + 18));
0x000453fc lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == 0) {
0x00045400 beqz s0, 0x45428 | goto label_5;
| }
0x00045404 lw t8, -0x6d54(gp) | t8 = *((gp - 6997));
0x00045408 addiu a1, zero, 1 | a1 = 1;
0x0004540c lw a0, -0x7fd0(gp) | a0 = *(gp);
0x00045410 addiu a2, zero, 0x3b | a2 = 0x3b;
0x00045414 lw t9, -0x7558(gp) | t9 = sym.imp.fwrite;
0x00045418 lw a3, (t8) | a3 = *(t8);
| /* str.StreamReplicator::deliverReceivedFrame___Internal_Error_3__n */
0x0004541c addiu a0, a0, -0x49c0 | a0 += -0x49c0;
0x00045420 jalr t9 | t9 ();
0x00045424 lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_5:
0x00045428 lw t8, 0x4c(s1) | t8 = *((s1 + 19));
0x0004542c move a0, s2 | a0 = s2;
0x00045430 sw zero, 0x4c(s1) | *((s1 + 19)) = 0;
0x00045434 sw t8, 0x48(s1) | *((s1 + 18)) = t8;
0x00045438 lw t9, -0x7b2c(gp) | t9 = *(gp);
0x0004543c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00045440 lw s4, 0x38(sp) | s4 = *(var_38h);
0x00045444 lw s3, 0x34(sp) | s3 = *(var_34h);
0x00045448 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0004544c lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00045450 lw s0, 0x28(sp) | s0 = *(var_28h);
0x00045454 addiu sp, sp, 0x40 |
0x00045458 jr t9 | return t9 ();
| }
[*] Function fprintf used 4 times libliveMedia.so.52.0.3