[*] Binary protection state of vdo-client
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of vdo-client
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-client @ 0x37d4 */
| #include <stdint.h>
|
; (fcn) fcn.000037d4 () | void fcn_000037d4 () {
0x000037d4 lui gp, 2 |
0x000037d8 addiu gp, gp, -0x3664 |
0x000037dc addu gp, gp, t9 | gp += t9;
0x000037e0 addiu sp, sp, -0x1d0 |
0x000037e4 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000037e8 lw v1, -0x7efc(gp) | v1 = *((gp - 8127));
0x000037ec sw s2, 0x1b0(sp) | *(var_1b0h) = s2;
0x000037f0 addiu s2, v0, -0x7eb0 | s2 = v0 + -0x7eb0;
0x000037f4 sw s0, 0x1a8(sp) | *(var_1a8h) = s0;
0x000037f8 sw v0, 0x44(sp) | *(var_44h) = v0;
0x000037fc lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00003800 lw v0, (v1) | v0 = *(v1);
0x00003804 lw t9, -0x7f38(gp) | t9 = sym.imp.fopen;
0x00003808 lw a0, 8(s2) | a0 = *((s2 + 2));
0x0000380c sw gp, 0x28(sp) | *(var_28h) = gp;
0x00003810 sw ra, 0x1cc(sp) | *(var_1cch) = ra;
0x00003814 sw fp, 0x1c8(sp) | *(var_1c8h) = fp;
0x00003818 sw s7, 0x1c4(sp) | *(var_1c4h) = s7;
0x0000381c sw s6, 0x1c0(sp) | *(var_1c0h) = s6;
0x00003820 sw s5, 0x1bc(sp) | *(var_1bch) = s5;
0x00003824 sw s4, 0x1b8(sp) | *(var_1b8h) = s4;
0x00003828 sw s3, 0x1b4(sp) | *(var_1b4h) = s3;
0x0000382c sw s1, 0x1ac(sp) | *(var_1ach) = s1;
0x00003830 sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00003834 addiu a1, s0, 0x71a4 | a1 = s0 + 0x71a4;
0x00003838 sw v0, 0x1a4(sp) | *(var_1a4h) = v0;
0x0000383c jalr t9 | t9 ();
0x00003840 nop |
0x00003844 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00003848 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000384c sw zero, 0x80(sp) | *(var_80h) = 0;
| if (v0 == 0) {
0x00003850 beqz v0, 0x3b88 | goto label_24;
| }
0x00003854 lw v0, 0xc(s2) | v0 = *((s2 + 3));
0x00003858 lw v0, 8(s2) | v0 = *((s2 + 2));
| if (v0 == 0) {
0x0000385c bnel v0, zero, 0x3b3c | goto label_25;
| }
0x00003860 sw zero, 0x40(sp) | *(var_40h) = 0;
| label_4:
0x00003864 lw s1, -0x7fd4(gp) | s1 = *(gp);
0x00003868 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x0000386c lw t9, -0x7ea4(gp) | t9 = sym.imp.vdo_map_get_uint32;
0x00003870 lw a0, (s1) | a0 = *(s1);
0x00003874 addiu a2, zero, 4 | a2 = 4;
0x00003878 addiu a1, s0, 0x71c8 | a1 = s0 + str.buffer.strategy;
0x0000387c jalr t9 | t9 ();
0x00003880 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003884 lw a0, (s1) | a0 = *(s1);
0x00003888 move a2, v0 | a2 = v0;
0x0000388c lw t9, -0x7ea0(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x00003890 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00003894 addiu a1, s0, 0x71c8 | a1 = s0 + str.buffer.strategy;
0x00003898 jalr t9 | t9 ();
0x0000389c lw gp, 0x28(sp) | gp = *(var_28h);
0x000038a0 addiu s6, sp, 0x80 | s6 = sp + 0x80;
0x000038a4 lw a0, (s1) | a0 = *(s1);
0x000038a8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000038ac lw t9, -0x7e64(gp) | t9 = sym.imp.vdo_stream_new;
0x000038b0 lw s7, -0x7fd8(gp) | s7 = *((gp - 8182));
0x000038b4 move a2, s6 | a2 = s6;
0x000038b8 addiu a1, a1, 0x2f14 | a1 += 0x2f14;
0x000038bc jalr t9 | t9 ();
0x000038c0 sw v0, -0x7c28(s7) | *((s7 - 7946)) = v0;
0x000038c4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000038c8 beqz v0, 0x38e8 | goto label_0;
| }
0x000038cc lw t9, -0x7ef4(gp) | t9 = sym.imp.vdo_stream_attach;
0x000038d0 move a2, s6 | a2 = s6;
0x000038d4 move a1, zero | a1 = 0;
0x000038d8 move a0, v0 | a0 = v0;
0x000038dc jalr t9 | t9 ();
0x000038e0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000038e4 bnez v0, 0x39c8 |
| while (v0 == 0) {
| label_0:
0x000038e8 lw v0, 0x80(sp) | v0 = *(var_80h);
| label_2:
0x000038ec lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (v0 != 0) {
0x000038f0 beqz v0, 0x3910 |
0x000038f4 lw a2, 8(v0) | a2 = *((v0 + 2));
0x000038f8 lw v0, -0x7ed4(gp) | v0 = *((gp - 8117));
0x000038fc lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00003900 lw a0, (v0) | a0 = *(v0);
0x00003904 addiu a1, a1, 0x73b8 | a1 += str.vdo_client:__s_n;
0x00003908 jalr t9 | t9 ();
0x0000390c lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x00003910 lw t9, -0x7ecc(gp) | t9 = sym.imp.fclose;
0x00003914 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00003918 jalr t9 | t9 ();
0x0000391c lw a0, 0x40(sp) | a0 = *(var_40h);
0x00003920 lw gp, 0x28(sp) | gp = *(var_28h);
| if (a0 != 0) {
0x00003924 beqz a0, 0x3938 |
0x00003928 lw t9, -0x7ecc(gp) | t9 = sym.imp.fclose;
0x0000392c jalr t9 | t9 ();
0x00003930 nop |
0x00003934 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x00003938 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x0000393c lw t9, -0x7e38(gp) | t9 = sym.imp.vdo_stream_stop;
| if (a0 != 0) {
0x00003940 beqz a0, 0x396c |
0x00003944 jalr t9 | t9 ();
0x00003948 nop |
0x0000394c lw v1, 0x58(sp) | v1 = *(var_58h);
0x00003950 addiu v0, zero, 4 | v0 = 4;
0x00003954 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 != v0) {
0x00003958 bne v1, v0, 0x3c08 | goto label_26;
| }
| label_7:
0x0000395c lw t9, -0x7e48(gp) | t9 = sym.imp.g_object_unref;
| label_6:
0x00003960 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x00003964 jalr t9 | t9 ();
0x00003968 lw gp, 0x28(sp) | gp = *(var_28h);
| }
| label_5:
0x0000396c lw a0, 0x80(sp) | a0 = *(var_80h);
0x00003970 lw t9, -0x7f68(gp) | t9 = sym.imp.g_error_free;
| if (a0 == 0) {
0x00003974 beqz a0, 0x3b34 | goto label_27;
| }
0x00003978 jalr t9 | t9 ();
0x0000397c nop |
0x00003980 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003984 addiu v0, zero, 1 | v0 = 1;
| label_3:
0x00003988 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0000398c lw a0, 0x1a4(sp) | a0 = *(var_1a4h);
0x00003990 lw v1, (v1) | v1 = *(v1);
0x00003994 lw ra, 0x1cc(sp) | ra = *(var_1cch);
| if (a0 != v1) {
0x00003998 bne a0, v1, 0x4534 | goto label_28;
| }
0x0000399c lw fp, 0x1c8(sp) | fp = *(var_1c8h);
0x000039a0 lw s7, 0x1c4(sp) | s7 = *(var_1c4h);
0x000039a4 lw s6, 0x1c0(sp) | s6 = *(var_1c0h);
0x000039a8 lw s5, 0x1bc(sp) | s5 = *(var_1bch);
0x000039ac lw s4, 0x1b8(sp) | s4 = *(var_1b8h);
0x000039b0 lw s3, 0x1b4(sp) | s3 = *(var_1b4h);
0x000039b4 lw s2, 0x1b0(sp) | s2 = *(var_1b0h);
0x000039b8 lw s1, 0x1ac(sp) | s1 = *(var_1ach);
0x000039bc lw s0, 0x1a8(sp) | s0 = *(var_1a8h);
0x000039c0 addiu sp, sp, 0x1d0 |
0x000039c4 jr ra | return v0;
0x000039c8 lw t9, -0x7ebc(gp) | t9 = sym.imp.vdo_stream_get_info;
0x000039cc lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x000039d0 move a1, s6 | a1 = s6;
0x000039d4 jalr t9 | t9 ();
0x000039d8 move s4, v0 | s4 = v0;
0x000039dc lw gp, 0x28(sp) | gp = *(var_28h);
0x000039e0 beqz v0, 0x38e8 |
| }
0x000039e4 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x000039e8 lw t9, -0x7ea4(gp) | t9 = sym.imp.vdo_map_get_uint32;
0x000039ec lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x000039f0 move a2, zero | a2 = 0;
0x000039f4 addiu a1, s3, 0x71d8 | a1 = s3 + str.buffer.count;
0x000039f8 move a0, v0 | a0 = v0;
0x000039fc jalr t9 | t9 ();
0x00003a00 lw v1, 0x10(s2) | v1 = *((s2 + 4));
0x00003a04 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003a08 sw v0, -0x7c80(s0) | *((s0 - 7968)) = v0;
| if (v1 == 0) {
0x00003a0c beqz v1, 0x4150 | goto label_29;
| }
| label_9:
0x00003a10 lw t9, -0x7e48(gp) | t9 = sym.imp.g_object_unref;
0x00003a14 move a0, s4 | a0 = s4;
0x00003a18 jalr t9 | t9 ();
0x00003a1c lw v1, 0x58(sp) | v1 = *(var_58h);
0x00003a20 addiu v0, zero, 4 | v0 = 4;
0x00003a24 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 == v0) {
0x00003a28 beq v1, v0, 0x3ca4 | goto label_30;
| }
0x00003a2c lw t9, -0x7ea4(gp) | t9 = sym.imp.vdo_map_get_uint32;
0x00003a30 lw a0, (s1) | a0 = *(s1);
0x00003a34 addiu a2, zero, 0xa | a2 = 0xa;
0x00003a38 addiu a1, s3, 0x71d8 | a1 = s3 + str.buffer.count;
0x00003a3c jalr t9 | t9 ();
0x00003a40 sltiu v1, v0, 0xb | v1 = (v0 < 0xb) ? 1 : 0;
0x00003a44 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 == 0) {
0x00003a48 beqz v1, 0x4344 | goto label_31;
| }
| if (v0 != 0) {
0x00003a4c beql v0, zero, 0x3a54 |
0x00003a50 addiu v0, zero, 1 | v0 = 1;
| }
| label_18:
0x00003a54 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00003a58 sw v0, -0x7c80(s0) | *((s0 - 7968)) = v0;
0x00003a5c lw v1, -0x7eb0(v1) | v1 = *((v1 - 8108));
| if (v1 != 0) {
0x00003a60 beql v1, zero, 0x3a78 |
0x00003a64 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00003a68 sltu a0, v1, v0 | a0 = (v1 < v0) ? 1 : 0;
| if (a0 == 0) {
0x00003a6c movn v0, v1, a0 | v0 = v1;
| }
0x00003a70 sw v0, -0x7c80(s0) | *((s0 - 7968)) = v0;
0x00003a74 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
| }
0x00003a78 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00003a7c lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00003a80 lw a2, -0x7c80(s0) | a2 = *((s0 - 7968));
0x00003a84 lw a0, -0x7c20(v0) | a0 = *((v0 - 7944));
0x00003a88 addiu a1, a1, 0x7200 | a1 += str.Adding__zu_buffers._n;
0x00003a8c sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00003a90 jalr t9 | t9 ();
0x00003a94 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003a98 lw a0, (s1) | a0 = *(s1);
0x00003a9c addiu a2, zero, -1 | a2 = -1;
0x00003aa0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00003aa4 lw t9, -0x7ea4(gp) | t9 = sym.imp.vdo_map_get_uint32;
0x00003aa8 addiu a1, a1, 0x7218 | a1 += str.format;
0x00003aac jalr t9 | t9 ();
0x00003ab0 sltiu v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003ab4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00003ab8 bnez v0, 0x434c | goto label_32;
| }
0x00003abc lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x00003ac0 move s3, zero | s3 = 0;
0x00003ac4 addiu s1, s1, -0x7c78 | s1 += -0x7c78;
0x00003ac8 b 0x3af0 | goto label_33;
| label_1:
0x00003acc lw t9, -0x7f6c(gp) | t9 = sym.imp.vdo_stream_buffer_enqueue;
0x00003ad0 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x00003ad4 move a2, s6 | a2 = s6;
0x00003ad8 move a1, v0 | a1 = v0;
0x00003adc jalr t9 | t9 ();
0x00003ae0 addiu s1, s1, 4 | s1 += 4;
0x00003ae4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00003ae8 beqz v0, 0x38e8 | goto label_0;
| }
0x00003aec addiu s3, s3, 1 | s3++;
| label_33:
0x00003af0 lw v0, -0x7c80(s0) | v0 = *((s0 - 7968));
0x00003af4 sltu v0, s3, v0 | v0 = (s3 < v0) ? 1 : 0;
0x00003af8 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
| if (v0 == 0) {
0x00003afc beqz v0, 0x3cc8 | goto label_20;
| }
0x00003b00 lw t9, -0x7f5c(gp) | t9 = sym.imp.vdo_stream_buffer_alloc;
0x00003b04 move a2, s6 | a2 = s6;
0x00003b08 move a1, zero | a1 = 0;
0x00003b0c jalr t9 | t9 ();
0x00003b10 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003b14 sw v0, (s1) | *(s1) = v0;
| if (v0 != 0) {
0x00003b18 bnez v0, 0x3acc | goto label_1;
| }
0x00003b1c lw v0, 0x80(sp) | v0 = *(var_80h);
0x00003b20 b 0x38ec | goto label_2;
| do {
0x00003b24 lw s7, -0x7fd8(gp) | s7 = *((gp - 8182));
0x00003b28 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x00003b2c lw t9, -0x7e38(gp) | t9 = sym.imp.vdo_stream_stop;
| if (a0 != 0) {
0x00003b30 bnez a0, 0x3bfc | goto label_34;
| }
| label_27:
0x00003b34 move v0, zero | v0 = 0;
0x00003b38 b 0x3988 | goto label_3;
| label_25:
0x00003b3c lw t9, -0x7f64(gp) | t9 = sym.imp.__snprintf_chk
0x00003b40 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003b44 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003b48 addiu s1, sp, 0xa4 | s1 = sp + 0xa4;
0x00003b4c addiu v0, v0, 0x71c0 | v0 += str._s.meta;
0x00003b50 addiu a3, zero, 0x100 | a3 = 0x100;
0x00003b54 addiu a2, zero, 1 | a2 = 1;
0x00003b58 addiu a1, zero, 0x100 | a1 = 0x100;
0x00003b5c move a0, s1 | a0 = s1;
0x00003b60 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003b64 jalr t9 | t9 ();
0x00003b68 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003b6c addiu a1, s0, 0x71a4 | a1 = s0 + 0x71a4;
0x00003b70 lw t9, -0x7f38(gp) | t9 = sym.imp.fopen;
0x00003b74 move a0, s1 | a0 = s1;
0x00003b78 jalr t9 | t9 ();
0x00003b7c sw v0, 0x40(sp) | *(var_40h) = v0;
0x00003b80 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003b84 b 0x3864 | goto label_4;
| label_24:
0x00003b88 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00003b8c lw t9, -0x7f04(gp) | t9 = sym.imp.g_quark_from_static_string;
0x00003b90 addiu a0, a0, 0x6e18 | a0 += str.vdo_client_error;
0x00003b94 jalr t9 | t9 ();
0x00003b98 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003b9c lw v1, 8(s2) | v1 = *((s2 + 2));
0x00003ba0 move a1, v0 | a1 = v0;
0x00003ba4 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00003ba8 lw t9, -0x7ef0(gp) | t9 = sym.imp.g_set_error;
0x00003bac sw v1, 0x10(sp) | *(var_10h) = v1;
0x00003bb0 addiu a3, a3, 0x71a8 | a3 += str.Failed_to_open__s:__m;
0x00003bb4 move a2, zero | a2 = 0;
0x00003bb8 addiu a0, sp, 0x80 | a0 = sp + 0x80;
0x00003bbc jalr t9 | t9 ();
0x00003bc0 lw v0, 0x80(sp) | v0 = *(var_80h);
0x00003bc4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003bc8 beqz v0, 0x3b24 |
| } while (v0 == 0);
0x00003bcc lw a2, 8(v0) | a2 = *((v0 + 2));
0x00003bd0 lw v0, -0x7ed4(gp) | v0 = *((gp - 8117));
0x00003bd4 lw s7, -0x7fd8(gp) | s7 = *((gp - 8182));
0x00003bd8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00003bdc lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00003be0 lw a0, (v0) | a0 = *(v0);
0x00003be4 addiu a1, a1, 0x73b8 | a1 += str.vdo_client:__s_n;
0x00003be8 jalr t9 | t9 ();
0x00003bec lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x00003bf0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (a0 == 0) {
0x00003bf4 beqz a0, 0x396c | goto label_5;
| }
0x00003bf8 lw t9, -0x7e38(gp) | t9 = sym.imp.vdo_stream_stop;
| label_34:
0x00003bfc jalr t9 | t9 ();
0x00003c00 nop |
0x00003c04 lw gp, 0x28(sp) | gp = *(var_28h);
| label_26:
0x00003c08 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x00003c0c lw v0, -0x7c80(s0) | v0 = *((s0 - 7968));
0x00003c10 lw t9, -0x7e48(gp) | t9 = sym.imp.g_object_unref;
| if (v0 == 0) {
0x00003c14 beqz v0, 0x3960 | goto label_6;
| }
0x00003c18 lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x00003c1c move s2, zero | s2 = 0;
0x00003c20 addiu s1, s1, -0x7c50 | s1 += -0x7c50;
| do {
0x00003c24 lw a0, (s1) | a0 = *(s1);
0x00003c28 sw zero, (s1) | *(s1) = 0;
| if (a0 != 0) {
0x00003c2c beqz a0, 0x3c40 |
0x00003c30 lw t9, -0x7e48(gp) | t9 = sym.imp.g_object_unref;
0x00003c34 jalr t9 | t9 ();
0x00003c38 nop |
0x00003c3c lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x00003c40 lw v0, -0x7c80(s0) | v0 = *((s0 - 7968));
0x00003c44 addiu s2, s2, 1 | s2++;
0x00003c48 sltu v1, s2, v0 | v1 = (s2 < v0) ? 1 : 0;
0x00003c4c addiu s1, s1, 4 | s1 += 4;
0x00003c50 bnez v1, 0x3c24 |
| } while (v1 != 0);
0x00003c54 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
| if (v0 == 0) {
0x00003c58 beqz v0, 0x395c | goto label_7;
| }
0x00003c5c lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x00003c60 move s2, zero | s2 = 0;
0x00003c64 addiu s1, s1, -0x7c78 | s1 += -0x7c78;
| do {
0x00003c68 lw v0, (s1) | v0 = *(s1);
0x00003c6c lw t9, -0x7e40(gp) | t9 = sym.imp.vdo_stream_buffer_unref;
| if (v0 != 0) {
0x00003c70 beqz v0, 0x3c88 |
0x00003c74 move a2, zero | a2 = 0;
0x00003c78 move a1, s1 | a1 = s1;
0x00003c7c jalr t9 | t9 ();
0x00003c80 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003c84 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
| }
0x00003c88 lw v0, -0x7c80(s0) | v0 = *((s0 - 7968));
0x00003c8c addiu s2, s2, 1 | s2++;
0x00003c90 sltu v0, s2, v0 | v0 = (s2 < v0) ? 1 : 0;
0x00003c94 addiu s1, s1, 4 | s1 += 4;
0x00003c98 bnez v0, 0x3c68 |
| } while (v0 != 0);
0x00003c9c lw t9, -0x7e48(gp) | t9 = sym.imp.g_object_unref;
0x00003ca0 b 0x3960 | goto label_6;
| label_30:
0x00003ca4 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00003ca8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00003cac lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00003cb0 lw a2, -0x7c80(s0) | a2 = *((s0 - 7968));
0x00003cb4 lw a0, -0x7c20(v0) | a0 = *((v0 - 7944));
0x00003cb8 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00003cbc addiu a1, a1, 0x71e8 | a1 += str.Infinite_buffers:__zu_n;
0x00003cc0 jalr t9 | t9 ();
0x00003cc4 lw gp, 0x28(sp) | gp = *(var_28h);
| label_20:
0x00003cc8 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00003ccc lw t9, -0x7f78(gp) | t9 = sym.imp.vdo_stream_get_id;
0x00003cd0 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x00003cd4 lw s0, -0x7c20(v0) | s0 = *((v0 - 7944));
0x00003cd8 jalr t9 | t9 ();
0x00003cdc lw gp, 0x28(sp) | gp = *(var_28h);
0x00003ce0 move a2, v0 | a2 = v0;
0x00003ce4 move a0, s0 | a0 = s0;
0x00003ce8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00003cec lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00003cf0 addiu a1, a1, 0x727c | a1 += str.Starting_Stream__u_:_n;
0x00003cf4 jalr t9 | t9 ();
0x00003cf8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003cfc lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x00003d00 lw t9, -0x7e68(gp) | t9 = sym.imp.vdo_stream_start;
0x00003d04 move a1, s6 | a1 = s6;
0x00003d08 jalr t9 | t9 ();
0x00003d0c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00003d10 beqz v0, 0x38e8 | goto label_0;
| }
0x00003d14 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00003d18 lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x00003d1c sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x00003d20 addiu s0, v0, -0x7ff0 | s0 = v0 + -0x7ff0;
0x00003d24 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003d28 sw v1, 0x38(sp) | *(var_38h) = v1;
0x00003d2c addiu v0, v0, 0x719c | v0 += str.latency;
0x00003d30 sw v0, 0x74(sp) | *(var_74h) = v0;
0x00003d34 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003d38 lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x00003d3c addiu v0, v0, 0x7194 | v0 += str.custom;
0x00003d40 sw zero, 0x84(sp) | *(var_84h) = 0;
0x00003d44 sw v1, 0x3c(sp) | *(var_3ch) = v1;
0x00003d48 sw v0, 0x78(sp) | *(var_78h) = v0;
0x00003d4c sw s7, 0x48(sp) | *(var_48h) = s7;
0x00003d50 b 0x40a4 |
| while (v0 != 0) {
0x00003d54 lw t9, -0x7e60(gp) | t9 = sym.imp.vdo_buffer_get_frame;
0x00003d58 move a0, v0 | a0 = v0;
0x00003d5c jalr t9 | t9 ();
0x00003d60 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003d64 lw t9, -0x7f48(gp) | t9 = sym.imp.g_get_monotonic_time;
0x00003d68 move s1, v0 | s1 = v0;
0x00003d6c jalr t9 | t9 ();
0x00003d70 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003d74 move a0, s1 | a0 = s1;
0x00003d78 sw v1, 0x50(sp) | *(var_50h) = v1;
0x00003d7c lw t9, -0x7f58(gp) | t9 = sym.imp.vdo_frame_get_timestamp;
0x00003d80 move s7, v0 | s7 = v0;
0x00003d84 jalr t9 | t9 ();
0x00003d88 move s5, v0 | s5 = v0;
0x00003d8c lw v0, 0x38(sp) | v0 = *(var_38h);
0x00003d90 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003d94 move a0, s1 | a0 = s1;
0x00003d98 lw s4, -0x7c88(v0) | s4 = *((v0 - 7970));
0x00003d9c lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00003da0 lw t9, -0x7e74(gp) | t9 = sym.imp.vdo_frame_get_size;
0x00003da4 sw v1, 0x54(sp) | *(var_54h) = v1;
0x00003da8 lw s3, -0x7c90(v0) | s3 = *((v0 - 7972));
0x00003dac jalr t9 | t9 ();
0x00003db0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003db4 lw v1, 0x40(s0) | v1 = *((s0 + 16));
0x00003db8 move a0, s1 | a0 = s1;
0x00003dbc lw t9, -0x7e30(gp) | t9 = sym.imp.vdo_buffer_get_capacity;
0x00003dc0 addu v0, v1, v0 | v0 = v1 + v0;
0x00003dc4 sw v0, 0x40(s0) | *((s0 + 16)) = v0;
0x00003dc8 jalr t9 | t9 ();
0x00003dcc lw v1, 0x48(s0) | v1 = *((s0 + 18));
0x00003dd0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003dd4 lw a0, 0x4c(s0) | a0 = *((s0 + 19));
0x00003dd8 addu v0, v1, v0 | v0 = v1 + v0;
0x00003ddc sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
0x00003de0 addu v1, v1, a0 | v1 += a0;
0x00003de4 lw t9, -0x7e88(gp) | t9 = sym.imp.vdo_frame_get_is_last_buffer;
0x00003de8 move a0, s1 | a0 = s1;
0x00003dec sw v0, 0x48(s0) | *((s0 + 18)) = v0;
0x00003df0 sw v1, 0x4c(s0) | *((s0 + 19)) = v1;
0x00003df4 jalr t9 | t9 ();
0x00003df8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00003dfc beqz v0, 0x3f88 |
0x00003e00 lw v1, 0x38(sp) | v1 = *(var_38h);
0x00003e04 lw v0, 0x44(s0) | v0 = *((s0 + 17));
0x00003e08 lw a0, -0x7c88(v1) | a0 = *((v1 - 7970));
0x00003e0c lw v1, 0x3c(sp) | v1 = *(var_3ch);
0x00003e10 addiu v0, v0, 1 | v0++;
0x00003e14 sw v0, 0x44(s0) | *((s0 + 17)) = v0;
0x00003e18 lw v1, -0x7c90(v1) | v1 = *((v1 - 7972));
0x00003e1c lw v0, 0x38(sp) | v0 = *(var_38h);
| if (a0 == v1) {
0x00003e20 beq a0, v1, 0x4290 | goto label_35;
| }
0x00003e24 lw t2, 0x20(s0) | t2 = *((s0 + 8));
| label_15:
0x00003e28 lw t1, 0x24(s0) | t1 = *((s0 + 9));
0x00003e2c lw t0, 0x28(s0) | t0 = *((s0 + 10));
0x00003e30 lw a2, 0x2c(s0) | a2 = *((s0 + 11));
0x00003e34 subu a3, s7, s4 | __asm ("subu a3, s7, s4");
0x00003e38 subu s4, s5, s3 | __asm ("subu s4, s5, s3");
0x00003e3c sltu a1, a3, t2 | a1 = (a3 < t2) ? 1 : 0;
0x00003e40 sltu a0, t1, a3 | a0 = (t1 < a3) ? 1 : 0;
0x00003e44 sltu v1, s4, t0 | v1 = (s4 < t0) ? 1 : 0;
0x00003e48 sltu v0, a2, s4 | v0 = (a2 < s4) ? 1 : 0;
| if (a1 == 0) {
0x00003e4c movn t2, a3, a1 | t2 = a3;
| }
| if (a0 == 0) {
0x00003e50 movn t1, a3, a0 | t1 = a3;
| }
| if (v1 == 0) {
0x00003e54 movn t0, s4, v1 | t0 = s4;
| }
| if (v0 == 0) {
0x00003e58 movn a2, s4, v0 | a2 = s4;
| }
0x00003e5c sw t2, 0x20(s0) | *((s0 + 8)) = t2;
0x00003e60 sw t1, 0x24(s0) | *((s0 + 9)) = t1;
0x00003e64 sw t0, 0x28(s0) | *((s0 + 10)) = t0;
0x00003e68 sw a2, 0x2c(s0) | *((s0 + 11)) = a2;
| label_16:
0x00003e6c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00003e70 lw a1, 0x38(s0) | a1 = *((s0 + 14));
0x00003e74 lw a0, 0x3c(s0) | a0 = *((s0 + 15));
0x00003e78 subu s3, s7, s5 | __asm ("subu s3, s7, s5");
0x00003e7c sltu v1, s3, a1 | v1 = (s3 < a1) ? 1 : 0;
0x00003e80 sltu v0, a0, s3 | v0 = (a0 < s3) ? 1 : 0;
0x00003e84 lhu a2, -0x7c7c(a2) | a2 = *((a2 - 15934));
| if (v1 == 0) {
0x00003e88 movn a1, s3, v1 | a1 = s3;
| }
| if (v0 == 0) {
0x00003e8c movn a0, s3, v0 | a0 = s3;
| }
0x00003e90 sw a1, 0x38(s0) | *((s0 + 14)) = a1;
0x00003e94 sw a0, 0x3c(s0) | *((s0 + 15)) = a0;
| if (a2 != 0) {
0x00003e98 bnez a2, 0x4204 | goto label_36;
| }
0x00003e9c lw a1, 0x74(sp) | a1 = *(var_74h);
| label_12:
0x00003ea0 lw v1, 0x5c(sp) | v1 = *(var_5ch);
0x00003ea4 lw v0, 0x14(s2) | v0 = *((s2 + 5));
0x00003ea8 sw a3, 0x60(sp) | *(var_60h) = a3;
0x00003eac lw v1, -0x7c20(v1) | v1 = *((v1 - 7944));
| if (v0 == 0) {
0x00003eb0 beqz v0, 0x4174 | goto label_37;
| }
0x00003eb4 lw t9, -0x7e4c(gp) | t9 = sym.imp.vdo_frame_get_sequence_nbr;
0x00003eb8 sw v1, 0x70(sp) | *(var_70h) = v1;
0x00003ebc sw a1, 0x6c(sp) | *(var_6ch) = a1;
0x00003ec0 move a0, s1 | a0 = s1;
0x00003ec4 jalr t9 | t9 ();
0x00003ec8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003ecc move a0, s1 | a0 = s1;
0x00003ed0 lw t9, -0x7e74(gp) | t9 = sym.imp.vdo_frame_get_size;
0x00003ed4 sw v0, 0x68(sp) | *(var_68h) = v0;
0x00003ed8 jalr t9 | t9 ();
0x00003edc lw gp, 0x28(sp) | gp = *(var_28h);
0x00003ee0 move a0, s1 | a0 = s1;
0x00003ee4 lw t9, -0x7e30(gp) | t9 = sym.imp.vdo_buffer_get_capacity;
0x00003ee8 sw v0, 0x64(sp) | *(var_64h) = v0;
0x00003eec jalr t9 | t9 ();
0x00003ef0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003ef4 lw a1, 0x6c(sp) | a1 = *(var_6ch);
0x00003ef8 lw t0, 0x64(sp) | t0 = *(var_64h);
0x00003efc sw a1, 0x14(sp) | *(var_14h) = a1;
0x00003f00 lw v1, 0x70(sp) | v1 = *(var_70h);
0x00003f04 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00003f08 lw a3, 0x60(sp) | a3 = *(var_60h);
0x00003f0c lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00003f10 lw a2, 0x68(sp) | a2 = *(var_68h);
0x00003f14 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00003f18 sw t0, 0x1c(sp) | *(var_1ch) = t0;
0x00003f1c sw s3, 0x18(sp) | *(var_18h) = s3;
0x00003f20 sw s4, 0x10(sp) | *(var_10h) = s4;
0x00003f24 addiu a1, a1, 0x7294 | a1 += str.vdo_client:_frame___4u__cts___7u__pts___7u___s___7u_s__size___zu__zu_n;
0x00003f28 move a0, v1 | a0 = v1;
0x00003f2c jalr t9 | t9 ();
0x00003f30 lw gp, 0x28(sp) | gp = *(var_28h);
| label_10:
0x00003f34 lw v0, 0x18(s2) | v0 = *((s2 + 6));
0x00003f38 lw t9, -0x7e9c(gp) | t9 = sym.imp.vdo_frame_get_extra_info;
| if (v0 != 0) {
0x00003f3c bnez v0, 0x4248 | goto label_38;
| }
| label_13:
0x00003f40 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00003f44 lw v1, 0x50(sp) | v1 = *(var_50h);
0x00003f48 lw t9, -0x7f2c(gp) | t9 = sym.imp.vdo_frame_get_custom_timestamp;
0x00003f4c sw v1, -0x7c84(v0) | *((v0 - 7969)) = v1;
0x00003f50 sw s7, -0x7c88(v0) | *((v0 - 7970)) = s7;
0x00003f54 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00003f58 sw v1, 0xc(s0) | *((s0 + 3)) = v1;
0x00003f5c lw v1, 0x54(sp) | v1 = *(var_54h);
0x00003f60 move a0, s1 | a0 = s1;
0x00003f64 sw s7, 8(s0) | *((s0 + 2)) = s7;
0x00003f68 sw s5, -0x7c90(v0) | *((v0 - 7972)) = s5;
0x00003f6c sw v1, -0x7c8c(v0) | *((v0 - 7971)) = v1;
0x00003f70 sw s5, 0x18(s0) | *((s0 + 6)) = s5;
0x00003f74 sw v1, 0x1c(s0) | *((s0 + 7)) = v1;
0x00003f78 jalr t9 | t9 ();
0x00003f7c lw gp, 0x28(sp) | gp = *(var_28h);
0x00003f80 sw v0, 0x58(s0) | *((s0 + 22)) = v0;
0x00003f84 sw v1, 0x5c(s0) | *((s0 + 23)) = v1;
| }
0x00003f88 lw t9, -0x7eec(gp) | t9 = sym.imp.vdo_buffer_get_data;
0x00003f8c move a0, fp | a0 = fp;
0x00003f90 jalr t9 | t9 ();
0x00003f94 move s3, v0 | s3 = v0;
0x00003f98 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00003f9c beqz v0, 0x4470 | goto label_39;
| }
0x00003fa0 lw t9, -0x7f20(gp) | t9 = sym.imp.vdo_frame_get_frame_type;
0x00003fa4 move a0, s1 | a0 = s1;
0x00003fa8 jalr t9 | t9 ();
0x00003fac addiu v1, zero, 0x12 | v1 = 0x12;
0x00003fb0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x00003fb4 beq v0, v1, 0x4268 | goto label_40;
| }
| label_14:
0x00003fb8 lw t9, -0x7e74(gp) | t9 = sym.imp.vdo_frame_get_size;
0x00003fbc move a0, s1 | a0 = s1;
0x00003fc0 jalr t9 | t9 ();
0x00003fc4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003fc8 lw a3, 0x34(sp) | a3 = *(var_34h);
0x00003fcc addiu a2, zero, 1 | a2 = 1;
0x00003fd0 lw t9, -0x7f14(gp) | t9 = sym.imp.fwrite;
0x00003fd4 move a1, v0 | a1 = v0;
0x00003fd8 move a0, s3 | a0 = s3;
0x00003fdc jalr t9 | t9 ();
0x00003fe0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00003fe4 beqz v0, 0x4488 | goto label_41;
| }
0x00003fe8 lw t9, -0x7f20(gp) | t9 = sym.imp.vdo_frame_get_frame_type;
0x00003fec move a0, s1 | a0 = s1;
0x00003ff0 jalr t9 | t9 ();
0x00003ff4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00003ff8 move a0, s1 | a0 = s1;
0x00003ffc lw t9, -0x7f58(gp) | t9 = sym.imp.vdo_frame_get_timestamp;
0x00004000 sw v0, 0x88(sp) | *(var_88h) = v0;
0x00004004 jalr t9 | t9 ();
0x00004008 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000400c sw v1, 0x94(sp) | *(var_94h) = v1;
0x00004010 move a0, s1 | a0 = s1;
0x00004014 lw t9, -0x7e74(gp) | t9 = sym.imp.vdo_frame_get_size;
0x00004018 sw v0, 0x90(sp) | *(var_90h) = v0;
0x0000401c jalr t9 | t9 ();
0x00004020 lw v1, 0xc(s2) | v1 = *((s2 + 3));
0x00004024 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004028 sw v0, 0x98(sp) | *(var_98h) = v0;
| if (v1 != 0) {
0x0000402c beqz v1, 0x4050 |
0x00004030 lw t9, -0x7f14(gp) | t9 = sym.imp.fwrite;
0x00004034 lw a3, 0x40(sp) | a3 = *(var_40h);
0x00004038 addiu a2, zero, 1 | a2 = 1;
0x0000403c addiu a1, zero, 0x18 | a1 = 0x18;
0x00004040 addiu a0, sp, 0x88 | a0 = sp + 0x88;
0x00004044 jalr t9 | t9 ();
0x00004048 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0000404c beqz v0, 0x44ac | goto label_42;
| }
| }
0x00004050 lw t9, -0x7eb0(gp) | t9 = sym.imp.fflush;
0x00004054 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00004058 jalr t9 | t9 ();
0x0000405c lw v0, 0xc(s2) | v0 = *((s2 + 3));
0x00004060 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00004064 bnez v0, 0x41f0 | goto label_43;
| }
| label_11:
0x00004068 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000406c lw t9, -0x7f6c(gp) | t9 = sym.imp.vdo_stream_buffer_enqueue;
0x00004070 move a2, s6 | a2 = s6;
0x00004074 lw a0, -0x7c28(v0) | a0 = *((v0 - 7946));
0x00004078 move a1, fp | a1 = fp;
0x0000407c jalr t9 | t9 ();
0x00004080 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00004084 beqz v0, 0x4470 | goto label_39;
| }
0x00004088 lw t9, -0x7e48(gp) | t9 = sym.imp.g_object_unref;
0x0000408c move a0, fp | a0 = fp;
0x00004090 jalr t9 | t9 ();
0x00004094 lw gp, 0x28(sp) | gp = *(var_28h);
| label_8:
0x00004098 lw v0, 0x84(sp) | v0 = *(var_84h);
0x0000409c addiu v0, v0, 1 | v0++;
0x000040a0 sw v0, 0x84(sp) | *(var_84h) = v0;
0x000040a4 lw v0, 0x44(sp) | v0 = *(var_44h);
0x000040a8 lw v0, -0x7eb0(v0) | v0 = *((v0 - 8108));
0x000040ac lw v1, 0x84(sp) | v1 = *(var_84h);
| if (v0 != 0) {
0x000040b0 beqz v0, 0x40c0 |
0x000040b4 slt v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 == 0) {
0x000040b8 beql v0, zero, 0x4310 | goto label_44;
| }
0x000040bc lw v0, 0xc(s2) | v0 = *((s2 + 3));
| }
0x000040c0 lw v0, 0x48(sp) | v0 = *(var_48h);
0x000040c4 lw t9, -0x7ee8(gp) | t9 = sym.imp.vdo_stream_get_buffer;
0x000040c8 move a1, s6 | a1 = s6;
0x000040cc lw a0, -0x7c28(v0) | a0 = *((v0 - 7946));
0x000040d0 jalr t9 | t9 ();
0x000040d4 move fp, v0 | fp = v0;
0x000040d8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000040dc bnez v0, 0x3d54 |
| }
0x000040e0 lw t9, -0x7e20(gp) | t9 = sym.imp.__errno_location;
0x000040e4 jalr t9 | t9 ();
0x000040e8 nop |
0x000040ec lw v1, (v0) | v1 = *(v0);
0x000040f0 addiu v0, zero, 4 | v0 = 4;
0x000040f4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 == v0) {
0x000040f8 beq v1, v0, 0x42fc | goto label_45;
| }
0x000040fc lw v0, 4(s2) | v0 = *((s2 + 1));
| label_17:
0x00004100 lw t9, -0x7f08(gp) | t9 = sym.imp.vdo_error_is_expected;
| if (v0 != 0) {
0x00004104 bnez v0, 0x430c | goto label_46;
| }
0x00004108 move a0, s6 | a0 = s6;
0x0000410c jalr t9 | t9 ();
0x00004110 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00004114 bnez v0, 0x450c | goto label_47;
| }
0x00004118 lw v0, 0x80(sp) | v0 = *(var_80h);
0x0000411c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00004120 lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00004124 lw a2, 8(v0) | a2 = *((v0 + 2));
0x00004128 lw v0, -0x7ed4(gp) | v0 = *((gp - 8117));
0x0000412c addiu a1, a1, 0x73b8 | a1 += str.vdo_client:__s_n;
0x00004130 lw a0, (v0) | a0 = *(v0);
0x00004134 jalr t9 | t9 ();
0x00004138 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000413c lw t9, -0x7e58(gp) | t9 = sym.imp.g_clear_error;
0x00004140 move a0, s6 | a0 = s6;
0x00004144 jalr t9 | t9 ();
0x00004148 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000414c b 0x4098 | goto label_8;
| label_29:
0x00004150 lw t9, -0x7e34(gp) | t9 = sym.imp.vdo_map_dump;
0x00004154 lw a0, (s1) | a0 = *(s1);
0x00004158 jalr t9 | t9 ();
0x0000415c lw gp, 0x28(sp) | gp = *(var_28h);
0x00004160 lw t9, -0x7e34(gp) | t9 = sym.imp.vdo_map_dump;
0x00004164 move a0, s4 | a0 = s4;
0x00004168 jalr t9 | t9 ();
0x0000416c lw gp, 0x28(sp) | gp = *(var_28h);
0x00004170 b 0x3a10 | goto label_9;
| label_37:
0x00004174 lw t9, -0x7e4c(gp) | t9 = sym.imp.vdo_frame_get_sequence_nbr;
0x00004178 sw v1, 0x6c(sp) | *(var_6ch) = v1;
0x0000417c sw a1, 0x68(sp) | *(var_68h) = a1;
0x00004180 move a0, s1 | a0 = s1;
0x00004184 jalr t9 | t9 ();
0x00004188 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000418c move a0, s1 | a0 = s1;
0x00004190 lw t9, -0x7f20(gp) | t9 = sym.imp.vdo_frame_get_frame_type;
0x00004194 sw v0, 0x64(sp) | *(var_64h) = v0;
0x00004198 jalr t9 | t9 ();
0x0000419c lw gp, 0x28(sp) | gp = *(var_28h);
0x000041a0 move a0, s1 | a0 = s1;
0x000041a4 lw t9, -0x7e74(gp) | t9 = sym.imp.vdo_frame_get_size;
0x000041a8 sw v0, 0x60(sp) | *(var_60h) = v0;
0x000041ac jalr t9 | t9 ();
0x000041b0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000041b4 lw a1, 0x68(sp) | a1 = *(var_68h);
0x000041b8 lw v1, 0x6c(sp) | v1 = *(var_6ch);
0x000041bc sw a1, 0x14(sp) | *(var_14h) = a1;
0x000041c0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000041c4 lw a3, 0x60(sp) | a3 = *(var_60h);
0x000041c8 lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x000041cc lw a2, 0x64(sp) | a2 = *(var_64h);
0x000041d0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000041d4 sw s3, 0x18(sp) | *(var_18h) = s3;
0x000041d8 sw s4, 0x10(sp) | *(var_10h) = s4;
0x000041dc addiu a1, a1, 0x72e8 | a1 += str.vdo_client:_frame___4u__type___u__pts___7u___s___7u_s__size___zu_n;
0x000041e0 move a0, v1 | a0 = v1;
0x000041e4 jalr t9 | t9 ();
0x000041e8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000041ec b 0x3f34 | goto label_10;
| label_43:
0x000041f0 lw t9, -0x7eb0(gp) | t9 = sym.imp.fflush;
0x000041f4 lw a0, 0x40(sp) | a0 = *(var_40h);
0x000041f8 jalr t9 | t9 ();
0x000041fc lw gp, 0x28(sp) | gp = *(var_28h);
0x00004200 b 0x4068 | goto label_11;
| label_36:
0x00004204 lw t9, -0x7f2c(gp) | t9 = sym.imp.vdo_frame_get_custom_timestamp;
0x00004208 sw a3, 0x60(sp) | *(var_60h) = a3;
0x0000420c move a0, s1 | a0 = s1;
0x00004210 jalr t9 | t9 ();
0x00004214 lw a1, 0x30(s0) | a1 = *((s0 + 12));
0x00004218 lw a0, 0x34(s0) | a0 = *((s0 + 13));
0x0000421c move s3, v0 | s3 = v0;
0x00004220 sltu v1, v0, a1 | v1 = (v0 < a1) ? 1 : 0;
0x00004224 sltu v0, a0, s3 | v0 = (a0 < s3) ? 1 : 0;
| if (v1 == 0) {
0x00004228 movn a1, s3, v1 | a1 = s3;
| }
| if (v0 == 0) {
0x0000422c movn a0, s3, v0 | a0 = s3;
| }
0x00004230 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004234 sw a1, 0x30(s0) | *((s0 + 12)) = a1;
0x00004238 sw a0, 0x34(s0) | *((s0 + 13)) = a0;
0x0000423c lw a1, 0x78(sp) | a1 = *(var_78h);
0x00004240 lw a3, 0x60(sp) | a3 = *(var_60h);
0x00004244 b 0x3ea0 | goto label_12;
| label_38:
0x00004248 move a0, s1 | a0 = s1;
0x0000424c jalr t9 | t9 ();
0x00004250 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004254 lw t9, -0x7e34(gp) | t9 = sym.imp.vdo_map_dump;
0x00004258 move a0, v0 | a0 = v0;
0x0000425c jalr t9 | t9 ();
0x00004260 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004264 b 0x3f40 | goto label_13;
| label_40:
0x00004268 lw t9, -0x7e74(gp) | t9 = sym.imp.vdo_frame_get_size;
0x0000426c move a0, s1 | a0 = s1;
0x00004270 jalr t9 | t9 ();
0x00004274 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004278 move a1, v0 | a1 = v0;
0x0000427c lw t9, -0x7fb4(gp) | t9 = sym.vdo_client_handle_ivs_frame;
0x00004280 move a0, s3 | a0 = s3;
0x00004284 bal 0x37cc | sym_vdo_client_handle_ivs_frame ();
0x00004288 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000428c b 0x3fb8 | goto label_14;
| label_35:
0x00004290 lw v1, -0x7c84(v0) | v1 = *((v0 - 7969));
0x00004294 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00004298 lw v0, -0x7c8c(v0) | v0 = *((v0 - 7971));
0x0000429c lw t2, 0x20(s0) | t2 = *((s0 + 8));
| if (v1 == v0) {
0x000042a0 bnel v1, v0, 0x3e28 | goto label_15;
| }
0x000042a4 lw v0, 0x38(sp) | v0 = *(var_38h);
0x000042a8 lw v1, 0x50(sp) | v1 = *(var_50h);
0x000042ac lw t9, -0x7f2c(gp) | t9 = sym.imp.vdo_frame_get_custom_timestamp;
0x000042b0 sw v1, -0x7c84(v0) | *((v0 - 7969)) = v1;
0x000042b4 sw s7, -0x7c88(v0) | *((v0 - 7970)) = s7;
0x000042b8 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x000042bc move a0, s1 | a0 = s1;
0x000042c0 sw s5, 0x10(s0) | *((s0 + 4)) = s5;
0x000042c4 sw v1, -0x7fec(v0) | *((v0 - 8187)) = v1;
0x000042c8 sw s7, -0x7ff0(v0) | *((v0 - 8188)) = s7;
0x000042cc lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000042d0 lw v1, 0x54(sp) | v1 = *(var_54h);
0x000042d4 move s4, zero | s4 = 0;
0x000042d8 sw s5, -0x7c90(v0) | *((v0 - 7972)) = s5;
0x000042dc sw v1, -0x7c8c(v0) | *((v0 - 7971)) = v1;
0x000042e0 sw v1, 0x14(s0) | *((s0 + 5)) = v1;
0x000042e4 jalr t9 | t9 ();
0x000042e8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000042ec sw v0, 0x50(s0) | *((s0 + 20)) = v0;
0x000042f0 sw v1, 0x54(s0) | *((s0 + 21)) = v1;
0x000042f4 move a3, zero | a3 = 0;
0x000042f8 b 0x3e6c | goto label_16;
| label_45:
0x000042fc lw v0, 0x44(sp) | v0 = *(var_44h);
0x00004300 lw v0, -0x7eb0(v0) | v0 = *((v0 - 8108));
| if (v0 >= 0) {
0x00004304 bgezl v0, 0x4100 | goto label_17;
| }
0x00004308 lw v0, 4(s2) | v0 = *((s2 + 1));
| label_46:
0x0000430c lw v0, 0xc(s2) | v0 = *((s2 + 3));
| label_44:
0x00004310 lw s7, 0x48(sp) | s7 = *(var_48h);
| if (v0 != 0) {
0x00004314 bnez v0, 0x44d0 | goto label_48;
| }
| label_22:
0x00004318 lw v0, -0x7f4c(gp) | v0 = *((gp - 8147));
0x0000431c lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x00004320 addiu t9, t9, 0x2f7c | t9 += fcn.00002f7c;
0x00004324 lw a0, (v0) | a0 = *(v0);
0x00004328 bal 0x2f7c | fcn_00002f7c ();
0x0000432c lw gp, 0x28(sp) | gp = *(var_28h);
0x00004330 lw t9, -0x7e58(gp) | t9 = sym.imp.g_clear_error;
0x00004334 move a0, s6 | a0 = s6;
0x00004338 jalr t9 | t9 ();
0x0000433c lw gp, 0x28(sp) | gp = *(var_28h);
0x00004340 b 0x38e8 | goto label_0;
| label_31:
0x00004344 addiu v0, zero, 0xa | v0 = 0xa;
0x00004348 b 0x3a54 | goto label_18;
| label_32:
0x0000434c lw fp, -0x7fdc(gp) | fp = *((gp - 8183));
0x00004350 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00004354 move s4, zero | s4 = 0;
0x00004358 lw v0, 0x73c8(fp) | v0 = *(arg_73c8h);
0x0000435c addiu s3, s3, -0x7c50 | s3 += -0x7c50;
0x00004360 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00004364 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00004368 addiu fp, fp, 0x73c8 | fp += str._tmp_vdo_client_buffer_XXXXXX;
0x0000436c addiu v0, v0, 0x726c | v0 += str.client_buffer;
0x00004370 sw v0, 0x48(sp) | *(var_48h) = v0;
0x00004374 sw s6, 0x38(sp) | *(var_38h) = s6;
0x00004378 b 0x4458 | goto label_49;
| label_19:
0x0000437c lw t2, 8(fp) | t2 = *(arg_8h);
0x00004380 lw t1, 0xc(fp) | t1 = *(arg_ch);
0x00004384 lw t0, 0x10(fp) | t0 = *(arg_10h);
0x00004388 lw a3, 0x14(fp) | a3 = *(arg_14h);
0x0000438c lw v1, 0x18(fp) | v1 = *(arg_18h);
0x00004390 lhu v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00004394 lw t4, 0x3c(sp) | t4 = *(var_3ch);
0x00004398 lw t9, -0x7eb4(gp) | t9 = sym.imp.g_mkstemp_full;
0x0000439c addiu s5, sp, 0xa4 | s5 = sp + 0xa4;
0x000043a0 addiu a2, zero, 0x1a0 | a2 = 0x1a0;
0x000043a4 addiu a1, zero, 0x302 | a1 = 0x302;
0x000043a8 move a0, s5 | a0 = s5;
0x000043ac sw t4, 0xa4(sp) | *(var_a4h) = t4;
0x000043b0 sw t3, 0xa8(sp) | *(var_a8h) = t3;
0x000043b4 sw t2, 0xac(sp) | *(var_ach) = t2;
0x000043b8 sw t1, 0xb0(sp) | *(var_b0h) = t1;
0x000043bc sw t0, 0xb4(sp) | *(var_b4h) = t0;
0x000043c0 sw a3, 0xb8(sp) | *(var_b8h) = a3;
0x000043c4 sw v1, 0xbc(sp) | *(var_bch) = v1;
0x000043c8 sh v0, 0xc0(sp) | *(var_c0h) = v0;
0x000043cc jalr t9 | t9 ();
0x000043d0 move s6, v0 | s6 = v0;
0x000043d4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x000043d8 bltz v0, 0x455c | goto label_50;
| }
0x000043dc lw t9, -0x7f0c(gp) | t9 = sym.imp.ftruncate;
0x000043e0 lui a1, 0x80 | a1 = 0x800000;
0x000043e4 move a0, v0 | a0 = v0;
0x000043e8 jalr t9 | t9 ();
0x000043ec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 < 0) {
0x000043f0 bltz v0, 0x4540 | goto label_51;
| }
0x000043f4 lw t9, -0x7edc(gp) | t9 = sym.imp.unlink;
0x000043f8 move a0, s5 | a0 = s5;
0x000043fc jalr t9 | t9 ();
0x00004400 lw v0, (s1) | v0 = *(s1);
0x00004404 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004408 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000440c lw v0, 0x48(sp) | v0 = *(var_48h);
0x00004410 lw t9, -0x7f1c(gp) | t9 = sym.imp.vdo_buffer_new_full;
0x00004414 move a2, zero | a2 = 0;
0x00004418 move a3, zero | a3 = 0;
0x0000441c lui a1, 0x80 | a1 = 0x800000;
0x00004420 move a0, s6 | a0 = s6;
0x00004424 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00004428 jalr t9 | t9 ();
0x0000442c lw gp, 0x28(sp) | gp = *(var_28h);
0x00004430 lw a0, -0x7c28(s7) | a0 = *((s7 - 7946));
0x00004434 lw a2, 0x38(sp) | a2 = *(var_38h);
0x00004438 lw t9, -0x7f6c(gp) | t9 = sym.imp.vdo_stream_buffer_enqueue;
0x0000443c sw v0, (s3) | *(s3) = v0;
0x00004440 move a1, v0 | a1 = v0;
0x00004444 jalr t9 | t9 ();
0x00004448 addiu s3, s3, 4 | s3 += 4;
0x0000444c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00004450 beqz v0, 0x38e8 | goto label_0;
| }
0x00004454 addiu s4, s4, 1 | s4++;
| label_49:
0x00004458 lw v0, -0x7c80(s0) | v0 = *((s0 - 7968));
0x0000445c sltu v0, s4, v0 | v0 = (s4 < v0) ? 1 : 0;
0x00004460 lw t3, 4(fp) | t3 = *(arg_4h);
| if (v0 == 0) {
0x00004464 bnel v0, zero, 0x437c | goto label_19;
| }
0x00004468 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0000446c b 0x3cc8 | goto label_20;
| label_39:
0x00004470 lw s7, 0x48(sp) | s7 = *(var_48h);
| do {
| label_21:
0x00004474 lw t9, -0x7e48(gp) | t9 = sym.imp.g_object_unref;
0x00004478 move a0, fp | a0 = fp;
0x0000447c jalr t9 | t9 ();
0x00004480 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004484 b 0x38e8 | goto label_0;
| label_41:
0x00004488 lw v0, -0x7ed4(gp) | v0 = *((gp - 8117));
0x0000448c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00004490 lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00004494 lw a0, (v0) | a0 = *(v0);
0x00004498 addiu a1, a1, 0x7334 | a1 += str.vdo_client:_Failed_to_write_frame:__m_n;
0x0000449c lw s7, 0x48(sp) | s7 = *(var_48h);
0x000044a0 jalr t9 | t9 ();
0x000044a4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000044a8 b 0x4474 |
| } while (1);
| label_42:
0x000044ac lw v0, -0x7ed4(gp) | v0 = *((gp - 8117));
0x000044b0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000044b4 lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x000044b8 lw a0, (v0) | a0 = *(v0);
0x000044bc addiu a1, a1, 0x735c | a1 += str.vdo_client:_Failed_to_write_frame_size:__m_n;
0x000044c0 lw s7, 0x48(sp) | s7 = *(var_48h);
0x000044c4 jalr t9 | t9 ();
0x000044c8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000044cc b 0x4474 | goto label_21;
| label_48:
0x000044d0 lw t9, -0x7f14(gp) | t9 = sym.imp.fwrite;
0x000044d4 lw a3, 0x40(sp) | a3 = *(var_40h);
0x000044d8 addiu a2, zero, 1 | a2 = 1;
0x000044dc addiu a1, zero, 4 | a1 = 4;
0x000044e0 addiu a0, sp, 0x84 | a0 = sp + 0x84;
0x000044e4 jalr t9 | t9 ();
0x000044e8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000044ec beqz v0, 0x4514 | goto label_52;
| }
| label_23:
0x000044f0 lw v0, 0xc(s2) | v0 = *((s2 + 3));
0x000044f4 lw t9, -0x7eb0(gp) | t9 = sym.imp.fflush;
| if (v0 == 0) {
0x000044f8 beqz v0, 0x4318 | goto label_22;
| }
0x000044fc lw a0, 0x40(sp) | a0 = *(var_40h);
0x00004500 jalr t9 | t9 ();
0x00004504 lw gp, 0x28(sp) | gp = *(var_28h);
0x00004508 b 0x4318 | goto label_22;
| label_47:
0x0000450c lw s7, 0x48(sp) | s7 = *(var_48h);
0x00004510 b 0x38e8 | goto label_0;
| label_52:
0x00004514 lw v0, -0x7ed4(gp) | v0 = *((gp - 8117));
0x00004518 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000451c lw t9, -0x7eb8(gp) | t9 = sym.imp.g_fprintf
0x00004520 lw a0, (v0) | a0 = *(v0);
0x00004524 addiu a1, a1, 0x7388 | a1 += str.vdo_client:_Failed_to_write_nbr_of_frames:__m_n;
0x00004528 jalr t9 | t9 ();
0x0000452c lw gp, 0x28(sp) | gp = *(var_28h);
0x00004530 b 0x44f0 | goto label_23;
| label_28:
0x00004534 lw t9, -0x7f24(gp) | t9 = sym.imp.__stack_chk_fail;
0x00004538 jalr t9 | t9 ();
0x0000453c nop |
| label_51:
0x00004540 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00004544 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00004548 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0000454c addiu a1, a1, 0x7974 | a1 += str.client_new_buffer;
0x00004550 addiu t9, t9, 0x1980 | t9 += loc._ftext;
0x00004554 addiu a0, a0, 0x7248 | a0 += str._s:_Failed_ftruncate____errno_m_n;
0x00004558 bal 0x1980 | loc_ftext ();
| label_50:
0x0000455c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00004560 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00004564 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x00004568 addiu a1, a1, 0x7974 | a1 += str.client_new_buffer;
0x0000456c addiu t9, t9, 0x1980 | t9 += loc._ftext;
0x00004570 addiu a0, a0, 0x7220 | a0 += str._s:_Failed_g_mkstemp_full____erro_m_n;
0x00004574 bal 0x1980 | loc_ftext ();
0x00004578 nop |
0x0000457c nop |
| }
[*] Function printf used 13 times vdo-client