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