[*] Binary protection state of export-recording

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of export-recording

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/export-recording @ 0x29a0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000029a0 ()              | void fcn_000029a0 () {
    0x000029a0 lui gp, 2                 |     
    0x000029a4 addiu gp, gp, -0x990      |     
    0x000029a8 addu gp, gp, t9           |     gp += t9;
    0x000029ac addiu sp, sp, -0x68       |     
    0x000029b0 lw t9, -0x7f9c(gp)        |     t9 = *(gp);
    0x000029b4 sw s0, 0x60(sp)           |     *(var_60h) = s0;
    0x000029b8 lw s0, -0x7e64(gp)        |     s0 = *((gp - 8089));
    0x000029bc lui a2, 0xf               |     a2 = 0xf0000;
    0x000029c0 sw ra, 0x64(sp)           |     *(var_64h) = ra;
    0x000029c4 lw v0, (s0)               |     v0 = *(s0);
    0x000029c8 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x000029cc ori a2, a2, 0x4240        |     a2 |= 0x4240;
    0x000029d0 move a3, zero             |     a3 = 0;
    0x000029d4 sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x000029d8 bal 0x70b0                |     fcn_000070b0 ();
    0x000029dc nop                       |     
    0x000029e0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000029e4 lw t9, -0x7dd8(gp)        |     t9 = sym.imp.tzset;
    0x000029e8 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x000029ec jalr t9                   |     t9 ();
    0x000029f0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000029f4 addiu a1, sp, 0x30        |     a1 = sp + 0x30;
    0x000029f8 lw t9, -0x7f98(gp)        |     t9 = sym.localtime_r_wrapper;
    0x000029fc addiu a0, sp, 0x2c        |     a0 = sp + 0x2c;
    0x00002a00 bal 0x6fd0                |     sym_localtime_r_wrapper ();
    0x00002a04 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00002a08 beqz v0, 0x2a68           |         goto label_0;
                                         |     }
    0x00002a0c lw v0, 0x30(sp)           |     v0 = *(var_30h);
    0x00002a10 lw a0, -0x7fd0(gp)        |     a0 = sym.imp.g_malloc_n;
    0x00002a14 sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x00002a18 lw v0, 0x34(sp)           |     v0 = *(var_34h_2);
    0x00002a1c lw a2, 0x40(sp)           |     a2 = *(var_40h_2);
    0x00002a20 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002a24 lw a1, 0x44(sp)           |     a1 = *(var_44h_2);
    0x00002a28 lw v0, 0x38(sp)           |     v0 = *(var_38h_2);
    0x00002a2c lw t9, -0x7e18(gp)        |     t9 = sym.imp.g_strdup_printf
    0x00002a30 lw a3, 0x3c(sp)           |     a3 = *(var_3ch_2);
    0x00002a34 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002a38 addiu a2, a2, 1           |     a2++;
    0x00002a3c addiu a1, a1, 0x76c       |     a1 += 0x76c;
    0x00002a40 addiu a0, a0, -0x7f0c     |     a0 += -0x7f0c;
    0x00002a44 jalr t9                   |     t9 ();
    0x00002a48 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     do {
    0x00002a4c lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x00002a50 lw v1, (s0)               |         v1 = *(s0);
    0x00002a54 lw ra, 0x64(sp)           |         ra = *(var_64h);
                                         |         if (a0 != v1) {
    0x00002a58 bne a0, v1, 0x2a70        |             goto label_1;
                                         |         }
    0x00002a5c lw s0, 0x60(sp)           |         s0 = *(var_60h);
    0x00002a60 addiu sp, sp, 0x68        |         
    0x00002a64 jr ra                     |         return v0;
                                         | label_0:
    0x00002a68 move v0, zero             |         v0 = 0;
    0x00002a6c b 0x2a4c                  |         
                                         |     } while (1);
                                         | label_1:
    0x00002a70 lw t9, -0x7e8c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00002a74 jalr t9                   |     t9 ();
    0x00002a78 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/export-recording @ 0x473c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.filename_from_times ()       | void filename_from_times () {
    0x0000473c lui gp, 2                     |     
    0x00004740 addiu gp, gp, -0x272c         |     
    0x00004744 addu gp, gp, t9               |     gp += t9;
    0x00004748 addiu sp, sp, -0x38           |     
    0x0000474c sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00004750 lw s0, -0x7fd4(gp)            |     s0 = *((gp - 8181));
    0x00004754 sw gp, 0x10(sp)               |     *(var_10h_2) = gp;
    0x00004758 addiu s0, s0, 0x29a0          |     s0 += fcn.000029a0;
    0x0000475c move t9, s0                   |     t9 = s0;
    0x00004760 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00004764 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00004768 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x0000476c move s3, a3                   |     s3 = a3;
    0x00004770 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00004774 move s2, a2                   |     s2 = a2;
    0x00004778 bal 0x29a0                    |     fcn_000029a0 ();
    0x0000477c move t9, s0                   |     t9 = s0;
    0x00004780 move a0, s2                   |     a0 = s2;
    0x00004784 move a1, s3                   |     a1 = s3;
    0x00004788 move s1, v0                   |     s1 = v0;
    0x0000478c bal 0x29a0                    |     fcn_000029a0 ();
    0x00004790 move s0, v0                   |     s0 = v0;
    0x00004794 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (s1 == 0) {
    0x00004798 beqz s1, 0x4800               |         goto label_1;
                                             |     }
                                             |     if (s0 == 0) {
    0x0000479c beql s0, zero, 0x4820         |         goto label_2;
                                             |     }
    0x000047a0 lw a0, -0x7fd0(gp)            |     a0 = sym.imp.g_malloc_n;
                                             |     do {
                                             | label_0:
    0x000047a4 lw a0, -0x7fd0(gp)            |         a0 = sym.imp.g_malloc_n;
    0x000047a8 lw t9, -0x7e18(gp)            |         t9 = sym.imp.g_strdup_printf
    0x000047ac move a2, s0                   |         a2 = s0;
    0x000047b0 move a1, s1                   |         a1 = s1;
    0x000047b4 addiu a0, a0, -0x7854         |         a0 += -0x7854;
    0x000047b8 jalr t9                       |         t9 ();
    0x000047bc lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x000047c0 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x000047c4 lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x000047c8 move a0, s1                   |         a0 = s1;
    0x000047cc jalr t9                       |         t9 ();
    0x000047d0 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x000047d4 lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x000047d8 move a0, s0                   |         a0 = s0;
    0x000047dc jalr t9                       |         t9 ();
    0x000047e0 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x000047e4 lw v0, 0x1c(sp)               |         v0 = *(var_1ch);
    0x000047e8 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x000047ec lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x000047f0 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x000047f4 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x000047f8 addiu sp, sp, 0x38            |         
    0x000047fc jr ra                         |         return v0;
                                             | label_1:
    0x00004800 lw a0, -0x7fd0(gp)            |         a0 = sym.imp.g_malloc_n;
    0x00004804 lw t9, -0x7dd0(gp)            |         t9 = sym.imp.rec_indexer_get_recording_block_filename;
    0x00004808 addiu a0, a0, -0x7860         |         a0 += -0x7860;
    0x0000480c jalr t9                       |         t9 ();
    0x00004810 move s1, v0                   |         s1 = v0;
    0x00004814 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00004818 bnez s0, 0x47a4               |         
                                             |     } while (s0 != 0);
    0x0000481c lw a0, -0x7fd0(gp)            |     a0 = sym.imp.g_malloc_n;
                                             | label_2:
    0x00004820 lw t9, -0x7dd0(gp)            |     t9 = sym.imp.rec_indexer_get_recording_block_filename;
    0x00004824 addiu a0, a0, -0x7860         |     a0 += -0x7860;
    0x00004828 jalr t9                       |     t9 ();
    0x0000482c move s0, v0                   |     s0 = v0;
    0x00004830 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00004834 b 0x47a4                      |     goto label_0;
                                             | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/export-recording @ 0x4a40 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.handle_export_properties_request ()      | void handle_export_properties_request () {
    0x00004a40 lui gp, 2                                 |     
    0x00004a44 addiu gp, gp, -0x2a30                     |     
    0x00004a48 addu gp, gp, t9                           |     gp += t9;
    0x00004a4c addiu sp, sp, -0x110                      |     
    0x00004a50 lw a1, -0x7fd0(gp)                        |     a1 = sym.imp.g_malloc_n;
    0x00004a54 sw s1, 0xec(sp)                           |     *(var_ech) = s1;
    0x00004a58 lw s1, -0x7e64(gp)                        |     s1 = *((gp - 8089));
    0x00004a5c sw gp, 0x20(sp)                           |     *(var_20h) = gp;
    0x00004a60 lw t9, -0x7dcc(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00004a64 lw v0, (s1)                               |     v0 = *(s1);
    0x00004a68 sw s2, 0xf0(sp)                           |     *(var_f0h) = s2;
    0x00004a6c move s2, a0                               |     s2 = a0;
    0x00004a70 lw a0, (a0)                               |     a0 = *(a0);
    0x00004a74 sw ra, 0x10c(sp)                          |     *(var_10ch) = ra;
    0x00004a78 sw v0, 0xe4(sp)                           |     *(var_e4h) = v0;
    0x00004a7c sw fp, 0x108(sp)                          |     *(var_108h) = fp;
    0x00004a80 sw s7, 0x104(sp)                          |     *(var_104h) = s7;
    0x00004a84 sw s6, 0x100(sp)                          |     *(var_100h) = s6;
    0x00004a88 sw s5, 0xfc(sp)                           |     *(var_fch) = s5;
    0x00004a8c sw s4, 0xf8(sp)                           |     *(var_f8h) = s4;
    0x00004a90 sw s3, 0xf4(sp)                           |     *(var_f4h) = s3;
    0x00004a94 sw s0, 0xe8(sp)                           |     *(var_e8h) = s0;
    0x00004a98 addiu a1, a1, -0x77e0                     |     a1 += -0x77e0;
    0x00004a9c sw zero, 0x4c(sp)                         |     *(var_4ch) = 0;
    0x00004aa0 sw zero, 0x98(sp)                         |     *(var_98h) = 0;
    0x00004aa4 sw zero, 0x9c(sp)                         |     *(var_9ch) = 0;
    0x00004aa8 sw zero, 0xa0(sp)                         |     *(var_a0h) = 0;
    0x00004aac sw zero, 0xa4(sp)                         |     *(var_a4h) = 0;
    0x00004ab0 sw zero, 0xa8(sp)                         |     *(var_a8h) = 0;
    0x00004ab4 sw zero, 0xac(sp)                         |     *(var_ach) = 0;
    0x00004ab8 sw zero, 0xb0(sp)                         |     *(var_b0h) = 0;
    0x00004abc sw zero, 0xb4(sp)                         |     *(var_b4h) = 0;
    0x00004ac0 sw zero, 0xb8(sp)                         |     *(var_b8h) = 0;
    0x00004ac4 sw zero, 0xbc(sp)                         |     *(var_bch) = 0;
    0x00004ac8 sw zero, 0xc0(sp)                         |     *(var_c0h) = 0;
    0x00004acc sw zero, 0xc4(sp)                         |     *(var_c4h) = 0;
    0x00004ad0 sw zero, 0xc8(sp)                         |     *(var_c8h) = 0;
    0x00004ad4 sw zero, 0xcc(sp)                         |     *(var_cch) = 0;
    0x00004ad8 sw zero, 0xd0(sp)                         |     *(var_d0h) = 0;
    0x00004adc sw zero, 0xd4(sp)                         |     *(var_d4h) = 0;
    0x00004ae0 sw zero, 0xd8(sp)                         |     *(var_d8h) = 0;
    0x00004ae4 sw zero, 0xdc(sp)                         |     *(var_dch) = 0;
    0x00004ae8 sw zero, 0x5c(sp)                         |     *(var_5ch) = 0;
    0x00004aec sw zero, 0x60(sp)                         |     *(var_60h) = 0;
    0x00004af0 sw zero, 0x64(sp)                         |     *(var_64h) = 0;
    0x00004af4 jalr t9                                   |     t9 ();
    0x00004af8 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004afc beqz v0, 0x4b40                           |     
                                                         |     while (v0 == 0) {
    0x00004b00 move v0, zero                             |         v0 = 0;
                                                         | label_1:
    0x00004b04 lw a0, 0xe4(sp)                           |         a0 = *(var_e4h);
    0x00004b08 lw v1, (s1)                               |         v1 = *(s1);
    0x00004b0c lw ra, 0x10c(sp)                          |         ra = *(var_10ch);
                                                         |         if (a0 != v1) {
    0x00004b10 bne a0, v1, 0x5074                        |             goto label_7;
                                                         |         }
    0x00004b14 lw fp, 0x108(sp)                          |         fp = *(var_108h);
    0x00004b18 lw s7, 0x104(sp)                          |         s7 = *(var_104h);
    0x00004b1c lw s6, 0x100(sp)                          |         s6 = *(var_100h);
    0x00004b20 lw s5, 0xfc(sp)                           |         s5 = *(var_fch);
    0x00004b24 lw s4, 0xf8(sp)                           |         s4 = *(var_f8h);
    0x00004b28 lw s3, 0xf4(sp)                           |         s3 = *(var_f4h);
    0x00004b2c lw s2, 0xf0(sp)                           |         s2 = *(var_f0h);
    0x00004b30 lw s1, 0xec(sp)                           |         s1 = *(var_ech);
    0x00004b34 lw s0, 0xe8(sp)                           |         s0 = *(var_e8h);
    0x00004b38 addiu sp, sp, 0x110                       |         
    0x00004b3c jr ra                                     |         return v0;
    0x00004b40 lw t9, -0x7ea4(gp)                        |         t9 = sym.imp.fcgi_helper_read_request_query_parameters;
    0x00004b44 addiu a1, sp, 0x4c                        |         a1 = sp + 0x4c;
    0x00004b48 move a0, s2                               |         a0 = s2;
    0x00004b4c jalr t9                                   |         t9 ();
    0x00004b50 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00004b54 beqz v0, 0x4b00                           |         
                                                         |     }
    0x00004b58 lw t9, -0x7e28(gp)                        |     t9 = sym.imp.g_hash_table_iter_init;
    0x00004b5c addiu s4, sp, 0x80                        |     s4 = sp + 0x80;
    0x00004b60 lw a1, 0x4c(sp)                           |     a1 = *(var_4ch);
    0x00004b64 move a0, s4                               |     a0 = s4;
    0x00004b68 jalr t9                                   |     t9 ();
    0x00004b6c lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004b70 sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x00004b74 sw zero, 0x30(sp)                         |     *(var_30h_2) = 0;
    0x00004b78 lw v0, -0x7fd0(gp)                        |     v0 = sym.imp.g_malloc_n;
    0x00004b7c lw s3, -0x7fd0(gp)                        |     s3 = sym.imp.g_malloc_n;
    0x00004b80 sw v0, 0x34(sp)                           |     *(var_34h_2) = v0;
    0x00004b84 lw v0, -0x7fd0(gp)                        |     v0 = sym.imp.g_malloc_n;
    0x00004b88 lw s6, -0x7fd0(gp)                        |     s6 = sym.imp.g_malloc_n;
    0x00004b8c addiu v0, v0, -0x77dc                     |     v0 += -0x77dc;
    0x00004b90 sw v0, 0x40(sp)                           |     *(var_40h) = v0;
    0x00004b94 lw v0, -0x7fd0(gp)                        |     v0 = sym.imp.g_malloc_n;
    0x00004b98 sw zero, 0x2c(sp)                         |     *(var_2ch_2) = 0;
    0x00004b9c sw zero, 0x38(sp)                         |     *(var_38h) = 0;
    0x00004ba0 sw zero, 0x28(sp)                         |     *(var_28h) = 0;
    0x00004ba4 move s5, zero                             |     s5 = 0;
    0x00004ba8 addiu s7, sp, 0x54                        |     s7 = sp + 0x54;
    0x00004bac addiu fp, sp, 0x50                        |     fp = sp + 0x50;
    0x00004bb0 addiu s3, s3, -0x7678                     |     s3 += -0x7678;
    0x00004bb4 addiu s6, s6, -0x766c                     |     s6 += -0x766c;
    0x00004bb8 sw v0, 0x44(sp)                           |     *(var_44h) = v0;
                                                         | label_0:
    0x00004bbc lw t9, -0x7e24(gp)                        |     t9 = sym.imp.g_hash_table_iter_next;
    0x00004bc0 move a2, s7                               |     a2 = s7;
    0x00004bc4 move a1, fp                               |     a1 = fp;
    0x00004bc8 move a0, s4                               |     a0 = s4;
    0x00004bcc jalr t9                                   |     t9 ();
    0x00004bd0 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00004bd4 beqz v0, 0x4c14                           |         goto label_8;
                                                         |     }
                                                         |     do {
    0x00004bd8 lw s0, 0x50(sp)                           |         s0 = *(var_50h);
    0x00004bdc lw t9, -0x7dcc(gp)                        |         t9 = sym.imp.g_strcmp0;
    0x00004be0 move a1, s3                               |         a1 = s3;
    0x00004be4 move a0, s0                               |         a0 = s0;
    0x00004be8 jalr t9                                   |         t9 ();
    0x00004bec lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (v0 != 0) {
    0x00004bf0 bnez v0, 0x4ea4                           |             goto label_9;
                                                         |         }
    0x00004bf4 lw t9, -0x7e24(gp)                        |         t9 = sym.imp.g_hash_table_iter_next;
    0x00004bf8 move a2, s7                               |         a2 = s7;
    0x00004bfc move a1, fp                               |         a1 = fp;
    0x00004c00 move a0, s4                               |         a0 = s4;
    0x00004c04 lw s5, 0x54(sp)                           |         s5 = *(var_54h);
    0x00004c08 jalr t9                                   |         t9 ();
    0x00004c0c lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00004c10 bnez v0, 0x4bd8                           |         
                                                         |     } while (v0 != 0);
                                                         | label_8:
    0x00004c14 lw v0, 0x2c(sp)                           |     v0 = *(var_2ch_2);
    0x00004c18 lw t9, -0x7f84(gp)                        |     t9 = sym.send_export_error_xml;
                                                         |     if (v0 == 0) {
    0x00004c1c beqz v0, 0x4f18                           |         goto label_10;
                                                         |     }
    0x00004c20 lw v0, 0x30(sp)                           |     v0 = *(var_30h_2);
                                                         |     if (s5 == 0) {
    0x00004c24 beqz s5, 0x4f18                           |         goto label_10;
                                                         |     }
    0x00004c28 lw t9, -0x7f88(gp)                        |     t9 = sym.check_schemaversion;
                                                         |     if (v0 == 0) {
    0x00004c2c beqz v0, 0x4f14                           |         goto label_11;
                                                         |     }
    0x00004c30 lw a0, 0x2c(sp)                           |     a0 = *(var_2ch_2);
    0x00004c34 bal 0x2e38                                |     sym_check_schemaversion ();
    0x00004c38 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00004c3c beqz v0, 0x4fc8                           |         goto label_12;
                                                         |     }
    0x00004c40 lw a0, 0x3c(sp)                           |     a0 = *(var_3ch);
    0x00004c44 lw t9, -0x7f80(gp)                        |     t9 = sym.imp.avformat_new_stream;
                                                         |     if (a0 != 0) {
    0x00004c48 beqz a0, 0x4c5c                           |         
    0x00004c4c bal 0x2ef8                                |         sym_check_export_format ();
    0x00004c50 nop                                       |         
    0x00004c54 lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (v0 == 0) {
    0x00004c58 beqz v0, 0x5010                           |             goto label_13;
                                                         |         }
                                                         |     }
    0x00004c5c lw t9, -0x7d88(gp)                        |     t9 = sym.imp.rec_indexer_get_recording;
    0x00004c60 lw a1, 0x30(sp)                           |     a1 = *(var_30h_2);
    0x00004c64 move a0, s5                               |     a0 = s5;
    0x00004c68 jalr t9                                   |     t9 ();
    0x00004c6c move s0, v0                               |     s0 = v0;
    0x00004c70 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00004c74 beqz v0, 0x4fd4                           |         goto label_14;
                                                         |     }
    0x00004c78 lw t9, -0x7f7c(gp)                        |     t9 = sym.get_offset_and_duration_from_times;
    0x00004c7c addiu v0, sp, 0x58                        |     v0 = sp + 0x58;
    0x00004c80 addiu s4, sp, 0x98                        |     s4 = sp + 0x98;
    0x00004c84 lw a2, 0x38(sp)                           |     a2 = *(var_38h);
    0x00004c88 lw a1, 0x28(sp)                           |     a1 = *(var_28h);
    0x00004c8c sw v0, 0x10(sp)                           |     *(var_10h_3) = v0;
    0x00004c90 move a3, s4                               |     a3 = s4;
    0x00004c94 move a0, s0                               |     a0 = s0;
    0x00004c98 bal 0x2f7c                                |     sym_get_offset_and_duration_from_times ();
    0x00004c9c lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00004ca0 beqz v0, 0x4f6c                           |         goto label_15;
                                                         |     }
    0x00004ca4 lw t9, -0x7f78(gp)                        |     t9 = sym.open_and_seek_first_block;
    0x00004ca8 addiu s3, sp, 0x60                        |     s3 = sp + 0x60;
    0x00004cac sw s3, 0x10(sp)                           |     *(var_10h_3) = s3;
    0x00004cb0 addiu a3, sp, 0x5c                        |     a3 = sp + 0x5c;
    0x00004cb4 addiu a2, sp, 0xb8                        |     a2 = sp + 0xb8;
    0x00004cb8 move a1, s4                               |     a1 = s4;
    0x00004cbc move a0, s0                               |     a0 = s0;
    0x00004cc0 bal 0x3ba8                                |     sym_open_and_seek_first_block ();
    0x00004cc4 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00004cc8 beqz v0, 0x4fb0                           |         goto label_16;
                                                         |     }
    0x00004ccc lw s6, 0xd0(sp)                           |     s6 = *(var_d0h);
    0x00004cd0 lw s7, 0xd4(sp)                           |     s7 = *(var_d4h);
    0x00004cd4 lw t9, -0x7f9c(gp)                        |     t9 = *(gp);
    0x00004cd8 lui a2, 0xf                               |     a2 = 0xf0000;
    0x00004cdc move a0, s6                               |     a0 = s6;
    0x00004ce0 move a1, s7                               |     a1 = s7;
    0x00004ce4 ori a2, a2, 0x4240                        |     a2 |= 0x4240;
    0x00004ce8 move a3, zero                             |     a3 = 0;
    0x00004cec bal 0x70b0                                |     fcn_000070b0 ();
    0x00004cf0 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004cf4 lui a2, 0xf                               |     a2 = 0xf0000;
    0x00004cf8 move a0, s6                               |     a0 = s6;
    0x00004cfc lw t9, -0x7f8c(gp)                        |     t9 = *(gp);
    0x00004d00 move a1, s7                               |     a1 = s7;
    0x00004d04 ori a2, a2, 0x4240                        |     a2 |= 0x4240;
    0x00004d08 move a3, zero                             |     a3 = 0;
    0x00004d0c sw v0, 0x70(sp)                           |     *(var_70h) = v0;
    0x00004d10 bal 0x7550                                |     fcn_00007550 ();
    0x00004d14 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004d18 lw s6, 0xd8(sp)                           |     s6 = *(var_d8h);
    0x00004d1c lw s7, 0xdc(sp)                           |     s7 = *(var_dch);
    0x00004d20 lui a2, 0xf                               |     a2 = 0xf0000;
    0x00004d24 lw t9, -0x7f9c(gp)                        |     t9 = *(gp);
    0x00004d28 move a0, s6                               |     a0 = s6;
    0x00004d2c ori a2, a2, 0x4240                        |     a2 |= 0x4240;
    0x00004d30 move a3, zero                             |     a3 = 0;
    0x00004d34 move a1, s7                               |     a1 = s7;
    0x00004d38 sw v0, 0x74(sp)                           |     *(var_74h) = v0;
    0x00004d3c bal 0x70b0                                |     fcn_000070b0 ();
    0x00004d40 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004d44 lui a2, 0xf                               |     a2 = 0xf0000;
    0x00004d48 move a0, s6                               |     a0 = s6;
    0x00004d4c lw t9, -0x7f8c(gp)                        |     t9 = *(gp);
    0x00004d50 ori a2, a2, 0x4240                        |     a2 |= 0x4240;
    0x00004d54 move a3, zero                             |     a3 = 0;
    0x00004d58 move a1, s7                               |     a1 = s7;
    0x00004d5c sw v0, 0x78(sp)                           |     *(var_78h) = v0;
    0x00004d60 bal 0x7550                                |     fcn_00007550 ();
    0x00004d64 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004d68 sw v0, 0x7c(sp)                           |     *(var_7ch) = v0;
    0x00004d6c addiu s4, sp, 0x78                        |     s4 = sp + 0x78;
    0x00004d70 lw t9, -0x7efc(gp)                        |     t9 = sym.imp.rec_indexer_get_recording_estimated_size_by_range;
    0x00004d74 addiu v0, sp, 0x68                        |     v0 = sp + 0x68;
    0x00004d78 addiu s6, sp, 0x70                        |     s6 = sp + 0x70;
    0x00004d7c lw a0, 0x30(sp)                           |     a0 = *(var_30h_2);
    0x00004d80 sw v0, 0x10(sp)                           |     *(var_10h_3) = v0;
    0x00004d84 move a3, s4                               |     a3 = s4;
    0x00004d88 move a2, s6                               |     a2 = s6;
    0x00004d8c move a1, s5                               |     a1 = s5;
    0x00004d90 jalr t9                                   |     t9 ();
    0x00004d94 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 == 0) {
    0x00004d98 beqz v0, 0x4fb0                           |         goto label_16;
                                                         |     }
    0x00004d9c lw t9, -0x7e2c(gp)                        |     t9 = sym.imp.g_time_val_to_iso8601;
    0x00004da0 move a0, s6                               |     a0 = s6;
    0x00004da4 jalr t9                                   |     t9 ();
    0x00004da8 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004dac move a0, s4                               |     a0 = s4;
    0x00004db0 lw t9, -0x7e2c(gp)                        |     t9 = sym.imp.g_time_val_to_iso8601;
    0x00004db4 move s6, v0                               |     s6 = v0;
    0x00004db8 jalr t9                                   |     t9 ();
    0x00004dbc lw v1, 0x6c(sp)                           |     v1 = *(var_6ch);
    0x00004dc0 move s4, v0                               |     s4 = v0;
    0x00004dc4 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004dc8 lw v0, 0x68(sp)                           |     v0 = *(var_68h);
                                                         |     if (v1 <= 0) {
    0x00004dcc blez v1, 0x501c                           |         goto label_17;
                                                         |     }
    0x00004dd0 sll a0, v1, 0x16                          |     a0 = v1 << 0x16;
                                                         | label_4:
    0x00004dd4 srl v0, v0, 0xa                           |     v0 >>= 0xa;
    0x00004dd8 or v0, a0, v0                             |     v0 = a0 | v0;
    0x00004ddc sra v1, v1, 0xa                           |     v1 >>= 0xa;
                                                         | label_5:
    0x00004de0 lw a2, -0x7fd0(gp)                        |     a2 = sym.imp.g_malloc_n;
    0x00004de4 lw a0, -0x7fd0(gp)                        |     a0 = sym.imp.g_malloc_n;
    0x00004de8 lw t9, -0x7e18(gp)                        |     t9 = sym.imp.g_strdup_printf
    0x00004dec move a1, s5                               |     a1 = s5;
    0x00004df0 addiu a2, a2, -0x7b20                     |     a2 += -sym.imp.av_init_packet;
    0x00004df4 addiu a0, a0, -0x761c                     |     a0 += -0x761c;
    0x00004df8 sw v1, 0x14(sp)                           |     *(var_14h) = v1;
    0x00004dfc sw s4, 0x1c(sp)                           |     *(var_1ch_3) = s4;
    0x00004e00 sw s6, 0x18(sp)                           |     *(var_18h_2) = s6;
    0x00004e04 sw v0, 0x10(sp)                           |     *(var_10h_3) = v0;
    0x00004e08 jalr t9                                   |     t9 ();
    0x00004e0c lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004e10 addiu s7, sp, 0x64                        |     s7 = sp + 0x64;
    0x00004e14 move a3, s7                               |     a3 = s7;
    0x00004e18 lw t9, -0x7ea8(gp)                        |     t9 = sym.imp.fcgi_helper_write_response;
    0x00004e1c addiu a2, zero, -1                        |     a2 = -1;
    0x00004e20 move a1, v0                               |     a1 = v0;
    0x00004e24 move a0, s2                               |     a0 = s2;
    0x00004e28 move s5, v0                               |     s5 = v0;
    0x00004e2c jalr t9                                   |     t9 ();
    0x00004e30 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 < 0) {
    0x00004e34 bltz v0, 0x5060                           |         goto label_18;
                                                         |     }
                                                         | label_6:
    0x00004e38 lw t9, -0x7d84(gp)                        |     t9 = *((gp - 8033));
    0x00004e3c move a0, s5                               |     a0 = s5;
    0x00004e40 jalr t9                                   |     t9 ();
    0x00004e44 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004e48 lw t9, -0x7d84(gp)                        |     t9 = *((gp - 8033));
    0x00004e4c move a0, s6                               |     a0 = s6;
    0x00004e50 jalr t9                                   |     t9 ();
    0x00004e54 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004e58 lw t9, -0x7d84(gp)                        |     t9 = *((gp - 8033));
    0x00004e5c move a0, s4                               |     a0 = s4;
    0x00004e60 jalr t9                                   |     t9 ();
    0x00004e64 lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     do {
                                                         | label_2:
    0x00004e68 lw t9, -0x7d84(gp)                        |         t9 = *((gp - 8033));
    0x00004e6c lw a0, 0xb8(sp)                           |         a0 = *(var_b8h);
    0x00004e70 jalr t9                                   |         t9 ();
    0x00004e74 lw a1, 0x5c(sp)                           |         a1 = *(var_5ch);
    0x00004e78 lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (a1 != 0) {
    0x00004e7c beqz a1, 0x4e90                           |             
    0x00004e80 lw t9, -0x7e4c(gp)                        |             t9 = sym.imp.rec_indexer_recording_block_iter_free;
    0x00004e84 move a0, s0                               |             a0 = s0;
    0x00004e88 jalr t9                                   |             t9 ();
    0x00004e8c lw gp, 0x20(sp)                           |             gp = *(var_20h);
                                                         |         }
    0x00004e90 lw t9, -0x7dc0(gp)                        |         t9 = sym.imp.close;
    0x00004e94 move a0, s0                               |         a0 = s0;
    0x00004e98 jalr t9                                   |         t9 ();
    0x00004e9c lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00004ea0 b 0x4f3c                                  |         goto label_19;
                                                         | label_9:
    0x00004ea4 lw t9, -0x7dcc(gp)                        |         t9 = sym.imp.g_strcmp0;
    0x00004ea8 move a1, s6                               |         a1 = s6;
    0x00004eac move a0, s0                               |         a0 = s0;
    0x00004eb0 jalr t9                                   |         t9 ();
    0x00004eb4 lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (v0 == 0) {
    0x00004eb8 bnez v0, 0x4ec8                           |             
    0x00004ebc lw v0, 0x54(sp)                           |             v0 = *(var_54h);
    0x00004ec0 sw v0, 0x28(sp)                           |             *(var_28h) = v0;
    0x00004ec4 b 0x4bbc                                  |             goto label_0;
                                                         |         }
    0x00004ec8 lw v0, 0x34(sp)                           |         v0 = *(var_34h_2);
    0x00004ecc lw t9, -0x7dcc(gp)                        |         t9 = sym.imp.g_strcmp0;
    0x00004ed0 addiu a1, v0, -0x7660                     |         a1 = v0 + -0x7660;
    0x00004ed4 move a0, s0                               |         a0 = s0;
    0x00004ed8 jalr t9                                   |         t9 ();
    0x00004edc lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (v0 == 0) {
    0x00004ee0 bnez v0, 0x4ef0                           |             
    0x00004ee4 lw v0, 0x54(sp)                           |             v0 = *(var_54h);
    0x00004ee8 sw v0, 0x38(sp)                           |             *(var_38h) = v0;
    0x00004eec b 0x4bbc                                  |             goto label_0;
                                                         |         }
    0x00004ef0 lw t9, -0x7dcc(gp)                        |         t9 = sym.imp.g_strcmp0;
    0x00004ef4 lw a1, 0x40(sp)                           |         a1 = *(var_40h);
    0x00004ef8 move a0, s0                               |         a0 = s0;
    0x00004efc jalr t9                                   |         t9 ();
    0x00004f00 lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         |         if (v0 != 0) {
    0x00004f04 bnez v0, 0x4f88                           |             goto label_20;
                                                         |         }
    0x00004f08 lw v0, 0x54(sp)                           |         v0 = *(var_54h);
    0x00004f0c sw v0, 0x2c(sp)                           |         *(var_2ch_2) = v0;
    0x00004f10 b 0x4bbc                                  |         goto label_0;
                                                         | label_11:
    0x00004f14 lw t9, -0x7f84(gp)                        |         t9 = sym.send_export_error_xml;
                                                         | label_10:
    0x00004f18 addiu a1, zero, 0x14                      |         a1 = 0x14;
                                                         | label_3:
    0x00004f1c move a0, s2                               |         a0 = s2;
    0x00004f20 bal 0x2d14                                |         sym_send_export_error_xml ();
    0x00004f24 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00004f28 lw a0, 0xb8(sp)                           |         a0 = *(var_b8h);
    0x00004f2c lw t9, -0x7d84(gp)                        |         t9 = *((gp - 8033));
    0x00004f30 addiu s3, sp, 0x60                        |         s3 = sp + 0x60;
    0x00004f34 jalr t9                                   |         t9 ();
    0x00004f38 lw gp, 0x20(sp)                           |         gp = *(var_20h);
                                                         | label_19:
    0x00004f3c lw a0, 0x4c(sp)                           |         a0 = *(var_4ch);
    0x00004f40 lw t9, -0x7d90(gp)                        |         t9 = sym.imp.avio_alloc_context;
                                                         |         if (a0 != 0) {
    0x00004f44 beqz a0, 0x4f54                           |             
    0x00004f48 jalr t9                                   |             t9 ();
    0x00004f4c nop                                       |             
    0x00004f50 lw gp, 0x20(sp)                           |             gp = *(var_20h);
                                                         |         }
    0x00004f54 lw t9, -0x7e1c(gp)                        |         t9 = sym.imp.avformat_close_input;
    0x00004f58 move a0, s3                               |         a0 = s3;
    0x00004f5c jalr t9                                   |         t9 ();
    0x00004f60 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00004f64 addiu v0, zero, 1                         |         v0 = 1;
    0x00004f68 b 0x4b04                                  |         goto label_1;
                                                         | label_15:
    0x00004f6c lw t9, -0x7f84(gp)                        |         t9 = sym.send_export_error_xml;
    0x00004f70 lw a1, 0x58(sp)                           |         a1 = *(var_58h);
    0x00004f74 move a0, s2                               |         a0 = s2;
    0x00004f78 bal 0x2d14                                |         sym_send_export_error_xml ();
    0x00004f7c addiu s3, sp, 0x60                        |         s3 = sp + 0x60;
    0x00004f80 lw gp, 0x20(sp)                           |         gp = *(var_20h);
    0x00004f84 b 0x4e68                                  |         
                                                         |     } while (1);
                                                         | label_20:
    0x00004f88 lw v0, 0x44(sp)                           |     v0 = *(var_44h);
    0x00004f8c lw t9, -0x7dcc(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00004f90 addiu a1, v0, -0x6f7c                     |     a1 = v0 + -0x6f7c;
    0x00004f94 move a0, s0                               |     a0 = s0;
    0x00004f98 jalr t9                                   |     t9 ();
    0x00004f9c lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 != 0) {
    0x00004fa0 bnez v0, 0x5038                           |         goto label_21;
                                                         |     }
    0x00004fa4 lw v0, 0x54(sp)                           |     v0 = *(var_54h);
    0x00004fa8 sw v0, 0x30(sp)                           |     *(var_30h_2) = v0;
    0x00004fac b 0x4bbc                                  |     goto label_0;
                                                         | label_16:
    0x00004fb0 lw t9, -0x7f84(gp)                        |     t9 = sym.send_export_error_xml;
    0x00004fb4 addiu a1, zero, 0xa                       |     a1 = 0xa;
    0x00004fb8 move a0, s2                               |     a0 = s2;
    0x00004fbc bal 0x2d14                                |     sym_send_export_error_xml ();
    0x00004fc0 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00004fc4 b 0x4e68                                  |     goto label_2;
                                                         | label_12:
    0x00004fc8 lw t9, -0x7f84(gp)                        |     t9 = sym.send_export_error_xml;
    0x00004fcc addiu a1, zero, 0x28                      |     a1 = 0x28;
    0x00004fd0 b 0x4f1c                                  |     goto label_3;
                                                         | label_14:
    0x00004fd4 lw a3, -0x7fd0(gp)                        |     a3 = sym.imp.g_malloc_n;
    0x00004fd8 lw a2, -0x7fd0(gp)                        |     a2 = sym.imp.g_malloc_n;
    0x00004fdc lw v0, 0x30(sp)                           |     v0 = *(var_30h_2);
    0x00004fe0 lw t9, -0x7f1c(gp)                        |     t9 = sym.imp.g_log;
    0x00004fe4 addiu a1, zero, 0x10                      |     a1 = 0x10;
    0x00004fe8 addiu a3, a3, -0x7b64                     |     a3 += -0x7b64;
    0x00004fec addiu a2, a2, -0x7644                     |     a2 += -0x7644;
    0x00004ff0 move a0, zero                             |     a0 = 0;
    0x00004ff4 sw v0, 0x14(sp)                           |     *(var_14h) = v0;
    0x00004ff8 sw s5, 0x10(sp)                           |     *(var_10h_3) = s5;
    0x00004ffc jalr t9                                   |     t9 ();
    0x00005000 lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00005004 addiu a1, zero, 0x6e                      |     a1 = 0x6e;
    0x00005008 lw t9, -0x7f84(gp)                        |     t9 = sym.send_export_error_xml;
    0x0000500c b 0x4f1c                                  |     goto label_3;
                                                         | label_13:
    0x00005010 lw t9, -0x7f84(gp)                        |     t9 = sym.send_export_error_xml;
    0x00005014 addiu a1, zero, 0xaa                      |     a1 = 0xaa;
    0x00005018 b 0x4f1c                                  |     goto label_3;
                                                         | label_17:
    0x0000501c move v0, zero                             |     v0 = 0;
                                                         |     if (v1 == 0) {
    0x00005020 bnel v1, zero, 0x5030                     |         goto label_22;
                                                         |     }
    0x00005024 sll a0, v1, 0x16                          |     a0 = v1 << 0x16;
                                                         |     if (v0 != 0) {
    0x00005028 bnez v0, 0x4dd4                           |         goto label_4;
                                                         |     }
    0x0000502c move v0, zero                             |     v0 = 0;
                                                         | label_22:
    0x00005030 move v1, zero                             |     v1 = 0;
    0x00005034 b 0x4de0                                  |     goto label_5;
                                                         | label_21:
    0x00005038 lw a1, -0x7fd0(gp)                        |     a1 = sym.imp.g_malloc_n;
    0x0000503c lw t9, -0x7dcc(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00005040 addiu a1, a1, -0x7654                     |     a1 += -0x7654;
    0x00005044 move a0, s0                               |     a0 = s0;
    0x00005048 jalr t9                                   |     t9 ();
    0x0000504c lw gp, 0x20(sp)                           |     gp = *(var_20h);
                                                         |     if (v0 != 0) {
    0x00005050 bnez v0, 0x4bbc                           |         goto label_0;
                                                         |     }
    0x00005054 lw v0, 0x54(sp)                           |     v0 = *(var_54h);
    0x00005058 sw v0, 0x3c(sp)                           |     *(var_3ch) = v0;
    0x0000505c b 0x4bbc                                  |     goto label_0;
                                                         | label_18:
    0x00005060 lw t9, -0x7dd4(gp)                        |     t9 = sym.imp.g_clear_error;
    0x00005064 move a0, s7                               |     a0 = s7;
    0x00005068 jalr t9                                   |     t9 ();
    0x0000506c lw gp, 0x20(sp)                           |     gp = *(var_20h);
    0x00005070 b 0x4e38                                  |     goto label_6;
                                                         | label_7:
    0x00005074 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x00005078 jalr t9                                   |     t9 ();
    0x0000507c nop                                       |     
    0x00005080 lui gp, 2                                 |     
    0x00005084 addiu gp, gp, -0x3070                     |     
    0x00005088 addu gp, gp, t9                           |     gp += t9;
    0x0000508c addiu sp, sp, -0x38                       |     
    0x00005090 lw t9, -0x7ea8(gp)                        |     t9 = sym.imp.fcgi_helper_write_response;
    0x00005094 sw s0, 0x2c(sp)                           |     *(var_2ch) = s0;
    0x00005098 lw s0, -0x7e64(gp)                        |     s0 = *((gp - 8089));
    0x0000509c sw s1, 0x30(sp)                           |     *(var_30h) = s1;
    0x000050a0 addiu s1, sp, 0x20                        |     s1 = sp + 0x20;
    0x000050a4 lw v0, (s0)                               |     v0 = *(s0);
    0x000050a8 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x000050ac sw ra, 0x34(sp)                           |     *(var_34h) = ra;
    0x000050b0 move a3, s1                               |     a3 = s1;
    0x000050b4 sw v0, 0x24(sp)                           |     *(var_24h) = v0;
    0x000050b8 sw zero, 0x20(sp)                         |     *(var_20h_2) = 0;
    0x000050bc jalr t9                                   |     t9 ();
    0x000050c0 nop                                       |     
    0x000050c4 addiu v1, zero, -1                        |     v1 = -1;
    0x000050c8 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x000050cc beq v0, v1, 0x50f0                        |     
                                                         |     while (1) {
    0x000050d0 lw a0, 0x24(sp)                           |         a0 = *(var_24h);
    0x000050d4 lw v1, (s0)                               |         v1 = *(s0);
    0x000050d8 lw ra, 0x34(sp)                           |         ra = *(var_34h);
                                                         |         if (a0 != v1) {
    0x000050dc bne a0, v1, 0x510c                        |             goto label_23;
                                                         |         }
    0x000050e0 lw s1, 0x30(sp)                           |         s1 = *(var_30h);
    0x000050e4 lw s0, 0x2c(sp)                           |         s0 = *(var_2ch);
    0x000050e8 addiu sp, sp, 0x38                        |         
    0x000050ec jr ra                                     |         return v0;
    0x000050f0 lw t9, -0x7dd4(gp)                        |         t9 = sym.imp.g_clear_error;
    0x000050f4 sw v0, 0x1c(sp)                           |         *(var_1ch) = v0;
    0x000050f8 move a0, s1                               |         a0 = s1;
    0x000050fc jalr t9                                   |         t9 ();
    0x00005100 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x00005104 lw v0, 0x1c(sp)                           |         v0 = *(var_1ch);
    0x00005108 b 0x50d0                                  |         
                                                         |     }
                                                         | label_23:
    0x0000510c lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x00005110 jalr t9                                   |     t9 ();
    0x00005114 nop                                       |     
                                                         | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/export-recording @ 0x6110 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.handle_export_to_external_disk_request ()    | void handle_export_to_external_disk_request () {
    0x00006110 lui gp, 2                                     |     
    0x00006114 addiu gp, gp, -0x4100                         |     
    0x00006118 addu gp, gp, t9                               |     gp += t9;
    0x0000611c addiu sp, sp, -0xd0                           |     
    0x00006120 lw t9, -0x7dcc(gp)                            |     t9 = sym.imp.g_strcmp0;
    0x00006124 sw s1, 0xac(sp)                               |     *(var_ach) = s1;
    0x00006128 lw s1, -0x7e64(gp)                            |     s1 = *((gp - 8089));
    0x0000612c sw a1, 0x24(sp)                               |     *(var_24h) = a1;
    0x00006130 lw a1, -0x7fd0(gp)                            |     a1 = sym.imp.g_malloc_n;
    0x00006134 lw v0, (s1)                                   |     v0 = *(s1);
    0x00006138 sw s2, 0xb0(sp)                               |     *(var_b0h) = s2;
    0x0000613c move s2, a0                                   |     s2 = a0;
    0x00006140 lw a0, (a0)                                   |     a0 = *(a0);
    0x00006144 sw gp, 0x18(sp)                               |     *(var_18h) = gp;
    0x00006148 sw ra, 0xcc(sp)                               |     *(var_cch) = ra;
    0x0000614c sw fp, 0xc8(sp)                               |     *(var_c8h) = fp;
    0x00006150 sw s7, 0xc4(sp)                               |     *(var_c4h) = s7;
    0x00006154 sw s6, 0xc0(sp)                               |     *(var_c0h) = s6;
    0x00006158 sw s5, 0xbc(sp)                               |     *(var_bch) = s5;
    0x0000615c sw s4, 0xb8(sp)                               |     *(var_b8h) = s4;
    0x00006160 sw s3, 0xb4(sp)                               |     *(var_b4h) = s3;
    0x00006164 sw s0, 0xa8(sp)                               |     *(var_a8h) = s0;
    0x00006168 addiu a1, a1, -0x77e0                         |     a1 += -0x77e0;
    0x0000616c sw v0, 0xa4(sp)                               |     *(var_a4h) = v0;
    0x00006170 sw zero, 0x54(sp)                             |     *(var_54h) = 0;
    0x00006174 sw zero, 0x58(sp)                             |     *(var_58h) = 0;
    0x00006178 sw zero, 0x80(sp)                             |     *(var_80h) = 0;
    0x0000617c sw zero, 0x84(sp)                             |     *(var_84h) = 0;
    0x00006180 sw zero, 0x88(sp)                             |     *(var_88h) = 0;
    0x00006184 sw zero, 0x8c(sp)                             |     *(var_8ch) = 0;
    0x00006188 sw zero, 0x90(sp)                             |     *(var_90h) = 0;
    0x0000618c sw zero, 0x94(sp)                             |     *(var_94h) = 0;
    0x00006190 sw zero, 0x98(sp)                             |     *(var_98h) = 0;
    0x00006194 sw zero, 0x9c(sp)                             |     *(var_9ch) = 0;
    0x00006198 jalr t9                                       |     t9 ();
    0x0000619c nop                                           |     
    0x000061a0 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x000061a4 beqz v0, 0x61e8                               |     
                                                             |     while (v0 == 0) {
    0x000061a8 move v0, zero                                 |         v0 = 0;
                                                             | label_1:
    0x000061ac lw a0, 0xa4(sp)                               |         a0 = *(var_a4h);
    0x000061b0 lw v1, (s1)                                   |         v1 = *(s1);
    0x000061b4 lw ra, 0xcc(sp)                               |         ra = *(var_cch);
                                                             |         if (a0 != v1) {
    0x000061b8 bne a0, v1, 0x681c                            |             goto label_6;
                                                             |         }
    0x000061bc lw fp, 0xc8(sp)                               |         fp = *(var_c8h);
    0x000061c0 lw s7, 0xc4(sp)                               |         s7 = *(var_c4h);
    0x000061c4 lw s6, 0xc0(sp)                               |         s6 = *(var_c0h);
    0x000061c8 lw s5, 0xbc(sp)                               |         s5 = *(var_bch);
    0x000061cc lw s4, 0xb8(sp)                               |         s4 = *(var_b8h);
    0x000061d0 lw s3, 0xb4(sp)                               |         s3 = *(var_b4h);
    0x000061d4 lw s2, 0xb0(sp)                               |         s2 = *(var_b0h);
    0x000061d8 lw s1, 0xac(sp)                               |         s1 = *(var_ach);
    0x000061dc lw s0, 0xa8(sp)                               |         s0 = *(var_a8h);
    0x000061e0 addiu sp, sp, 0xd0                            |         
    0x000061e4 jr ra                                         |         return v0;
    0x000061e8 lw t9, -0x7ea4(gp)                            |         t9 = sym.imp.fcgi_helper_read_request_query_parameters;
    0x000061ec addiu a1, sp, 0x58                            |         a1 = sp + 0x58;
    0x000061f0 move a0, s2                                   |         a0 = s2;
    0x000061f4 jalr t9                                       |         t9 ();
    0x000061f8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000061fc beqz v0, 0x61a8                               |         
                                                             |     }
    0x00006200 lw t9, -0x7e28(gp)                            |     t9 = sym.imp.g_hash_table_iter_init;
    0x00006204 addiu s4, sp, 0x68                            |     s4 = sp + 0x68;
    0x00006208 lw a1, 0x58(sp)                               |     a1 = *(var_58h);
    0x0000620c move a0, s4                                   |     a0 = s4;
    0x00006210 jalr t9                                       |     t9 ();
    0x00006214 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x00006218 sw zero, 0x38(sp)                             |     *(var_38h) = 0;
    0x0000621c sw zero, 0x3c(sp)                             |     *(var_3ch) = 0;
    0x00006220 lw v0, -0x7fd0(gp)                            |     v0 = sym.imp.g_malloc_n;
    0x00006224 lw s3, -0x7fd0(gp)                            |     s3 = sym.imp.g_malloc_n;
    0x00006228 sw v0, 0x34(sp)                               |     *(var_34h) = v0;
    0x0000622c lw v0, -0x7fd0(gp)                            |     v0 = sym.imp.g_malloc_n;
    0x00006230 lw s6, -0x7fd0(gp)                            |     s6 = sym.imp.g_malloc_n;
    0x00006234 addiu v0, v0, -0x77dc                         |     v0 += -0x77dc;
    0x00006238 sw v0, 0x44(sp)                               |     *(var_44h) = v0;
    0x0000623c lw v0, -0x7fd0(gp)                            |     v0 = sym.imp.g_malloc_n;
    0x00006240 sw zero, 0x48(sp)                             |     *(var_48h) = 0;
    0x00006244 sw zero, 0x30(sp)                             |     *(var_30h) = 0;
    0x00006248 sw zero, 0x2c(sp)                             |     *(var_2ch) = 0;
    0x0000624c sw zero, 0x40(sp)                             |     *(var_40h) = 0;
    0x00006250 sw zero, 0x28(sp)                             |     *(var_28h) = 0;
    0x00006254 move s5, zero                                 |     s5 = 0;
    0x00006258 addiu s7, sp, 0x60                            |     s7 = sp + 0x60;
    0x0000625c addiu fp, sp, 0x5c                            |     fp = sp + 0x5c;
    0x00006260 addiu s3, s3, -0x7678                         |     s3 += -0x7678;
    0x00006264 addiu s6, s6, -0x766c                         |     s6 += -0x766c;
    0x00006268 sw v0, 0x4c(sp)                               |     *(var_4ch) = v0;
                                                             | label_0:
    0x0000626c lw t9, -0x7e24(gp)                            |     t9 = sym.imp.g_hash_table_iter_next;
    0x00006270 move a2, s7                                   |     a2 = s7;
    0x00006274 move a1, fp                                   |     a1 = fp;
    0x00006278 move a0, s4                                   |     a0 = s4;
    0x0000627c jalr t9                                       |     t9 ();
    0x00006280 lw gp, 0x18(sp)                               |     gp = *(var_18h);
                                                             |     if (v0 == 0) {
    0x00006284 beqz v0, 0x62c4                               |         goto label_7;
                                                             |     }
                                                             |     do {
    0x00006288 lw s0, 0x5c(sp)                               |         s0 = *(var_5ch);
    0x0000628c lw t9, -0x7dcc(gp)                            |         t9 = sym.imp.g_strcmp0;
    0x00006290 move a1, s3                                   |         a1 = s3;
    0x00006294 move a0, s0                                   |         a0 = s0;
    0x00006298 jalr t9                                       |         t9 ();
    0x0000629c lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |         if (v0 != 0) {
    0x000062a0 bnez v0, 0x6530                               |             goto label_8;
                                                             |         }
    0x000062a4 lw t9, -0x7e24(gp)                            |         t9 = sym.imp.g_hash_table_iter_next;
    0x000062a8 move a2, s7                                   |         a2 = s7;
    0x000062ac move a1, fp                                   |         a1 = fp;
    0x000062b0 move a0, s4                                   |         a0 = s4;
    0x000062b4 lw s5, 0x60(sp)                               |         s5 = *(var_60h);
    0x000062b8 jalr t9                                       |         t9 ();
    0x000062bc lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000062c0 bnez v0, 0x6288                               |         
                                                             |     } while (v0 != 0);
                                                             | label_7:
    0x000062c4 lw v0, 0x2c(sp)                               |     v0 = *(var_2ch);
    0x000062c8 lw t9, -0x7f84(gp)                            |     t9 = sym.send_export_error_xml;
                                                             |     if (v0 != 0) {
    0x000062cc beqz v0, 0x65a4                               |         
    0x000062d0 lw v0, 0x30(sp)                               |         v0 = *(var_30h);
                                                             |         if (s5 == 0) {
    0x000062d4 beqz s5, 0x65a4                               |             goto label_9;
                                                             |         }
    0x000062d8 lw v0, 0x3c(sp)                               |         v0 = *(var_3ch);
                                                             |         if (v0 == 0) {
    0x000062dc beqz v0, 0x65a4                               |             goto label_9;
                                                             |         }
    0x000062e0 lw v0, 0x38(sp)                               |         v0 = *(var_38h);
                                                             |         if (v0 == 0) {
    0x000062e4 beqz v0, 0x65a4                               |             goto label_9;
                                                             |         }
    0x000062e8 lw t9, -0x7f88(gp)                            |         t9 = sym.check_schemaversion;
                                                             |         if (v0 != 0) {
    0x000062ec beqz v0, 0x65a0                               |             
    0x000062f0 lw a0, 0x2c(sp)                               |             a0 = *(var_2ch);
    0x000062f4 bal 0x2e38                                    |             sym_check_schemaversion ();
    0x000062f8 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x000062fc beqz v0, 0x6630                               |                 goto label_10;
                                                             |             }
    0x00006300 lw t9, -0x7f80(gp)                            |             t9 = sym.imp.avformat_new_stream;
    0x00006304 lw a0, 0x30(sp)                               |             a0 = *(var_30h);
    0x00006308 bal 0x2ef8                                    |             sym_check_export_format ();
    0x0000630c lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x00006310 beqz v0, 0x6624                               |                 goto label_11;
                                                             |             }
    0x00006314 lw a0, 0x48(sp)                               |             a0 = *(var_48h);
    0x00006318 lw t9, -0x7dc8(gp)                            |             t9 = sym.imp.g_strrstr;
                                                             |             if (a0 != 0) {
    0x0000631c beqz a0, 0x6334                               |                 
    0x00006320 lw a1, -0x7fd0(gp)                            |                 a1 = sym.imp.g_malloc_n;
    0x00006324 addiu a1, a1, -0x6f74                         |                 a1 += -0x6f74;
    0x00006328 jalr t9                                       |                 t9 ();
    0x0000632c lw gp, 0x18(sp)                               |                 gp = *(var_18h);
                                                             |                 if (v0 != 0) {
    0x00006330 bnez v0, 0x663c                               |                     goto label_12;
                                                             |                 }
                                                             |             }
    0x00006334 lw a1, -0x7fd0(gp)                            |             a1 = sym.imp.g_malloc_n;
    0x00006338 lw t9, -0x7e84(gp)                            |             t9 = sym.imp.g_str_has_prefix;
    0x0000633c lw a0, 0x38(sp)                               |             a0 = *(var_38h);
    0x00006340 addiu a1, a1, -0x6f70                         |             a1 += -0x6f70;
    0x00006344 jalr t9                                       |             t9 ();
    0x00006348 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x0000634c beqz v0, 0x6648                               |                 goto label_13;
                                                             |             }
    0x00006350 lw t9, -0x7da8(gp)                            |             t9 = sym.imp.storage_get;
    0x00006354 addiu s3, sp, 0x54                            |             s3 = sp + 0x54;
    0x00006358 lw a0, 0x38(sp)                               |             a0 = *(var_38h);
    0x0000635c move a1, s3                                   |             a1 = s3;
    0x00006360 jalr t9                                       |             t9 ();
    0x00006364 move s0, v0                                   |             s0 = v0;
    0x00006368 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x0000636c beqz v0, 0x6654                               |                 goto label_14;
                                                             |             }
    0x00006370 lw v0, 0x34(v0)                               |             v0 = *((v0 + 13));
    0x00006374 lw v0, 0x54(sp)                               |             v0 = *(var_54h);
                                                             |             if (v0 == 0) {
    0x00006378 beqz v0, 0x6658                               |                 goto label_15;
                                                             |             }
    0x0000637c lw v0, 0x14(s0)                               |             v0 = *((s0 + 5));
    0x00006380 lw t9, -0x7d88(gp)                            |             t9 = sym.imp.rec_indexer_get_recording;
                                                             |             if (v0 != 0) {
    0x00006384 bnez v0, 0x66d0                               |                 goto label_16;
                                                             |             }
    0x00006388 lw a1, 0x3c(sp)                               |             a1 = *(var_3ch);
    0x0000638c move a0, s5                                   |             a0 = s5;
    0x00006390 jalr t9                                       |             t9 ();
    0x00006394 move s4, v0                                   |             s4 = v0;
    0x00006398 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x0000639c beqz v0, 0x67ac                               |                 goto label_17;
                                                             |             }
    0x000063a0 lw t9, -0x7f7c(gp)                            |             t9 = sym.get_offset_and_duration_from_times;
    0x000063a4 addiu v0, sp, 0x64                            |             v0 = sp + 0x64;
    0x000063a8 lw a2, 0x40(sp)                               |             a2 = *(var_40h);
    0x000063ac lw a1, 0x28(sp)                               |             a1 = *(var_28h);
    0x000063b0 sw v0, 0x10(sp)                               |             *(var_10h) = v0;
    0x000063b4 addiu a3, sp, 0x80                            |             a3 = sp + 0x80;
    0x000063b8 move a0, s4                                   |             a0 = s4;
    0x000063bc bal 0x2f7c                                    |             sym_get_offset_and_duration_from_times ();
    0x000063c0 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x000063c4 beqz v0, 0x6784                               |                 goto label_18;
                                                             |             }
    0x000063c8 lw s5, 0x24(sp)                               |             s5 = *(var_24h);
    0x000063cc lw t9, -0x7ebc(gp)                            |             t9 = sym.imp.g_mutex_lock;
    0x000063d0 move a0, s5                                   |             a0 = s5;
    0x000063d4 jalr t9                                       |             t9 ();
    0x000063d8 lw v0, 8(s5)                                  |             v0 = *((s5 + 2));
    0x000063dc lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 != 0) {
    0x000063e0 bnez v0, 0x6724                               |                 goto label_19;
                                                             |             }
    0x000063e4 lw v0, 0x14(s5)                               |             v0 = *((s5 + 5));
    0x000063e8 lw t9, -0x7e34(gp)                            |             t9 = sym.imp.g_mutex_unlock;
                                                             |             if (v0 == 0) {
    0x000063ec bnel v0, zero, 0x6728                         |                 goto label_20;
                                                             |             }
    0x000063f0 lw v1, 0x24(sp)                               |             v1 = *(var_24h);
    0x000063f4 lw t9, -0x7f48(gp)                            |             t9 = sym.add_job_state_locked;
    0x000063f8 addiu v0, zero, 1                             |             v0 = 1;
    0x000063fc sw v0, 8(v1)                                  |             *((v1 + 2)) = v0;
    0x00006400 move a0, v1                                   |             a0 = v1;
    0x00006404 bal 0x6900                                    |             sym_add_job_state_locked ();
    0x00006408 lw gp, 0x18(sp)                               |             gp = *(var_18h);
    0x0000640c move s6, v0                                   |             s6 = v0;
    0x00006410 lw v0, 0x48(sp)                               |             v0 = *(var_48h);
    0x00006414 lw a1, 8(s0)                                  |             a1 = *((s0 + 2));
    0x00006418 lw t9, -0x7e18(gp)                            |             t9 = sym.imp.g_strdup_printf
                                                             |             if (v0 == 0) {
    0x0000641c beqz v0, 0x68e0                               |                 goto label_21;
                                                             |             }
    0x00006420 lw a0, -0x7fd0(gp)                            |             a0 = sym.imp.g_malloc_n;
    0x00006424 lw a2, 0x48(sp)                               |             a2 = *(var_48h);
    0x00006428 addiu a0, a0, -0x6f1c                         |             a0 += -0x6f1c;
    0x0000642c jalr t9                                       |             t9 ();
    0x00006430 lw gp, 0x18(sp)                               |             gp = *(var_18h);
    0x00006434 move fp, v0                                   |             fp = v0;
                                                             | label_5:
    0x00006438 lw t9, -0x7eac(gp)                            |             t9 = sym.imp.g_malloc0;
    0x0000643c addiu a0, zero, 0x30                          |             a0 = 0x30;
    0x00006440 jalr t9                                       |             t9 ();
    0x00006444 move s5, v0                                   |             s5 = v0;
    0x00006448 lw v0, 0x24(sp)                               |             v0 = *(var_24h);
    0x0000644c lw gp, 0x18(sp)                               |             gp = *(var_18h);
    0x00006450 sw v0, (s5)                                   |             *(s5) = v0;
    0x00006454 lw v0, 0x80(sp)                               |             v0 = *(var_80h);
    0x00006458 lw a1, -0x7fd4(gp)                            |             a1 = *((gp - 8181));
    0x0000645c sw v0, 8(s5)                                  |             *((s5 + 2)) = v0;
    0x00006460 lw v0, 0x84(sp)                               |             v0 = *(var_84h);
    0x00006464 lw a0, -0x7fd0(gp)                            |             a0 = sym.imp.g_malloc_n;
    0x00006468 sw v0, 0xc(s5)                                |             *((s5 + 3)) = v0;
    0x0000646c lw v0, 0x88(sp)                               |             v0 = *(var_88h);
    0x00006470 lw t9, -0x7f44(gp)                            |             t9 = sym.g_thread_try_new_wrapper;
    0x00006474 sw v0, 0x10(s5)                               |             *((s5 + 4)) = v0;
    0x00006478 lw v0, 0x8c(sp)                               |             v0 = *(var_8ch);
    0x0000647c sw s4, 4(s5)                                  |             *((s5 + 1)) = s4;
    0x00006480 sw v0, 0x14(s5)                               |             *((s5 + 5)) = v0;
    0x00006484 lw v0, 0x90(sp)                               |             v0 = *(var_90h);
    0x00006488 sw fp, 0x28(s5)                               |             *((s5 + 10)) = fp;
    0x0000648c sw v0, 0x18(s5)                               |             *((s5 + 6)) = v0;
    0x00006490 lw v0, 0x94(sp)                               |             v0 = *(var_94h);
    0x00006494 sw s6, 0x2c(s5)                               |             *((s5 + 11)) = s6;
    0x00006498 sw v0, 0x1c(s5)                               |             *((s5 + 7)) = v0;
    0x0000649c lw v0, 0x98(sp)                               |             v0 = *(var_98h);
    0x000064a0 move a3, s3                                   |             a3 = s3;
    0x000064a4 sw v0, 0x20(s5)                               |             *((s5 + 8)) = v0;
    0x000064a8 lw v0, 0x9c(sp)                               |             v0 = *(var_9ch);
    0x000064ac move a2, s5                                   |             a2 = s5;
    0x000064b0 sw v0, 0x24(s5)                               |             *((s5 + 9)) = v0;
    0x000064b4 addiu a1, a1, 0x5d38                          |             a1 += 0x5d38;
    0x000064b8 addiu a0, a0, -0x6d98                         |             a0 += -0x6d98;
    0x000064bc bal 0x7000                                    |             sym_g_thread_try_new_wrapper ();
    0x000064c0 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x000064c4 beqz v0, 0x683c                               |                 goto label_22;
                                                             |             }
    0x000064c8 lw v1, 0x24(sp)                               |             v1 = *(var_24h);
    0x000064cc lw t9, -0x7e34(gp)                            |             t9 = sym.imp.g_mutex_unlock;
    0x000064d0 move a0, v1                                   |             a0 = v1;
    0x000064d4 sw v0, 0x18(v1)                               |             *((v1 + 6)) = v0;
    0x000064d8 jalr t9                                       |             t9 ();
    0x000064dc lw gp, 0x18(sp)                               |             gp = *(var_18h);
    0x000064e0 move a1, s6                                   |             a1 = s6;
    0x000064e4 lw a0, -0x7fd0(gp)                            |             a0 = sym.imp.g_malloc_n;
    0x000064e8 lw t9, -0x7e18(gp)                            |             t9 = sym.imp.g_strdup_printf
    0x000064ec addiu a0, a0, -0x6f0c                         |             a0 += -0x6f0c;
    0x000064f0 jalr t9                                       |             t9 ();
    0x000064f4 lw gp, 0x18(sp)                               |             gp = *(var_18h);
    0x000064f8 move a3, s3                                   |             a3 = s3;
    0x000064fc addiu a2, zero, -1                            |             a2 = -1;
    0x00006500 lw t9, -0x7ea8(gp)                            |             t9 = sym.imp.fcgi_helper_write_response;
    0x00006504 move a1, v0                                   |             a1 = v0;
    0x00006508 move a0, s2                                   |             a0 = s2;
    0x0000650c move s4, v0                                   |             s4 = v0;
    0x00006510 jalr t9                                       |             t9 ();
    0x00006514 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 < 0) {
    0x00006518 bltz v0, 0x6828                               |                 goto label_23;
                                                             |             }
                                                             | label_4:
    0x0000651c lw t9, -0x7d84(gp)                            |             t9 = *((gp - 8033));
    0x00006520 move a0, s4                                   |             a0 = s4;
    0x00006524 jalr t9                                       |             t9 ();
    0x00006528 lw gp, 0x18(sp)                               |             gp = *(var_18h);
    0x0000652c b 0x65bc                                      |             goto label_3;
                                                             | label_8:
    0x00006530 lw t9, -0x7dcc(gp)                            |             t9 = sym.imp.g_strcmp0;
    0x00006534 move a1, s6                                   |             a1 = s6;
    0x00006538 move a0, s0                                   |             a0 = s0;
    0x0000653c jalr t9                                       |             t9 ();
    0x00006540 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x00006544 bnez v0, 0x6554                               |                 
    0x00006548 lw v0, 0x60(sp)                               |                 v0 = *(var_60h);
    0x0000654c sw v0, 0x28(sp)                               |                 *(var_28h) = v0;
    0x00006550 b 0x626c                                      |                 goto label_0;
                                                             |             }
    0x00006554 lw v0, 0x34(sp)                               |             v0 = *(var_34h);
    0x00006558 lw t9, -0x7dcc(gp)                            |             t9 = sym.imp.g_strcmp0;
    0x0000655c addiu a1, v0, -0x7660                         |             a1 = v0 + -0x7660;
    0x00006560 move a0, s0                                   |             a0 = s0;
    0x00006564 jalr t9                                       |             t9 ();
    0x00006568 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 == 0) {
    0x0000656c bnez v0, 0x657c                               |                 
    0x00006570 lw v0, 0x60(sp)                               |                 v0 = *(var_60h);
    0x00006574 sw v0, 0x40(sp)                               |                 *(var_40h) = v0;
    0x00006578 b 0x626c                                      |                 goto label_0;
                                                             |             }
    0x0000657c lw t9, -0x7dcc(gp)                            |             t9 = sym.imp.g_strcmp0;
    0x00006580 lw a1, 0x44(sp)                               |             a1 = *(var_44h);
    0x00006584 move a0, s0                                   |             a0 = s0;
    0x00006588 jalr t9                                       |             t9 ();
    0x0000658c lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |             if (v0 != 0) {
    0x00006590 bnez v0, 0x65fc                               |                 goto label_24;
                                                             |             }
    0x00006594 lw v0, 0x60(sp)                               |             v0 = *(var_60h);
    0x00006598 sw v0, 0x2c(sp)                               |             *(var_2ch) = v0;
    0x0000659c b 0x626c                                      |             goto label_0;
                                                             |         }
    0x000065a0 lw t9, -0x7f84(gp)                            |         t9 = sym.send_export_error_xml;
                                                             |     }
                                                             | label_9:
    0x000065a4 addiu a1, zero, 0x14                          |     a1 = 0x14;
                                                             |     do {
                                                             | label_2:
    0x000065a8 move a0, s2                                   |         a0 = s2;
    0x000065ac bal 0x2d14                                    |         sym_send_export_error_xml ();
    0x000065b0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000065b4 move s0, zero                                 |         s0 = 0;
    0x000065b8 addiu s3, sp, 0x54                            |         s3 = sp + 0x54;
                                                             | label_3:
    0x000065bc lw a0, 0x58(sp)                               |         a0 = *(var_58h);
    0x000065c0 lw t9, -0x7d90(gp)                            |         t9 = sym.imp.avio_alloc_context;
                                                             |         if (a0 != 0) {
    0x000065c4 beqz a0, 0x65d4                               |             
    0x000065c8 jalr t9                                       |             t9 ();
    0x000065cc nop                                           |             
    0x000065d0 lw gp, 0x18(sp)                               |             gp = *(var_18h);
                                                             |         }
    0x000065d4 lw t9, -0x7dd4(gp)                            |         t9 = sym.imp.g_clear_error;
    0x000065d8 move a0, s3                                   |         a0 = s3;
    0x000065dc jalr t9                                       |         t9 ();
    0x000065e0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000065e4 lw t9, -0x7e0c(gp)                            |         t9 = sym.imp.storage_info_dispose;
    0x000065e8 move a0, s0                                   |         a0 = s0;
    0x000065ec jalr t9                                       |         t9 ();
    0x000065f0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000065f4 addiu v0, zero, 1                             |         v0 = 1;
    0x000065f8 b 0x61ac                                      |         goto label_1;
                                                             | label_24:
    0x000065fc lw v0, 0x4c(sp)                               |         v0 = *(var_4ch);
    0x00006600 lw t9, -0x7dcc(gp)                            |         t9 = sym.imp.g_strcmp0;
    0x00006604 addiu a1, v0, -0x7654                         |         a1 = v0 + -0x7654;
    0x00006608 move a0, s0                                   |         a0 = s0;
    0x0000660c jalr t9                                       |         t9 ();
    0x00006610 lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |         if (v0 != 0) {
    0x00006614 bnez v0, 0x66a8                               |             goto label_25;
                                                             |         }
    0x00006618 lw v0, 0x60(sp)                               |         v0 = *(var_60h);
    0x0000661c sw v0, 0x30(sp)                               |         *(var_30h) = v0;
    0x00006620 b 0x626c                                      |         goto label_0;
                                                             | label_11:
    0x00006624 lw t9, -0x7f84(gp)                            |         t9 = sym.send_export_error_xml;
    0x00006628 addiu a1, zero, 0xaa                          |         a1 = 0xaa;
    0x0000662c b 0x65a8                                      |         
                                                             |     } while (1);
                                                             | label_10:
    0x00006630 lw t9, -0x7f84(gp)                            |     t9 = sym.send_export_error_xml;
    0x00006634 addiu a1, zero, 0x28                          |     a1 = 0x28;
    0x00006638 b 0x65a8                                      |     goto label_2;
                                                             | label_12:
    0x0000663c lw t9, -0x7f84(gp)                            |     t9 = sym.send_export_error_xml;
    0x00006640 addiu a1, zero, 0xe6                          |     a1 = 0xe6;
    0x00006644 b 0x65a8                                      |     goto label_2;
                                                             | label_13:
    0x00006648 lw t9, -0x7f84(gp)                            |     t9 = sym.send_export_error_xml;
    0x0000664c addiu a1, zero, 0xc8                          |     a1 = 0xc8;
    0x00006650 b 0x65a8                                      |     goto label_2;
                                                             | label_14:
    0x00006654 lw v0, 0x54(sp)                               |     v0 = *(var_54h);
                                                             | label_15:
    0x00006658 lw a3, -0x7fd0(gp)                            |     a3 = sym.imp.g_malloc_n;
                                                             |     if (v0 == 0) {
    0x0000665c beqz v0, 0x671c                               |         goto label_26;
                                                             |     }
    0x00006660 lw v0, 8(v0)                                  |     v0 = *((v0 + 2));
                                                             |     do {
    0x00006664 lw a2, -0x7fd0(gp)                            |         a2 = sym.imp.g_malloc_n;
    0x00006668 sw v0, 0x14(sp)                               |         *(var_14h) = v0;
    0x0000666c lw v0, 0x38(sp)                               |         v0 = *(var_38h);
    0x00006670 lw t9, -0x7f1c(gp)                            |         t9 = sym.imp.g_log;
    0x00006674 addiu a3, a3, -0x7b64                         |         a3 += -0x7b64;
    0x00006678 addiu a2, a2, -0x6f64                         |         a2 += -0x6f64;
    0x0000667c addiu a1, zero, 0x10                          |         a1 = 0x10;
    0x00006680 move a0, zero                                 |         a0 = 0;
    0x00006684 sw v0, 0x10(sp)                               |         *(var_10h) = v0;
    0x00006688 jalr t9                                       |         t9 ();
    0x0000668c lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x00006690 addiu a1, zero, 0xc8                          |         a1 = 0xc8;
    0x00006694 lw t9, -0x7f84(gp)                            |         t9 = sym.send_export_error_xml;
    0x00006698 move a0, s2                                   |         a0 = s2;
    0x0000669c bal 0x2d14                                    |         sym_send_export_error_xml ();
    0x000066a0 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000066a4 b 0x65bc                                      |         goto label_3;
                                                             | label_25:
    0x000066a8 lw a1, -0x7fd0(gp)                            |         a1 = sym.imp.g_malloc_n;
    0x000066ac lw t9, -0x7dcc(gp)                            |         t9 = sym.imp.g_strcmp0;
    0x000066b0 addiu a1, a1, -0x6f90                         |         a1 += -0x6f90;
    0x000066b4 move a0, s0                                   |         a0 = s0;
    0x000066b8 jalr t9                                       |         t9 ();
    0x000066bc lw gp, 0x18(sp)                               |         gp = *(var_18h);
                                                             |         if (v0 != 0) {
    0x000066c0 bnez v0, 0x675c                               |             goto label_27;
                                                             |         }
    0x000066c4 lw v0, 0x60(sp)                               |         v0 = *(var_60h);
    0x000066c8 sw v0, 0x48(sp)                               |         *(var_48h) = v0;
    0x000066cc b 0x626c                                      |         goto label_0;
                                                             | label_16:
    0x000066d0 lw v0, 0xc(s0)                                |         v0 = *((s0 + 3));
    0x000066d4 lw a3, -0x7fd0(gp)                            |         a3 = sym.imp.g_malloc_n;
    0x000066d8 lw a2, -0x7fd0(gp)                            |         a2 = sym.imp.g_malloc_n;
    0x000066dc sw v0, 0x14(sp)                               |         *(var_14h) = v0;
    0x000066e0 lw v0, 0x38(sp)                               |         v0 = *(var_38h);
    0x000066e4 lw t9, -0x7f1c(gp)                            |         t9 = sym.imp.g_log;
    0x000066e8 addiu a3, a3, -0x7b64                         |         a3 += -0x7b64;
    0x000066ec addiu a2, a2, -0x6f40                         |         a2 += -0x6f40;
    0x000066f0 addiu a1, zero, 0x40                          |         a1 = 0x40;
    0x000066f4 move a0, zero                                 |         a0 = 0;
    0x000066f8 sw v0, 0x10(sp)                               |         *(var_10h) = v0;
    0x000066fc jalr t9                                       |         t9 ();
    0x00006700 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x00006704 addiu a1, zero, 0xd2                          |         a1 = 0xd2;
    0x00006708 lw t9, -0x7f84(gp)                            |         t9 = sym.send_export_error_xml;
    0x0000670c move a0, s2                                   |         a0 = s2;
    0x00006710 bal 0x2d14                                    |         sym_send_export_error_xml ();
    0x00006714 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x00006718 b 0x65bc                                      |         goto label_3;
                                                             | label_26:
    0x0000671c addiu v0, a3, -0x7b64                         |         v0 = a3 + -0x7b64;
    0x00006720 b 0x6664                                      |         
                                                             |     } while (1);
                                                             | label_19:
    0x00006724 lw t9, -0x7e34(gp)                            |     t9 = sym.imp.g_mutex_unlock;
                                                             | label_20:
    0x00006728 lw a0, 0x24(sp)                               |     a0 = *(var_24h);
    0x0000672c jalr t9                                       |     t9 ();
    0x00006730 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x00006734 lw t9, -0x7dc0(gp)                            |     t9 = sym.imp.close;
    0x00006738 move a0, s4                                   |     a0 = s4;
    0x0000673c jalr t9                                       |     t9 ();
    0x00006740 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x00006744 addiu a1, zero, 0xdc                          |     a1 = 0xdc;
    0x00006748 lw t9, -0x7f84(gp)                            |     t9 = sym.send_export_error_xml;
    0x0000674c move a0, s2                                   |     a0 = s2;
    0x00006750 bal 0x2d14                                    |     sym_send_export_error_xml ();
    0x00006754 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x00006758 b 0x65bc                                      |     goto label_3;
                                                             | label_27:
    0x0000675c lw a1, -0x7fd0(gp)                            |     a1 = sym.imp.g_malloc_n;
    0x00006760 lw t9, -0x7dcc(gp)                            |     t9 = sym.imp.g_strcmp0;
    0x00006764 addiu a1, a1, -0x6f7c                         |     a1 += -0x6f7c;
    0x00006768 move a0, s0                                   |     a0 = s0;
    0x0000676c jalr t9                                       |     t9 ();
    0x00006770 lw gp, 0x18(sp)                               |     gp = *(var_18h);
                                                             |     if (v0 == 0) {
    0x00006774 bnez v0, 0x67f4                               |         
    0x00006778 lw v0, 0x60(sp)                               |         v0 = *(var_60h);
    0x0000677c sw v0, 0x3c(sp)                               |         *(var_3ch) = v0;
    0x00006780 b 0x626c                                      |         goto label_0;
                                                             | label_18:
    0x00006784 lw t9, -0x7dc0(gp)                            |         t9 = sym.imp.close;
    0x00006788 move a0, s4                                   |         a0 = s4;
    0x0000678c jalr t9                                       |         t9 ();
    0x00006790 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x00006794 lw a1, 0x64(sp)                               |         a1 = *(var_64h);
    0x00006798 lw t9, -0x7f84(gp)                            |         t9 = sym.send_export_error_xml;
    0x0000679c move a0, s2                                   |         a0 = s2;
    0x000067a0 bal 0x2d14                                    |         sym_send_export_error_xml ();
    0x000067a4 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000067a8 b 0x65bc                                      |         goto label_3;
                                                             | label_17:
    0x000067ac lw a3, -0x7fd0(gp)                            |         a3 = sym.imp.g_malloc_n;
    0x000067b0 lw a2, -0x7fd0(gp)                            |         a2 = sym.imp.g_malloc_n;
    0x000067b4 lw v0, 0x3c(sp)                               |         v0 = *(var_3ch);
    0x000067b8 lw t9, -0x7f1c(gp)                            |         t9 = sym.imp.g_log;
    0x000067bc addiu a3, a3, -0x7b64                         |         a3 += -0x7b64;
    0x000067c0 addiu a2, a2, -0x7644                         |         a2 += -0x7644;
    0x000067c4 addiu a1, zero, 0x10                          |         a1 = 0x10;
    0x000067c8 move a0, zero                                 |         a0 = 0;
    0x000067cc sw v0, 0x14(sp)                               |         *(var_14h) = v0;
    0x000067d0 sw s5, 0x10(sp)                               |         *(var_10h) = s5;
    0x000067d4 jalr t9                                       |         t9 ();
    0x000067d8 lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000067dc addiu a1, zero, 0x6e                          |         a1 = 0x6e;
    0x000067e0 lw t9, -0x7f84(gp)                            |         t9 = sym.send_export_error_xml;
    0x000067e4 move a0, s2                                   |         a0 = s2;
    0x000067e8 bal 0x2d14                                    |         sym_send_export_error_xml ();
    0x000067ec lw gp, 0x18(sp)                               |         gp = *(var_18h);
    0x000067f0 b 0x65bc                                      |         goto label_3;
                                                             |     }
    0x000067f4 lw a1, -0x7fd0(gp)                            |     a1 = sym.imp.g_malloc_n;
    0x000067f8 lw t9, -0x7dcc(gp)                            |     t9 = sym.imp.g_strcmp0;
    0x000067fc addiu a1, a1, -0x6f84                         |     a1 += -0x6f84;
    0x00006800 move a0, s0                                   |     a0 = s0;
    0x00006804 jalr t9                                       |     t9 ();
    0x00006808 lw gp, 0x18(sp)                               |     gp = *(var_18h);
                                                             |     if (v0 != 0) {
    0x0000680c bnez v0, 0x626c                               |         goto label_0;
                                                             |     }
    0x00006810 lw v0, 0x60(sp)                               |     v0 = *(var_60h);
    0x00006814 sw v0, 0x38(sp)                               |     *(var_38h) = v0;
    0x00006818 b 0x626c                                      |     goto label_0;
                                                             | label_6:
    0x0000681c lw t9, -0x7e8c(gp)                            |     t9 = sym.imp.__stack_chk_fail;
    0x00006820 jalr t9                                       |     t9 ();
    0x00006824 nop                                           |     
                                                             | label_23:
    0x00006828 lw t9, -0x7dd4(gp)                            |     t9 = sym.imp.g_clear_error;
    0x0000682c move a0, s3                                   |     a0 = s3;
    0x00006830 jalr t9                                       |     t9 ();
    0x00006834 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x00006838 b 0x651c                                      |     goto label_4;
                                                             | label_22:
    0x0000683c lw v0, 0x54(sp)                               |     v0 = *(var_54h);
    0x00006840 lw a3, -0x7fd0(gp)                            |     a3 = sym.imp.g_malloc_n;
    0x00006844 lw a2, -0x7fd0(gp)                            |     a2 = sym.imp.g_malloc_n;
    0x00006848 lw v0, 8(v0)                                  |     v0 = *((v0 + 2));
    0x0000684c lw t9, -0x7f1c(gp)                            |     t9 = sym.imp.g_log;
    0x00006850 addiu a3, a3, -0x7b64                         |     a3 += -0x7b64;
    0x00006854 addiu a2, a2, -0x6dbc                         |     a2 += -0x6dbc;
    0x00006858 sw v0, 0x10(sp)                               |     *(var_10h) = v0;
    0x0000685c addiu a1, zero, 0x10                          |     a1 = 0x10;
    0x00006860 move a0, zero                                 |     a0 = 0;
    0x00006864 jalr t9                                       |     t9 ();
    0x00006868 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x0000686c lw t9, -0x7dc0(gp)                            |     t9 = sym.imp.close;
    0x00006870 lw a0, 4(s5)                                  |     a0 = *((s5 + 1));
    0x00006874 jalr t9                                       |     t9 ();
    0x00006878 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x0000687c lw t9, -0x7d84(gp)                            |     t9 = *((gp - 8033));
    0x00006880 lw a0, 0x28(s5)                               |     a0 = *((s5 + 10));
    0x00006884 jalr t9                                       |     t9 ();
    0x00006888 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x0000688c lw t9, -0x7d84(gp)                            |     t9 = *((gp - 8033));
    0x00006890 move a0, s5                                   |     a0 = s5;
    0x00006894 jalr t9                                       |     t9 ();
    0x00006898 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x0000689c lw s4, 0x24(sp)                               |     s4 = *(var_24h);
    0x000068a0 move a1, s6                                   |     a1 = s6;
    0x000068a4 lw t9, -0x7f40(gp)                            |     t9 = sym.imp.g_strerror;
    0x000068a8 move a0, s4                                   |     a0 = s4;
    0x000068ac bal 0x6a20                                    |     sym_delete_job_state_locked ();
    0x000068b0 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x000068b4 move a0, s4                                   |     a0 = s4;
    0x000068b8 lw t9, -0x7e34(gp)                            |     t9 = sym.imp.g_mutex_unlock;
    0x000068bc sw zero, 8(s4)                                |     *((s4 + 2)) = 0;
    0x000068c0 jalr t9                                       |     t9 ();
    0x000068c4 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x000068c8 addiu a1, zero, 0xa                           |     a1 = 0xa;
    0x000068cc lw t9, -0x7f84(gp)                            |     t9 = sym.send_export_error_xml;
    0x000068d0 move a0, s2                                   |     a0 = s2;
    0x000068d4 bal 0x2d14                                    |     sym_send_export_error_xml ();
    0x000068d8 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x000068dc b 0x65bc                                      |     goto label_3;
                                                             | label_21:
    0x000068e0 lw a0, -0x7fd0(gp)                            |     a0 = sym.imp.g_malloc_n;
    0x000068e4 addiu a0, a0, -0x6f28                         |     a0 += -0x6f28;
    0x000068e8 jalr t9                                       |     t9 ();
    0x000068ec move fp, v0                                   |     fp = v0;
    0x000068f0 lw gp, 0x18(sp)                               |     gp = *(var_18h);
    0x000068f4 b 0x6438                                      |     goto label_5;
                                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/export-recording @ 0x6bf8 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.handle_get_job_status_request ()     | void handle_get_job_status_request () {
    0x00006bf8 lui gp, 2                             |     
    0x00006bfc addiu gp, gp, -0x4be8                 |     
    0x00006c00 addu gp, gp, t9                       |     gp += t9;
    0x00006c04 addiu sp, sp, -0x78                   |     
    0x00006c08 lw t9, -0x7dcc(gp)                    |     t9 = sym.imp.g_strcmp0;
    0x00006c0c sw s1, 0x54(sp)                       |     *(var_54h) = s1;
    0x00006c10 lw s1, -0x7e64(gp)                    |     s1 = *((gp - 8089));
    0x00006c14 sw a1, 0x18(sp)                       |     *(var_18h) = a1;
    0x00006c18 lw a1, -0x7fd0(gp)                    |     a1 = sym.imp.g_malloc_n;
    0x00006c1c lw v0, (s1)                           |     v0 = *(s1);
    0x00006c20 sw s2, 0x58(sp)                       |     *(var_58h) = s2;
    0x00006c24 move s2, a0                           |     s2 = a0;
    0x00006c28 lw a0, (a0)                           |     a0 = *(a0);
    0x00006c2c sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00006c30 sw ra, 0x74(sp)                       |     *(var_74h) = ra;
    0x00006c34 sw fp, 0x70(sp)                       |     *(var_70h) = fp;
    0x00006c38 sw s7, 0x6c(sp)                       |     *(var_6ch) = s7;
    0x00006c3c sw s6, 0x68(sp)                       |     *(var_68h) = s6;
    0x00006c40 sw s5, 0x64(sp)                       |     *(var_64h) = s5;
    0x00006c44 sw s4, 0x60(sp)                       |     *(var_60h) = s4;
    0x00006c48 sw s3, 0x5c(sp)                       |     *(var_5ch) = s3;
    0x00006c4c sw s0, 0x50(sp)                       |     *(var_50h) = s0;
    0x00006c50 addiu a1, a1, -0x77e0                 |     a1 += -0x77e0;
    0x00006c54 sw v0, 0x4c(sp)                       |     *(var_4ch) = v0;
    0x00006c58 sw zero, 0x20(sp)                     |     *(var_20h) = 0;
    0x00006c5c sw zero, 0x24(sp)                     |     *(var_24h) = 0;
    0x00006c60 jalr t9                               |     t9 ();
    0x00006c64 nop                                   |     
    0x00006c68 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00006c6c beqz v0, 0x6cb0                       |     
                                                     |     while (v0 == 0) {
    0x00006c70 move v0, zero                         |         v0 = 0;
                                                     | label_1:
    0x00006c74 lw a0, 0x4c(sp)                       |         a0 = *(var_4ch);
    0x00006c78 lw v1, (s1)                           |         v1 = *(s1);
    0x00006c7c lw ra, 0x74(sp)                       |         ra = *(var_74h);
                                                     |         if (a0 != v1) {
    0x00006c80 bne a0, v1, 0x6f78                    |             goto label_5;
                                                     |         }
    0x00006c84 lw fp, 0x70(sp)                       |         fp = *(var_70h);
    0x00006c88 lw s7, 0x6c(sp)                       |         s7 = *(var_6ch);
    0x00006c8c lw s6, 0x68(sp)                       |         s6 = *(var_68h);
    0x00006c90 lw s5, 0x64(sp)                       |         s5 = *(var_64h);
    0x00006c94 lw s4, 0x60(sp)                       |         s4 = *(var_60h);
    0x00006c98 lw s3, 0x5c(sp)                       |         s3 = *(var_5ch);
    0x00006c9c lw s2, 0x58(sp)                       |         s2 = *(var_58h);
    0x00006ca0 lw s1, 0x54(sp)                       |         s1 = *(var_54h);
    0x00006ca4 lw s0, 0x50(sp)                       |         s0 = *(var_50h);
    0x00006ca8 addiu sp, sp, 0x78                    |         
    0x00006cac jr ra                                 |         return v0;
    0x00006cb0 lw t9, -0x7ea4(gp)                    |         t9 = sym.imp.fcgi_helper_read_request_query_parameters;
    0x00006cb4 addiu a1, sp, 0x24                    |         a1 = sp + 0x24;
    0x00006cb8 move a0, s2                           |         a0 = s2;
    0x00006cbc jalr t9                               |         t9 ();
    0x00006cc0 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00006cc4 beqz v0, 0x6c70                       |         
                                                     |     }
    0x00006cc8 lw t9, -0x7e28(gp)                    |     t9 = sym.imp.g_hash_table_iter_init;
    0x00006ccc addiu s4, sp, 0x34                    |     s4 = sp + 0x34;
    0x00006cd0 lw a1, 0x24(sp)                       |     a1 = *(var_24h);
    0x00006cd4 move a0, s4                           |     a0 = s4;
    0x00006cd8 jalr t9                               |     t9 ();
    0x00006cdc lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00006ce0 sw zero, 0x1c(sp)                     |     *(var_1ch_2) = 0;
    0x00006ce4 move s5, zero                         |     s5 = 0;
    0x00006ce8 lw s3, -0x7fd0(gp)                    |     s3 = sym.imp.g_malloc_n;
    0x00006cec lw s6, -0x7fd0(gp)                    |     s6 = sym.imp.g_malloc_n;
    0x00006cf0 addiu s7, sp, 0x2c                    |     s7 = sp + 0x2c;
    0x00006cf4 addiu fp, sp, 0x28                    |     fp = sp + 0x28;
    0x00006cf8 addiu s3, s3, -0x6d80                 |     s3 += -0x6d80;
    0x00006cfc addiu s6, s6, -0x77dc                 |     s6 += -0x77dc;
                                                     | label_0:
    0x00006d00 lw t9, -0x7e24(gp)                    |     t9 = sym.imp.g_hash_table_iter_next;
    0x00006d04 move a2, s7                           |     a2 = s7;
    0x00006d08 move a1, fp                           |     a1 = fp;
    0x00006d0c move a0, s4                           |     a0 = s4;
    0x00006d10 jalr t9                               |     t9 ();
    0x00006d14 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00006d18 beqz v0, 0x6d58                       |         goto label_6;
                                                     |     }
                                                     |     do {
    0x00006d1c lw s0, 0x28(sp)                       |         s0 = *(var_28h);
    0x00006d20 lw t9, -0x7dcc(gp)                    |         t9 = sym.imp.g_strcmp0;
    0x00006d24 move a1, s3                           |         a1 = s3;
    0x00006d28 move a0, s0                           |         a0 = s0;
    0x00006d2c jalr t9                               |         t9 ();
    0x00006d30 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 != 0) {
    0x00006d34 bnez v0, 0x6e28                       |             goto label_7;
                                                     |         }
    0x00006d38 lw t9, -0x7e24(gp)                    |         t9 = sym.imp.g_hash_table_iter_next;
    0x00006d3c move a2, s7                           |         a2 = s7;
    0x00006d40 move a1, fp                           |         a1 = fp;
    0x00006d44 move a0, s4                           |         a0 = s4;
    0x00006d48 lw s5, 0x2c(sp)                       |         s5 = *(var_2ch);
    0x00006d4c jalr t9                               |         t9 ();
    0x00006d50 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00006d54 bnez v0, 0x6d1c                       |         
                                                     |     } while (v0 != 0);
                                                     | label_6:
    0x00006d58 lw v0, 0x1c(sp)                       |     v0 = *(var_1ch_2);
    0x00006d5c lw t9, -0x7f84(gp)                    |     t9 = sym.send_export_error_xml;
                                                     |     if (v0 == 0) {
    0x00006d60 beqz v0, 0x6e50                       |         goto label_8;
                                                     |     }
    0x00006d64 lw t9, -0x7f88(gp)                    |     t9 = sym.check_schemaversion;
                                                     |     if (s5 == 0) {
    0x00006d68 beqz s5, 0x6e4c                       |         goto label_9;
                                                     |     }
    0x00006d6c lw a0, 0x1c(sp)                       |     a0 = *(var_1ch_2);
    0x00006d70 bal 0x2e38                            |     sym_check_schemaversion ();
    0x00006d74 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00006d78 beqz v0, 0x6e88                       |         goto label_10;
                                                     |     }
    0x00006d7c lw t9, -0x7d94(gp)                    |     t9 = sym.imp.g_ascii_strtoll;
    0x00006d80 addiu a2, zero, 0xa                   |     a2 = 0xa;
    0x00006d84 addiu a1, sp, 0x30                    |     a1 = sp + 0x30;
    0x00006d88 move a0, s5                           |     a0 = s5;
    0x00006d8c sw zero, 0x30(sp)                     |     *(var_30h) = 0;
    0x00006d90 jalr t9                               |     t9 ();
    0x00006d94 move s0, v0                           |     s0 = v0;
    0x00006d98 lw v0, 0x30(sp)                       |     v0 = *(var_30h);
    0x00006d9c lb v0, (v0)                           |     v0 = *(v0);
    0x00006da0 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 != 0) {
    0x00006da4 bnez v0, 0x6e4c                       |         goto label_9;
                                                     |     }
    0x00006da8 sltiu v0, s0, -1                      |     v0 = (s0 < -1) ? 1 : 0;
                                                     |     if (v1 != 0) {
    0x00006dac bnez v1, 0x6e4c                       |         goto label_9;
                                                     |     }
    0x00006db0 lw s3, 0x18(sp)                       |     s3 = *(var_18h);
                                                     |     if (v0 == 0) {
    0x00006db4 beqz v0, 0x6e4c                       |         goto label_9;
                                                     |     }
    0x00006db8 lw t9, -0x7ebc(gp)                    |     t9 = sym.imp.g_mutex_lock;
    0x00006dbc move a0, s3                           |     a0 = s3;
    0x00006dc0 jalr t9                               |     t9 ();
    0x00006dc4 lw v1, 0x10(s3)                       |     v1 = *((s3 + 4));
    0x00006dc8 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v1 == 0) {
    0x00006dcc beqz v1, 0x6e00                       |         goto label_11;
                                                     |     }
    0x00006dd0 lw a1, (v1)                           |     a1 = *(v1);
    0x00006dd4 lw v0, (a1)                           |     v0 = *(a1);
    0x00006dd8 lw v1, 4(v1)                          |     v1 = *((v1 + 1));
                                                     |     if (s0 == v0) {
    0x00006ddc bnel s0, v0, 0x6df8                   |         goto label_12;
                                                     |     }
    0x00006de0 lw t9, -0x7e34(gp)                    |     t9 = sym.imp.g_mutex_unlock;
    0x00006de4 b 0x6ea0                              |     goto label_13;
                                                     |     do {
    0x00006de8 lw a0, (a1)                           |         a0 = *(a1);
    0x00006dec lw t9, -0x7e34(gp)                    |         t9 = sym.imp.g_mutex_unlock;
                                                     |         if (s0 == a0) {
    0x00006df0 beq s0, a0, 0x6ea0                    |             goto label_13;
                                                     |         }
    0x00006df4 lw v1, 4(v1)                          |         v1 = *((v1 + 1));
                                                     | label_12:
    0x00006df8 lw a1, (v1)                           |         a1 = *(v1);
    0x00006dfc bnel v1, zero, 0x6de8                 |         
                                                     |     } while (v1 == 0);
                                                     | label_11:
    0x00006e00 lw t9, -0x7e34(gp)                    |     t9 = sym.imp.g_mutex_unlock;
    0x00006e04 lw a0, 0x18(sp)                       |     a0 = *(var_18h);
    0x00006e08 jalr t9                               |     t9 ();
    0x00006e0c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00006e10 addiu a1, zero, 0xbe                  |     a1 = 0xbe;
    0x00006e14 lw t9, -0x7f84(gp)                    |     t9 = sym.send_export_error_xml;
    0x00006e18 move a0, s2                           |     a0 = s2;
    0x00006e1c bal 0x2d14                            |     sym_send_export_error_xml ();
    0x00006e20 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00006e24 b 0x6e60                              |     goto label_2;
                                                     | label_7:
    0x00006e28 lw t9, -0x7dcc(gp)                    |     t9 = sym.imp.g_strcmp0;
    0x00006e2c move a1, s6                           |     a1 = s6;
    0x00006e30 move a0, s0                           |     a0 = s0;
    0x00006e34 jalr t9                               |     t9 ();
    0x00006e38 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 != 0) {
    0x00006e3c bnez v0, 0x6d00                       |         goto label_0;
                                                     |     }
    0x00006e40 lw v0, 0x2c(sp)                       |     v0 = *(var_2ch);
    0x00006e44 sw v0, 0x1c(sp)                       |     *(var_1ch_2) = v0;
    0x00006e48 b 0x6d00                              |     goto label_0;
                                                     | label_9:
    0x00006e4c lw t9, -0x7f84(gp)                    |     t9 = sym.send_export_error_xml;
                                                     | label_8:
    0x00006e50 addiu a1, zero, 0x14                  |     a1 = 0x14;
    0x00006e54 move a0, s2                           |     a0 = s2;
    0x00006e58 bal 0x2d14                            |     sym_send_export_error_xml ();
    0x00006e5c lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     do {
                                                     | label_2:
    0x00006e60 lw a0, 0x24(sp)                       |         a0 = *(var_24h);
    0x00006e64 lw t9, -0x7d90(gp)                    |         t9 = sym.imp.avio_alloc_context;
                                                     |         if (a0 != 0) {
    0x00006e68 beqz a0, 0x6e80                       |             
    0x00006e6c jalr t9                               |             t9 ();
    0x00006e70 nop                                   |             
    0x00006e74 lw gp, 0x10(sp)                       |             gp = *(var_10h);
    0x00006e78 addiu v0, zero, 1                     |             v0 = 1;
    0x00006e7c b 0x6c74                              |             goto label_1;
                                                     |         }
    0x00006e80 addiu v0, zero, 1                     |         v0 = 1;
    0x00006e84 b 0x6c74                              |         goto label_1;
                                                     | label_10:
    0x00006e88 lw t9, -0x7f84(gp)                    |         t9 = sym.send_export_error_xml;
    0x00006e8c addiu a1, zero, 0x28                  |         a1 = 0x28;
    0x00006e90 move a0, s2                           |         a0 = s2;
    0x00006e94 bal 0x2d14                            |         sym_send_export_error_xml ();
    0x00006e98 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00006e9c b 0x6e60                              |         
                                                     |     } while (1);
                                                     | label_13:
    0x00006ea0 lw s0, 8(a1)                          |     s0 = *((a1 + 2));
    0x00006ea4 lw a0, 0x18(sp)                       |     a0 = *(var_18h);
    0x00006ea8 lw s3, 4(a1)                          |     s3 = *((a1 + 1));
    0x00006eac jalr t9                               |     t9 ();
    0x00006eb0 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (s0 == 0) {
    0x00006eb4 beqz s0, 0x6f2c                       |         goto label_14;
                                                     |     }
    0x00006eb8 addiu v0, zero, 1                     |     v0 = 1;
    0x00006ebc lw a1, -0x7fd0(gp)                    |     a1 = sym.imp.g_malloc_n;
                                                     |     if (s0 == v0) {
    0x00006ec0 beq s0, v0, 0x6f54                    |         goto label_15;
                                                     |     }
    0x00006ec4 lw t9, -0x7f94(gp)                    |     t9 = sym.get_export_error_description;
    0x00006ec8 addiu a0, zero, 0xa                   |     a0 = 0xa;
    0x00006ecc bal 0x2b70                            |     sym_get_export_error_description ();
    0x00006ed0 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00006ed4 move a2, v0                           |     a2 = v0;
    0x00006ed8 addiu a1, zero, 0xa                   |     a1 = 0xa;
    0x00006edc lw a0, -0x7fd0(gp)                    |     a0 = sym.imp.g_malloc_n;
    0x00006ee0 lw t9, -0x7e18(gp)                    |     t9 = sym.imp.g_strdup_printf
    0x00006ee4 addiu a0, a0, -0x6c14                 |     a0 += -0x6c14;
    0x00006ee8 jalr t9                               |     t9 ();
    0x00006eec lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00006ef0 move s0, v0                           |     s0 = v0;
                                                     |     do {
    0x00006ef4 lw t9, -0x7ea8(gp)                    |         t9 = sym.imp.fcgi_helper_write_response;
    0x00006ef8 addiu s3, sp, 0x20                    |         s3 = sp + 0x20;
    0x00006efc move a3, s3                           |         a3 = s3;
    0x00006f00 addiu a2, zero, -1                    |         a2 = -1;
    0x00006f04 move a1, s0                           |         a1 = s0;
    0x00006f08 move a0, s2                           |         a0 = s2;
    0x00006f0c jalr t9                               |         t9 ();
    0x00006f10 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 < 0) {
    0x00006f14 bltz v0, 0x6f64                       |             goto label_16;
                                                     |         }
                                                     | label_4:
    0x00006f18 lw t9, -0x7d84(gp)                    |         t9 = *((gp - 8033));
    0x00006f1c move a0, s0                           |         a0 = s0;
    0x00006f20 jalr t9                               |         t9 ();
    0x00006f24 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00006f28 b 0x6e60                              |         goto label_2;
                                                     | label_14:
    0x00006f2c lw a1, -0x7fd0(gp)                    |         a1 = sym.imp.g_malloc_n;
    0x00006f30 lw t9, -0x7e18(gp)                    |         t9 = sym.imp.g_strdup_printf
    0x00006f34 move a2, s3                           |         a2 = s3;
    0x00006f38 addiu a1, a1, -0x6c20                 |         a1 += -0x6c20;
                                                     | label_3:
    0x00006f3c lw a0, -0x7fd0(gp)                    |         a0 = sym.imp.g_malloc_n;
    0x00006f40 addiu a0, a0, -0x6d70                 |         a0 += -0x6d70;
    0x00006f44 jalr t9                               |         t9 ();
    0x00006f48 move s0, v0                           |         s0 = v0;
    0x00006f4c lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00006f50 b 0x6ef4                              |         
                                                     |     } while (1);
                                                     | label_15:
    0x00006f54 lw t9, -0x7e18(gp)                    |     t9 = sym.imp.g_strdup_printf
    0x00006f58 addiu a2, zero, 0x64                  |     a2 = 0x64;
    0x00006f5c addiu a1, a1, -0x6d78                 |     a1 += -0x6d78;
    0x00006f60 b 0x6f3c                              |     goto label_3;
                                                     | label_16:
    0x00006f64 lw t9, -0x7dd4(gp)                    |     t9 = sym.imp.g_clear_error;
    0x00006f68 move a0, s3                           |     a0 = s3;
    0x00006f6c jalr t9                               |     t9 ();
    0x00006f70 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00006f74 b 0x6f18                              |     goto label_4;
                                                     | label_5:
    0x00006f78 lw t9, -0x7e8c(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x00006f7c jalr t9                               |     t9 ();
    0x00006f80 nop                                   |     
    0x00006f84 nop                                   |     
    0x00006f88 nop                                   |     
    0x00006f8c nop                                   |     
    0x00006f90 lui gp, 2                             |     
    0x00006f94 addiu gp, gp, -0x4f80                 |     
    0x00006f98 addu gp, gp, t9                       |     gp += t9;
    0x00006f9c lw t9, -0x7da4(gp)                    |     t9 = sym.imp.g_main_loop_quit;
                                                     |     if (a0 != 0) {
    0x00006fa0 beqz a0, 0x6fc8                       |         
    0x00006fa4 addiu sp, sp, -0x20                   |         
    0x00006fa8 sw ra, 0x1c(sp)                       |         *(var_1ch) = ra;
    0x00006fac sw gp, 0x10(sp)                       |         *(var_10h_2) = gp;
    0x00006fb0 jalr t9                               |         t9 ();
    0x00006fb4 nop                                   |         
    0x00006fb8 lw ra, 0x1c(sp)                       |         ra = *(var_1ch);
    0x00006fbc move v0, zero                         |         v0 = 0;
    0x00006fc0 addiu sp, sp, 0x20                    |         
    0x00006fc4 jr ra                                 |         return v0;
                                                     |     }
    0x00006fc8 move v0, zero                         |     v0 = 0;
    0x00006fcc jr ra                                 |     return v0;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/export-recording @ 0x3560 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.open_file_of_iterator ()     | void open_file_of_iterator () {
    0x00003560 lui gp, 2                     |     
    0x00003564 addiu gp, gp, -0x1550         |     
    0x00003568 addu gp, gp, t9               |     gp += t9;
    0x0000356c addiu sp, sp, -0x38           |     
    0x00003570 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00003574 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00003578 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x0000357c sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00003580 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00003584 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00003588 lw v0, -0x7fd0(gp)            |     v0 = sym.imp.g_malloc_n;
                                             |     if (a1 == 0) {
    0x0000358c beqz a1, 0x3658               |         goto label_1;
                                             |     }
    0x00003590 move s1, a2                   |     s1 = a2;
                                             |     if (a2 == 0) {
    0x00003594 beqz a2, 0x3680               |         goto label_2;
                                             |     }
    0x00003598 lw t9, -0x7e80(gp)            |     t9 = sym.imp.av_dict_copy;
    0x0000359c move a2, a3                   |     a2 = a3;
    0x000035a0 move s0, a0                   |     s0 = a0;
    0x000035a4 jalr t9                       |     t9 ();
    0x000035a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000035ac move a0, s0                   |     a0 = s0;
    0x000035b0 move a1, v0                   |     a1 = v0;
    0x000035b4 lw t9, -0x7e74(gp)            |     t9 = sym.imp.rec_indexer_get_recording_block_filename;
    0x000035b8 move s2, v0                   |     s2 = v0;
    0x000035bc jalr t9                       |     t9 ();
    0x000035c0 move s0, v0                   |     s0 = v0;
    0x000035c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000035c8 beqz v0, 0x36ac               |         goto label_3;
                                             |     }
    0x000035cc lw a0, -0x7fd0(gp)            |     a0 = sym.imp.g_malloc_n;
    0x000035d0 lw t9, -0x7e18(gp)            |     t9 = sym.imp.g_strdup_printf
    0x000035d4 move a1, v0                   |     a1 = v0;
    0x000035d8 addiu a0, a0, -0x7a50         |     a0 += -0x7a50;
    0x000035dc jalr t9                       |     t9 ();
    0x000035e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000035e4 move a3, zero                 |     a3 = 0;
    0x000035e8 move a2, zero                 |     a2 = 0;
    0x000035ec lw t9, -0x7ef8(gp)            |     t9 = sym.imp.avformat_open_input;
    0x000035f0 move a1, v0                   |     a1 = v0;
    0x000035f4 move a0, s1                   |     a0 = s1;
    0x000035f8 move s3, v0                   |     s3 = v0;
    0x000035fc jalr t9                       |     t9 ();
    0x00003600 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00003604 bltz v0, 0x36b8               |         goto label_4;
                                             |     }
    0x00003608 addiu s1, zero, 1             |     s1 = 1;
                                             |     do {
                                             | label_0:
    0x0000360c lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x00003610 move a0, s2                   |         a0 = s2;
    0x00003614 jalr t9                       |         t9 ();
    0x00003618 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000361c lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x00003620 move a0, s0                   |         a0 = s0;
    0x00003624 jalr t9                       |         t9 ();
    0x00003628 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000362c lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x00003630 move a0, s3                   |         a0 = s3;
    0x00003634 jalr t9                       |         t9 ();
    0x00003638 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x0000363c move v0, s1                   |         v0 = s1;
    0x00003640 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00003644 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00003648 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x0000364c lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00003650 addiu sp, sp, 0x38            |         
    0x00003654 jr ra                         |         return v0;
                                             | label_1:
    0x00003658 lw a3, -0x7fd0(gp)            |         a3 = sym.imp.g_malloc_n;
    0x0000365c lw a1, -0x7fd0(gp)            |         a1 = sym.imp.g_malloc_n;
    0x00003660 addiu v0, v0, -0x7a60         |         v0 += -sym.imp.__errno_location;
    0x00003664 lw t9, -0x7e08(gp)            |         t9 = sym.imp.g_assertion_message_expr;
    0x00003668 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000366c addiu a3, a3, -0x7840         |         a3 += -0x7840;
    0x00003670 addiu a2, zero, 0x1b6         |         a2 = 0x1b6;
    0x00003674 addiu a1, a1, -0x7cec         |         a1 += -0x7cec;
    0x00003678 move a0, zero                 |         a0 = 0;
    0x0000367c jalr t9                       |         t9 ();
                                             | label_2:
    0x00003680 lw v0, -0x7fd0(gp)            |         v0 = sym.imp.g_malloc_n;
    0x00003684 lw a3, -0x7fd0(gp)            |         a3 = sym.imp.g_malloc_n;
    0x00003688 lw a1, -0x7fd0(gp)            |         a1 = sym.imp.g_malloc_n;
    0x0000368c addiu v0, v0, -0x7a54         |         v0 += -sym.__libc_csu_fini;
    0x00003690 lw t9, -0x7e08(gp)            |         t9 = sym.imp.g_assertion_message_expr;
    0x00003694 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00003698 addiu a3, a3, -0x7840         |         a3 += -0x7840;
    0x0000369c addiu a2, zero, 0x1b7         |         a2 = 0x1b7;
    0x000036a0 addiu a1, a1, -0x7cec         |         a1 += -0x7cec;
    0x000036a4 move a0, zero                 |         a0 = 0;
    0x000036a8 jalr t9                       |         t9 ();
                                             | label_3:
    0x000036ac move s3, zero                 |         s3 = 0;
    0x000036b0 move s1, zero                 |         s1 = 0;
    0x000036b4 b 0x360c                      |         
                                             |     } while (1);
                                             | label_4:
    0x000036b8 lw a3, -0x7fd0(gp)            |     a3 = sym.imp.g_malloc_n;
    0x000036bc lw a2, -0x7fd0(gp)            |     a2 = sym.imp.g_malloc_n;
    0x000036c0 lw t9, -0x7f1c(gp)            |     t9 = sym.imp.g_log;
    0x000036c4 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x000036c8 addiu a3, a3, -0x7b64         |     a3 += -0x7b64;
    0x000036cc addiu a2, a2, -0x7a40         |     a2 += -0x7a40;
    0x000036d0 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x000036d4 move a0, zero                 |     a0 = 0;
    0x000036d8 jalr t9                       |     t9 ();
    0x000036dc move s1, zero                 |     s1 = 0;
    0x000036e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000036e4 b 0x360c                      |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/export-recording @ 0x2d14 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.send_export_error_xml ()     | void send_export_error_xml () {
    0x00002d14 lui gp, 2                     |     
    0x00002d18 addiu gp, gp, -0xd04          |     
    0x00002d1c addu gp, gp, t9               |     gp += t9;
    0x00002d20 addiu sp, sp, -0x40           |     
    0x00002d24 lw t9, -0x7f94(gp)            |     t9 = sym.get_export_error_description;
    0x00002d28 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x00002d2c lw s0, -0x7e64(gp)            |     s0 = *((gp - 8089));
    0x00002d30 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00002d34 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00002d38 lw v0, (s0)                   |     v0 = *(s0);
    0x00002d3c sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x00002d40 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x00002d44 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x00002d48 move s3, a0                   |     s3 = a0;
    0x00002d4c sw a1, 0x44(sp)               |     *(arg_44h) = a1;
    0x00002d50 move a0, a1                   |     a0 = a1;
    0x00002d54 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00002d58 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00002d5c addiu s2, sp, 0x20            |     s2 = sp + 0x20;
    0x00002d60 bal 0x2b70                    |     sym_get_export_error_description ();
    0x00002d64 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00002d68 lw a1, 0x44(sp)               |     a1 = *(arg_44h);
    0x00002d6c move a2, v0                   |     a2 = v0;
    0x00002d70 lw a0, -0x7fd0(gp)            |     a0 = sym.imp.g_malloc_n;
    0x00002d74 lw t9, -0x7e18(gp)            |     t9 = sym.imp.g_strdup_printf
    0x00002d78 addiu a0, a0, -0x7cd4         |     a0 += -0x7cd4;
    0x00002d7c jalr t9                       |     t9 ();
    0x00002d80 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00002d84 move a3, s2                   |     a3 = s2;
    0x00002d88 lw t9, -0x7ea8(gp)            |     t9 = sym.imp.fcgi_helper_write_response;
    0x00002d8c addiu a2, zero, -1            |     a2 = -1;
    0x00002d90 move a1, v0                   |     a1 = v0;
    0x00002d94 move a0, s3                   |     a0 = s3;
    0x00002d98 move s1, v0                   |     s1 = v0;
    0x00002d9c jalr t9                       |     t9 ();
    0x00002da0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00002da4 bltz v0, 0x2de0               |     
                                             |     while (1) {
    0x00002da8 lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x00002dac move a0, s1                   |         a0 = s1;
    0x00002db0 jalr t9                       |         t9 ();
    0x00002db4 lw v1, 0x24(sp)               |         v1 = *(var_24h);
    0x00002db8 lw v0, (s0)                   |         v0 = *(s0);
    0x00002dbc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v1 != v0) {
    0x00002dc0 bne v1, v0, 0x2e2c            |             goto label_0;
                                             |         }
    0x00002dc4 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x00002dc8 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x00002dcc lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x00002dd0 lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x00002dd4 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x00002dd8 addiu sp, sp, 0x40            |         
    0x00002ddc jr ra                         |         return v0;
    0x00002de0 lw v0, 0x20(sp)               |         v0 = *(var_20h);
    0x00002de4 lw a3, -0x7fd0(gp)            |         a3 = sym.imp.g_malloc_n;
    0x00002de8 lw a2, -0x7fd0(gp)            |         a2 = sym.imp.g_malloc_n;
    0x00002dec lw v1, 4(v0)                  |         v1 = *((v0 + 1));
    0x00002df0 lw t9, -0x7f1c(gp)            |         t9 = sym.imp.g_log;
    0x00002df4 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00002df8 lw v0, 8(v0)                  |         v0 = *((v0 + 2));
    0x00002dfc addiu a3, a3, -0x7b64         |         a3 += -0x7b64;
    0x00002e00 addiu a2, a2, -0x7b6c         |         a2 += -0x7b6c;
    0x00002e04 addiu a1, zero, 0x10          |         a1 = 0x10;
    0x00002e08 move a0, zero                 |         a0 = 0;
    0x00002e0c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00002e10 jalr t9                       |         t9 ();
    0x00002e14 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00002e18 lw t9, -0x7dd4(gp)            |         t9 = sym.imp.g_clear_error;
    0x00002e1c move a0, s2                   |         a0 = s2;
    0x00002e20 jalr t9                       |         t9 ();
    0x00002e24 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00002e28 b 0x2da8                      |         
                                             |     }
                                             | label_0:
    0x00002e2c lw t9, -0x7e8c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00002e30 jalr t9                       |     t9 ();
    0x00002e34 nop                           |     
                                             | }

[*] Function printf used 11 times export-recording