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