[*] Binary protection state of actionengined

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


[*] Function system tear down of actionengined

    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x1186c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.action_configuration_delete ()       | void action_configuration_delete () {
    0x0001186c lui gp, 3                             |     
    0x00011870 addiu gp, gp, 0x28d4                  |     
    0x00011874 addu gp, gp, t9                       |     gp += t9;
    0x00011878 addiu sp, sp, -0x48                   |     
    0x0001187c lw t9, -0x7e9c(gp)                    |     t9 = sym.create_file_path;
    0x00011880 sw s1, 0x30(sp)                       |     *(var_30h) = s1;
    0x00011884 lw s1, -0x7b1c(gp)                    |     s1 = *((gp - 7879));
    0x00011888 sw s3, 0x38(sp)                       |     *(var_38h) = s3;
    0x0001188c lw s3, -0x7fd8(gp)                    |     s3 = *(gp);
    0x00011890 lw v0, (s1)                           |     v0 = *(s1);
    0x00011894 sw s4, 0x3c(sp)                       |     *(var_3ch) = s4;
    0x00011898 sw s2, 0x34(sp)                       |     *(var_34h) = s2;
    0x0001189c sw s0, 0x2c(sp)                       |     *(var_2ch) = s0;
    0x000118a0 move s2, a1                           |     s2 = a1;
    0x000118a4 move s0, a0                           |     s0 = a0;
    0x000118a8 lw a1, 0xc(a0)                        |     a1 = *((a0 + 3));
    0x000118ac addiu s4, sp, 0x20                    |     s4 = sp + 0x20;
    0x000118b0 lw a0, 0x10(a0)                       |     a0 = *((a0 + 4));
    0x000118b4 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x000118b8 sw ra, 0x44(sp)                       |     *(var_44h) = ra;
    0x000118bc sw s5, 0x40(sp)                       |     *(var_40h) = s5;
    0x000118c0 sw s2, 0x14(sp)                       |     *(var_14h) = s2;
    0x000118c4 sw s4, 0x10(sp)                       |     *(var_10h) = s4;
    0x000118c8 move a3, zero                         |     a3 = 0;
                                                     |     /* str.conf */
    0x000118cc addiu a2, s3, 0x6ec4                  |     a2 = s3 + 0x6ec4;
    0x000118d0 sw v0, 0x24(sp)                       |     *(var_24h) = v0;
    0x000118d4 sw zero, 0x20(sp)                     |     *(var_20h) = 0;
    0x000118d8 bal 0x11b54                           |     sym_create_file_path ();
    0x000118dc nop                                   |     
    0x000118e0 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000118e4 bnez v0, 0x11930                      |     
                                                     |     while (v0 == 0) {
    0x000118e8 move s0, zero                         |         s0 = 0;
                                                     | label_0:
    0x000118ec lw t9, -0x7864(gp)                    |         t9 = *((gp - 7705));
    0x000118f0 lw a0, 0x20(sp)                       |         a0 = *(var_20h);
    0x000118f4 jalr t9                               |         t9 ();
    0x000118f8 lw a0, 0x24(sp)                       |         a0 = *(var_24h);
    0x000118fc lw v1, (s1)                           |         v1 = *(s1);
    0x00011900 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00011904 move v0, s0                           |         v0 = s0;
                                                     |         if (a0 != v1) {
    0x00011908 bne a0, v1, 0x119fc                   |             goto label_1;
                                                     |         }
    0x0001190c lw ra, 0x44(sp)                       |         ra = *(var_44h);
    0x00011910 lw s5, 0x40(sp)                       |         s5 = *(var_40h);
    0x00011914 lw s4, 0x3c(sp)                       |         s4 = *(var_3ch);
    0x00011918 lw s3, 0x38(sp)                       |         s3 = *(var_38h);
    0x0001191c lw s2, 0x34(sp)                       |         s2 = *(var_34h);
    0x00011920 lw s1, 0x30(sp)                       |         s1 = *(var_30h);
    0x00011924 lw s0, 0x2c(sp)                       |         s0 = *(var_2ch);
    0x00011928 addiu sp, sp, 0x48                    |         
    0x0001192c jr ra                                 |         return v1;
    0x00011930 lw t9, -0x7b7c(gp)                    |         t9 = sym.imp.remove;
    0x00011934 lw a0, 0x20(sp)                       |         a0 = *(var_20h);
    0x00011938 jalr t9                               |         t9 ();
    0x0001193c lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 == 0) {
    0x00011940 beqz v0, 0x119ac                      |             goto label_2;
                                                     |         }
    0x00011944 lw t9, -0x7ae8(gp)                    |         t9 = sym.imp.g_ascii_strtoull;
    0x00011948 lw a0, 0x10(s0)                       |         a0 = *((s0 + 4));
    0x0001194c addiu a2, zero, 0xa                   |         a2 = 0xa;
    0x00011950 move a1, zero                         |         a1 = 0;
    0x00011954 jalr t9                               |         t9 ();
    0x00011958 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0001195c lw a0, 0x20(sp)                       |         a0 = *(var_20h);
    0x00011960 lw t9, -0x7864(gp)                    |         t9 = *((gp - 7705));
    0x00011964 move s5, v0                           |         s5 = v0;
    0x00011968 jalr t9                               |         t9 ();
    0x0001196c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00011970 lw a1, 0xc(s0)                        |         a1 = *((s0 + 3));
    0x00011974 move a3, zero                         |         a3 = 0;
    0x00011978 lw t9, -0x7e38(gp)                    |         t9 = sym.create_file_path_uint;
    0x0001197c sw s2, 0x14(sp)                       |         *(var_14h) = s2;
    0x00011980 sw s4, 0x10(sp)                       |         *(var_10h) = s4;
                                                     |         /* str.conf */
    0x00011984 addiu a2, s3, 0x6ec4                  |         a2 = s3 + 0x6ec4;
    0x00011988 move a0, s5                           |         a0 = s5;
    0x0001198c bal 0x11d48                           |         sym_create_file_path_uint ();
    0x00011990 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00011994 beqz v0, 0x118e8                      |         
                                                     |     }
    0x00011998 lw t9, -0x7b7c(gp)                    |     t9 = sym.imp.remove;
    0x0001199c lw a0, 0x20(sp)                       |     a0 = *(var_20h);
    0x000119a0 jalr t9                               |     t9 ();
    0x000119a4 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x000119a8 bnez v0, 0x119c0                      |         
                                                     | label_2:
    0x000119ac lw t9, -0x7e48(gp)                    |         t9 = sym.sync_filesystem
    0x000119b0 addiu s0, zero, 1                     |         s0 = 1;
    0x000119b4 bal 0x11a20                           |         sym_sync_filesystem ()
    0x000119b8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x000119bc b 0x118ec                             |         goto label_0;
                                                     |     }
    0x000119c0 lw t9, -0x7c14(gp)                    |     t9 = sym.imp.ae_error_quark;
    0x000119c4 move s0, zero                         |     s0 = 0;
    0x000119c8 jalr t9                               |     t9 ();
    0x000119cc lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000119d0 lw v1, 0x20(sp)                       |     v1 = *(var_20h);
    0x000119d4 addiu a2, zero, 1                     |     a2 = 1;
    0x000119d8 lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x000119dc lw t9, -0x7b10(gp)                    |     t9 = sym.imp.g_set_error;
    0x000119e0 sw v1, 0x10(sp)                       |     *(var_10h) = v1;
                                                     |     /* str.Acion_configuration_file_could_not_be_deleted:__s */
    0x000119e4 addiu a3, a3, 0x6fa4                  |     a3 += 0x6fa4;
    0x000119e8 move a1, v0                           |     a1 = v0;
    0x000119ec move a0, s2                           |     a0 = s2;
    0x000119f0 jalr t9                               |     t9 ();
    0x000119f4 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000119f8 b 0x118ec                             |     goto label_0;
                                                     | label_1:
    0x000119fc lw t9, -0x7ba8(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x00011a00 jalr t9                               |     t9 ();
    0x00011a04 nop                                   |     
                                                     | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x10c74 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.action_configuration_serialize_to_data ()        | void action_configuration_serialize_to_data () {
    0x00010c74 lui gp, 3                                         |     
    0x00010c78 addiu gp, gp, 0x34cc                              |     
    0x00010c7c addu gp, gp, t9                                   |     gp += t9;
    0x00010c80 addiu sp, sp, -0x70                               |     
    0x00010c84 lw t9, -0x7924(gp)                                |     t9 = sym.imp.g_key_file_new;
    0x00010c88 sw s2, 0x50(sp)                                   |     *(var_50h) = s2;
    0x00010c8c lw s2, -0x7b1c(gp)                                |     s2 = *((gp - 7879));
    0x00010c90 sw gp, 0x18(sp)                                   |     *(var_18h) = gp;
    0x00010c94 sw s6, 0x60(sp)                                   |     *(var_60h) = s6;
    0x00010c98 lw v0, (s2)                                       |     v0 = *(s2);
    0x00010c9c sw s5, 0x5c(sp)                                   |     *(var_5ch) = s5;
    0x00010ca0 sw s4, 0x58(sp)                                   |     *(var_58h) = s4;
    0x00010ca4 sw s1, 0x4c(sp)                                   |     *(var_4ch) = s1;
    0x00010ca8 sw s0, 0x48(sp)                                   |     *(var_48h) = s0;
    0x00010cac sw ra, 0x6c(sp)                                   |     *(var_6ch) = ra;
    0x00010cb0 sw fp, 0x68(sp)                                   |     *(var_68h) = fp;
    0x00010cb4 sw s7, 0x64(sp)                                   |     *(var_64h) = s7;
    0x00010cb8 sw s3, 0x54(sp)                                   |     *(var_54h) = s3;
    0x00010cbc sw v0, 0x44(sp)                                   |     *(var_44h) = v0;
    0x00010cc0 sw zero, 0x20(sp)                                 |     *(var_20h) = 0;
    0x00010cc4 sw zero, 0x24(sp)                                 |     *(var_24h) = 0;
    0x00010cc8 move s1, a0                                       |     s1 = a0;
    0x00010ccc move s6, a1                                       |     s6 = a1;
    0x00010cd0 move s5, a2                                       |     s5 = a2;
    0x00010cd4 move s4, a3                                       |     s4 = a3;
    0x00010cd8 jalr t9                                           |     t9 ();
    0x00010cdc move s0, v0                                       |     s0 = v0;
    0x00010ce0 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
                                                                 |     if (v0 == 0) {
    0x00010ce4 beqz v0, 0x10e9c                                  |         goto label_2;
                                                                 |     }
    0x00010ce8 lw a3, -0x7fd8(gp)                                |     a3 = *(gp);
    0x00010cec lw t9, -0x7c0c(gp)                                |     t9 = sym.imp.g_key_file_set_comment;
    0x00010cf0 sw s4, 0x10(sp)                                   |     *(var_10h) = s4;
                                                                 |     /* str.This_file_has_been_automatically_generated__DO_NOT_EDIT */
    0x00010cf4 addiu a3, a3, 0x6e54                              |     a3 += 0x6e54;
    0x00010cf8 move a2, zero                                     |     a2 = 0;
    0x00010cfc move a1, zero                                     |     a1 = 0;
    0x00010d00 move a0, v0                                       |     a0 = v0;
    0x00010d04 jalr t9                                           |     t9 ();
    0x00010d08 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
                                                                 |     if (v0 == 0) {
    0x00010d0c bnez v0, 0x10d78                                  |         
    0x00010d10 move s3, zero                                     |         s3 = 0;
    0x00010d14 move s1, zero                                     |         s1 = 0;
                                                                 | label_0:
    0x00010d18 lw t9, -0x7c4c(gp)                                |         t9 = sym.imp.g_key_file_free;
    0x00010d1c move a0, s0                                       |         a0 = s0;
    0x00010d20 jalr t9                                           |         t9 ();
    0x00010d24 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00010d28 lw t9, -0x7864(gp)                                |         t9 = *((gp - 7705));
    0x00010d2c move a0, s3                                       |         a0 = s3;
    0x00010d30 jalr t9                                           |         t9 ();
    0x00010d34 lw a0, 0x44(sp)                                   |         a0 = *(var_44h);
    0x00010d38 lw v1, (s2)                                       |         v1 = *(s2);
    0x00010d3c lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00010d40 move v0, s1                                       |         v0 = s1;
                                                                 |         if (a0 != v1) {
    0x00010d44 bne a0, v1, 0x10f0c                               |             goto label_3;
                                                                 |         }
    0x00010d48 lw ra, 0x6c(sp)                                   |         ra = *(var_6ch);
    0x00010d4c lw fp, 0x68(sp)                                   |         fp = *(var_68h);
    0x00010d50 lw s7, 0x64(sp)                                   |         s7 = *(var_64h);
    0x00010d54 lw s6, 0x60(sp)                                   |         s6 = *(var_60h);
    0x00010d58 lw s5, 0x5c(sp)                                   |         s5 = *(var_5ch);
    0x00010d5c lw s4, 0x58(sp)                                   |         s4 = *(var_58h);
    0x00010d60 lw s3, 0x54(sp)                                   |         s3 = *(var_54h);
    0x00010d64 lw s2, 0x50(sp)                                   |         s2 = *(var_50h);
    0x00010d68 lw s1, 0x4c(sp)                                   |         s1 = *(var_4ch);
    0x00010d6c lw s0, 0x48(sp)                                   |         s0 = *(var_48h);
    0x00010d70 addiu sp, sp, 0x70                                |         
    0x00010d74 jr ra                                             |         return v0;
                                                                 |     }
    0x00010d78 lw s3, -0x7fd8(gp)                                |     s3 = *(gp);
    0x00010d7c lw a2, -0x7fd8(gp)                                |     a2 = *(gp);
    0x00010d80 lw t9, -0x7950(gp)                                |     t9 = sym.imp.g_key_file_set_string;
    0x00010d84 lw a3, 0x10(s1)                                   |     a3 = *((s1 + 4));
                                                                 |     /* esilref: 'id' */
    0x00010d88 addiu a2, a2, 0x5218                              |     a2 += 0x5218;
                                                                 |     /* str.action_configuration */
    0x00010d8c addiu a1, s3, 0x6e8c                              |     a1 = s3 + 0x6e8c;
    0x00010d90 move a0, s0                                       |     a0 = s0;
    0x00010d94 jalr t9                                           |     t9 ();
    0x00010d98 lw a3, 0x14(s1)                                   |     a3 = *((s1 + 5));
    0x00010d9c lw gp, 0x18(sp)                                   |     gp = *(var_18h);
                                                                 |     if (a3 == 0) {
    0x00010da0 beqz a3, 0x10eec                                  |         goto label_4;
                                                                 |     }
                                                                 | label_1:
    0x00010da4 lw a2, -0x7fd8(gp)                                |     a2 = *(gp);
    0x00010da8 lw t9, -0x7950(gp)                                |     t9 = sym.imp.g_key_file_set_string;
                                                                 |     /* str.nice_name */
    0x00010dac addiu a2, a2, 0x6ea4                              |     a2 += 0x6ea4;
                                                                 |     /* str.action_configuration */
    0x00010db0 addiu a1, s3, 0x6e8c                              |     a1 = s3 + 0x6e8c;
    0x00010db4 move a0, s0                                       |     a0 = s0;
    0x00010db8 jalr t9                                           |     t9 ();
    0x00010dbc lw gp, 0x18(sp)                                   |     gp = *(var_18h);
    0x00010dc0 lw t9, -0x7f70(gp)                                |     t9 = sym.action_template_get_id;
    0x00010dc4 lw a0, 0x18(s1)                                   |     a0 = *((s1 + 6));
    0x00010dc8 bal 0xd000                                        |     sym_action_template_get_id ();
    0x00010dcc lw gp, 0x18(sp)                                   |     gp = *(var_18h);
                                                                 |     /* str.action_configuration */
    0x00010dd0 addiu a1, s3, 0x6e8c                              |     a1 = s3 + 0x6e8c;
    0x00010dd4 move a3, v0                                       |     a3 = v0;
    0x00010dd8 lw a2, -0x7fd8(gp)                                |     a2 = *(gp);
    0x00010ddc lw t9, -0x7950(gp)                                |     t9 = sym.imp.g_key_file_set_string;
                                                                 |     /* str.action_template_id */
    0x00010de0 addiu a2, a2, 0x6eb0                              |     a2 += 0x6eb0;
    0x00010de4 move a0, s0                                       |     a0 = s0;
    0x00010de8 jalr t9                                           |     t9 ();
    0x00010dec lw a1, 0x1c(s1)                                   |     a1 = *((s1 + 7));
    0x00010df0 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
                                                                 |     if (a1 == 0) {
    0x00010df4 beqz a1, 0x10e58                                  |         goto label_5;
                                                                 |     }
    0x00010df8 lw t9, -0x7a78(gp)                                |     t9 = sym.imp.g_hash_table_iter_init;
    0x00010dfc addiu s3, sp, 0x2c                                |     s3 = sp + 0x2c;
    0x00010e00 move a0, s3                                       |     a0 = s3;
    0x00010e04 jalr t9                                           |     t9 ();
    0x00010e08 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
    0x00010e0c addiu fp, sp, 0x24                                |     fp = sp + 0x24;
    0x00010e10 addiu s7, sp, 0x20                                |     s7 = sp + 0x20;
    0x00010e14 lw s1, -0x7fd8(gp)                                |     s1 = *(gp);
                                                                 |     /* str.parameters */
    0x00010e18 addiu s1, s1, 0x63cc                              |     s1 += 0x63cc;
    0x00010e1c b 0x10e3c                                         |     
                                                                 |     while (v0 != 0) {
    0x00010e20 lw t9, -0x7950(gp)                                |         t9 = sym.imp.g_key_file_set_string;
    0x00010e24 lw a3, 0x24(sp)                                   |         a3 = *(var_24h);
    0x00010e28 lw a2, 0x20(sp)                                   |         a2 = *(var_20h);
    0x00010e2c move a1, s1                                       |         a1 = s1;
    0x00010e30 move a0, s0                                       |         a0 = s0;
    0x00010e34 jalr t9                                           |         t9 ();
    0x00010e38 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00010e3c lw t9, -0x7a74(gp)                                |         t9 = sym.imp.g_hash_table_iter_next;
    0x00010e40 move a2, fp                                       |         a2 = fp;
    0x00010e44 move a1, s7                                       |         a1 = s7;
    0x00010e48 move a0, s3                                       |         a0 = s3;
    0x00010e4c jalr t9                                           |         t9 ();
    0x00010e50 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00010e54 bnez v0, 0x10e20                                  |         
                                                                 |     }
                                                                 | label_5:
    0x00010e58 lw t9, -0x7aac(gp)                                |     t9 = sym.imp.g_key_file_to_data;
    0x00010e5c move a2, s4                                       |     a2 = s4;
    0x00010e60 addiu a1, sp, 0x28                                |     a1 = sp + 0x28;
    0x00010e64 move a0, s0                                       |     a0 = s0;
    0x00010e68 jalr t9                                           |     t9 ();
    0x00010e6c move s3, v0                                       |     s3 = v0;
    0x00010e70 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
                                                                 |     if (v0 != 0) {
    0x00010e74 beqz v0, 0x10ee4                                  |         
    0x00010e78 lw t9, -0x792c(gp)                                |         t9 = sym.imp.g_strdup;
    0x00010e7c move a0, v0                                       |         a0 = v0;
    0x00010e80 jalr t9                                           |         t9 ();
    0x00010e84 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00010e88 sw v0, (s6)                                       |         *(s6) = v0;
    0x00010e8c lw v0, 0x28(sp)                                   |         v0 = *(var_28h_3);
    0x00010e90 addiu s1, zero, 1                                 |         s1 = 1;
    0x00010e94 sw v0, (s5)                                       |         *(s5) = v0;
    0x00010e98 b 0x10d18                                         |         goto label_0;
                                                                 | label_2:
    0x00010e9c lw t9, -0x7c14(gp)                                |         t9 = sym.imp.ae_error_quark;
    0x00010ea0 move s3, zero                                     |         s3 = 0;
    0x00010ea4 jalr t9                                           |         t9 ();
    0x00010ea8 lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00010eac lw a0, 0xc(s1)                                    |         a0 = *((s1 + 3));
    0x00010eb0 lw v1, 0x10(s1)                                   |         v1 = *((s1 + 4));
    0x00010eb4 lw a3, -0x7fd8(gp)                                |         a3 = *(gp);
    0x00010eb8 lw t9, -0x7b10(gp)                                |         t9 = sym.imp.g_set_error;
    0x00010ebc sw a0, 0x14(sp)                                   |         *(var_14h) = a0;
    0x00010ec0 sw v1, 0x10(sp)                                   |         *(var_10h) = v1;
                                                                 |         /* str.Failed_to_serialize_configuration__s_to_path__s */
    0x00010ec4 addiu a3, a3, 0x6e20                              |         a3 += 0x6e20;
    0x00010ec8 addiu a2, zero, 4                                 |         a2 = 4;
    0x00010ecc move a1, v0                                       |         a1 = v0;
    0x00010ed0 move a0, s4                                       |         a0 = s4;
    0x00010ed4 jalr t9                                           |         t9 ();
    0x00010ed8 move s1, zero                                     |         s1 = 0;
    0x00010edc lw gp, 0x18(sp)                                   |         gp = *(var_18h);
    0x00010ee0 b 0x10d18                                         |         goto label_0;
                                                                 |     }
    0x00010ee4 move s1, zero                                     |     s1 = 0;
    0x00010ee8 b 0x10d18                                         |     goto label_0;
                                                                 | label_4:
    0x00010eec lw a0, -0x7fd8(gp)                                |     a0 = *(gp);
    0x00010ef0 lw t9, -0x792c(gp)                                |     t9 = sym.imp.g_strdup;
    0x00010ef4 addiu a0, a0, 0x6dd0                              |     a0 += 0x6dd0;
    0x00010ef8 jalr t9                                           |     t9 ();
    0x00010efc move a3, v0                                       |     a3 = v0;
    0x00010f00 lw gp, 0x18(sp)                                   |     gp = *(var_18h);
    0x00010f04 sw v0, 0x14(s1)                                   |     *((s1 + 5)) = v0;
    0x00010f08 b 0x10da4                                         |     goto label_1;
                                                                 | label_3:
    0x00010f0c lw t9, -0x7ba8(gp)                                |     t9 = sym.imp.__stack_chk_fail;
    0x00010f10 jalr t9                                           |     t9 ();
    0x00010f14 nop                                               |     
                                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x10f18 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.action_configuration_serialize ()        | void action_configuration_serialize () {
    0x00010f18 lui gp, 3                                 |     
    0x00010f1c addiu gp, gp, 0x3228                      |     
    0x00010f20 addu gp, gp, t9                           |     gp += t9;
    0x00010f24 addiu sp, sp, -0x40                       |     
    0x00010f28 lw t9, -0x7e4c(gp)                        |     t9 = sym.action_configuration_serialize_to_data;
    0x00010f2c sw s0, 0x30(sp)                           |     *(var_30h) = s0;
    0x00010f30 lw s0, -0x7b1c(gp)                        |     s0 = *((gp - 7879));
    0x00010f34 sw gp, 0x18(sp)                           |     *(var_18h_2) = gp;
    0x00010f38 sw s2, 0x38(sp)                           |     *(var_38h) = s2;
    0x00010f3c lw v0, (s0)                               |     v0 = *(s0);
    0x00010f40 sw s1, 0x34(sp)                           |     *(var_34h) = s1;
    0x00010f44 move a3, a1                               |     a3 = a1;
    0x00010f48 sw ra, 0x3c(sp)                           |     *(var_3ch) = ra;
    0x00010f4c move s1, a1                               |     s1 = a1;
    0x00010f50 addiu a2, sp, 0x28                        |     a2 = sp + 0x28;
    0x00010f54 addiu a1, sp, 0x20                        |     a1 = sp + 0x20;
    0x00010f58 sw v0, 0x2c(sp)                           |     *(var_2ch) = v0;
    0x00010f5c sw zero, 0x20(sp)                         |     *(var_20h_2) = 0;
    0x00010f60 sw zero, 0x24(sp)                         |     *(var_24h_2) = 0;
    0x00010f64 sw zero, 0x28(sp)                         |     *(var_28h) = 0;
    0x00010f68 move s2, a0                               |     s2 = a0;
    0x00010f6c bal 0x10c74                               |     sym_action_configuration_serialize_to_data ();
    0x00010f70 lw gp, 0x18(sp)                           |     gp = *(var_18h_2);
    0x00010f74 bnez v0, 0x10fc4                          |     
                                                         |     while (v0 == 0) {
                                                         | label_0:
    0x00010f78 move s1, zero                             |         s1 = 0;
                                                         | label_1:
    0x00010f7c lw t9, -0x7864(gp)                        |         t9 = *((gp - 7705));
    0x00010f80 lw a0, 0x24(sp)                           |         a0 = *(var_24h_2);
    0x00010f84 jalr t9                                   |         t9 ();
    0x00010f88 lw gp, 0x18(sp)                           |         gp = *(var_18h_2);
    0x00010f8c lw t9, -0x7864(gp)                        |         t9 = *((gp - 7705));
    0x00010f90 lw a0, 0x20(sp)                           |         a0 = *(var_20h_2);
    0x00010f94 jalr t9                                   |         t9 ();
    0x00010f98 lw a0, 0x2c(sp)                           |         a0 = *(var_2ch);
    0x00010f9c lw v1, (s0)                               |         v1 = *(s0);
    0x00010fa0 lw gp, 0x18(sp)                           |         gp = *(var_18h_2);
    0x00010fa4 move v0, s1                               |         v0 = s1;
                                                         |         if (a0 != v1) {
    0x00010fa8 bne a0, v1, 0x11028                       |             goto label_2;
                                                         |         }
    0x00010fac lw ra, 0x3c(sp)                           |         ra = *(var_3ch);
    0x00010fb0 lw s2, 0x38(sp)                           |         s2 = *(var_38h);
    0x00010fb4 lw s1, 0x34(sp)                           |         s1 = *(var_34h);
    0x00010fb8 lw s0, 0x30(sp)                           |         s0 = *(var_30h);
    0x00010fbc addiu sp, sp, 0x40                        |         
    0x00010fc0 jr ra                                     |         return v0;
    0x00010fc4 lw a2, -0x7fd8(gp)                        |         a2 = *(gp);
    0x00010fc8 lw t9, -0x7e9c(gp)                        |         t9 = sym.create_file_path;
    0x00010fcc lw a1, 0xc(s2)                            |         a1 = *((s2 + 3));
    0x00010fd0 lw a0, 0x10(s2)                           |         a0 = *((s2 + 4));
    0x00010fd4 addiu v0, sp, 0x24                        |         v0 = sp + 0x24;
    0x00010fd8 sw s1, 0x14(sp)                           |         *(var_14h_2) = s1;
    0x00010fdc sw v0, 0x10(sp)                           |         *(var_10h_2) = v0;
    0x00010fe0 addiu a3, zero, 1                         |         a3 = 1;
                                                         |         /* str.conf */
    0x00010fe4 addiu a2, a2, 0x6ec4                      |         a2 += 0x6ec4;
    0x00010fe8 bal 0x11b54                               |         sym_create_file_path ();
    0x00010fec lw gp, 0x18(sp)                           |         gp = *(var_18h_2);
    0x00010ff0 beqz v0, 0x10f78                          |         
                                                         |     }
    0x00010ff4 lw t9, -0x7c08(gp)                        |     t9 = sym.imp.g_file_set_contents;
    0x00010ff8 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x00010ffc lw a1, 0x20(sp)                           |     a1 = *(var_20h_2);
    0x00011000 lw a0, 0x24(sp)                           |     a0 = *(var_24h_2);
    0x00011004 move a3, s1                               |     a3 = s1;
    0x00011008 jalr t9                                   |     t9 ();
    0x0001100c lw gp, 0x18(sp)                           |     gp = *(var_18h_2);
                                                         |     if (v0 == 0) {
    0x00011010 beqz v0, 0x10f78                          |         goto label_0;
                                                         |     }
    0x00011014 lw t9, -0x7e48(gp)                        |     t9 = sym.sync_filesystem
    0x00011018 addiu s1, zero, 1                         |     s1 = 1;
    0x0001101c bal 0x11a20                               |     sym_sync_filesystem ()
    0x00011020 lw gp, 0x18(sp)                           |     gp = *(var_18h_2);
    0x00011024 b 0x10f7c                                 |     goto label_1;
                                                         | label_2:
    0x00011028 lw t9, -0x7ba8(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x0001102c jalr t9                                   |     t9 ();
    0x00011030 nop                                       |     
                                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x1a540 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.action_rule_delete ()        | void action_rule_delete () {
    0x0001a540 lui gp, 3                     |     
    0x0001a544 addiu gp, gp, -0x6400         |     
    0x0001a548 addu gp, gp, t9               |     gp += t9;
    0x0001a54c addiu sp, sp, -0x50           |     
    0x0001a550 lw t9, -0x7e9c(gp)            |     t9 = sym.create_file_path;
    0x0001a554 sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x0001a558 lw s6, -0x7b1c(gp)            |     s6 = *((gp - 7879));
    0x0001a55c sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0001a560 lw s0, -0x7fd8(gp)            |     s0 = *(gp);
    0x0001a564 lw v0, (s6)                   |     v0 = *(s6);
    0x0001a568 sw s5, 0x3c(sp)               |     *(var_3ch_2) = s5;
    0x0001a56c sw s2, 0x30(sp)               |     *(var_30h_2) = s2;
    0x0001a570 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0001a574 move s5, a1                   |     s5 = a1;
    0x0001a578 move s1, a0                   |     s1 = a0;
    0x0001a57c lw a1, 0xc(a0)                |     a1 = *((a0 + 3));
    0x0001a580 addiu s2, sp, 0x20            |     s2 = sp + 0x20;
    0x0001a584 lw a0, 0x10(a0)               |     a0 = *((a0 + 4));
    0x0001a588 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0001a58c sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x0001a590 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x0001a594 sw s7, 0x44(sp)               |     *(var_44h) = s7;
    0x0001a598 sw s4, 0x38(sp)               |     *(var_38h_2) = s4;
    0x0001a59c sw s3, 0x34(sp)               |     *(var_34h_2) = s3;
    0x0001a5a0 sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x0001a5a4 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0001a5a8 move a3, zero                 |     a3 = 0;
                                             |     /* str.conf */
    0x0001a5ac addiu a2, s0, 0x6ec4          |     a2 = s0 + 0x6ec4;
    0x0001a5b0 sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x0001a5b4 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x0001a5b8 bal 0x11b54                   |     sym_create_file_path ();
    0x0001a5bc nop                           |     
    0x0001a5c0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x0001a5c4 bnez v0, 0x1a65c              |         goto label_5;
                                             |     }
                                             | label_0:
    0x0001a5c8 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a5cc lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
                                             |     if (a0 == 0) {
    0x0001a5d0 beqz a0, 0x1a654              |         goto label_6;
                                             |     }
    0x0001a5d4 move s0, zero                 |     s0 = 0;
    0x0001a5d8 jalr t9                       |     t9 ();
    0x0001a5dc lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     do {
                                             | label_2:
    0x0001a5e0 lw v1, (s5)                   |         v1 = *(s5);
    0x0001a5e4 lw a3, -0x7fd8(gp)            |         a3 = *(gp);
                                             |         if (v1 != 0) {
    0x0001a5e8 beqz v1, 0x1a614              |             
    0x0001a5ec lw a2, -0x7fd8(gp)            |             a2 = *(gp);
    0x0001a5f0 lw v0, 8(v1)                  |             v0 = *((v1 + 2));
    0x0001a5f4 lw t9, -0x7cbc(gp)            |             t9 = sym.imp.g_log;
    0x0001a5f8 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0001a5fc addiu a3, a3, 0x6dd0          |             a3 += 0x6dd0;
                                             |             /* str._s_s */
    0x0001a600 addiu a2, a2, 0x5594          |             a2 += 0x5594;
    0x0001a604 addiu a1, zero, 0x10          |             a1 = 0x10;
    0x0001a608 move a0, zero                 |             a0 = 0;
    0x0001a60c jalr t9                       |             t9 ();
    0x0001a610 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
                                             |         }
    0x0001a614 lw a0, 0x24(sp)               |         a0 = *(var_24h_2);
    0x0001a618 lw v1, (s6)                   |         v1 = *(s6);
    0x0001a61c move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0001a620 bne a0, v1, 0x1a9c0           |             goto label_7;
                                             |         }
    0x0001a624 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x0001a628 lw fp, 0x48(sp)               |         fp = *(var_48h);
    0x0001a62c lw s7, 0x44(sp)               |         s7 = *(var_44h);
    0x0001a630 lw s6, 0x40(sp)               |         s6 = *(var_40h);
    0x0001a634 lw s5, 0x3c(sp)               |         s5 = *(var_3ch_2);
    0x0001a638 lw s4, 0x38(sp)               |         s4 = *(var_38h_2);
    0x0001a63c lw s3, 0x34(sp)               |         s3 = *(var_34h_2);
    0x0001a640 lw s2, 0x30(sp)               |         s2 = *(var_30h_2);
    0x0001a644 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x0001a648 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x0001a64c addiu sp, sp, 0x50            |         
    0x0001a650 jr ra                         |         return v1;
                                             | label_6:
    0x0001a654 move s0, zero                 |         s0 = 0;
    0x0001a658 b 0x1a5e0                     |         
                                             |     } while (1);
                                             | label_5:
    0x0001a65c lw t9, -0x7b7c(gp)            |     t9 = sym.imp.remove;
    0x0001a660 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a664 jalr t9                       |     t9 ();
    0x0001a668 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0001a66c beqz v0, 0x1a6d8              |         goto label_8;
                                             |     }
    0x0001a670 lw t9, -0x7ae8(gp)            |     t9 = sym.imp.g_ascii_strtoull;
    0x0001a674 lw a0, 0x10(s1)               |     a0 = *((s1 + 4));
    0x0001a678 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x0001a67c move a1, zero                 |     a1 = 0;
    0x0001a680 jalr t9                       |     t9 ();
    0x0001a684 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a688 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a68c lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x0001a690 move s3, v0                   |     s3 = v0;
    0x0001a694 jalr t9                       |     t9 ();
    0x0001a698 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a69c lw a1, 0xc(s1)                |     a1 = *((s1 + 3));
    0x0001a6a0 move a3, zero                 |     a3 = 0;
    0x0001a6a4 lw t9, -0x7e38(gp)            |     t9 = sym.create_file_path_uint;
    0x0001a6a8 sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x0001a6ac sw s2, 0x10(sp)               |     *(var_10h) = s2;
                                             |     /* str.conf */
    0x0001a6b0 addiu a2, s0, 0x6ec4          |     a2 = s0 + 0x6ec4;
    0x0001a6b4 move a0, s3                   |     a0 = s3;
    0x0001a6b8 bal 0x11d48                   |     sym_create_file_path_uint ();
    0x0001a6bc lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0001a6c0 beqz v0, 0x1a5c8              |         goto label_0;
                                             |     }
    0x0001a6c4 lw t9, -0x7b7c(gp)            |     t9 = sym.imp.remove;
    0x0001a6c8 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a6cc jalr t9                       |     t9 ();
    0x0001a6d0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x0001a6d4 bnez v0, 0x1a97c              |         goto label_9;
                                             |     }
                                             | label_8:
    0x0001a6d8 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x0001a6dc lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a6e0 jalr t9                       |     t9 ();
    0x0001a6e4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a6e8 lw a2, 0x10(s1)               |     a2 = *((s1 + 4));
    0x0001a6ec lw a1, 0xc(s1)                |     a1 = *((s1 + 3));
    0x0001a6f0 lw a0, -0x7fd0(gp)            |     a0 = *((gp - 8180));
    0x0001a6f4 lw t9, -0x7a38(gp)            |     t9 = sym.imp.g_strdup_printf;
                                             |     /* str._s__s_event.xml */
    0x0001a6f8 addiu a0, a0, -0x656c         |     a0 += -aav.0x0000656c;
    0x0001a6fc jalr t9                       |     t9 ();
    0x0001a700 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a704 move a0, v0                   |     a0 = v0;
    0x0001a708 lw t9, -0x7c68(gp)            |     t9 = sym.imp.g_file_new_for_path;
    0x0001a70c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0001a710 jalr t9                       |     t9 ();
    0x0001a714 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a718 move a1, zero                 |     a1 = 0;
    0x0001a71c move a0, v0                   |     a0 = v0;
    0x0001a720 lw t9, -0x7b34(gp)            |     t9 = sym.imp.g_file_query_exists;
    0x0001a724 move s0, v0                   |     s0 = v0;
    0x0001a728 jalr t9                       |     t9 ();
    0x0001a72c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0001a730 beqz v0, 0x1a8e0              |         goto label_10;
                                             |     }
    0x0001a734 lw t9, -0x7b7c(gp)            |     t9 = sym.imp.remove;
                                             | label_4:
    0x0001a738 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a73c jalr t9                       |     t9 ();
    0x0001a740 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x0001a744 bnez v0, 0x1a94c              |         goto label_11;
                                             |     }
                                             | label_3:
    0x0001a748 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x0001a74c lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a750 move s2, zero                 |     s2 = 0;
    0x0001a754 jalr t9                       |     t9 ();
    0x0001a758 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a75c lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
    0x0001a760 move a0, s0                   |     a0 = s0;
    0x0001a764 jalr t9                       |     t9 ();
    0x0001a768 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a76c lw s4, -0x7eb0(gp)            |     s4 = *(gp);
    0x0001a770 lw s3, -0x7fd0(gp)            |     s3 = *((gp - 8180));
    0x0001a774 lw fp, -0x7fd8(gp)            |     fp = *(gp);
    0x0001a778 lw s7, -0x7fd0(gp)            |     s7 = *((gp - 8180));
                                             |     /* fcn.00015eec */
    0x0001a77c addiu s4, s4, 0x5eec          |     s4 += 0x5eec;
                                             |     /* str._s__s_property__d.xml */
    0x0001a780 addiu s3, s3, -0x644c         |     s3 += -0x644c;
    0x0001a784 addiu fp, fp, 0x6dd0          |     fp += 0x6dd0;
                                             |     /* str._sFailed_to_remove_file:__s */
    0x0001a788 addiu s7, s7, -0x6120         |     s7 += -0x6120;
    0x0001a78c b 0x1a7b4                     |     
                                             |     while (v0 == 0) {
                                             | label_1:
    0x0001a790 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
    0x0001a794 lw a0, 0x20(sp)               |         a0 = *(var_20h);
    0x0001a798 addiu s2, s2, 1               |         s2++;
    0x0001a79c jalr t9                       |         t9 ();
    0x0001a7a0 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0001a7a4 lw t9, -0x7918(gp)            |         t9 = *((gp - 7750));
    0x0001a7a8 move a0, s0                   |         a0 = s0;
    0x0001a7ac jalr t9                       |         t9 ();
    0x0001a7b0 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0001a7b4 lw t9, -0x7a38(gp)            |         t9 = sym.imp.g_strdup_printf;
    0x0001a7b8 lw a2, 0x10(s1)               |         a2 = *((s1 + 4));
    0x0001a7bc lw a1, 0xc(s1)                |         a1 = *((s1 + 3));
    0x0001a7c0 move a3, s2                   |         a3 = s2;
    0x0001a7c4 move a0, s3                   |         a0 = s3;
    0x0001a7c8 jalr t9                       |         t9 ();
    0x0001a7cc lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0001a7d0 move a0, v0                   |         a0 = v0;
    0x0001a7d4 lw t9, -0x7c68(gp)            |         t9 = sym.imp.g_file_new_for_path;
    0x0001a7d8 sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x0001a7dc jalr t9                       |         t9 ();
    0x0001a7e0 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0001a7e4 move a1, zero                 |         a1 = 0;
    0x0001a7e8 move a0, v0                   |         a0 = v0;
    0x0001a7ec lw t9, -0x7b34(gp)            |         t9 = sym.imp.g_file_query_exists;
    0x0001a7f0 move s0, v0                   |         s0 = v0;
    0x0001a7f4 jalr t9                       |         t9 ();
    0x0001a7f8 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x0001a7fc bnez v0, 0x1a860              |             
    0x0001a800 lw t9, -0x7918(gp)            |             t9 = *((gp - 7750));
    0x0001a804 move a0, s0                   |             a0 = s0;
    0x0001a808 jalr t9                       |             t9 ();
    0x0001a80c lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x0001a810 lw t9, -0x7864(gp)            |             t9 = *((gp - 7705));
    0x0001a814 lw a0, 0x20(sp)               |             a0 = *(var_20h);
    0x0001a818 jalr t9                       |             t9 ();
    0x0001a81c move a1, s2                   |             a1 = s2;
    0x0001a820 move t9, s4                   |             t9 = s4;
    0x0001a824 move a0, s1                   |             a0 = s1;
    0x0001a828 bal 0x15eec                   |             fcn_00015eec ();
    0x0001a82c lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x0001a830 move a0, v0                   |             a0 = v0;
    0x0001a834 lw t9, -0x7c68(gp)            |             t9 = sym.imp.g_file_new_for_path;
    0x0001a838 sw v0, 0x20(sp)               |             *(var_20h) = v0;
    0x0001a83c jalr t9                       |             t9 ();
    0x0001a840 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x0001a844 move a1, zero                 |             a1 = 0;
    0x0001a848 move a0, v0                   |             a0 = v0;
    0x0001a84c lw t9, -0x7b34(gp)            |             t9 = sym.imp.g_file_query_exists;
    0x0001a850 move s0, v0                   |             s0 = v0;
    0x0001a854 jalr t9                       |             t9 ();
    0x0001a858 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
                                             |             if (v0 == 0) {
    0x0001a85c beqz v0, 0x1a89c              |                 goto label_12;
                                             |             }
                                             |         }
    0x0001a860 lw t9, -0x7b7c(gp)            |         t9 = sym.imp.remove;
    0x0001a864 lw a0, 0x20(sp)               |         a0 = *(var_20h);
    0x0001a868 jalr t9                       |         t9 ();
    0x0001a86c lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0001a870 beqz v0, 0x1a790              |         
                                             |     }
    0x0001a874 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0001a878 lw t9, -0x7cbc(gp)            |     t9 = sym.imp.g_log;
    0x0001a87c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0001a880 move a3, fp                   |     a3 = fp;
    0x0001a884 move a2, s7                   |     a2 = s7;
    0x0001a888 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x0001a88c move a0, zero                 |     a0 = 0;
    0x0001a890 jalr t9                       |     t9 ();
    0x0001a894 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a898 b 0x1a790                     |     goto label_1;
                                             | label_12:
    0x0001a89c lw t9, -0x7e48(gp)            |     t9 = sym.sync_filesystem
    0x0001a8a0 bal 0x11a20                   |     sym_sync_filesystem ()
    0x0001a8a4 nop                           |     
    0x0001a8a8 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a8ac lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (a0 != 0) {
    0x0001a8b0 beqz a0, 0x1a8c4              |         
    0x0001a8b4 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
    0x0001a8b8 jalr t9                       |         t9 ();
    0x0001a8bc nop                           |         
    0x0001a8c0 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |     }
    0x0001a8c4 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
                                             |     if (s0 == 0) {
    0x0001a8c8 beqz s0, 0x1a9b8              |         goto label_13;
                                             |     }
    0x0001a8cc move a0, s0                   |     a0 = s0;
    0x0001a8d0 jalr t9                       |     t9 ();
    0x0001a8d4 addiu s0, zero, 1             |     s0 = 1;
    0x0001a8d8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a8dc b 0x1a5e0                     |     goto label_2;
                                             | label_10:
    0x0001a8e0 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
    0x0001a8e4 move a0, s0                   |     a0 = s0;
    0x0001a8e8 jalr t9                       |     t9 ();
    0x0001a8ec lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a8f0 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x0001a8f4 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0001a8f8 jalr t9                       |     t9 ();
    0x0001a8fc lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a900 lw t9, -0x7eb0(gp)            |     t9 = *(gp);
                                             |     /* fcn.00015e7c */
    0x0001a904 addiu t9, t9, 0x5e7c          |     t9 += 0x5e7c;
    0x0001a908 move a0, s1                   |     a0 = s1;
    0x0001a90c bal 0x15e7c                   |     fcn_00015e7c ();
    0x0001a910 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a914 move a0, v0                   |     a0 = v0;
    0x0001a918 lw t9, -0x7c68(gp)            |     t9 = sym.imp.g_file_new_for_path;
    0x0001a91c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0001a920 jalr t9                       |     t9 ();
    0x0001a924 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a928 move a1, zero                 |     a1 = 0;
    0x0001a92c move a0, v0                   |     a0 = v0;
    0x0001a930 lw t9, -0x7b34(gp)            |     t9 = sym.imp.g_file_query_exists;
    0x0001a934 move s0, v0                   |     s0 = v0;
    0x0001a938 jalr t9                       |     t9 ();
    0x0001a93c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0001a940 beqz v0, 0x1a748              |         goto label_3;
                                             |     }
    0x0001a944 lw t9, -0x7b7c(gp)            |     t9 = sym.imp.remove;
    0x0001a948 b 0x1a738                     |     goto label_4;
                                             | label_11:
    0x0001a94c lw a3, -0x7fd8(gp)            |     a3 = *(gp);
    0x0001a950 lw a2, -0x7fd0(gp)            |     a2 = *((gp - 8180));
    0x0001a954 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0001a958 lw t9, -0x7cbc(gp)            |     t9 = sym.imp.g_log;
    0x0001a95c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0001a960 addiu a3, a3, 0x6dd0          |     a3 += 0x6dd0;
                                             |     /* str._sFailed_to_remove_file:__s */
    0x0001a964 addiu a2, a2, -0x6120         |     a2 += -0x6120;
    0x0001a968 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x0001a96c move a0, zero                 |     a0 = 0;
    0x0001a970 jalr t9                       |     t9 ();
    0x0001a974 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a978 b 0x1a748                     |     goto label_3;
                                             | label_9:
    0x0001a97c lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001a980 jalr t9                       |     t9 ();
    0x0001a984 nop                           |     
    0x0001a988 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a98c lw v1, 0x20(sp)               |     v1 = *(var_20h);
    0x0001a990 addiu a2, zero, 1             |     a2 = 1;
    0x0001a994 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x0001a998 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0001a99c sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.Rule_configuration_file_could_not_be_deleted:__s */
    0x0001a9a0 addiu a3, a3, -0x6154         |     a3 += -0x6154;
    0x0001a9a4 move a1, v0                   |     a1 = v0;
    0x0001a9a8 move a0, s5                   |     a0 = s5;
    0x0001a9ac jalr t9                       |     t9 ();
    0x0001a9b0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001a9b4 b 0x1a5c8                     |     goto label_0;
                                             | label_13:
    0x0001a9b8 addiu s0, zero, 1             |     s0 = 1;
    0x0001a9bc b 0x1a5e0                     |     goto label_2;
                                             | label_7:
    0x0001a9c0 lw t9, -0x7ba8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001a9c4 jalr t9                       |     t9 ();
    0x0001a9c8 nop                           |     
                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x18320 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.action_rule_serialize_event_to_data ()       | void action_rule_serialize_event_to_data () {
    0x00018320 lui gp, 3                                     |     
    0x00018324 addiu gp, gp, -0x41e0                         |     
    0x00018328 addu gp, gp, t9                               |     gp += t9;
    0x0001832c addiu sp, sp, -0x28                           |     
    0x00018330 lw t9, -0x7a48(gp)                            |     t9 = sym.imp.subscribe_expression_serialize_xml;
    0x00018334 move a0, a1                                   |     a0 = a1;
    0x00018338 sw gp, 0x10(sp)                               |     *(var_10h) = gp;
    0x0001833c sw s1, 0x20(sp)                               |     *(var_20h) = s1;
    0x00018340 sw s0, 0x1c(sp)                               |     *(var_1ch) = s0;
    0x00018344 sw ra, 0x24(sp)                               |     *(var_24h) = ra;
    0x00018348 move s1, a2                                   |     s1 = a2;
    0x0001834c move s0, a3                                   |     s0 = a3;
    0x00018350 jalr t9                                       |     t9 ();
    0x00018354 lw gp, 0x10(sp)                               |     gp = *(var_10h);
                                                             |     if (v0 != 0) {
    0x00018358 beqz v0, 0x1838c                              |         
    0x0001835c lw t9, -0x7bcc(gp)                            |         t9 = sym.imp.g_utf8_strlen;
    0x00018360 sw v0, (s1)                                   |         *(s1) = v0;
    0x00018364 addiu a1, zero, 0x400                         |         a1 = 0x400;
    0x00018368 move a0, v0                                   |         a0 = v0;
    0x0001836c jalr t9                                       |         t9 ();
    0x00018370 lw ra, 0x24(sp)                               |         ra = *(var_24h);
    0x00018374 sw v0, (s0)                                   |         *(s0) = v0;
    0x00018378 lw s1, 0x20(sp)                               |         s1 = *(var_20h);
    0x0001837c lw s0, 0x1c(sp)                               |         s0 = *(var_1ch);
    0x00018380 addiu v0, zero, 1                             |         v0 = 1;
    0x00018384 addiu sp, sp, 0x28                            |         
    0x00018388 jr ra                                         |         return v0;
                                                             |     }
    0x0001838c lw ra, 0x24(sp)                               |     ra = *(var_24h);
    0x00018390 lw s1, 0x20(sp)                               |     s1 = *(var_20h);
    0x00018394 lw s0, 0x1c(sp)                               |     s0 = *(var_1ch);
    0x00018398 move v0, zero                                 |     v0 = 0;
    0x0001839c addiu sp, sp, 0x28                            |     
    0x000183a0 jr ra                                         |     return v0;
                                                             | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x183a4 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.action_rule_serialize_property_event_to_data ()      | void action_rule_serialize_property_event_to_data () {
    0x000183a4 lui gp, 3                                             |     
    0x000183a8 addiu gp, gp, -0x4264                                 |     
    0x000183ac addu gp, gp, t9                                       |     gp += t9;
    0x000183b0 addiu sp, sp, -0x28                                   |     
    0x000183b4 lw t9, -0x78bc(gp)                                    |     t9 = sym.imp.property_state_serialize_xml;
    0x000183b8 move a0, a1                                           |     a0 = a1;
    0x000183bc sw gp, 0x10(sp)                                       |     *(var_10h) = gp;
    0x000183c0 sw s1, 0x20(sp)                                       |     *(var_20h) = s1;
    0x000183c4 sw s0, 0x1c(sp)                                       |     *(var_1ch) = s0;
    0x000183c8 sw ra, 0x24(sp)                                       |     *(var_24h) = ra;
    0x000183cc move s1, a2                                           |     s1 = a2;
    0x000183d0 move s0, a3                                           |     s0 = a3;
    0x000183d4 jalr t9                                               |     t9 ();
    0x000183d8 lw gp, 0x10(sp)                                       |     gp = *(var_10h);
                                                                     |     if (v0 != 0) {
    0x000183dc beqz v0, 0x18410                                      |         
    0x000183e0 lw t9, -0x7bcc(gp)                                    |         t9 = sym.imp.g_utf8_strlen;
    0x000183e4 sw v0, (s1)                                           |         *(s1) = v0;
    0x000183e8 addiu a1, zero, 0x400                                 |         a1 = 0x400;
    0x000183ec move a0, v0                                           |         a0 = v0;
    0x000183f0 jalr t9                                               |         t9 ();
    0x000183f4 lw ra, 0x24(sp)                                       |         ra = *(var_24h);
    0x000183f8 sw v0, (s0)                                           |         *(s0) = v0;
    0x000183fc lw s1, 0x20(sp)                                       |         s1 = *(var_20h);
    0x00018400 lw s0, 0x1c(sp)                                       |         s0 = *(var_1ch);
    0x00018404 addiu v0, zero, 1                                     |         v0 = 1;
    0x00018408 addiu sp, sp, 0x28                                    |         
    0x0001840c jr ra                                                 |         return v0;
                                                                     |     }
    0x00018410 lw ra, 0x24(sp)                                       |     ra = *(var_24h);
    0x00018414 lw s1, 0x20(sp)                                       |     s1 = *(var_20h);
    0x00018418 lw s0, 0x1c(sp)                                       |     s0 = *(var_1ch);
    0x0001841c move v0, zero                                         |     v0 = 0;
    0x00018420 addiu sp, sp, 0x28                                    |     
    0x00018424 jr ra                                                 |     return v0;
                                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x18428 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.action_rule_serialize_to_data ()     | void action_rule_serialize_to_data () {
    0x00018428 lui gp, 3                             |     
    0x0001842c addiu gp, gp, -0x42e8                 |     
    0x00018430 addu gp, gp, t9                       |     gp += t9;
    0x00018434 addiu sp, sp, -0x60                   |     
    0x00018438 lw t9, -0x7924(gp)                    |     t9 = sym.imp.g_key_file_new;
    0x0001843c sw s2, 0x40(sp)                       |     *(var_40h) = s2;
    0x00018440 lw s2, -0x7b1c(gp)                    |     s2 = *((gp - 7879));
    0x00018444 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x00018448 sw s7, 0x54(sp)                       |     *(var_54h) = s7;
    0x0001844c lw v0, (s2)                           |     v0 = *(s2);
    0x00018450 sw s4, 0x48(sp)                       |     *(var_48h) = s4;
    0x00018454 sw s3, 0x44(sp)                       |     *(var_44h) = s3;
    0x00018458 sw ra, 0x5c(sp)                       |     *(var_5ch) = ra;
    0x0001845c sw fp, 0x58(sp)                       |     *(var_58h) = fp;
    0x00018460 sw s6, 0x50(sp)                       |     *(var_50h) = s6;
    0x00018464 sw s5, 0x4c(sp)                       |     *(var_4ch) = s5;
    0x00018468 sw s1, 0x3c(sp)                       |     *(var_3ch) = s1;
    0x0001846c sw s0, 0x38(sp)                       |     *(var_38h) = s0;
    0x00018470 sw a2, 0x24(sp)                       |     *(var_24h) = a2;
    0x00018474 sw v0, 0x34(sp)                       |     *(var_34h) = v0;
    0x00018478 sw zero, 0x30(sp)                     |     *(var_30h) = 0;
    0x0001847c move s3, a0                           |     s3 = a0;
    0x00018480 move s7, a1                           |     s7 = a1;
    0x00018484 move s4, a3                           |     s4 = a3;
    0x00018488 jalr t9                               |     t9 ();
    0x0001848c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x00018490 beqz v0, 0x18798                      |         goto label_3;
                                                     |     }
    0x00018494 lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x00018498 lw t9, -0x7c0c(gp)                    |     t9 = sym.imp.g_key_file_set_comment;
    0x0001849c sw s4, 0x10(sp)                       |     *(var_10h) = s4;
                                                     |     /* str.This_file_has_been_automatically_generated__DO_NOT_EDIT */
    0x000184a0 addiu a3, a3, 0x6e54                  |     a3 += 0x6e54;
    0x000184a4 move a2, zero                         |     a2 = 0;
    0x000184a8 move a1, zero                         |     a1 = 0;
    0x000184ac move a0, v0                           |     a0 = v0;
    0x000184b0 move s0, v0                           |     s0 = v0;
    0x000184b4 jalr t9                               |     t9 ();
    0x000184b8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 == 0) {
    0x000184bc bnez v0, 0x18510                      |         
    0x000184c0 lw t9, -0x7c4c(gp)                    |         t9 = sym.imp.g_key_file_free;
    0x000184c4 move a0, s0                           |         a0 = s0;
    0x000184c8 jalr t9                               |         t9 ();
    0x000184cc lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x000184d0 move v0, zero                         |         v0 = 0;
                                                     | label_0:
    0x000184d4 lw a0, 0x34(sp)                       |         a0 = *(var_34h);
    0x000184d8 lw v1, (s2)                           |         v1 = *(s2);
    0x000184dc lw ra, 0x5c(sp)                       |         ra = *(var_5ch);
                                                     |         if (a0 != v1) {
    0x000184e0 bne a0, v1, 0x18820                   |             goto label_4;
                                                     |         }
    0x000184e4 lw fp, 0x58(sp)                       |         fp = *(var_58h);
    0x000184e8 lw s7, 0x54(sp)                       |         s7 = *(var_54h);
    0x000184ec lw s6, 0x50(sp)                       |         s6 = *(var_50h);
    0x000184f0 lw s5, 0x4c(sp)                       |         s5 = *(var_4ch);
    0x000184f4 lw s4, 0x48(sp)                       |         s4 = *(var_48h);
    0x000184f8 lw s3, 0x44(sp)                       |         s3 = *(var_44h);
    0x000184fc lw s2, 0x40(sp)                       |         s2 = *(var_40h);
    0x00018500 lw s1, 0x3c(sp)                       |         s1 = *(var_3ch);
    0x00018504 lw s0, 0x38(sp)                       |         s0 = *(var_38h);
    0x00018508 addiu sp, sp, 0x60                    |         
    0x0001850c jr ra                                 |         return v0;
                                                     |     }
    0x00018510 lw s1, -0x7fd0(gp)                    |     s1 = *((gp - 8180));
    0x00018514 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00018518 lw t9, -0x7950(gp)                    |     t9 = sym.imp.g_key_file_set_string;
    0x0001851c lw a3, 0x10(s3)                       |     a3 = *((s3 + 4));
                                                     |     /* esilref: 'id' */
    0x00018520 addiu a2, a2, 0x5218                  |     a2 += 0x5218;
                                                     |     /* str.action_rule */
    0x00018524 addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x00018528 move a0, s0                           |     a0 = s0;
    0x0001852c jalr t9                               |     t9 ();
    0x00018530 lw a3, 0x14(s3)                       |     a3 = *((s3 + 5));
    0x00018534 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (a3 == 0) {
    0x00018538 beqz a3, 0x187e0                      |         goto label_5;
                                                     |     }
                                                     | label_1:
    0x0001853c lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00018540 lw t9, -0x7950(gp)                    |     t9 = sym.imp.g_key_file_set_string;
                                                     |     /* str.nice_name */
    0x00018544 addiu a2, a2, 0x6ea4                  |     a2 += 0x6ea4;
                                                     |     /* str.action_rule */
    0x00018548 addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x0001854c move a0, s0                           |     a0 = s0;
    0x00018550 jalr t9                               |     t9 ();
    0x00018554 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00018558 lw a3, 0x18(s3)                       |     a3 = *((s3 + 6));
                                                     |     /* str.action_rule */
    0x0001855c addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x00018560 lw a2, -0x7fd0(gp)                    |     a2 = *((gp - 8180));
    0x00018564 lw t9, -0x7a68(gp)                    |     t9 = sym.imp.g_key_file_set_boolean;
                                                     |     /* str.enabled */
    0x00018568 addiu a2, a2, -0x65b0                 |     a2 += -0x65b0;
    0x0001856c move a0, s0                           |     a0 = s0;
    0x00018570 jalr t9                               |     t9 ();
    0x00018574 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00018578 lw a3, 0x4c(s3)                       |     a3 = *((s3 + 19));
                                                     |     /* str.action_rule */
    0x0001857c addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x00018580 lw a2, -0x7fd0(gp)                    |     a2 = *((gp - 8180));
    0x00018584 lw t9, -0x7c34(gp)                    |     t9 = sym.imp.g_key_file_set_integer;
                                                     |     /* str.timeout */
    0x00018588 addiu a2, a2, -0x65a8                 |     a2 += -0x65a8;
    0x0001858c move a0, s0                           |     a0 = s0;
    0x00018590 jalr t9                               |     t9 ();
    0x00018594 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00018598 lw a3, 0x54(s3)                       |     a3 = *((s3 + 21));
                                                     |     /* str.action_rule */
    0x0001859c addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x000185a0 lw a2, -0x7fd0(gp)                    |     a2 = *((gp - 8180));
    0x000185a4 lw t9, -0x7c34(gp)                    |     t9 = sym.imp.g_key_file_set_integer;
                                                     |     /* str.min_time_period */
    0x000185a8 addiu a2, a2, -0x65a0                 |     a2 += -0x65a0;
    0x000185ac move a0, s0                           |     a0 = s0;
    0x000185b0 jalr t9                               |     t9 ();
    0x000185b4 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000185b8 lw a3, 0x58(s3)                       |     a3 = *((s3 + 22));
                                                     |     /* str.action_rule */
    0x000185bc addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x000185c0 lw a2, -0x7fd0(gp)                    |     a2 = *((gp - 8180));
    0x000185c4 lw t9, -0x7c34(gp)                    |     t9 = sym.imp.g_key_file_set_integer;
                                                     |     /* str.max_time_period */
    0x000185c8 addiu a2, a2, -0x6590                 |     a2 += -0x6590;
    0x000185cc move a0, s0                           |     a0 = s0;
    0x000185d0 jalr t9                               |     t9 ();
    0x000185d4 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000185d8 lw v0, 0x1c(s3)                       |     v0 = *((s3 + 7));
                                                     |     /* str.action_rule */
    0x000185dc addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x000185e0 lw a2, -0x7fd0(gp)                    |     a2 = *((gp - 8180));
    0x000185e4 lw t9, -0x7950(gp)                    |     t9 = sym.imp.g_key_file_set_string;
    0x000185e8 lw a3, 0x10(v0)                       |     a3 = *((v0 + 4));
                                                     |     /* str.primary */
    0x000185ec addiu a2, a2, -0x7920                 |     a2 += -0x7920;
    0x000185f0 move a0, s0                           |     a0 = s0;
    0x000185f4 jalr t9                               |     t9 ();
    0x000185f8 lw v0, 0x20(s3)                       |     v0 = *((s3 + 8));
    0x000185fc lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x00018600 beqz v0, 0x18624                      |         
    0x00018604 lw a2, -0x7fd0(gp)                    |         a2 = *((gp - 8180));
    0x00018608 lw t9, -0x7950(gp)                    |         t9 = sym.imp.g_key_file_set_string;
    0x0001860c lw a3, 0x10(v0)                       |         a3 = *((v0 + 4));
                                                     |         /* str.secondary */
    0x00018610 addiu a2, a2, -0x7918                 |         a2 += -0x7918;
                                                     |         /* str.action_rule */
    0x00018614 addiu a1, s1, -0x65bc                 |         a1 = s1 + -0x65bc;
    0x00018618 move a0, s0                           |         a0 = s0;
    0x0001861c jalr t9                               |         t9 ();
    0x00018620 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x00018624 lw v0, 0x3c(s3)                       |     v0 = *((s3 + 15));
    0x00018628 lw a2, -0x7fd0(gp)                    |     a2 = *((gp - 8180));
                                                     |     if (v0 != 0) {
    0x0001862c beqz v0, 0x1864c                      |         
    0x00018630 lw t9, -0x7950(gp)                    |         t9 = sym.imp.g_key_file_set_string;
    0x00018634 lw a3, 0x10(s3)                       |         a3 = *((s3 + 4));
                                                     |         /* str.event */
    0x00018638 addiu a2, a2, -0x6580                 |         a2 += -0x6580;
                                                     |         /* str.action_rule */
    0x0001863c addiu a1, s1, -0x65bc                 |         a1 = s1 + -0x65bc;
    0x00018640 move a0, s0                           |         a0 = s0;
    0x00018644 jalr t9                               |         t9 ();
    0x00018648 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x0001864c lw a0, 0x40(s3)                       |     a0 = *((s3 + 16));
    0x00018650 lw t9, -0x7a10(gp)                    |     t9 = sym.imp.g_list_length;
                                                     |     if (a0 == 0) {
    0x00018654 beqz a0, 0x18730                      |         goto label_6;
                                                     |     }
    0x00018658 jalr t9                               |     t9 ();
    0x0001865c nop                                   |     
    0x00018660 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00018664 move s3, v0                           |     s3 = v0;
    0x00018668 addiu v0, v0, 1                       |     v0++;
    0x0001866c sll v0, v0, 2                         |     v0 <<= 2;
    0x00018670 lw t9, -0x7cdc(gp)                    |     t9 = sym.imp.g_slice_alloc0;
    0x00018674 sw v0, 0x2c(sp)                       |     *(var_2ch) = v0;
    0x00018678 move a0, v0                           |     a0 = v0;
    0x0001867c jalr t9                               |     t9 ();
    0x00018680 sw v0, 0x28(sp)                       |     *(var_28h) = v0;
    0x00018684 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (s3 == 0) {
    0x00018688 beqz s3, 0x18800                      |         goto label_7;
                                                     |     }
    0x0001868c lw s5, -0x7fd0(gp)                    |     s5 = *((gp - 8180));
    0x00018690 move s6, v0                           |     s6 = v0;
    0x00018694 move fp, zero                         |     fp = 0;
                                                     |     /* esilref: '&d' */
    0x00018698 addiu s5, s5, -0x60b0                 |     s5 += -0x60b0;
                                                     |     do {
    0x0001869c lw t9, -0x7a38(gp)                    |         t9 = sym.imp.g_strdup_printf;
    0x000186a0 move a1, fp                           |         a1 = fp;
    0x000186a4 addiu s6, s6, 4                       |         s6 += 4;
    0x000186a8 move a0, s5                           |         a0 = s5;
    0x000186ac jalr t9                               |         t9 ();
    0x000186b0 addiu fp, fp, 1                       |         fp++;
    0x000186b4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x000186b8 sw v0, -4(s6)                         |         *((s6 - 1)) = v0;
    0x000186bc bne s3, fp, 0x1869c                   |         
                                                     |     } while (s3 != fp);
    0x000186c0 lw v0, 0x2c(sp)                       |     v0 = *(var_2ch);
    0x000186c4 lw v1, 0x28(sp)                       |     v1 = *(var_28h);
    0x000186c8 addiu v0, v0, -4                      |     v0 += -4;
    0x000186cc addu v0, v1, v0                       |     v0 = v1 + v0;
                                                     | label_2:
    0x000186d0 lw a2, -0x7fd0(gp)                    |     a2 = *((gp - 8180));
    0x000186d4 sw zero, (v0)                         |     *(v0) = 0;
    0x000186d8 sw s3, 0x10(sp)                       |     *(var_10h) = s3;
    0x000186dc lw s3, 0x28(sp)                       |     s3 = *(var_28h);
    0x000186e0 lw t9, -0x7994(gp)                    |     t9 = sym.imp.g_key_file_set_string_list;
                                                     |     /* str.action_rule */
    0x000186e4 addiu a1, s1, -0x65bc                 |     a1 = s1 + -0x65bc;
    0x000186e8 move a0, s0                           |     a0 = s0;
    0x000186ec move a3, s3                           |     a3 = s3;
                                                     |     /* str.properties */
    0x000186f0 addiu a2, a2, -0x6578                 |     a2 += -0x6578;
    0x000186f4 jalr t9                               |     t9 ();
    0x000186f8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000186fc lw a0, (s3)                           |     a0 = *(s3);
    0x00018700 move s1, s3                           |     s1 = s3;
                                                     |     do {
    0x00018704 lw t9, -0x7864(gp)                    |         t9 = *((gp - 7705));
    0x00018708 addiu s1, s1, 4                       |         s1 += 4;
    0x0001870c jalr t9                               |         t9 ();
    0x00018710 lw a0, (s1)                           |         a0 = *(s1);
    0x00018714 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00018718 bnez a0, 0x18704                      |         
                                                     |     } while (a0 != 0);
    0x0001871c lw t9, -0x7ca4(gp)                    |     t9 = sym.imp.g_slice_free1;
    0x00018720 lw a1, 0x28(sp)                       |     a1 = *(var_28h);
    0x00018724 lw a0, 0x2c(sp)                       |     a0 = *(var_2ch);
    0x00018728 jalr t9                               |     t9 ();
    0x0001872c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     | label_6:
    0x00018730 lw t9, -0x7aac(gp)                    |     t9 = sym.imp.g_key_file_to_data;
    0x00018734 move a2, s4                           |     a2 = s4;
    0x00018738 addiu a1, sp, 0x30                    |     a1 = sp + 0x30;
    0x0001873c move a0, s0                           |     a0 = s0;
    0x00018740 jalr t9                               |     t9 ();
    0x00018744 move s1, v0                           |     s1 = v0;
    0x00018748 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0001874c beqz v0, 0x18808                      |         
    0x00018750 lw t9, -0x792c(gp)                    |         t9 = sym.imp.g_strdup;
    0x00018754 move a0, v0                           |         a0 = v0;
    0x00018758 jalr t9                               |         t9 ();
    0x0001875c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00018760 lw v1, 0x24(sp)                       |         v1 = *(var_24h);
    0x00018764 sw v0, (s7)                           |         *(s7) = v0;
    0x00018768 lw v0, 0x30(sp)                       |         v0 = *(var_30h);
    0x0001876c lw t9, -0x7c4c(gp)                    |         t9 = sym.imp.g_key_file_free;
    0x00018770 sw v0, (v1)                           |         *(v1) = v0;
    0x00018774 move a0, s0                           |         a0 = s0;
    0x00018778 jalr t9                               |         t9 ();
    0x0001877c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00018780 lw t9, -0x7864(gp)                    |         t9 = *((gp - 7705));
    0x00018784 move a0, s1                           |         a0 = s1;
    0x00018788 jalr t9                               |         t9 ();
    0x0001878c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00018790 addiu v0, zero, 1                     |         v0 = 1;
    0x00018794 b 0x184d4                             |         goto label_0;
                                                     | label_3:
    0x00018798 lw t9, -0x7c14(gp)                    |         t9 = sym.imp.ae_error_quark;
    0x0001879c jalr t9                               |         t9 ();
    0x000187a0 nop                                   |         
    0x000187a4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x000187a8 lw a0, 0xc(s3)                        |         a0 = *((s3 + 3));
    0x000187ac lw v1, 0x10(s3)                       |         v1 = *((s3 + 4));
    0x000187b0 lw a3, -0x7fd0(gp)                    |         a3 = *((gp - 8180));
    0x000187b4 lw t9, -0x7b10(gp)                    |         t9 = sym.imp.g_set_error;
    0x000187b8 sw a0, 0x14(sp)                       |         *(var_14h) = a0;
    0x000187bc move a1, v0                           |         a1 = v0;
    0x000187c0 sw v1, 0x10(sp)                       |         *(var_10h) = v1;
                                                     |         /* str.Failed_to_serialize_rule__s_to_path__s */
    0x000187c4 addiu a3, a3, -0x65e8                 |         a3 += -0x65e8;
    0x000187c8 addiu a2, zero, 4                     |         a2 = 4;
    0x000187cc move a0, s4                           |         a0 = s4;
    0x000187d0 jalr t9                               |         t9 ();
    0x000187d4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x000187d8 move v0, zero                         |         v0 = 0;
    0x000187dc b 0x184d4                             |         goto label_0;
                                                     | label_5:
    0x000187e0 lw a0, -0x7fd8(gp)                    |         a0 = *(gp);
    0x000187e4 lw t9, -0x792c(gp)                    |         t9 = sym.imp.g_strdup;
    0x000187e8 addiu a0, a0, 0x6dd0                  |         a0 += 0x6dd0;
    0x000187ec jalr t9                               |         t9 ();
    0x000187f0 move a3, v0                           |         a3 = v0;
    0x000187f4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x000187f8 sw v0, 0x14(s3)                       |         *((s3 + 5)) = v0;
    0x000187fc b 0x1853c                             |         goto label_1;
                                                     | label_7:
    0x00018800 lw v0, 0x28(sp)                       |         v0 = *(var_28h);
    0x00018804 b 0x186d0                             |         goto label_2;
                                                     |     }
    0x00018808 lw t9, -0x7c4c(gp)                    |     t9 = sym.imp.g_key_file_free;
    0x0001880c move a0, s0                           |     a0 = s0;
    0x00018810 jalr t9                               |     t9 ();
    0x00018814 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00018818 move v0, zero                         |     v0 = 0;
    0x0001881c b 0x184d4                             |     goto label_0;
                                                     | label_4:
    0x00018820 lw t9, -0x7ba8(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x00018824 jalr t9                               |     t9 ();
    0x00018828 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x1882c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.action_rule_serialize ()     | void action_rule_serialize () {
    0x0001882c lui gp, 3                     |     
    0x00018830 addiu gp, gp, -0x46ec         |     
    0x00018834 addu gp, gp, t9               |     gp += t9;
    0x00018838 addiu sp, sp, -0x90           |     
    0x0001883c lw t9, -0x7dd8(gp)            |     t9 = sym.action_rule_serialize_to_data;
    0x00018840 sw s6, 0x80(sp)               |     *(var_80h) = s6;
    0x00018844 lw s6, -0x7b1c(gp)            |     s6 = *((gp - 7879));
    0x00018848 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0001884c sw s1, 0x6c(sp)               |     *(var_6ch) = s1;
    0x00018850 lw v0, (s6)                   |     v0 = *(s6);
    0x00018854 sw s0, 0x68(sp)               |     *(var_68h) = s0;
    0x00018858 move a3, a1                   |     a3 = a1;
    0x0001885c sw ra, 0x8c(sp)               |     *(var_8ch) = ra;
    0x00018860 sw fp, 0x88(sp)               |     *(var_88h) = fp;
    0x00018864 sw s7, 0x84(sp)               |     *(var_84h) = s7;
    0x00018868 sw s5, 0x7c(sp)               |     *(var_7ch) = s5;
    0x0001886c sw s4, 0x78(sp)               |     *(var_78h) = s4;
    0x00018870 sw s3, 0x74(sp)               |     *(var_74h) = s3;
    0x00018874 sw s2, 0x70(sp)               |     *(var_70h) = s2;
    0x00018878 move s1, a1                   |     s1 = a1;
    0x0001887c addiu a2, sp, 0x58            |     a2 = sp + 0x58;
    0x00018880 addiu a1, sp, 0x50            |     a1 = sp + 0x50;
    0x00018884 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x00018888 sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x0001888c sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x00018890 sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x00018894 move s0, a0                   |     s0 = a0;
    0x00018898 bal 0x18428                   |     sym_action_rule_serialize_to_data ();
    0x0001889c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000188a0 bnez v0, 0x18908              |     
                                             |     while (v0 == 0) {
                                             | label_0:
    0x000188a4 move s0, zero                 |         s0 = 0;
                                             | label_6:
    0x000188a8 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
    0x000188ac lw a0, 0x54(sp)               |         a0 = *(var_54h);
    0x000188b0 jalr t9                       |         t9 ();
    0x000188b4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000188b8 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
    0x000188bc lw a0, 0x50(sp)               |         a0 = *(var_50h);
    0x000188c0 jalr t9                       |         t9 ();
    0x000188c4 lw a0, 0x64(sp)               |         a0 = *(var_64h);
    0x000188c8 lw v1, (s6)                   |         v1 = *(s6);
    0x000188cc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000188d0 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x000188d4 bne a0, v1, 0x19188           |             goto label_14;
                                             |         }
    0x000188d8 lw ra, 0x8c(sp)               |         ra = *(var_8ch);
    0x000188dc lw fp, 0x88(sp)               |         fp = *(var_88h);
    0x000188e0 lw s7, 0x84(sp)               |         s7 = *(var_84h);
    0x000188e4 lw s6, 0x80(sp)               |         s6 = *(var_80h);
    0x000188e8 lw s5, 0x7c(sp)               |         s5 = *(var_7ch);
    0x000188ec lw s4, 0x78(sp)               |         s4 = *(var_78h);
    0x000188f0 lw s3, 0x74(sp)               |         s3 = *(var_74h);
    0x000188f4 lw s2, 0x70(sp)               |         s2 = *(var_70h);
    0x000188f8 lw s1, 0x6c(sp)               |         s1 = *(var_6ch);
    0x000188fc lw s0, 0x68(sp)               |         s0 = *(var_68h);
    0x00018900 addiu sp, sp, 0x90            |         
    0x00018904 jr ra                         |         return v1;
    0x00018908 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0001890c lw t9, -0x7e9c(gp)            |         t9 = sym.create_file_path;
    0x00018910 lw a1, 0xc(s0)                |         a1 = *((s0 + 3));
    0x00018914 lw a0, 0x10(s0)               |         a0 = *((s0 + 4));
    0x00018918 addiu v0, sp, 0x54            |         v0 = sp + 0x54;
    0x0001891c sw s1, 0x14(sp)               |         *(var_14h) = s1;
    0x00018920 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00018924 addiu a3, zero, 1             |         a3 = 1;
                                             |         /* str.conf */
    0x00018928 addiu a2, a2, 0x6ec4          |         a2 += 0x6ec4;
    0x0001892c bal 0x11b54                   |         sym_create_file_path ();
    0x00018930 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018934 beqz v0, 0x188a4              |         
                                             |     }
    0x00018938 lw t9, -0x7c08(gp)            |     t9 = sym.imp.g_file_set_contents;
    0x0001893c lw a2, 0x58(sp)               |     a2 = *(var_58h);
    0x00018940 lw a1, 0x50(sp)               |     a1 = *(var_50h);
    0x00018944 lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x00018948 move a3, s1                   |     a3 = s1;
    0x0001894c jalr t9                       |     t9 ();
    0x00018950 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018954 beqz v0, 0x188a4              |         goto label_0;
                                             |     }
    0x00018958 lw s2, 0x3c(s0)               |     s2 = *((s0 + 15));
    0x0001895c lw a0, -0x7fd0(gp)            |     a0 = *((gp - 8180));
                                             |     if (s2 == 0) {
    0x00018960 beqz s2, 0x18b70              |         goto label_15;
                                             |     }
    0x00018964 lw t9, -0x7a38(gp)            |     t9 = sym.imp.g_strdup_printf;
    0x00018968 lw a2, 0x10(s0)               |     a2 = *((s0 + 4));
    0x0001896c lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
                                             |     /* str._s__s_event.xml */
    0x00018970 addiu a0, a0, -0x656c         |     a0 += -aav.0x0000656c;
    0x00018974 lw s3, -0x7fd0(gp)            |     s3 = *((gp - 8180));
    0x00018978 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x0001897c jalr t9                       |     t9 ();
    0x00018980 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     /* str..tmp */
    0x00018984 addiu a1, s3, -0x655c         |     a1 = s3 + -0x655c;
    0x00018988 move a2, zero                 |     a2 = 0;
    0x0001898c lw t9, -0x7968(gp)            |     t9 = sym.imp.g_strconcat;
    0x00018990 move a0, v0                   |     a0 = v0;
    0x00018994 move s5, v0                   |     s5 = v0;
    0x00018998 jalr t9                       |     t9 ();
    0x0001899c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000189a0 move a0, v0                   |     a0 = v0;
    0x000189a4 lw t9, -0x7c68(gp)            |     t9 = sym.imp.g_file_new_for_path;
    0x000189a8 move s4, v0                   |     s4 = v0;
    0x000189ac jalr t9                       |     t9 ();
    0x000189b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000189b4 move s7, v0                   |     s7 = v0;
    0x000189b8 addiu v0, sp, 0x5c            |     v0 = sp + 0x5c;
    0x000189bc lw t9, -0x7a98(gp)            |     t9 = sym.imp.g_file_replace;
    0x000189c0 sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x000189c4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000189c8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000189cc move a3, zero                 |     a3 = 0;
    0x000189d0 move a2, zero                 |     a2 = 0;
    0x000189d4 move a1, zero                 |     a1 = 0;
    0x000189d8 move a0, s7                   |     a0 = s7;
    0x000189dc jalr t9                       |     t9 ();
    0x000189e0 move s3, v0                   |     s3 = v0;
    0x000189e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000189e8 beqz v0, 0x19064              |         goto label_16;
                                             |     }
    0x000189ec lw t9, -0x7a48(gp)            |     t9 = sym.imp.subscribe_expression_serialize_xml;
    0x000189f0 move a0, s2                   |     a0 = s2;
    0x000189f4 jalr t9                       |     t9 ();
    0x000189f8 move s2, v0                   |     s2 = v0;
    0x000189fc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018a00 beqz v0, 0x19008              |         goto label_17;
                                             |     }
    0x00018a04 lw t9, -0x7bcc(gp)            |     t9 = sym.imp.g_utf8_strlen;
    0x00018a08 addiu a1, zero, 0x400         |     a1 = 0x400;
    0x00018a0c move a0, v0                   |     a0 = v0;
    0x00018a10 jalr t9                       |     t9 ();
    0x00018a14 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018a18 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.g_output_stream_get_type;
    0x00018a1c sw v0, 0x20(sp)               |     *(var_20h_2) = v0;
    0x00018a20 jalr t9                       |     t9 ();
    0x00018a24 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018a28 move a1, v0                   |     a1 = v0;
    0x00018a2c move a0, s3                   |     a0 = s3;
    0x00018a30 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.g_type_check_instance_cast;
    0x00018a34 move fp, v0                   |     fp = v0;
    0x00018a38 jalr t9                       |     t9 ();
    0x00018a3c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018a40 lw v1, 0x24(sp)               |     v1 = *(var_24h_2);
    0x00018a44 lw a2, 0x20(sp)               |     a2 = *(var_20h_2);
    0x00018a48 lw t9, -0x7c9c(gp)            |     t9 = sym.imp.g_output_stream_write_all;
    0x00018a4c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00018a50 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00018a54 addiu a3, sp, 0x60            |     a3 = sp + 0x60;
    0x00018a58 move a1, s2                   |     a1 = s2;
    0x00018a5c move a0, v0                   |     a0 = v0;
    0x00018a60 jalr t9                       |     t9 ();
    0x00018a64 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018a68 beqz v0, 0x18f30              |         goto label_18;
                                             |     }
    0x00018a6c lw t9, -0x7ba0(gp)            |     t9 = sym.imp.g_type_check_instance_cast;
    0x00018a70 move a1, fp                   |     a1 = fp;
    0x00018a74 move a0, s3                   |     a0 = s3;
    0x00018a78 jalr t9                       |     t9 ();
    0x00018a7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018a80 lw a2, 0x24(sp)               |     a2 = *(var_24h_2);
    0x00018a84 move a1, zero                 |     a1 = 0;
    0x00018a88 lw t9, -0x78fc(gp)            |     t9 = sym.imp.g_output_stream_close;
    0x00018a8c move a0, v0                   |     a0 = v0;
    0x00018a90 jalr t9                       |     t9 ();
    0x00018a94 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018a98 beqz v0, 0x190b0              |         goto label_19;
                                             |     }
    0x00018a9c lw t9, -0x7988(gp)            |     t9 = sym.imp.rename;
    0x00018aa0 move a1, s5                   |     a1 = s5;
    0x00018aa4 move a0, s4                   |     a0 = s4;
    0x00018aa8 jalr t9                       |     t9 ();
    0x00018aac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00018ab0 bltz v0, 0x190d4              |         goto label_20;
                                             |     }
    0x00018ab4 lw t9, -0x7874(gp)            |     t9 = sym.imp.open;
    0x00018ab8 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x00018abc move a1, zero                 |     a1 = 0;
    0x00018ac0 jalr t9                       |     t9 ();
    0x00018ac4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00018ac8 bltz v0, 0x19110              |         goto label_21;
                                             |     }
    0x00018acc lw t9, -0x7a8c(gp)            |     t9 = sym.imp.fsync;
    0x00018ad0 move a0, v0                   |     a0 = v0;
    0x00018ad4 sw v0, 0x20(sp)               |     *(var_20h_2) = v0;
    0x00018ad8 jalr t9                       |     t9 ();
    0x00018adc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018ae0 lw v1, 0x20(sp)               |     v1 = *(var_20h_2);
                                             |     if (v0 < 0) {
    0x00018ae4 bltz v0, 0x19138              |         goto label_22;
                                             |     }
    0x00018ae8 lw t9, -0x7b68(gp)            |     t9 = sym.imp.close;
    0x00018aec move a0, v1                   |     a0 = v1;
    0x00018af0 sw v1, 0x20(sp)               |     *(var_20h_2) = v1;
    0x00018af4 jalr t9                       |     t9 ();
    0x00018af8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00018afc bltz v0, 0x19160              |         goto label_23;
                                             |     }
    0x00018b00 addiu fp, zero, 1             |     fp = 1;
                                             | label_7:
    0x00018b04 lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
    0x00018b08 lw t9, -0x7c58(gp)            |     t9 = sym.imp.g_error_free;
                                             |     if (a0 != 0) {
    0x00018b0c beqz a0, 0x18b1c              |         
    0x00018b10 jalr t9                       |         t9 ();
    0x00018b14 nop                           |         
    0x00018b18 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00018b1c lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x00018b20 move a0, s2                   |     a0 = s2;
    0x00018b24 jalr t9                       |     t9 ();
    0x00018b28 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s5 == 0) {
    0x00018b2c beqz s5, 0x18fa4              |         goto label_24;
                                             |     }
                                             | label_10:
    0x00018b30 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x00018b34 move a0, s5                   |     a0 = s5;
    0x00018b38 jalr t9                       |     t9 ();
    0x00018b3c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_11:
    0x00018b40 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
                                             |     if (s3 != 0) {
    0x00018b44 bnez s3, 0x18fa8              |         goto label_25;
                                             |     }
                                             | label_8:
    0x00018b48 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
                                             |     if (s7 != 0) {
    0x00018b4c beqz s7, 0x18b5c              |         
    0x00018b50 move a0, s7                   |         a0 = s7;
    0x00018b54 jalr t9                       |         t9 ();
    0x00018b58 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00018b5c lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x00018b60 move a0, s4                   |     a0 = s4;
    0x00018b64 jalr t9                       |     t9 ();
    0x00018b68 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (fp == 0) {
    0x00018b6c beqz fp, 0x188a4              |         goto label_0;
                                             |     }
                                             | label_15:
    0x00018b70 lw a0, 0x40(s0)               |     a0 = *((s0 + 16));
    0x00018b74 lw t9, -0x7a10(gp)            |     t9 = sym.imp.g_list_length;
                                             |     if (a0 == 0) {
    0x00018b78 beqz a0, 0x18f1c              |         goto label_26;
                                             |     }
    0x00018b7c jalr t9                       |     t9 ();
    0x00018b80 nop                           |     
    0x00018b84 lw v1, 0x40(s0)               |     v1 = *((s0 + 16));
    0x00018b88 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018b8c sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x00018b90 sw v1, 0x20(sp)               |     *(var_20h_2) = v1;
                                             |     if (v0 == 0) {
    0x00018b94 beqz v0, 0x18f1c              |         goto label_26;
                                             |     }
    0x00018b98 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00018b9c move s4, zero                 |     s4 = 0;
    0x00018ba0 sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
    0x00018ba4 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00018ba8 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x00018bac lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00018bb0 sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
    0x00018bb4 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00018bb8 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00018bbc addiu v0, sp, 0x5c            |     v0 = sp + 0x5c;
    0x00018bc0 sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x00018bc4 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
                                             |     /* str.Failed_to_serialize_event_to_file:__s */
    0x00018bc8 addiu v0, v0, -0x6538         |     v0 += -0x6538;
    0x00018bcc sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x00018bd0 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
                                             |     /* str.Failed_to_close_dir:___d_ */
    0x00018bd4 addiu v0, v0, -0x6468         |     v0 += -0x6468;
    0x00018bd8 sw v0, 0x4c(sp)               |     *(var_4ch_2) = v0;
    0x00018bdc lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
                                             |     /* str.Failed_to_get_file_descriptor_for:___s_ */
    0x00018be0 addiu v0, v0, -0x64b0         |     v0 += -0x64b0;
    0x00018be4 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x00018be8 b 0x18c34                     |     goto label_27;
                                             | label_1:
    0x00018bec lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
                                             |     if (s7 != 0) {
    0x00018bf0 beqz s7, 0x18c00              |         
    0x00018bf4 move a0, s7                   |         a0 = s7;
    0x00018bf8 jalr t9                       |         t9 ();
    0x00018bfc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00018c00 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x00018c04 move a0, s3                   |     a0 = s3;
    0x00018c08 jalr t9                       |     t9 ();
    0x00018c0c lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x00018c10 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018c14 beqz v0, 0x188a4              |         goto label_0;
                                             |     }
    0x00018c18 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x00018c1c addiu s4, s4, 1               |     s4++;
    0x00018c20 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00018c24 sw v0, 0x20(sp)               |     *(var_20h_2) = v0;
    0x00018c28 lw v0, 0x38(sp)               |     v0 = *(var_38h_2);
    0x00018c2c lw t9, -0x7e48(gp)            |     t9 = sym.sync_filesystem
                                             |     if (v0 == s4) {
    0x00018c30 beq v0, s4, 0x18f20           |         goto label_28;
                                             |     }
                                             | label_27:
    0x00018c34 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
    0x00018c38 lw t9, -0x7a38(gp)            |     t9 = sym.imp.g_strdup_printf;
    0x00018c3c addiu a0, v0, -0x644c         |     a0 = v0 + -0x644c;
    0x00018c40 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x00018c44 lw a2, 0x10(s0)               |     a2 = *((s0 + 4));
    0x00018c48 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
    0x00018c4c move a3, s4                   |     a3 = s4;
    0x00018c50 lw fp, (v0)                   |     fp = *(v0);
    0x00018c54 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x00018c58 jalr t9                       |     t9 ();
    0x00018c5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018c60 move s5, v0                   |     s5 = v0;
    0x00018c64 lw v0, 0x30(sp)               |     v0 = *(var_30h_2);
    0x00018c68 lw t9, -0x7968(gp)            |     t9 = sym.imp.g_strconcat;
    0x00018c6c move a2, zero                 |     a2 = 0;
    0x00018c70 addiu a1, v0, -0x655c         |     a1 = v0 + -0x655c;
    0x00018c74 move a0, s5                   |     a0 = s5;
    0x00018c78 jalr t9                       |     t9 ();
    0x00018c7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018c80 move a0, v0                   |     a0 = v0;
    0x00018c84 lw t9, -0x7c68(gp)            |     t9 = sym.imp.g_file_new_for_path;
    0x00018c88 move s3, v0                   |     s3 = v0;
    0x00018c8c jalr t9                       |     t9 ();
    0x00018c90 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018c94 move s7, v0                   |     s7 = v0;
    0x00018c98 lw v0, 0x24(sp)               |     v0 = *(var_24h_2);
    0x00018c9c lw t9, -0x7a98(gp)            |     t9 = sym.imp.g_file_replace;
    0x00018ca0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00018ca4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00018ca8 move a3, zero                 |     a3 = 0;
    0x00018cac move a2, zero                 |     a2 = 0;
    0x00018cb0 move a1, zero                 |     a1 = 0;
    0x00018cb4 move a0, s7                   |     a0 = s7;
    0x00018cb8 jalr t9                       |     t9 ();
    0x00018cbc move s2, v0                   |     s2 = v0;
    0x00018cc0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018cc4 beqz v0, 0x18ed4              |         goto label_29;
                                             |     }
    0x00018cc8 lw t9, -0x78bc(gp)            |     t9 = sym.imp.property_state_serialize_xml;
    0x00018ccc move a0, fp                   |     a0 = fp;
    0x00018cd0 jalr t9                       |     t9 ();
    0x00018cd4 move fp, v0                   |     fp = v0;
    0x00018cd8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018cdc beqz v0, 0x18e44              |         goto label_30;
                                             |     }
    0x00018ce0 lw t9, -0x7bcc(gp)            |     t9 = sym.imp.g_utf8_strlen;
    0x00018ce4 addiu a1, zero, 0x400         |     a1 = 0x400;
    0x00018ce8 move a0, v0                   |     a0 = v0;
    0x00018cec jalr t9                       |     t9 ();
    0x00018cf0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018cf4 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.g_output_stream_get_type;
    0x00018cf8 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x00018cfc jalr t9                       |     t9 ();
    0x00018d00 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018d04 move a1, v0                   |     a1 = v0;
    0x00018d08 move a0, s2                   |     a0 = s2;
    0x00018d0c lw t9, -0x7ba0(gp)            |     t9 = sym.imp.g_type_check_instance_cast;
    0x00018d10 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x00018d14 jalr t9                       |     t9 ();
    0x00018d18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018d1c lw v1, 0x24(sp)               |     v1 = *(var_24h_2);
    0x00018d20 lw a2, 0x2c(sp)               |     a2 = *(var_2ch_2);
    0x00018d24 lw t9, -0x7c9c(gp)            |     t9 = sym.imp.g_output_stream_write_all;
    0x00018d28 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00018d2c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00018d30 addiu a3, sp, 0x60            |     a3 = sp + 0x60;
    0x00018d34 move a1, fp                   |     a1 = fp;
    0x00018d38 move a0, v0                   |     a0 = v0;
    0x00018d3c jalr t9                       |     t9 ();
    0x00018d40 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018d44 lw v1, 0x28(sp)               |     v1 = *(var_28h);
                                             |     if (v0 == 0) {
    0x00018d48 beqz v0, 0x18e9c              |         goto label_31;
                                             |     }
    0x00018d4c lw t9, -0x7ba0(gp)            |     t9 = sym.imp.g_type_check_instance_cast;
    0x00018d50 move a1, v1                   |     a1 = v1;
    0x00018d54 move a0, s2                   |     a0 = s2;
    0x00018d58 jalr t9                       |     t9 ();
    0x00018d5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018d60 lw a2, 0x24(sp)               |     a2 = *(var_24h_2);
    0x00018d64 move a1, zero                 |     a1 = 0;
    0x00018d68 lw t9, -0x78fc(gp)            |     t9 = sym.imp.g_output_stream_close;
    0x00018d6c move a0, v0                   |     a0 = v0;
    0x00018d70 jalr t9                       |     t9 ();
    0x00018d74 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00018d78 beqz v0, 0x18ef8              |         goto label_32;
                                             |     }
    0x00018d7c lw t9, -0x7988(gp)            |     t9 = sym.imp.rename;
    0x00018d80 move a1, s5                   |     a1 = s5;
    0x00018d84 move a0, s3                   |     a0 = s3;
    0x00018d88 jalr t9                       |     t9 ();
    0x00018d8c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00018d90 bltz v0, 0x18f68              |         goto label_33;
                                             |     }
    0x00018d94 lw t9, -0x7874(gp)            |     t9 = sym.imp.open;
    0x00018d98 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x00018d9c move a1, zero                 |     a1 = 0;
    0x00018da0 jalr t9                       |     t9 ();
    0x00018da4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00018da8 bltz v0, 0x18fb8              |         goto label_34;
                                             |     }
    0x00018dac lw t9, -0x7a8c(gp)            |     t9 = sym.imp.fsync;
    0x00018db0 move a0, v0                   |     a0 = v0;
    0x00018db4 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x00018db8 jalr t9                       |     t9 ();
    0x00018dbc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018dc0 lw v1, 0x28(sp)               |     v1 = *(var_28h);
                                             |     if (v0 < 0) {
    0x00018dc4 bltz v0, 0x18fdc              |         goto label_35;
                                             |     }
    0x00018dc8 lw t9, -0x7b68(gp)            |     t9 = sym.imp.close;
    0x00018dcc move a0, v1                   |     a0 = v1;
    0x00018dd0 sw v1, 0x28(sp)               |     *(var_28h) = v1;
    0x00018dd4 jalr t9                       |     t9 ();
    0x00018dd8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018ddc lw v1, 0x28(sp)               |     v1 = *(var_28h);
                                             |     if (v0 < 0) {
    0x00018de0 bltz v0, 0x19088              |         goto label_36;
                                             |     }
    0x00018de4 addiu v0, zero, 1             |     v0 = 1;
    0x00018de8 sw v0, 0x28(sp)               |     *(var_28h) = v0;
                                             | label_4:
    0x00018dec lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
    0x00018df0 lw t9, -0x7c58(gp)            |     t9 = sym.imp.g_error_free;
                                             |     if (a0 != 0) {
    0x00018df4 beqz a0, 0x18e04              |         
    0x00018df8 jalr t9                       |         t9 ();
    0x00018dfc nop                           |         
    0x00018e00 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00018e04 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x00018e08 move a0, fp                   |     a0 = fp;
    0x00018e0c jalr t9                       |     t9 ();
    0x00018e10 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s5 == 0) {
    0x00018e14 beqz s5, 0x18e30              |         goto label_37;
                                             |     }
                                             | label_2:
    0x00018e18 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x00018e1c move a0, s5                   |     a0 = s5;
    0x00018e20 jalr t9                       |     t9 ();
    0x00018e24 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s2 == 0) {
                                             | label_3:
    0x00018e28 beqz s2, 0x18bec              |         goto label_1;
                                             |     }
    0x00018e2c nop                           |     
                                             | label_37:
    0x00018e30 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
    0x00018e34 move a0, s2                   |     a0 = s2;
    0x00018e38 jalr t9                       |     t9 ();
    0x00018e3c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018e40 b 0x18bec                     |     goto label_1;
                                             | label_30:
    0x00018e44 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00018e48 jalr t9                       |     t9 ();
    0x00018e4c nop                           |     
    0x00018e50 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018e54 lw a3, 0x3c(sp)               |     a3 = *(var_3ch_2);
    0x00018e58 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x00018e5c lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             | label_5:
    0x00018e60 move a0, s1                   |     a0 = s1;
    0x00018e64 addiu a2, zero, 1             |     a2 = 1;
    0x00018e68 move a1, v0                   |     a1 = v0;
    0x00018e6c jalr t9                       |     t9 ();
    0x00018e70 lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
    0x00018e74 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != 0) {
    0x00018e78 beqz a0, 0x18e8c              |         
    0x00018e7c lw t9, -0x7c58(gp)            |         t9 = sym.imp.g_error_free;
    0x00018e80 jalr t9                       |         t9 ();
    0x00018e84 nop                           |         
    0x00018e88 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00018e8c sw zero, 0x28(sp)             |     *(var_28h) = 0;
                                             |     if (s5 != 0) {
    0x00018e90 bnez s5, 0x18e18              |         goto label_2;
                                             |     }
    0x00018e94 b 0x18e28                     |     goto label_3;
    0x00018e98 nop                           |     
                                             | label_31:
    0x00018e9c lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00018ea0 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00018ea4 jalr t9                       |     t9 ();
    0x00018ea8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018eac sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x00018eb0 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x00018eb4 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Failed_to_write_file:__s */
    0x00018eb8 addiu a3, a3, -0x6510         |     a3 += -0x6510;
                                             |     do {
                                             | label_9:
    0x00018ebc addiu a2, zero, 1             |         a2 = 1;
    0x00018ec0 move a1, v0                   |         a1 = v0;
    0x00018ec4 move a0, s1                   |         a0 = s1;
    0x00018ec8 jalr t9                       |         t9 ();
    0x00018ecc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018ed0 b 0x18dec                     |         goto label_4;
                                             | label_29:
    0x00018ed4 lw t9, -0x7c14(gp)            |         t9 = sym.imp.ae_error_quark;
    0x00018ed8 jalr t9                       |         t9 ();
    0x00018edc nop                           |         
    0x00018ee0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018ee4 sw s3, 0x10(sp)               |         *(var_10h) = s3;
    0x00018ee8 lw a3, -0x7fd0(gp)            |         a3 = *((gp - 8180));
    0x00018eec lw t9, -0x7b10(gp)            |         t9 = sym.imp.g_set_error;
                                             |         /* str.Failed_to_create_file:__s */
    0x00018ef0 addiu a3, a3, -0x6554         |         a3 += -0x6554;
    0x00018ef4 b 0x18e60                     |         goto label_5;
                                             | label_32:
    0x00018ef8 lw t9, -0x7c14(gp)            |         t9 = sym.imp.ae_error_quark;
    0x00018efc sw zero, 0x28(sp)             |         *(var_28h) = 0;
    0x00018f00 jalr t9                       |         t9 ();
    0x00018f04 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00018f08 sw s3, 0x10(sp)               |         *(var_10h) = s3;
    0x00018f0c lw a3, -0x7fd0(gp)            |         a3 = *((gp - 8180));
    0x00018f10 lw t9, -0x7b10(gp)            |         t9 = sym.imp.g_set_error;
                                             |         /* str.Failed_to_close_file:__s */
    0x00018f14 addiu a3, a3, -0x64f4         |         a3 += -0x64f4;
    0x00018f18 b 0x18ebc                     |         
                                             |     } while (1);
                                             | label_26:
    0x00018f1c lw t9, -0x7e48(gp)            |     t9 = sym.sync_filesystem
                                             | label_28:
    0x00018f20 addiu s0, zero, 1             |     s0 = 1;
    0x00018f24 bal 0x11a20                   |     sym_sync_filesystem ()
    0x00018f28 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018f2c b 0x188a8                     |     goto label_6;
                                             | label_18:
    0x00018f30 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00018f34 move fp, zero                 |     fp = 0;
    0x00018f38 jalr t9                       |     t9 ();
    0x00018f3c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018f40 sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x00018f44 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x00018f48 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Failed_to_write_file:__s */
    0x00018f4c addiu a3, a3, -0x6510         |     a3 += -0x6510;
                                             | label_13:
    0x00018f50 addiu a2, zero, 1             |     a2 = 1;
    0x00018f54 move a1, v0                   |     a1 = v0;
    0x00018f58 move a0, s1                   |     a0 = s1;
    0x00018f5c jalr t9                       |     t9 ();
    0x00018f60 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018f64 b 0x18b04                     |     goto label_7;
                                             | label_33:
    0x00018f68 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00018f6c sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00018f70 jalr t9                       |     t9 ();
    0x00018f74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018f78 lw v1, 0x40(sp)               |     v1 = *(var_40h_2);
    0x00018f7c sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x00018f80 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x00018f84 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x00018f88 addiu a3, v1, -0x64d8         |     a3 = v1 + -0x64d8;
    0x00018f8c addiu a2, zero, 1             |     a2 = 1;
    0x00018f90 move a1, v0                   |     a1 = v0;
    0x00018f94 move a0, s1                   |     a0 = s1;
    0x00018f98 jalr t9                       |     t9 ();
    0x00018f9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018fa0 b 0x18dec                     |     goto label_4;
                                             | label_24:
    0x00018fa4 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
                                             | label_25:
    0x00018fa8 move a0, s3                   |     a0 = s3;
    0x00018fac jalr t9                       |     t9 ();
    0x00018fb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018fb4 b 0x18b48                     |     goto label_8;
                                             | label_34:
    0x00018fb8 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00018fbc sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00018fc0 jalr t9                       |     t9 ();
    0x00018fc4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018fc8 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x00018fcc lw a3, 0x44(sp)               |     a3 = *(var_44h_2);
    0x00018fd0 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x00018fd4 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00018fd8 b 0x18ebc                     |     goto label_9;
                                             | label_35:
    0x00018fdc lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00018fe0 sw v1, 0x2c(sp)               |     *(var_2ch_2) = v1;
    0x00018fe4 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00018fe8 jalr t9                       |     t9 ();
    0x00018fec lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
    0x00018ff0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00018ff4 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00018ff8 lw v1, 0x48(sp)               |     v1 = *(var_48h_2);
    0x00018ffc lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x00019000 addiu a3, v1, -0x6488         |     a3 = v1 + -0x6488;
    0x00019004 b 0x18ebc                     |     goto label_9;
                                             | label_17:
    0x00019008 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001900c jalr t9                       |     t9 ();
    0x00019010 nop                           |     
    0x00019014 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019018 sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x0001901c lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x00019020 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Failed_to_serialize_event_to_file:__s */
    0x00019024 addiu a3, a3, -0x6538         |     a3 += -0x6538;
                                             | label_12:
    0x00019028 move a0, s1                   |     a0 = s1;
    0x0001902c addiu a2, zero, 1             |     a2 = 1;
    0x00019030 move a1, v0                   |     a1 = v0;
    0x00019034 jalr t9                       |     t9 ();
    0x00019038 lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
    0x0001903c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != 0) {
    0x00019040 beqz a0, 0x19054              |         
    0x00019044 lw t9, -0x7c58(gp)            |         t9 = sym.imp.g_error_free;
    0x00019048 jalr t9                       |         t9 ();
    0x0001904c nop                           |         
    0x00019050 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00019054 move fp, zero                 |     fp = 0;
                                             |     if (s5 != 0) {
    0x00019058 bnez s5, 0x18b30              |         goto label_10;
                                             |     }
    0x0001905c b 0x18b40                     |     goto label_11;
    0x00019060 nop                           |     
                                             | label_16:
    0x00019064 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00019068 jalr t9                       |     t9 ();
    0x0001906c nop                           |     
    0x00019070 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019074 sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x00019078 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x0001907c lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Failed_to_create_file:__s */
    0x00019080 addiu a3, a3, -0x6554         |     a3 += -0x6554;
    0x00019084 b 0x19028                     |     goto label_12;
                                             | label_36:
    0x00019088 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001908c sw v1, 0x2c(sp)               |     *(var_2ch_2) = v1;
    0x00019090 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00019094 jalr t9                       |     t9 ();
    0x00019098 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001909c lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
    0x000190a0 lw a3, 0x4c(sp)               |     a3 = *(var_4ch_2);
    0x000190a4 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x000190a8 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x000190ac b 0x18ebc                     |     goto label_9;
                                             | label_19:
    0x000190b0 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x000190b4 move fp, zero                 |     fp = 0;
    0x000190b8 jalr t9                       |     t9 ();
    0x000190bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000190c0 sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x000190c4 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x000190c8 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Failed_to_close_file:__s */
    0x000190cc addiu a3, a3, -0x64f4         |     a3 += -0x64f4;
    0x000190d0 b 0x18f50                     |     goto label_13;
                                             | label_20:
    0x000190d4 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x000190d8 move fp, zero                 |     fp = 0;
    0x000190dc jalr t9                       |     t9 ();
    0x000190e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000190e4 sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x000190e8 sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x000190ec lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x000190f0 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Failed_to_rename_from:___s__to:___s_ */
    0x000190f4 addiu a3, a3, -0x64d8         |     a3 += -0x64d8;
    0x000190f8 addiu a2, zero, 1             |     a2 = 1;
    0x000190fc move a1, v0                   |     a1 = v0;
    0x00019100 move a0, s1                   |     a0 = s1;
    0x00019104 jalr t9                       |     t9 ();
    0x00019108 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001910c b 0x18b04                     |     goto label_7;
                                             | label_21:
    0x00019110 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00019114 move fp, zero                 |     fp = 0;
    0x00019118 jalr t9                       |     t9 ();
    0x0001911c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019120 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x00019124 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x00019128 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0001912c sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.Failed_to_get_file_descriptor_for:___s_ */
    0x00019130 addiu a3, a3, -0x64b0         |     a3 += -0x64b0;
    0x00019134 b 0x18f50                     |     goto label_13;
                                             | label_22:
    0x00019138 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001913c move fp, zero                 |     fp = 0;
    0x00019140 jalr t9                       |     t9 ();
    0x00019144 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019148 lw v1, 0x20(sp)               |     v1 = *(var_20h_2);
    0x0001914c lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x00019150 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x00019154 sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.Failed_to_sync_directory:___d_ */
    0x00019158 addiu a3, a3, -0x6488         |     a3 += -0x6488;
    0x0001915c b 0x18f50                     |     goto label_13;
                                             | label_23:
    0x00019160 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x00019164 move fp, zero                 |     fp = 0;
    0x00019168 jalr t9                       |     t9 ();
    0x0001916c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019170 lw v1, 0x20(sp)               |     v1 = *(var_20h_2);
    0x00019174 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x00019178 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0001917c sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.Failed_to_close_dir:___d_ */
    0x00019180 addiu a3, a3, -0x6468         |     a3 += -0x6468;
    0x00019184 b 0x18f50                     |     goto label_13;
                                             | label_14:
    0x00019188 lw t9, -0x7ba8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001918c jalr t9                       |     t9 ();
    0x00019190 nop                           |     
                                             | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x1af24 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.recipient_serialize_to_data ()           | void recipient_serialize_to_data () {
    0x0001af24 lui gp, 3                                 |     
    0x0001af28 addiu gp, gp, -0x6de4                     |     
    0x0001af2c addu gp, gp, t9                           |     gp += t9;
    0x0001af30 addiu sp, sp, -0x70                       |     
    0x0001af34 lw t9, -0x7924(gp)                        |     t9 = sym.imp.g_key_file_new;
    0x0001af38 sw s3, 0x54(sp)                           |     *(var_54h) = s3;
    0x0001af3c lw s3, -0x7b1c(gp)                        |     s3 = *((gp - 7879));
    0x0001af40 sw gp, 0x18(sp)                           |     *(var_18h) = gp;
    0x0001af44 sw s6, 0x60(sp)                           |     *(var_60h) = s6;
    0x0001af48 lw v0, (s3)                               |     v0 = *(s3);
    0x0001af4c sw s5, 0x5c(sp)                           |     *(var_5ch) = s5;
    0x0001af50 sw s4, 0x58(sp)                           |     *(var_58h) = s4;
    0x0001af54 sw s1, 0x4c(sp)                           |     *(var_4ch) = s1;
    0x0001af58 sw ra, 0x6c(sp)                           |     *(var_6ch) = ra;
    0x0001af5c sw fp, 0x68(sp)                           |     *(var_68h) = fp;
    0x0001af60 sw s7, 0x64(sp)                           |     *(var_64h) = s7;
    0x0001af64 sw s2, 0x50(sp)                           |     *(var_50h) = s2;
    0x0001af68 sw s0, 0x48(sp)                           |     *(var_48h) = s0;
    0x0001af6c sw v0, 0x44(sp)                           |     *(var_44h) = v0;
    0x0001af70 sw zero, 0x20(sp)                         |     *(var_20h) = 0;
    0x0001af74 sw zero, 0x24(sp)                         |     *(var_24h) = 0;
    0x0001af78 move s1, a0                               |     s1 = a0;
    0x0001af7c move s6, a1                               |     s6 = a1;
    0x0001af80 move s5, a2                               |     s5 = a2;
    0x0001af84 move s4, a3                               |     s4 = a3;
    0x0001af88 jalr t9                                   |     t9 ();
    0x0001af8c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x0001af90 beqz v0, 0x1b144                          |         goto label_3;
                                                         |     }
    0x0001af94 lw a3, -0x7fd8(gp)                        |     a3 = *(gp);
    0x0001af98 lw t9, -0x7c0c(gp)                        |     t9 = sym.imp.g_key_file_set_comment;
    0x0001af9c sw s4, 0x10(sp)                           |     *(var_10h) = s4;
                                                         |     /* str.This_file_has_been_automatically_generated__DO_NOT_EDIT */
    0x0001afa0 addiu a3, a3, 0x6e54                      |     a3 += 0x6e54;
    0x0001afa4 move a2, zero                             |     a2 = 0;
    0x0001afa8 move a1, zero                             |     a1 = 0;
    0x0001afac move a0, v0                               |     a0 = v0;
    0x0001afb0 move s0, v0                               |     s0 = v0;
    0x0001afb4 jalr t9                                   |     t9 ();
    0x0001afb8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x0001afbc bnez v0, 0x1b014                          |         
                                                         | label_0:
    0x0001afc0 move s2, zero                             |         s2 = 0;
                                                         | label_1:
    0x0001afc4 lw t9, -0x7c4c(gp)                        |         t9 = sym.imp.g_key_file_free;
    0x0001afc8 move a0, s0                               |         a0 = s0;
    0x0001afcc jalr t9                                   |         t9 ();
    0x0001afd0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         | label_2:
    0x0001afd4 lw a0, 0x44(sp)                           |         a0 = *(var_44h);
    0x0001afd8 lw v1, (s3)                               |         v1 = *(s3);
    0x0001afdc move v0, s2                               |         v0 = s2;
                                                         |         if (a0 != v1) {
    0x0001afe0 bne a0, v1, 0x1b180                       |             goto label_4;
                                                         |         }
    0x0001afe4 lw ra, 0x6c(sp)                           |         ra = *(var_6ch);
    0x0001afe8 lw fp, 0x68(sp)                           |         fp = *(var_68h);
    0x0001afec lw s7, 0x64(sp)                           |         s7 = *(var_64h);
    0x0001aff0 lw s6, 0x60(sp)                           |         s6 = *(var_60h);
    0x0001aff4 lw s5, 0x5c(sp)                           |         s5 = *(var_5ch);
    0x0001aff8 lw s4, 0x58(sp)                           |         s4 = *(var_58h);
    0x0001affc lw s3, 0x54(sp)                           |         s3 = *(var_54h);
    0x0001b000 lw s2, 0x50(sp)                           |         s2 = *(var_50h);
    0x0001b004 lw s1, 0x4c(sp)                           |         s1 = *(var_4ch);
    0x0001b008 lw s0, 0x48(sp)                           |         s0 = *(var_48h);
    0x0001b00c addiu sp, sp, 0x70                        |         
    0x0001b010 jr ra                                     |         return v1;
                                                         |     }
    0x0001b014 lw s7, -0x7fd8(gp)                        |     s7 = *(gp);
    0x0001b018 lw a2, -0x7fd8(gp)                        |     a2 = *(gp);
    0x0001b01c lw t9, -0x7c34(gp)                        |     t9 = sym.imp.g_key_file_set_integer;
    0x0001b020 lw a3, 0x1c(s1)                           |     a3 = *((s1 + 7));
                                                         |     /* esilref: 'id' */
    0x0001b024 addiu a2, a2, 0x5218                      |     a2 += 0x5218;
                                                         |     /* str.recipient */
    0x0001b028 addiu a1, s7, 0x6cb8                      |     a1 = s7 + 0x6cb8;
    0x0001b02c move a0, s0                               |     a0 = s0;
    0x0001b030 jalr t9                                   |     t9 ();
    0x0001b034 lw a3, 0x10(s1)                           |     a3 = *((s1 + 4));
    0x0001b038 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (a3 != 0) {
    0x0001b03c beqz a3, 0x1b05c                          |         
    0x0001b040 lw a2, -0x7fd8(gp)                        |         a2 = *(gp);
    0x0001b044 lw t9, -0x7950(gp)                        |         t9 = sym.imp.g_key_file_set_string;
                                                         |         /* str.nice_name */
    0x0001b048 addiu a2, a2, 0x6ea4                      |         a2 += 0x6ea4;
                                                         |         /* str.recipient */
    0x0001b04c addiu a1, s7, 0x6cb8                      |         a1 = s7 + 0x6cb8;
    0x0001b050 move a0, s0                               |         a0 = s0;
    0x0001b054 jalr t9                                   |         t9 ();
    0x0001b058 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |     }
    0x0001b05c lw t9, -0x7f9c(gp)                        |     t9 = sym.recipient_template_get_id;
    0x0001b060 lw a0, 0x14(s1)                           |     a0 = *((s1 + 5));
    0x0001b064 addiu s2, sp, 0x2c                        |     s2 = sp + 0x2c;
    0x0001b068 bal 0xfa44                                |     sym_recipient_template_get_id ();
    0x0001b06c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     /* str.recipient */
    0x0001b070 addiu a1, s7, 0x6cb8                      |     a1 = s7 + 0x6cb8;
    0x0001b074 move a3, v0                               |     a3 = v0;
    0x0001b078 lw a2, -0x7fd0(gp)                        |     a2 = *((gp - 8180));
    0x0001b07c lw t9, -0x7950(gp)                        |     t9 = sym.imp.g_key_file_set_string;
                                                         |     /* str.template_id */
    0x0001b080 addiu a2, a2, -0x5d4c                     |     a2 += -0x5d4c;
    0x0001b084 move a0, s0                               |     a0 = s0;
    0x0001b088 jalr t9                                   |     t9 ();
    0x0001b08c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0001b090 lw a1, 0x18(s1)                           |     a1 = *((s1 + 6));
    0x0001b094 move a0, s2                               |     a0 = s2;
    0x0001b098 lw t9, -0x7a78(gp)                        |     t9 = sym.imp.g_hash_table_iter_init;
    0x0001b09c addiu fp, sp, 0x24                        |     fp = sp + 0x24;
    0x0001b0a0 jalr t9                                   |     t9 ();
    0x0001b0a4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0001b0a8 addiu s7, sp, 0x20                        |     s7 = sp + 0x20;
    0x0001b0ac lw s1, -0x7fd8(gp)                        |     s1 = *(gp);
                                                         |     /* str.parameters */
    0x0001b0b0 addiu s1, s1, 0x63cc                      |     s1 += 0x63cc;
    0x0001b0b4 b 0x1b0d4                                 |     
                                                         |     while (v0 != 0) {
    0x0001b0b8 lw t9, -0x7950(gp)                        |         t9 = sym.imp.g_key_file_set_string;
    0x0001b0bc lw a3, 0x24(sp)                           |         a3 = *(var_24h);
    0x0001b0c0 lw a2, 0x20(sp)                           |         a2 = *(var_20h);
    0x0001b0c4 move a1, s1                               |         a1 = s1;
    0x0001b0c8 move a0, s0                               |         a0 = s0;
    0x0001b0cc jalr t9                                   |         t9 ();
    0x0001b0d0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0001b0d4 lw t9, -0x7a74(gp)                        |         t9 = sym.imp.g_hash_table_iter_next;
    0x0001b0d8 move a2, fp                               |         a2 = fp;
    0x0001b0dc move a1, s7                               |         a1 = s7;
    0x0001b0e0 move a0, s2                               |         a0 = s2;
    0x0001b0e4 jalr t9                                   |         t9 ();
    0x0001b0e8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0001b0ec bnez v0, 0x1b0b8                          |         
                                                         |     }
    0x0001b0f0 lw t9, -0x7aac(gp)                        |     t9 = sym.imp.g_key_file_to_data;
    0x0001b0f4 move a2, s4                               |     a2 = s4;
    0x0001b0f8 addiu a1, sp, 0x28                        |     a1 = sp + 0x28;
    0x0001b0fc move a0, s0                               |     a0 = s0;
    0x0001b100 jalr t9                                   |     t9 ();
    0x0001b104 move s1, v0                               |     s1 = v0;
    0x0001b108 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x0001b10c beqz v0, 0x1afc0                          |         goto label_0;
                                                         |     }
    0x0001b110 lw t9, -0x792c(gp)                        |     t9 = sym.imp.g_strdup;
    0x0001b114 move a0, v0                               |     a0 = v0;
    0x0001b118 jalr t9                                   |     t9 ();
    0x0001b11c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0001b120 sw v0, (s6)                               |     *(s6) = v0;
    0x0001b124 lw v0, 0x28(sp)                           |     v0 = *(var_28h_3);
    0x0001b128 lw t9, -0x7864(gp)                        |     t9 = *((gp - 7705));
    0x0001b12c move a0, s1                               |     a0 = s1;
    0x0001b130 sw v0, (s5)                               |     *(s5) = v0;
    0x0001b134 jalr t9                                   |     t9 ();
    0x0001b138 addiu s2, zero, 1                         |     s2 = 1;
    0x0001b13c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0001b140 b 0x1afc4                                 |     goto label_1;
                                                         | label_3:
    0x0001b144 lw t9, -0x7c14(gp)                        |     t9 = sym.imp.ae_error_quark;
    0x0001b148 move s2, zero                             |     s2 = 0;
    0x0001b14c jalr t9                                   |     t9 ();
    0x0001b150 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0001b154 lw v1, 0x1c(s1)                           |     v1 = *((s1 + 7));
    0x0001b158 addiu a2, zero, 4                         |     a2 = 4;
    0x0001b15c lw a3, -0x7fd0(gp)                        |     a3 = *((gp - 8180));
    0x0001b160 lw t9, -0x7b10(gp)                        |     t9 = sym.imp.g_set_error;
    0x0001b164 sw v1, 0x10(sp)                           |     *(var_10h) = v1;
                                                         |     /* str.Failed_to_serialize_recipient:__u */
    0x0001b168 addiu a3, a3, -0x5d70                     |     a3 += -aav.0x00005d70;
    0x0001b16c move a1, v0                               |     a1 = v0;
    0x0001b170 move a0, s4                               |     a0 = s4;
    0x0001b174 jalr t9                                   |     t9 ();
    0x0001b178 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0001b17c b 0x1afd4                                 |     goto label_2;
                                                         | label_4:
    0x0001b180 lw t9, -0x7ba8(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x0001b184 jalr t9                                   |     t9 ();
    0x0001b188 nop                                       |     
                                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x1b18c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.recipient_serialize ()           | void recipient_serialize () {
    0x0001b18c lui gp, 3                         |     
    0x0001b190 addiu gp, gp, -0x704c             |     
    0x0001b194 addu gp, gp, t9                   |     gp += t9;
    0x0001b198 addiu sp, sp, -0x40               |     
    0x0001b19c lw t9, -0x7db8(gp)                |     t9 = sym.recipient_serialize_to_data;
    0x0001b1a0 sw s0, 0x30(sp)                   |     *(var_30h) = s0;
    0x0001b1a4 lw s0, -0x7b1c(gp)                |     s0 = *((gp - 7879));
    0x0001b1a8 sw gp, 0x18(sp)                   |     *(var_18h_2) = gp;
    0x0001b1ac sw s2, 0x38(sp)                   |     *(var_38h) = s2;
    0x0001b1b0 lw v0, (s0)                       |     v0 = *(s0);
    0x0001b1b4 sw s1, 0x34(sp)                   |     *(var_34h) = s1;
    0x0001b1b8 move a3, a1                       |     a3 = a1;
    0x0001b1bc sw ra, 0x3c(sp)                   |     *(var_3ch) = ra;
    0x0001b1c0 move s1, a1                       |     s1 = a1;
    0x0001b1c4 addiu a2, sp, 0x28                |     a2 = sp + 0x28;
    0x0001b1c8 addiu a1, sp, 0x20                |     a1 = sp + 0x20;
    0x0001b1cc sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
    0x0001b1d0 sw zero, 0x20(sp)                 |     *(var_20h_2) = 0;
    0x0001b1d4 sw zero, 0x24(sp)                 |     *(var_24h_2) = 0;
    0x0001b1d8 sw zero, 0x28(sp)                 |     *(var_28h) = 0;
    0x0001b1dc move s2, a0                       |     s2 = a0;
    0x0001b1e0 bal 0x1af24                       |     sym_recipient_serialize_to_data ();
    0x0001b1e4 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x0001b1e8 bnez v0, 0x1b238                  |     
                                                 |     while (v0 == 0) {
                                                 | label_0:
    0x0001b1ec move s1, zero                     |         s1 = 0;
                                                 | label_1:
    0x0001b1f0 lw t9, -0x7864(gp)                |         t9 = *((gp - 7705));
    0x0001b1f4 lw a0, 0x24(sp)                   |         a0 = *(var_24h_2);
    0x0001b1f8 jalr t9                           |         t9 ();
    0x0001b1fc lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x0001b200 lw t9, -0x7864(gp)                |         t9 = *((gp - 7705));
    0x0001b204 lw a0, 0x20(sp)                   |         a0 = *(var_20h_2);
    0x0001b208 jalr t9                           |         t9 ();
    0x0001b20c lw a0, 0x2c(sp)                   |         a0 = *(var_2ch);
    0x0001b210 lw v1, (s0)                       |         v1 = *(s0);
    0x0001b214 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x0001b218 move v0, s1                       |         v0 = s1;
                                                 |         if (a0 != v1) {
    0x0001b21c bne a0, v1, 0x1b2ac               |             goto label_2;
                                                 |         }
    0x0001b220 lw ra, 0x3c(sp)                   |         ra = *(var_3ch);
    0x0001b224 lw s2, 0x38(sp)                   |         s2 = *(var_38h);
    0x0001b228 lw s1, 0x34(sp)                   |         s1 = *(var_34h);
    0x0001b22c lw s0, 0x30(sp)                   |         s0 = *(var_30h);
    0x0001b230 addiu sp, sp, 0x40                |         
    0x0001b234 jr ra                             |         return v0;
    0x0001b238 lw a2, -0x7fd8(gp)                |         a2 = *(gp);
    0x0001b23c lw t9, -0x7e38(gp)                |         t9 = sym.create_file_path_uint;
    0x0001b240 lw a1, 0xc(s2)                    |         a1 = *((s2 + 3));
    0x0001b244 lw a0, 0x1c(s2)                   |         a0 = *((s2 + 7));
    0x0001b248 addiu v0, sp, 0x24                |         v0 = sp + 0x24;
    0x0001b24c sw s1, 0x14(sp)                   |         *(var_14h) = s1;
    0x0001b250 sw v0, 0x10(sp)                   |         *(var_10h_2) = v0;
    0x0001b254 addiu a3, zero, 1                 |         a3 = 1;
                                                 |         /* str.conf */
    0x0001b258 addiu a2, a2, 0x6ec4              |         a2 += 0x6ec4;
    0x0001b25c bal 0x11d48                       |         sym_create_file_path_uint ();
    0x0001b260 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x0001b264 beqz v0, 0x1b1ec                  |         
                                                 |     }
    0x0001b268 lw a1, -0x7fd0(gp)                |     a1 = *((gp - 8180));
    0x0001b26c lw v0, 0x28(sp)                   |     v0 = *(var_28h);
    0x0001b270 lw t9, -0x7db4(gp)                |     t9 = sym.set_file_contents;
    0x0001b274 lw a3, 0x20(sp)                   |     a3 = *(var_20h_2);
    0x0001b278 lw a0, 0x24(sp)                   |     a0 = *(var_24h_2);
    0x0001b27c sw s1, 0x14(sp)                   |     *(var_14h) = s1;
    0x0001b280 sw v0, 0x10(sp)                   |     *(var_10h_2) = v0;
    0x0001b284 addiu a2, zero, 0x1a0             |     a2 = aav.0x000001a0;
                                                 |     /* esilref: 'tmp' */
    0x0001b288 addiu a1, a1, -0x5cc8             |     a1 += -0x5cc8;
    0x0001b28c bal 0x11e24                       |     sym_set_file_contents ();
    0x0001b290 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     if (v0 == 0) {
    0x0001b294 beqz v0, 0x1b1ec                  |         goto label_0;
                                                 |     }
    0x0001b298 lw t9, -0x7e48(gp)                |     t9 = sym.sync_filesystem
    0x0001b29c addiu s1, zero, 1                 |     s1 = 1;
    0x0001b2a0 bal 0x11a20                       |     sym_sync_filesystem ()
    0x0001b2a4 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x0001b2a8 b 0x1b1f0                         |     goto label_1;
                                                 | label_2:
    0x0001b2ac lw t9, -0x7ba8(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x0001b2b0 jalr t9                           |     t9 ();
    0x0001b2b4 nop                               |     
                                                 | }

[*] Function system used 12 times actionengined